トップ «前の日記(2013/07/25) 最新 次の日記(2013/07/27)» 編集

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/07/26

[変愚蛮怒/開発] ★ミリム水着のpvalバグ原因(変愚蛮怒2.1.4 r3495で修正)

r3474です。
性格セクシーギャルで★戦乙女ミリムの危ない水着を入手し、
装備したのですがステータス補正がありませんでした。
ちなみに装備した場合の表記は、

h) ★戦乙女ミリムの危ない水着 (+5,+5) [0,+20] (+0) {+腕知賢器耐魅r轟劣;反麻怒(耐魅}

です。
ステータス画面の能力修正にはすべての能力に*印が入っている状態でした。

Romunqualy

鬼畜大佐『ロムンクァリィ』
オラァ!中の奴!テストやってんのかコラァ!

Urwen

アッキ=ニンジャ『ウルウェン』
自前で実装したデバッグモードの固定アーティファクト生成機能時に
生成されてるのに満悦して、ダンジョンで自然生成された時の
検証を怠っていたってはっきりわかんだね†悔 い 改 め て†

		if (o_ptr->name1 == ART_MILIM)
		{
		    if(p_ptr->pseikaku == SEIKAKU_SEXY)
		    {
			o_ptr->pval = 3;
		    }
		}

Romunqualy

鬼畜大佐『ロムンクァリィ』
で、dis-プロが追加の形で修正かけてくれたのがこれね。
こいつをapply_magic()(object2.cの4340行)に追加した感じ。


	if (o_ptr->name1 == ART_MILIM)
	{
		if (p_ptr->pseikaku == SEIKAKU_SEXY)
		{
			o_ptr->pval = 3;
			add_flag(o_ptr->art_flags, TR_STR);
			add_flag(o_ptr->art_flags, TR_INT);
			add_flag(o_ptr->art_flags, TR_WIS);
			add_flag(o_ptr->art_flags, TR_DEX);
			add_flag(o_ptr->art_flags, TR_CON);
			add_flag(o_ptr->art_flags, TR_CHR);
		}
	}

Urwen

アッキ=ニンジャ『ウルウェン』
中の奴の方は、random_artifact_resistance()のartifact.c:3813で
こんな実装かけた訳だな。
この関数内にはアーティファクトID毎の特別なハードコーディング
処理がかまされていた。例えば★天上のクローク『天女の羽衣』が
男の時には反感ついたりとか、★鉄ヘルメット『恐怖の仮面』に純戦士職なら
ボーナス、そうでなければ太古の怨念に反感がつく、とか
a_info.txt上で設定してない特別な処理がまとまっている。

Romunqualy

鬼畜大佐『ロムンクァリィ』
これで★ミリム水着生成条件が整った際に、+3pvalがつくものと
思ってたのよね。現にデバッグモード時にはそれで上手くいってたんだけど…
この同じapply_magic()関数の直前、object2.cの4330行の処理を見なさい。

		/* Extract the other fields */
		o_ptr->pval = a_ptr->pval;
		o_ptr->ac = a_ptr->ac;
		o_ptr->dd = a_ptr->dd;
		o_ptr->ds = a_ptr->ds;
		o_ptr->to_a = a_ptr->to_a;
		o_ptr->to_h = a_ptr->to_h;
		o_ptr->to_d = a_ptr->to_d;
		o_ptr->weight = a_ptr->weight;
		o_ptr->xtra2 = a_ptr->act_idx;

Urwen

アッキ=ニンジャ『ウルウェン』
あ~あ、もう滅茶苦茶だよ。random_artifact_resistance()の後に
apply_magic()関数が読み出されて、アーティファクト情報のpval(=0)で
pval修正が上書きされてるじゃないか。

Romunqualy

鬼畜大佐『ロムンクァリィ』
ここに上がってるステータスの特別修正はこの後で行わないと
いけなかったってオチよ。デバッグコマンドの[ctrl]+[a]→[C]ん時は
random_artifact_resistance()の後にapply_magic()を経由しない処理に
なってたからこのザマになっていたの。
デバッグコマンド自体直さないと、こりゃ似たようなトラブル起きるわ。

Urwen

アッキ=ニンジャ『ウルウェン』
変愚のガバガバ構造は前々からやむからぬ問題とは言え、
D'angで3年近くも細く長くソースいじってる奴がこれじゃねえ。
猛省せにゃならんわ。

というわけで、匿名の報告者様とdis-プロ。ご迷惑をおかけしました。
改めてお詫びいたします。

[ヴィーヤウトゥムノ] イエロー・ゼリー/Yellow jelly (Yellow 'j')

=== Num:66  Lev:3  Rar:1  Spd:+10  Hp:10d8  Ac:1  Exp:13
それは黄色い肉のような物質の塊だ。
それは通常地下 3 階で出現し、素早く動いている、しかし侵入者を追跡しない。
このモンスターを倒すことは 50 レベルのキャラクタにとって 約0.75 ポイント
の経験となる。それは魔法を使うことができ、魔力吸収の呪文を唱えることがある
(確率:1/16)。それは AC1 の防御力と 10d8 の体力がある。それはテレパシーで
は感知できない。それには明るい光でダメージを与えられる。それは毒の耐性を
持っている。それは経験を積むと、シルバー・ゼリーに進化する。それは恐怖を
感じないし、混乱しないし、眠らされない。それは侵入者に対してほとんど注意
を払わないが、 20 フィート先から侵入者に気付くことがある。それは 1d7 のダ
メージで触って毒をくらわす。

2

Romunqualy

鬼畜大佐『ロムンクァリィ』
色違いのモンスターはラフのままじゃ表現しきれないから、
質感やデザインをこれからよりはっきりしていくってさ。
このイエロー・ゼリーは胞状なデザインにすると。

Urwen

アッキ=ニンジャ『ウルウェン』
jシンボル6匹目か。明らかに他よりハイペースさね。
今度のHFO子はスケキヨ状態。