MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / SameZone

Function SameZone

TombEngine/Game/control/box.cpp:442–460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

440}
441
442bool SameZone(CreatureInfo* creature, ItemInfo* target)
443{
444 auto& item = g_Level.Items[creature->ItemNumber];
445 auto* zone = g_Level.Zones[(int)creature->LOT.Zone][(int)FlipStatus].data();
446
447 auto& roomSource = g_Level.Rooms[item.RoomNumber];
448 auto& boxSource = GetSector(&roomSource, item.Pose.Position.x - roomSource.Position.x, item.Pose.Position.z - roomSource.Position.z)->PathfindingBoxID;
449 if (boxSource == NO_VALUE)
450 return false;
451 item.BoxNumber = boxSource;
452
453 auto& roomTarget = g_Level.Rooms[target->RoomNumber];
454 auto& boxTarget = GetSector(&roomTarget, target->Pose.Position.x - roomTarget.Position.x, target->Pose.Position.z - roomTarget.Position.z)->PathfindingBoxID;
455 if (boxTarget == NO_VALUE)
456 return false;
457 target->BoxNumber = boxTarget;
458
459 return (zone[item.BoxNumber] == zone[target->BoxNumber]);
460}
461
462short AIGuard(CreatureInfo* creature)
463{

Callers 4

ControlFishSwarmFunction · 0.85
CompsognathusControlFunction · 0.85
BaddyControlFunction · 0.85
FindAITargetFunction · 0.85

Calls 2

GetSectorFunction · 0.85
dataMethod · 0.45

Tested by

no test coverage detected