Fix: Remove AddBuilding from ProcessBuildingHook
The original PlayerSaveData.Unpack calls AddBuilding, PlaceFromLoad, and UnpackStage2 after ProcessBuilding returns. The hook should only create and initialize the building, not call these methods. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
11
Main.cs
11
Main.cs
@@ -1418,14 +1418,9 @@ namespace KCM
|
||||
structureData.Unpack(building);
|
||||
Main.helper.Log($"[ProcessBuilding] Unpack done");
|
||||
|
||||
p.AddBuilding(building);
|
||||
Main.helper.Log($"[ProcessBuilding] AddBuilding done");
|
||||
|
||||
World.inst.PlaceFromLoad(building);
|
||||
Main.helper.Log($"[ProcessBuilding] PlaceFromLoad done");
|
||||
|
||||
structureData.UnpackStage2(building);
|
||||
Main.helper.Log($"[ProcessBuilding] UnpackStage2 done");
|
||||
// NOTE: AddBuilding, PlaceFromLoad and UnpackStage2 are called by the original
|
||||
// PlayerSaveData.Unpack method after ProcessBuilding returns
|
||||
Main.helper.Log($"[ProcessBuilding] Returning building to Unpack");
|
||||
|
||||
bool isKeep = building.GetComponent<Keep>() != null && building.TeamID() == p.PlayerLandmassOwner.teamId;
|
||||
if (isKeep)
|
||||
|
||||
Reference in New Issue
Block a user