diff --git a/sql/mangos.sql b/sql/mangos.sql index 98c8a9eff..bf3eaeab3 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -24,7 +24,7 @@ CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, `cache_id` int(10) default '0', - `required_11312_01_mangos_mangos_string` bit(1) default NULL + `required_11335_02_mangos_mangos_string` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -3515,7 +3515,7 @@ INSERT INTO `mangos_string` VALUES (500,'Player already has a guild!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (501,'Guild not created! (already exists?)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (502,'No items from itemset \'%u\' found.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), -(503,'The distance is: (3D) %f (2D) %f yards.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), +(503,'The distance is: (3D) %f (2D) %f - (3D, point-to-point) %f yards.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (504,'Item \'%i\' \'%s\' Item Slot %i',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (505,'Item \'%i\' doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (506,'Item \'%i\' \'%s\' Added to Slot %i',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), @@ -3858,6 +3858,7 @@ INSERT INTO `mangos_string` VALUES (1167,'Scripting library has wrong list functions (outdated?).',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1168,'Scripting library reloaded.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1169,'Scripting library build for different mangosd revision.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), +(1170,'Player selected NPC\nGUID: %u.\nFaction: %u.\nnpcFlags: %u.\nBase Entry: %u, Spawned Entry %u (Difficulty %u).\nDisplayID: %u (Native: %u).',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1200,'You try to view cinemitic %u but it doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1201,'You try to view movie %u but it doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1202,'Spell %u %s = %f (*1.88 = %f) DB = %f AP = %f',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), diff --git a/sql/updates/11335_01_mangos_mangos_string.sql b/sql/updates/11335_01_mangos_mangos_string.sql new file mode 100644 index 000000000..7397ed7cb --- /dev/null +++ b/sql/updates/11335_01_mangos_mangos_string.sql @@ -0,0 +1,6 @@ +ALTER TABLE db_version CHANGE COLUMN required_11312_01_mangos_mangos_string required_11335_01_mangos_mangos_string bit; + +DELETE FROM mangos_string WHERE entry IN (1170); + +INSERT INTO mangos_string VALUES +(1170,'Player selected NPC\nGUID: %u.\nFaction: %u.\nnpcFlags: %u.\nBase Entry: %u, Spawned Entry %u (Difficulty %u).\nDisplayID: %u (Native: %u).',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); diff --git a/sql/updates/11335_02_mangos_mangos_string.sql b/sql/updates/11335_02_mangos_mangos_string.sql new file mode 100644 index 000000000..d57f6dfaa --- /dev/null +++ b/sql/updates/11335_02_mangos_mangos_string.sql @@ -0,0 +1,4 @@ +ALTER TABLE db_version CHANGE COLUMN required_11335_01_mangos_mangos_string required_11335_02_mangos_mangos_string bit; + +REPLACE INTO mangos_string VALUES +(503,'The distance is: (3D) %f (2D) %f - (3D, point-to-point) %f yards.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); diff --git a/src/game/Language.h b/src/game/Language.h index 63406946b..52418ef56 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -915,7 +915,8 @@ enum MangosStrings LANG_SCRIPTS_WRONG_API = 1167, LANG_SCRIPTS_RELOADED_OK = 1168, LANG_SCRIPTS_OUTDATED = 1169, - // Room for more level 3 1170-1199 not used + LANG_NPCINFO_CHAR_DIFFICULTY = 1170, + // Room for more level 3 1171-1199 not used // Debug commands LANG_CINEMATIC_NOT_EXIST = 1200, diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index c29162e9b..a3ee10fe1 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -3693,7 +3693,14 @@ bool ChatHandler::HandleGetDistanceCommand(char* args) } } - PSendSysMessage(LANG_DISTANCE, m_session->GetPlayer()->GetDistance(obj), m_session->GetPlayer()->GetDistance2d(obj)); + Player* player = m_session->GetPlayer(); + // Calculate point-to-point distance + float dx, dy, dz; + dx = player->GetPositionX() - obj->GetPositionX(); + dy = player->GetPositionY() - obj->GetPositionY(); + dz = player->GetPositionZ() - obj->GetPositionZ(); + + PSendSysMessage(LANG_DISTANCE, player->GetDistance(obj), player->GetDistance2d(obj), sqrt(dx*dx + dy*dy + dz*dz)); return true; } @@ -4090,7 +4097,20 @@ bool ChatHandler::HandleNpcInfoCommand(char* /*args*/) std::string curRespawnDelayStr = secsToTimeString(curRespawnDelay,true); std::string defRespawnDelayStr = secsToTimeString(target->GetRespawnDelay(),true); - PSendSysMessage(LANG_NPCINFO_CHAR, target->GetGUIDLow(), faction, npcflags, Entry, displayid, nativeid); + // Send information dependend on difficulty mode + CreatureInfo const* baseInfo = ObjectMgr::GetCreatureTemplate(Entry); + uint32 diff = 1; + for (; diff < MAX_DIFFICULTY; ++diff) + if (baseInfo->DifficultyEntry[diff-1] == target->GetCreatureInfo()->Entry) + break; + + if (diff < MAX_DIFFICULTY) + PSendSysMessage(LANG_NPCINFO_CHAR_DIFFICULTY, target->GetGUIDLow(), faction, npcflags, + Entry, target->GetCreatureInfo()->Entry, diff, + displayid, nativeid); + else + PSendSysMessage(LANG_NPCINFO_CHAR, target->GetGUIDLow(), faction, npcflags, Entry, displayid, nativeid); + PSendSysMessage(LANG_NPCINFO_LEVEL, target->getLevel()); PSendSysMessage(LANG_NPCINFO_HEALTH,target->GetCreateHealth(), target->GetMaxHealth(), target->GetHealth()); PSendSysMessage(LANG_NPCINFO_FLAGS, target->GetUInt32Value(UNIT_FIELD_FLAGS), target->GetUInt32Value(UNIT_DYNAMIC_FLAGS), target->getFaction()); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 42e5d876c..6e7df895f 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11334" + #define REVISION_NR "11335" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 28a61f6c5..0e5df6129 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ #define REVISION_DB_CHARACTERS "required_11299_02_characters_pet_aura" - #define REVISION_DB_MANGOS "required_11312_01_mangos_mangos_string" + #define REVISION_DB_MANGOS "required_11335_02_mangos_mangos_string" #define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version" #endif // __REVISION_SQL_H__