diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 10c425cd8..290d7575f 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -790,12 +790,16 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u { if (IsGameObject(*itr)) { + GameObject* go = (*itr)->ToGameObject(); + // Activate - // xinef: wtf is this shit? - (*itr)->ToGameObject()->SetLootState(GO_READY); - (*itr)->ToGameObject()->UseDoorOrButton(0, !!e.action.activateObject.alternative, unit); - LOG_DEBUG("sql.sql", "SmartScript::ProcessAction:: SMART_ACTION_ACTIVATE_GOBJECT. Gameobject %s activated", - (*itr)->GetGUID().ToString().c_str()); + if (go->GetGoType() != GAMEOBJECT_TYPE_DOOR) + { + go->SetLootState(GO_READY); + } + + go->UseDoorOrButton(0, !!e.action.activateObject.alternative, unit); + LOG_DEBUG("sql.sql", "SmartScript::ProcessAction:: SMART_ACTION_ACTIVATE_GOBJECT. Gameobject %s activated", go->GetGUID().ToString().c_str()); } }