Update gameobject template data. (#370)
This commit is contained in:
+40
-3
@@ -405,9 +405,7 @@ void ScriptMgr::LoadScripts(ScriptMapMap& scripts, char const* tablename)
|
||||
|
||||
if (info->type == GAMEOBJECT_TYPE_FISHINGNODE ||
|
||||
info->type == GAMEOBJECT_TYPE_FISHINGHOLE ||
|
||||
info->type == GAMEOBJECT_TYPE_DOOR ||
|
||||
info->type == GAMEOBJECT_TYPE_BUTTON ||
|
||||
info->type == GAMEOBJECT_TYPE_TRAP)
|
||||
info->type == GAMEOBJECT_TYPE_DOOR)
|
||||
{
|
||||
sLog.outErrorDb("Table `%s` have gameobject type (%u) unsupported by command SCRIPT_COMMAND_RESPAWN_GAMEOBJECT for script id %u", tablename, info->id, tmp.id);
|
||||
continue;
|
||||
@@ -1192,6 +1190,45 @@ void ScriptMgr::LoadScripts(ScriptMapMap& scripts, char const* tablename)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SCRIPT_COMMAND_DESPAWN_GAMEOBJECT:
|
||||
{
|
||||
if (tmp.GetGOGuid()) // cant check when using buddy\source\target instead
|
||||
{
|
||||
GameObjectData const* data = sObjectMgr.GetGOData(tmp.GetGOGuid());
|
||||
if (!data)
|
||||
{
|
||||
if (!sObjectMgr.IsExistingGameObjectGuid(tmp.GetGOGuid()))
|
||||
{
|
||||
sLog.outErrorDb("Table `%s` has invalid gameobject (GUID: %u) in SCRIPT_COMMAND_DESPAWN_GAMEOBJECT for script id %u", tablename, tmp.GetGOGuid(), tmp.id);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
DisableScriptAction(tmp);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SCRIPT_COMMAND_LOAD_GAMEOBJECT:
|
||||
{
|
||||
GameObjectData const* data = sObjectMgr.GetGOData(tmp.GetGOGuid());
|
||||
if (!data)
|
||||
{
|
||||
if (!sObjectMgr.IsExistingGameObjectGuid(tmp.GetGOGuid()))
|
||||
{
|
||||
sLog.outErrorDb("Table `%s` has invalid gameobject (GUID: %u) in SCRIPT_COMMAND_LOAD_GAMEOBJECT for script id %u", tablename, tmp.GetGOGuid(), tmp.id);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
DisableScriptAction(tmp);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (scripts.find(tmp.id) == scripts.end())
|
||||
|
||||
Reference in New Issue
Block a user