Terraria Mod開発の話

暇なときのメモ書き

NPCのlifeとか

NPCにはlifeに関する変数がいくつかある。見落としてたら追加するかもしれない。

変数名 デフォルト値 役割
life 0 現在体力
lifeMax 0 体力の最大値
realLife -1 ワームなどの体力共通のNPCにある実際の体力を保持しているNPCへのインデックス
lifeRegen 0 ライフの秒間自然回復量x2。基本的にデバフに使う
lifeRegenCount 0 絶対に触らない。タイマー
lifeRegenExpectedLossPerSecond -1 一度にどれだけのダメージを受けるか
friendlyRegen 0 基本的に触らない。味方NPCの自然回復

まあどうせわからないんで補足

ゲーム内にスポーンするNPCはMain.npc[1000]に格納されているんだけど、これのインデックスがrealLifeに入る。 realLifeが0以上ならrealLife(のインデックスにいるNPCのlife)を参照するようにする。

lifeRegen 2秒間での回復量を指定する。ほかのデバフと重複させるために+=とか使う。

lifeRegenExpectedLossPerSecond ヘルストーンの上に乗ったら体力が1づつ減っていく代わりに5づつ減っていくアレ。5づつ減らすときは5と指定する(符号不要)。

friendlyRegen 基本的に3秒に1度1回復して、Dryadのバフがあれば17tickに1回復する。180になったときに1回復するので止めたければ0代入すればいいし加速したいなら直接加算する。