2026年4月4日土曜日

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

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

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

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

 

今週は紐の次元やinner cabins、深地下といった異次元まわりの追加・修正が目立ちました。製作メニューのImGui化もマージされ、NPCの行動ツリー欲求システムの拡張も引き続き進んでいます。

 

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

 

[#86152] 深地下に長居すると新しい変異系統に変異する
 ⇒ 変異原の入手場所追加(#86202)もあわせて、inner cabins深地下の探索要素が広がっています

 

 

2026/03/28
- [#86125] [XE] サラマンダーのfae banが水に触れるたびに1回だけ加算されるように by Standing-Storm
 変更の理由: 雨の中に1秒立ってるだけでfae ban(訳註: 掟破りペナルティ)が10まで跳ね上がるのは問題だった。

 

- [#86109] _has_item_with_flagのドキュメントを追加 by GuardianDll
 変更の理由: 次の追加で_has_item_with_flag条件が要るかなと思って実装したら、同名の関数が既にあるってエラーが出た。使われてもいないし、例によってどこにもドキュメントがなかった。

 

- [#86081] [スカイアイランド] Red Exit Roomが赤く発光するように by gettingusedto
 変更の理由: 色付き光のPRがマージされたから、赤い部屋を赤く光らせられるようになった。

 

- [#86123] [スカイアイランド] テレポートEOCを更新 by thaelina
 変更の理由: NPCが正しく次元移動できるようになったから、テレポートEOCを更新した。

 

- [#86128] [alt-map-key] OMTを追加 by thaelina
 変更の理由: OMTを追加した。

 

- [#86127] phase_moveイベントを追加 by thaelina
 変更の理由: 壁抜けエンチャントによる移動の完了時に発生するイベントを追加した。MoMのエフェメラル・ウォークやCBM: 確率的透過で使われる。

 

- [#86105] TTFフォント操作をSDL抽象化レイヤーでラップ by dobbry-vechur
 変更の理由: #86103に依存。SDL3_ttfでフォント描画APIが一新されるから、今のうちにラップしておけばSDL3移行時にsdl_wrappers.cppだけ触ればよくなる。

 

- [#86090] [XE] 野火に青い色付き光を追加 by gettingusedto
 変更の理由: 色付き光のPRがマージされたから、野火に青い色付き光を付けたよ。

 

- [#86073] 馬の移動モード切替ロジックを修正 by thaelina
 変更の理由: #85021で騎乗動物の良い仕組みが入ったんだけど、キーバインドでの移動モード切替が漏れてた。

 

- [#86098] 密封済みソースボトルが腐敗を防止するように by Good-Ol-Been
 変更の理由: #86075のバグ報告で@esotericistと相談した。現実のソースボトルは賞味期限が1年以上あって、開封後に冷蔵推奨になる程度なのに、ゲーム内のマヨネーズは数週間で腐るし密封ボトルでも腐敗が進む変な状況だった。元の変更はプラスチックボトルに合わせようとしたか、間違った行を変更しちゃったんだと思う。

 

- [#86133] ハブ01解体工場のNPCにRETURN_TO_START_POSを追加 by Tektolnes
 変更の理由: 解体工場のNPCがあちこちで寝るのはいいんだけど、そのまま居座って持ち場に戻らなかった。

 

- [#86132] 紐の次元へのポータル移動で即死しなくなった by Tektolnes
 変更の理由: z=0では問題なかったんだけど、地下階層だと虚空にハマるし、上層階だと落下死してた。どっちも意図した動作じゃなかった。

 

- [#86131] ポータル嵐 + 紐の教会 = 紐の次元 by Tektolnes
 変更の理由: 紐の郊外教会は異界の存在に満ちてて次元の壁が「薄い」場所だからね。そこでポータル嵐に遭えば何か起きるべきでしょ。

 

- [#86092] 移動モードの変更に時間がかかるように by thaelina
 変更の理由: 現実でも立ち→しゃがみ→伏せの姿勢変更には時間がかかるから、ゲームにも反映した。

 

- [#86134] inner cabinsの地下深部が薄暗く照らされるように by Tektolnes
 変更の理由: 作りかけのinner cabinsの雰囲気作り。

 

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

 

- [#86106] ゲームパッドのSDL境界をゲームパッドモジュールに集約 by dobbry-vechur
 変更の理由: #86105に依存。SDL3でゲームパッドAPIが全面リネームされるんだけど、現状sdltiles.cppがSDL_CONTROLLERBUTTONDOWNやSDL_CONTROLLERAXISMOTIONを直接参照してるから、本来あるべきゲームパッドモジュールに移した。

 

- [#86126] ライフル(ケルテックSUB-2000)の10発マガジン対応を修正 by chromer41-1
 変更の理由: ゲーム内のSUB-2000がピン留め弾倉(9x19mm/グロック/10発)を使えなかった。使えるべきだから修正した。

 

2026/03/29

 

- [#86147] 悪夢を追加 by Geevies
 変更の理由: 設計書を読んだら、終末の始まりや暴動なんかのYoutube動画がいくつも出回ってたって記述があった。直接的じゃないけど、サバイバーが数週間前にニュースで見たであろう恐ろしい光景の「記憶の断片」になるような悪夢をいくつか書いたよ。あと、blobが身体を縫い合わせる悪夢も1つ追加した。

 

- [#86143] inner cabins出口のプールに3タイル未満の渡河地点が生まれないように修正 by Tektolnes
 変更の理由: inner cabins出口周辺のプールのmapgenでタイルが数個抜けてた。序盤に2タイルで渡れちゃう地点があったんだよね。

 

- [#86142] ハブ01関連の各種NPCにRETURN_TO_START_POSを追加 by Tektolnes
 変更の理由: NPCが寝るために移動したあと、元の位置に戻る必要があったから。

 

- [#86136] 派閥UIをimguiに移行 by GuardianDll
 変更の理由: #86023のステップ0.5。

 

- [#86148] NECCのチラシを追加 by Geevies
 変更の理由: 設計書によると、NECCは終末が迫っていることを知らせるチラシを大量に配ってたらしい。連絡先(今じゃ使えないけど)と住所を載せたチラシを追加した。NECCのloreを厚くしつつ、周囲の人々を救おうとした努力を描き、彼らを見つける自然な手段にもなるよ。 (訳註: NECCはニューイングランド教会コミュニティの略です。)

 

- [#86140] NPCの勤務/睡眠シフトスケジューリング、ハブの通信装置シフトローテーション by dobbry-vechur
 変更の理由: #86124の修正。#28681に関連 -- BT needsシステムに勤務/睡眠の判定を追加した。NPCはプレイヤーの範囲外にいる間も眠気が溜まるのに寝て解消する手段がないから、派閥を訪れるとみんなヘトヘトでベッドに向かってる状態だった。店主や衛兵は持ち場を離れて戻ってこないし、ルリヤは停滞中なのにフルAIが走ってるし、ハブの通信装置は壁に埋まった1人のNPCがシフトの概念なしで担当してた。

 

- [#86141] [スカイアイランド] NPCがレイドに参加するかを制御するモードを追加 by thaelina
 変更の理由: NPCを移動させたり像を隠したりしなくても、島の遠隔地でレイドを始められるようにトグルを追加したよ。

 

2026/03/30
- [#86155] [Aftershock] プラズマが装甲を劣化させるように by John-Candlebury
 変更の理由: UICAとのテスト戦闘中にプラズマ銃が装甲を劣化させられないことに気づいた。バグだよ、プラズマ銃はそこが強みのはずなんだから。

 

- [#86153] 周囲確認メニューの並べ替え設定が保存されるよう正しい変数を使用 by esotericist
 変更の理由: 周囲確認メニュー(デフォルトではVキーで開く)で、モンスタータブと地形・設置物タブの並べ替え方法が保存されていなかった。

 

- [#86168] 失敗したCIジョブ用の /retry と /rerun コメントコマンドを追加 by dobbry-vechur
 変更の理由: PRで失敗したCIを再実行する簡単な方法がなくて、メンテナーの手を煩わせるしかなかった。

 

2026/03/31

 

- [#86171] 口吻が身体パーツに by Standing-Storm
 変更の理由: 四肢化の続き。

 

- [#86167] NPCが暑がるたびにプレイヤーログがあふれる問題を修正 by thaelina
 変更の理由: タイトルの通り。

 

 

- [#86172] NPCの欲求システム: BTが全NPCに適用、followとgotoゴールを追加 by dobbry-vechur
 変更の理由: #28681に関連 -- BT(行動ツリー)の欲求システムを全NPCに拡張した。これまでBTは衛兵と店主にしか走ってなかった。それ以外のNPCはnpc::move()のレガシーな処理を使ってて、仲間・放浪者・キャンプの作業員はBT駆動の意思決定をまったく受けてなかったんだよね。欲求処理は昔ながらのaddress_needs()のウォーターフォールで、one_in(3)のランダムゲートが挟まってた。

 

- [#86176] map::add_spawnをprivateにし、最後のハードコード呼び出しを置き換え by dobbry-vechur
 変更の理由: #3951のクローズ。mx_fungal_zoneにadd_spawn(mon_fungaloid_queen)のハードコード呼び出しが1つ残ってて、強制力がないから新しいのも追加されちゃう(#68752)状態だった。

 

2026/04/01
- [#86182] [MoM: サイキック・スクリーム] 知性ボーナスを制限 by Standing-Storm
 変更の理由: サイキック・スクリームの趣旨はMoMをパワーダウンして体験することだから、成長ボーナスもそれに合わせて控えめにする必要があった。

 

- [#86156] 次元移動でアイテムも一緒に移動するように by thaelina
 変更の理由: タイトルの通り。地面に落ちてるアイテムが次元を超えて移動するようになった。スカイアイランドみたいなMODで特に便利。

 

- [#86173] NPCの欲求: キャンプ居住者と衛兵状態を分離、free_time BTゴールを追加 by dobbry-vechur
 変更の理由: #86166の修正。#28681に関連。#86172に依存。assign_camp()とassign_guard()がどちらもNPC_MISSION_GUARD_ALLYを設定するから、BTがキャンプ作業員を衛兵として扱ってしまう。キャンプ活動から戻ったNPCがhold_position(勤務)とworker_downtime(勤務待ち)の間を行ったり来たりしてた。

 

- [#86177] 深地下次元に特殊な地下室を6つ追加 by Tektolnes
 変更の理由: 深地下のmapgenを充実させた。

 

- [#86174] 次元移動がPORTAL_PROOFではなくDIMENSIONAL_ANCHORをチェックするように by Tektolnes
 変更の理由: 異次元への移動がPORTAL_PROOFをチェックしてたから、次元浸入スーツみたいなものでブロックされちゃってた。Discordで@Candleburyと話した結果、PORTAL_PROOFは異次元からの攻撃を防ぐもので、DIMENSIONAL_ANCHORがテレポートを止めるもの。だから移動はDIMENSIONAL_ANCHORをチェックすべきだった。

 

- [#86169] inner cabinsのルアナがsidedに by Tektolnes
 変更の理由: inner cabinsで見つかるルアナは羽織り式で片腕しか完全にカバーできない大きさだから、sidedにして左右を切り替えられるようにした。 (訳註: 黄昏のルアナ(dusken ruana)のことです。)

 

- [#86044] 製作メニューのImGui化 by dobbry-vechur
 変更の理由: 製作メニューのUIを近代化。#85959#85961#85978#86036の上に構築。

 

- [#86121] 矢弾の修正 by Alm999
 変更の理由: 鋼鉄塊1個(250ml)も使って3時間かけて作るのに、できる矢弾は1本(3ml)だけだった。矢弾作りが超無駄遣いだったから、釘と同じくらいの量が作れるように修正した。

 

- [#86139] 夜明け/日暮れの色味が視界・屋根・窓を無視していた問題を修正 by dobbry-vechur
 変更の理由: #86066で追加された夜明け/日暮れの色味はレンダラー側のオーバーレイで、薄明時にすべてのoutside_cacheタイルを塗っていた。視界範囲を無視するし(暗闇/記憶済みタイルにも色が付く)、屋根もチェックしないし、窓やドアから建物内にも入らないし、別の次元でも表示されてた。

 

- [#86191] 製作GUIで材料の所持数を表示し、入手済みの候補を先頭に並べるように by dobbry-vechur
 変更の理由: imgui版の製作GUIで材料の横にあった「(have X)」の所持数表示が消えてて、入手済みの代替材料も先頭に並ばなくなってた。材料がいくつあるか分からないし、入手済みの候補が「or N more」の後ろに埋もれちゃう状態だった。

 

2026/04/02
- [#86193] 製作GUIの操作修正: エスケープの階層化、スペースの切り替え、二重選択 by dobbry-vechur
 変更の理由: imgui版の製作GUIでいくつか操作がおかしかった。Space(情報ナビの切り替え)がフォーカス中のクリッカブルを押しちゃって、最初のフォーカス先がバッチ数の「+」ボタンだったからSpace2回で勝手にバッチモードに入ってた。Escapeは中間の「戻る」がなくていきなりGUIが閉じるし、マウスとキーボードを混在させると2行ハイライトされちゃう状態だった(ListBoxの子ウィンドウがNoNavフラグを継承してなかった)。

 

- [#86190] item_contentsのマガジン単一前提を除去 by dobbry-vechur
 変更の理由: item_contentsのいくつかの関数が「MAGAZINE_WELLポケットは最大1つ」というハードコード前提になってた。ammo_consume()は最初のマガジンポケットが空だと0を返して後続がブロックされるし、first_ammo()はMAGAZINE_WELLに空チェックなしでfront()を呼ぶ(マガジンが装填されてないと未定義動作)。複数マガジンポケットを持つアイテム(#85928)への布石。

 

- [#86186] [スカイアイランド] 避難センターミッションの差し替え by thaelina
 変更の理由: スカイアイランドには避難センターが存在しないから、ミッションを別のものに差し替えて正しく管理されるようにした。

 

- [#86185] [MoM: サイキック・スクリーム] 細かな修正 by Standing-Storm
 変更の理由: 気づいた修正点をいくつか対応。

 

- [#86189] 物憂げな幽霊がinner cabinsに送るのは1回だけに by Tektolnes
 変更の理由: 物憂げな幽霊がプレイヤーをinner cabins次元に送るのは1回だけにすべきだった。

 

- [#86170] [MoM] inner cabinsの深地下を「異界にいる」条件に追加 by Tektolnes
 変更の理由: 深地下は異界とブロブに侵食されたinner cabins次元の一部だから、MoMの能力もそれに応じて反応すべき。

 

- [#86158] 週間 Changelog 2026-03-23 to 2026-03-30 by kevingranade
 変更の理由:

 

- [#86183] 変化がないときライトマップの再構築をスキップ by dobbry-vechur
 変更の理由: ゲームがアイドル中(プレイヤーの入力待ち、アニメーションなし)でも、ピクセルミニマップがUI全体を無条件に無効化するせいでgenerate_lightmap()が125msごとにフル再構築されてた。プロファイリングだとbuild_sunlight_cacheがアイドルCPUの7%、generate_lightmapが2.8%、座標計算で~12%、キャッシュ配列のゼロ埋めで~5% -- 何も変わってないフレームなのに全部走ってた。

 

 

- [#86187] 紐の次元にトンネルの廃墟を追加 by Tektolnes
 変更の理由: 紐の次元のコンテンツ追加。

 

- [#86115] 適切なコート/ドレスに尻尾カバー範囲を追加 by Standing-Storm
 変更の理由: ズボンに尻尾は入らないけど、ロングスカートやトレンチコートの中になら入れられるでしょ。一部の尻尾に限るけどね。

 

- [#86152] 深地下に長居すると新しい変異系統に変異する by Tektolnes
 変更の理由: 深地下 -- ブロブに侵食された山小屋の残響次元 -- に長居したら相応の報いがあるべきでしょ。

 

- [#86197] [スカイアイランド] 細かな修正 by thaelina
 変更の理由: 細かな修正まとめ。

 

- [#86020] デンタルグリル(ダイヤモンド)の価格バグを修正 by 12347654
 変更の理由: デンタルグリル(ダイヤモンド)の大変動後の価格が500(大変動前と同じ)だった。文明崩壊後にダイヤモンドを埋め込んだ入れ歯にまともなリソースを差し出すやつはいないでしょ -- サバイバルに何の役にも立たない純粋な虚飾なんだから。

 

- [#86178] [Aftershock] テキスト修正 by Uwuewsky
 変更の理由: 改善できそうなところをいくつか見つけた。

 

- [#86049] 地図アイテムの位置記録を修正、名前表示と検索を改善 by andrewhr
 変更の理由: #83566の修正。地図がreveal_map_centerを正しく設定してなくて、一番近い都市に名前が「変異」しちゃってた。同じ場所で入手した地図をストックしておいて別の場所に移動すると、別のエリアが公開されちゃうことに。最後のプレイで気づいたんだけど、どこまで遡る問題なのかは追ってない。あと細かい点も対処した: 地図が「○○の地図」と表示されるのにreveal_map_centerは生成位置に設定されるから2枚の地図が同じ中心にならないし、表示と検索が実際の場所を考慮しないから一部のUIで場所名が表示されず検索でも見つからないという分かりにくいUXだった。

 

- [#86196] test_multimag_gunにNO_TURRETフラグを追加 by dobbry-vechur
 変更の理由: #86190のフォローアップ。vehicle_turretテストがNO_TURRETなしの全銃器を回してマウント・装填・発射するんだけど、test_multimag_gunはマガジンポケットが2つあってタレットのammo_setパスが対応してないから散発的なテスト失敗が起きてた。

 

- [#86188] クイックセットアップ用EOCを追加して強制実行 by thaelina
 変更の理由: クイックセットアップ中に自動的に走るテスト機能を拡張。

 

- [#86180] 開始シナリオ: Evacuation Bus Driver by Geevies
 変更の理由: 特定の場所に縛られないNPCの集団と一緒にスタートするシナリオがあったら面白いなと思って。最初からそこそこ使える「ドゥームモービル」付きだし。

 

- [#86059] ボタンのバリアント化 by BalthazarArgall
 変更の理由: 単体で存在してたボタンをバリアントにまとめられるから、まとめたよ。

 

- [#86208] 「開始シナリオ: Evacuation Bus Driver」を差し戻し by kevingranade
 変更の理由: #86180の差し戻し。「ゲームの大部分をスキップする」に真正面からぶち当たるシナリオで、開始シナリオとしてまともとは言えなかった。

 

- [#86207] 製作GUIの修正: 副産物のちらつき、i18n文字列、警告レイアウト by dobbry-vechur
 変更の理由: imgui版製作GUI(#86044)からの3つのリグレッション。1. 副産物グループ付きの練習レシピ(例: アーチェリー練習で矢が出る)がフレームごとにちらつく。get_byproducts()がitems_from()を呼ぶたびにランダム化されるから。2.「~82%の確率で約30分の軽作業で作れます」の行が文字列結合で組み立てられてて、翻訳者が語順を変えられない。3.「製作できません: 必要な熟練度が不足しています」みたいな警告メッセージが詳細テーブルに流れ込んじゃう。TextColoredParagraphがSameLineで終わるから。#86198の修正。

 

- [#86209] 胃薬からhealthy ticksを除去 by anoobindisguise
 変更の理由: 胃薬に紐づいてたエフェクトが、1回分飲むと1時間あたり約2ずつ健康度を上げて、2回以上飲むと逆に下げるという意味不明な挙動だった。タムズを4日間ちまちま飲んだくらいで完全な健康体になれるわけないでしょ。2回以上飲むと不健康になるのも馬鹿げてた。タムズの飲みすぎはカルシウム過多で体に悪いかもしれないけど、胃薬の効能自体のせいじゃないんだから。(訳註: タムズはアメリカでメジャーな胃薬の製品名らしいです)

 

- [#86162] [スカイアイランド] 部屋全体のテレポートを再有効化 by thaelina
 変更の理由: スカイアイランドの出口部屋全体のテレポートを、コストあり/なしの両方で再有効化した。

 

- [#86202] inner cabins、深地下: 狭間人変異原の入手場所を追加 by Tektolnes
 変更の理由: 狭間人の変異を加速させる方法と、閾値変異を越える方法を追加した。

 

- [#86149] テキスト修正 by Minecrafthyr
 変更の理由: 翻訳中にテキストの誤りをいくつか見つけた。

 

2026/04/03
- [#86146] エクゾディの交易: 石油化学製品 by Geevies
 変更の理由: 設計書によると、エクゾディは以前いた中世レベルの世界ではプラスチックや石油化学製品を製造できなかったから、次のジャンプに備えて補充しておく必要があるんだよね。価格修正値を設定することで、エクゾディが自分たちの在庫や到着時に持ってきたプリンターに役立つ素材を探してきてほしがってることが分かるようになったよ。

 

- [#86211] アイドル時のライトマップスキップ後にヒットアニメーションのオーバーレイが残る問題を修正 by dobbry-vechur
 変更の理由: #86183のフォローアップ。あのPRでアイドル入力ポーリング中のcata_tiles::draw()を止めたんだけど、リグレッションに気づいた。ヒットアニメーションとbashの非同期アニメーションのオーバーレイが次の無関係な全体再描画まで画面に残り続けてた。クリーンアップがcata_tiles::draw()の中でしか走ってなかったから。

 

- [#86214] 製作GUIでバッチ→Escすると製作が始まってしまう問題を修正 by dobbry-vechur
 変更の理由: #86212の修正。バッチモードに入ってからEscを2回押すと「十分なチャージなしで製作を開始しようとしました」が出ちゃってた。

 

- [#85241] 反芻動物がトリフィド繊維に対してより耐性を持つように by anoobindisguise
 変更の理由: 反芻動物は人間には消化できない繊維を分解するのがすごく得意なんだけど、トリフィド繊維を食べるときには何のアドバンテージもなかったんだよね。

 

- [#86215] 開始職業の地図が読めなくなっていた問題を修正 by dobbry-vechur
 変更の理由: #86213の修正。#86049で地図の動作にspawn_locationが必要になったんだけど、add_profession_items()がpreserve_location()を呼んでなかった。旅行者と自然保護官の初期地図が永久に読めなくなってたよ。

 

- [#86218] ハブ01のローディング画面 by John-Candlebury
 変更の理由: だいぶ前にSteamカード用に描いたやつ。ローディング画面に追加できるって言われたから入れたよ。

 

- [#86199] [Aftershock] CBM: ソーラーパネルを削除 by Maleclypse
 変更の理由: 常時サーマルスーツが必要な凍結世界では動作しないCBMを削除したよ。

 

- [#86204] アイテムの大変動前/後の価格をEOCから参照可能に by thaelina
 変更の理由: Bombastic Perksのアイテム消費でXPを稼ぐ別の方法を考えてたら、EOCからアイテムの価値を取得する手段がなかったんだよね。Discordで@Guardianが「それは汎用的にあったほうがいい」と言ってくれたから作ったよ。

 

- [#86206] 紐の次元: KÁ施設 by Tektolnes
 変更の理由: 紐の次元に終盤コンテンツを追加したよ。

 

- [#86203] [Magiclysm] 消えずの蝋燭 by Michael1993
 変更の理由: 消えずの蝋燭はいくつかの場所で参照されてたんだけど、単独のアイテムとしては実際には存在してなかったんだよね。

 

- [#84179] use_actionのテキスト修正 by Uwuewsky
 変更の理由: use_actionのメッセージが微妙に表記揺れしてることがあったのと、プレースホルダー%sが避けられる場面でも使われてたから、改善できないか見てみたよ。

 

- [#86195] 派閥に無線で連絡可能に by GuardianDll
 変更の理由: #86023の修正。

 

- [#86229] キャビン付きタンデムバイクにバッテリーを追加 by jankyd
 変更の理由: キャビン付きタンデムバイクが完全に動作する状態で生成されるようにするため。以前の定義だとバッテリーなしで生成されてた。#86159の修正。

 

- [#86230] npc_testのWindows.h互換性を修正 by akrieger
 変更の理由: #86205の修正。

 

おわり。

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