OSDN Git Service
Eric Branlund [Mon, 29 Jul 2024 05:07:54 +0000 (23:07 -0600)]
Merge branch 'master' of https://github.com/hengband/hengband
Deskull [Sun, 28 Jul 2024 13:18:09 +0000 (22:18 +0900)]
Merge pull request #4445 from hengband/release/3.0.1.18-Beta
Release/3.0.1.18 beta
Deskull [Sun, 28 Jul 2024 12:56:39 +0000 (21:56 +0900)]
[Release] 3.0.1.18-Beta
Deskull [Sun, 28 Jul 2024 12:49:14 +0000 (21:49 +0900)]
Merge pull request #4442 from sikabane-works/fix/create_ammo
[Fix] 骨から矢、クロスボウの矢を生成する時に骨が重ね書きされて消滅する不具合を修正。
Deskull [Sun, 28 Jul 2024 12:03:13 +0000 (21:03 +0900)]
[Fix] 骨から矢、クロスボウの矢を生成する時に骨が重ね書きされて消滅する不具合を修正。
火炎の飛竜 [Sun, 28 Jul 2024 10:10:02 +0000 (19:10 +0900)]
Merge pull request #3941 from Slimebreath6078/feature/regulation_bunbun_striker
ウサウサストライカーの性能を調整
Slimebreath6078 [Sat, 27 Apr 2024 11:39:29 +0000 (20:39 +0900)]
[Feature] ウサウサストライカーが既に1体以上いる場合、上限超過分の召喚は引き寄せにするようにした
火炎の飛竜 [Fri, 26 Jul 2024 12:25:08 +0000 (21:25 +0900)]
Merge pull request #4438 from Slimebreath6078/feature/move_set_pet()_and_set_friendly()_to_MonsterEntity
set_target()(及びreset_target())、set_friendly() をMonsterEntity に組み込んだ
Habu [Fri, 26 Jul 2024 12:23:54 +0000 (21:23 +0900)]
Merge pull request #4436 from habu1010/feature/fix-crash-mundane_spell
[Fix] 凡庸の巻物をモンスターの人形・像・骨・死体に使用するとクラッシュ
dis- [Fri, 26 Jul 2024 11:30:16 +0000 (20:30 +0900)]
Merge pull request #4417 from dis-/feature/implement-corrupt
[Feature] 悪魔領域最終攻撃魔法の差し替え
Slimebreath6078 [Sat, 27 Apr 2024 11:01:11 +0000 (20:01 +0900)]
[Feature] ウサウサストライカーの性能調整
* 1フロア2体限定
* レアリティ255
* HP550→1000
* 加速+7→+2
Slimebreath6078 [Tue, 16 Apr 2024 20:31:31 +0000 (05:31 +0900)]
[Feature] ウサウサストライカーの同時出現数に制限を加えた
これを実装するために新たな出現数関連フラグ BUNBUN_STRIKER を追加した
Slimebreath6078 [Fri, 26 Jul 2024 09:49:01 +0000 (18:49 +0900)]
[Refactor] set_friendly() をMonsterEntity のメソッドに組み込んだ
Slimebreath6078 [Fri, 26 Jul 2024 09:12:58 +0000 (18:12 +0900)]
[Refactor] set_target() をMonsterEntity のメソッドに組み込んだ
Slimebreath6078 [Fri, 26 Jul 2024 09:12:27 +0000 (18:12 +0900)]
[Refactor] reset_target()を MonsterEntityのメソッドに組み込んだ
変更ファイル数が多くなるため set_target() とは分割する
Habu [Thu, 25 Jul 2024 15:29:30 +0000 (00:29 +0900)]
[Fix] 凡庸の巻物をモンスターの人形・像・骨・死体に使用するとクラッシュ
凡庸の巻物をモンスターの人形・像・骨・死体に使用すると、pvalが0となる
ことによりモンスター種族IDが0となるが、この状態は不正であるという扱いで
例外を送出するようになっており、その結果クラッシュする。
対策として、これらのpvalをモンスター種族IDとして使用するアイテム
(これらの他にモンスター・ボールも対象となる)に対して凡庸の巻物を
使用できないようにする。
Habu [Thu, 25 Jul 2024 15:16:56 +0000 (00:16 +0900)]
Merge pull request #4434 from habu1010/feature/fix-open_dir_in_explorer-on-windows-utf8-locale
[Fix] システムロケールがUTF-8の時設定フォルダを開くのに失敗する
Habu [Thu, 25 Jul 2024 15:16:41 +0000 (00:16 +0900)]
Merge pull request #4433 from habu1010/feature/fix-8bit-pcm
[Fix] 8bitサンプリングの効果音にノイズが乗る
Habu [Thu, 25 Jul 2024 15:16:22 +0000 (00:16 +0900)]
Merge pull request #4431 from habu1010/feature/refactor-cfg-reader
[Refactor] CfgReader
Habu [Thu, 25 Jul 2024 15:15:49 +0000 (00:15 +0900)]
Merge pull request #4430 from habu1010/feature/refactor-player-spell-status
[Refactor] 呪文の学習・試行・忘却状態の処理
Habu [Wed, 24 Jul 2024 15:02:00 +0000 (00:02 +0900)]
[Fix] システムロケールがUTF-8の時設定フォルダを開くのに失敗する
WindowsのシステムロケールがUTF-8の時、パスに日本語を含む場合にBGMや
効果音の設定フォルダを開く処理でUTF-16への文字コードの変換に失敗するため、
正しく設定フォルダを開くことができない。
std::filesystem::path::wstring で直接UTF-16のパス文字列を取得する
ようにし、文字コードの変換を行わないようにする。
Habu [Wed, 24 Jul 2024 13:47:57 +0000 (22:47 +0900)]
[Fix] 8bitサンプリングの効果音にノイズが乗る
8bitサンプリングのPCM音源の波形データはサンプルごとの値は0~255で
基準値(無音)を128とするが、0を基準として振幅変調を行っているため想定
通りの振幅変調が行えておらず、効果音再生時にノイズが乗ってしまう。
8bitサンプリングのPCMの場合は128を基準値として振幅変調を行うように修正する。
Habu [Wed, 24 Jul 2024 09:58:46 +0000 (18:58 +0900)]
[Refactor] CfgReader
生ポインタとnewを使用している古くさいコードとなっているCfgReaderを
Modern C++な書き方でリファクタリングを行う。
dis [Wed, 24 Jul 2024 09:25:18 +0000 (18:25 +0900)]
[Feature] 悪魔領域に深淵属性の攻撃魔法を追加
最終攻撃魔法の合わせて深淵属性の攻撃魔法を一つ追加する。
役割の薄かった悪魔火と差替。
堕落:深淵属性のボルト。威力はplev*3。消費はファイアボールの2倍弱。
dis [Tue, 16 Jul 2024 07:57:20 +0000 (16:57 +0900)]
e[Feature] 悪魔領域最終攻撃魔法の差し替え
悪魔領域「血の呪い」はデメリットが大きいが特にメリットがないという問題と、フレーバー的に非アンバーがポンポン血の呪いを放つのはおかしいという問題があった。
新規の魔法に差し替えることでこの問題を解消する。
深淵招来: 魔力の嵐と同等威力の深淵属性半径0のボール。
暗黒耐性で軽減されるが、テレポート耐性持ち、飛行抜けには威力1.25倍で減速付与までされるため非常に強力。
コスト、難度は暗黒領域「地獄の業火」に近しいものに設定した。
Habu [Tue, 23 Jul 2024 12:34:07 +0000 (21:34 +0900)]
[Fix] ウィザードモードで職業変更時にクラッシュする
職業変更時に第2領域がある職業から第1領域のみの職業に変更すると、領域
なしである第2領域に対して学習状況の更新処理を行ってしまい、領域なしに
対して呪文の情報を取得しようとするため、例外が発生しクラッシュしている。
ウィザードモードで職業変更および領域変更を行ったときは合わせて領域の
学習状況を初期化するようにする。
Habu [Tue, 23 Jul 2024 12:09:59 +0000 (21:09 +0900)]
[Refactor] 呪文の学習・試行・忘却状態の処理
呪文の学習・試行・忘却状態の処理を行うPlayerSpellStatusクラスを実装し、
現状直接 spell?_learned, spell?_worked, spell?_forgotten にアクセス
している箇所をPlayerSpellStatusクラスによる処理で置き換える。
Habu [Tue, 23 Jul 2024 11:48:25 +0000 (20:48 +0900)]
Merge pull request #4426 from habu1010/feature/fix-audio-on-windows-utf-8-locale-env
[Fix] システムロケールがUTF-8の時BGM・効果音が鳴らないことがある
Habu [Tue, 23 Jul 2024 11:48:09 +0000 (20:48 +0900)]
Merge pull request #4425 from habu1010/feature/fix-crash-on-windows-utf-8-locale-env
[Fix] WindowsのシステムロケールがUTF-8の時クラッシュする
Habu [Tue, 23 Jul 2024 11:47:51 +0000 (20:47 +0900)]
Merge pull request #4422 from habu1010/feature/refactor-spell-order-learned
[Refactor] PlayerType::spell_order
Habu [Sat, 20 Jul 2024 08:35:10 +0000 (17:35 +0900)]
Merge pull request #4424 from habu1010/feature/fix-error-report-garbled-text
[Fix] エラーレポートの文字化け
Habu [Wed, 17 Jul 2024 13:37:03 +0000 (22:37 +0900)]
[Refactor] PlayerType::spell_order
魔法を学習した順序を記録する PlayerType::spell_order を固定長配列から
std::vector に変更して扱いやすくする。
Habu [Fri, 19 Jul 2024 11:17:19 +0000 (20:17 +0900)]
[Fix] システムロケールがUTF-8の時BGM・効果音が鳴らないことがある
システムロケールがUTF-8だと、パス文字列に文字コードがSJISの日本語を含む
場合に変換エラーが発生するため正しくsound.cfgなどを読み込めずBGMや効果音が
鳴らない不具合が発生する。
CfgReader周りでファイルパスを(char配列表現による)文字列と
std::filesystem::path で混在して扱っているのが、余計な変換が生じて
変換エラーの元となる根本的な原因なので、std::filesystem::path で統一して
扱うようにする。
Habu [Thu, 18 Jul 2024 10:15:56 +0000 (19:15 +0900)]
[Fix] WindowsのシステムロケールがUTF-8の時クラッシュする
Windows環境において、std::filesystem::path::appendはstd::string_viewを
受け取ると、その文字コードはシステムロケールに一致すると想定し、システム
ロケールからWindows内部処理の文字コードであるUTF-16に変換する。
変愚蛮怒の内部文字コードはSJIS固定であるため、システムロケールがUTF-8の
環境ではSJISをUTF-8とみなしてUTF-16へ変換しようとしてしまい、変換失敗の
例外が発生しクラッシュする。
対策として、Windows環境では自前でSJIS→UTF-16の変換を行い、UTF-16の
文字列を渡すようにする。
Habu [Wed, 17 Jul 2024 23:43:16 +0000 (08:43 +0900)]
Merge pull request #4416 from habu1010/feature/refactor-summon-specific-arg
[Refactor] summon_specificのシグニチャ
Habu [Wed, 17 Jul 2024 23:30:43 +0000 (08:30 +0900)]
[Fix] エラーレポートの文字化け
システムロケールがUTF-8のWindows環境において、STLが出力する日本語の例外
メッセージの文字コードはUTF-8となる。しかし、エラーレポートのコードでは
文字コードはSJISであることを想定しており、UTF-8をSJISとみなして文字
コードの変換を行ってしまうため文字化けが発生する。
guess_convert_to_system_encoding 関数を通すことでメッセージを一旦SJISに
統一することで、システムロケールがSJISでもUTF-8でも正しく動作するように
する。
Habu [Wed, 17 Jul 2024 12:09:03 +0000 (21:09 +0900)]
Merge pull request #4420 from habu1010/feature/fix-empty-player-name
[Fix] 空の名前が設定できてしまう
Deskull [Wed, 17 Jul 2024 10:59:04 +0000 (19:59 +0900)]
Merge pull request #4415 from whitehara/update-spec
Update hengband.spec version to 3.0.1.17
Habu [Tue, 16 Jul 2024 15:02:34 +0000 (00:02 +0900)]
[Fix] 空の名前が設定できてしまう
初期設定の名前が空(新規キャラメイク時)で、入力した名前も空の場合には
「PLAYER」という名前に設定し空の名前にならないようにする仕様だったが、
b6d6401 で空の名前が設定できるようになってしまっている。
以前の通り空の名前を入力した場合は「PLAYER」を設定するように修正する。
Habu [Sun, 14 Jul 2024 16:55:24 +0000 (01:55 +0900)]
[Refactor] summon_specificのシグニチャ
summon_specificの引数src_idxは、モンスターによる召喚であれば召喚主の
モンスターID、そうでなければ0、もしくはプレイヤーのペットとして召喚する
場合は-1とややこしい事になっているので、これを改善する。
まず、ペットとして召喚するかどうかはmodeにPM_FORCE_PETフラグがあるかでも
判別可能なので、ペットとして召喚するなら-1を渡すという仕様は廃止する。
また、引数を std::optional とし、モンスターによる召喚であればこれまで
通り召喚主のモンスターID、そうでなければ std::nullopt を渡すようにする。
whitehara [Sun, 14 Jul 2024 15:05:00 +0000 (17:05 +0200)]
Update hengband.spec version to 3.0.1.17
Eric Branlund [Sun, 14 Jul 2024 15:02:16 +0000 (09:02 -0600)]
Merge branch 'master' of https://github.com/hengband/hengband
火炎の飛竜 [Sun, 14 Jul 2024 14:51:33 +0000 (23:51 +0900)]
Merge pull request #4411 from Slimebreath6078/feature/move_chameleon_polymorph_in_place_monster_one()_to_ahead_of_that
[Refactor] カメレオンの変身処理を種族番号の代入処理に統合した
Slimebreath6078 [Wed, 3 Jul 2024 22:34:54 +0000 (07:34 +0900)]
[Refactor] モンスター種族のポインタを参照にし、アドレスの書き換えを撤去した
Slimebreath6078 [Wed, 3 Jul 2024 22:17:07 +0000 (07:17 +0900)]
[Refactor] カメレオンの変身処理を種族番号の決定に統合した
Deskull [Sun, 14 Jul 2024 12:59:29 +0000 (21:59 +0900)]
Merge pull request #4412 from hengband/release/3.0.1.17
[Release] 3.0.1.17-Beta
Deskull [Sun, 14 Jul 2024 12:59:13 +0000 (21:59 +0900)]
Merge pull request #4413 from hengband/release/3.0.1.17
Release/3.0.1.17
Deskull [Sun, 14 Jul 2024 12:49:28 +0000 (21:49 +0900)]
[Release] 3.0.1.17-Beta
火炎の飛竜 [Sun, 14 Jul 2024 12:02:23 +0000 (21:02 +0900)]
Merge pull request #4410 from Slimebreath6078/feature/add_hell_stall
モンスター「地獄の出店」を追加
Habu [Sun, 14 Jul 2024 11:07:19 +0000 (20:07 +0900)]
Merge pull request #4407 from habu1010/feature/fix-tracking-monster-healthbar-doesnt-update
[Fix] ヘルスバー下部に表示されるモンスターの状態が更新されない
Habu [Sun, 14 Jul 2024 10:59:15 +0000 (19:59 +0900)]
Merge pull request #4332 from habu1010/feature/debug-change-select-from-list
[Feature] デバッグコマンドの種族・職業・領域変更をリストから選択
火炎の飛竜 [Sun, 14 Jul 2024 10:48:17 +0000 (19:48 +0900)]
Merge pull request #4408 from Slimebreath6078/feature/fix_chameleon_polymorph_name
[Fix] 乗馬中のカメレオンが変身した際のメッセージで変身後の名前で表示されてしまうバグを修正
Deskull [Sun, 14 Jul 2024 10:45:55 +0000 (19:45 +0900)]
Merge pull request #4378 from whitehara/update-spec
Update hengband.spec version to 3.0.1.16
Slimebreath6078 [Sat, 13 Jul 2024 02:21:59 +0000 (11:21 +0900)]
[Fix] 乗馬中のカメレオンが変身した際のメッセージで変身後の名前で表示されてしまうバグを修正
Habu [Sun, 14 Jul 2024 10:34:34 +0000 (19:34 +0900)]
Merge pull request #4402 from habu1010/feature/fix-chameleon-polymorph-to-explodable-monster
[Fix] カメレオンが爆発するモンスターに変身してしまう
Slimebreath6078 [Sat, 13 Jul 2024 03:20:22 +0000 (12:20 +0900)]
[Add] モンスター「地獄の屋台」を追加
火炎の飛竜 [Sat, 13 Jul 2024 22:18:02 +0000 (07:18 +0900)]
Merge pull request #4400 from Slimebreath6078/feature/Disdependence_MonsterEntity_from_chameleon_polymorph
[Refactor] カメレオンの種族選択処理のモンスターの位置情報への依存をなくした
Habu [Fri, 12 Jul 2024 14:23:01 +0000 (23:23 +0900)]
[Fix] ヘルスバー下部に表示されるモンスターの状態が更新されない
トラッキングしているモンスターの一時的な状態変化から回復した際に
モンスターのヘルスバーの更新フラグを立てていないため、モンスターの状態が
再描画されずないままとなっている。
トラッキングしているモンスターの一時的な状態の時間経過を更新した場合に
ヘルスバー更新フラグを立て、再描画が行われるよう修正する。
Habu [Fri, 12 Jul 2024 11:17:20 +0000 (20:17 +0900)]
[Feature] デバッグコマンドの種族・職業・領域変更をリストから選択
デバッグコマンドで種族・職業・領域を変更する時に、既存のID番号を入力する
方法は該当の番号をいちいち調べなくてはならず面倒なので、リストから
選択できるようにする。
また、職業の選択時には続けて領域の選択も行い、領域選択時は職業に応じた
領域のみが表示されるようにする。
Habu [Fri, 12 Jul 2024 10:50:05 +0000 (19:50 +0900)]
Merge pull request #4404 from habu1010/feature/fix-crash-on-casting-wrath-of-the-god
[Fix] 神の怒りを画面端に打つとクラッシュする
Habu [Fri, 12 Jul 2024 10:14:15 +0000 (19:14 +0900)]
[Fix] 神の怒りを画面端に打つとクラッシュする
2a53154 の修正で短絡評価でなくなってしまったため、is_boundが偽であり
x,y が配列範囲外の時にも cave_stop_disintegration が呼ばれるのが原因。
短絡評価に戻し、is_boundが偽の時は cave_stop_disintegration が呼ばれない
ように修正する。
火炎の飛竜 [Thu, 11 Jul 2024 22:41:54 +0000 (07:41 +0900)]
Merge pull request #4386 from backwardsEric/english-edits-mika-misono
English: clarify text for Mika Misono
Slimebreath6078 [Sat, 6 Jul 2024 14:07:25 +0000 (23:07 +0900)]
[Refactor] カメレオンの種族選択処理のモンスターの位置情報への依存をなくした
Habu [Tue, 9 Jul 2024 13:21:21 +0000 (22:21 +0900)]
[Fix] カメレオンが爆発するモンスターに変身してしまう
25a7079 で変身元と変身先の取り違えてしまっており、変身元のモンスターに
対して爆発するかどうかの判定を行うようになってしまっている。
正しく変身先のモンスターに対して判定を行うように修正する。
Habu [Tue, 9 Jul 2024 12:46:08 +0000 (21:46 +0900)]
Merge pull request #4399 from habu1010/feature/stack-trace
[Feature] エラーレポートにコールスタック情報を含める
Eric Branlund [Sun, 7 Jul 2024 18:34:55 +0000 (12:34 -0600)]
English: clarify text for Mika Misono
May resolve https://github.com/hengband/hengband/issues/4385 .
Habu [Sun, 7 Jul 2024 11:54:24 +0000 (20:54 +0900)]
[Chore] Win用リリースパッケージにHengband.pdbを追加
エラーレポートに出力するコールスタック情報を取得するため、プログラム
データベースファイルHengband.pdbをWin用リリースパッケージに含める。
Habu [Sun, 7 Jul 2024 11:54:24 +0000 (20:54 +0900)]
[Feature] エラーレポートにコールスタック情報を含める
StackTraceクラスを実装し、Windows版でのエラー送信機能で送信する情報に
コールスタック情報を含めるようにする。
Habu [Sat, 6 Jul 2024 13:32:07 +0000 (22:32 +0900)]
Merge pull request #4394 from habu1010/feature/fix-crash-when-savefile-load
[Fix] 魔法領域なしの職業のセーブデータで起動するとクラッシュ
Habu [Sat, 6 Jul 2024 13:10:52 +0000 (22:10 +0900)]
[Fix] 魔法領域なしの職業のセーブデータで起動するとクラッシュ
魔法領域なしの時にもPlayerRealm::setで領域をセットしているので、領域の
チェックで例外が発生してしまう。
魔法領域なしの時はPlayerRealm::setを呼ばずに終了するように修正する。
dis- [Sat, 6 Jul 2024 07:43:19 +0000 (16:43 +0900)]
Merge pull request #4393 from dis-/feature/fix-0origin-class_magics_info
[Refactor] 呪文領域番号を1-originに統一する
dis- [Sat, 6 Jul 2024 02:03:13 +0000 (11:03 +0900)]
[Refactor] 呪文領域番号を1-originに統一する
一部呪文領域番号を0-originで扱っている箇所を1-originに修正して一貫性を持たせる。
単発の修正のためIssueはなし。
Habu [Fri, 5 Jul 2024 15:35:04 +0000 (00:35 +0900)]
Merge pull request #4392 from habu1010/feature/fix-realm2-selection-after-change
[Fix] 第2領域変更後の魔法選択がおかしい
Habu [Fri, 5 Jul 2024 14:24:41 +0000 (23:24 +0900)]
[Fix] 第2領域変更後の魔法選択がおかしい
第2領域を変更する時、change_realm2内で生成したPlayerRealmオブジェクトで
領域のセットを行っているため、change_realm2を呼び出した側のPlayerRealm
オブジェクトに変更が反映されておらず、変更前の領域が参照されてしまって
いる。
change_realm2に呼び出し側のPlayerRealmオブジェクトを渡すようにして
修正する。
Habu [Fri, 5 Jul 2024 11:36:10 +0000 (20:36 +0900)]
Merge pull request #4391 from habu1010/feature/refactor-realm-type-to-enum-class
[Refactor] 領域の列挙値をenum classにする
Habu [Fri, 5 Jul 2024 11:22:12 +0000 (20:22 +0900)]
[Refactor] 領域の列挙値をenum classにする
Habu [Fri, 5 Jul 2024 11:19:10 +0000 (20:19 +0900)]
Merge pull request #4390 from habu1010/feature/delete-is-magic-macro
[Refactor] 魔法領域の種類が呪文か技術かを判定する処理
Habu [Fri, 5 Jul 2024 10:55:19 +0000 (19:55 +0900)]
[Delete] realm-names-table.cpp/h
空になったrealm-names-table.cppとrealm-names-table.hを削除する。
Habu [Fri, 5 Jul 2024 10:55:19 +0000 (19:55 +0900)]
[Refactor] 定数VALID_REALMの定義
定数VALID_REALMはbirth-select-realm.cppからしか参照されていないので
cppファイルへ移動し、定数名をTOTAL_REALM_NUMに改名する。
Habu [Fri, 5 Jul 2024 10:55:19 +0000 (19:55 +0900)]
[Refactor] 魔法領域の種類が呪文か技術かを判定する処理
魔法領域が呪文(メイジが選択可能な領域10種)か、技術(歌・武芸・呪術)
かを判定する静的メンバ関数をPlayerRealmクラスに実装し、現在 is_magic
マクロを使用している箇所とEnumRange型の定数直接判定している部分を
置き換える。
Habu [Fri, 5 Jul 2024 10:53:51 +0000 (19:53 +0900)]
Merge pull request #4389 from habu1010/feature/refactor-get-realm
[Refactor] 魔法領域の取得処理
Habu [Thu, 4 Jul 2024 14:01:39 +0000 (23:01 +0900)]
[Fix] 特定の魔法領域かどうかのチェック処理の修正漏れ
d43c266 で漏れがあったので修正する。
Habu [Thu, 4 Jul 2024 14:01:39 +0000 (23:01 +0900)]
[Refactor] 魔法領域の取得処理
PlayerRealm::Realmクラスにメンバ関数 to_enum() を実装し、魔法領域番号を
取得するために直接PlayerRealmクラスのデータメンバrealm1とrealm2に
アクセスしている箇所を置き換える。
Habu [Thu, 4 Jul 2024 14:01:05 +0000 (23:01 +0900)]
Merge pull request #4387 from habu1010/feature/refactor-set-realm
[Refactor] 魔法領域のセット処理
Habu [Thu, 4 Jul 2024 11:56:43 +0000 (20:56 +0900)]
[Refactor] 魔法領域のセット処理
PlayerRealmに魔法領域をセットするメンバ関数 set と魔法領域なしにする
メンバ関数 reset を実装し、PlayerTypeのデータメンバrealm1とrelam2に直接
値をセットしている箇所を置き換える。
Habu [Thu, 4 Jul 2024 10:46:26 +0000 (19:46 +0900)]
Merge pull request #4384 from habu1010/feature/refactor-get-realm-of-book
[Refactor] 魔法書のItemKindTypeから領域を取得する処理
Habu [Wed, 3 Jul 2024 14:14:36 +0000 (23:14 +0900)]
[Refactor] 本の領域が使用可能領域に合致するかの判定
ItemKindTypeからPlayerRealm::get_realm_of_bookを取得した結果がある
場合は、PlayerRealm::Realm::get_book の結果とItemKindTypeを比較する
のではなく、get_realm_of_bookを取得した結果をPlayerRealm::Realm::equals
でテストするようにする。
このほうがより直感的であり、処理速度もわずかに高速。
Habu [Wed, 3 Jul 2024 13:54:53 +0000 (22:54 +0900)]
[Refactor] 初期所持の魔法書の決定処理
PlayerTypeのデータメンバrealm1とrealm2から直接計算するのではなく、
PlayerRealmクラスのメンバ関数get_bookを使用するように変更する。
Habu [Wed, 3 Jul 2024 13:48:24 +0000 (22:48 +0900)]
[Refactor] 魔法書のItemKindTypeから領域を取得する処理
魔法書のItemKindTypeからどの領域かを取得するマクロtval2realmを廃止し、
PlayerRealmクラスの静的メンバ関数get_realm_of_bookで取得するようにする。
Habu [Wed, 3 Jul 2024 13:40:14 +0000 (22:40 +0900)]
Merge pull request #4383 from habu1010/feature/refactor-get-realm-explanation
[Refactor] 領域の説明の取得処理
Habu [Wed, 3 Jul 2024 13:10:59 +0000 (22:10 +0900)]
[Refactor] 領域の説明の取得処理
領域の説明の取得で、通常の魔法領域と歌・武芸・呪術が同じ配列上に詰めて
配置されているため technic2magic というマクロで無理やり要素番号を計算
して取得している。
これをやめ、まず魔法領域と歌・武芸・呪術で配列を分け、取得はPlayerRealm
クラスにget_explanationとget_subinfoを実装しこのメンバ関数によって行う
ように修正する。
Habu [Wed, 3 Jul 2024 12:46:06 +0000 (21:46 +0900)]
Merge pull request #4382 from habu1010/feature/encapsulate-spell-info-list
[Refactor] SpellInfoListクラスのカプセル化を促進
Habu [Wed, 3 Jul 2024 12:21:26 +0000 (21:21 +0900)]
[Refactor] SpellInfoListクラスのカプセル化を促進
SpellInfoListのデータメンバ spell_info のアクセルレベルをprivateにし、
get_spell_info メソッド経由で情報を取得するようにして実装のカプセル化を
促進する。
Habu [Wed, 3 Jul 2024 11:57:08 +0000 (20:57 +0900)]
Merge pull request #4381 from habu1010/feature/refactor-spell-name-get
[Refactor] 呪文の名称と説明文の取得処理
Habu [Wed, 3 Jul 2024 11:00:56 +0000 (20:00 +0900)]
[Refactor] 呪文の名称と説明文の取得処理
exe_spellの引数にSpellProcessTypeのNAMEとDESCRIPTIONを指定することにより
呪文の名称と説明文の取得を行うのをやめ、代わりにPlayerRealmクラスに
get_spell_nameとget_spell_descriptionを実装し、これを使用して取得する。
Habu [Wed, 3 Jul 2024 11:00:56 +0000 (20:00 +0900)]
[Refactor] PlayerRealmクラスの呪文IDの表記揺れを統一
呪文IDを示す引数名が num だったり spell_idx だったりしていてあまり
よろしくないので、spell_id に統一する。
dis- [Wed, 3 Jul 2024 10:58:53 +0000 (19:58 +0900)]
Merge pull request #4380 from dis-/feature/fix-spell-info
[Fix] 呪文情報のハードコードを解消する作業のミスを修正
Habu [Wed, 3 Jul 2024 10:57:06 +0000 (19:57 +0900)]
Merge pull request #4377 from habu1010/feature/reafctor-birth-realm-select
[Refactor] キャラメイク時の領域選択処理
dis [Wed, 3 Jul 2024 07:41:51 +0000 (16:41 +0900)]
[Fix] 呪文情報のハードコードを解消する作業のミスを修正
#4353 #4373 の作業漏れを解消する。
whitehara [Tue, 2 Jul 2024 19:23:24 +0000 (23:23 +0400)]
[fix] a day in changelog