OSDN Git Service

hengbandforosx/hengbandosx.git
2 years agoMerge pull request #2461 from sikabane-works/release/3.0.0Alpha57 3.0.0Alpha57
Deskull [Sun, 27 Mar 2022 13:52:12 +0000 (22:52 +0900)]
Merge pull request #2461 from sikabane-works/release/3.0.0Alpha57

Release/3.0.0 alpha57

2 years ago[Release] 3.0.0Alpha57
Deskull [Sun, 27 Mar 2022 13:39:46 +0000 (22:39 +0900)]
[Release] 3.0.0Alpha57

2 years agoMerge pull request #2451 from Hourier/Make-ItemMagicApplier-Class
Hourier [Sun, 27 Mar 2022 12:33:22 +0000 (21:33 +0900)]
Merge pull request #2451 from Hourier/Make-ItemMagicApplier-Class

apply-magic.cpp/h をItemMagicApplier クラスとして再定義し、各アイテム種別へapply_magic() を適用していた箇所をファクトリ化した

2 years agoMerge pull request #2453 from habu1010/feature/fix-super-ray-draw-pict-and-affect...
Habu [Sun, 27 Mar 2022 12:31:39 +0000 (21:31 +0900)]
Merge pull request #2453 from habu1010/feature/fix-super-ray-draw-pict-and-affect-order

fix: スーパーレイの不自然な挙動を自然な感じにする

2 years agoMerge pull request #2455 from dis-/feature/fix-magic-eating
dis- [Sun, 27 Mar 2022 12:18:18 +0000 (21:18 +0900)]
Merge pull request #2455 from dis-/feature/fix-magic-eating

[Fix] 充填魔力吸収打撃でpvalが負値になる

2 years ago[Fix] スーパーレイの反射前のビームも挙動を統一する
Habu [Sun, 27 Mar 2022 11:51:06 +0000 (20:51 +0900)]
[Fix] スーパーレイの反射前のビームも挙動を統一する

スーパーレイの反射前のビームも、最初に描画を終えた後に効果を発動させるようにする。
効果を及ぼす処理は反射前と反射後で共通とするので、関数にまとめる。

2 years ago[Fix] スーパーレイの不自然な挙動を自然な感じにする
Habu [Sat, 26 Mar 2022 19:52:02 +0000 (04:52 +0900)]
[Fix] スーパーレイの不自然な挙動を自然な感じにする

- 8方向同時にビームの描画を行う
- ビームの効果の発動は描画完了後にまとめて行う
- 中央から外に向かって8方向同時に順番に効果を及ぼすようにする
- 中央の同距離からのマスに効果を及ぼす順序はランダムにする
- 同マスで効果を及ぼす順序は、地形→床上アイテム→モンスターの順序にする

詳細:Issue #2452

2 years ago[Fix] 充填魔力吸収打撃でpvalが負値になる
dis- [Sat, 26 Mar 2022 06:10:35 +0000 (15:10 +0900)]
[Fix] 充填魔力吸収打撃でpvalが負値になる

Issue #2454の原因。has_magic_mastery()がtrueのケースで吸収量が対象魔法道具の現在値を越えることがある。
現在値を越えないように修正。
ついでに魔法道具を空にされたとき「あなたの魔法を操る力がその一部を取り返した」メッセージが出るのは不自然なので修正。

2 years ago[Refactor] #2444 ItemKindTypeの順番にcase文をソートした
Hourier [Wed, 23 Mar 2022 09:58:39 +0000 (18:58 +0900)]
[Refactor] #2444 ItemKindTypeの順番にcase文をソートした

2 years ago[Refactor] #2444 宣言する必要のないデストラクタ群を削除した
Hourier [Tue, 22 Mar 2022 07:51:11 +0000 (16:51 +0900)]
[Refactor] #2444 宣言する必要のないデストラクタ群を削除した

2 years ago[Refactor] #2444 Separated set_fixed_artifact_generation_info() from execute() in...
Hourier [Tue, 22 Mar 2022 07:02:15 +0000 (16:02 +0900)]
[Refactor] #2444 Separated set_fixed_artifact_generation_info() from execute() in ItemMagicApplier

2 years ago[Refactor] #2444 不要なインクルードを除去し、作業完了につきtodoのDoxygenコメントを削除した
Hourier [Tue, 22 Mar 2022 06:48:49 +0000 (15:48 +0900)]
[Refactor] #2444 不要なインクルードを除去し、作業完了につきtodoのDoxygenコメントを削除した

2 years ago[Refactor] #2444 Separated apply_cursed() from execute() in ItemMagicApplier
Hourier [Tue, 22 Mar 2022 06:46:23 +0000 (15:46 +0900)]
[Refactor] #2444 Separated apply_cursed() from execute() in ItemMagicApplier

2 years ago[Refactor] #2444 Separated try_make_artifact() from execute() in ItemMagicApplier
Hourier [Tue, 22 Mar 2022 06:42:27 +0000 (15:42 +0900)]
[Refactor] #2444 Separated try_make_artifact() from execute() in ItemMagicApplier

2 years ago[Refactor] #2444 Separated calculate_rolls() from execute() in ItemMagicApplier
Hourier [Tue, 22 Mar 2022 06:36:25 +0000 (15:36 +0900)]
[Refactor] #2444 Separated calculate_rolls() from execute() in ItemMagicApplier

2 years ago[Refactor] #2444 Separated calculate_power() from execute() in ItemMagicApplier
Hourier [Tue, 22 Mar 2022 06:35:12 +0000 (15:35 +0900)]
[Refactor] #2444 Separated calculate_power() from execute() in ItemMagicApplier

2 years ago[Refactor] #2444 Separated calculate_chances() from execute() in ItemMagicApplier
Hourier [Tue, 22 Mar 2022 06:31:20 +0000 (15:31 +0900)]
[Refactor] #2444 Separated calculate_chances() from execute() in ItemMagicApplier

2 years ago[Refactor] #2444 item-magic-applier.cpp/h をクラス化した
Hourier [Tue, 22 Mar 2022 06:15:08 +0000 (15:15 +0900)]
[Refactor] #2444 item-magic-applier.cpp/h をクラス化した

2 years ago[Refactor] #2444 Reshaped apply_magic_to_object()
Hourier [Tue, 22 Mar 2022 06:02:52 +0000 (15:02 +0900)]
[Refactor] #2444 Reshaped apply_magic_to_object()

2 years ago[Refactor] #2444 EnchanterFactoryクラスを作成し、そこへEnchanterクラスの生成処理を移した
Hourier [Tue, 22 Mar 2022 05:53:42 +0000 (14:53 +0900)]
[Refactor] #2444 EnchanterFactoryクラスを作成し、そこへEnchanterクラスの生成処理を移した

2 years ago[Refactor] #2444 Renamed apply-magic.* to item-magic-applier.*
Hourier [Tue, 22 Mar 2022 05:32:38 +0000 (14:32 +0900)]
[Refactor] #2444 Renamed apply-magic.* to item-magic-applier.*

2 years agoMerge pull request #2448 from Slimebreath6078/feature/Enum_Classfy_mind_numbers_h
火炎の飛竜 [Wed, 23 Mar 2022 14:37:34 +0000 (23:37 +0900)]
Merge pull request #2448 from Slimebreath6078/feature/Enum_Classfy_mind_numbers_h

mind-numbers.h をenum class 化

2 years agoMerge pull request #2436 from habu1010/feature/fix-x11-keypress-crash-when-initializing
Habu [Wed, 23 Mar 2022 12:02:32 +0000 (21:02 +0900)]
Merge pull request #2436 from habu1010/feature/fix-x11-keypress-crash-when-initializing

[Fix] X11版で起動直後の初期化中にキーを押すとクラッシュする

2 years agoMerge pull request #2446 from habu1010/feature/delete-global-cur_store_num
Habu [Wed, 23 Mar 2022 12:02:22 +0000 (21:02 +0900)]
Merge pull request #2446 from habu1010/feature/delete-global-cur_store_num

[Refactor] グローバル変数 cur_store_num を削除する

2 years agoMerge pull request #2447 from habu1010/feature/rand-shuffle
Habu [Wed, 23 Mar 2022 12:02:07 +0000 (21:02 +0900)]
Merge pull request #2447 from habu1010/feature/rand-shuffle

イテレータ範囲の要素をシャッフルする関数 rand_shuffle を実装

2 years agoMerge pull request #2443 from Hourier/Divide-WeaponEnchanters
Hourier [Wed, 23 Mar 2022 10:59:18 +0000 (19:59 +0900)]
Merge pull request #2443 from Hourier/Divide-WeaponEnchanters

SwordEnchanter を分離してPolearmEnchanter とHaftedEnchanter を定義した

2 years ago[Refactor] #2425 decide_skip() を武器種別ごとに分離した
Hourier [Tue, 22 Mar 2022 02:59:29 +0000 (11:59 +0900)]
[Refactor] #2425 decide_skip() を武器種別ごとに分離した

2 years ago[Refactor] #2425 SwordEnchanterに残っていた不要な条件分岐を削除した
Hourier [Tue, 22 Mar 2022 02:31:15 +0000 (11:31 +0900)]
[Refactor] #2425 SwordEnchanterに残っていた不要な条件分岐を削除した

2 years ago[Refactor] #2425 PolearmEnchanterを定義し、SwordEnchanterから必要な処理を分離した
Hourier [Tue, 22 Mar 2022 02:27:37 +0000 (11:27 +0900)]
[Refactor] #2425 PolearmEnchanterを定義し、SwordEnchanterから必要な処理を分離した

2 years ago[Refactor] #2425 HaftedEnchanterを定義し、SwordEnchanterから必要な処理を分離した
Hourier [Tue, 22 Mar 2022 02:21:37 +0000 (11:21 +0900)]
[Refactor] #2425 HaftedEnchanterを定義し、SwordEnchanterから必要な処理を分離した

2 years ago[Refactor] #2425 剣・鈍器・長柄/斧の共通処理をMeleeWeaponEnchanterへ移した
Hourier [Tue, 22 Mar 2022 02:05:46 +0000 (11:05 +0900)]
[Refactor] #2425 剣・鈍器・長柄/斧の共通処理をMeleeWeaponEnchanterへ移した

2 years ago[Refactor] #2425 Deifined AbstractMeleeWeaponEnchanter
Hourier [Sat, 19 Mar 2022 00:22:14 +0000 (09:22 +0900)]
[Refactor] #2425 Deifined AbstractMeleeWeaponEnchanter

2 years ago[Refactor] mind_ninja_type をパスカルケース化
Slimebreath6078 [Mon, 21 Mar 2022 12:52:09 +0000 (21:52 +0900)]
[Refactor] mind_ninja_type をパスカルケース化

2 years ago[Refactor] mind_ninja_type を enum class 化
Slimebreath6078 [Mon, 21 Mar 2022 12:51:36 +0000 (21:51 +0900)]
[Refactor] mind_ninja_type を enum class 化

2 years ago[Refactor] mind_mirror_master をパスカルケース化
Slimebreath6078 [Mon, 21 Mar 2022 12:48:59 +0000 (21:48 +0900)]
[Refactor] mind_mirror_master をパスカルケース化

2 years ago[Refactor] mind_mirror_master_type を enum class 化
Slimebreath6078 [Mon, 21 Mar 2022 12:47:30 +0000 (21:47 +0900)]
[Refactor] mind_mirror_master_type を enum class 化

2 years ago[Refactor] mind_mindcrafter_type をパスカルケース化
Slimebreath6078 [Mon, 21 Mar 2022 12:45:09 +0000 (21:45 +0900)]
[Refactor] mind_mindcrafter_type をパスカルケース化

2 years ago[Refactor] mind_mindcrafter_type を enum class 化
Slimebreath6078 [Mon, 21 Mar 2022 12:44:14 +0000 (21:44 +0900)]
[Refactor] mind_mindcrafter_type を enum class 化

2 years ago[Refactor] mind_force_trainer をパスカルケース化
Slimebreath6078 [Mon, 21 Mar 2022 12:32:53 +0000 (21:32 +0900)]
[Refactor] mind_force_trainer をパスカルケース化

2 years ago[Refactor] mind_force_trainer_type を enum class 化
Slimebreath6078 [Mon, 21 Mar 2022 12:32:01 +0000 (21:32 +0900)]
[Refactor] mind_force_trainer_type を enum class 化

2 years ago[Refactor] mind_berserker_type をパスカルケース化
Slimebreath6078 [Mon, 21 Mar 2022 10:58:42 +0000 (19:58 +0900)]
[Refactor] mind_berserker_type をパスカルケース化

2 years ago[Refactor] mind_berserker_type をenum class化
Slimebreath6078 [Mon, 21 Mar 2022 10:57:53 +0000 (19:57 +0900)]
[Refactor] mind_berserker_type をenum class化

2 years ago[Refactor] ポーカーの山札のシャッフルを rand_shuffle で行う
Habu [Tue, 22 Mar 2022 14:12:11 +0000 (23:12 +0900)]
[Refactor] ポーカーの山札のシャッフルを rand_shuffle で行う

2 years ago[Refactor] アイテムのフレーバーのシャッフルを rand_shuffule で行う
Habu [Tue, 22 Mar 2022 14:09:25 +0000 (23:09 +0900)]
[Refactor] アイテムのフレーバーのシャッフルを rand_shuffule で行う

アイテムのフレーバーのシャッフル処理を前コミットで実装した rand_shuffule 関数で置き
換える。

2 years ago[Feature] イテレータ範囲の要素をシャッフルする関数
Habu [Tue, 22 Mar 2022 14:09:25 +0000 (23:09 +0900)]
[Feature] イテレータ範囲の要素をシャッフルする関数

引数で与えられたイテレータ範囲の要素をシャッフルする関数 rand_shuffle() を追加する。
標準ライブラリに同様の機能を提供する std::shuffle() があるが、基本的にゲームの RNG
オブジェクトはカプセル化しておきたいので、イテレータ範囲のみの引数でシャッフルできる
関数として別途実装しておく。

また、イテレータの指す要素が std::reference_wrapper の場合は、要素が保持している
参照先の値をシャッフルする。
シャッフルしたい要素そのものが配列ではない場合に、それぞれの要素を指す
std::reference_wrapper 配列を作ってシャッフルする用途を想定する。

2 years ago[Refactor] グローバル変数 cur_store_num を削除する
Habu [Tue, 22 Mar 2022 13:46:41 +0000 (22:46 +0900)]
[Refactor] グローバル変数 cur_store_num を削除する

基本的に cur_store_num は現在プレイヤーが居る店舗を持つグローバル変数のようだが、
すべて引数で渡せばグローバル変数にする必要が見当たらない。
例外としてプレイヤーが店舗に居ない時に呼ばれる store_shuffle() で cur_store_num
に店主入れ替えを行った店舗の番号を入れているようだが、これにしても次にプレイヤーが店舗に
入った時に更新されるので意味がなさそう。
したがってグローバル変数 cur_store_num を完全に削除する。

副作用として、グローバル変数とローカル変数の取り違いが原因で発生しているバグ #2442 も
修正される。

2 years agoMerge pull request #2429 from habu1010/feature/vector-dungeon-r_char
Habu [Tue, 22 Mar 2022 13:56:56 +0000 (22:56 +0900)]
Merge pull request #2429 from habu1010/feature/vector-dungeon-r_char

[Fix] ダンジョンのモンスターシンボル制限の指定数の上限をなくす

2 years agoMerge pull request #2445 from Slimebreath6078/feature/Fix_monster_picking_item_bug
火炎の飛竜 [Tue, 22 Mar 2022 12:57:40 +0000 (21:57 +0900)]
Merge pull request #2445 from Slimebreath6078/feature/Fix_monster_picking_item_bug

モンスターのアイテムを拾う挙動のバグを修正

2 years ago[Refactor] 修正範囲内の型定義を適切なものに
Slimebreath6078 [Tue, 22 Mar 2022 12:52:29 +0000 (21:52 +0900)]
[Refactor] 修正範囲内の型定義を適切なものに

モンスターのアイテムを拾う処理の auto 型への置き換え、引数の const 化を施行

2 years ago[Refactor] 拾う処理で拾えるかを格納する変数 is_special_object を改名
Slimebreath6078 [Tue, 22 Mar 2022 11:38:39 +0000 (20:38 +0900)]
[Refactor] 拾う処理で拾えるかを格納する変数 is_special_object を改名

is_special_object はあまり適切でないため is_unpickable_object にした

2 years ago[Fix] モンスターがアイテムを拾う挙動がおかしいバグを修正
Slimebreath6078 [Tue, 22 Mar 2022 06:21:02 +0000 (15:21 +0900)]
[Fix] モンスターがアイテムを拾う挙動がおかしいバグを修正

2 years agoMerge pull request #2441 from backwardsEric/distcheck-monster-race-visual-flags
火炎の飛竜 [Mon, 21 Mar 2022 15:07:46 +0000 (00:07 +0900)]
Merge pull request #2441 from backwardsEric/distcheck-monster-race-visual-flags

Add monster-race-visual-flags.h to file list in src/Makefile.am so …

2 years agoAdd monster-race-visual-flags.h to file list in src/Makefile.am so "make DISTCHECK_CO...
Eric Branlund [Mon, 21 Mar 2022 14:53:40 +0000 (08:53 -0600)]
Add monster-race-visual-flags.h to file list in src/Makefile.am so "make DISTCHECK_CONFIGURE_FLAGS='--disable-japanese" distcheck" works.

2 years agoMerge pull request #2434 from habu1010/feature/refactor-print-bolt-pict
Habu [Mon, 21 Mar 2022 12:28:55 +0000 (21:28 +0900)]
Merge pull request #2434 from habu1010/feature/refactor-print-bolt-pict

[Refactor] ボルトの軌道の描画を関数化する

2 years agoMerge pull request #2437 from Slimebreath6078/feature/Refactor_mflag_wilderness
火炎の飛竜 [Mon, 21 Mar 2022 12:10:00 +0000 (21:10 +0900)]
Merge pull request #2437 from Slimebreath6078/feature/Refactor_mflag_wilderness

モンスターのフラグをまとめる(荒野)

2 years agoMerge pull request #2433 from Slimebreath6078/feature/Delete_mflag_eat_corpse
火炎の飛竜 [Mon, 21 Mar 2022 12:03:28 +0000 (21:03 +0900)]
Merge pull request #2433 from Slimebreath6078/feature/Delete_mflag_eat_corpse

モンスターの死体を食べた時の効果のフラグを削除した

2 years ago[Fix] X11版で起動直後の初期化中にキーを押すとクラッシュする
Habu [Mon, 21 Mar 2022 11:19:46 +0000 (20:19 +0900)]
[Fix] X11版で起動直後の初期化中にキーを押すとクラッシュする

X11版は入力したキーが Modifier キーで修飾されている場合は自動的にその組み合わせを
マクロに登録するという処理がなされている(そのような実装になっている詳細な理由は不明)。
Modifier キーとは Mod1 が Altキー、 Mod2 が NumLock キーにあたる。
したがって、NumLockがオンの状態では普通にキーを押しただけでマクロが自動的に登録される。
一方、起動直後はまだマクロ情報の配列変数(std::vector)の領域確保が完了しておらず、
マクロを登録しようとすると配列外アクセスを起こす。
結果として、起動直後の初期化中に NumLock がオンになった状態でなんらかのキーを入力する
とクラッシュを引き起こす。

該当のマクロ登録部でマクロの配列の領域が確保済みかどうかをチェックし、確保されていない
場合はマクロの登録をスキップするようにする。

2 years ago[Refactor] ダンジョンのモンスター出現フィルターに適用
Slimebreath6078 [Mon, 21 Mar 2022 10:51:05 +0000 (19:51 +0900)]
[Refactor] ダンジョンのモンスター出現フィルターに適用

2 years ago[Refactor] トークン定義を合わせる
Slimebreath6078 [Mon, 21 Mar 2022 10:45:53 +0000 (19:45 +0900)]
[Refactor] トークン定義を合わせる

2 years ago[Refactor] 荒野関連の出現フラグの再定義に合わせる
Slimebreath6078 [Mon, 21 Mar 2022 10:43:26 +0000 (19:43 +0900)]
[Refactor] 荒野関連の出現フラグの再定義に合わせる

2 years ago[Refactor] 荒野関連の出現フラグを再定義
Slimebreath6078 [Wed, 5 Jan 2022 03:36:53 +0000 (12:36 +0900)]
[Refactor] 荒野関連の出現フラグを再定義

2 years agoMerge pull request #2431 from habu1010/feature/fix-fuel-overflow
Habu [Sun, 20 Mar 2022 22:45:46 +0000 (07:45 +0900)]
Merge pull request #2431 from habu1010/feature/fix-fuel-overflow

[Fix] #2430 光源の残ターン数が負のオーバーフローを起こす

2 years ago[Refactor] ボルトの軌道の描画を関数化する
Habu [Sun, 20 Mar 2022 13:44:04 +0000 (22:44 +0900)]
[Refactor] ボルトの軌道の描画を関数化する

bolt_pict() で色と文字を選んで print_rel() で描画するという一連の処理を
print_bolt_pict() 関数にまとめる。
bolt_pict() は色と文字を uint16_t で返してマクロで分解するのをやめ、
std::pair<TERM_COLOR, char> を返すようにする。

2 years agoMerge pull request #2428 from Slimebreath6078/feature/Refactor_projection_path
火炎の飛竜 [Sun, 20 Mar 2022 12:57:26 +0000 (21:57 +0900)]
Merge pull request #2428 from Slimebreath6078/feature/Refactor_projection_path

projection_path をクラス化した

2 years ago[Fix] セーブファイル読み込み時に燃料が異常な残ターン数の場合強制的に 0 にする
Habu [Sun, 20 Mar 2022 12:39:19 +0000 (21:39 +0900)]
[Fix] セーブファイル読み込み時に燃料が異常な残ターン数の場合強制的に 0 にする

負のオーバーフローバグを起こしたセーブデータに対応するため、セーブファイルの読み込み時に
光源アイテムは残ターン数を調べて妥当な範囲(0~その光源のMAX残ターン)でなければ強制的に
残ターンを 0 にする。

2 years ago[Refactor] 機械的置き換えで r_info.txt から EAT_*** のフラグを削除
Slimebreath6078 [Sun, 20 Mar 2022 12:05:51 +0000 (21:05 +0900)]
[Refactor] 機械的置き換えで r_info.txt から EAT_*** のフラグを削除

これらは全て死体を食べた時の効果のフラグ

2 years ago[Refactor] モンスターの死体を食べた時の効果のフラグを定義ごと削除
Slimebreath6078 [Sun, 20 Mar 2022 11:50:58 +0000 (20:50 +0900)]
[Refactor] モンスターの死体を食べた時の効果のフラグを定義ごと削除

2 years ago[Refactor] モンスターフラグのフィルターから死体を食べた時の効果のフラグを削除
Slimebreath6078 [Sun, 20 Mar 2022 11:49:00 +0000 (20:49 +0900)]
[Refactor] モンスターフラグのフィルターから死体を食べた時の効果のフラグを削除

2 years ago[Refactor] 死体を食べる効果のトークン定義を削除
Slimebreath6078 [Sun, 20 Mar 2022 11:24:31 +0000 (20:24 +0900)]
[Refactor] 死体を食べる効果のトークン定義を削除

2 years ago[Refactor] シーカーレイ、スーパーレイの path_g を projection_path にする
Slimebreath6078 [Sat, 19 Mar 2022 05:03:43 +0000 (14:03 +0900)]
[Refactor] シーカーレイ、スーパーレイの path_g を projection_path にする

コードも大きく変わっているので注意

2 years ago[Refactor] シーカーレイ、スーパーレイのコード簡略化のため PROJECT_MIRROR を追加
Slimebreath6078 [Wed, 16 Mar 2022 10:26:20 +0000 (19:26 +0900)]
[Refactor] シーカーレイ、スーパーレイのコード簡略化のため PROJECT_MIRROR を追加

2 years ago[Refactor] path_g を projection_path クラスに変更
Slimebreath6078 [Wed, 16 Mar 2022 10:23:33 +0000 (19:23 +0900)]
[Refactor] path_g を projection_path クラスに変更

シーカーレイ、スーパーレイはコード簡略化するために別の処理が必要なのでこのコミットでは行わない

2 years ago[Refactor] メンバ関数を追加
Slimebreath6078 [Tue, 15 Mar 2022 14:40:07 +0000 (23:40 +0900)]
[Refactor] メンバ関数を追加

begin(), end(), last(), path_num() 関数を追加

2 years ago[Refactor] projection_path をクラスへ移す
Slimebreath6078 [Tue, 15 Mar 2022 14:06:16 +0000 (23:06 +0900)]
[Refactor] projection_path をクラスへ移す

2 years ago[Refactor] クラスを定義
Slimebreath6078 [Tue, 15 Mar 2022 13:30:02 +0000 (22:30 +0900)]
[Refactor] クラスを定義

2 years ago[Fix] #2430 光源の残ターン数が負のオーバーフローを起こす
Habu [Sun, 20 Mar 2022 02:09:07 +0000 (11:09 +0900)]
[Fix] #2430 光源の残ターン数が負のオーバーフローを起こす

モンスターの攻撃により光源の残ターン数が一時的に負の値になる事があるが、変数が符号なし
のため負のオーバーフローを起こす。
符号付きに修正する。

2 years ago[Fix] ダンジョンのモンスターシンボル制限の指定数の上限をなくす
Habu [Sat, 19 Mar 2022 17:20:56 +0000 (02:20 +0900)]
[Fix] ダンジョンのモンスターシンボル制限の指定数の上限をなくす

ダンジョンで生成されるモンスターのシンボル制限のデータを std::vector にし、現在4つ
までとなっている指定数の上限を撤廃する。

2 years agoMerge pull request #2426 from Slimebreath6078/feature/Refactor_lore_store_and_dungeon...
火炎の飛竜 [Sat, 19 Mar 2022 16:43:46 +0000 (01:43 +0900)]
Merge pull request #2426 from Slimebreath6078/feature/Refactor_lore_store_and_dungeon_mflag

思い出補完のカウントとダンジョンのモンスターフラグフィルターのコピペを低減

2 years ago[Refactor] 思い出補完処理のコピペを低減
Slimebreath6078 [Sat, 19 Mar 2022 08:58:47 +0000 (17:58 +0900)]
[Refactor] 思い出補完処理のコピペを低減

2 years ago[Refactor] ダンジョンの出現モンスターフィルター処理のコピペを低減
Slimebreath6078 [Sat, 19 Mar 2022 08:58:15 +0000 (17:58 +0900)]
[Refactor] ダンジョンの出現モンスターフィルター処理のコピペを低減

2 years agoMerge pull request #2423 from habu1010/feature/vector-artifact-drops
Habu [Fri, 18 Mar 2022 14:57:55 +0000 (23:57 +0900)]
Merge pull request #2423 from habu1010/feature/vector-artifact-drops

[Fix] 特定アーティファクトドロップのデータ数の制限をなくす

2 years agoMerge pull request #2404 from Hourier/Divide-WeaponEnchanter
Hourier [Fri, 18 Mar 2022 13:54:18 +0000 (22:54 +0900)]
Merge pull request #2404 from Hourier/Divide-WeaponEnchanter

WeaponEnchanter を武器種別ごとに分離した

2 years agoMerge pull request #2418 from habu1010/feature/refactor-message-func-arg-string-view
Habu [Fri, 18 Mar 2022 12:15:23 +0000 (21:15 +0900)]
Merge pull request #2418 from habu1010/feature/refactor-message-func-arg-string-view

[Refactor] メッセージ表示関連関数の引数の型を std::string_view にする

2 years ago[Fix] 特定アーティファクトドロップのデータ数の制限をなくす
Habu [Thu, 17 Mar 2022 15:19:04 +0000 (00:19 +0900)]
[Fix] 特定アーティファクトドロップのデータ数の制限をなくす

特定アーティファクトドロップのデータを std::vector で持つようにし、1体につき4種まで
の制限をなくす。
ほとんどのモンスターは特定アーティファクトドロップを持たないので、無駄なメモリ消費の削
減にもなる。
また、r_info.txt 上の特定アーティファクトドロップの定義が
A:artifact_idx:rarity:chance
となっているが、rarity はゲーム内で使用されておらず、紛らわしいので削除する。

2 years agoMerge pull request #2422 from Slimebreath6078/feature/fix_restrict_monster_to_dungeon
火炎の飛竜 [Thu, 17 Mar 2022 14:59:36 +0000 (23:59 +0900)]
Merge pull request #2422 from Slimebreath6078/feature/fix_restrict_monster_to_dungeon

ダンジョンで指定された条件とは違うモンスターが生成されることのあるバグを修正

2 years agoMerge pull request #2421 from habu1010/feature/vector-reinforces
Habu [Thu, 17 Mar 2022 14:33:20 +0000 (23:33 +0900)]
Merge pull request #2421 from habu1010/feature/vector-reinforces

[Fix] 指定護衛のデータ数の制限をなくす

2 years ago[Fix] ダンジョンで指定された条件と逆のモンスターが生成されてしまうバグを修正
Slimebreath6078 [Thu, 17 Mar 2022 12:30:29 +0000 (21:30 +0900)]
[Fix] ダンジョンで指定された条件と逆のモンスターが生成されてしまうバグを修正

2 years ago[Fix] 指定護衛のデータ数の制限をなくす
Habu [Thu, 17 Mar 2022 12:06:00 +0000 (21:06 +0900)]
[Fix] 指定護衛のデータ数の制限をなくす

指定護衛のデータを std::vector で持つようにし、1体につき6種までの制限を撤廃する。
ほとんどのモンスターは指定護衛を持たないので無駄なメモリ消費の削減にもなる。

2 years agoMerge pull request #2419 from habu1010/feature/fix-eat-magic-consume-message
Habu [Tue, 15 Mar 2022 14:09:40 +0000 (23:09 +0900)]
Merge pull request #2419 from habu1010/feature/fix-eat-magic-consume-message

[Fix] #2416 魔力食いを失敗した時のメッセージがおかしい

2 years ago[Fix] #2416 魔力食いを失敗した時のメッセージがおかしい
Habu [Tue, 15 Mar 2022 12:21:34 +0000 (21:21 +0900)]
[Fix] #2416 魔力食いを失敗した時のメッセージがおかしい

1本だけのスタックしていないアイテムから魔力食いをして失敗してアイテムが破壊された時、
「○○が何本壊れた!」と実態に合っていないメッセージが表示される事がある。
「○○が壊れた!」と正しいメッセージに修正する。

2 years ago[Refactor] msg_print に渡す引数の冗長なメンバ関数呼び出しを削除する
Habu [Mon, 14 Mar 2022 14:02:51 +0000 (23:02 +0900)]
[Refactor] msg_print に渡す引数の冗長なメンバ関数呼び出しを削除する

msg_print の引数の型を std::string_view にした事により不要になった const char*
型への変換を行うメンバ関数の呼び出しを削除する。

2 years ago[Refactor] メッセージ表示関連関数の引数の型を std::string_view にする
Habu [Sun, 13 Mar 2022 17:17:40 +0000 (02:17 +0900)]
[Refactor] メッセージ表示関連関数の引数の型を std::string_view にする

呼び出し側で const char*、std::string、std::string_view のどれでも渡せるように
するため、メッセージ表示関数 msg_print、msg_format およびメッセージログ追加関数
message_add の引数を const char* から std::string_view に変更する。
従来より msg_print を引数 nullptr で呼び出した時に特別な処理が行われるようになって
いるが、nullptr は std::string_view では受け取れないため、引数に std::nullptr_t
を受け取るオーバーロードを追加してこちらに引数 nullptr の時の処理を分離する。

2 years ago[Refactor] #2403 Renamed WeaponEnchanter to BowEnchanter
Hourier [Fri, 11 Mar 2022 13:55:46 +0000 (22:55 +0900)]
[Refactor] #2403 Renamed WeaponEnchanter to BowEnchanter

2 years ago[Refactor] #2403 Separated apply-magic-arrow.cpp/h from apply-magic.cpp
Hourier [Fri, 11 Mar 2022 13:51:57 +0000 (22:51 +0900)]
[Refactor] #2403 Separated apply-magic-arrow.cpp/h from apply-magic.cpp

2 years ago[Refactor] #2403 Separated apply-magic-digging.cpp/h from apply-magic.cpp
Hourier [Fri, 11 Mar 2022 13:45:36 +0000 (22:45 +0900)]
[Refactor] #2403 Separated apply-magic-digging.cpp/h from apply-magic.cpp

2 years ago[Refactor] #2403 Separated strengthen() from apply_magic()
Hourier [Fri, 11 Mar 2022 13:07:22 +0000 (22:07 +0900)]
[Refactor] #2403 Separated strengthen() from apply_magic()

2 years ago[Refactor] #2403 Reshaped SwordEnchanter
Hourier [Fri, 11 Mar 2022 13:04:21 +0000 (22:04 +0900)]
[Refactor] #2403 Reshaped SwordEnchanter

2 years ago[Refactor] #2403 Separated give_cursed() from apply_magic()
Hourier [Fri, 11 Mar 2022 13:01:28 +0000 (22:01 +0900)]
[Refactor] #2403 Separated give_cursed() from apply_magic()

2 years ago[Refactor] #2403 Separated give_ego_index() from apply_magic()
Hourier [Fri, 11 Mar 2022 12:58:41 +0000 (21:58 +0900)]
[Refactor] #2403 Separated give_ego_index() from apply_magic()

2 years ago[Refactor] #2403 WeaponEnchanter::apply_magic() にあった剣・鈍器・戦斧用の処理をSwordEnchanter::apply...
Hourier [Fri, 11 Mar 2022 12:50:49 +0000 (21:50 +0900)]
[Refactor] #2403 WeaponEnchanter::apply_magic() にあった剣・鈍器・戦斧用の処理をSwordEnchanter::apply_magic() に移した