アイテムSP - roratorio-hub/ratorio GitHub Wiki
概要
ROラトリオHUBでは、カード、エンチャント、装備が持つ特殊能力をアイテムSPと呼称しています。 アイテムSPは roro/m/js/item.h.js の EnumItemSpId によって識別されます。
EnumItemSpId 表
開始 | 終了 | 意味 |
---|---|---|
000 | 999 | 基本能力 |
05,000 | 23,000 | スキル性能を変化させる能力 |
100,000 | 900,000 | 能力発動フラグ「精錬値が◯上がる度に」 |
01,000,000 | 10,000,000 | 能力発動フラグ「精錬値が◯以上の時に」 |
100,000,000 | 800,000,000 | 能力発動フラグ「指定ステータスが◯上がる度に」 |
01,000,000,000 | 48,000,000,000 | 能力発動フラグ「指定ステータスが◯以上の時に」 |
0,100,000,000,000 | 6,600,000,000,000 | 能力発動フラグ「指定職業が装備時に」 |
010,000,000,000,000 | 990,000,000,000,000 | 能力発動フラグ「BaseLvが◯上がる度に」 |
1,000,000,000,000,000 | 6,000,000,000,000,000 | 能力発動フラグ「BaseLvが◯以上の時に」 |
10,000,000,000,000,000 | 40,000,000,000,000,000 | 能力発動フラグ「超越段階が◯以上の時に」 |
基本能力には「STRを加算する」や「魔法ダメージを増加させる」などが定義されています。 スキル性能を変化させる能力には「指定スキルの詠唱時間短縮」などが定義されています。
これらの能力は能力発動フラグと論理和を取ることが可能です。 例えば「精錬値が1上がる度に(ItemSP = 100000)」「STRを加算する(ItemSP = 001)」を表現するアイテムSPコードは 100000 + 001 = 100001 となります。 「ヘルインフェルノ(skillId = 528)」の「ダメージ増加(ItemSP = 5000)」なら 5000 + 528 = 5528 です。
発動中のアイテムSP
発動中のアイテムSP効果はグローバル変数の n_tok 配列に格納されます。 例えばノックバック無効は
if (n_tok[ITEM_SP_NEVER_KNOCK_BACK] !== 0)
でチェック可能です。
注意
javascript の制約により 9007199254740991 を超えるアイテムSPコードは Number 型として安全に扱えません。 そのため「超越段階が◯以上の時に」を表現する場合は BigInt 型として扱う必要があります。