トップ «前の日記(2013/01/03) 最新 次の日記(2013/01/05)» 編集

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分一本勝負


2013/01/04

[変愚蛮怒/スポイラー]プレイヤーの取得経験値(変愚蛮怒 Ver2.1.1)

同日追記

途中の掛け算割り算が間違っていた。これで本当に問題ない。補足しておくとモンスターを殺して得られる経験値の概算は

基本経験値 * 敵レベル / (@さんのレベル + 2)

ということになる。これに個体のHPと実質加速がr_info上で定められた基本値に対するその比として掛け算されている。ダイスの巡り合わせで、HPが本来の1.1倍であれば、取得経験値も1.1倍になるということである。

本文

gain_exp_from_mon()関数でモンスターから、gain_exp()関数でそれ以外から得る経験値処理を行う。以下grepにより抜粋。

gain_exp_from_mon()

  • KILL_EXPフラグを持たないモンスターにダメージを与えると、ダメージを与えた分だけ基本取得値が得られる。
    • HEALを持つ場合は2/3になる。
    • カオスパトロンの抹殺では当然0となる。
  • モンスターを殺した時にKILL_EXP持ちなら最大HP*2、そうでない場合最大HP*9/10の基本取得値が得られる。
  • 基本取得値とモンスターの特性を基準にさらに以下の処理をgain_exp_from_mon()内で行う。
    • モンスター種族のIDが不正なら経験値なし
    • ペットやアリーナのモンスターなら経験値なし
    • 基本取得経験値を敵レベル*(モンスター個体の加速の実倍率*取得基本値)とする。
      • FORCE_HPの場合基本取得経験値に(敵HPダイス数*敵HPダイス最大目*2)/(プレイヤーの到達最大レベル+2)*モンスター基本加速の実倍率)をかける割る。
      • そうでない場合基本取得経験値に(敵HPダイス数*(敵HPダイス最大目+1))/(プレイヤーの到達最大レベル+2)*モンスター基本加速の実倍率)をかける割る。
      • 悪夢モードなら2倍1/2。
      • 地上で、WILD_ONLYでもユニークでもないモンスターを殺した場合1/5になる。
    • MULTIPLY(増殖する)モンスターか、暁の戦士の場合MAX(8, 殺戮数/400)(切り捨て)回だけ経験値を1/4にする。
    • ここまでの経験値にモンスターの固有経験値をかけたものが最終的な取得経験値になる。

gain_exp()

  • 箱の鍵を外すと1取得
  • 扉の鍵を外すと1取得
  • 箱のトラップを解除するとトラップの難易度分取得
  • 床のトラップを解除するとトラップの難易度分取得
  • 戦士やバーサーカーが全て領域の高位魔道書を、パラディンが自分の属性に反する領域の高位魔道書を破壊すると、以下の経験値を得る。
    • 高位魔道書とは秘術以外の三冊目と四冊目である。
    • 取得経験値は@さんの現最大経験値の1/20。
    • 三冊目以下はさらに1/4。
    • 10000以上にはならない。
    • 最低1はキープされる。
  • 領域魔法に初めて成功すると、領域魔法の固有値*習得レベル分を取得
  • 未鑑定のアイテムの使用を試みて成功すると(アイテムのレベル * 3 / 2) / (プレイヤーレベル)の経験値を取得。
  • 経験の薬で、@さんの現最大最大値/2+10(上限100000)取得。
  • シャッフルの『世界』の効果で現最大最大値/25+1(上限5000)取得。
  • 青魔道師がラーニングに成功すると、取得レベル*消費MP分取得
  • ヴィザードモードの'x'コマンドで現最大最大値+1取得。
  • カオスパトロンの報酬で@さんの現最大最大値/2+10(上限100000)取得。

[落書き]猫耳バーバリアン

猫耳バーバリアン