トップ «前の日記(2012/11/28) 最新 次の日記(2012/11/30)» 編集

SikabaneWorksが関係するコンテンツ(主に*band系ローグライク)の開発近況・補足から全く個人的な雑記まで。

[WEB:屍の見える丘公園]| [RSS]

Angband | Badiashimshe | C# | CRAUZEL | D'angband/小説草稿 | D'angband/開発 | DarkSouls | Demon'sSouls | DungeonCrawl | ElvenUteruses | Haskell | Hengband | J9シリーズ | LEGO | LineDrawing | MISC | MTG | Mac | Math | Moria | R-18 | Roguelike | Rough | RoughSketch | Ruby | SDL | UNIX | VMware | WarHammer | Zangband | アタシラヂョウヲウ | イラスト | ガジェット | ゲーム | ゲーム紹介 | ゲーム製作技術 | ゲーム論 | スケッチ | ツクール | テクノロジー | ニコニコ動画 | ファルコム | ファンタジー | ヴィーヤウトゥムノ | 別記事追加予定 | 変愚蛮怒 | 変愚蛮怒/スポイラー | 変愚蛮怒/元ネタ探訪 | 変愚蛮怒/攻略 | 変愚蛮怒/開発 | 宗教 | 情報 | 政治 | 文字コード | 日ペ昔話 | 東方ワンドロ | 東方外法漢女 | 歴史 | 漫画製作 | 版権絵 | 画像処理 | 翻訳 | 自然言語 | 艦隊これくしょん | 落書き | 言語解析 | 読書 | 超人ロック | 軍事 | 追記予定 | 通信 | 阿片窟 | 馬鹿馬鹿蛮怒/開発 | 魔法少女まどか☆マギカ | 魚類版深夜の真剣お絵描き60分一本勝負


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にペナルティを受け始める限界重量、依存する魔法ステータスが設定されている。以下の通りである。

職業限界重量(ポンド)魔法ステータス
メイジ430INT
盗賊400INT
プリースト430WIS
レンジャー450INT
パラディン450WIS
魔法戦士430INT
混沌の戦士450INT
修行僧350WIS
超能力者400WIS
ハイ=メイジ430INT
観光客450INT
魔獣使い430CHR
スペルマスター40(誤植ではない)INT
赤魔道師430INT
練気術師350WIS
青魔道師430INT
鏡使い400INT

上記を前提の上、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が減る。