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