From d811d89c88ce193c3bcccec498a508a4145d6a65 Mon Sep 17 00:00:00 2001 From: Malcrom Date: Thu, 13 Jan 2022 19:28:40 -0400 Subject: [PATCH] fix(Core/GM Commands): Update NPC Info command (#10157) * fix(Core/GM Commands): Update NPC Info command * Update rev_1642085410673517853.sql * Update rev_1642085410673517853.sql * Prevent temp spawn crashing Co-authored-by: acidmanifesto --- .../pending_db_world/rev_1642085410673517853.sql | 7 +++++++ src/server/scripts/Commands/cs_npc.cpp | 13 +++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1642085410673517853.sql diff --git a/data/sql/updates/pending_db_world/rev_1642085410673517853.sql b/data/sql/updates/pending_db_world/rev_1642085410673517853.sql new file mode 100644 index 000000000..82eb07790 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1642085410673517853.sql @@ -0,0 +1,7 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1642085410673517853'); + +UPDATE `acore_string` SET `content_default`="Player selected NPC\nDB GUID: %u, current GUID: %u.\nCurrent Entry: %u of (%u, %u).\nChance of First Entry: %f percent.\nDisplayID: %u (Native: %u).\nFaction: %u.\nnpcFlags: %u." WHERE `entry`=539; +UPDATE `acore_string` SET `locale_frFR`='PNJ sélectionné par le joueur\nGUID en base: %u, GUID actuel: %u.\nEntry actuel: %u de (%u, %u).\nProbabilité de spawn de la première Entry: %f pour cent.\nDisplayID: %u (Natif: %u).\nFaction: %u.\nnpcFlags: %u.' WHERE `entry`=539; +UPDATE `acore_string` SET `locale_deDE`='Vom Spieler gewählter NPC\nDB GUID: %u, aktuelle GUID: %u.\nAktueller Entry: %u von (%u, %u).\nChance auf ersten Entry: %f Prozent.\nDisplayID: %u (Ursprünglich: %u).\nFraktion: %u.\nnpcFlags: %u.' WHERE `entry`=539; +UPDATE `acore_string` SET `locale_zhCN`='当前选择NPC属性\nDB GUID: %u,目前 GUID: %u.\n阵营: %u 的 (%u, %u).\n第一次进入的机会:%f 百分率.\n外观ID: %u (Native: %u).\n编号: %u.\nNPC标识: %u.' WHERE `entry`=539; + diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index 9c5b22cef..0490e269e 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -594,7 +594,16 @@ public: uint32 spellSchoolImmuneMask = cInfo->SpellSchoolImmuneMask; uint32 displayid = target->GetDisplayId(); uint32 nativeid = target->GetNativeDisplayId(); - uint32 Entry = target->GetEntry(); + uint32 entry = target->GetEntry(); + uint32 creature_id1 = 0; + uint32 creature_id2 = 0; + float chance_id1 = 0.0f; + if (CreatureData const* cData = target->GetCreatureData()) + { + creature_id1 = cData->id; + creature_id2 = cData->id2; + chance_id1 = cData->chance_id1; + } int64 curRespawnDelay = target->GetRespawnTimeEx() - time(nullptr); if (curRespawnDelay < 0) @@ -602,7 +611,7 @@ public: std::string curRespawnDelayStr = secsToTimeString(uint64(curRespawnDelay), true); std::string defRespawnDelayStr = secsToTimeString(target->GetRespawnDelay(), true); - handler->PSendSysMessage(LANG_NPCINFO_CHAR, target->GetSpawnId(), target->GetGUID().GetCounter(), faction, npcflags, Entry, displayid, nativeid); + handler->PSendSysMessage(LANG_NPCINFO_CHAR, target->GetSpawnId(), target->GetGUID().GetCounter(), entry, creature_id1, creature_id2, chance_id1, displayid, nativeid, faction, npcflags); handler->PSendSysMessage(LANG_NPCINFO_LEVEL, target->getLevel()); handler->PSendSysMessage(LANG_NPCINFO_EQUIPMENT, target->GetCurrentEquipmentId(), target->GetOriginalEquipmentId()); handler->PSendSysMessage(LANG_NPCINFO_HEALTH, target->GetCreateHealth(), target->GetMaxHealth(), target->GetHealth());