今週マージされたPRは98件でした。
タイトルと変更の理由は超訳です。
あともちろん超絶ネタバレする可能性あります。
今週は光に色が付くシステムの追加と、ずっと手つかずだったNPCの要求システムの大改修がありました。四肢化やクラフトUIの改善、山小屋次元の改修も引き続き行われています。
今週の気になったPRはこれ
[#86066] 夜明け・日暮れ・ビーコンの光に色を付ける
⇒ 白一色だった光に色がつくようになり表現力が上がりました。関連PRで残響次元やModの光もカラー化されてます
[#85974] NPCの要求システム: 不満発言の制御、腐食生物の腐った食べ物、行動ツリーのutilityストラテジー
⇒ 2019年から止まってたNPCの要求システムが一気に動き出しました。関連PRで体温や睡眠に関わるふるまいも改善されています
2026/03/21
- [#85951]
変更の理由: キッチンの小部屋にéが定義されてて、それがbedroom nestになってたから、寝室の家具がキッチンの半分と外にはみ出して生成されちゃってた。
house_w_3のchunk生成の問題を修正 by BalthazarArgall
変更の理由: キッチンの小部屋にéが定義されてて、それがbedroom nestになってたから、寝室の家具がキッチンの半分と外にはみ出して生成されちゃってた。
- [#85963] フィルターエンジンとネストソートの重複排除ロジックを分離 by dobbry-vechur
変更の理由: #85959と#85961のフォローアップ。レシピフィルターエンジンはcrafting_gui.cppに残ってるいちばん大きいロジックの塊で、recipe_subset::search()がテストモードで例外を投げてたからテストできなかったんだよね。
変更の理由: #85959と#85961のフォローアップ。レシピフィルターエンジンはcrafting_gui.cppに残ってるいちばん大きいロジックの塊で、recipe_subset::search()がテストモードで例外を投げてたからテストできなかったんだよね。
- [#85974] NPCの要求システム: 不満発言の制御、腐食生物の腐った食べ物、行動ツリーのutilityストラテジー by dobbry-vechur
変更の理由: NPCの要求システムは2019年に#28681が立ってから止まったままだった。これは3つの独立したローリスクな変更で、それぞれブロッカーを1つずつ取り除くもの。#85927や#85924と同じパターンだよ。#85930に依存してる。 (訳註: 「NPCの要求を無効化」MODを使っているのに空腹・渇きの不満が出ていた問題の修正、腐食生物NPCが腐った食べ物を食べられるようになる修正、NPCの行動決定にスコアベースの選択が導入されました)
変更の理由: NPCの要求システムは2019年に#28681が立ってから止まったままだった。これは3つの独立したローリスクな変更で、それぞれブロッカーを1つずつ取り除くもの。#85927や#85924と同じパターンだよ。#85930に依存してる。 (訳註: 「NPCの要求を無効化」MODを使っているのに空腹・渇きの不満が出ていた問題の修正、腐食生物NPCが腐った食べ物を食べられるようになる修正、NPCの行動決定にスコアベースの選択が導入されました)
- [#85983] [スカイアイランド] 追加 - 変異体シナリオとの非互換フラグを追加 by thaelina
変更の理由: スカイアイランドは専用シナリオでしか動かないから、追加 - 変異体シナリオとは互換性がない。
変更の理由: スカイアイランドは専用シナリオでしか動かないから、追加 - 変異体シナリオとは互換性がない。
- [#85973] [MoM] 念動発火能力ブレイジング・オーラにSNOWWALKINGを追加 by Standing-Storm
変更の理由: 専用の能力にしようかと思ったけど、既存のやつがぴったりだったからそっちに乗っけた。
変更の理由: 専用の能力にしようかと思ったけど、既存のやつがぴったりだったからそっちに乗っけた。
- [#85994] レアなOvermap Specialのovermap_terrain_coverageテストカバレッジを改善 by dobbry-vechur
変更の理由: #85849のフォローアップ。overmap_terrain_coverageテストのホワイトリストに約90のterrain typeが入ってて、そいつらのmapgenが壊れてもホワイトリストが黙って隠しちゃうんだよね。ホワイトリスト自体はいじらずに、カバレッジを広げるフィルタリング生成を追加した。
変更の理由: #85849のフォローアップ。overmap_terrain_coverageテストのホワイトリストに約90のterrain typeが入ってて、そいつらのmapgenが壊れてもホワイトリストが黙って隠しちゃうんだよね。ホワイトリスト自体はいじらずに、カバレッジを広げるフィルタリング生成を追加した。
- [#85978] レシピ結果情報をcrafting_gui_helpersに分離 by dobbry-vechur
変更の理由: #85959、#85961、#85963の続き。ImGuiクラフトメニュー変換の準備。recipe_result_info_cacheクラス(ワイドモードの右パネル、[R]でのポップアップ)は約235行の純粋な計算処理がcursesのgetmaxx(window)やグローバルのTERMXに依存してた。GUIファイルに置いておく必要のないロジックだった。
変更の理由: #85959、#85961、#85963の続き。ImGuiクラフトメニュー変換の準備。recipe_result_info_cacheクラス(ワイドモードの右パネル、[R]でのポップアップ)は約235行の純粋な計算処理がcursesのgetmaxx(window)やグローバルのTERMXに依存してた。GUIファイルに置いておく必要のないロジックだった。
- [#85968] アイテム分類時のビューポートロックオプションを追加 by dobbry-vechur
変更の理由: #85956の実装。アイテム分類中はプレイヤーが移動元と移動先を行ったり来たりするんだけど、カメラが毎回追従するから大きな拠点だとかなり見づらいんだよね。カメラを分類エリアに固定するオプションを追加した。
変更の理由: #85956の実装。アイテム分類中はプレイヤーが移動元と移動先を行ったり来たりするんだけど、カメラが毎回追従するから大きな拠点だとかなり見づらいんだよね。カメラを分類エリアに固定するオプションを追加した。
- [#85979] レシピリストパイプラインをcrafting_gui_helpersに分離 by dobbry-vechur
変更の理由: #85978のフォローアップ。select_crafter_and_crafting_recipe()内のrecalcブロックはcrafting_gui.cppに残ってた最大のロジック塊で、フィルタリング、キャッシュ、ソート、ネスト展開が約80行にテストカバレッジゼロで絡み合ってた。
変更の理由: #85978のフォローアップ。select_crafter_and_crafting_recipe()内のrecalcブロックはcrafting_gui.cppに残ってた最大のロジック塊で、フィルタリング、キャッシュ、ソート、ネスト展開が約80行にテストカバレッジゼロで絡み合ってた。
2026/03/22
- [#85984] NPCの要求システム: 緊急度スコアリングとutilityストラテジー by dobbry-vechur
変更の理由: utilityストラテジーは#85924で実装されたけど中身がなかった。score_predicate_mapは空だし、npc_behavior.jsonのルートはまだsequential_until_doneのままだったんだよね。今回それを埋めて、行動ツリーが固定順じゃなくて緊急度で優先度をつけるようにした。#28681から続くNPCの要求アーキテクチャの一環。
変更の理由: utilityストラテジーは#85924で実装されたけど中身がなかった。score_predicate_mapは空だし、npc_behavior.jsonのルートはまだsequential_until_doneのままだったんだよね。今回それを埋めて、行動ツリーが固定順じゃなくて緊急度で優先度をつけるようにした。#28681から続くNPCの要求アーキテクチャの一環。
- [#85970] CBM: ガソリン燃料電池の説明文を調整 by Bydth
変更の理由: 初PR。CBM: ガソリン燃料電池には胴体の動作制限5という他の燃料消費型CBMにはない微妙な数値がついてるのに、説明文にその記載がなかったんだよね。0.Gのプレイで引っかかったことがあったんだよ。
変更の理由: 初PR。CBM: ガソリン燃料電池には胴体の動作制限5という他の燃料消費型CBMにはない微妙な数値がついてるのに、説明文にその記載がなかったんだよね。0.Gのプレイで引っかかったことがあったんだよ。
- [#85991] NPCの要求システム: 新旧比較診断、眠気、避難所、can_make_fireの修正 by dobbry-vechur
変更の理由: 行動ツリー診断のカバレッジを広げて、誤った結果を返してた2つの述語を修正した。#85984に依存。
変更の理由: 行動ツリー診断のカバレッジを広げて、誤った結果を返してた2つの述語を修正した。#85984に依存。
- [#85971] 「内なる山小屋」、山小屋の残響次元の深部 by Tektolnes
変更の理由: @Blueflowerssとのコラボでcabinception(山小屋 in 山小屋)を作った。
変更の理由: @Blueflowerssとのコラボでcabinception(山小屋 in 山小屋)を作った。
- [#86009] [MoM] バースト・オブ・スピードをcaster_conditionに移行 by Standing-Storm
変更の理由: この手のチェックのためにわざわざEoCを別定義する必要がなくなったからね。
変更の理由: この手のチェックのためにわざわざEoCを別定義する必要がなくなったからね。
- [#86006] 不可視のハンターに「NETHER」種族を付与 by anoobindisguise
変更の理由: 不可視のハンターには種族が定義されてなかったんだけど、どう見ても異界の化け物だよね。倒すと溶けて消えるし、ポータルから出てくるし、異界モンスターの弱点セット使ってるし、異界モンスターのJSONファイルに入ってるし。種族がなかったせいで異界モンスターを検知する能力で見つけられなかった(透明なのに!)。しかも異界憎悪の条件下でこいつを攻撃すると「本物の」異界モンスターじゃない扱いでペナルティが発生するし。
変更の理由: 不可視のハンターには種族が定義されてなかったんだけど、どう見ても異界の化け物だよね。倒すと溶けて消えるし、ポータルから出てくるし、異界モンスターの弱点セット使ってるし、異界モンスターのJSONファイルに入ってるし。種族がなかったせいで異界モンスターを検知する能力で見つけられなかった(透明なのに!)。しかも異界憎悪の条件下でこいつを攻撃すると「本物の」異界モンスターじゃない扱いでペナルティが発生するし。
- [#86010] [Xedra Evolved] アルボレのcaster conditionへの移行 by Standing-Storm
変更の理由: EoCに依存してキャスター/ターゲット条件をチェックしてたアルボレの呪文を、caster_conditionとtarget_conditionフィールドに移行した。
変更の理由: EoCに依存してキャスター/ターゲット条件をチェックしてたアルボレの呪文を、caster_conditionとtarget_conditionフィールドに移行した。
- [#85323] appears neutralフラグの追加とポリモーフspecialへの条件追加 by Maleclypse
変更の理由: とある特別なモンスターのために、appears neutralフラグとポリモーフspecialへの条件を追加した。
変更の理由: とある特別なモンスターのために、appears neutralフラグとポリモーフspecialへの条件を追加した。
- [#84314] 銃器の名前・説明文の更新 (その2) by SchrodingerSig
変更の理由: #83875の続き。銃器の名前と説明文の一貫性を統一する作業。2月中旬3月末までに終わらせたいところ。
変更の理由: #83875の続き。銃器の名前と説明文の一貫性を統一する作業。
- [#86002] 銃器と近接武器の効果音のサポート強化 by AnotherSeawhite
変更の理由: SOUNDPACKS.mdには近接音がweapon idをバリアントとして受け付けると書いてあるのに、weapon idをチェックするコードはパフォーマンス上の理由で何年も前に削除されてたんだよね。今回それを復活させて、サウンドパックの制作者が近接武器ごとに固有の効果音を設定できるようにした。武術の攻撃にも対応。あと#85814を解決。銃の発射音は銃のIDで定義するんだけど、IDが大量にあってサウンドJSONが肥大化するし、口径変換も考慮されてないって問題があった。サプレッサー付き銃の効果音サポートも修正・再実装した。現状ではloudness_modifierを持つガンモッドをチェックしてたけど、サプレッサーは今はloudness_multiplierを使ってるからね。
変更の理由: SOUNDPACKS.mdには近接音がweapon idをバリアントとして受け付けると書いてあるのに、weapon idをチェックするコードはパフォーマンス上の理由で何年も前に削除されてたんだよね。今回それを復活させて、サウンドパックの制作者が近接武器ごとに固有の効果音を設定できるようにした。武術の攻撃にも対応。あと#85814を解決。銃の発射音は銃のIDで定義するんだけど、IDが大量にあってサウンドJSONが肥大化するし、口径変換も考慮されてないって問題があった。サプレッサー付き銃の効果音サポートも修正・再実装した。現状ではloudness_modifierを持つガンモッドをチェックしてたけど、サプレッサーは今はloudness_multiplierを使ってるからね。
- [#86004] NPCの防寒行動: 衣服の着用と避難所への移動 by dobbry-vechur
変更の理由: NPCには体温システムがない。update_bodytemp()はアバター専用で、NPCは寒くならないし凍傷も受けないんだよね。行動ツリーの防寒述語も実際のゲームプレイでは発火しない。このPRはアクション側を追加して、防寒サブツリーが発火したらNPCが暖かい服を着て避難所に移動するようにした。ただしこれだけじゃ現状のゲームプレイは変わらない。NPC体温の更新処理は別途接続する必要がある。#85991に依存。
変更の理由: NPCには体温システムがない。update_bodytemp()はアバター専用で、NPCは寒くならないし凍傷も受けないんだよね。行動ツリーの防寒述語も実際のゲームプレイでは発火しない。このPRはアクション側を追加して、防寒サブツリーが発火したらNPCが暖かい服を着て避難所に移動するようにした。ただしこれだけじゃ現状のゲームプレイは変わらない。NPC体温の更新処理は別途接続する必要がある。#85991に依存。
2026/03/23
- [#86016] NPCの要求システム: 体温更新、拠点の水分摂取を胃経由に、非味方NPCの睡眠 by dobbry-vechur
変更の理由: NPCはupdate_bodytemp()もupdate_body_wetness()も呼んでなくて、体温シミュレーションはアバター専用だったんだよね。#86004の防寒行動もNPCが寒くならないから発火しなかった。consume_food_from_camp()はset_thirst(0)で直接喉の渇きをリセットしてて胃を経由してなかったから、要求システムが動くと次の更新で喉の渇きがすぐ戻っちゃう。非味方NPCは眠くなっても横にならず回復もせず、眠気を毎ターン0にハードリセットしてた。#28681に関連。
変更の理由: NPCはupdate_bodytemp()もupdate_body_wetness()も呼んでなくて、体温シミュレーションはアバター専用だったんだよね。#86004の防寒行動もNPCが寒くならないから発火しなかった。consume_food_from_camp()はset_thirst(0)で直接喉の渇きをリセットしてて胃を経由してなかったから、要求システムが動くと次の更新で喉の渇きがすぐ戻っちゃう。非味方NPCは眠くなっても横にならず回復もせず、眠気を毎ターン0にハードリセットしてた。#28681に関連。
- [#86030] 内なる山小屋のルアナに欠けていた
変更の理由: ルアナは柔らかい素材の想定で掛け衣のように着られるはずだったのに、
SOFTフラグを追加 by Tektolnes
変更の理由: ルアナは柔らかい素材の想定で掛け衣のように着られるはずだったのに、
SOFTフラグが抜けてた。
- [#86035] NPCの要求システム: 地面からの資源獲得(飲食・着用) by dobbry-vechur
変更の理由: NPCはインベントリか拠点の食料庫にあるものしか消費できなくて、手持ちがなくて拠点もなければただ突っ立って死ぬだけだったんだよね。これは環境との相互作用の第一歩で、#28681でいう「野生動物」マイルストーンにあたる。#86016に依存。
変更の理由: NPCはインベントリか拠点の食料庫にあるものしか消費できなくて、手持ちがなくて拠点もなければただ突っ立って死ぬだけだったんだよね。これは環境との相互作用の第一歩で、#28681でいう「野生動物」マイルストーンにあたる。#86016に依存。
- [#86036] 製作要件の定義に表示名を追加 by dobbry-vechur
変更の理由: surface_heatみたいな製作要件IDはロード時に16個以上のツール候補に展開されて、クラフトUIでは「X OR Y OR Z OR ...」って平坦なリストで全部表示されるんだよね。要件が何なのかまとめるラベルがなくてツール欄が見づらかった。今回はデータ側の配管を追加して、製作要件の定義に翻訳可能な表示名を持たせられるようにした。UI側で実際に表示するのは別PR。
変更の理由: surface_heatみたいな製作要件IDはロード時に16個以上のツール候補に展開されて、クラフトUIでは「X OR Y OR Z OR ...」って平坦なリストで全部表示されるんだよね。要件が何なのかまとめるラベルがなくてツール欄が見づらかった。今回はデータ側の配管を追加して、製作要件の定義に翻訳可能な表示名を持たせられるようにした。UI側で実際に表示するのは別PR。
- [#85993] 銃器のアクションフラグを実装 by GuardianDll
変更の理由: #84464を作るとき、M1014とレミントン870エクスプレスを銃バリアントバリデーターの除外リストに入れなきゃいけなかった。ベネリはセミオートでレミントンはポンプアクションだからね。よく考えたらこの2つの区別がゲーム内であんまりなされてなかったから、差をつけてみた。
変更の理由: #84464を作るとき、M1014とレミントン870エクスプレスを銃バリアントバリデーターの除外リストに入れなきゃいけなかった。ベネリはセミオートでレミントンはポンプアクションだからね。よく考えたらこの2つの区別がゲーム内であんまりなされてなかったから、差をつけてみた。
2026/03/24
- [#86048] [MoM] アーティファクトのマトリクス結晶のレシピ学習を修正 by Standing-Storm
変更の理由: ヴァイタキネシスのレシピが、覚醒前バージョンの結晶をフォーカスとして受け付けるべきなのに受け付けてなかった。
変更の理由: ヴァイタキネシスのレシピが、覚醒前バージョンの結晶をフォーカスとして受け付けるべきなのに受け付けてなかった。
- [#86040] [Xedra Evolved] エルデの皮膚アーマーを強化 by Standing-Storm
変更の理由: 砂利の皮膚と石の皮膚は重い割に防御力が低かった。石のカバー率が0.5/0.25mmしかなかったんだよね。
変更の理由: 砂利の皮膚と石の皮膚は重い割に防御力が低かった。石のカバー率が0.5/0.25mmしかなかったんだよね。
- [#86042] Map Extra: 打ち捨てられたジェットスキー by Geevies
変更の理由: 初PRだからやりすぎないようにしつつ、もうちょっと海の雰囲気を出したかったんだよね。現実でもわりとよく見るジェットスキーを、カヌーやカヤックが川辺に生成されるのと同じノリで、壊れて放置された状態のやつを追加した。
変更の理由: 初PRだからやりすぎないようにしつつ、もうちょっと海の雰囲気を出したかったんだよね。現実でもわりとよく見るジェットスキーを、カヌーやカヤックが川辺に生成されるのと同じノリで、壊れて放置された状態のやつを追加した。
- [#86047] [MoM] ヴァイタキネシスの能力「局所睡眠」を追加 by Standing-Storm
変更の理由: 睡眠不要でも疲労が溜まるようになったおかげで、やっと実装できるようになった。
変更の理由: 睡眠不要でも疲労が溜まるようになったおかげで、やっと実装できるようになった。
- [#86018] [Xedra Evolved] サラマンダーのcaster condition設定 by Standing-Storm
変更の理由: 最近のアルボレPRと同じことをサラマンダーにも。
変更の理由: 最近のアルボレPRと同じことをサラマンダーにも。
- [#86021] コーヒー豆(焙煎)のカテゴリを修正 by 12347654
変更の理由: コーヒー豆(焙煎)が食材として使われるのに「その他」カテゴリに入ってた。直接食べられるわけじゃないけど、他の調理用食材と一緒に食品カテゴリに入るべきだよね。
変更の理由: コーヒー豆(焙煎)が食材として使われるのに「その他」カテゴリに入ってた。直接食べられるわけじゃないけど、他の調理用食材と一緒に食品カテゴリに入るべきだよね。
- [#86012] 新Map Extra: 最後の抵抗 by Geevies
変更の理由: 大学生や麻薬取引以外のMap Extraもあった方がいいなと思ってさ。ホードから逃げてる最中にキャラが死ぬことよくあるし、生存者が追い詰められて殺されたシチュエーションが欲しかったんだよね。休眠ゾンビは最後の抵抗で撃ち倒されたけど死体の破壊まで手が回らなかったゾンビで、再起動すると起き上がってプレイヤーを襲ってくる。
変更の理由: 大学生や麻薬取引以外のMap Extraもあった方がいいなと思ってさ。ホードから逃げてる最中にキャラが死ぬことよくあるし、生存者が追い詰められて殺されたシチュエーションが欲しかったんだよね。休眠ゾンビは最後の抵抗で撃ち倒されたけど死体の破壊まで手が回らなかったゾンビで、再起動すると起き上がってプレイヤーを襲ってくる。
- [#85380] 聴覚強化装置にパワー消費を追加 by anoobindisguise
変更の理由: 以前はこのCBMは騒音の通知をオフにできなくて微妙だったけど、今はオフにできるからかなり使えるようになった。だからコストが必要だよね。
変更の理由: 以前はこのCBMは騒音の通知をオフにできなくて微妙だったけど、今はオフにできるからかなり使えるようになった。だからコストが必要だよね。
- [#85965] 山小屋の残響次元の山小屋を空にする by Blueflowerss
変更の理由: 冷蔵庫に食べ物が入ってて、水タンクに水が入ってて、本棚に本がある。この次元のイメージに合わないんだよね。
変更の理由: 冷蔵庫に食べ物が入ってて、水タンクに水が入ってて、本棚に本がある。この次元のイメージに合わないんだよね。
- [#86055] SDLレンダリング呼び出しをラッパー関数に集約 by dobbry-vechur
変更の理由: SDL2のレンダリング関数がsdl_wrappers.hを介さずに複数ファイルから直接呼ばれてた。API呼び出しがコードベース全体に散らばってて、エラー処理も呼び出し元ごとにバラバラ(もしくは何もしてない)だったんだよね。
変更の理由: SDL2のレンダリング関数がsdl_wrappers.hを介さずに複数ファイルから直接呼ばれてた。API呼び出しがコードベース全体に散らばってて、エラー処理も呼び出し元ごとにバラバラ(もしくは何もしてない)だったんだよね。
- [#86052] NPCの要求システム: 避難所の範囲、車両の荷物、床面の水分摂取、採集 by dobbry-vechur
変更の理由: #86035の周辺アイテム取得を安定化させた。食料の隣で餓死したり、ドアから2タイル先で凍えたりするエッジケースを修正して、車両の荷物を食料・衣服の供給源に追加、最後の手段としての採集オプションもつけたよ。#28681に関連。
変更の理由: #86035の周辺アイテム取得を安定化させた。食料の隣で餓死したり、ドアから2タイル先で凍えたりするエッジケースを修正して、車両の荷物を食料・衣服の供給源に追加、最後の手段としての採集オプションもつけたよ。#28681に関連。
- [#86037]
変更の理由: ちょっと前のミスでhouse_w_6マップにéの定義が紛れ込んでて、本来の食器棚の代わりにボーナスルームが生成されちゃってた。
house_w_6マップのnest生成で「ボーナスルーム」が出る問題を修正 by BalthazarArgall
変更の理由: ちょっと前のミスでhouse_w_6マップにéの定義が紛れ込んでて、本来の食器棚の代わりにボーナスルームが生成されちゃってた。
- [#86056] NPCの要求システム: トップレベルの意思決定BT診断 by dobbry-vechur
変更の理由: NPCの要求BT(#85927-#86052)が飲食・睡眠・防寒アクションをaddress_needs()に接続したんだけど、これがnpc::move()のガード帰還チェックより先に発火するせいで、警備NPCが食事や睡眠のために持ち場を離れるようになっちゃった。根本原因は要求と任務が別システムに分かれてて優先度の調整ができないこと。戦闘・調査・要求・任務を競合するゴールとして扱うトップレベルの意思決定BTを追加した。レガシーのカスケードと並行して毎ターン評価して、対称的なカテゴリ比較をログに記録するようにしたよ。まだ動作の変更はなし。#86052に依存。#28681に関連。
変更の理由: NPCの要求BT(#85927-#86052)が飲食・睡眠・防寒アクションをaddress_needs()に接続したんだけど、これがnpc::move()のガード帰還チェックより先に発火するせいで、警備NPCが食事や睡眠のために持ち場を離れるようになっちゃった。根本原因は要求と任務が別システムに分かれてて優先度の調整ができないこと。戦闘・調査・要求・任務を競合するゴールとして扱うトップレベルの意思決定BTを追加した。レガシーのカスケードと並行して毎ターン評価して、対称的なカテゴリ比較をログに記録するようにしたよ。まだ動作の変更はなし。#86052に依存。#28681に関連。
- [#86033] [スカイアイランド] チャレンジモード by thaelina
変更の理由: レイドのアンロック式チャレンジモードを追加したよ。プレイヤーがアンロック後に自由に切り替えられる完全任意のトグルで、レイドの難易度を上げる代わりに報酬も増える。
変更の理由: レイドのアンロック式チャレンジモードを追加したよ。プレイヤーがアンロック後に自由に切り替えられる完全任意のトグルで、レイドの難易度を上げる代わりに報酬も増える。
- [#86063] 避難センター裏手のno_faction NPCの区画と水へのアクセスを修正 by dobbry-vechur
変更の理由: no_faction NPC(放火魔、スカベンジャー傭兵)が裏手の音を調べに行ってバリケードを壊し、ドアを開けて、そのまま寝ちゃうんだよね。#86061の修正。あとfree_merchantsが拠点の水を共有してくれないせいで脱水で死んでた。
変更の理由: no_faction NPC(放火魔、スカベンジャー傭兵)が裏手の音を調べに行ってバリケードを壊し、ドアを開けて、そのまま寝ちゃうんだよね。#86061の修正。あとfree_merchantsが拠点の水を共有してくれないせいで脱水で死んでた。
- [#86053] 都市のサイズと間隔の設定を
変更の理由: CITY_SIZE、CITY_SPACING、MEGACITYのワールド/外部オプションをregion_settings_cityオブジェクトに移動した。これで次元ごとに都市の生成設定を変えられるようになって、都市生成がオール・オア・ナッシングじゃなくなったよ。
region_settings_cityオブジェクトに移動 by thaelina
変更の理由: CITY_SIZE、CITY_SPACING、MEGACITYのワールド/外部オプションをregion_settings_cityオブジェクトに移動した。これで次元ごとに都市の生成設定を変えられるようになって、都市生成がオール・オア・ナッシングじゃなくなったよ。
2026/03/25
- [#86067] リスキルで経験値を稼げないように by RenechCDDA
変更の理由: > ゾンビ鹿の死体を13体放置して、後で戻ってきてスキル経験値を稼いでた 「kill xp」に空目した。まあいいや、それでもエクスプロイトだよね。
変更の理由: > ゾンビ鹿の死体を13体放置して、後で戻ってきてスキル経験値を稼いでた 「kill xp」に空目した。まあいいや、それでもエクスプロイトだよね。
- [#86068] [スカイアイランド] チャレンジモードの修飾子を2つ追加 by thaelina
変更の理由: チャレンジモードの修飾子を2つ追加: ホードが島を離れるまで追いかけてくる、大都会次元。
変更の理由: チャレンジモードの修飾子を2つ追加: ホードが島を離れるまで追いかけてくる、大都会次元。
- [#86066] 夜明け・日暮れ・ビーコンの光に色を付ける by dobbry-vechur
変更の理由: CDDAの光は全部スカラー値で、炎もビーコンも照明弾もケミカルライトも同じ白い光を出してたんだよね。色付き光を追加して、パトカーのビーコンが赤青に点滅したり、夜明けと日暮れにいつもの昼/夜バイナリ切り替えじゃなくて暖かいオレンジの色味がつくようにした。より豊かなレンダリングの下地にもなるよ。
変更の理由: CDDAの光は全部スカラー値で、炎もビーコンも照明弾もケミカルライトも同じ白い光を出してたんだよね。色付き光を追加して、パトカーのビーコンが赤青に点滅したり、夜明けと日暮れにいつもの昼/夜バイナリ切り替えじゃなくて暖かいオレンジの色味がつくようにした。より豊かなレンダリングの下地にもなるよ。
- [#86074] 汎用バリアントの説明文フォールバックを修正 by BalthazarArgall
変更の理由: バリアントの説明文が空のとき、元アイテムの説明文じゃなくてアイテムそのものにフォールバックしてた。
変更の理由: バリアントの説明文が空のとき、元アイテムの説明文じゃなくてアイテムそのものにフォールバックしてた。
2026/03/26
- [#86094] ナスの不健康フラグを削除 by Good-Ol-Been
変更の理由: ナスとカットナスがゲーム内で不健康扱いになってるんだけど、なぜそうなのか調べても根拠が見つからなかった。思いつく理由はマクロ・ミクロ栄養素が少ないってことくらいだけど、食物繊維と水分の塊にウイスキーと同じ不健康反応はないでしょ。調べてみると高繊維は消化器の健康や大腸がんリスク低下に関連してるし、他の抗酸化物質より効果的にがんリスクを下げる成分も含まれてる。見落としか、他の食品との整合性が取れてないんじゃないかな。
変更の理由: ナスとカットナスがゲーム内で不健康扱いになってるんだけど、なぜそうなのか調べても根拠が見つからなかった。思いつく理由はマクロ・ミクロ栄養素が少ないってことくらいだけど、食物繊維と水分の塊にウイスキーと同じ不健康反応はないでしょ。調べてみると高繊維は消化器の健康や大腸がんリスク低下に関連してるし、他の抗酸化物質より効果的にがんリスクを下げる成分も含まれてる。見落としか、他の食品との整合性が取れてないんじゃないかな。
- [#86091] [MoM] エフェメラル・ウォーク中の移動にスタミナ消費を追加 by Standing-Storm
変更の理由: エフェメラル・ウォークはほんとに凄い能力でめちゃくちゃ強いのはみんな知ってるよね。壁抜け移動が一瞬で済む問題は解決してないけど、危険地帯で常時オンにしとく誘惑は減らせるかなと。
変更の理由: エフェメラル・ウォークはほんとに凄い能力でめちゃくちゃ強いのはみんな知ってるよね。壁抜け移動が一瞬で済む問題は解決してないけど、危険地帯で常時オンにしとく誘惑は減らせるかなと。
- [#86086] 紐の次元の郊外教会が発光するように by Tektolnes
変更の理由: 郊外教会の異界の紐はずっと「光ってる」設定だったのに、実際には光ってなかった。マゼンタに光るようにしたよ。
変更の理由: 郊外教会の異界の紐はずっと「光ってる」設定だったのに、実際には光ってなかった。マゼンタに光るようにしたよ。
- [#86026] NPCの足音効果音を修正 by AnotherSeawhite
変更の理由: プレイヤーもNPCも足音を出すんだけど、足音の効果音を生成する関数がプレイヤーしかチェックしてなくて、NPCの足音が間違ってたり(プレイヤーが金属床の上にいると、水タイルにいるNPCまで金属音を出す)、NPCの移動音がプレイヤーの位置で生成されるから何マイルも離れたNPCの足音が至近距離で聞こえたりしてた。
変更の理由: プレイヤーもNPCも足音を出すんだけど、足音の効果音を生成する関数がプレイヤーしかチェックしてなくて、NPCの足音が間違ってたり(プレイヤーが金属床の上にいると、水タイルにいるNPCまで金属音を出す)、NPCの移動音がプレイヤーの位置で生成されるから何マイルも離れたNPCの足音が至近距離で聞こえたりしてた。
- [#86097] 壁抜けエンチャントの移動にターンとスタミナのコストを追加 by thaelina
変更の理由: game::phasing_move_enchantはコストなしの移動だったんだけど、スタミナとターンのコストを追加した。Z軸方向の移動には4タイル分の距離が必要にしたよ。
変更の理由: game::phasing_move_enchantはコストなしの移動だったんだけど、スタミナとターンのコストを追加した。Z軸方向の移動には4タイル分の距離が必要にしたよ。
- [#86100] 液体処理のフリーズとアイテム分類時の液体容器バイパスを修正 by dobbry-vechur
変更の理由: #86095の修正。アイテム分類が液体入りの開いた容器をtry_addで拾おうとして、on_pickup経由で対話型の液体ダイアログが表示されちゃうんだよね。小さすぎる容器に注ごうとするとhandle_item_targetが無条件にtrueを返してループが永遠に回るし、元の地面の容器に戻し注ぐとアイテム分類がその後で容器を削除して液体ごと消える。通常の拾い上げとACT_INSERT_ITEMは空でない液体容器を既に拒否してたのに、アイテム分類だけが例外だった。
変更の理由: #86095の修正。アイテム分類が液体入りの開いた容器をtry_addで拾おうとして、on_pickup経由で対話型の液体ダイアログが表示されちゃうんだよね。小さすぎる容器に注ごうとするとhandle_item_targetが無条件にtrueを返してループが永遠に回るし、元の地面の容器に戻し注ぐとアイテム分類がその後で容器を削除して液体ごと消える。通常の拾い上げとACT_INSERT_ITEMは空でない液体容器を既に拒否してたのに、アイテム分類だけが例外だった。
2026/03/27
- [#86113] NPCの就寝: 破壊なし経路探索とNPC_NO_GOゾーン by dobbry-vechur
変更の理由: 避難センターのNPCが夜になると建物裏手のバリケードを壊して侵入するんだよね。就寝場所の検索が半径60タイル内で一番快適なタイルを選んで、破壊ありの経路探索をするから、裏手のベッドが快適度で勝ってNPCがバリケードを破壊して突入、掃除するか死ぬかみたいなことになってた。#86110の修正。#86063と#86061に関連。
変更の理由: 避難センターのNPCが夜になると建物裏手のバリケードを壊して侵入するんだよね。就寝場所の検索が半径60タイル内で一番快適なタイルを選んで、破壊ありの経路探索をするから、裏手のベッドが快適度で勝ってNPCがバリケードを破壊して突入、掃除するか死ぬかみたいなことになってた。#86110の修正。#86063と#86061に関連。
- [#86107] カラー照明の影計算を統合、待機時のぼかし処理スキップ、照明の距離テーブル化 by dobbry-vechur
変更の理由: カラー光源(地形、家具、フィールド、light_color付きの車両ヘッドライト)が白色光源の約2倍のコストだったんだよね。影の計算が8方向ごとに2回ずつ――明るさ用とカラー用――走ってたから。576個の密集カラー光源のストレステストマップでCPUの約80%が照明処理に食われてた。
変更の理由: カラー光源(地形、家具、フィールド、light_color付きの車両ヘッドライト)が白色光源の約2倍のコストだったんだよね。影の計算が8方向ごとに2回ずつ――明るさ用とカラー用――走ってたから。576個の密集カラー光源のストレステストマップでCPUの約80%が照明処理に食われてた。
- [#86103] SDLサーフェス操作を抽象化レイヤーでラップ by dobbry-vechur
変更の理由: #86055の続き。SDL2のサーフェス関数がレンダリングやフォントのコードで直接呼ばれていて、SDL APIがコードベース全体に散らばってた。さらに重要なのが、これらの呼び出しの多くがSDL3で廃止されるSDL_PixelFormat構造体を使ってること(SDL3ではピクセルフォーマットがただのenumになる)。
変更の理由: #86055の続き。SDL2のサーフェス関数がレンダリングやフォントのコードで直接呼ばれていて、SDL APIがコードベース全体に散らばってた。さらに重要なのが、これらの呼び出しの多くがSDL3で廃止されるSDL_PixelFormat構造体を使ってること(SDL3ではピクセルフォーマットがただのenumになる)。
- [#86096] 充電アイテムを拾うたびにfind_parentのdebugmsgが出る問題を修正 by dobbry-vechur
変更の理由: #85439の修正。充電アイテムを拾ってインベントリの既存スタックに統合されると、inv_search_cacheが使われてる通常のゲームプレイでfind_parentのdebugmsgが出てた。
変更の理由: #85439の修正。充電アイテムを拾ってインベントリの既存スタックに統合されると、inv_search_cacheが使われてる通常のゲームプレイでfind_parentのdebugmsgが出てた。
- [#86116] 次元移動時にNPCを実際に新しいovermapへ移動させる by thaelina
変更の理由: #83032でNPCが次元移動に同行するようになったんだけど、ついてきたNPCが実際にはついてきてなくて、元の場所にオリジナルが残ったまま次元側のNPCがバグってた。それを修正。
変更の理由: #83032でNPCが次元移動に同行するようになったんだけど、ついてきたNPCが実際にはついてきてなくて、元の場所にオリジナルが残ったまま次元側のNPCがバグってた。それを修正。
- [#86108] ハブ01が上位ヘッドギアを適切なタイミングで販売するように by Tektolnes
変更の理由: ハブ01がオートドクを待たずにLENSを売ってた(見落とし)。あと、ハブ01視覚拡張ヘッドギアの追加分を売ってなかった(そのヘッドギアを追加したときに入れ忘れてただけ)。
変更の理由: ハブ01がオートドクを待たずにLENSを売ってた(見落とし)。あと、ハブ01視覚拡張ヘッドギアの追加分を売ってなかった(そのヘッドギアを追加したときに入れ忘れてただけ)。
- [#86122] light_color_testでリネームされた地形フィクスチャの修正 by dobbry-vechur
変更の理由: light_color_test.cppの2箇所がまだ古い名前ter_t_utility_lightを使ってたのに、宣言セクションではter_test_t_utility_lightにリネーム済みだった。
変更の理由: light_color_test.cppの2箇所がまだ古い名前ter_t_utility_lightを使ってたのに、宣言セクションではter_test_t_utility_lightにリネーム済みだった。
おわり。