mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
Core/Scripts: Implemented DOOR_TYPE_SPAWN_HOLE to use in instance script DoorData, marking doors that are only open if encounter is in progress, typically used with spawning points
This commit is contained in:
@@ -111,28 +111,25 @@ void InstanceScript::UpdateDoorState(GameObject *door)
|
||||
return;
|
||||
|
||||
bool open = true;
|
||||
for (DoorInfoMap::iterator itr = lower; itr != upper; ++itr)
|
||||
for (DoorInfoMap::iterator itr = lower; itr != upper && open; ++itr)
|
||||
{
|
||||
if (itr->second.type == DOOR_TYPE_ROOM)
|
||||
switch (itr->second.type)
|
||||
{
|
||||
if (itr->second.bossInfo->state == IN_PROGRESS)
|
||||
{
|
||||
open = false;
|
||||
case DOOR_TYPE_ROOM:
|
||||
open = (itr->second.bossInfo->state != IN_PROGRESS);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (itr->second.type == DOOR_TYPE_PASSAGE)
|
||||
{
|
||||
if (itr->second.bossInfo->state != DONE)
|
||||
{
|
||||
open = false;
|
||||
case DOOR_TYPE_PASSAGE:
|
||||
open = (itr->second.bossInfo->state == DONE);
|
||||
break;
|
||||
case DOOR_TYPE_SPAWN_HOLE:
|
||||
open = (itr->second.bossInfo->state == IN_PROGRESS);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
|
||||
//sLog->outError("Door %u is %s.", door->GetEntry(), open ? "opened" : "closed");
|
||||
}
|
||||
|
||||
void InstanceScript::AddDoor(GameObject *door, bool add)
|
||||
|
||||
Reference in New Issue
Block a user