(Don’t) Take Me Home
Version 2 安定版
日本語紹介名：私をキャンプに連れてって（帰りたいのはそこじゃない）

【重要：v2の安全方針】
v1では蛮族に捕らえられた民間ユニット本人の現在移動力を変更していました。
実機検証で、移動力を変更された開拓者を奪還するとゲームがクラッシュする問題が確認されたため、
v2では捕虜本人を変更する処理を完全に廃止しました。

捕虜に対して次の処理は一切行いません。
・移動力、ダメージ、ユニット種類、所有者の変更
・削除、再生成、昇進の付与
・スクリプトデータの書き換え

捕虜は読み取り専用の検出・追跡対象です。

【v2の機能】
1. 蛮族所有の民間ユニットと同じHEXにいる蛮族軍事ユニットだけ、現在移動力を最大1へ制限
2. 元所有者を安全に取得でき、その所有者が人間プレイヤーの場合、捕虜位置を通知

常時視界は付与しません。通知先が戦場の霧に覆われている場合、通知をクリックして位置へ
移動しても捕虜の姿が見えないことがあります。

【護送役の判定】
次をすべて満たすユニットだけを護送役として扱います。
・所有者が蛮族
・戦闘ユニット
・有効で死亡処理中ではない
・蛮族所有の非戦闘民間ユニットと同じHEXにいる

隣接しているだけの蛮族、捕虜がいない蛮族、通常文明の軍事ユニットは対象外です。
同じHEXに複数の蛮族軍事ユニットがいれば、条件を満たす全ユニットを確認します。

【移動力の扱い】
Civ5は画面上の移動力1を内部的には通常60単位で扱います。
GameDefines.MOVE_DENOMINATORを取得し、取得不能時だけ代替値60を使います。

護送役の現在移動力が1より大きい場合だけ、Unit:SetMovesで1へ下げます。
すでに1以下なら変更せず、移動力を補充しません。最大移動力、ユニット定義、昇進は
変更しません。護送状態が終わっても手動回復せず、次の通常ターン更新に任せます。

処理はGameEvents.PlayerDoTurnが蛮族プレイヤーに対して発火した安全なターン開始時だけです。
戦闘、撃破、捕獲、所有者変更、開拓者から労働者への変換、UnitSetXYの処理中には
ユニット能力値を変更しません。

【捕虜位置通知】
Unit:GetOriginalOwner()から元所有者を取得でき、対象プレイヤーが存命中の人間の場合だけ
NotificationTypes.NOTIFICATION_GENERICを使用して通知します。

通知タイトル：
捕虜からの救難信号

通知本文：
蛮族に捕らわれた開拓者／労働者／民間人の現在位置が確認されました。

通知へX・Y座標を設定するため、クリックすると該当HEXへ画面が移動します。
視界そのものは付与しません。

通知するタイミング：
・捕虜として初めて検出したとき
・前回の安全走査から別のHEXへ移動したとき

同じHEXにいる間は再通知しません。走査は蛮族ターンにつき1回なので、1捕虜につき
1ターン最大1回です。救出、死亡、消滅、所有者変更で蛮族ユニット一覧から消えた捕虜は、
次回走査で追跡情報を削除します。

追跡情報はLuaメモリ上だけに保持します。セーブを再ロードした後は新しいLuaセッションとして
最初の安全走査時に1回通知されます。

【元所有者APIの制限】
Civ5の捕獲処理は元ユニットを削除し、別ID・別種類のユニットを生成する場合があります。
そのためUnit:GetOriginalOwner()が蛮族自身や無効値を返し、本来の人間所有者を取得できない
場合があります。

その場合は無関係な文明へ推測通知せず、Lua.logへOriginal owner unavailableを出して
通知を省略します。特に捕獲時に開拓者が労働者へ変換された場合は重点的な実機確認が必要です。

【使用イベント】
・Events.SequenceGameInitComplete
  Lua開始と蛮族プレイヤーIDを記録します。ここでは移動力を変更しません。

・GameEvents.PlayerDoTurn
  蛮族ターン開始時だけ捕虜、護送役、通知位置、追跡終了を確認します。

v2ではUnitSetXY、UnitPrekill、戦闘イベント、捕獲イベントを登録しません。

【対応環境】
・Sid Meier's Civilization V Steam版
・拡張パック：Brave New World
・シングルプレイヤー
・Windows / macOS / Linux共通設計

2026年7月時点では静的確認済みの三大OS対応設計版です。
最初にWindowsで回帰テストを行い、その後macOS、Linux Mintで確認してください。

【フォルダ構成】
dont-take-me-home
├─ dont-take-me-home.modinfo
├─ donttakemehome.lua
└─ readme.txt

【導入方法】
1. Civilization Vを終了します。
2. 旧v1のdont-take-me-homeフォルダをMODSフォルダから外します。
3. v2 ZIPを展開します。
4. 新しいdont-take-me-homeフォルダをMODSフォルダへコピーします。
5. 3ファイルがフォルダ直下にあることを確認します。

Windows：
C:\Users\ユーザー名\Documents\My Games\Sid Meier's Civilization 5\MODS

OneDrive使用環境：
C:\Users\ユーザー名\OneDrive\Documents\My Games\Sid Meier's Civilization 5\MODS

macOS：
~/Documents/Aspyr/Sid Meier's Civilization 5/MODS

Linux：
~/.local/share/Aspyr/Sid Meier's Civilization 5/MODS

【有効化方法】
1. Civ Vを起動し「MOD」へ進みます。
2. 「(Don’t) Take Me Home」にチェックを入れます。
3. 「次へ」からMOD用シングルプレイヤー画面へ進みます。
4. 回帰テスト用セーブまたは新規ゲームを開始します。

必ずMODSメニューを経由してください。

【アンインストール】
1. MOD一覧でチェックを外します。
2. Civ Vを終了します。
3. MODS内のdont-take-me-homeフォルダを削除します。

捕虜には恒久変更を加えていません。護送役の残り移動力も次の通常ターン更新で戻ります。

【Lua.log】
検索接頭辞：
[DTH v2]

主なログ：
[DTH v2] Captive detected
[DTH v2] Escort movement limited
[DTH v2] Captive location updated
[DTH v2] Captive no longer tracked
[DTH v2] Original owner unavailable

各ログには可能な範囲でターン、ユニットID、種類、所有者、元所有者、座標を記録します。
画面へデバッグメッセージを常時表示しません。

【最優先の回帰テスト】
□ 開拓者を捕らえた蛮族を倒してもクラッシュしない
□ 開拓者を正常に奪還または労働者化できる
□ 労働者を捕らえた蛮族を倒して正常に救出できる
□ 捕虜入りキャンプを制圧してもクラッシュしない
□ Barbarian Camp Rescue併用時も報酬ユニットが正常生成される
□ 捕虜なしの蛮族との戦闘は通常どおり動作する

【護送機能テスト】
□ 捕虜と同じHEXにいる蛮族軍事ユニットだけ移動力1になる
□ 捕虜が隣接HEXにいるだけなら制限しない
□ 捕虜がいなければ制限しない
□ 同じHEXの複数護送役をすべて制限する
□ 現在移動力0の護送役を1へ回復させない
□ 護送終了後の次ターンに本来の移動力へ戻る

【通知テスト】
□ 人間プレイヤー由来の捕虜を初検出すると1回通知する
□ 捕虜が移動すると新座標を通知する
□ 同じ場所に留まる捕虜を再通知しない
□ 通知をクリックすると対象座標へ移動する
□ AI文明由来の捕虜を人間へ通知しない
□ 元所有者を取得できなければ通知せずログだけを残す
□ 救出または消滅後に追跡終了ログを出す

【併用確認】
・Sengoku Lost Infantry
・Barbarian Camp Rescue
・Bonus Worker on City Founding
・Great People Die Twice
・Five Settlers at Dawn

Captured Settlers Remain Settlersとの互換性は保証しません。

【競合可能性】
蛮族軍事ユニットの現在移動力、PlayerDoTurn、通知システム、捕虜生成方法を変更する
MODや追加DLLとは競合する可能性があります。他MODの昇進や基本能力は削除しません。

【セーブデータ】
MOD導入・更新前に重要なセーブデータをバックアップしてください。
v2は独自の永続保存データや捕虜のスクリプトデータを作成しません。

【権利・注意事項】
本MODは非公式MODです。Firaxis Games、2K、Aspyr、Valveとは関係ありません。
ゲーム本体のグラフィック、音声、その他素材は同梱していません。
利用は自己責任です。

本MODは生成AI／Codexの支援を受けて制作し、作者が実機で検証・調整しています。

【作者】
企画・制作者: 非月刊エーアイマガジン　ソフト開発部
配布元: エーマガパブリッシング
MOD情報上の作者表記: A-Maga Publishing / 楢葉なおよしn
contact@amaga-pub.com
