2026年3月21日土曜日

[Cataclysm: DDA] 今週のカタクリ 2026-03-14 〜 2026-03-20 号

今週マージされたPRは105件でした。

タイトルと変更の理由は超訳です。

あともちろん超絶ネタバレする可能性あります。

 

今週はゾーンアクティビティ周りのバグ修正の大量のバグ修正とか、引き続き四肢の身体パーツ化の継続が行われていました。

 

今週の気になったPRはこれ

 

[#85753] Z軸をまたぐ長柄攻撃を削除
 ⇒ じゃあニャキ持ってくれば良いって言うんですか!?

 

[#85632] リアリティバブル外のグリッド発電と永続的なpower_networkクラスを追加
 ⇒ 遠出しても拠点で発電が続くようになったらしい。拠点建設もそろそろ現実的かも

 

 

2026/03/14
- [#85829] ゾーンアクティビティのハング、ルートキャッシュのパフォーマンス、パスファインダーのZスコアリングを修正 by dumb-kevin
 変更の理由: #85827の対処。#85826#85750にも関連。ゾーンアクティビティ(分類、農作業、建設)が1フレームで際限なく処理を回してゲームをフリーズさせることがあった。ゲームループはwhile(moves > 0 && activity)で回るんだけど、ゾーンアクティビティには大量のソースをスキャンして、A*経路探索を走らせて、ステージを遷移するのにmovesを消費しないコードパスがあったんだよね。ゾーンとアイテムが大量にある拠点だと、1フレームに数秒〜数分のブロッキング処理が走って、フリーズしてるように見えてた。ルートキャッシュが際限なく溜まってメモリも膨張してたよ

 

- [#85790] 車両の生成ウェイトを調整 by DeadArsenal
 変更の理由: いくつかの車両の生成ウェイトがとんでもなくおかしくて、アメリカの道路にあるはずのものが出てこなかった。セダン、クーペ、ハッチバックが主犯で、ヒッピーバンやビートルも現実の使用率と比べると不自然なくらい多かったんだよね

 

- [#85833] デバッグ用helmet_scavengerレシピをtest_dataに移動 by GuardianDll
 変更の理由: helmet_scavenger_debugレシピはテスト用なのに通常の検索に出てきちゃってた

 

- [#85832] カニの脚を身体パーツ化 by Standing-Storm
 変更の理由: 四肢化の続き

 

- [#85825] 豚の殺戮を止める by Standing-Storm
 変更の理由: 派閥関係のせいで、豚がキレて一緒に納屋にいる他の動物を皆殺しにしてたんだよ

 

- [#85822] FMSのポイント割り振りに関する記述を更新 by AnotherSeawhite
 変更の理由: ポイント割り振りは完全に削除された(#85528)。FMSからポイント割り振りに関する言及を削除したよ

 

- [#85817] ハンドガン(.38口径スペシャル/秘匿携行用6シューター)が本当に6発撃てるように by GuardianDll
 変更の理由: 秘匿携行用6シューターが5発しか入らないって報告があったんだよ

 

- [#85828] 重装防弾ベストにlooks_likeを追加 by andrewhr
 変更の理由: NeoDaysで遊んでるんだけど、この防具はスタンドアロンのスプライトはかっこいいのに着ると何も表示されなかったんだよね。着用時オーバーレイが欲しかったから追加したよ

 

- [#85786] MDからYAMLへの移行に合わせてリンクを更新 by ArsenijN
 変更の理由: 「... using bug report template」や「... using feature request template」をクリックしても、テンプレート付きのissue作成ページに飛ばなくなってたんだよ

 

- [#85753] Z軸をまたぐ長柄攻撃を削除 by RenechCDDA
 変更の理由: 要するに、Z軸をまたいだ長柄攻撃は事実上ノーリスクのハメ技なんだよ。屋上に登って安い槍でゾンビを無限に突けちゃうからさ

 

- [#85818] README.mdのテンプレートリンクを修正 by Brambor
 変更の理由: README.mdのリンクを修正

 

- [#85816] 積雪深の修正: 均一な積もり方、Z軸正規化、デバッグオーバーレイ by dumb-kevin
 変更の理由: #85724のフォローアップ。積雪深システムにいくつかエッジケースがあった。プレイヤーがいるOMTだけが毎ティック積雪して、新しく訪れたOMTは周囲の積雪深を引き継がずに0mmから始まって、Z軸ごとに別々に追跡してたから屋上と地上で同じxy座標なのに違う値になってたんだよね。あとウィジェットがどのサイドバーレイアウトにも入ってなかった

 

- [#85628] 設備の電力グリッド解決パスを追加 by dumb-kevin
 変更の理由: 設備(冷凍庫、冷蔵庫、ランプ)がプレイヤーが拠点の近くを歩くだけで永久に無効化されちゃう問題。power_parts()が車両ごとにダイクストラ法で接続されたバッテリーを探すんだけど、サブマップの読み込み順やオフマップの車両、古いケーブル座標のせいでバッテリーが見つからないと、バッテリー不足と判定してすべての電力消費パーツをenabled = falseで一生固定しちゃう。復帰手段がなくて、プレイヤーが毎回手動で全部オンに戻さなきゃいけなかった。これが一番よく報告されるグリッドのバグだよ。関連: #83514#84611

 

- [#85802] ハブ01が基本的な人工肢を設置・修理するように by Tektolnes
 変更の理由: 人工肢をゲームに組み込んでいくよ

 

- [#85835] 空タイルの多い大きなゾーンでアイテム分類が停止するバグを修正 by dumb-kevin
 変更の理由: #85829のフォローアップ。大きな未分類ゾーン(20x20とか)でほとんどのタイルが空だとアイテム分類が停止してた——キャラクターが立ったまま時間だけ過ぎて何も分類されないんだよ。#85826の調査中に発見。#85829で追加したルート探索のmove枠が全movesを食い尽くして、検証ループが回る前に終わっちゃってた。空タイルがcoord_setに残り続けて毎ターン同じ結果で再探索されるっていう。さらに、複数ゾーンのアクティビティ(分解、建設)でfetchアクティビティが行き先を設定した直後にresume_backlog_activityが親アクティビティを復元して、同じフレーム内で同じfetchサイクルが無限ループする問題もあった

 

- [#85819] 人工肢と変異の相互作用 その2 by Tektolnes
 変更の理由: #85812の続き。特定の変異と人工肢の非互換性を正しく設定できるようになったよ

 

- [#85821] 皮下保護メッシュとハブ01のXM-limb CBMが人工肢と非互換に by Tektolnes
 変更の理由: 皮下保護メッシュとXM-limb CBMは人工肢と非互換にする必要がある。生身の肉体が前提のCBMだからね

 

- [#85836] 武術のボーナス回避/ブロックから+/-記号を削除 by thaelina
 変更の理由: 武術の説明文にあった不要な+/-記号を削除

 

- [#85837] ハブ01のCBM知識を進める追加手段をいくつか追加 by Tektolnes
 変更の理由: いくつかのミッションや会話の選択肢で、ハブ側がCBMの仕組みについて知見を得られるはずなのに反映されてなかった。CBM/エクゾディ知識を追跡する新カウンターに加算されるようにしたよ

 

- [#85834] UNLOADゾーンで液体容器がアイテム分類をハングさせるバグを修正 by dumb-kevin
 変更の理由: #85827の修正。液体入りの容器(メープルシロップのボトルとか)が未分類ゾーンとUNLOAD_ALLゾーンの両方があるタイルにあって、中身の行き先の区画がないと分類がハングする。ゲームが応答しなくなってメモリ使用量がプロセスが殺されるまで膨張し続けるんだよ

 

- [#85820] 複数の変異に不足していたtypesを追加 by Tektolnes
 変更の理由: 虫の手足など、いくつかの変異に適切なtypesが設定されてなかったんだよ

 

- [#85811] CBMインターフェースをすでにもらっていてもAnus Fetickミッションを完了できるように by Tektolnes
 変更の理由: CBMインターフェースをすでに持っていても受け取れる報酬がある(Mk II蓄電装置、お金、評判)。でもルビクからインターフェースをもらった後はAnus Fetickを完了できない会話条件があったんだよ。これはミスだったよ (訳註: Anus Fetickはルビクが「anesthetic(麻酔薬)」を訛って言ったもので、麻酔薬1000単位を届けるミッションのことです)

 

- [#85845] コマンドのコメント整理 by dumb-kevin
 変更の理由: コメントする者としてコマンドにコメントすることをここにコメントする

 

2026/03/15
- [#85844] ゾーンアクティビティがプレイヤーのキャンセルを無視するバグを修正 by dumb-kevin
 変更の理由: JSON定義でmulti_activity=trueになってるゾーンアクティビティ(戦利品の荷降ろし、建設、分解、車両修理など)がプレイヤーによるキャンセルを受け付けなかった。.を押して確認しても何も起きず、アクティビティが即座に再開されちゃうんだよ。#85838#85840の修正

 

- [#85831] 陶製るつぼのレシピからグラファイト塊を除外 by christianweinz
 変更の理由: Innawoods MODで陶製るつぼを作るのがめちゃくちゃ大変なんだよ。グラファイト塊1個かグラファイト12500個が必要で、どっちも入手が難しい。グラファイト塊を粉砕するとグラファイト13750個になるから、塊のままるつぼに使うと全部なくなるけど、先に粉砕してからグラファイトで作れば1250個余る。るつぼを作った後もハンマー(青銅)を作るのにグラファイトは必須だから、先に粉砕するかどうかで進行に大きな差が出ちゃうんだよね

 

- [#85846] リアリティバブルの境界移動でケーブルが切断されるバグを修正 by dumb-kevin
 変更の理由: ケーブルでアイテム(工具やノートPC)を設備に接続していても、プレイヤーが遠くへ歩いて接続先の設備がリアリティバブルの外に出ると永久に切断されちゃう。戻ってくるとアーク溶接機やノートPCがグリッドから外れてるんだよ。#83712の修正

 

- [#85848] [Xedra Evolved] ホムルスに電子工学とコンピュータのスキルを伸ばす特性を2つ追加 by Standing-Storm
 変更の理由: 元素の精は基本的に電子工学とコンピュータをまったく使えないようにしたいんだけど、誰かに教わらない限りはね(そのPRは別で出すよ)。でもホムルスは別で、特性を通じて直感的に理解できるようにすべきだからさ

 

- [#85847] Aftershock: 細かいバグ修正まとめ by John-Candlebury
 変更の理由: MOD内のいくつかの細かい問題を修正。コミット参照

 

- [#85852] タオルを増量 by Maleclypse
 変更の理由: タオルが入ってるコレクションの設定がまずくて、マップ生成時にほとんど出てこなかったんだよ。いくつかの調整でタオルの出現率を上げたよ

 

2026/03/16
- [#85869] [MoM] 運転中のアストラル・プロジェクションを禁止 by Standing-Storm
 変更の理由: 運転中にアストラル・プロジェクションできちゃってたんだけど、その危険性(制御不能になって車が衝突して意識のない体が負傷する)を実際に表現できないから、とりあえず禁止にしたよ

 

 

 

- [#85870] 霊体や手のない状態ではコンピュータを使えないように。コンピュータ使用不可の汎用インフラを追加 by Standing-Storm
 変更の理由: 一部が機能追加で一部がバグ修正。動物の姿に変身してもコンピュータコンソールが使えちゃったし、霊体でも使えちゃってた。後者は実際に起きるかわからないけど、バグはバグだよ。前回のCDDAは: > *caw!* 「侵入完了」

 

- [#85867] モンスターの近接特殊攻撃が異常に命中しない問題を修正 by RenechCDDA
 変更の理由: #85864#85862を修正してるときに発見。スキル0のキャラが軽装でも、スタミナが半分に落ちるまで特殊近接攻撃を100%回避できちゃってた。特殊攻撃のアクターが何年も前に置き換えられた古いダイスロールをずっと使ってたんだよ。monster.cpp mattack_actors.cpp

 

- [#85880] 階段越しのZ軸近接攻撃を許可 by dumb-kevin
 変更の理由: #85876の修正。#85753で屋上の槍ハメ技対策にZ軸をまたぐ近接攻撃を全部無効にしたんだけど、階段での近接も壊れちゃった。階段の片方に立って敵が反対側にいると、どっちも攻撃できないし敵も通れないっていう無敵バグが発生してたんだよ

 

- [#85882] SWIM_UNDERの近接非対称性、NPCスタック、視認性の修正 by dumb-kevin
 変更の理由: #85748の修正。#84902でTHICK_ICEの近接ブロックを全SWIM_UNDER地形に汎化したんだけど、`monster::attack_at()`がモンスター自身のタイルじゃなくてターゲットのタイルのフラグをチェックしてた。歩道の下の魚が隣の床にいるプレイヤーを攻撃すると、床タイルにSWIM_UNDERがないからチェックを通っちゃうんだよ。NPCの仲間が手の届かない魚を殴ろうとしてスタックして気絶するし、見えないはずの水中の生き物も見えちゃってた

 

- [#85881] MODの競合チェックを双方向に by dumb-kevin
 変更の理由: #85878の修正。MODの競合チェックが一方向だった: MOD AがMOD Bとの競合を宣言してても、Aの後にBを追加したときだけブロックされて、逆順だとUIをすり抜けてワールド作成時に汎用エラーが出るだけだったんだよ。エラーメッセージもどのMODが問題なのか教えてくれなかったし

 

- [#85855] 雲の生成と気圧の修正 by migo-chan
 変更の理由: #84245のバックポート。詳細は該当PR参照

 

- [#85874] テストランナーからCatch2 v2の内部API使用を削除 by dumb-kevin
 変更の理由: テストランナーがCatch2 v3に存在しない(もしくは動作が異なる)v2の内部APIを3つ使ってた。Catch2をアップグレードするとしたら、機械的に移植できない唯一の箇所だったんだよ。それを分離・削除したよ

 

- [#85883] overmapbuffer::reset()で幹線道路の交差点グリッドをクリアするように by dumb-kevin
 変更の理由: overmapbuffer::reset()#73037(2024-04)でテスト間の状態保持用に作られた。14ヶ月後に#81602(2025-06)で幹線道路が追加されたとき、highway_intersectionsはclear()には追加されたけどreset()には入れ忘れてた。だからテスト間で古い交差点グリッドが残り続けて、前回のオーバーマップのオフセットで計算された交差点位置が新しいオーバーマップに影響して、通常の生成ではあり得ない形状が出てたんだよ

 

- [#85875] #85870にすべてのコミットをちゃんとプッシュする by Standing-Storm
 変更の理由: 最後のコミットをプッシュし忘れたのは誰でしょう?

 

- [#85872] 大きなゾーンでマルチゾーンアクティビティがハングする問題を修正 by dumb-kevin
 変更の理由: #85853の修正。#85826#85750にも関連。multi_zone_activity_actor::simulate_turnが毎回ゾーンの位置を全部取り直して、move枠なしで回してた。大きなVEHICLE_REPAIRゾーン(300タイル超)だと、修理可能な車両パーツのあるタイルごとに高コストな要件チェック(crafting_inventoryget_point_set_lootare_requirements_nearby)が走って——全部1フレームで処理されるからフリーズしてたんだよ

 

- [#85888] swim_underテストの不安定さを修正 by dumb-kevin
 変更の理由: #85882のフォローアップ。CIでswim_underテストが失敗してた——前のテストがプレイヤーのunderwaterフラグをセットしたまま残しちゃうことがあったんだよ

 

- [#85850] ハブ01アイテムのタイポを修正 by Tektolnes
 変更の理由: ハブ01のLENSアイテムのタイポ/見落としを修正

 

- [#85890] コウモリの翼を身体パーツ化 by Standing-Storm
 変更の理由: 四肢化の続き

 

- [#85589] 医療UIをゼロから作り直し、ImGuiで動作するように by GuardianDll
 変更の理由: ImGuiパワー💪 (訳註: 身体の状態を確認する医療画面がImGuiベースに刷新されました。STATSブロックが削除され、UIがすっきりしています)

 

- [#85824] 四肢のwindageとno_powerエフェクトを統合 by GuardianDll
 変更の理由: なぜかwindageとno_powerのエフェクトが四肢ごとに個別に存在してたんだよ。よろしくない

 

2026/03/17
- [#85887] [変更 - 特典アンロックシステム] 「秘密の領域」の定義を追加 by Standing-Storm
 変更の理由: 「秘密の領域」って結局なんなのさ?

 

- [#85898] 高密度骨のHPボーナスを説明文と一致させる by anoobindisguise
 変更の理由: ずっと昔、変異にはエンチャントがなくて、HPの乗算ボーナスを複数同時に持てなかったんだよ(例えばウシの体格と頑丈を両方持ってても、高い方だけ適用されてた)。だから高密度骨には固定のHPボーナスが付けられてたわけ。でも今はちゃんと重ねられるようになったから、説明文通りに動くようにしたよ

 

- [#85893] [Magiclysm] レイヴンフォークの翼に羽毛が生えるように by Standing-Storm
 変更の理由: 装甲カバー範囲の定義の仕組みのせいで、レイヴンフォークの翼に羽毛がなかったんだよ

 

- [#85899] [Xedra Evolved] 元素の精はテクノロジーを知らずに生まれてくる by Standing-Storm
 変更の理由: 元素の精を開始時に選ぶとどうなるかっていうと、文字通り昨日生まれたばかりなんだよね

 

- [#85886] 1g未満の解体素材の収穫量を修正 by dobbry-vechur
 変更の理由: #85877#85136の修正。to_gram()がint64_tを返すので、1g未満のアイテムは0に切り捨てられて解体収穫量の計算でゼロ除算が起きてた。x86では未定義動作で負の値になって(羽毛0個を黙って取得)、ARM64(Android)ではINT_MAXに飽和して、タイル容量上限で羽毛333333個になっちゃうんだよ。現在影響があるのは羽毛(10mg)だけだけど、すべての鳥の解体で生成されるんだ

 

 

- [#85903] 待機中のホードもオーバーマップに表示するように by esotericist
 変更の理由: #84417でホードデータ構造のうち描画するカテゴリを絞るコードが追加された(#84050で報告された鳥などが表示される問題の修正のため)。アクティブなホードだけに絞ったのはちょっと厳しすぎて、一部のゾンビホード(特にワールド生成時の初期配置ホード)が表示されなくなっちゃってたんだよ

 

- [#85129] [WIP] 新MOD「Hunvre」 by BalthazarArgall
 変更の理由: 自分のMODを追加したいんだ

 

 

- [#85906] ランダム生成NPCにNPC_starting_traitsを適用 by dobbry-vechur
 変更の理由: #85891の修正。#76935でランダムNPC生成をCharacter::randomizeに移動したんだけど、そのパスではNPC_starting_traitsの特性グループが適用されてなかった。これをオーバーライドしてるMOD(Magiclysmの50%ファンタジー種族とか)がずっと黙って壊れてたんだよ

 

- [#85911] 動作制限の計算でmagazine_wellを考慮するように by osuphobia
 変更の理由: magazine_wellは何年も前に追加されたのに動作制限の計算に使われてなかったから、考慮するようにしたよ

 

- [#85902] 士気の復旧処理を非破壊的に変更、読み込み時に変異状態を初期化 by dobbry-vechur
 変更の理由: #85895#85616#84673#78559の修正。check_and_recover_morale()が恒久的な士気の不整合(「着用アイテムの着心地が悪い」「被虐性愛」「着用アイテムが不潔」とか)を検出すると、恒久項目だけを含む新しい士気オブジェクトで丸ごと置き換えてたんだよ。食事、音楽、社交とか一時的な士気が全部吹っ飛んでた。根本原因はセーブ読み込み時にplayer_moraleの内部変異トラッキングが初期化されてなかったこと。has_mutation()がすべての特性でfalseを返すから、装備やステータス変更で誤った値を計算して、定期的な整合性チェックがそのズレを検出して「修正」のために全士気をリセットしちゃってたんだよ

 

- [#85885] エクゾディ側の解体工場を微調整 by Tektolnes
 変更の理由: 解体工場クエストのアイテムとルビクの会話にちょっと詳細を追加したよ

 

- [#85766] CONTRIBUTING.mdを移動してリンクを修正 by Korb
 変更の理由: リポジトリのコントリビューターにガイドラインを示すため、CONTRIBUTING.mdをリポジトリのルートに移動。GitHubの機能で「Contributing」タブやサイドバーのリンクに自動表示されるようになるよ。#85478をクローズ

 

- [#85894] 酸性粘液分泌からattacksを削除し、素手のときだけ機能するように by Standing-Storm
 変更の理由: attacksフィールドは武器を持ってても常に発動するんだけど、剣で刺しながらもう片方の手で酸を塗りたくってるわけないでしょ

 

2026/03/18
- [#85905] アイテムUIDを追加してitem_locationのシリアライズを安定化 by dobbry-vechur
 変更の理由: item_locationはコンテナ内のアイテムをインデックス(位置番号)でシリアライズしてるんだけど、シリアライズとデシリアライズの間にコンテナの中身が変わると(食事で消費されたり、restack()で統合されたり、クラフトで取り出されたり)インデックスがズレるんだよ。読み込み時に範囲外を指すか、別のアイテムに黙って紐づいちゃう。2023年から2026年にかけて17件以上のissueで報告されてる:#69796#70034#74074#75607#80112#84492#85108#85762#85839#85108で根本原因が特定された: プレイヤーのバックログに古いコンテナインデックスを持ったACT_EAT_MENUアクティビティが13個積まれてたんだよ。これまでの唯一の修正は#84466で、車両のシリアライズパスだけを個別に対策したものだった

 

- [#85849] ユニークOvermap Specialの生成率の計算式を修正 by dobbry-vechur
 変更の理由: #73618の修正。#73339で追加されたOVERMAP_UNIQUE/GLOBALLY_UNIQUEの適応的な計算式は、x_in_y(min/special_count, max/overmap_count)で生成率を自己補正するんだけど、hexagonrecursionが示したように平衡点が意図したX/Yじゃなくてsqrt(X/Y)になっちゃってたんだよ。「100分の1」と定義された特殊地形が実際には約10分の1で生成されてた。全113個のユニーク特殊地形(GLOBALLY_UNIQUE 44個、OVERMAP_UNIQUE 69個)に影響。最もレアなもの(1/80の鉱山とか)は意図の約10倍多く、最も一般的なもの(90/100の真菌繁殖地とか)はほぼ影響なし(sqrt(0.9) vs 0.9)

 

- [#85914] MOLLEアサルトパックにフロントポケットを追加 by andrewhr
 変更の理由: 「MOLLE 3-Day Assault Pack」で検索すると、フロントポケットが欠けてるんだよね。各種ソースを参考にしたおおよその寸法はメインコンパートメント25L(ハイドレーションパックが入るかも)、フロントコンパートメント7L。フロントポケットの上にはさらに小さなセンターポケットがあって、紙や薄い小物が入る

 

- [#85907] テストmatcherの名前空間をCatch::Matchers::に統一 by dobbry-vechur
 変更の理由: Catch2 v2はCatch::とCatch::Matchers::の両方の名前空間でmatcherを公開してるけど、v3は後者しかサポートしてない。いま全呼び出し箇所を移しておけば、いずれv3に移行するとき74箇所分の変更が減るよ。#85874の続き

 

- [#85924] レガシーのインデックスベースitem_locationヘルパーに将来の削除マークを追加 by dobbry-vechur
 変更の理由: #85905のフォローアップ。コメントのみの変更。インデックスベースのシリアライズヘルパー(find_index、retrieve_index、calc_index、unpack(int)、idxメンバー)を、旧セーブの互換性を打ち切ったら削除可能なレガシーコードとしてマークしたよ

 

- [#85923] ステータス強化CBMアイテムの説明文を更新 by thaelina
 変更の理由: #85360でステータス強化CBMに電力消費が追加されたのに、CBMアイテム自体の説明文にそれが反映されてなかったんだよ

 

- [#85873] 週間 Changelog 2026-03-09 to 2026-03-16 by kevingranade
 変更の理由:

 

- [#85933] [Xedra Evolved] チェンジリングの夢スニペットを追加 by Standing-Storm
 変更の理由: 4つじゃ足りないよ

 

- [#85921] [MoM] 精神共鳴測定機を自分自身にも使えるように by Standing-Storm
 変更の理由: 「隣接タイルを選択」が隣接だけなんだよね (訳註: 自分自身のいるタイルが選択対象に含まれていなかったため、自分を測定できませんでした)

 

- [#85920] 強化ノマドカウルの見た目をノマドカウルに設定 by anoobindisguise
 変更の理由: ノマドカウルにはMSXでスプライトがあるけど、強化ノマドカウルは新しいアイテムだからスプライトがなくて、しかもノマドカウルにlooks_likeが設定されてないからバラクラバ(全然違うアイテム)にフォールバックしちゃってた

 

- [#85925] オーバーマップスクロール時の初期化されていない幹線道路接続によるクラッシュを修正 by dobbry-vechur
 変更の理由: #85915をクローズ(#83783にも関連)。未生成の領域にオーバーマップをスクロールするとゲームがクラッシュすることがあった。highway_select_end_pointsが隣のオーバーマップのhighway_connections配列を読んで全部ゼロなのを見つけると、UI描画パス中にdebugmsgを発火して、imguiのWithinFrameScope assertionに引っかかるんだよ。原因は2つ: 幹線道路システム以前のセーブにはフィールド自体がないからゼロになるのと、以前の生成失敗のカスケード障害で隣のオーバーマップにゼロが伝播すること

 

- [#85913] パンのレシピにステップを追加 by dobbry-vechur
 変更の理由: パンのレシピにステップがないことに気づいたんだよね。20分の塊で混ぜて、発酵させて、焼くのを全部同時にやってるみたいになってた。……というのは冗談で、これはレシピステップのインフラ(#49525#74677#45157)を追加するPRだよ。レシピにステップごとの時間、ツール、習熟、バッチスケーリング、活動レベルを定義できるようになった。パンは概念実証としての変換だよ (訳註: これまでレシピは全工程がひとまとめでしたが、ステップごとに分けて定義できるようになりました。今回はパンで「混ぜる→発酵→焼く」と分けています)

 

- [#85927] NPCの行動ツリーをデバッグ診断として接続 by dobbry-vechur
 変更の理由: NPCの生存欲求の行動ツリーは2019年からnpc_behavior.jsonにあった。動く。テストもある。何にも繋がってなかった。一方でnpcmove.cppには「NPCは餓死しない」ってコメントがあるんだけど、いつの間にか嘘になってて、誰もコメントを更新してなかった。多分このコードが意味あると思って見てる人がいなかったんだろうね

 

- [#85908] [MoM] LIXAとの相互作用 by Standing-Storm
 変更の理由: LIXAを実際にやったから、MoMを使ってるときの挙動を変えるよ

 

2026/03/19
- [#85922] 眠気軽減の計算に上限を設けて疲労が永遠に溜まらないバグを修正 by Standing-Storm
 変更の理由: MODの相互作用で眠気軽減が100%に達することがあって、そうなると疲労が無限に溜まっちゃってたんだよ

 

- [#85929] 腐食生物と腐食性が寄生虫入りの食品を警告なしで食べられるように by dobbry-vechur
 変更の理由: will_eat()は寄生虫について全員に警告を出すんだけど、免除されるのはPARAIMMUNEだけだったんだよ。腐食生物と腐食性は腐ったものを毎日食べてるのに寄生虫入りの食品で警告が出るのはおかしいよね

 

- [#85912] 翻訳漏れを追加 by Minecrafthyr
 変更の理由: 翻訳不可能な文字列が2つ見つかったよ

 

- [#85940] 武術ドキュメントにaoeタイプを追加 by Standing-Storm
 変更の理由: 実際に武術を作ってみたらいくつか発見があったんだよね

 

- [#85843] ジョッキ(木)とジョッキ(鋼)のlooks_likeを変更 by Myfharad
 変更の理由: ジョッキ(木)とジョッキ(鋼)のlooks_likeがclay_cannisterになってて見た目が変だったから、コーヒーマグのテクスチャに変えたよ。没入感のためにね

 

 

- [#85939] reload_activity_actor::deserializeで無効なammo_locに対するガードを追加 by dobbry-vechur
 変更の理由: #85905のフォローアップ。#85762で発覚——修正前のセーブを読み込むとSIGSEGVでクラッシュするんだよ。reload_activity_actor::deserializeがammo_locの参照を無条件に引いてammo_idを取り出すんだけど、参照先の弾薬アイテムがもう存在しなくてnowhereに解決されちゃうからさ

 

- [#85632] リアリティバブル外のグリッド発電と永続的なpower_networkクラスを追加 by dobbry-vechur
 変更の理由: #85628(設備の再有効化パス)のフォローアップ。2つの問題に対処してるよ。1つ目: グリッドに接続されたバブル外のソーラー/風力/水力車両が発電しない問題。vehicle::idle()がバブル外の車両ではupdate_time()の前にリターンしちゃうから、バッテリーは消費されるのに発電されないんだよ。結果、ソーラーパネルが十分あってもバブル外にあるだけでグリッドのバッテリーが減り続けてた。2つ目: 電力ネットワークの永続的な表現がなかった問題。現行システムは毎ターンダイクストラ探索でトポロジーをゼロから再計算してて、グリッドの同一性や定格容量をターンやセーブ/ロードをまたいで追跡する手段がなかったんだよ。関連: #83514#84611#83712

 

- [#85938] 雪上移動ペナルティを無視するSNOWWALKINGフラグを追加 by Standing-Storm
 変更の理由: 冬の貴族のチェンジリング用にいい感じのグラマーを思いついたんだけど、まずこのフラグが必要だったんだよ

 

- [#85943] レシピステップのステップごとの処理を実装 by dobbry-vechur
 変更の理由: #85913でレシピステップのデータモデルを追加したけど、クラフトのアクティビティ自体はまだひとまとまりのままだった——プログレスバーは1つ、活動量は一定、習熟度も均一に上昇してた。このPRでdo_turn()が今どのステップにいるかを実際に把握するようにしたよ

 

- [#85953] 車両カーゴのitem_locationテストの不安定さを修正 by dobbry-vechur
 変更の理由: 車両カーゴのitem_locationテストが特定のRNGシードで失敗してた。CIで発覚してローカルでseed fuzzingで再現したよ

 

- [#85952] [Xedra Evolved] 元素魔法リワーク: サラマンダー by Standing-Storm
 変更の理由: 元素の精の魔法リワークの続き。すべての呪文を呪文レベルではなく精霊魔法スキルと呪文の総数に基づいてスケーリングし、呪文レベルで新しい呪文を習得する方式に再調整したよ

 

- [#85936] [Innawoods] 壊れた開始地点を修正 by madezent
 変更の理由: #85916の修正

 

2026/03/20
- [#85946] 山小屋の残響次元にトンネルシステムを追加 by Blueflowerss
 変更の理由: 次元をちょっと賑やかにしたくてさ (訳註: 山小屋の残響次元の地表にまれに穴が出現し、地下-4まで続く無限に繰り返すトンネルが追加されました。現時点では中にめぼしいものはありません)

 

- [#85954] バッテリー残量を独立したウィジェットに分離 by andrewhr
 変更の理由: バッテリーは燃料とは別に重要な情報なんだよ。例えばRVに乗って搭載キッチンでクラフトしてるときとか、車両の電子制御ユニットにツールを接続してるときとかね。独立したウィジェットになってると助かるんだよね

 

- [#85945] 赤いMP3プレーヤーをリワーク by Blueflowerss
 変更の理由: MP3がレーダーみたいに機能してたんだけど、残響次元の追跡先をどんどん増やしていくとEOCの中が読めなくなっていくから、持続可能じゃなかったんだよね。それがずっと気になってた

 

- [#85950] [No_Hope] DIFFICULTY_OPTIONS.mdのカテゴリ表を修正 by sonphantrung
 変更の理由: MODのアイテム生成オプションを調べてたら、ドキュメントの一覧がぐちゃぐちゃだったんだよ

 

- [#85579] consumption_count()、eats_likeフィールド、monotonyグループを追加 by dobbry-vechur
 変更の理由: バターの楽しさを-7にした#85568の代替案。あれでも改善はするけど、「パンに一切れ載せた」と「5本目を連続で食べた」の区別がつかないんだよね。ついでにバター/生バター/澄ましバターが味はほぼ同じなのに完全に別の食べ物扱いだったmonotonyのギャップも直したよ

 

- [#85949] レシピステップごとのツール速度修正 by dobbry-vechur
 変更の理由: #85913でレシピステップが追加され、#85943でアクティビティがステップ対応した。今回はその最後のピース: ミシンツールが特定のステップを速くできるようになったよ。5年越しの要望(#49525#74677#45157)

 

- [#85947] 開いた窓の通過コストを増加 by gettingusedto
 変更の理由: うちの窓を見て「いや、ここ通り抜けるのに2秒しかかからないってマジで? バックパックとか背負ってるのに?」って思ったから長くしたよ。Discordで議論した結果、1000 600 movecostに落ち着いた

 

- [#85959] テスト用に製作メニューのヘルパーを抽出 by dobbry-vechur
 変更の理由: 製作メニュー(crafting_gui.cpp)は2700行のモノリスで、すべての型とロジックが匿名名前空間にあるからテストもできないし他の翻訳ユニットからもアクセスできない。将来のImGui変換に向けた準備で、抽出したヘルパーをcursesとImGuiの両実装で共有するためだよ。関連: #62634#62635#70909

 

- [#85966] 箒で掃除ができるように by BalthazarArgall
 変更の理由: 箒でホコリを掃除できなかったんだよ

 

- [#85930] NPCのrate_foodでuse_methodsの一律拒否を個別チェックに変更 by dobbry-vechur
 変更の理由: rate_food()がuse_methodsを持つアイテムを全部拒否してたんだよ。蜂の巣(蜜蝋が出るだけ)や大麻入りブラウニー(軽いデバフ)みたいな無害なiuseまで含めて。TODOリストに書いてあった既知の問題なんだけど、NPCがインベントリに食料を持ってるのにrate_foodが0点つけるから餓死してたんだよね

 

- [#85961] recipe_info()をcrafting_gui_helpersに抽出 by dobbry-vechur
 変更の理由: #85959のフォローアップ。ひとかたまりのcrafting_gui.cppからテスト可能なロジックを引き続き抽出して、cursesと将来のImGui製作メニューで同じテキスト生成コードを共有できるようにしたよ

 

- [#85948] [Hunvre] 日時計ウィジェット使用時のクラッシュを修正 by BalthazarArgall
 変更の理由: デフォルトシナリオの開始時刻の設定ミスで日時計ウィジェットを使うとクラッシュしてた。値を0にするケースが処理されてなかったっぽい

 

- [#85972] ウサギの足に`SNOWWALKING`を付与 by Standing-Storm
 変更の理由: カンジキウサギの存在を教えてもらって、ウサギ系統の特典として面白いと思ったんだよね

 

- [#85958] 嘴(ハチドリ)を身体パーツ化 by Standing-Storm
 変更の理由: 四肢化の続き

 

- [#85969] エフェクトレベルの雨耐性フラグ`RAIN_IMMUNE`を追加 by Standing-Storm
 変更の理由: オーラレベルの`RAINPROOF`装備の力技がいらなくなるよ

 

- [#85975] チャレンジ特性「コンピュータ音痴」を追加 by Standing-Storm
 変更の理由: コンピューターを使えなくするインフラは入れたから、チャレンジ特性にしちゃおう

 

おわり。

0 件のコメント:
コメントを投稿