mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 09:44:45 +01:00
Scripts/Commands: .npc info and .gobj info now show runtime AI typenames in addition to AIName/ScriptName.
Trying to figure out what base AI type a given creature is using has annoyed me one too many times (hi there, e8f9068).
This commit is contained in:
3
sql/updates/world/3.3.5/2018_07_18_00_world.sql
Normal file
3
sql/updates/world/3.3.5/2018_07_18_00_world.sql
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
--
|
||||||
|
DELETE FROM `trinity_string` WHERE `entry`=5083;
|
||||||
|
INSERT INTO `trinity_string` (`entry`,`content_default`) VALUES (5083,"Active AI: %s");
|
||||||
@@ -1062,6 +1062,7 @@ enum TrinityStrings
|
|||||||
LANG_LIST_RESPAWNS_OVERDUE = 5080,
|
LANG_LIST_RESPAWNS_OVERDUE = 5080,
|
||||||
LANG_LIST_RESPAWNS_CREATURES = 5081,
|
LANG_LIST_RESPAWNS_CREATURES = 5081,
|
||||||
LANG_LIST_RESPAWNS_GAMEOBJECTS = 5082,
|
LANG_LIST_RESPAWNS_GAMEOBJECTS = 5082,
|
||||||
|
LANG_OBJECTINFO_AITYPE = 5083,
|
||||||
|
|
||||||
// Room for more Trinity strings 5084-6603
|
// Room for more Trinity strings 5084-6603
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ EndScriptData */
|
|||||||
#include "DatabaseEnv.h"
|
#include "DatabaseEnv.h"
|
||||||
#include "DBCStores.h"
|
#include "DBCStores.h"
|
||||||
#include "GameEventMgr.h"
|
#include "GameEventMgr.h"
|
||||||
|
#include "GameObjectAI.h"
|
||||||
#include "GameTime.h"
|
#include "GameTime.h"
|
||||||
#include "Language.h"
|
#include "Language.h"
|
||||||
#include "Log.h"
|
#include "Log.h"
|
||||||
@@ -670,16 +671,15 @@ public:
|
|||||||
handler->PSendSysMessage(LANG_GOINFO_LOOTID, lootId);
|
handler->PSendSysMessage(LANG_GOINFO_LOOTID, lootId);
|
||||||
handler->PSendSysMessage(LANG_GOINFO_DISPLAYID, displayId);
|
handler->PSendSysMessage(LANG_GOINFO_DISPLAYID, displayId);
|
||||||
|
|
||||||
if (WorldObject* object = handler->getSelectedObject())
|
if (thisGO)
|
||||||
{
|
{
|
||||||
if (object->ToGameObject() && object->ToGameObject()->GetGameObjectData() && object->ToGameObject()->GetGameObjectData()->spawnGroupData->groupId)
|
if (thisGO->GetGameObjectData() && thisGO->GetGameObjectData()->spawnGroupData->groupId)
|
||||||
{
|
{
|
||||||
SpawnGroupTemplateData const* groupData = object->ToGameObject()->GetGameObjectData()->spawnGroupData;
|
SpawnGroupTemplateData const* groupData = thisGO->GetGameObjectData()->spawnGroupData;
|
||||||
handler->PSendSysMessage(LANG_SPAWNINFO_GROUP_ID, groupData->name.c_str(), groupData->groupId, groupData->flags, object->GetMap()->IsSpawnGroupActive(groupData->groupId));
|
handler->PSendSysMessage(LANG_SPAWNINFO_GROUP_ID, groupData->name.c_str(), groupData->groupId, groupData->flags, thisGO->GetMap()->IsSpawnGroupActive(groupData->groupId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (object->ToGameObject())
|
handler->PSendSysMessage(LANG_SPAWNINFO_COMPATIBILITY_MODE, thisGO->GetRespawnCompatibilityMode());
|
||||||
handler->PSendSysMessage(LANG_SPAWNINFO_COMPATIBILITY_MODE, object->ToGameObject()->GetRespawnCompatibilityMode());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
handler->PSendSysMessage(LANG_GOINFO_NAME, name.c_str());
|
handler->PSendSysMessage(LANG_GOINFO_NAME, name.c_str());
|
||||||
@@ -697,6 +697,8 @@ public:
|
|||||||
handler->PSendSysMessage(LANG_GOINFO_ADDON, goOverride->Faction, goOverride->Flags);
|
handler->PSendSysMessage(LANG_GOINFO_ADDON, goOverride->Faction, goOverride->Flags);
|
||||||
|
|
||||||
handler->PSendSysMessage(LANG_OBJECTINFO_AIINFO, gameObjectInfo->AIName.c_str(), sObjectMgr->GetScriptName(gameObjectInfo->ScriptId).c_str());
|
handler->PSendSysMessage(LANG_OBJECTINFO_AIINFO, gameObjectInfo->AIName.c_str(), sObjectMgr->GetScriptName(gameObjectInfo->ScriptId).c_str());
|
||||||
|
if (GameObjectAI const* ai = thisGO ? thisGO->AI() : nullptr)
|
||||||
|
handler->PSendSysMessage(LANG_OBJECTINFO_AITYPE, typeid(*ai).name());
|
||||||
|
|
||||||
if (GameObjectDisplayInfoEntry const* modelInfo = sGameObjectDisplayInfoStore.LookupEntry(displayId))
|
if (GameObjectDisplayInfoEntry const* modelInfo = sGameObjectDisplayInfoStore.LookupEntry(displayId))
|
||||||
handler->PSendSysMessage(LANG_GOINFO_MODEL, modelInfo->maxX, modelInfo->maxY, modelInfo->maxZ, modelInfo->minX, modelInfo->minY, modelInfo->minZ);
|
handler->PSendSysMessage(LANG_GOINFO_MODEL, modelInfo->maxX, modelInfo->maxY, modelInfo->maxZ, modelInfo->minX, modelInfo->minY, modelInfo->minZ);
|
||||||
|
|||||||
@@ -811,6 +811,8 @@ public:
|
|||||||
handler->PSendSysMessage(LANG_NPCINFO_ARMOR, target->GetArmor());
|
handler->PSendSysMessage(LANG_NPCINFO_ARMOR, target->GetArmor());
|
||||||
handler->PSendSysMessage(LANG_NPCINFO_POSITION, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
|
handler->PSendSysMessage(LANG_NPCINFO_POSITION, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
|
||||||
handler->PSendSysMessage(LANG_OBJECTINFO_AIINFO, target->GetAIName().c_str(), target->GetScriptName().c_str());
|
handler->PSendSysMessage(LANG_OBJECTINFO_AIINFO, target->GetAIName().c_str(), target->GetScriptName().c_str());
|
||||||
|
if (CreatureAI const* ai = target->AI())
|
||||||
|
handler->PSendSysMessage(LANG_OBJECTINFO_AITYPE, typeid(*ai).name());
|
||||||
handler->PSendSysMessage(LANG_NPCINFO_FLAGS_EXTRA, cInfo->flags_extra);
|
handler->PSendSysMessage(LANG_NPCINFO_FLAGS_EXTRA, cInfo->flags_extra);
|
||||||
for (uint8 i = 0; i < FLAGS_EXTRA_COUNT; ++i)
|
for (uint8 i = 0; i < FLAGS_EXTRA_COUNT; ++i)
|
||||||
if (cInfo->flags_extra & flagsExtra[i].Value)
|
if (cInfo->flags_extra & flagsExtra[i].Value)
|
||||||
|
|||||||
Reference in New Issue
Block a user