OSDN Git Service

hengbandforosx/hengbandosx.git
2 years agoMerge pull request #1866 from sikabane-works/release/3.0.0Alpha46 3.0.0Alpha46
Deskull [Sun, 14 Nov 2021 13:38:21 +0000 (22:38 +0900)]
Merge pull request #1866 from sikabane-works/release/3.0.0Alpha46

Release/3.0.0 alpha46

2 years ago[Release] 3.0.0Alpha46
Deskull [Sun, 14 Nov 2021 13:20:55 +0000 (22:20 +0900)]
[Release] 3.0.0Alpha46

2 years agoMerge pull request #1863 from dis-/feature/fix-drop-amusement
dis- [Sun, 14 Nov 2021 06:41:35 +0000 (15:41 +0900)]
Merge pull request #1863 from dis-/feature/fix-drop-amusement

[Fix} 誰得の巻物で固定アーティファクトが生成されない

2 years ago[Fix} 誰得の巻物で固定アーティファクトが生成されない
dis- [Sun, 14 Nov 2021 05:42:22 +0000 (14:42 +0900)]
[Fix} 誰得の巻物で固定アーティファクトが生成されない

アーティファクトID取得ループでID取得ができなくなっていた。
IDを取得するように修正。

2 years agoMerge pull request #1862 from sikabane-works/feature/refactor-player-class
Deskull [Fri, 12 Nov 2021 14:48:14 +0000 (23:48 +0900)]
Merge pull request #1862 from sikabane-works/feature/refactor-player-class

[Refactor] struct player_type を class PlayerType に置換。

2 years ago[Refactor] struct player_type を class PlayerType に置換。
Deskull [Fri, 12 Nov 2021 14:29:27 +0000 (23:29 +0900)]
[Refactor] struct player_type を class PlayerType に置換。

2 years agoMerge pull request #1861 from dis-/feature/refactor-enum-class-format
dis- [Fri, 12 Nov 2021 13:39:45 +0000 (22:39 +0900)]
Merge pull request #1861 from dis-/feature/refactor-enum-class-format

了解です。一旦マージします。

2 years ago[Refactor] enum classの型名変更 WishResult -> WishResultType
dis- [Fri, 12 Nov 2021 07:18:35 +0000 (16:18 +0900)]
[Refactor] enum classの型名変更 WishResult -> WishResultType

#1824にて議論されていたフォーマット統一処理。
WishResultをWishResultTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 spoiler_output_status -> SpoilerOutputResultType
dis- [Fri, 12 Nov 2021 07:16:00 +0000 (16:16 +0900)]
[Refactor] enum classの型名変更 spoiler_output_status -> SpoilerOutputResultType

spoiler_output_statusをSpoilerOutputResultTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 SCREEN_LOAD_OPT -> ScreenLoadOptType
dis- [Fri, 12 Nov 2021 07:14:08 +0000 (16:14 +0900)]
[Refactor] enum classの型名変更 SCREEN_LOAD_OPT -> ScreenLoadOptType

#1824にて議論されていたフォーマット統一処理。
SCREEN_LOAD_OPTをScreenLoadOptTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 PlayerRaceFood -> PlayerRaceFoodType
dis- [Fri, 12 Nov 2021 07:12:45 +0000 (16:12 +0900)]
[Refactor] enum classの型名変更 PlayerRaceFood -> PlayerRaceFoodType

#1824にて議論されていたフォーマット統一処理。
PlayerRaceFoodをPlayerRaceFoodTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 PlayerRaceLife -> PlayerRaceLifeType
dis- [Fri, 12 Nov 2021 07:11:47 +0000 (16:11 +0900)]
[Refactor] enum classの型名変更 PlayerRaceLife -> PlayerRaceLifeType

#1824にて議論されていたフォーマット統一処理。
PlayerRaceLifeをPlayerRaceLifeTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 MonkStance -> MonkStanceType
dis- [Fri, 12 Nov 2021 07:09:27 +0000 (16:09 +0900)]
[Refactor] enum classの型名変更 MonkStance -> MonkStanceType

#1824にて議論されていたフォーマット統一処理。
MonkStanceをMonkStanceTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 SamuraiStance -> SamuraiStanceType
dis- [Fri, 12 Nov 2021 07:08:13 +0000 (16:08 +0900)]
[Refactor] enum classの型名変更 SamuraiStance -> SamuraiStanceType

#1824にて議論されていたフォーマット統一処理。
SamuraiStanceをSamuraiStanceTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 MagicalBrandEffect -> MagicalBrandEffectType
dis- [Fri, 12 Nov 2021 07:01:45 +0000 (16:01 +0900)]
[Refactor] enum classの型名変更 MagicalBrandEffect -> MagicalBrandEffectType

 #1824にて議論されていたフォーマット統一処理。
MagicalBrandEffectをMagicalBrandEffectTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 ElementRealm -> ElementRealmType
dis- [Fri, 12 Nov 2021 06:56:25 +0000 (15:56 +0900)]
[Refactor] enum classの型名変更 ElementRealm -> ElementRealmType

#1824にて議論されていたフォーマット統一処理。
ElementRealmをElementRealmTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 SmithCategory -> SmithCategoryType
dis- [Fri, 12 Nov 2021 06:52:36 +0000 (15:52 +0900)]
[Refactor] enum classの型名変更 SmithCategory -> SmithCategoryType

#1824にて議論されていたフォーマット統一処理。
SmithCategoryをSmithCategoryTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 SmithEffect -> SmithEffectType
dis- [Fri, 12 Nov 2021 06:51:29 +0000 (15:51 +0900)]
[Refactor] enum classの型名変更 SmithEffect -> SmithEffectType

#1824にて議論されていたフォーマット統一処理。
SmithEffectをSmithEffectTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 TRG -> ItemGenerationTraitType
dis- [Fri, 12 Nov 2021 06:48:33 +0000 (15:48 +0900)]
[Refactor] enum classの型名変更 TRG -> ItemGenerationTraitType

#1824にて議論されていたフォーマット統一処理。
TRGをItemGenerationTraitTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 SM -> MonsterSmartLearnType
dis- [Fri, 12 Nov 2021 06:46:56 +0000 (15:46 +0900)]
[Refactor] enum classの型名変更 SM -> MonsterSmartLearnType

#1824にて議論されていたフォーマット統一処理。
SMをMonsterSmartLearnTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 TRCS -> CurseSpecialTraitType
dis- [Fri, 12 Nov 2021 06:44:04 +0000 (15:44 +0900)]
[Refactor] enum classの型名変更 TRCS -> CurseSpecialTraitType

#1824にて議論されていたフォーマット統一処理。
TRCSをCurseSpecialTraitTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 TRC -> CurseTraitType
dis- [Fri, 12 Nov 2021 06:42:39 +0000 (15:42 +0900)]
[Refactor] enum classの型名変更 TRC -> CurseTraitType

#1824にて議論されていたフォーマット統一処理。
TRCをCurseTraitTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 MFLAG2 -> MonsterConstantFlagType
dis- [Fri, 12 Nov 2021 06:37:49 +0000 (15:37 +0900)]
[Refactor] enum classの型名変更 MFLAG2 -> MonsterConstantFlagType

#1824にて議論されていたフォーマット統一処理。
MFLAG2をMonsterConstantFlagTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 MFLAG -> MonsterTemporaryFlagType
dis- [Fri, 12 Nov 2021 06:36:24 +0000 (15:36 +0900)]
[Refactor] enum classの型名変更 MFLAG -> MonsterTemporaryFlagType

#1824にて議論されていたフォーマット統一処理。
MFLAGをMonsterTemporaryFlagTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 mind_kind_type -> MindKindType
dis- [Fri, 12 Nov 2021 06:34:29 +0000 (15:34 +0900)]
[Refactor] enum classの型名変更 mind_kind_type -> MindKindType

#1824にて議論されていたフォーマット統一処理。
mind_kind_typeをMindKindTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 FF -> FloorFeatureType
dis- [Fri, 12 Nov 2021 06:23:12 +0000 (15:23 +0900)]
[Refactor] enum classの型名変更 FF -> FloorFeatureType

FFをFloorFeatureTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 DF -> DungeonFeatureType
dis- [Fri, 12 Nov 2021 06:19:38 +0000 (15:19 +0900)]
[Refactor] enum classの型名変更 DF -> DungeonFeatureType

#1824にて議論されていたフォーマット統一処理。
DFをDungeonFeatureTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 MUTA -> PlayerMutationType
dis- [Fri, 12 Nov 2021 06:14:27 +0000 (15:14 +0900)]
[Refactor] enum classの型名変更 MUTA -> PlayerMutationType

 #1824にて議論されていたフォーマット統一処理。
MUTAをPlayerMutationTypeに名称変更する。

2 years ago[Refactor] enum classの型名変更 RF_ABILITY -> MonsterAbilityType
dis- [Fri, 12 Nov 2021 06:12:26 +0000 (15:12 +0900)]
[Refactor] enum classの型名変更 RF_ABILITY -> MonsterAbilityType

#1824にて議論されていたフォーマット統一処理。
RF_ABILITYをMonsterAbilityTypeに名称変更する。

2 years agoMerge pull request #1858 from dis-/feature/refactor-gf-attribute
dis- [Wed, 10 Nov 2021 12:31:59 +0000 (21:31 +0900)]
Merge pull request #1858 from dis-/feature/refactor-gf-attribute

[Refactor] enum spells-typeをenum class ATTRIBUTEに置換

2 years ago[Refactor] enum spells-typeをenum class AttributeTypeに置換
dis- [Tue, 9 Nov 2021 11:51:46 +0000 (20:51 +0900)]
[Refactor] enum spells-typeをenum class AttributeTypeに置換

enum classへの置換と必要なキャストを宣言した。
また、実態として呪文の種類を越えて汎用の属性定義になっているため
実態に合わせて名称を更新した。

2 years agoMerge pull request #1857 from sikabane-works/feature/monster-current-hp
Deskull [Tue, 9 Nov 2021 03:29:38 +0000 (12:29 +0900)]
Merge pull request #1857 from sikabane-works/feature/monster-current-hp

[Implement] 『手負いの熊』に適用された生成時初期HPを CURHP_* フラグで%指定できるように汎用化。

2 years ago[Implement] 『手負いの熊』に適用された生成時初期HPを CURHP_* フラグで%指定できるように汎用化。
Deskull [Mon, 8 Nov 2021 15:15:16 +0000 (00:15 +0900)]
[Implement] 『手負いの熊』に適用された生成時初期HPを CURHP_* フラグで%指定できるように汎用化。

2 years agoMerge pull request #1855 from dis-/feature/add-multiple-effect-for-mondeath
dis- [Mon, 8 Nov 2021 10:36:03 +0000 (19:36 +0900)]
Merge pull request #1855 from dis-/feature/add-multiple-effect-for-mondeath

[Feature] MonsterDamageProseccorに複合属性渡しを許可する

2 years ago[Feature] MonsterDamageProseccorに複合属性渡しを許可する
dis- [Mon, 8 Nov 2021 03:38:01 +0000 (12:38 +0900)]
[Feature] MonsterDamageProseccorに複合属性渡しを許可する

複数属性を持つ武器/射撃によるアタックを評価するためMDPを拡張した。
例示として実装しているメカジキだが、適当な棒など複数属性武器で攻撃した際に
該当武器に冷気ブランドが含まれていればドロップする実装となった。

2 years agoMerge pull request #1854 from dis-/feature/add-frozen-swordfish
dis- [Sun, 7 Nov 2021 15:29:56 +0000 (00:29 +0900)]
Merge pull request #1854 from dis-/feature/add-frozen-swordfish

[Feature] ★『レイトウメカジキ』の追加

2 years ago[Feature] ★『レイトウメカジキ』の追加
dis- [Sun, 7 Nov 2021 14:01:24 +0000 (23:01 +0900)]
[Feature] ★『レイトウメカジキ』の追加

要望のあった★の追加。
加えて、メカジキを冷気属性で倒したときに10%の確率でドロップするようにした。
条件ドロップの実装テストも兼ねて。

2 years agoMerge pull request #1853 from dis-/feature/get-mondamage-effect
dis- [Sun, 7 Nov 2021 12:48:17 +0000 (21:48 +0900)]
Merge pull request #1853 from dis-/feature/get-mondamage-effect

[Feature] モンスターにダメージを与えた際の属性を取得

2 years ago[Feature] モンスターにダメージを与えた際の属性を取得
dis- [Sun, 7 Nov 2021 10:48:05 +0000 (19:48 +0900)]
[Feature] モンスターにダメージを与えた際の属性を取得

MonsterDamageProcessorからダメージの属性を取得可能とした。
打撃/射撃に関しては既存の属性に該当しそうなもののみ暫定で定義した。
必要ならばスレイングに対して拡張する。

2 years agoMerge pull request #1852 from dis-/feature/refactor-rename-battleform
dis- [Sat, 6 Nov 2021 10:16:26 +0000 (19:16 +0900)]
Merge pull request #1852 from dis-/feature/refactor-rename-battleform

[Refactor] ソースコード内BattleForm表記をStance表記に統一

2 years ago[Refactor] ソースコード内BattleForm表記をStance表記に統一
dis- [Sat, 6 Nov 2021 08:13:18 +0000 (17:13 +0900)]
[Refactor] ソースコード内BattleForm表記をStance表記に統一

表記ブレの解決。renameのみで動作変更なし。

2 years agoMerge pull request #1849 from dis-/feature/add-self-damage-equipment
dis- [Sat, 6 Nov 2021 05:57:25 +0000 (14:57 +0900)]
Merge pull request #1849 from dis-/feature/add-self-damage-equipment

[Feature] 継続自傷ダメージ装備の導入

2 years ago[Feature] 継続自傷ダメージ装備の導入
dis- [Mon, 1 Nov 2021 08:56:57 +0000 (17:56 +0900)]
[Feature] 継続自傷ダメージ装備の導入

新パターンのデメリット装備として装備中ダメージを受け続けるものを導入する。
10ゲームターン毎にレベルと同値のダメージを受けるという重いデメリットを課す。
二重耐性+急回復で相殺でき、免疫があればデメリットを踏み倒すことが可能。
常用不可、短期決戦用の強力な装備を選択肢として提示することを期待する。
試験枠として★バルログの長ゴスモグのムチを強化してみた。

2 years agoMerge pull request #1848 from hengband/feature/refactor-SpellProcessType
Deskull [Mon, 1 Nov 2021 03:30:24 +0000 (12:30 +0900)]
Merge pull request #1848 from hengband/feature/refactor-SpellProcessType

[Refactor] spell_type 列挙体に enum をつけ SpellProcessType に改名

2 years ago[Refactor] spell_type 列挙帯に enum をつけ SpellProcessType に改名
Deskull [Sun, 31 Oct 2021 16:58:38 +0000 (01:58 +0900)]
[Refactor] spell_type 列挙帯に enum をつけ SpellProcessType に改名

2 years agoMerge pull request #1846 from sikabane-works/release/3.0.0Alpha45
Deskull [Sun, 31 Oct 2021 13:39:06 +0000 (22:39 +0900)]
Merge pull request #1846 from sikabane-works/release/3.0.0Alpha45

[Release] 3.0.0Alpha45

2 years agoMerge pull request #1847 from sikabane-works/release/3.0.0Alpha45 3.0.0Alpha45
Deskull [Sun, 31 Oct 2021 13:37:40 +0000 (22:37 +0900)]
Merge pull request #1847 from sikabane-works/release/3.0.0Alpha45

Release/3.0.0 alpha45

2 years ago[Release] 3.0.0Alpha45
Deskull [Sun, 31 Oct 2021 13:21:53 +0000 (22:21 +0900)]
[Release] 3.0.0Alpha45

2 years agoMerge pull request #1838 from sikabane-works/feature/refactor-monster_maxhp
Deskull [Sun, 31 Oct 2021 09:10:00 +0000 (18:10 +0900)]
Merge pull request #1838 from sikabane-works/feature/refactor-monster_maxhp

[Refactor] モンスターの限界最大HP(30000)がマジックナンバーになっていたのを const int に変更

2 years ago[Refactor] モンスターの限界最大HP(30000)がマジックナンバーになっていたのを constexpr int に変更
Deskull [Sat, 23 Oct 2021 13:10:17 +0000 (22:10 +0900)]
[Refactor] モンスターの限界最大HP(30000)がマジックナンバーになっていたのを constexpr int に変更

2 years agoMerge pull request #1836 from habu1010/feature/refactor-player-skill-rank-to-enum...
Habu [Sun, 31 Oct 2021 08:34:29 +0000 (17:34 +0900)]
Merge pull request #1836 from habu1010/feature/refactor-player-skill-rank-to-enum-class

[Refactor] 熟練度レベルの定数を enum class にする

2 years agoMerge pull request #1755 from Thujopsis/feature/add-monster-Rabbit-of-Caerbannog
Deskull [Sun, 31 Oct 2021 06:58:18 +0000 (15:58 +0900)]
Merge pull request #1755 from Thujopsis/feature/add-monster-Rabbit-of-Caerbannog

[Add] 『カルバノグの殺人兎』/ The Killer Rabbit of Caerbannog

2 years agoMerge pull request #1843 from dis-/feature/refactor-player-race
dis- [Sat, 30 Oct 2021 04:20:17 +0000 (13:20 +0900)]
Merge pull request #1843 from dis-/feature/refactor-player-race

[Refactor] 変身中の切り傷無効処理の可読性向上

2 years ago[Refactor] 変身中の切り傷無効処理の可読性向上
dis- [Sat, 30 Oct 2021 03:02:50 +0000 (12:02 +0900)]
[Refactor] 変身中の切り傷無効処理の可読性向上

PlayerRaceの内外に処理が散っていたのでPlayerRace内に処理を集約した。
また、関数名を実態に即したものに変更した。
ついでに類似のネーミングであったcan_resist_stun()もhas_stun_immunity()に変更。
いずれも動作変更は行わない。

2 years agoMerge pull request #1842 from dis-/feature/refactor-player-race
dis- [Fri, 29 Oct 2021 10:15:50 +0000 (19:15 +0900)]
Merge pull request #1842 from dis-/feature/refactor-player-race

[Refactor] PlayerRaceクラスに処理の集約

2 years ago[Refactor] PlayerRace().get_info()を使用した処理の明瞭化
dis- [Fri, 29 Oct 2021 09:42:23 +0000 (18:42 +0900)]
[Refactor] PlayerRace().get_info()を使用した処理の明瞭化

表題の通り、実装された関数を使用して可読性を向上させた。
動作変更はしていない。

2 years ago[Refactor] PlayerRaceクラスに速度腕力器用耐久の修正計算を集約
dis- [Fri, 29 Oct 2021 09:38:16 +0000 (18:38 +0900)]
[Refactor] PlayerRaceクラスに速度腕力器用耐久の修正計算を集約

表題の通り、PlayerRaceクラスに該当分の処理を集約した。

動作変更はしていない。

2 years agoMerge pull request #1840 from habu1010/feature/fix-chameleon-death
Habu [Thu, 28 Oct 2021 03:12:30 +0000 (12:12 +0900)]
Merge pull request #1840 from habu1010/feature/fix-chameleon-death

[Fix] カメレオンを倒した時に変身先のモンスターを倒した扱いになってしまう

2 years ago[Fix] カメレオンを倒した時に変身先のモンスターを倒した扱いになってしまう
Habu [Tue, 26 Oct 2021 14:55:05 +0000 (23:55 +0900)]
[Fix] カメレオンを倒した時に変身先のモンスターを倒した扱いになってしまう

リファクタリングによるエンバグが原因。
リファクタリング以前のコードでは倒したモンスターがカメレオンもしくはカメレオンの王だった
場合、r_ptr を real_r_ptr の戻り値で書き換えてから死亡後の一連の処理を行っていたが、
リファクタリングにより複数の関数に分割した時に r_ptr をそれぞれの関数で取得しなおす
ようにしており、その時に real_r_ptr を使用していないためカメレオンであることが考慮
されていない。
モンスター死亡時の一連の処理では real_r_ptr により r_ptr を取得するようにして、
リファクタリングによるエンバグ前の動作と同等になるように修正する。

2 years ago[Refactor] 熟練度レベルの定数を enum class にする
Habu [Tue, 26 Oct 2021 13:44:05 +0000 (22:44 +0900)]
[Refactor] 熟練度レベルの定数を enum class にする

リファクタリングの一環として既存の熟練度レベルを表す定数 EXP_LEVEL_* を
enum class にする。型名は PlayerSkillRank とし、関連する関数名も合わせて
変更する。
またこれに伴い、熟練度レベルを表す文字列をもつグローバルな配列変数を削除し、
PlayerSkill クラスの静的メンバ関数 skill_rank_name() を使用して取得する
ようにする。

2 years agoMerge pull request #1834 from habu1010/feature/refactor-flag-group-class
Habu [Tue, 26 Oct 2021 13:43:33 +0000 (22:43 +0900)]
Merge pull request #1834 from habu1010/feature/refactor-flag-group-class

FlagGroup クラスで EnumRange を受け取れるようにする

2 years agoMerge pull request #1833 from habu1010/feature/player-skill-class-refactor
Habu [Tue, 26 Oct 2021 13:43:16 +0000 (22:43 +0900)]
Merge pull request #1833 from habu1010/feature/player-skill-class-refactor

続 PlayerSkill クラスへのリファクタリング

2 years agoMerge pull request #1829 from sikabane-works/feature/refactor-rbe_type
Deskull [Sat, 23 Oct 2021 04:57:23 +0000 (13:57 +0900)]
Merge pull request #1829 from sikabane-works/feature/refactor-rbe_type

[Rafactor] RBE_TYPE を RaceBlowEffectType に改名して enum class 化。

2 years ago[Rafactor] RBE_TYPE を RaceBlowEffectType に改名して enum class 化。
Deskull [Thu, 21 Oct 2021 11:15:29 +0000 (20:15 +0900)]
[Rafactor] RBE_TYPE を RaceBlowEffectType に改名して enum class 化。

2 years agoMerge pull request #1835 from habu1010/feature/workflow-first-buildtest-by-clang
Habu [Fri, 22 Oct 2021 03:48:41 +0000 (12:48 +0900)]
Merge pull request #1835 from habu1010/feature/workflow-first-buildtest-by-clang

[Workflow] ビルドテストの順序を変更

2 years ago[Workflow] ビルドテストの順序を変更
Habu [Thu, 21 Oct 2021 16:24:31 +0000 (01:24 +0900)]
[Workflow] ビルドテストの順序を変更

- プリコンパイルヘッダを使用しないオプションを付けている
- 普段 clang でビルドしている開発者が居ない

などの理由で clang でのコンパイルでビルドテストに失敗する事が多いので、
失敗する時に結果がなるべく早く分かるように clang でのビルドテストを一番
最初に行うようにする。

2 years ago[Refactor] フラグの調査に EnumRange を使用する
Habu [Thu, 21 Oct 2021 15:50:01 +0000 (00:50 +0900)]
[Refactor] フラグの調査に EnumRange を使用する

EnumRange を受け取る FlagGroup クラスのメンバ関数の使用例として、
artifact-analyzer.cpp の TR_STR~TR_CHR および TR_SUST_STR~TR_SUST_CHR
のフラグの有無を調べているコードで EnumRange を使用するように変更する。

2 years ago[Feature] FlagGruop クラスに EnumRange を受け取るコンストラクタを追加
Habu [Thu, 21 Oct 2021 15:50:01 +0000 (00:50 +0900)]
[Feature] FlagGruop クラスに EnumRange を受け取るコンストラクタを追加

FlagGroup クラスに、引数として EnumRange クラスのオブジェクトを受け取る
コンストラクタを追加する。
これにより以下のような使い方ができる。

if (flags.has_any_of(EnumRange(TR_STR, TR_CHR))) {
    // flags が TR_STR ~ TR_CHR のいずれかのフラグを持っている
}

2 years ago[Refactor] 技能の定義を enum class にする
Habu [Thu, 21 Oct 2021 16:03:43 +0000 (01:03 +0900)]
[Refactor] 技能の定義を enum class にする

技能の定義の列挙型を enum skill_idx から enum class PlayerSkillKindType
にする。

2 years ago[Refactor] 技能経験値テーブルを配列から std::map にする
Habu [Thu, 21 Oct 2021 16:03:43 +0000 (01:03 +0900)]
[Refactor] 技能経験値テーブルを配列から std::map にする

enum skill_idx を enum class にする準備として、列挙値でそのままアクセス
できるようにするために技能経験値テーブル skill_table::s_start/s_max を
配列から std::map に変更する。

2 years ago[Refactor] 各魔法熟練度に到達するための経験値の定数を隠蔽
Habu [Thu, 21 Oct 2021 16:03:43 +0000 (01:03 +0900)]
[Refactor] 各魔法熟練度に到達するための経験値の定数を隠蔽

カプセル化を促進するため、各魔法熟練度に到達するための経験値の定数
SPELL_EXP_* を PlayerSkill クラスに隠蔽する。
これらの値を得るには、静的メンバ関数 PlayerSkill::spell_exp_at を使用する。

2 years ago[Refactor] FlagGroup クラスの initializer_list を受け取るメンバ関数を削除
Habu [Thu, 21 Oct 2021 15:50:01 +0000 (00:50 +0900)]
[Refactor] FlagGroup クラスの initializer_list を受け取るメンバ関数を削除

FlagGroup クラスのメンバ関数のうち、引数に std::initializer_list を受け取る
以下の関数を削除する。

set / reset / has_all_of / has_any_of / has_none_of

FlagGroup クラスには std::initializer_list を引数に受け取るコンストラクタが
あり、上記の関数は引数に FlagGroup クラスを受け取るオーバーロードされた
関数が存在するので、FlagGroupクラスへの暗黙の変換により関数がなくても
std::initializer_list を引数に渡して使用することができる。

2 years agoMerge pull request #1832 from sikabane-works/feature/fix-double-semicolon
Deskull [Thu, 21 Oct 2021 15:31:03 +0000 (00:31 +0900)]
Merge pull request #1832 from sikabane-works/feature/fix-double-semicolon

[Fix] object_type宣言の余計なセミコロンを機械的に削除。

2 years agoMerge pull request #1804 from habu1010/feature/player-skill-class-spell
Habu [Thu, 21 Oct 2021 14:57:41 +0000 (23:57 +0900)]
Merge pull request #1804 from habu1010/feature/player-skill-class-spell

[Refactor] 魔法の熟練度処理を PlayerSkill クラスに移設

2 years agoMerge pull request #1806 from habu1010/feature/add-levitaion-to-ethereal-cloak
Habu [Thu, 21 Oct 2021 14:57:19 +0000 (23:57 +0900)]
Merge pull request #1806 from habu1010/feature/add-levitaion-to-ethereal-cloak

[Feature] 天上のクロークに浮遊能力を追加

2 years ago[Fix] object_type宣言の余計なセミコロンを機械的に削除。
Deskull [Thu, 21 Oct 2021 14:48:46 +0000 (23:48 +0900)]
[Fix] object_type宣言の余計なセミコロンを機械的に削除。

2 years agoMerge pull request #1826 from sikabane-works/release/3.0.0Alpha44
Deskull [Wed, 20 Oct 2021 14:19:20 +0000 (23:19 +0900)]
Merge pull request #1826 from sikabane-works/release/3.0.0Alpha44

[Release] 3.0.0Alpha44

2 years agoMerge pull request #1827 from sikabane-works/release/3.0.0Alpha44 3.0.0Alpha44
Deskull [Wed, 20 Oct 2021 12:04:41 +0000 (21:04 +0900)]
Merge pull request #1827 from sikabane-works/release/3.0.0Alpha44

Release/3.0.0 alpha44

2 years ago[Release] 3.0.0Alpha44
Deskull [Wed, 20 Oct 2021 10:58:16 +0000 (19:58 +0900)]
[Release] 3.0.0Alpha44

2 years agoMerge pull request #1820 from sikabane-works/release/3.0.0Alpha43
Deskull [Tue, 19 Oct 2021 12:27:58 +0000 (21:27 +0900)]
Merge pull request #1820 from sikabane-works/release/3.0.0Alpha43

[Release] 3.0.0Alpha43

2 years agoMerge pull request #1823 from sikabane-works/feature/fix-describe_chest_trap
Deskull [Tue, 19 Oct 2021 12:22:29 +0000 (21:22 +0900)]
Merge pull request #1823 from sikabane-works/feature/fix-describe_chest_trap

[Fix] describe_chest_trap()の単体表記switchに「アイテム散乱」がないためにthrow発生。

2 years ago[Fix] describe_chest_trap()の単体表記switchに「アイテム散乱」がないためにthrow発生。
Deskull [Tue, 19 Oct 2021 11:09:59 +0000 (20:09 +0900)]
[Fix] describe_chest_trap()の単体表記switchに「アイテム散乱」がないためにthrow発生。

2 years agoMerge pull request #1821 from sikabane-works/release/3.0.0Alpha43 3.0.0Alpha43
Deskull [Tue, 19 Oct 2021 09:45:04 +0000 (18:45 +0900)]
Merge pull request #1821 from sikabane-works/release/3.0.0Alpha43

Release/3.0.0 alpha43

2 years ago[Release] 3.0.0Alpha43
deskull [Tue, 19 Oct 2021 03:53:30 +0000 (12:53 +0900)]
[Release] 3.0.0Alpha43

2 years agoMerge pull request #1818 from habu1010/feature/fix-intelligence-status-calculation
Habu [Tue, 19 Oct 2021 03:49:46 +0000 (12:49 +0900)]
Merge pull request #1818 from habu1010/feature/fix-intelligence-status-calculation

[Fix] 知能の計算がおかしい

2 years agoMerge pull request #1817 from habu1010/feature/fix-birth-class-selection
Habu [Tue, 19 Oct 2021 03:49:01 +0000 (12:49 +0900)]
Merge pull request #1817 from habu1010/feature/fix-birth-class-selection

[Fix] キャラメイクの職業選択時におかしな挙動が発生する

2 years ago[Fix] 知能の計算がおかしい
Habu [Tue, 19 Oct 2021 03:34:33 +0000 (12:34 +0900)]
[Fix] 知能の計算がおかしい

Fix #1816.
#1794 でのエンバグ。intとstrを取り違えている。

2 years ago[Fix] キャラメイクの職業選択時におかしな挙動が発生する
Habu [Tue, 19 Oct 2021 03:31:50 +0000 (12:31 +0900)]
[Fix] キャラメイクの職業選択時におかしな挙動が発生する

Fix #1815.
#1754 でのエンバグ。変数のスコープの狭めすぎや取り違えがあわさっておかしな
挙動となっていた。

2 years ago[Fix]警戒度の修正。
Thujopsis [Mon, 18 Oct 2021 14:18:45 +0000 (23:18 +0900)]
[Fix]警戒度の修正。

2 years agoMerge pull request #1813 from sikabane-works/release/3.0.0Alpha42 3.0.0Alpha42
Deskull [Mon, 18 Oct 2021 10:46:39 +0000 (19:46 +0900)]
Merge pull request #1813 from sikabane-works/release/3.0.0Alpha42

Release/3.0.0 alpha42

2 years agoMerge pull request #1812 from sikabane-works/release/3.0.0Alpha42
Deskull [Mon, 18 Oct 2021 10:39:46 +0000 (19:39 +0900)]
Merge pull request #1812 from sikabane-works/release/3.0.0Alpha42

[Release] 3.0.0Alpha42

2 years ago[Release] 3.0.0Alpha42
Deskull [Mon, 18 Oct 2021 10:26:02 +0000 (19:26 +0900)]
[Release] 3.0.0Alpha42

2 years agoMerge pull request #1810 from habu1010/feature/fix-crash-on-monster-casting-fireball
Habu [Mon, 18 Oct 2021 09:58:09 +0000 (18:58 +0900)]
Merge pull request #1810 from habu1010/feature/fix-crash-on-monster-casting-fireball

[Fix] 敵がファイア・ボールを唱えた時にクラッシュする

2 years agoMerge pull request #1809 from habu1010/feature/fix-init-random-seed
Habu [Mon, 18 Oct 2021 09:57:57 +0000 (18:57 +0900)]
Merge pull request #1809 from habu1010/feature/fix-init-random-seed

[Fix/Refactor] 乱数のシード初期化にSTLを使用する

2 years ago[Fix] 敵がファイア・ボールを唱えた時にクラッシュする
Habu [Mon, 18 Oct 2021 09:29:48 +0000 (18:29 +0900)]
[Fix] 敵がファイア・ボールを唱えた時にクラッシュする

Fix #1808.
ファイア・ボールのメッセージの設定で対象がプレイヤー用とモンスター用の
ものが入れ替わってしまっているのが原因。
正しいものに修正する。

2 years ago[Fix/Refactor] 乱数のシード初期化にSTLを使用する
Habu [Mon, 18 Oct 2021 09:03:02 +0000 (18:03 +0900)]
[Fix/Refactor] 乱数のシード初期化にSTLを使用する

乱数の初期化を行う関数 Rand_state_init において、プラットフォーム毎に
固有の方法で非決定論的乱数を生成して疑似乱数生成器のシードとしていたが、
これをやめて代わりに STL の std::random_device を使用するようにする。
また Issue #1805 の原因として、Windows での非決定論的乱数生成に使用して
いた Crypt 系APIの呼び出しが失敗した結果、無限ループに陥ってる事が推察
される。
std::random_device を使用するように変更したことによりこれも合わせて解消
される見込み。

2 years ago[Feature] 天上のクロークに浮遊能力を追加
Habu [Sun, 17 Oct 2021 23:18:53 +0000 (08:18 +0900)]
[Feature] 天上のクロークに浮遊能力を追加

2 years ago[Refactor] 魔法の熟練度処理を PlayerSkill クラスに移設
Habu [Sun, 17 Oct 2021 14:53:27 +0000 (23:53 +0900)]
[Refactor] 魔法の熟練度処理を PlayerSkill クラスに移設

魔法の熟練度経験値上昇処理を PlayerSkill クラスのメンバ関数へ移設

- gain_spell_skill_exp():
  魔法を詠唱した時の熟練度経験値上昇処理
- gain_continuous_spell_skill_exp():
  継続して詠唱する魔法(歌・呪術)の熟練度経験値上昇処理
- gain_spell_skill_exp_over_learning():
  学習済みの魔法をさらに学習した時の熟練度経験値上昇処理

現在の熟練度経験値を得る関数 experience_of_spell を PlayerSkill::
exp_of_spell に移設
熟練度経験値から熟練度レベルを得る関数 spell_exp_level を PlayerSkill
クラスの静的メンバ関数にする

2 years agoMerge pull request #1802 from sikabane-works/release/3.0.0Alpha41
Deskull [Sun, 17 Oct 2021 14:37:22 +0000 (23:37 +0900)]
Merge pull request #1802 from sikabane-works/release/3.0.0Alpha41

[Release] 3.0.0Alpha41

2 years agoMerge pull request #1803 from sikabane-works/release/3.0.0Alpha41 3.0.0Alpha41
Deskull [Sun, 17 Oct 2021 13:00:06 +0000 (22:00 +0900)]
Merge pull request #1803 from sikabane-works/release/3.0.0Alpha41

Release/3.0.0 alpha41