アイテム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 型として扱う必要があります。