自然回復処理等を行なっている、process_world_aux_hp_and_spについて簡単にまとめる。
この処理は上からこの順番で10ゲームターン毎に行う。
加速が高い場合、数回行動につき1度だけ発生する、ということに留意すべきである。
なお、ダメージの類は全てNOESCAPE属性だが、この属性で特別なことは起こらないようだ。
毒状態であり、無敵でなければ1点のダメージを受ける。
また、HPの自然回復が0になる。
無敵でなければ、傷の深さによって以下のダメージを受ける。
また、HPの自然回復が0になる。
傷の深さ | ダメージ | 名称 |
1000 | 200 | 致命傷 |
200 | 80 | ひどい深手 |
100 | 32 | 重傷 |
50 | 16 | 大変な傷 |
25 | 7 | ひどい傷 |
10 | 3 | 軽傷 |
10未満 | 1 | かすり傷 |
種族が吸血鬼であるか吸血鬼変化中のときのチェック。
以上を満たすとき、1点の不可避ダメージを受ける。 また、HPの自然回復が0になる。
溶岩の上に居るとき、無敵でなく、火の免疫を持たないならばダメージを受ける。
深い水の上にいて、浮遊しておらず、水泳可能フラグを持っていないとき 総重量が重量限界を越えているならば、1d(レベル)のダメージを受ける。
免疫を所持していなければ、乗馬のオーラダメージを受ける。
ダメージは(乗馬のレベル/2)で、エントは火のダメージ4/3倍、アンドロイドは電撃のダメージ4/3倍である。
耐性で1/3、一時耐性で1/3になる。
壁抜け、幽体化をしていないとき、無敵でなければ1+(レベル/5)点のダメージを受け、HPの自然回復が0になる。
種族が幽霊の場合、このダメージでHPが0未満になることはない。
通常はregen_amount=197だが、餓死寸前では回復量が減る。
空腹の度合いにより、98、33、0と減っていく。
さらに、以下の影響を受ける
いずれの場合もHPの自然回復が0になる。
種族がアンバライトで出血中のとき、1/10でパターンの崩壊を引き起こす。
崩壊処理の後、足元のパターンの種類により効果が発生する。
パターンの終端にいるとき、以下の効果が起きる。
なにも起きない。
階を指定したテレポート、通常テレポート、何もしない、のどれかを選べる。
壊れたパターンを歩いたことにより、ダメージ200点を受ける。
種族がアンバライトなら1/2で無傷。
そうでなければ、無敵でないとき1d3のダメージを受ける。
ペット維持費を計算し、upkeep_factorに加算する。これはMP回復ペナルティで、上限は1000。
TO DO
青魔の学習中、忍者の早駆け、剣術家の降鬼陣のときはupkeep_factorに100を加算する。
回復量 = regen_amount - upkeep_factor * PY_REGEN_NORMAL / 100
この数値は、急回復等考慮した回復率 - ペット維持比*通常時回復率である。
decay_frac = 最大MP * 32 * 197 + 524
実際の減少量はこれを65536で割った値となる。
なお、現MPが最大MP未満まで減った場合、現MP=最大MPとなる。
new_mana_frac = 最大MP * 回復量 + 524
実際の回復量はこれを65536で割った値となる。
なお、現MPが最大MPを越えた場合、現MP=最大MPとなる。
reduce_mana_frac = 最大MP * 回復量 + 524
この値は通常時の@のMP自然回復量に等しい。
実際の減少量はこれを65536で割った値となる。
なお、現MPが0未満になる場合、現MP=0となる。
回復倍率 = (30 + 知能ボーナス) / 30
ちなみに、知能ボーナスはMAX30である。
new_mana = (regen_amount * 回復倍率 * (最大使用回数+13) ) / 8
この値だけ充填される。なお、65536点充填されると使用回数が1回復する。
new_mana = (regen_amount / 197) * (回復倍率 * (最大使用回数+10) * 10 ) / 16
この値だけ充填される。なお、pval*10点充填されると使用回数が1回復する。
ペット維持費が100を越えていてMPが0のとき、ペット維持費が100以下になるまでペットの開放が要求され続ける。
回復量の減少がある。 TO DO
降鬼陣の型(剣術家)、早駆け(忍者)の使用中はHPが回復しない。
回復量 = (最大HP * regen_amount + 1442) / 65536
回復後最大HPを越えた場合、現HP=最大HPとする