OSDN Git Service
nothere [Mon, 22 Dec 2003 10:26:31 +0000 (10:26 +0000)]
忍者の超隠密は解かれる時は一瞬で解かれ, 超隠密に入る時は手間がかかる
という実装方針に従い, CAVE_GLOWが落ちる部分ですぐには超隠密に入らない
ように変更. また, ダンジョン生成時は超隠密が解除されるように変更.
mogami [Mon, 22 Dec 2003 10:15:29 +0000 (10:15 +0000)]
ドラゴンスケイルメイルの基本ACを[30, +10]から[40, +10]に変更。
nothere [Mon, 22 Dec 2003 10:00:21 +0000 (10:00 +0000)]
CAVE_OBJECTに関する修正.
* cave.c 1.145のエンバグにより, cave_set_feat()で正しくCAVE_OBJECTを
落とせていなかったバグを修正.
* プレイヤーがOBJECT地形にいる時に*破壊*を使っても足元の地形は*破壊*
されないのにCAVE_OBJECTだけが飛んで, 無意味なmimicだけが残るバグを
修正.
* 地震と*破壊*ではOBJECT地形であってもcave_set_feat()を通し, そこで
CAVE_OBJECTを落とすので, 地震と*破壊*からCAVE_OBJECT処理削除.
nothere [Mon, 22 Dec 2003 09:29:40 +0000 (09:29 +0000)]
忍者の超隠密に関する変更と修正.
* 閃光/暗黒属性を受けた直後に超隠密が処理されないバグを修正.
* 部屋を暗くする処理で超隠密が処理されないバグを修正.
* 啓蒙, GLOW地形への変化, 日の出と日没などでプレイヤーのいる地形の
CAVE_GLOWが変化する時に超隠密判定が足りなかった部分の追加.
* ダンジョンを生成した直後に超隠密判定を行うように修正.
* モンスター対モンスターで暗闇を使う際に, 忍者に味方する者 (ペット,
友好的) 相手だった場合は対プレイヤーと同様に閃光を使うように変更.
* 光に弱い者, アンデッド, 暗黒光源持ちは忍者に対しては閃光も暗闇も用
いないが, STUPIDの場合に限り忍者及びその味方に対し暗闇を使うように
変更.
* 暗闇の洞窟では暗闇も閃光も効果はないので, STUPIDでないモンスターは
使用しないように変更.
* テレポート時にはmove_player_effect()で超隠密判定を取るようになって
いるので, mind.cのテレポート系忍術の直後にあった超隠密判定を削除.
なお, 以下の修正を含む.
* モンスター対モンスターの魔法でトラップ生成はコメントアウトされてい
るため, 最初から使用の選択肢に入れないように修正.
nothere [Sun, 21 Dec 2003 17:58:39 +0000 (17:58 +0000)]
アリーナに限りGLOW地形とその周辺でも暗黒属性で暗くなるように変更. こ
れにより, アリーナでの忍者の最初の行動が暗闇生成の場合に不利にならな
いようにした.
nothere [Sun, 21 Dec 2003 15:41:18 +0000 (15:41 +0000)]
射撃と投擲に関する変更.
* 厚さ1の壁の中にいるモンスターに向けて射撃/投擲されたアイテムが壁の
向こう側に落ちないように変更.
* 壁の中のモンスターにアイテムを投げた場合に壁の直前で止まらずに命中
判定を行うように変更. ただし薬と人形は従来通り壁の直前で砕ける.
nothere [Sun, 21 Dec 2003 10:50:32 +0000 (10:50 +0000)]
cave_set_feat()で新しい地形が非REMEMBERならば一旦MARKを外すコードがあ
り, その次にプレイヤーから見えない地形でもMARKを外すコードがあったが,
視界外でモンスターが開けたドアであってもMARKが外れて, ドアごと消滅し
たように見えてしまっていたため, このコードを削除. 開けられたドアが普
通に記憶に残るように修正.
nothere [Sun, 21 Dec 2003 10:04:30 +0000 (10:04 +0000)]
モンスター情報の記憶に関する修正と変更.
* モンスターの外見が違う場合でも打撃や起きた回数などが記憶されていた
バグを修正.
* モンスターがテレポートで消えた場合にテレポートが思い出に残らなかっ
たことがあるバグを修正. is_original_ap_and_seen()を使った時のエンバ
グだった.
nothere [Sun, 21 Dec 2003 07:06:59 +0000 (07:06 +0000)]
project_m()の変更と修正.
* ignore_unviewの変更の副作用で, 目の前でテレポートさせたモンスターに
ついて "何かはダメージを受けていない" と表示されるようなバグがあっ
たので修正. 内部フラグを事実確認用とメッセージ表示用に分けた.
* 重力属性やテレキネシス属性でテレポートと朦朧が同時に指定されてもテ
レポートだけが処理され, 朦朧度が無視されるバグがあったので修正.
* project_m()では恐怖以外の特殊効果についてメッセージは1つしか処理で
きないので, テレポート, 変身, 最大HPダメージ, 混乱, 朦朧の優先順位
で表示されるように変更.
* 薬が割れたりしたような場合でプレイヤー以外がモンスターを回復させた
ような場合などでもプレイヤーの徳が変化していたバグを修正.
mogami [Sun, 21 Dec 2003 06:30:25 +0000 (06:30 +0000)]
壁紙ファイルが無いときのメッセージ、英語版未訳。
nothere [Sat, 20 Dec 2003 20:46:31 +0000 (20:46 +0000)]
teleport_player_to()の引数no_teleがFALSEになるテレポート, すなわち剣
術家/忍者の "入身" と'B'系モンスターの投げ落としはテレポートではなく
非魔法的移動と見ていいため, この2つに限りvault内への移動を認めた. こ
れにより, 剣術家や忍者の "入身" でvault内のモンスターを攻撃した直後に
vaultから追い出されてモンスターが見えなくなる場合 "何かを攻撃した" と
され, 殺害数が増えない場合があるバグを修正.
nothere [Sat, 20 Dec 2003 16:30:42 +0000 (16:30 +0000)]
まだ両手に指輪が装備されていない状態であっても指輪を装備する手を選択
できるように変更. 実装にあたってTObandのオクトパスを参考にした.
nothere [Sat, 20 Dec 2003 12:13:15 +0000 (12:13 +0000)]
反攻撃の洞窟だったり友好的なモンスターへの攻撃をキャンセルしたり恐怖
していて実際には殴れなかったりした場合でも [情], [誉] が下がっていた
バグを修正.
nothere [Sat, 20 Dec 2003 11:25:37 +0000 (11:25 +0000)]
装備持ち替えと素手判定, 乗馬移動制御の放棄に関する変更と修正.
* 右手/左手の装備が呪われている場合でも持ち替えができる場合があったの
で, そのような場合で装備持ち替えが起きないように修正. また, 二刀流
中に非利き腕の武器が呪われた状態で非武器に持ち替える場合は非武器は
利き腕で装備できる.
- 素手で格闘する職業が利き腕にアイテムを持って非利き腕が素手の場合
であっても素手攻撃計算が使われなくなるのは仕様として残す.
* 両手が非武器でふさがっている時に別の非武器を装備する場合は外す非武
器を選べるように変更.
* 乗馬中の両手持ちを許可しない状況では. 乗馬の制御に用いる腕は "素手"
とみなさないように変更. また, empty_hands()の引数is_monkは意味がな
いので, 乗馬制御の腕を空きとみなすかどうかのフラグriding_controlに
置き換えた.
* 両手に非武器装備, もしくは非武器を装備して片手は乗馬制御に使ってい
るように, プレイヤーの両手が武器以外でふさがっている場合はプレイ
ヤーは打撃攻撃できないように変更.
* 両手が空いている修行僧/練気術師/狂戦士が乗馬移動制御OFFを使えなかっ
たバグを修正. また, 空いた腕があってかつ武器を持たない場合は, 空い
た腕を武器とみなして乗馬の移動制御を切れるように変更.
* 両手持ち可能な武器判定を関数object_allow_two_hands_wielding()でまと
めた.
* 両手が非武器でふさがっているような場合でも命中率にマーシャルアーツ
熟練度が適用されたり, 熟練度が上がるバグを修正.
* mention_use()とdescribe_use()で "運搬中" テキストを出す条件が違って
いたので修正. また, 英語版でleft_handerに関わらず指輪スロットの表示
が変わらなかったバグを修正.
* 英語版では右手と左手は殴れる場合のみ "Wielding" と表記し, それ以外
は素手の場合を含み "On arm" とした.
* 関数buki_motteruka()内の記号定数比較をobject_is_melee_weapon()で置
き換えた.
* 転倒の変異で, 利き腕でない方の腕にしか武器がない場合に武器を落とさ
ないバグを修正.
* 利き腕に武器以外がある場合に武器呪縛がかかっていたバグを修正. 二刀
流の場合は確率1/2でどちらかの武器が呪縛されるように変更.
* 剣術家の剣術は非利き腕のみに武器がある状態でも使えるように変更.
nothere [Wed, 17 Dec 2003 02:21:58 +0000 (02:21 +0000)]
cave_player_teleportable_bold()でモンスターのいる位置を禁止する際に,
乗馬は除外するように変更. また, ウィザードモードでも乗馬以外のモンス
ターの位置を完全に禁止し, 意図しない位置交換テレポートになる場合があ
るバグを修正.
nothere [Wed, 17 Dec 2003 01:28:20 +0000 (01:28 +0000)]
los(py, px, ...)をplayer_has_los_bold()で置き換えられる部分について置
き換えた.
nothere [Tue, 16 Dec 2003 20:21:42 +0000 (20:21 +0000)]
m_ptr->mlとis_original_ap(m_ptr)の組み合わせだった部分をさらにマクロ
is_original_ap_and_seen()として整理.
nothere [Tue, 16 Dec 2003 19:41:47 +0000 (19:41 +0000)]
視界外でテレパシーなどで見えているだけのモンスターの行動メッセージを
表示しないオプション "ignore_unview" をXAngbandより移植. ただし, メッ
セージは省略してもモンスターの行動は事実として記憶に残る. なお, 以下
の修正と変更を含む.
* モンスター同士で殴り合う際に, 殴る側が見えていなくても殴られる側さ
え見えていればオーラが記憶されていたので, 殴る側が見えなければ記憶
されないように変更.
* 盲目状態で乗馬が見えなくなっている時に乗馬の加速/減速が切れると正し
くプレイヤー速度が更新されないバグを修正.
* モンスター対モンスターで乗馬が減速を受けた直後に正しくプレイヤー速
度が更新されなかったバグを修正.
* モンスターの加速, 減速, 朦朧, 混乱ではヘルスバーを書き換える必要は
ないので, そのような場合にはPR_HEALTHやPR_UHEALTHは発行しないように
変更.
* Typo fix: "ものでで攻撃された" -> "もので攻撃された".
iks [Tue, 16 Dec 2003 09:23:06 +0000 (09:23 +0000)]
時たま1x1マスで1部屋だけの階ができることがあったので階の部屋数の下限を設定した。
(下限数)=(階の縦の画面数)+(階の横の画面数) (例えば、1x1画面は2部屋、3x3画面は6部屋)
この変更のため、金鉱では時折、階の再生成のメッセージが連続して出ることがあるが、仕方がないだろう。
nothere [Tue, 16 Dec 2003 05:12:14 +0000 (05:12 +0000)]
アーティファクト生成時に文字列を入れずにEnterを押した場合はESCを押し
てキャンセルした時同様にランダム銘になるように変更.
nothere [Sun, 14 Dec 2003 16:51:25 +0000 (16:51 +0000)]
1.174の警告除去で "倒したユニーク数が10体以下の時ランキングがダンプに
載らない" というバグを修正していたことに関連し, モンスター数のデータ
型をunsigned longからlongに直した.
nothere [Sun, 14 Dec 2003 16:28:46 +0000 (16:28 +0000)]
モンスター光源に関する変更.
* このような位置関係を考える.
#####
#...@
#.###
#*#
この場合, '*'は直接'@'からは見えないため, 床は照らされてもmon_invis
の効果で'@'の視線上の壁は照らされなかった. こういった位置の壁にモン
スター光源が当たるように変更. モンスターとプレイヤーに挟まれた壁は
モンスターが視界に入らないと明るくならない場合があるが, これは光源
漏れを防ぐための仕様として残す. このコードでは'%'のように照らすこと
ができる.
%%%##
%...@
%.###
#*#
* 暗黒光源の範囲判定はLOSではなくPROJECTで行うようにした.
* 時が止まったかどうかのループ内比較は無駄なので, ループ外に出した.
nothere [Sun, 14 Dec 2003 14:09:11 +0000 (14:09 +0000)]
地上の荒野ではモンスターが森の中に配置されるのを許可するように変更.
また, alloc_monster()からMOUNTAINの比較を削除.
nothere [Sun, 14 Dec 2003 13:55:45 +0000 (13:55 +0000)]
コンパイル警告の除去.
nothere [Sun, 14 Dec 2003 13:36:40 +0000 (13:36 +0000)]
cave_*()マクロではなく地形フラグ直接参照にした方がいい部分の変更.
また, cave_*_bold()ではなくcave_*_grid()が使える部分の変更.
nothere [Sun, 14 Dec 2003 13:16:42 +0000 (13:16 +0000)]
地形フラグ参照に関して, have_flag(f_flags_*(), フラグ)として使われて
いた部分をcave_have_flag_*()としてまとめた. この過程でf_flags_*()は不
要になったため削除.
nothere [Sun, 14 Dec 2003 12:27:23 +0000 (12:27 +0000)]
'l'でモンスターなどの下の地形を "...は...の上に" と表示するかどうかの
判定にFEAT_INVISが使われていたので, REMEMBERの有無に置き換えた.
nothere [Sun, 14 Dec 2003 06:06:17 +0000 (06:06 +0000)]
透明な壁が暗黒光源で削れて見えるのを防ぐため, REMEMBER地形が暗黒光源
で未知の地形のように表示される条件をLOS && PROJECTと変更.
nothere [Sun, 14 Dec 2003 04:50:11 +0000 (04:50 +0000)]
盗む打撃を持つモンスターのテレポート判定に関する変更と修正.
* 殴られる側にオーラがある場合, 殴る側/殴られる側の両方がプレイヤーか
ら見えている場合のみテレポートしないようになっていたので, この仕様
を破棄. テレポートできる場合はオーラでテレポートを妨げない.
* 殴る側がオーラで死んだ場合に, 死んでからも "笑って逃げた" メッセー
ジが出る可能性があったバグを修正.
* モンスター対モンスターで盗みテレポートが発動する場合は直ちに攻撃を
止めるのではなく, 対プレイヤー同様に1ターンで使える打撃を全て使って
からテレポートするように変更.
nothere [Sun, 14 Dec 2003 04:20:35 +0000 (04:20 +0000)]
モンスターのテレポートにも受動テレポートモードを与えた. 自分の意志に
よるテレポートで自分が本来入れない地形に飛ぶようなことはなくなる. 関
連して, 以下の変更を含む.
* cave_teleportable_bold()をcave_player_teleportable_bold()と改名.
* 盗む能力を持つ乗馬は現在存在しないが, 乗馬が盗む打撃をすると乗馬だ
けがテレポートする可能性のあるバグを修正.
mogami [Sat, 13 Dec 2003 15:34:31 +0000 (15:34 +0000)]
『迷宮のミノタウロス』がダンジョンの主召喚で出るようにレアリティを3に変更。
mogami [Sat, 13 Dec 2003 15:33:52 +0000 (15:33 +0000)]
ゴルフィンブールのレアリティを255にしてクエスト専用にした。
代わりに、オークの隊長『マウフル』追加。
nothere [Sat, 13 Dec 2003 15:24:46 +0000 (15:24 +0000)]
0x0fを超える色にlighting_colours[][]が使われた時に配列外アクセスを起
こしていたので, lighting_colours[][]に与える色は表示時同様に0x0fでマ
スクして渡すように修正.
mogami [Sat, 13 Dec 2003 12:08:12 +0000 (12:08 +0000)]
改名:p_ptr->ffall→p_ptr->levitation、FEATHER→LEVITATION
nothere [Sat, 13 Dec 2003 11:17:03 +0000 (11:17 +0000)]
明度レベル "暗暗色" の廃止.
mogami [Sat, 13 Dec 2003 11:12:49 +0000 (11:12 +0000)]
move_player_effect()の余分な引数 oy, ox を削除。
mogami [Sat, 13 Dec 2003 08:48:00 +0000 (08:48 +0000)]
ゲームプレイオプション3つ、
(view_perma_grids, view_torch_grids, view_unsafe_grids)
をマップ画面オプションへ移動。
mogami [Sat, 13 Dec 2003 06:43:34 +0000 (06:43 +0000)]
CVSから開発版を落すユーザーが増えてきた事もあるので、
混乱の元にならないように 8x8.bmp を CVSに入れておく。
nothere [Sat, 13 Dec 2003 04:51:45 +0000 (04:51 +0000)]
ウィザードモードではモンスターのテレポートバックが位置交換になってし
まうバグを修正.
nothere [Fri, 12 Dec 2003 17:19:34 +0000 (17:19 +0000)]
視線の通るREMEMBER地形が暗いまま記憶された場合は暗暗色で表示するよう
に変更. また, 夜の広域マップはview_special_liteとview_granite_liteの
設定によって暗暗色で描画されるように変更.
nothere [Fri, 12 Dec 2003 15:23:02 +0000 (15:23 +0000)]
盲目と暗黒光源に関する変更.
* 非REMEMBER地形は盲目では未知の地形のように表示することを受けて,
map_info()での非REMEMBER地形の盲目対応コードを整理. また, REMEMBER
地形を盲目時に表示する場合は暗色ではなく暗暗色を用いるようにした.
* 非REMEMBER地形は暗黒光源で常に真っ暗になるので, その処理は余分な比
較を削ってマクロからmap_info()に戻した. darkened_grid_hack()はマク
ロにしている意味がなくなったので削除.
* 視線の通らないREMEMBER地形を暗黒光源で暗く表示する条件は, 暗い壁を
暗く表示するオプションに合わせる意味でview_granite_lite &&
view_bright_liteとした.
nothere [Thu, 11 Dec 2003 14:23:09 +0000 (14:23 +0000)]
文字が'+', '%', '{'のモンスターがモンスターの知識メニューのどこにも分
類されていなかったので修正. '+', '{'はミミックに, '%'は植物/壁/気体に
分類した.
nothere [Thu, 11 Dec 2003 13:44:06 +0000 (13:44 +0000)]
'%'からvisual modeを呼び出せるように変更. また, 各要素の編集中に'v'で
その要素のシンボル編集専用モードでvisual modeを使えるように変更. な
お, 以下の変更を含む.
* '%'でも設定が無意味な要素 (名前なし, flavor使用, mimic使用) は変更
できないようにした. 要素番号指定では再入力を求められる.
* do_cmd_visuals()の処理分岐はswitch文で書き直した.
* do_cmd_visuals()での処理後は必要に応じて自動で画面を再描画するよう
に変更.
* visual mode中は思い出や詳細は参照できないので, 'r'の説明を表示しな
いように変更.
* visual modeでプレイヤー, 空のアイテム, 未知の地形も編集可能に変更.
* ウィザードモードまたは'%'からの呼び出しでは地形のidxを表示するよう
に変更.
* リスト表示の各種情報の表示桁の微調整.
mogami [Wed, 10 Dec 2003 14:14:47 +0000 (14:14 +0000)]
タク、、ホゥ、チ・ィ・ヌ・」・ソ、ヌMac、ホEnter・ュ。シ='\n'、ャネエ、ア、ニ、、、ソ、ホ、、タオ。」
、゙、ソ。「^F^N^P^B、ヌ、ホーワニー、筵オ・ン。シ・ネ。」
nothere [Tue, 9 Dec 2003 00:56:22 +0000 (00:56 +0000)]
地形のvisual modeと'%'設定に関する変更.
* 'D', 'd'で地形に標準光源効果を適用できるように変更. また, 標準光源
効果の適用を関数apply_default_feat_lighting()にまとめた.
* display_feature_list()の内部変更.
nothere [Mon, 8 Dec 2003 02:10:00 +0000 (02:10 +0000)]
部屋を暗くする処理で場合によってはまだ配列外アクセスを起こす可能性の
あった部分を修正. また, GLOW地形かどうかは外見で判定するように変更.
mogami [Sun, 7 Dec 2003 19:54:00 +0000 (19:54 +0000)]
・ヌ・ミ・テ・ー・ウ・゙・ノ、ホ ^Aa 、ヌ、、、チ、、、チイ靂フチエツホ、ニノチイ隍キ、ハ、、、隍ヲ、ヒス、タオ。」
mogami [Sun, 7 Dec 2003 19:53:09 +0000 (19:53 +0000)]
暗闇の魔法で地形が暗くなる処理で周りにFF_GLOWがあるかどうか見る時に画面端だと配列外アクセスになっていたので修正。
mogami [Sun, 7 Dec 2003 17:23:21 +0000 (17:23 +0000)]
アイテムの種類判定のコードを整理。
- artifact_p等の *_p というマクロや、item_tester_hook_*, is_* 等の
判定関数を、 object_is_*という名前に統一してobj_kind.c に集めた。
- TV_*_BEGIN <= && <= TV_*_END で判定していたコードを関数に変更。
- ★☆アーティファクトの判定をobject_is_artifact()一つでするように変更。
nothere [Sun, 7 Dec 2003 14:55:09 +0000 (14:55 +0000)]
GLOW地形及び周囲8マスは暗黒属性や暗闇生成でも暗くならないように変更.
また, update_local_illumination()でプレイヤー自身のマスは更新する必要
がなかったので修正.
mogami [Sun, 7 Dec 2003 13:30:19 +0000 (13:30 +0000)]
ZAngbandから"Code for the object templates"との実装途上の中途半端なコードが
obj_kind.cに入っていたので整理。
未使用関数削除。一部関数を他のファイルへ移動。無意味なget_object_*()を廃止。
mogami [Sun, 7 Dec 2003 12:35:49 +0000 (12:35 +0000)]
射撃マクロで敵がいない時に自分の足元に矢を撃ってしまう事に防止する為に、
自分の足元には矢を撃たないように仕様変更。
昔からの仕様なので何か問題が生じたら戻す。
mogami [Sat, 6 Dec 2003 16:04:44 +0000 (16:04 +0000)]
トカソヘ・愠テ・ッ、ホ・ッ・悅シ・「サ爨ホオウサホ。「テマケホオウサホ。「、ヒMALE・ユ・鬣ートノイテ。」
mogami [Sat, 6 Dec 2003 15:17:16 +0000 (15:17 +0000)]
暗黒ブレスで、床のCAVE_MARKが外れる様子が盲目中でも確認できてしまうので、
盲目中はCAVE_MARKに関わらず未知であるかの如く表示するようにした。
mogami [Sat, 6 Dec 2003 15:02:09 +0000 (15:02 +0000)]
ニ讀ホ・ッ・鬣テ・キ・螟ホクカーマハフ、ヒネスフタ(ヌロホー・「・ッ・サ・ケ)、キ、ソ、ホ、ヌ。「、ウ、チ、鬢マクオ、ヒフ皃ケ。」
mogami [Sat, 6 Dec 2003 15:00:22 +0000 (15:00 +0000)]
広域マップから山脈に降りる時の謎めいたクラッシュバグの原因判明したので修正。
generate_wilderness_area()でcorner=TRUEの時にcave[][].featの初期化を
サボっているのに、関数の最後で参照していたせいで配列外アクセスが起きていた。
マップの4隅以外の情報は結局棄てているので配列外アクセスさえ起きないように
すれば初期化を省略する方法はあるのだが、面倒なので常に初期化するように修正。
mogami [Sat, 6 Dec 2003 13:30:36 +0000 (13:30 +0000)]
init1.cの Revision 1.79 で、なぜかiksさんのWin実行ファイルで、
広域マップから>で降りた時に、足元に山脈があると変愚がクラッシュする
という謎めいたバグが導入されたので、とりあえず、1.78の状態に戻す。
Revision 1.79は、
「クエストファイルでmimic操作ができる仕様はtrapを使えば十分なので削除.」
という変更なので、mimic操作自体は後でちゃんと削除し直さないといけないが、
何がエンバグだったか調べてからにする。
mogami [Sat, 6 Dec 2003 12:23:18 +0000 (12:23 +0000)]
パニックセーブで、セーブファイルのpy,pxの値が変になった時に自動で復帰するコード追加。
nothere [Sat, 6 Dec 2003 08:39:59 +0000 (08:39 +0000)]
プレイヤーのテレポートに受動テレポートモードを与えた. 主に自分の意志
とは関係のない強制テレポートに用いられる. 受動テレポートではテレポー
ト先の地形にTELEPORTABLEさえあればプレイヤーの状態全てを無視する. 関
連して, 以下の変更を含む.
* 全てのトラップにTELEPORTABLE追加. 発見されていて完全に安全と分かっ
ているトラップには能動テレポートでも飛ぶ場合がある.
* new_player_spot()でプレイヤーを配置するルールを変更. max_attemptsを
10000回に増やし, 前半5000回でFLOOR && TELEPORTABLEを優先的に探し,
それに失敗したら後半5000回でMOVE && TELEPORTABLE && !HIT_TRAPの条件
でプレイヤー配置を試みる. FLOORのないダンジョンへの対策.
iks [Sat, 6 Dec 2003 06:09:09 +0000 (06:09 +0000)]
generate_rooms()関数で部屋を配置する際に無限ループに陥ることがあるバグを修正。
金鉱などの狭い階に配置を試みるとき、配置に失敗し部屋数が0個となることが頻発していた。
その後モンスターやアイテムの配置がいつまでも出来ず無限ループになっていた模様。
generate_rooms関数をbool型にし、部屋数0のときはFALSEを返して、生成失敗と扱うようにした。
ダンジョン生成失敗時は新たにダンジョンを生成しようと試みなおすのでこれで問題はないはず。
nothere [Sat, 6 Dec 2003 05:03:02 +0000 (05:03 +0000)]
マクロを使うよりフラグLOSやSPECIALを直接見た方がいい部分の変更.
nothere [Sat, 6 Dec 2003 04:27:45 +0000 (04:27 +0000)]
scatter()、ネmon_scatter()、ホlos()、rojectable()、ヒハムケケ.
nothere [Sat, 6 Dec 2003 03:03:45 +0000 (03:03 +0000)]
壁が裏から照らされないようにするコードcheck_local_illumination()の範
囲に対応して, CAVE_GLOWが変化するタイミングでそのグリッドの周囲も併せ
て更新するように変更. なお, 以下の変更を含む.
* 暗闇の洞窟で閃光属性を使っても明るくならず, 暗くて見えなかったモン
スターは見えないままであるので, その場合はupdate_mon()を呼ばないよ
うにした. 暗黒属性に対してもほぼ同様に変更.
* CAVE_GLOWの変化時にupdate_mon()が足りない部分の修正.
* cave_set_feat()にupdate_mon()追加.
nothere [Sat, 6 Dec 2003 00:00:17 +0000 (00:00 +0000)]
move_player_effect()の処理をbitフラグで制御するように変更. また, プレ
イヤーが移動する, つまりpyやpxが変更される部分にmove_player_effect()
を使い, 地形効果を適用できるように変更. py, pxへの直接代入と描画, 乗
馬を含みプレイヤーが関係するモンスターの位置交換もまとめられる限りこ
の関数でまとめた. 関連して, 以下の変更を含む.
* その場に留まってdo_cmd_stay()が呼ばれたり, テレポートで新しい位置に
飛んだ際もmove_player_effect()で判定するように変更. ただしその場に
留まる場合はトラップは無視する.
* 歌 "分解音波" で乗馬がダメージを受けたりアイテムが壊れたりする判定
をmove_player_effect()に加えた. ターンを消費してその場に留まる際も
判定を加えるようにした.
* モンスターに移動を任せている場合, 乗馬時/下馬時/落馬時はアイテムを
拾わないように変更.
* 落馬時のmove_player_effect()がプレイヤー死亡時にしか有効でなかった
バグを修正.
* carry(), do_cmd_walk(), do_cmd_stay(), py_pickup_floor()の引数
pickupをbool型に変更.
* move_player()の引数do_pickupをbool型に変更.
* 剣術 "無双三段" でモンスターが動けなくてcontinue;した場合にも
msg_print(NULL);するように修正.
mogami [Fri, 5 Dec 2003 06:18:03 +0000 (06:18 +0000)]
typoス、タオ。」
・ミ。シ・ク・逾ケ・ソ・ラノユイテ。」
nothere [Thu, 4 Dec 2003 20:53:45 +0000 (20:53 +0000)]
ウィザードモードやcheat_deathでの復活時にステータス異常が回復しなかっ
たバグを修正. p_ptr->is_dead = FALSE;の後にset_*()を置く必要があった.
nothere [Thu, 4 Dec 2003 20:28:21 +0000 (20:28 +0000)]
斜め方向に方向指定でブレスを撃つとブレスが壁を突き抜けるバグを修正.
関連して, ブレスやボールの実際の着弾座標を求める際に, project_path()
の戻り値である移動グリッドを実際に通る数だけ代入し直すようにした. 隣
接した壁に向かってブレスを吐いた場合に単なるボールになる判定には再代
入されたグリッド数で見るようになった. breath_shape()の引数distを復帰.
また, 壁に隣接してブレスを撃つと半径1しか'*'で描画されなかったバグを
修正.
mogami [Thu, 4 Dec 2003 15:50:33 +0000 (15:50 +0000)]
ツソセッニノ、゚ーラ、ッハヤスク。」
mogami [Thu, 4 Dec 2003 14:55:53 +0000 (14:55 +0000)]
自動拾いキーワード「上質の」と「並の」を追加。
英語版メーリングリストでドキュメントの中の「無銘の(nameless)」を発見で
きなかった人が居たのでわかりやすい名前のキーワードも用意しておく。
mogami [Thu, 4 Dec 2003 11:31:28 +0000 (11:31 +0000)]
既知のモンスターリストでシアーハートアタックの名前の表示が長すぎて文字化けしていたバグ修正。
nothere [Wed, 3 Dec 2003 15:55:02 +0000 (15:55 +0000)]
ブレスを吐けるペットが壁に埋まったモンスターと隣接した場合に, 始点と
終点が同じ状態でbreath_shape()を呼んでしまい, 0除算を起こしてゲームが
落ちるバグを修正. ブレスは障害物と隣接したら単なるボールとして扱われ
るので, breath_direct()をそれに対応.
nothere [Wed, 3 Dec 2003 14:59:49 +0000 (14:59 +0000)]
部屋を暗くする際に壁とみなす条件をLOSからPROJECTに変更.
nothere [Wed, 3 Dec 2003 14:14:43 +0000 (14:14 +0000)]
breath_shape()にブレスの目標座標とdistを別々に渡していたためにブレス
の形がおかしい場合があり, 本来ブレスが通らない位置にもブレスが貫通し
ていたバグを修正. またペットのブレス巻き添え判定もおかしかったので,
project()と同等に実際の中心座標を求めることにより修正.
nothere [Wed, 3 Dec 2003 01:47:27 +0000 (01:47 +0000)]
開ける対象の地形をOPENではなくis_closed_door()で見ていたバグを修正.
nothere [Wed, 3 Dec 2003 00:14:32 +0000 (00:14 +0000)]
壁が裏から照らされるかどうかの判定は元々その部屋が明るいかどうかだけ
を見ていたため, check_local_illumination()コードでは移動光源/暗黒光源
を判定に含めないように変更. これにより, 光源や暗黒光源のあるモンス
ターが召喚された直後に, 描画はそのままなのに判定上壁の中のモンスター
が見えなくなる場合があった問題を修正.
nothere [Tue, 2 Dec 2003 20:31:55 +0000 (20:31 +0000)]
スターバースト自体は透明な壁の向こうに投げることは出来ないがボール爆
風範囲は透明な壁を通過する仕様になったことで, 透明な壁の向こうにいる
モンスターがスターバーストを使える場合, プレイヤーに向けて投げられた
ボールの中心から半径3以内の爆風範囲にいる場合はスターバーストを選択肢
に入れて, 透明な壁の向こうから攻撃できるように変更. なお, 以下の変更
を含む.
* 閃光のブレスと分解のブレスの両方を持つモンスターの視界内のPROJECTの
ない地形にプレイヤーがいる場合, 分解の判定を優先するように変更.
* 以前にget_project_point()を簡略化した結果着弾点の計算がずれていて,
ボール範囲でのペットの巻き添えバグも再発していたので再修正.
* スターバーストの巻き添え範囲判定を透明な壁に対応.
nothere [Tue, 2 Dec 2003 17:58:40 +0000 (17:58 +0000)]
'%'や'@'で変更した設定やマクロをprefファイルに書き込まずに使う場合に
問題が起きるので, pref自動リロードの対象はautopickに限定. また, オプ
ションとせずautopickは常に自動リロードするように変更.
nothere [Tue, 2 Dec 2003 17:43:20 +0000 (17:43 +0000)]
閃光と弱い閃光のブレスとビームは透明な壁を通すように変更. ボルトと
ボールは通さない. 閃光のブレスをプレイヤーに使う際の特殊判定追加. ま
た, 壁の中にいるプレイヤーに分解のブレスを吐く地形判定を!PROJECT &&
HURT_DISIとした. これは分解できずに抜けられる壁がある場合は威力が半減
するため.
mogami [Tue, 2 Dec 2003 16:09:48 +0000 (16:09 +0000)]
最近 process_world()のコード整理した時に prev_min の計算を間違えてエンバグしていたので再修正。
mogami [Tue, 2 Dec 2003 14:43:02 +0000 (14:43 +0000)]
モンスターボールのpvalが劣化して中身のモンスターが変わってしまうバグ修正。
nothere [Mon, 1 Dec 2003 23:49:37 +0000 (23:49 +0000)]
new_player_spot()でのプレイヤーのランダム初期配置条件にTELEPORTABLEを
追加. これにより, ダンジョン "森" に入った時に木の中から開始しないよ
うに修正. また, 地上では木と山脈の上に配置できるようにするため, ラン
ダム初期配置条件にはMOVEとTELEPORTABLEを参照しないように変更.
nothere [Mon, 1 Dec 2003 22:43:11 +0000 (22:43 +0000)]
view_*_gridsがOFFの時, プレイヤーから見えているダンジョン外周の床の
mimicに接触すると地形が見えない扱いとしてターンを消費していたので,
move_player()でのプレイヤーが見えない地形判定をplayer_can_see_bold()
で行うように修正. また, boundary_floor_grid()マクロをdefines.hから
削除. cmd1.cに移転して判定条件とマクロ名を変更.
nothere [Mon, 1 Dec 2003 19:56:04 +0000 (19:56 +0000)]
アーチャーの岩石からのスリング用の弾作成に関する変更.
* 岩石が泥になるメッセージを出さないようにした.
* 地形判定をCAN_DIG && HURT_ROCKに変更.
* 明らかに材料にできない地形から作成試みた場合はターンを消費しないよ
うに変更. ただしmimicしているために失敗した場合はターン消費.
なお, 以下の変更を含む.
* 岩喰いの岩石味判定をHAS_ITEMからCAN_DIGに変更.
nothere [Mon, 1 Dec 2003 19:21:47 +0000 (19:21 +0000)]
Typo fix: "record_maxdeapth" -> "record_maxdepth".
nothere [Mon, 1 Dec 2003 19:11:56 +0000 (19:11 +0000)]
auto_scum系オプションに関する記述が残っていたので削除.
nothere [Mon, 1 Dec 2003 18:59:51 +0000 (18:59 +0000)]
設定ファイルの評価内容が変わる可能性のある部分でprefを自動で読み込む
ゲームプレイオプション "autoload_pref_files" を追加. なお, 以下の変更
を含む.
* pref-opt.prfのオプション並びが再編成後のものに対応していなかったの
で対応させた. また, X:exp_need, X:destroy_feeling,
X:destroy_identifyを追加.
nothere [Mon, 1 Dec 2003 17:06:37 +0000 (17:06 +0000)]
クエストファイルでmimic操作ができる仕様はtrapを使えば十分なので削除.
nothere [Mon, 1 Dec 2003 16:01:18 +0000 (16:01 +0000)]
WindowsとMacintoshで#undef HANDLE_SIGNALSしていたのをやめ, シグナルを
ハンドルするように変更. 異常終了時の緊急セーブが有効になる.
nothere [Mon, 1 Dec 2003 14:28:54 +0000 (14:28 +0000)]
一時的な壁抜け使用直後に壁を抜けられなかったバグを修正. PU_BONUS忘れ.
nothere [Mon, 1 Dec 2003 14:21:04 +0000 (14:21 +0000)]
走る判定のsee_wall()でドアは壁とみなさないようにした.
mogami [Mon, 1 Dec 2003 13:50:52 +0000 (13:50 +0000)]
regenhp()の方にもエンバグがあったので修正。
また青魔法の学習によるMP消費でs64b_mul()の使用が残っていたので、s64b_LSHIFT()に変更。
nothere [Mon, 1 Dec 2003 13:00:43 +0000 (13:00 +0000)]
分解属性の地形破壊をproject_f()で見るように変更. また, 分解属性のビー
ムである場合はPROJECT_DISIを有効にするように変更. これにより, カオス
魔法 "混沌召来" で分解ビームが出た場合に一列を破壊するようにした. な
お, 以下の変更を含む.
* cave_stop_disintegration()の判定に!HURT_DISIがなかったので修正.
* breath_shapeから変数real_breath削除.
* 分解属性は地形が破壊されて当然の属性であり, PROJECT_GRIDを内部で必
ず立てるようにした.
* do_disintegration()削除.
* 分解に限らず地形が破壊された後には視界が変わる可能性があるため, 必
要であればアイテム処理の直前にupdate_stuff()を呼ぶようにした.
mogami [Mon, 1 Dec 2003 11:39:13 +0000 (11:39 +0000)]
s64bのシフト演算マクロ s64b_LSHIFT()とs64b_RSHIFT()をbit数指定に拡張して、
(1L<<16)を掛け算する所を16bit シフトに直した。regenmana()書き変え、コメント修正。
mogami [Sun, 30 Nov 2003 22:38:35 +0000 (22:38 +0000)]
regenmana()のエンバグ修正。1ターンにMP1以上回復するはずの時、異常に回復が遅くなっていた。
nothere [Sun, 30 Nov 2003 15:32:55 +0000 (15:32 +0000)]
半巨人のレイシャルパワー "岩石溶解" 発動時のメッセージ削除.
nothere [Sun, 30 Nov 2003 15:29:41 +0000 (15:29 +0000)]
岩喰いで木が喰えなかったのは仕様だったため, 元に戻した. 判定はTUNNEL
ではなくHURT_ROCKを用いることにした. 木の場合のメッセージを少し変更.
nothere [Sun, 30 Nov 2003 14:53:39 +0000 (14:53 +0000)]
cave_floor_*()の使用に関する変更. cave_floor_*()は完全に削除.
* try_door(), next_to_corr()で使われるものはWALLの参照に置き換えた.
* コメントでcave_floor_*()が書かれている部分からも削除.
* 忍者の速駆けの中止判定, 地震での地形破壊判定はPROJECTに置き換えた.
* 岩喰いにはTUNNELを使うようにした. また, ペットでないか見えないモン
スターがいる場合は攻撃するようにした. 木を食べても木が消えなかった
バグも修正. 岩喰いに残っていたFEAT_*直接比較もフラグに置き換えた.
mogami [Sun, 30 Nov 2003 13:10:15 +0000 (13:10 +0000)]
typo
mogami [Sun, 30 Nov 2003 11:57:00 +0000 (11:57 +0000)]
搭で重なったモンスターが乗馬中と出るバグが、まだ完全に直ってなかったので再修正。
mogami [Sun, 30 Nov 2003 11:37:05 +0000 (11:37 +0000)]
zangband から、next_to_walls() で、壁の数を数える代りに床の数を
数えてしまっていたのをとりあえず壁に戻した。
部屋の真ん中に階段があるよりも、廊下の突き当たりに階段がある方が
正しい仕様と思われる。とは言え、階段を探すのが少し大変になる事、
突き当たりに階段を生成できないで廊下の真ん中に階段を生成する場合が多い事等、
問題もあるので今後検討が必要。壁/床の数の制限を撤廃する方法もある。