mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-11-23 21:50:09 +00:00
Restore the check that makes sure mob paths start from their spawn point
This was added in599bbedd
and accidentally removed during the TableData refactor inc960b062
.
This commit is contained in:
parent
05a5303522
commit
8568fd1c46
@ -388,8 +388,21 @@ NPCPath* Transport::findApplicablePath(int32_t id, int32_t type, int taskID) {
|
||||
|
||||
void Transport::constructPathNPC(int32_t id, NPCPath* path) {
|
||||
BaseNPC* npc = NPCManager::NPCs[id];
|
||||
if (npc->kind == EntityKind::MOB)
|
||||
((Mob*)(npc))->staticPath = true;
|
||||
|
||||
if (npc->kind == EntityKind::MOB) {
|
||||
auto mob = (Mob*)npc;
|
||||
mob->staticPath = true;
|
||||
|
||||
Vec3 firstPoint = path->points.front();
|
||||
|
||||
// Ensure that the first point coincides with the mob's spawn point.
|
||||
if (mob->spawnX != firstPoint.x || mob->spawnY != firstPoint.y) {
|
||||
std::cout << "[FATAL] The first point of the route for mob " << mob->id << " (type " << mob->type
|
||||
<< ") does not correspond with its spawn point." << std::endl;
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
npc->loopingPath = path->isLoop;
|
||||
|
||||
// Interpolate
|
||||
|
Loading…
Reference in New Issue
Block a user