fix(Core/SmartScripts): SMART_ACTION_ACTIVATE_GOBJECT should not rese… (#9178)

* fix(Core/SmartScripts): SMART_ACTION_ACTIVATE_GOBJECT should not reset loot state for doors.

Fixes #8937
This commit is contained in:
UltraNix
2021-11-20 16:27:06 +01:00
committed by GitHub
parent d8f4a5cd0c
commit c8466fa218

View File

@@ -790,12 +790,16 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
{ {
if (IsGameObject(*itr)) if (IsGameObject(*itr))
{ {
GameObject* go = (*itr)->ToGameObject();
// Activate // Activate
// xinef: wtf is this shit? if (go->GetGoType() != GAMEOBJECT_TYPE_DOOR)
(*itr)->ToGameObject()->SetLootState(GO_READY); {
(*itr)->ToGameObject()->UseDoorOrButton(0, !!e.action.activateObject.alternative, unit); go->SetLootState(GO_READY);
LOG_DEBUG("sql.sql", "SmartScript::ProcessAction:: SMART_ACTION_ACTIVATE_GOBJECT. Gameobject %s activated", }
(*itr)->GetGUID().ToString().c_str());
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());
} }
} }