mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 13:37:00 +00:00
[7715] Provided way for scripts set alternative gameobject state for client show.
Also use enum for gsmeobject states.
This commit is contained in:
parent
1ec21cfb71
commit
c2e6dd20dd
10 changed files with 80 additions and 53 deletions
|
|
@ -2000,18 +2000,18 @@ void World::ScriptsProcess()
|
|||
CellLock<GridReadGuard> cell_lock(cell, p);
|
||||
cell_lock->Visit(cell_lock, object_checker, *caster->GetMap());
|
||||
|
||||
if ( !door )
|
||||
if (!door)
|
||||
{
|
||||
sLog.outError("SCRIPT_COMMAND_OPEN_DOOR failed for gameobject(guid: %u).", step.script->datalong);
|
||||
break;
|
||||
}
|
||||
if ( door->GetGoType() != GAMEOBJECT_TYPE_DOOR )
|
||||
if (door->GetGoType() != GAMEOBJECT_TYPE_DOOR)
|
||||
{
|
||||
sLog.outError("SCRIPT_COMMAND_OPEN_DOOR failed for non-door(GoType: %u).", door->GetGoType());
|
||||
break;
|
||||
}
|
||||
|
||||
if( !door->GetGoState() )
|
||||
if (door->GetGoState() != GO_STATE_READY)
|
||||
break; //door already open
|
||||
|
||||
door->UseDoorOrButton(time_to_close);
|
||||
|
|
@ -2067,7 +2067,7 @@ void World::ScriptsProcess()
|
|||
break;
|
||||
}
|
||||
|
||||
if( door->GetGoState() )
|
||||
if( door->GetGoState() == GO_STATE_READY )
|
||||
break; //door already closed
|
||||
|
||||
door->UseDoorOrButton(time_to_open);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue