Fix atlas resource handling and suppression AI serialization

This commit is contained in:
2026-10-16 16:36:46 +02:00
parent a66aca35bf
commit f15c915e54
8 changed files with 21 additions and 7 deletions
@@ -1,4 +1,5 @@
GenericEntity {
ID "E83CA269A0D647B1"
components {
MeshObject { Object "{76D738EEB0CA431F}Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob" InheritVisibility 1 }
}
@@ -48,7 +48,9 @@ class ERR_TerrainDisplayName
seen.Insert(world);
// Native subscene names can be plain paths. They are already the loaded
// terrain, not GUID resources that LoadContainer can traverse safely.
if (!world.IsExternal() && !world.IsInternal()) break;
// IsExternal/IsInternal also accept ordinary paths in the native runtime.
// Inspect the serialized GUID prefix without invoking resource resolution.
if (world.Length() < 18 || world.Substring(0, 1) != "{" || world.Substring(17, 1) != "}") break;
Resource resource = BaseContainerTools.LoadContainer(world);
if (!resource || !resource.IsValid()) break;
BaseContainer container = resource.GetResource().ToBaseContainer();
@@ -103,6 +103,7 @@ class ERR_HQSuppressActivity : SCR_AISuppressActivity
}
}
[BaseContainerProps()]
modded class SCR_AIGoalReaction_Suppress
{
override void PerformReaction(notnull SCR_AIUtilityComponent utility, SCR_AIMessageBase message)