mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
[10107] Pool/event info in .npc info and .gobject target commands
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
a504b4d200
commit
4e1c8a2ad6
12 changed files with 152 additions and 47 deletions
|
|
@ -24,7 +24,7 @@ CREATE TABLE `db_version` (
|
||||||
`version` varchar(120) default NULL,
|
`version` varchar(120) default NULL,
|
||||||
`creature_ai_version` varchar(120) default NULL,
|
`creature_ai_version` varchar(120) default NULL,
|
||||||
`cache_id` int(10) default '0',
|
`cache_id` int(10) default '0',
|
||||||
`required_10106_02_mangos_mangos_string` bit(1) default NULL
|
`required_10107_01_mangos_mangos_string` bit(1) default NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
@ -3210,29 +3210,29 @@ INSERT INTO `mangos_string` VALUES
|
||||||
(302,'Player\'s chat is already enabled.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(302,'Player\'s chat is already enabled.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(303,'Your chat has been enabled.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(303,'Your chat has been enabled.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(304,'You have enabled %s\'s chat.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(304,'You have enabled %s\'s chat.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(305, 'Faction %s (%u) reputation of %s was set to %5d!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(305,'Faction %s (%u) reputation of %s was set to %5d!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(306, 'The arena points of %s was set to %u!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(306,'The arena points of %s was set to %u!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(307, 'No faction found!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(307,'No faction found!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(308, 'Faction %i unknown!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(308,'Faction %i unknown!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(309, 'Invalid parameter %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(309,'Invalid parameter %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(310, 'delta must be between 0 and %d (inclusive)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(310,'delta must be between 0 and %d (inclusive)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(311, '%d - |cffffffff|Hfaction:%d|h[%s]|h|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(311,'%d - |cffffffff|Hfaction:%d|h[%s]|h|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(312, ' [visible]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(312,' [visible]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(313, ' [at war]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(313,' [at war]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(314, ' [peace forced]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(314,' [peace forced]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(315, ' [hidden]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(315,' [hidden]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(316, ' [invisible forced]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(316,' [invisible forced]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(317, ' [inactive]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(317,' [inactive]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(318, 'Hated',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(318,'Hated',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(319, 'Hostile',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(319,'Hostile',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(320, 'Unfriendly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(320,'Unfriendly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(321, 'Neutral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(321,'Neutral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(322, 'Friendly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(322,'Friendly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(323, 'Honored',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(323,'Honored',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(324, 'Revered',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(324,'Revered',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(325, 'Exalted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(325,'Exalted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(326, 'Faction %s (%u) can\'not have reputation.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(326,'Faction %s (%u) can\'not have reputation.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(327, ' [no reputation]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(327,' [no reputation]',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(328,'Characters at account %s (Id: %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(328,'Characters at account %s (Id: %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(329,' %s (GUID %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(329,' %s (GUID %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(330,'No players found!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(330,'No players found!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
|
@ -3625,19 +3625,19 @@ INSERT INTO `mangos_string` VALUES
|
||||||
(1013,'| %10u |%15s| %20s | %15s |%4d| %9d |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1013,'| %10u |%15s| %20s | %15s |%4d| %9d |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1014,'No online players.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1014,'No online players.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1015,'Used not fully typed quit command, need type it fully (quit), or command used not in RA command line.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1015,'Used not fully typed quit command, need type it fully (quit), or command used not in RA command line.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1016, '| GUID | Name | Account | Delete Date |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1016,'| GUID | Name | Account | Delete Date |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1017, '| %10u | %20s | %15s (%10u) | %19s |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1017,'| %10u | %20s | %15s (%10u) | %19s |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1018, '==========================================================================================',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1018,'==========================================================================================',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1019, 'No characters found.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1019,'No characters found.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1020, 'Restoring the following characters:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1020,'Restoring the following characters:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1021, 'Deleting the following characters:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1021,'Deleting the following characters:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1022, 'ERROR: You can only assign a new name if you have only selected a single character!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1022,'ERROR: You can only assign a new name if you have only selected a single character!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1023, 'Character \'%s\' (GUID: %u Account %u) can\'t be restored: account not exist!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1023,'Character \'%s\' (GUID: %u Account %u) can\'t be restored: account not exist!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1024, 'Character \'%s\' (GUID: %u Account %u) can\'t be restored: account character list full!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1024,'Character \'%s\' (GUID: %u Account %u) can\'t be restored: account character list full!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1025, 'Character \'%s\' (GUID: %u Account %u) can\'t be restored: new name already used!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1025,'Character \'%s\' (GUID: %u Account %u) can\'t be restored: new name already used!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1026, 'GUID: %u Name: %s Account: %s (%u) Date: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1026,'GUID: %u Name: %s Account: %s (%u) Date: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1027, 'Log filters state:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1027,'Log filters state:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1028, 'All log filters set to: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1028,'All log filters set to: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1100,'Account %s (Id: %u) have up to %u expansion allowed now.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1100,'Account %s (Id: %u) have up to %u expansion allowed now.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1101,'Message of the day changed to:\r\n%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1101,'Message of the day changed to:\r\n%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1102,'Message sent to %s: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1102,'Message sent to %s: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
|
@ -3676,11 +3676,17 @@ INSERT INTO `mangos_string` VALUES
|
||||||
(1135,'List known talents:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1135,'List known talents:',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1136,' (Found talents: %u used talent points: %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1136,' (Found talents: %u used talent points: %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1137,'%d - |cffffffff|Hgameobject:%d|h[%s X:%f Y:%f Z:%f MapId:%d]|h|r ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1137,'%d - |cffffffff|Hgameobject:%d|h[%s X:%f Y:%f Z:%f MapId:%d]|h|r ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1138, '=================================================================================',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1138,'=================================================================================',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1139, '| GUID | Name | Race | Class | Level |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1139,'| GUID | Name | Race | Class | Level |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1140, '| %10u | %20s | %15s | %15s | %5u |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1140,'| %10u | %20s | %15s | %15s | %5u |',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1141, '%u - |cffffffff|Hplayer:%s|h[%s]|h|r %s %s %u',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1141,'%u - |cffffffff|Hplayer:%s|h[%s]|h|r %s %s %u',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1142,'%u - %s (Online:%s IP:%s GM:%u Expansion:%u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
(1142,'%u - %s (Online:%s IP:%s GM:%u Expansion:%u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1143,'Spawned by event %u (%s)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1144,'Despawned by event %u (%s)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1145,'Part of pool %u',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1146,'Part of pool %u, top pool %u',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1147,'The (top)pool %u is spawned by event %u (%s)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1148,'The (top)pool %u is despawned by event %u (%s)',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),
|
(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);
|
(1201,'You try to view movie %u but it doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
/*!40000 ALTER TABLE `mangos_string` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `mangos_string` ENABLE KEYS */;
|
||||||
|
|
|
||||||
11
sql/updates/10107_01_mangos_mangos_string.sql
Normal file
11
sql/updates/10107_01_mangos_mangos_string.sql
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
ALTER TABLE db_version CHANGE COLUMN required_10106_02_mangos_mangos_string required_10107_01_mangos_mangos_string bit;
|
||||||
|
|
||||||
|
DELETE FROM mangos_string WHERE entry BETWEEN 1143 AND 1148;
|
||||||
|
|
||||||
|
INSERT INTO mangos_string VALUES
|
||||||
|
(1143, 'Spawned by event %u (%s)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1144, 'Despawned by event %u (%s)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1145, 'Part of pool %u',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1146, 'Part of pool %u, top pool %u',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1147, 'The (top)pool %u is spawned by event %u (%s)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
|
(1148, 'The (top)pool %u is despawned by event %u (%s)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
|
|
@ -93,6 +93,7 @@ pkgdata_DATA = \
|
||||||
10089_01_mangos_game_event_pool.sql \
|
10089_01_mangos_game_event_pool.sql \
|
||||||
10106_01_mangos_command.sql \
|
10106_01_mangos_command.sql \
|
||||||
10106_02_mangos_mangos_string.sql \
|
10106_02_mangos_mangos_string.sql \
|
||||||
|
10107_01_mangos_mangos_string.sql \
|
||||||
README
|
README
|
||||||
|
|
||||||
## Additional files to include when running 'make dist'
|
## Additional files to include when running 'make dist'
|
||||||
|
|
@ -166,4 +167,5 @@ EXTRA_DIST = \
|
||||||
10089_01_mangos_game_event_pool.sql \
|
10089_01_mangos_game_event_pool.sql \
|
||||||
10106_01_mangos_command.sql \
|
10106_01_mangos_command.sql \
|
||||||
10106_02_mangos_mangos_string.sql \
|
10106_02_mangos_mangos_string.sql \
|
||||||
|
10107_01_mangos_mangos_string.sql \
|
||||||
README
|
README
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@
|
||||||
#include "CellImpl.h"
|
#include "CellImpl.h"
|
||||||
#include "AccountMgr.h"
|
#include "AccountMgr.h"
|
||||||
#include "SpellMgr.h"
|
#include "SpellMgr.h"
|
||||||
|
#include "PoolManager.h"
|
||||||
|
#include "GameEventMgr.h"
|
||||||
|
|
||||||
// Supported shift-links (client generated and server side)
|
// Supported shift-links (client generated and server side)
|
||||||
// |color|Hachievement:achievement_id:player_guid:0:0:0:0:0:0:0:0|h[name]|h|r
|
// |color|Hachievement:achievement_id:player_guid:0:0:0:0:0:0:0:0|h[name]|h|r
|
||||||
|
|
@ -2523,3 +2525,42 @@ int CliHandler::GetSessionDbLocaleIndex() const
|
||||||
{
|
{
|
||||||
return sObjectMgr.GetDBCLocaleIndex();
|
return sObjectMgr.GetDBCLocaleIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check/ Output if a NPC or GO (by guid) is part of a pool or game event
|
||||||
|
template <typename T>
|
||||||
|
void ChatHandler::ShowNpcOrGoSpawnInformation(uint32 guid)
|
||||||
|
{
|
||||||
|
if (uint16 pool_id = sPoolMgr.IsPartOfAPool<T>(guid))
|
||||||
|
{
|
||||||
|
uint16 top_pool_id = sPoolMgr.IsPartOfTopPool<Pool>(pool_id);
|
||||||
|
if (!top_pool_id || top_pool_id == pool_id)
|
||||||
|
PSendSysMessage(LANG_NPC_GO_INFO_POOL, pool_id);
|
||||||
|
else
|
||||||
|
PSendSysMessage(LANG_NPC_GO_INFO_TOP_POOL, pool_id, top_pool_id);
|
||||||
|
|
||||||
|
if (int16 event_id = sGameEventMgr.GetGameEventId<Pool>(top_pool_id))
|
||||||
|
{
|
||||||
|
GameEventMgr::GameEventDataMap const& events = sGameEventMgr.GetEventMap();
|
||||||
|
GameEventData const& eventData = events[std::abs(event_id)];
|
||||||
|
|
||||||
|
if (event_id > 0)
|
||||||
|
PSendSysMessage(LANG_NPC_GO_INFO_POOL_GAME_EVENT_S, top_pool_id, std::abs(event_id), eventData.description.c_str());
|
||||||
|
else
|
||||||
|
PSendSysMessage(LANG_NPC_GO_INFO_POOL_GAME_EVENT_D, top_pool_id, std::abs(event_id), eventData.description.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (int16 event_id = sGameEventMgr.GetGameEventId<T>(guid))
|
||||||
|
{
|
||||||
|
GameEventMgr::GameEventDataMap const& events = sGameEventMgr.GetEventMap();
|
||||||
|
GameEventData const& eventData = events[std::abs(event_id)];
|
||||||
|
|
||||||
|
if (event_id > 0)
|
||||||
|
PSendSysMessage(LANG_NPC_GO_INFO_GAME_EVENT_S, std::abs(event_id), eventData.description.c_str());
|
||||||
|
else
|
||||||
|
PSendSysMessage(LANG_NPC_GO_INFO_GAME_EVENT_D, std::abs(event_id), eventData.description.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Instantiate template for helper function
|
||||||
|
template void ChatHandler::ShowNpcOrGoSpawnInformation<Creature>(uint32 guid);
|
||||||
|
template void ChatHandler::ShowNpcOrGoSpawnInformation<GameObject>(uint32 guid);
|
||||||
|
|
|
||||||
|
|
@ -560,7 +560,8 @@ class ChatHandler
|
||||||
void HandleLearnSkillRecipesHelper(Player* player,uint32 skill_id);
|
void HandleLearnSkillRecipesHelper(Player* player,uint32 skill_id);
|
||||||
void ShowSpellListHelper(Player* target, SpellEntry const* spellInfo, LocaleConstant loc);
|
void ShowSpellListHelper(Player* target, SpellEntry const* spellInfo, LocaleConstant loc);
|
||||||
bool HandleGoHelper(Player* _player, uint32 mapid, float x, float y, float const* zPtr = NULL, float const* ortPtr = NULL);
|
bool HandleGoHelper(Player* _player, uint32 mapid, float x, float y, float const* zPtr = NULL, float const* ortPtr = NULL);
|
||||||
|
template<typename T>
|
||||||
|
void ShowNpcOrGoSpawnInformation(uint32 guid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores informations about a deleted character
|
* Stores informations about a deleted character
|
||||||
|
|
|
||||||
|
|
@ -839,6 +839,39 @@ void GameEventMgr::UpdateWorldStates(uint16 event_id, bool Activate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the Game Event ID for Creature by guid
|
||||||
|
template <>
|
||||||
|
int16 GameEventMgr::GetGameEventId<Creature>(uint32 guid_or_poolid)
|
||||||
|
{
|
||||||
|
for (uint16 i = 0; i < mGameEventCreatureGuids.size(); i++) // 0 <= i <= 2*(S := mGameEvent.size()) - 2
|
||||||
|
for (GuidList::const_iterator itr = mGameEventCreatureGuids[i].begin(); itr != mGameEventCreatureGuids[i].end(); itr++)
|
||||||
|
if (*itr == guid_or_poolid)
|
||||||
|
return i + 1 - mGameEvent.size(); // -S *1 + 1 <= . <= 1*S - 1
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the Game Event ID for GameObject by guid
|
||||||
|
template <>
|
||||||
|
int16 GameEventMgr::GetGameEventId<GameObject>(uint32 guid_or_poolid)
|
||||||
|
{
|
||||||
|
for (uint16 i = 0; i < mGameEventGameobjectGuids.size(); i++)
|
||||||
|
for (GuidList::const_iterator itr = mGameEventGameobjectGuids[i].begin(); itr != mGameEventGameobjectGuids[i].end(); itr++)
|
||||||
|
if (*itr == guid_or_poolid)
|
||||||
|
return i + 1 - mGameEvent.size(); // -S *1 + 1 <= . <= 1*S - 1
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the Game Event ID for Pool by pool ID
|
||||||
|
template <>
|
||||||
|
int16 GameEventMgr::GetGameEventId<Pool>(uint32 guid_or_poolid)
|
||||||
|
{
|
||||||
|
for (uint16 i = 0; i < mGameEventSpawnPoolIds.size(); i++)
|
||||||
|
for (IdList::const_iterator itr = mGameEventSpawnPoolIds[i].begin(); itr != mGameEventSpawnPoolIds[i].end(); itr++)
|
||||||
|
if (*itr == guid_or_poolid)
|
||||||
|
return i;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
GameEventMgr::GameEventMgr()
|
GameEventMgr::GameEventMgr()
|
||||||
{
|
{
|
||||||
m_IsGameEventsInit = false;
|
m_IsGameEventsInit = false;
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,8 @@ class GameEventMgr
|
||||||
uint32 Initialize();
|
uint32 Initialize();
|
||||||
void StartEvent(uint16 event_id, bool overwrite = false);
|
void StartEvent(uint16 event_id, bool overwrite = false);
|
||||||
void StopEvent(uint16 event_id, bool overwrite = false);
|
void StopEvent(uint16 event_id, bool overwrite = false);
|
||||||
|
template<typename T>
|
||||||
|
int16 GetGameEventId(uint32 guid_or_poolid);
|
||||||
private:
|
private:
|
||||||
void AddActiveEvent(uint16 event_id) { m_ActiveEvents.insert(event_id); }
|
void AddActiveEvent(uint16 event_id) { m_ActiveEvents.insert(event_id); }
|
||||||
void RemoveActiveEvent(uint16 event_id) { m_ActiveEvents.erase(event_id); }
|
void RemoveActiveEvent(uint16 event_id) { m_ActiveEvents.erase(event_id); }
|
||||||
|
|
|
||||||
|
|
@ -840,7 +840,13 @@ enum MangosStrings
|
||||||
LANG_CHARACTERS_LIST_LINE_CONSOLE = 1140,
|
LANG_CHARACTERS_LIST_LINE_CONSOLE = 1140,
|
||||||
LANG_CHARACTERS_LIST_LINE_CHAT = 1141,
|
LANG_CHARACTERS_LIST_LINE_CHAT = 1141,
|
||||||
LANG_ACCOUNT_LIST_LINE_CHAT = 1142,
|
LANG_ACCOUNT_LIST_LINE_CHAT = 1142,
|
||||||
// Room for more level 3 1143-1199 not used
|
LANG_NPC_GO_INFO_GAME_EVENT_S = 1143,
|
||||||
|
LANG_NPC_GO_INFO_GAME_EVENT_D = 1144,
|
||||||
|
LANG_NPC_GO_INFO_POOL = 1145,
|
||||||
|
LANG_NPC_GO_INFO_TOP_POOL = 1146,
|
||||||
|
LANG_NPC_GO_INFO_POOL_GAME_EVENT_S = 1147,
|
||||||
|
LANG_NPC_GO_INFO_POOL_GAME_EVENT_D = 1148,
|
||||||
|
// Room for more level 3 1149-1199 not used
|
||||||
|
|
||||||
// Debug commands
|
// Debug commands
|
||||||
LANG_CINEMATIC_NOT_EXIST = 1200,
|
LANG_CINEMATIC_NOT_EXIST = 1200,
|
||||||
|
|
|
||||||
|
|
@ -526,7 +526,7 @@ bool ChatHandler::HandleGameObjectTargetCommand(const char* args)
|
||||||
|
|
||||||
PSendSysMessage(LANG_GAMEOBJECT_DETAIL, lowguid, goI->name, lowguid, id, x, y, z, mapid, o);
|
PSendSysMessage(LANG_GAMEOBJECT_DETAIL, lowguid, goI->name, lowguid, id, x, y, z, mapid, o);
|
||||||
|
|
||||||
if(target)
|
if (target)
|
||||||
{
|
{
|
||||||
time_t curRespawnDelay = target->GetRespawnTimeEx()-time(NULL);
|
time_t curRespawnDelay = target->GetRespawnTimeEx()-time(NULL);
|
||||||
if(curRespawnDelay < 0)
|
if(curRespawnDelay < 0)
|
||||||
|
|
@ -536,6 +536,8 @@ bool ChatHandler::HandleGameObjectTargetCommand(const char* args)
|
||||||
std::string defRespawnDelayStr = secsToTimeString(target->GetRespawnDelay(),true);
|
std::string defRespawnDelayStr = secsToTimeString(target->GetRespawnDelay(),true);
|
||||||
|
|
||||||
PSendSysMessage(LANG_COMMAND_RAWPAWNTIMES, defRespawnDelayStr.c_str(),curRespawnDelayStr.c_str());
|
PSendSysMessage(LANG_COMMAND_RAWPAWNTIMES, defRespawnDelayStr.c_str(),curRespawnDelayStr.c_str());
|
||||||
|
|
||||||
|
ShowNpcOrGoSpawnInformation<GameObject>(target->GetDBTableGUIDLow());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -858,7 +860,7 @@ bool ChatHandler::HandleGameObjectNearCommand(const char* args)
|
||||||
|
|
||||||
GameObjectInfo const * gInfo = ObjectMgr::GetGameObjectInfo(entry);
|
GameObjectInfo const * gInfo = ObjectMgr::GetGameObjectInfo(entry);
|
||||||
|
|
||||||
if(!gInfo)
|
if (!gInfo)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
PSendSysMessage(LANG_GO_MIXED_LIST_CHAT, guid, entry, guid, gInfo->name, x, y, z, mapid);
|
PSendSysMessage(LANG_GO_MIXED_LIST_CHAT, guid, entry, guid, gInfo->name, x, y, z, mapid);
|
||||||
|
|
|
||||||
|
|
@ -3809,6 +3809,7 @@ bool ChatHandler::HandleNpcInfoCommand(const char* /*args*/)
|
||||||
SendSysMessage(LANG_NPCINFO_TRAINER);
|
SendSysMessage(LANG_NPCINFO_TRAINER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ShowNpcOrGoSpawnInformation<Creature>(target->GetDBTableGUIDLow());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "10106"
|
#define REVISION_NR "10107"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef __REVISION_SQL_H__
|
#ifndef __REVISION_SQL_H__
|
||||||
#define __REVISION_SQL_H__
|
#define __REVISION_SQL_H__
|
||||||
#define REVISION_DB_CHARACTERS "required_10051_01_characters_character_aura"
|
#define REVISION_DB_CHARACTERS "required_10051_01_characters_character_aura"
|
||||||
#define REVISION_DB_MANGOS "required_10106_02_mangos_mangos_string"
|
#define REVISION_DB_MANGOS "required_10107_01_mangos_mangos_string"
|
||||||
#define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version"
|
#define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version"
|
||||||
#endif // __REVISION_SQL_H__
|
#endif // __REVISION_SQL_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue