OSDN Git Service
nothere [Mon, 19 Jan 2004 19:25:08 +0000 (19:25 +0000)]
バグでhandle_signal_abort()が呼ばれて強制終了したことをplayrecordに残
すように変更. また, Windowsで変愚蛮怒実行中にログオフした場合は通常の
終了としてplayrecordに記録するように変更.
nothere [Mon, 19 Jan 2004 19:10:43 +0000 (19:10 +0000)]
セーブ時などのモンスター圧縮でcompact_monsters_aux()を呼んだ際に,
get_mproc_idx()にi1を渡すべきなのにi2を渡してしまっていて, 結果として
mprocシステムの配列の中身が異常になって変愚蛮怒が落ちる可能性のあるバ
グを修正.
nothere [Mon, 19 Jan 2004 17:48:57 +0000 (17:48 +0000)]
mprocシステムの変更に関する話し合いの結果より, 以下のように変更.
* polymorph_monster()でモンスターが変身に失敗して書き戻された時のhack
はやめたほうがよいという意見を受け, そのような状況ではmprocシステム
全体を再初期化するように変更.
* 各モンスターにmproc_idx[MAX_MTIMED]を持たせてスタック参照を高速化す
る意味がほとんどなく, ループで位置参照してもオーバヘッドが小さいこ
となどを受け, mproc_idx[MAX_MTIMED]を削除.
* process_monsters_*()系関数をprocess_monsters_mtimed()でまとめた. 実
際の処理はprocess_monsters_mtimed_aux()内でswitch分岐する.
mogami [Mon, 19 Jan 2004 11:10:55 +0000 (11:10 +0000)]
Typo修正等 (Thanks to falzeus)
nothere [Mon, 19 Jan 2004 10:35:32 +0000 (10:35 +0000)]
1.108の修正を, ポインタを使って書き直した.
nothere [Mon, 19 Jan 2004 10:26:25 +0000 (10:26 +0000)]
mproc_remove()でスタックの穴を埋める処理を行った際にモンスター側でス
タックの位置情報を更新し忘れており, 変愚蛮怒が落ちていたバグを修正.
nothere [Mon, 19 Jan 2004 04:27:36 +0000 (04:27 +0000)]
モンスターの状態変数7種を配列化し, 状態変数の変更を関数化. 各配列の値
は記述短縮のためマクロで参照する. csleep以外の6つはbyte型からs16bに変
更したが, 1.6.xに移植することを考慮し, セーブファイルでのこれら変数は
引き続きbyte型で読み書きする. 関連して, 以下の変更と修正を含む.
* モンスタープロセス配列全体の初期化をmproc_init()で行うように変更.
floors.c, load.c, spells3.cからmproc_add()を削除. mproc_init()呼び
出しは最低限必要な2箇所 (dungeon()のメインループ直前と,
do_cmd_save_game()のhandle_staff()近く) のみに置いた.
* dungeon.cにあったprocess_monsters_*()をprocess_monsters()の類型とみ
なし, melee2.cに移転. mproc関数群も移転.
* mproc_add(), mproc_remove()に配列外アクセス防止処理追加.
* 剣術 "みね打ち" を朦朧としているモンスターに使うと朦朧度が逆にいく
らか回復するバグを修正.
* 位置交換テレポート成功時にモンスターが起きないバグを修正.
* モンスターへの魔力消去とメッセージは関数dispel_monster_status()にま
とめた. これを用い, 乗馬がプレイヤーへの魔力消去の巻き添えになった
場合もメッセージを出すように変更.
nothere [Sun, 18 Jan 2004 07:35:21 +0000 (07:35 +0000)]
モンスターが戦いを決意した際にignore_unviewが有効だと, そのモンスター
が見えていても徳が変化せず, ヘルスバー更新も行われなかったバグを修正.
mogami [Sat, 17 Jan 2004 16:42:53 +0000 (16:42 +0000)]
floor_id及び、sf_ptrが0の時に落ちないようにparanoia処理追加。
nothere [Sat, 17 Jan 2004 15:17:24 +0000 (15:17 +0000)]
戦いを決意したモンスターがプレイヤーから見えていない場合に徳が変動し
ない方が自然という意見があり, 元に戻した.
nothere [Sat, 17 Jan 2004 14:11:12 +0000 (14:11 +0000)]
状態変数の処理ループをさらに細分化. その状態になっているモンスターが1
体もいない場合は処理しないようにした. なお, 以下の変更を含む.
* 戦いを決意したモンスターがプレイヤーから見えていない場合に徳が変動
しないバグを修正.
* 状態変数のオーバーフローの可能性のある部分の修正. 上限を200とした.
mogami [Sat, 17 Jan 2004 11:46:23 +0000 (11:46 +0000)]
なぜかatol()の(古い形式の)プロトタイプ宣言が入っていてワーニングが出たが、winでもmacでもLinuxでも不要で、いったいどの環境で必要なのか不明なので削除。
mogami [Sat, 17 Jan 2004 11:43:34 +0000 (11:43 +0000)]
X11 on MacOSXでサブウィンドウをマウスでリサイズすると再描画を繰り返して永久ループになるバグ修正。サブウィンドウを再描画する関数redraw_window()でメインウィンドウに関して何か操作をしていたのでその部分を廃止した。Linuxでは未テスト。実は何か意味があるという可能性のあるかも。
mogami [Sat, 17 Jan 2004 11:24:20 +0000 (11:24 +0000)]
lx,lyの初期化に関するワーニング除け。
nothere [Fri, 16 Jan 2004 19:51:08 +0000 (19:51 +0000)]
モンスターの状態変化処理を標準ターンで行う際に, 処理の必要のある状態
変化を持つモンスターの分だけ行うように変更. これで処理が極端に重いこ
とは少なくなると考えられるが, 詳細な検証が必要. 有効であれば1.6.xに
マージする. なお, 以下の変更と修正を含む.
* GF_CRUSADEで乗馬が加速してもPU_BONUSがないので追加した.
* party_mon[]をfloors.cに移転しstaticとした. また, MAX_PARTY_MONも併
せてfloors.cに移転.
* カオス属性などで変身失敗した場合にもc_ptr->m_idxは変わる可能性があ
るため, 関連するポインタを再計算するように修正.
* GF_CAPTUREの処理の微修正.
mogami [Fri, 16 Jan 2004 11:40:48 +0000 (11:40 +0000)]
typo。」(Thanks to falzeus)
macband [Fri, 16 Jan 2004 01:26:36 +0000 (01:26 +0000)]
hハムケケ・゚・ケ、ネ、ォ
nothere [Thu, 15 Jan 2004 13:45:15 +0000 (13:45 +0000)]
Kuwa氏より提供されたmain-mac.cを反映し, Mac版で初期設定が保存されない
バグを修正.
nothere [Thu, 15 Jan 2004 12:26:21 +0000 (12:26 +0000)]
モンスターのテレポートバックやテレポートで候補位置が同じだった場合に
モンスターが消えてしまうバグを修正. また, グリッドのm_idxの移動操作は
"新しい位置にm_idxを入れて古い位置は0にする" ではなく "古い位置を0に
して新しい位置にm_idxを入れる" 順序に直した.
mogami [Mon, 12 Jan 2004 15:04:58 +0000 (15:04 +0000)]
sigsetjmp()、ヒサネ、ヲ、ホ、マjmp_buf、ヌ、マ、ハ、ッ。「sigjmp_buf。」
mogami [Mon, 12 Jan 2004 14:34:46 +0000 (14:34 +0000)]
Archon、ホタク、、ホゥ、チ・皈テ・サ。シ・ク、ヌ・ケ・レ。シ・ケ、ャネエ、ア、ニ、、、ソ、ホ、、タオ。」(Thanks to alzagos)
nothere [Sun, 11 Jan 2004 13:03:30 +0000 (13:03 +0000)]
クエスト "マイクロンフトの興亡" で, ドアが浅い溶岩の流れに変わってし
まっていたバグを修正.
nsk [Sat, 10 Jan 2004 13:45:47 +0000 (13:45 +0000)]
typoス、タオ。」
mogami [Fri, 9 Jan 2004 11:03:02 +0000 (11:03 +0000)]
ソゥホチタクタョ、ホタ篶タハクス、タオ。」
nothere [Thu, 8 Jan 2004 14:59:45 +0000 (14:59 +0000)]
壁系モンスターに関する変更.
* 花崗岩の壁にCOLD_BLOOD追加.
* 溶岩の壁からCOLD_BLOOD削除.
* 石英の壁はQuartz veinに合わせて石英の鉱脈と改名.
mogami [Thu, 8 Jan 2004 14:05:53 +0000 (14:05 +0000)]
1.4.5/1.6.0の変更内容のリストを追加。
nothere [Thu, 8 Jan 2004 05:17:29 +0000 (05:17 +0000)]
alloc_stairs()で階段を配置した場所からCAVE_FLOORを落とし忘れており,
配置された下り階段が再び配置場所候補に選ばれ, 次の下り階段や昇り階段
で上書きされて下り階段が減ったりフロアから消えてしまうバグを修正.
nothere [Wed, 7 Jan 2004 15:27:33 +0000 (15:27 +0000)]
位置交換テレポートでのmove_player_effect()でも他のテレポート同様に
MPE_FORGET_FLOW対象にした. また, 薄い壁の向こうにテレポートしてもGLOW
な薄い壁が正しく再描画されるように, テレポート全般に与えられている
MPE_FORGET_FLOW指定時はPU_UN_VIEWとPR_MAPも実行するように変更.
nothere [Wed, 7 Jan 2004 14:45:32 +0000 (14:45 +0000)]
カメレオンが変身して光源の種類や半径が変化してもすぐに更新されなかっ
たバグを修正.
mogami [Wed, 7 Jan 2004 09:23:42 +0000 (09:23 +0000)]
アイテムの外見(flavor)の処理方法を変更。flavor.c内に直にデータを書くのでは無く
k_info.txtの中で薬や巻物等のアイテム一つ一つが外見情報を持つようにして、
キャラクター生成時にシャッフルするようにした。
visual modeで全ての外見に対応する文字(タイル)を独立に設定できるようになった。
nothere [Wed, 7 Jan 2004 09:20:44 +0000 (09:20 +0000)]
英語版で, 自分で光っているモンスターは "%^s is shining." と思い出に表
記するように変更.
nothere [Wed, 7 Jan 2004 08:25:52 +0000 (08:25 +0000)]
character_dungeon == FALSEであってもGLOW地形に対応する処理が必要な場
合が考えられる (generate_cave()が終わりcharacter_dungeon = TRUE; され
るまでの間) ので再修正.
nothere [Wed, 7 Jan 2004 08:08:26 +0000 (08:08 +0000)]
暗闇の洞窟で鏡が消えた時, 鏡があった位置が明るいままだったバグを修正.
また, cave_set_feat()でのcharacter_dungeonの判定は1箇所だけにした.
mogami [Tue, 6 Jan 2004 12:18:27 +0000 (12:18 +0000)]
先程の変更でテレポート先の候補が全く無い場合の処理をしていなかったので、
その場合は何も起きないようにした。
以前のアルゴリズムではテレポート先を探しながら距離disも増やしていたので、
壁の中に完全埋まった状態や巨大vaultの中でショートテレポートを使うと
どんなに遠くても外の床に脱出していたが、現状ではそれが出来なくなっている。
仕様として残す必要があるなら後でdisを増やすコードを書くが…。
mogami [Tue, 6 Jan 2004 11:28:17 +0000 (11:28 +0000)]
teleport_player()のアルゴリズムを変更。
今までのアルゴリズムだと遠くの同じ2地点間で行ったり来たりする事があったが、
可能なテレポート先の候補をある程度の数だけ先に選んでおいて、
乱数1回でランダムな1地点を選択する事で、ランダム性を増した。
nothere [Tue, 6 Jan 2004 10:57:44 +0000 (10:57 +0000)]
地上で昼間の場合はGLOW地形であっても暗闇で暗くなるように変更.
mogami [Tue, 6 Jan 2004 10:19:21 +0000 (10:19 +0000)]
セョ、オ、、・タ・ク・逾ャスミ、ソ、ネ、ュ、ホcheat_room、ヌ、ホノスシィ、ヌ。「X、ネY、ャオユ、タ、テ、ソ、ホ、、タオ。」
nothere [Tue, 6 Jan 2004 06:24:50 +0000 (06:24 +0000)]
アイテムのスポイラー出力に関する変更.
* 分類されないアイテムは "くさび" と表示せず "その他" と表示するよう
に変更.
* 光源は独立カテゴリとした.
* 羊皮紙を独立カテゴリではなく "その他" に移転.
* グループ出力順序を一部変更.
* 2byteの括弧は1byteに直した.
* グループに表示可能なアイテムがない場合はグループ名を表示しないよう
に修正.
mogami [Mon, 5 Jan 2004 13:26:01 +0000 (13:26 +0000)]
quark_add()に0等を与えた時の仕様を不用意に変えてしまっていて、
自動拾いエディタでアイテム名挿入等でおかしくなっていたので戻した。
mogami [Mon, 5 Jan 2004 11:18:13 +0000 (11:18 +0000)]
外周の永久岩が最初だけEXTRAフラグを持つ為に、
階段がフロアの4隅に置かれる事があった不具合修正。
mogami [Mon, 5 Jan 2004 11:17:01 +0000 (11:17 +0000)]
英語版の説明文が途中で切れていたので修正。1.4.x/1.6.xへのマージ候補。
mogami [Sun, 4 Jan 2004 12:55:34 +0000 (12:55 +0000)]
ダンジョンの雰囲気が、フロアの生成時では無くリアルタイムに計算されるように変更した。
知覚の技能値が高いと雰囲気が表示されるまでの時間が短かくなる。
ピットやvaultで雰囲気が上がる仕様は再現できないので、
かわりに多数隣接したモンスターはレベルに関わらず少しだけ雰囲気に寄与するようにした。
また雰囲気の加算の仕方を変更。2次式で寄与を決定するようにしたので、
5レベルOODのモンスターが2体よりも、10レベルOODのモンスター1体の方が良い雰囲気になる。
mogami [Sun, 4 Jan 2004 08:17:48 +0000 (08:17 +0000)]
カ篁ロ、ヌ、マ ironman_rooms 、マフオク妤ヒ、キ、ソ。」
mogami [Sun, 4 Jan 2004 08:14:31 +0000 (08:14 +0000)]
小さいフロアで部屋配置に失敗するのを根本的に修正。
rooms.c 1.71-1.72 と generate.c 1.87-1.90 は不要になったので元に戻す。
修正内容は、
- 普通の部屋を作成する build_type1()とbuild_type9()が滅多に失敗しないようにした。
(find_space()の呼び出しが失敗した時、部屋の大きさを最小にして再挑戦する。)
- room_build()が失敗した時に同種の部屋の生成をキャンセルするのをやめた。
- alloc_stairs()は乱数を1回だけ使用するアルゴリズムに変更。
(配置可能な床が無ければ自動的にFALSEを返す。配置可能な床があれば絶対失敗しない。)
ついでに、ジグザグの壁の部屋に階段が集中するのを防ぐ為にnext_to_walls()を修正。
FF_WALLフラグではなくis_extra_bold()で壁を判断する。森等でもうまく配置される。
mogami [Sun, 4 Jan 2004 06:05:48 +0000 (06:05 +0000)]
セ「ホホー隍ホシク、ホス酳ヨ、ャカク、テ、ニ、、、ソ・ィ・ミ・ース、タオ。」
mogami [Sun, 4 Jan 2004 05:46:49 +0000 (05:46 +0000)]
・゙・ッ・﨓セハムケケ。」ENCHANT「ェCRAFT
mogami [Sun, 4 Jan 2004 05:37:36 +0000 (05:37 +0000)]
シク、ホトフ、キネヨケ貘ゥ、荀皃ソサヒスセ、、。「spell_id_from()、簓ムサ゚。」
do_spell()、マホホー靈隍ヒハャウ荀キ、ソ。」
mogami [Sat, 3 Jan 2004 09:25:36 +0000 (09:25 +0000)]
英語版、未使用変数除去。
mogami [Sat, 3 Jan 2004 08:52:36 +0000 (08:52 +0000)]
吟遊詩人の歌の消費MPがおかしかったエンバグ修正。
do_spell()の呪文の指定方法を1つの通し番号 spell にしていたが、
やっぱり不都合があるので、(realm, spell) の2つに戻した。
do_singing()はdo_spell()から分割していた意味がなかったので統合。
mogami [Fri, 2 Jan 2004 16:44:56 +0000 (16:44 +0000)]
プレイヤーの初期装備に自動刻みを適用しておく。
mogami [Fri, 2 Jan 2004 15:18:33 +0000 (15:18 +0000)]
「ウィザードロード」、「ギルドマスター」等、画面からはみだしてる称号を短く変更。
他にも意味的におかしい称号を一部修正。
mogami [Fri, 2 Jan 2004 14:29:27 +0000 (14:29 +0000)]
英語版の get_table_name() が flavor.c内の巻物用の配列データに依存していて、
artifact.cの方に移動してしまったらコンパイルできなくなっていたので修正。
mogami [Fri, 2 Jan 2004 14:03:55 +0000 (14:03 +0000)]
一番大事なファイル do-spell.c をaddし忘れていたので追加。
魔法の処理全般がこのファイルに全部入っている。
ただし、mind.c で処理していた分はまだ do-spell.c に統一していない。
mogami [Fri, 2 Jan 2004 13:57:27 +0000 (13:57 +0000)]
魔法の効果、名前、説明文等を一つの関数にまとめた。
SAngbandで用いられていた方法の応用。
一つの呪文の名前、説明、効果のコードが一箇所にまとまっているので、
変更、管理がしやすい。以下の変更を含む。
- 呪文選択時にリストの右端に出る効果説明が出る呪文を大幅に増やした。
- 明かりの呪文など、効果説明の表示数値が間違っていたのを修正。
(表示用の数値と実際の効果用の数値を一箇所で書くようになったので間違いがまず起らない。)
WindowsやMacintoshでは do-spell.c をコンパイルするファイルに追加する必要あり。
全部1つの関数で済ますので、do_spell()がとてつもなく巨大になった。
今後領域毎に分割する位は考慮するかもしれない。
mogami [Thu, 1 Jan 2004 17:15:14 +0000 (17:15 +0000)]
quark_str(1)として""を最初に定義しておき、
quark_add()は失敗したら必ず1を返すようにした。
nothere [Sun, 28 Dec 2003 17:00:56 +0000 (17:00 +0000)]
*破壊*や地震で地形が暗くなった際に, 光源持ちのモンスターが消えた場合
に跡地周辺がMARKされるバグを修正. なお, 以下の変更を含む.
* forget_view()で, panel_contains()を調べる必要はないので修正.
nothere [Sun, 28 Dec 2003 09:17:07 +0000 (09:17 +0000)]
プレイヤーが乗馬したまま死んだ場合にcheat_deathやウィザードモードで復
活すると, 乗馬が維持されず街の人や変な物に乗馬して復活するバグを修正.
nothere [Sun, 28 Dec 2003 08:20:42 +0000 (08:20 +0000)]
モンスター同士の投げ落としで, 投げ落とされたモンスターが乗馬の場合に
限りプレイヤーもダメージを受ける部分がバグっていて, プレイヤーが乗馬
していたら無関係でも必ずダメージを受けていたバグを修正.
nothere [Sun, 28 Dec 2003 07:41:17 +0000 (07:41 +0000)]
賞金首と引き換えにアイテムを受け取った際に, スロット記号表示, 自動銘
刻み, アイテム並び替えのhandle_stuff()を行うように変更.
nothere [Sat, 27 Dec 2003 18:13:42 +0000 (18:13 +0000)]
。リキオ、ホウサ。ル、ネ。リタトホカ、ホホ錂ゥ。ル、ホ・ル。シ・ケAC、ャ30、ホ、゙、゙、タ、テ、ソ・ミ・ー、、タオ.
nothere [Sat, 27 Dec 2003 11:54:10 +0000 (11:54 +0000)]
ダンジョン生成時の階段配置の仕様を変更.
* 階段生成の成功/失敗に関わらず, 階段の隣に必要な壁の数wallsを減らし
ていたので, 階段生成成功時は減らさないように変更.
* 3000回の試行で階段が配置できなかった場合, 現在のwallsを引数として
cannot_place_stairs()を使い, 配置可能かどうか調べてwallsを減らし,
walls == 0で失敗したらダンジョン生成失敗とした.
* cannot_place_stairs()内で, 候補にできるグリッド数が極端に少なければ
配置可能と判定されないようにするため, 条件を満たすグリッド数が20に
満たなければ配置可能としないように変更.
nothere [Fri, 26 Dec 2003 19:57:34 +0000 (19:57 +0000)]
実行されないコードの削除.
nothere [Fri, 26 Dec 2003 19:54:24 +0000 (19:54 +0000)]
alloc_stairs()の変更によりダンジョン生成が失敗しそうにないダンジョン
で失敗判定が多くなりすぎたので, walls == 0で失敗したら本当に階段が置
けないかどうかを判定する関数を呼び, 不可能ならば本当に生成失敗, そう
でないならば階段が置けるまで無限ループを許すように再修正.
nothere [Fri, 26 Dec 2003 19:00:35 +0000 (19:00 +0000)]
ironman_rooms適用時には最初の部屋を必ず通常の部屋にすることにより, 川
や*破壊*が生成されるのを待たなくとも狭い階でのプレイヤー配置をしやす
いように変更. また, alloc_stairs()ではwalls == 0で階段配置に失敗した
ら失敗を返し, アイテムで埋まった階で無限ループに陥らないように修正.
nothere [Fri, 26 Dec 2003 15:56:02 +0000 (15:56 +0000)]
プレイヤーが盲目である等の理由で未知のアイテムの上にいる場合に, その
未知のアイテムをget_item()の選択肢に加えていて, アイテムがあることが
わかっていたバグを修正.
nothere [Fri, 26 Dec 2003 15:17:10 +0000 (15:17 +0000)]
o_ptr->markedが単に非0かどうか判定されている部分を, save.cの物以外全
てOM_FOUNDとのAND演算に置き換えた. また, autopick.cのOM_AUTODESTROYと
のAND演算も念のため括弧で括った.
nothere [Fri, 26 Dec 2003 14:44:24 +0000 (14:44 +0000)]
練気術師が魔法書を持たなかったり盲目で魔法書を使えない場合は'w'かESC
だけを受け付けるプロンプトを通すように変更. これにより, マクロやキー
入力スタックを壊すことがなくなる. 関連して, 以下の修正を含む.
* easy_floor有効時に床上アイテムを選択する画面にすると, "'w'練気術"
が表示されなくなるバグを修正. また, easy_floor有効時と無効時両方で,
プロンプト中の "'w'練気術" の位置は "ESC" の直前になるように統一.
nothere [Wed, 24 Dec 2003 15:39:20 +0000 (15:39 +0000)]
ignore_unviewの対象として, モンスター同士が戦って発生する "何かが聞こ
えた" メッセージ, 友好的なモンスターが敵に回るメッセージを追加.
nothere [Wed, 24 Dec 2003 09:55:10 +0000 (09:55 +0000)]
壁の裏から照らされないようにする判定に, VanillaやUnAngbandで実装され
ているがコメントアウトされているCOMPLEXアルゴリズムを適用. 問題が起き
るようであれば#define COMPLEX_WALL_ILLUMINATIONをコメントアウトすれば
元の処理に戻る.
nothere [Wed, 24 Dec 2003 08:22:34 +0000 (08:22 +0000)]
各種抹殺による個別モンスターの抵抗判定を関数としてまとめた. 考え方は
XAngbandから. 関連して, 以下の修正と変更を含む.
* テレパシー等で見えていても盲目ならば抵抗メッセージを出さない仕様を
削除.
* 抹殺で消えたモンスターがいない場合は徳が変動しないように変更.
* 英語版で "アンデッド消滅" が "Mass Genocide" になっていたバグ修正.
* 抹殺系関数のplayer_castはbool型に変更.
nothere [Wed, 24 Dec 2003 06:18:49 +0000 (06:18 +0000)]
重量オーバーで深い水に溺れている忍者でも速駆けが維持されるのはおかし
い等の理由により, 深い流れの地形では浮遊がない限り速駆けが切れるよう
に変更.
nothere [Wed, 24 Dec 2003 06:04:40 +0000 (06:04 +0000)]
adj_str_wgt[]を直接参照する限界重量の計算を, xtra1.cにある関数
weight_limit()でまとめた. 全ての場合で2で割られて扱われていたことも併
せて整理したため, 元々呼ばれていたcalc_bonuses()では扱い方を少し変更.
nothere [Tue, 23 Dec 2003 21:08:16 +0000 (21:08 +0000)]
ヘルスバー更新に関する修正.
* 乗馬を状態異常から立ち直らせる処理で乗馬のヘルスバーを更新する際に,
通常のヘルスバーの更新の指示は必要ないので削除.
* モンスターが目を覚ました際にヘルスバー更新が足りない部分の修正.
* 忍術 "鎖鎌" 使用後は対象モンスターのHPを追跡するように修正.
なお, 以下の修正を含む.
* 忍術 "鎖鎌" で乗馬を引き戻そうとしても, 引き戻したメッセージが出な
いように修正.
nothere [Tue, 23 Dec 2003 15:51:50 +0000 (15:51 +0000)]
視界外メッセージOFFでも視界外のモンスターの呪文失敗メッセージが出てい
たバグを修正.
nothere [Tue, 23 Dec 2003 15:29:35 +0000 (15:29 +0000)]
更新指示に関する変更.
* cave_set_feat()内でLOSフラグの変化を判定し, 必要に応じて視界/光源/
モンスターの更新指示を発行する仕様に変更. 関連して, cave_set_feat()
で発行されたものと重複する更新指示を削除. 考え方はUnAngbandから.
* 地震や落馬でのPU_DISTANCEはmove_player_effect()が呼ばれた場合のみに
使えばいいので, PU_MONSTERSに置き換えた.
* ペットを解放する際はdelete_monster_idx()でPU_MON_LITEが呼ばれてお
り,do_cmd_pet_dismiss()の最後のPU_MON_LITEは不要なので削除.
mogami [Tue, 23 Dec 2003 08:04:27 +0000 (08:04 +0000)]
☆名の変更時にget_table_name()にエンバグしていたので修正。
mogami [Tue, 23 Dec 2003 06:26:47 +0000 (06:26 +0000)]
1行全体を選択した状態でCOPYコマンドを実行した時にカーソルが下の行の先頭に移動するように。
mogami [Mon, 22 Dec 2003 22:43:15 +0000 (22:43 +0000)]
自動拾いエディタの振舞い調整:
- 最終行へ移動する操作をした時、最後の行に改行が無かったら、
自動的に改行を入れて新しい空白行を作る。
- コピーコマンドを実行した時、カーソルの位置が選択範囲の最後に移動する。
こうすると、"^C"+"^V" で選択範囲を複製できる。
(今までは古い行の中間に挿入してしまっていた。)
- カーソルの上下移動で漢字1文字の中間の位置にカーソルが来る時、
今までは常に左に1byteずらして正しい位置に動いていたが、
数行上に移動すると何時の間にかカーソルが左へ左へと移動してしまうので、
正しい位置に動かす時に左右交互にずらすようにした。
mogami [Mon, 22 Dec 2003 21:39:35 +0000 (21:39 +0000)]
自動拾いエディタの「キーマップ定義の挿入」で、
現在の定義内容を正しく挿入していなかった
(エスケープ文字に変換が必要な所をしていなかった)のを修正。
nothere [Mon, 22 Dec 2003 18:34:40 +0000 (18:34 +0000)]
target_set_aux()ではウィザードモードで地形IDや座標を表示しているが,
この座標が (x,y) 表記だったので, (y,x) 表記に変更. また, mimicのある
地形の場合は (地形ID/mimicID) の形式で表示できるように変更.
nothere [Mon, 22 Dec 2003 18:25:07 +0000 (18:25 +0000)]
デバッグコマンドの地形指定で, 地形を作成した場所の更新を忘れていたの
で修正. また, 鏡を作った際にその場所が明るくならなかったので修正.
nothere [Mon, 22 Dec 2003 18:05:23 +0000 (18:05 +0000)]
*破壊*や地震に関する修正.
* 鏡の上で*破壊*や地震を使った場合に明かりが消えるバグを修正.
* *破壊*や地震を使った場合は地形光源を適用し直すように修正.
nothere [Mon, 22 Dec 2003 15:50:48 +0000 (15:50 +0000)]
STUPIDモンスターはMPの切れているプレイヤーに対しても無意味な魔力吸収
を使うことがあるように変更.
nothere [Mon, 22 Dec 2003 14:55:56 +0000 (14:55 +0000)]
閉じることのできる地形の上にアイテムがあって, 閉じた後の地形にDROPが
ありアイテムが置ける場合は閉じることができるように変更.
nothere [Mon, 22 Dec 2003 14:50:21 +0000 (14:50 +0000)]
地形デバッグコマンドでのupdate指定忘れの修正.
nothere [Mon, 22 Dec 2003 14:40:24 +0000 (14:40 +0000)]
指定位置に任意の地形とmimicを作成できるデバッグコマンド^A Fを追加.
nothere [Mon, 22 Dec 2003 13:41:30 +0000 (13:41 +0000)]
テスト地形データとしてガラスの壁, ガラスのドアセット, カーテンを導入.
不要であればリリース前に削除可能. なお, 以下の変更を含む.
* N:98:MOUNTAIN_WALLを区別のため "山脈(壁)" とした.
nothere [Mon, 22 Dec 2003 12:16:02 +0000 (12:16 +0000)]
アリーナ内のゲートに用いる新しい地形 "入場門" を追加. 関連して, 以下
の修正と変更を含む.
* f_tag_to_index()のプロトタイプ宣言をinit.hからexterns.hに移転.
* アリーナ内でGLOW地形でも暗くなるhackを削除.
* アリーナ内ではBLDG地形でも "...の入口" と表記しないように変更.
* 忍者がアリーナから出てメニューに移る際に超隠密が切れたメッセージと
ともに街の画面に切り替わってしまうバグがあったので, leave_floor()で
も超隠密解除処理を行うように修正.
mogami [Mon, 22 Dec 2003 11:33:19 +0000 (11:33 +0000)]
o_ptrの値が未定義の可能性、というwarning除け。
mogami [Mon, 22 Dec 2003 11:20:43 +0000 (11:20 +0000)]
アーティファクト生成の巻物で作った☆の名前を
「☆ロングソード《名前》」等のような形式に変更。
名前付けをキャンセルした時はとりあえず漢字2文字を付ける。
後でXAngbandからシンダリン銘を付けるコードを移植する。
nothere [Mon, 22 Dec 2003 10:34:02 +0000 (10:34 +0000)]
単純にセーブデータをロードしただけで超隠密が解除されていたバグを修正.
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ダメージ, 混乱, 朦朧の優先順位
で表示されるように変更.
* 薬が割れたりしたような場合でプレイヤー以外がモンスターを回復させた
ような場合などでもプレイヤーの徳が変化していたバグを修正.