OSDN Git Service
Hourier [Mon, 30 Aug 2021 12:58:30 +0000 (21:58 +0900)]
[Refactor] #1435 Remove SGN() in h-define.h
Hourier [Sat, 4 Sep 2021 05:19:00 +0000 (14:19 +0900)]
Merge pull request #1456 from Hourier/feature/Remove-Compilation-Warning
object_type::is_offerable() のコンパイル警告修正
Habu [Sat, 4 Sep 2021 05:10:34 +0000 (14:10 +0900)]
Merge pull request #1453 from habu1010/feature/random-new-high-resistance
上位耐性のランダム付与とランダムアーティファクトに 3.0.0Alpha で新しく追加された耐性が付与されるようにする
Hourier [Sat, 4 Sep 2021 04:32:51 +0000 (13:32 +0900)]
[Refactor] Fixed compilation warning in object-type-definition.cpp
Habu [Sat, 4 Sep 2021 03:54:22 +0000 (12:54 +0900)]
[Refactor] フラグ付与処理関数の共通化
同じようなフラグ付与処理を行う関数がフラグ毎に存在しているので、
フラグを引数で渡すようにして処理を共通化する。
また、共通化した事によってこれまで氷免疫フラグが付与された時に
6/7の確率で付与したばかりのフラグが削除されていた不具合も同時に
解消される。
Habu [Sat, 4 Sep 2021 03:04:22 +0000 (12:04 +0900)]
[Feature] ランダムアーティファクトへの新上位耐性の付与
ランダムアーティファクトに 3.0.0Alpha で追加された新しい上位耐性の、
時間逆転・水・呪力耐性が付与されるようにする。
付与される確率は閃光・暗黒耐性を除く他の上位耐性の 1/2 だが、
BIAS_RANGER の時は水耐性(ついでに毒耐性も)、BIAS_PRIESTLY の時は
呪力耐性が付与されるようにする。また逆にそれぞれの耐性の付与時に
確率で BIAS_RANGER と BIAS_PRIESTLY を設定するようにする。
Habu [Sat, 4 Sep 2021 02:55:48 +0000 (11:55 +0900)]
[Feature] ランダムに付与される上位耐性の種類を追加
3.0.0Alphaで追加された上位耐性フラグ TR_RES_TIME・TR_RES_WATER・
TR_RES_CURSE をランダムな上位耐性追加処理により付与されるようにする。
付与される確率は他の上位耐性と等確率。
Hourier [Sat, 4 Sep 2021 01:47:15 +0000 (10:47 +0900)]
Merge pull request #1445 from Hourier/feature/Refactor-get-random-art-filename
ランダムアーティファクトの銘を選択するルーチンが冗長だったので簡略化した
Hourier [Thu, 2 Sep 2021 14:10:04 +0000 (23:10 +0900)]
[Refactor] ランダムアーティファクトの銘を選択するルーチンが冗長だったので簡略化した / Simplified get_random_art_filename() because it's redundant
Habu [Sat, 4 Sep 2021 00:55:10 +0000 (09:55 +0900)]
Merge pull request #1446 from habu1010/feature/incorporate-object-function-into-menber-function
object_is_foobar() 系の関数を object_type のメンバ関数にする
Habu [Fri, 3 Sep 2021 23:53:46 +0000 (08:53 +0900)]
[Refactor] ソースコードの可読性の向上
PR #1446 のレビューに基づき、ソースコードの可読性を向上させる。
Habu [Fri, 3 Sep 2021 11:45:52 +0000 (20:45 +0900)]
[Refactor] object_is_activatable() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 05:35:50 +0000 (14:35 +0900)]
[Refactor] object_is_offerable() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 05:28:02 +0000 (14:28 +0900)]
[Refactor] object_is_rechargeable() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 05:22:32 +0000 (14:22 +0900)]
[Refactor] object_can_refill_*() を object_type のメンバ関数化
is_refill_lantern は can_refill_lantern に改名する。
Habu [Fri, 3 Sep 2021 05:17:09 +0000 (14:17 +0900)]
[Refactor] object_is_readable() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 02:53:57 +0000 (11:53 +0900)]
[Refactor] object_is_potion を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 02:48:23 +0000 (11:48 +0900)]
[Refactor] object_is_tried() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 02:43:15 +0000 (11:43 +0900)]
[Refactor] object_is_aware() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 02:36:55 +0000 (11:36 +0900)]
[Refactor] object_is_known()/fully_known() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 02:23:24 +0000 (11:23 +0900)]
[Refactor] object_is_held_monster() を object_type のメンバ関数化
is_held_monster() ではモンスターによって所持されているというニュアンスに
ならないので is_held_by_monster() に改名する。
Habu [Fri, 3 Sep 2021 02:17:35 +0000 (11:17 +0900)]
[Refactor] object_is_cursed() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 02:04:34 +0000 (11:04 +0900)]
[Refactor] object_is_broken() を object_type のメンバ関数化
Habu [Fri, 3 Sep 2021 01:43:26 +0000 (10:43 +0900)]
[Refactor] object_is_valid() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 17:12:46 +0000 (02:12 +0900)]
[Refactor] アーティファクト関連の object_is_foobar() を object_type のメンバ関数化
- object_is_artifact
- object_is_fixed_artifact
- object_is_random_artifact
- object_is_nameless
Habu [Thu, 2 Sep 2021 17:02:33 +0000 (02:02 +0900)]
[Refactor] object_is_smith() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:59:23 +0000 (01:59 +0900)]
[Refactor] object_is_melee_ammo() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:47:49 +0000 (01:47 +0900)]
[Refactor] object_is_ego() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:44:16 +0000 (01:44 +0900)]
[Refactor] object_is_rare() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:36:28 +0000 (01:36 +0900)]
[Refactor] object_is_convertible() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:33:15 +0000 (01:33 +0900)]
[Refactor] object_is_ammo() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:22:34 +0000 (01:22 +0900)]
[Refactor] object_allow_two_hands_wielding() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:15:44 +0000 (01:15 +0900)]
[Refactor] object_*_enchant_*() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 16:03:17 +0000 (01:03 +0900)]
[Refactor] object_is_mochikae() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 15:56:53 +0000 (00:56 +0900)]
[Refactor] object_is_boomerang() を object_type のメンバ関数化
is_boomerang では意味が通じにくいので、is_throwable に改名する。
Habu [Thu, 2 Sep 2021 15:50:45 +0000 (00:50 +0900)]
[Refactor] object_is_broken_weapon() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 15:48:56 +0000 (00:48 +0900)]
[Refactor] object_is_orthodox_melee_weapons() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 15:44:16 +0000 (00:44 +0900)]
[Refactor] object_is_equipment() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 15:38:51 +0000 (00:38 +0900)]
[Refactor] object_is_wearable() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 15:25:04 +0000 (00:25 +0900)]
[Refactor] object_is_melee_weapon() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 15:15:27 +0000 (00:15 +0900)]
[Refactor] 両手の装備にアクセスするポインタ変数を使用する
何度も creature_ptr->inventory_list[INVEN_*_HAND] が出てきて読みづらい
ので、一旦ポインタ変数に受けておき、ポインタ変数経由でアクセスする。
Habu [Thu, 2 Sep 2021 14:59:41 +0000 (23:59 +0900)]
[Refactor] object_is_weapon_armour_ammo() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 14:54:58 +0000 (23:54 +0900)]
[Refactor] object_is_weapon_ammo() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 14:50:15 +0000 (23:50 +0900)]
[Refactor] object_is_weapon() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 14:16:39 +0000 (23:16 +0900)]
[Refactor] object_is_armor() を object_type のメンバ関数化
Habu [Thu, 2 Sep 2021 14:13:21 +0000 (23:13 +0900)]
[Feature] FuncItemTesterにメンバ関数ポインタを引数に受け取るコンストラクタを追加
FuncItemTesterクラスにobject_typeのメンバ関数ポインタを受け取る
コンストラクタを追加する。
このコンストラクタで構築されたFuncItemTesterオブジェクトは、okay
関数の引数で受け取ったobject_typeオブジェクトに対し上記のメンバ
関数ポインタによりメンバ関数を呼び出し、その戻り値によりアイテムが
条件に合うかどうかをテストする。
Hourier [Thu, 2 Sep 2021 13:19:28 +0000 (22:19 +0900)]
Merge pull request #1428 from Hourier/feature/Remove-Unused-Configuration
Windowsとそれ以外で使用するプリプロを分ける
Hourier [Thu, 2 Sep 2021 13:14:04 +0000 (22:14 +0900)]
Merge pull request #1443 from Hourier/feature/Fix-Riding-Flag
乗馬中に「乗馬にふさわしくない武器」を判定するルーチンの修正
Hourier [Thu, 2 Sep 2021 12:59:07 +0000 (21:59 +0900)]
[Refactor] #1441 Added const keyword to is_lance()
Hourier [Thu, 2 Sep 2021 11:46:48 +0000 (20:46 +0900)]
[Refactor] #1441 Renamed riding_wield to is_icky_riding_wield and relating functions
Hourier [Thu, 2 Sep 2021 11:10:58 +0000 (20:10 +0900)]
[Refactor] #1441 Added judgement for empty-hands in has_riding_wield_weapon()
Hourier [Thu, 2 Sep 2021 10:48:23 +0000 (19:48 +0900)]
[Refactor] #1441 Reshaped player-status-flags.cpp
Hourier [Thu, 2 Sep 2021 10:43:33 +0000 (19:43 +0900)]
[Refactor] #1441 Reshaped ther caller functions of is_lance()
Hourier [Thu, 2 Sep 2021 10:14:46 +0000 (19:14 +0900)]
[Fix] #1441 Defined is_lance() into object_type
Habu [Tue, 31 Aug 2021 15:46:53 +0000 (00:46 +0900)]
Merge pull request #1438 from habu1010/feature/refactor-item-tester-clone-with-crtp
[Refactor] ItemTester の clone() メンバ関数をCRTPで共通化
Hourier [Mon, 30 Aug 2021 10:00:19 +0000 (19:00 +0900)]
[Fix] #1417 Removed error message regarding Shift-JIS from '#ifdef EUC / #else' block
Hourier [Sat, 28 Aug 2021 11:24:50 +0000 (20:24 +0900)]
[Refactor] #1417 Removed unused preproessor 'ISC'
Hourier [Sat, 28 Aug 2021 11:23:23 +0000 (20:23 +0900)]
[Refactor] #1417 Removed todo and added comment in h-config.h
Hourier [Fri, 27 Aug 2021 15:45:29 +0000 (00:45 +0900)]
[Refactor] #1417 Reshaped h-config.h
Hourier [Fri, 27 Aug 2021 12:34:10 +0000 (21:34 +0900)]
[Refactor] #1417 Moved non-Windows preprocessors into else of #ifdef WINDOWS
Hourier [Fri, 27 Aug 2021 12:26:56 +0000 (21:26 +0900)]
[Refactor] #1417 Simplified preprocessors in h-config.h
Hourier [Thu, 26 Aug 2021 14:18:03 +0000 (23:18 +0900)]
[Refactor] #1417 Removed unused preprocessors
Hourier [Thu, 26 Aug 2021 13:43:17 +0000 (22:43 +0900)]
[Refactor] #1417 Reshaped h-config.h automtically
Habu [Sun, 29 Aug 2021 15:08:26 +0000 (00:08 +0900)]
[Refactor] ItemTester の clone() メンバ関数をCRTPで共通化
ItemTesterの各派生クラスで clone() メンバ関数の実装が繰り返されている。
DRYの原則に従い、これらの実装をCuriously Recurring Template Pattern
によって共通化する。
火炎の飛竜 [Sat, 28 Aug 2021 12:58:13 +0000 (21:58 +0900)]
Merge pull request #1407 from Slimebreath6078/feature/Refactor_item_destroy
アイテム破損関数のクラス化
Habu [Sat, 28 Aug 2021 10:37:08 +0000 (19:37 +0900)]
Merge pull request #1430 from habu1010/feature/fix-sub-window-item-simbol-2
サブウィンドウでのアイテム選択記号の絞り込みを復活させる
Habu [Sat, 28 Aug 2021 10:15:08 +0000 (19:15 +0900)]
[Fix] サブウィンドウでアイテムの絞り込み対象を表示
ItemTester によるリファクタリング以前は、コマンドの対象となるアイテムの
選択記号だけがサブウィンドウに表示されるようになっていた。
グローバル変数の廃止によりこれが機能しなくなっていたので、サブウィンドウ
専用の ItemTester オブジェクトを用意してそれを適宜設定するようにする。
設定には専用のクラス FixItemTesterSetter を使用する。
Habu [Sat, 28 Aug 2021 10:11:54 +0000 (19:11 +0900)]
[Feature] ItemTesterオブジェクトを複製するメソッド
ItemTesterオブジェクトを複製するメソッド ItemTester::clone() を追加する。
オブジェクトは std::unique_ptr<ItemTester> として複製される。
Slimebreath6078 [Sat, 28 Aug 2021 10:07:23 +0000 (19:07 +0900)]
デストラクタはpublicに
Habu [Sat, 28 Aug 2021 07:42:55 +0000 (16:42 +0900)]
Merge pull request #1427 from habu1010/feature/fix-sub-window-item-simbol
[Fix] #1426 サブウィンドウのアイテム欄の記号が表示されない
Habu [Sat, 28 Aug 2021 07:29:46 +0000 (16:29 +0900)]
[Fix] #1426 サブウィンドウのアイテム欄の記号が表示されない
サブウィンドウにアイテムや装備の一覧を表示する関数 fix_\* を
リファクタリング時に TvalItemTester を使用するように修正したが、
第2引数は現状 TV_NONE で呼び出されておりこれはリファクタリング
前の仕様ではすべてのアイテムにマッチするというものだった。
そもそも第2引数が TV_NONE 固定なのに用意された経緯は不明だが、
とりあえずこれらの関数では ItemTester を受け取るように修正し、
呼び出し側は ItemTester に AllMatchItemTester を設定してリファクタ
リング以前の仕様に従うようにする。
Hourier [Sat, 28 Aug 2021 04:36:35 +0000 (13:36 +0900)]
Merge pull request #1425 from Hourier/feature/Refactor-Report-Score
report_score() の型リファクタリング
確認ありがとうございました
Hourier [Sat, 28 Aug 2021 03:49:34 +0000 (12:49 +0900)]
[Refactor] Reshaped report_score()
Hourier [Sat, 28 Aug 2021 03:45:22 +0000 (12:45 +0900)]
[Refactor] Changed return type of report_score() from errr to bool
Habu [Fri, 27 Aug 2021 23:45:30 +0000 (08:45 +0900)]
Merge pull request #1422 from habu1010/feature/destroy-global-item-tester
グローバル変数 item_tester_hook を廃止する
Slimebreath6078 [Fri, 27 Aug 2021 19:34:24 +0000 (04:34 +0900)]
[Refactor]can_destroy()のintをboolに変更
Slimebreath6078 [Fri, 27 Aug 2021 11:39:28 +0000 (20:39 +0900)]
[Refactor]参照を使ってinventory-damage()から関数ポインタをなくす
Habu [Thu, 26 Aug 2021 13:36:04 +0000 (22:36 +0900)]
[Refactor] ItemTesterクラスを細分化
ItemTesterクラスを抽象基底クラスとして、以下の子クラスに細分化する。
- TvalItemTester: 指定したtvalのアイテムにマッチ
- FuncItemTester: 指定した関数を呼び出した結果がtrueの物にマッチ
- AllMatchItemTester: すべてのアイテムにマッチ
既存のアイテム関連関数でマッチさせる引数としてtvalを渡していたものは
引数を削除し上記のTvalItemTesterでマッチさせるようにする。
Habu [Thu, 26 Aug 2021 13:36:04 +0000 (22:36 +0900)]
[Refactor] player_type::tval_ammo を tval_type 型にする
byte型ではなくtval_type型が正しい。
合わせて bow_tval_ammo の戻り値の型も tval_type にする。
Slimebreath6078 [Sun, 22 Aug 2021 09:32:01 +0000 (18:32 +0900)]
[Refactor]メンバ関数をconstにすると共にset_destroy()は適切ではないためcan_destroy()に変更
Slimebreath6078 [Fri, 27 Aug 2021 11:50:17 +0000 (20:50 +0900)]
[Refactor]コンストラクタ及びデストラクタをprotected にする
Slimebreath6078 [Sun, 22 Aug 2021 07:48:46 +0000 (16:48 +0900)]
[Refactor]player_ptr* を削除
Slimebreath6078 [Fri, 27 Aug 2021 11:38:08 +0000 (20:38 +0900)]
[Refactor]set_****_destroy()が同じ動きなのでクラス化
Habu [Thu, 26 Aug 2021 13:36:04 +0000 (22:36 +0900)]
[Refactor] グローバル関数ポインタ item_tester_hook を廃止し ItemTester クラスを導入
条件に合ったアイテムを抽出する時に条件判定関数をセットするグローバル
関数ポインタ item_tester_hook を廃止する。
代わりに ItemTester クラスを導入し、各関数の引数に渡すようにする。
Habu [Thu, 26 Aug 2021 12:59:53 +0000 (21:59 +0900)]
Merge pull request #1412 from habu1010/feature/remove-unnecessary-player-type-argument
[Refactor] オブジェクト判定関数から不要なplayer_type引数を削除
Habu [Tue, 24 Aug 2021 11:56:59 +0000 (20:56 +0900)]
[Refactor] 不要になった player_type 引数を削除
Habu [Tue, 24 Aug 2021 12:17:40 +0000 (21:17 +0900)]
[Refactor] item_tester_hook に渡す関数の object_type 引数に const 修飾子を付ける
item_tester_hook はオブジェクトの状態を変更しないはずなので、
引数の object_type* に const 修飾子を付ける。
item_tester_hook から呼び出される関数にも const 修飾子を波及させる。
Habu [Tue, 24 Aug 2021 12:17:40 +0000 (21:17 +0900)]
[Refactor] オブジェクト判定関数から不要なplayer_type引数を削除
オブジェクトを判定する関数で item_tester_hook に渡すだけのために
受け取っている player_type 引数を削除する。
item_tester_hook に渡すときはインターフェースを適合させるラッパー
関数を返す make_item_tester を呼ぶ。
Habu [Tue, 24 Aug 2021 12:03:24 +0000 (21:03 +0900)]
Merge pull request #1406 from habu1010/feature/enum-to-integral-function
#1404 列挙型の値を基底型の整数値に変換する関数の導入
Habu [Sun, 22 Aug 2021 12:33:36 +0000 (21:33 +0900)]
[Refactor] 既存の列挙型から整数値のstatic_castをenum2iに置換
Habu [Sun, 22 Aug 2021 12:04:31 +0000 (21:04 +0900)]
[Feature] #1404 列挙型の値を基底型の整数値に変換する関数
Deskull [Sun, 22 Aug 2021 10:25:48 +0000 (19:25 +0900)]
Merge pull request #1402 from sikabane-works/release/3.0.0Alpha36
[Release] 3.0.0Alpha36
Deskull [Sun, 22 Aug 2021 09:49:22 +0000 (18:49 +0900)]
[Release] 3.0.0Alpha36
Hourier [Sun, 22 Aug 2021 08:38:16 +0000 (17:38 +0900)]
Merge pull request #1399 from Hourier/feature/Refactor-Race-Xtra
確認ありがとうございました!
Hourier [Sun, 22 Aug 2021 05:20:40 +0000 (14:20 +0900)]
[Refactor] #1395 Removed r_xtra2
Hourier [Sun, 22 Aug 2021 05:03:34 +0000 (14:03 +0900)]
[Refactor] #1395 Renamed r_xtra1 to r_can_evolve and changed type from byte to bool
火炎の飛竜 [Sat, 21 Aug 2021 10:47:59 +0000 (19:47 +0900)]
Merge pull request #1391 from Slimebreath6078/feature/Enhance_sniper_FIRE_and_COLD
[Feature]スナイパーの火炎/冷気の矢が弱点の敵に対して更に高倍率に
Slimebreath6078 [Mon, 16 Aug 2021 11:13:35 +0000 (20:13 +0900)]
[Feature]エゴ矢の倍率を参考に、弱点の場合小数切り捨てで更に1.5倍になるように
Habu [Sat, 21 Aug 2021 05:21:26 +0000 (14:21 +0900)]
Merge pull request #1388 from habu1010/feature/fix-prevent-second-black-market
[Fix] ブラックマーケットが複数生成されないようにするコードが機能していない
Habu [Sat, 21 Aug 2021 05:12:18 +0000 (14:12 +0900)]
[Refactor] 2軒目以降のブラックマーケットを生成しないようにするコードを削除
今後とも地下街を同一フロアに2つ以上生成する事はなさそうなので、
ブラックマーケットが2軒生成される事は無いと判断し当該コードを削除する。