2012/11/29
■ [変愚蛮怒/スポイラー]最大MPの計算処理(変愚蛮怒 Ver2.1.0)
MPは各職業が魔法/特殊能力を使うのに必要なステータス(知力/賢さ/魅力、以下魔法ステータスを呼称)に依存する基礎値を計算に加える。基礎値のテーブルはソースから抜き出して以下の通りである。
byte adj_mag_mana[] = { 0 /* 3 */, 0 /* 4 */, 0 /* 5 */, 0 /* 6 */, 0 /* 7 */, 1 /* 8 */, 2 /* 9 */, 3 /* 10 */, 4 /* 11 */, 5 /* 12 */, 5 /* 13 */, 6 /* 14 */, 7 /* 15 */, 8 /* 16 */, 9 /* 17 */, 10 /* 18/00-18/09 */, 11 /* 18/10-18/19 */, 11 /* 18/20-18/29 */, 12 /* 18/30-18/39 */, 12 /* 18/40-18/49 */, 13 /* 18/50-18/59 */, 14 /* 18/60-18/69 */, 15 /* 18/70-18/79 */, 16 /* 18/80-18/89 */, 17 /* 18/90-18/99 */, 18 /* 18/100-18/109 */, 19 /* 18/110-18/119 */, 20 /* 18/120-18/129 */, 21 /* 18/130-18/139 */, 22 /* 18/140-18/149 */, 23 /* 18/150-18/159 */, 24 /* 18/160-18/169 */, 25 /* 18/170-18/179 */, 26 /* 18/180-18/189 */, 27 /* 18/190-18/199 */, 28 /* 18/200-18/209 */, 29 /* 18/210-18/219 */, 30 /* 18/220+ */ };
また職業毎にMPにペナルティを受け始める限界重量、依存する魔法ステータスが設定されている。以下の通りである。
職業 | 限界重量(ポンド) | 魔法ステータス |
メイジ | 430 | INT |
盗賊 | 400 | INT |
プリースト | 430 | WIS |
レンジャー | 450 | INT |
パラディン | 450 | WIS |
魔法戦士 | 430 | INT |
混沌の戦士 | 450 | INT |
修行僧 | 350 | WIS |
超能力者 | 400 | WIS |
ハイ=メイジ | 430 | INT |
観光客 | 450 | INT |
魔獣使い | 430 | CHR |
スペルマスター | 40(誤植ではない) | INT |
赤魔道師 | 430 | INT |
練気術師 | 350 | WIS |
青魔道師 | 430 | INT |
鏡使い | 400 | INT |
上記を前提の上、calc_mana()関数の処理を追う。
- MPを必要をしない職業では処理そのものを行わない。
- 基準レベル(levels)の計算
- 超能力者、鏡使い、青魔導師は現在のレベル
- それ以外の職業では最初に魔法が使えるレベルに至っていない場合はMPを0にして処理終了。レベルに到達している場合は現在のレベル-最初に魔法を覚えるレベル+1。
- 職業が剣術家の場合、最大MP=(基礎値*10)*2、最大MPが1以上なら、最大MP*@さんの種族の賢さ修正値/20の修正がさらにつく。
- それ以外の職業の場合
- 最大MP=基礎値*(基礎レベル+3)/4
- この時点で最大MP0なら最低でも1与えられる。
- 最大MP*@さんの種族の魔法ステータス/20の修正を加算
- 性格いかさまなら最大MP1.5倍
- 職業ハイ=メイジなら最大MP1.25倍
- 職業スペルマスターなら最大MP(1.25 + レベル/100)倍
- 装備している篭手に麻痺知らず、魔道具修正、器用さ修正がなく、ペナルティを受ける職業ならば、最大MP0.75倍になる。
- 盾、鎧、兜、クローク、篭手、具足の全重量を加算する(以下wgtとする)
- メイジ、ハイ=メイジ、青魔導師、修行僧、練気術師、スペルマスターは武器の重量もwgtに加える。
- プリースト、吟遊詩人、観光客は武器の重量の2/3をwgtに加える。
- 超能力者、魔獣使い、鏡使いは武器の重量の1/2をwgtに加える。
- 盗賊、レンジャー、赤魔導師、魔法戦士は武器の重量の1/3をwgtに加える。
- パラディン、混沌の戦士は1/5をwgtに加える。
- wgtが限界重量を超えていたらMPにペナルティを与える。
- メイジ、ハイ=メイジ、青魔導師は最大MP*超過重量/600だけMPが減る。
- プリースト、超能力者、魔獣使い、吟遊詩人、練気術師、観光客、鏡使いは最大MP*超過重量/800だけMPが減る。
- スペルマスターは最大MP*超過重量/900だけMPが減る。
- 盗賊、レンジャー、修行僧、赤魔道師は最大MP*超過重量/1000だけMPが減る。
- パラディン、混沌の戦士、魔法戦士は最大MP*超過重量/1200だけMPが減る。
- 剣術家はペナルティなし
- それ以外の職業は最大MP*超過重量/800だけMPが減る。