Merge remote-tracking branch 'origin/master' into mmaps
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
UPDATE `game_event` SET `start_time`='2012-11-04 00:01:00' WHERE `eventEntry`=3; -- Darkmoon Faire - Terrokkar
|
||||||
|
UPDATE `game_event` SET `start_time`='2012-12-02 00:01:00' WHERE `eventEntry`=4; -- Darkmoon Faire - Elwynn
|
||||||
|
UPDATE `game_event` SET `start_time`='2012-10-07 00:01:00' WHERE `eventEntry`=5; -- Darkmoon Faire - Mulgore
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `quest_template` SET `OfferRewardText`="What!? If I knew that Pao'ka Swiftmountain was going to snoop around Highperch, I would have chained him to a totem! His father was reluctant allowing him to come with me to Thousand Needles. We came here to study the different creatures that inhabit these beautiful lands.$b$bI appreciate the help you have shown Pao'ka. I hope this covers any misfortunes this deed has cost you." WHERE `Id`=4770;
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `creature_text` SET `text`='Good news, everyone! I think I''ve perfected a plague that will destroy all life on Azeroth!' WHERE `entry`=36678 AND `groupid`=4 AND `id`=0;
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
-- Grark Lorkrub should be available only when Kill On Sight: High Ranking Dark Iron Officials is complete
|
||||||
|
UPDATE `quest_template` SET `NextQuestId`=4122 WHERE `Id`=4082;
|
||||||
|
UPDATE `quest_template` SET `PrevQuestId`=4082 WHERE `Id`=4122;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Fix some quest requirements
|
||||||
|
UPDATE `quest_template` SET `PrevQuestId`=3906 WHERE `Id` IN (3907,7201); -- Disharmony of Fire and The Last Element are available only, if Disharmony of Flame is completed
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|256 WHERE `entry` IN (36897, 38138); -- Little Ooze
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Vic's Keys drop chance ( http://old.wowhead.com/object=190778 ) by nelegalno
|
||||||
|
UPDATE `gameobject_loot_template` SET `ChanceOrQuestChance` = -100 WHERE `entry`=24861 AND `item`=39264;
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
-- Cast Armistice in front of the pavillions as well
|
||||||
|
DELETE FROM `spell_area` WHERE `spell`=64373 AND `area` IN (4676, 4677);
|
||||||
|
INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_start_active`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`) VALUES
|
||||||
|
(64373,4676,0,0,0,0,0,2,1), -- Sunreaver Pavillion
|
||||||
|
(64373,4677,0,0,0,0,0,2,1); -- SIlver Covenant Pavillion
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
DELETE FROM creature_involvedrelation WHERE quest IN (25500, 25286);
|
||||||
|
INSERT INTO creature_involvedrelation (id, quest) VALUES
|
||||||
|
(39675, 25500),
|
||||||
|
(39675, 25286);
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
-- gossip assignation from sniff
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4534 WHERE `entry`=3047; -- Archmage Shymm <Mage Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4536 WHERE `entry`=3048; -- Ursyn Ghull <Mage Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=12670 WHERE `entry`=6328; -- Dannie Fizzwizzle <Demon Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=12670 WHERE `entry`=6373; -- Dane Winslow <Demon Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=12670 WHERE `entry`=6374; -- Cylina Darkheart <Demon Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=1622 WHERE `entry`=8965; -- Shawn
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4119 WHERE `entry`=11047; -- Kray <Apprentice Alchemist>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4266 WHERE `entry`=11051; -- Vhan <Apprentice Tailor>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4154 WHERE `entry`=11065; -- Thonys Pillarstone <Apprentice Enchanter>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4158 WHERE `entry`=11071; -- Mot Dawnstrider <Apprentice Enchanter>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4204 WHERE `entry`=11081; -- Faldron <Apprentice Leatherworker>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4181 WHERE `entry`=11083; -- Darianna <Apprentice Leatherworker>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=4207 WHERE `entry`=11084; -- Tarn <Apprentice Leatherworker>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=5142 WHERE `entry`=13442; -- Arch Druid Renferal
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=5141 WHERE `entry`=13443; -- Druid of the Grove
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=5081 WHERE `entry`=13447; -- Corporal Noreg Stormpike
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=5281 WHERE `entry`=13577; -- Stormpike Ram Rider Commander
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7993 WHERE `entry`=15991; -- Lady Dena Kennedy
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7471 WHERE `entry`=17421; -- Clopper Wizbang <Explorers' League>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7455 WHERE `entry`=17424; -- Anchorite Paetheus <First Aid Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7459 WHERE `entry`=17434; -- Morae <Herbalism Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7461 WHERE `entry`=17599; -- Aonar
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7462 WHERE `entry`=17649; -- Kessel <Elekk Lord>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=9821 WHERE `entry`=17666; -- Astur <Stable Master>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7463 WHERE `entry`=17676; -- Achelus
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7464 WHERE `entry`=17703; -- Messenger Hermesius
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=8298 WHERE `entry`=17712; -- Captain Edward Hanes
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7835 WHERE `entry`=17927; -- Scout Jorli
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7738 WHERE `entry`=18252; -- Andarl
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7753 WHERE `entry`=18387; -- Bertelm
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7743 WHERE `entry`=18389; -- Thander
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7752 WHERE `entry`=18390; -- Ros'eleth
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7695 WHERE `entry`=18416; -- Huntress Kima
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7698 WHERE `entry`=18459; -- Jenai Starwhisper
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7745 WHERE `entry`=18704; -- Taela Everstride
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7773 WHERE `entry`=18713; -- Lieutenant Gravelhammer
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7814 WHERE `entry`=18745; -- Captain Auric Sunchaser
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7833 WHERE `entry`=18804; -- Prospector Nachlan <Explorers' League>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7940 WHERE `entry`=19137; -- "Shotgun" Jones <Nesingwary Safari>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=8433 WHERE `entry`=19340; -- Mi'irku Farstep <Portal Trainer>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=7973 WHERE `entry`=19375; -- Eli Thunderstrike <Sky'ree's Keeper>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=8251 WHERE `entry`=21151; -- Borgrim Stouthammer <Explorers' League>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=8247 WHERE `entry`=21158; -- Commander Skyshadow
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=8252 WHERE `entry`=21197; -- Bronwyn Stouthammer <Explorers' League>
|
||||||
|
UPDATE `creature_template` SET `gossip_menu_id`=8566 WHERE `entry`=22832; -- Morthis Whisperwing <Druid of the Talon>
|
||||||
|
|
||||||
|
-- gossip from sniff
|
||||||
|
DELETE FROM `gossip_menu` WHERE (`entry`=1621 AND `text_id`=2273) OR (`entry`=1622 AND `text_id`=2276) OR (`entry`=4119 AND `text_id`=5040) OR (`entry`=4154 AND `text_id`=5184) OR (`entry`=4158 AND `text_id`=5196) OR (`entry`=4181 AND `text_id`=5273) OR (`entry`=4204 AND `text_id`=5325) OR (`entry`=4207 AND `text_id`=5340) OR (`entry`=4266 AND `text_id`=5428) OR (`entry`=4534 AND `text_id`=563) OR (`entry`=4536 AND `text_id`=563) OR (`entry`=5081 AND `text_id`=6288) OR (`entry`=5141 AND `text_id`=6173) OR (`entry`=5142 AND `text_id`=6174) OR (`entry`=5281 AND `text_id`=6313) OR (`entry`=7455 AND `text_id`=9029) OR (`entry`=7459 AND `text_id`=9034) OR (`entry`=7461 AND `text_id`=9037) OR (`entry`=7462 AND `text_id`=9041) OR (`entry`=7463 AND `text_id`=9042) OR (`entry`=7464 AND `text_id`=9043) OR (`entry`=7471 AND `text_id`=9054) OR (`entry`=7695 AND `text_id`=9389) OR (`entry`=7698 AND `text_id`=9393) OR (`entry`=7738 AND `text_id`=9471) OR (`entry`=7743 AND `text_id`=9481) OR (`entry`=7745 AND `text_id`=9484) OR (`entry`=7752 AND `text_id`=9492) OR (`entry`=7753 AND `text_id`=9493) OR (`entry`=7773 AND `text_id`=9521) OR (`entry`=7814 AND `text_id`=9566) OR (`entry`=7833 AND `text_id`=9586) OR (`entry`=7835 AND `text_id`=9591) OR (`entry`=7940 AND `text_id`=9733) OR (`entry`=7973 AND `text_id`=9805) OR (`entry`=7993 AND `text_id`=9845) OR (`entry`=8247 AND `text_id`=10264) OR (`entry`=8251 AND `text_id`=10270) OR (`entry`=8252 AND `text_id`=10271) OR (`entry`=8298 AND `text_id`=10352) OR (`entry`=8432 AND `text_id`=10538) OR (`entry`=8433 AND `text_id`=10291) OR (`entry`=8433 AND `text_id`=10292) OR (`entry`=8566 AND `text_id`=10735);
|
||||||
|
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
|
||||||
|
(1621, 2273), -- 8962
|
||||||
|
(1622, 2276), -- 8965
|
||||||
|
(4119, 5040), -- 11047
|
||||||
|
(4154, 5184), -- 11065
|
||||||
|
(4158, 5196), -- 11071
|
||||||
|
(4181, 5273), -- 11083
|
||||||
|
(4204, 5325), -- 11081
|
||||||
|
(4207, 5340), -- 11084
|
||||||
|
(4266, 5428), -- 11051
|
||||||
|
(4534, 563), -- 3047
|
||||||
|
(4536, 563), -- 3048
|
||||||
|
(5081, 6288), -- 13447
|
||||||
|
(5141, 6173), -- 13443
|
||||||
|
(5142, 6174), -- 13442
|
||||||
|
(5281, 6313), -- 13577
|
||||||
|
(7455, 9029), -- 17424
|
||||||
|
(7459, 9034), -- 17434
|
||||||
|
(7461, 9037), -- 17599
|
||||||
|
(7462, 9041), -- 17649
|
||||||
|
(7463, 9042), -- 17676
|
||||||
|
(7464, 9043), -- 17703
|
||||||
|
(7471, 9054), -- 17421
|
||||||
|
(7695, 9389), -- 18416
|
||||||
|
(7698, 9393), -- 18459
|
||||||
|
(7738, 9471), -- 18252
|
||||||
|
(7743, 9481), -- 18389
|
||||||
|
(7745, 9484), -- 18704
|
||||||
|
(7752, 9492), -- 18390
|
||||||
|
(7753, 9493), -- 18387
|
||||||
|
(7773, 9521), -- 18713
|
||||||
|
(7814, 9566), -- 18745
|
||||||
|
(7833, 9586), -- 18804
|
||||||
|
(7835, 9591), -- 17927
|
||||||
|
(7940, 9733), -- 19137
|
||||||
|
(7973, 9805), -- 19375
|
||||||
|
(7993, 9845), -- 15991
|
||||||
|
(8247, 10264), -- 21158
|
||||||
|
(8251, 10270), -- 21151
|
||||||
|
(8252, 10271), -- 21197
|
||||||
|
(8298, 10352), -- 17712
|
||||||
|
(8432, 10538), -- 21983
|
||||||
|
(8433, 10291), -- 19340
|
||||||
|
(8433, 10292), -- 19340
|
||||||
|
(8566, 10735); -- 22832
|
||||||
|
|
||||||
|
-- correct npc_flags for npc from sniff
|
||||||
|
UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=3210; -- Brave Proudsnout
|
||||||
|
UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=3211; -- Brave Lightninghorn
|
||||||
|
UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=3213; -- Brave Running Wolf
|
||||||
|
UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=3214; -- Brave Greathoof
|
||||||
|
UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=3502; -- Ratchet Bruiser
|
||||||
|
UPDATE `creature_template` SET `npcflag`=3 WHERE `entry`=21151; -- Borgrim Stouthammer <Explorers' League>
|
||||||
|
UPDATE `creature_template` SET `npcflag`=3 WHERE `entry`=21197; -- Bronwyn Stouthammer <Explorers' League>
|
||||||
|
UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=21469; -- Daranelle
|
||||||
|
|
||||||
|
-- Add condition
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=14 AND `SourceGroup`=8433 AND `SourceEntry`=10291) OR (`SourceTypeOrReferenceId`=14 AND `SourceGroup`=8433 AND `SourceEntry`=10292) OR (`SourceTypeOrReferenceId`=14 AND `SourceGroup`=12670 AND `SourceEntry`=12549);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(14,8433,10291,0,0,15,0,128,0,0,1,0,'','Show gossip text if player is not a mage'),
|
||||||
|
(14,8433,10292,0,0,15,0,128,0,0,0,0,'','Show gossip text if player is a mage'),
|
||||||
|
(14,12670,12549,0,0,15,0,256,0,0,1,0,'','Show gossip text if player is not a Warlock');
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
-- Finding the Keymaster by nelegalno
|
||||||
|
|
||||||
|
UPDATE `quest_template` SET `SpecialFlags` = 0, `RequiredSpellCast1` = 0 WHERE `ID` = 10256;
|
||||||
|
DELETE FROM `event_scripts` WHERE id=12857;
|
||||||
|
INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES
|
||||||
|
(12857,0,10,19938,3000000,0,2248.43,2227.97,138.56,2.48121),
|
||||||
|
(12857,1,8,19938,1,0,0,0,0,0);
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry`=20243;
|
||||||
|
DELETE FROM `smart_scripts` WHERE `entryorguid`=20243 AND `id`=0 AND `source_type`=0;
|
||||||
|
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||||
|
(20243,0,0,0,8,0,100,0,256,0,0,0,19,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Scrapped Fel Reaver - On Spellhit - Remove - OOC Not attackable - flags");
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
UPDATE `creature_model_info` SET `modelid_other_gender`=4264 WHERE `modelid`=4261; -- Female orc grunt
|
||||||
|
UPDATE `creature_model_info` SET `modelid_other_gender`=4263 WHERE `modelid`=4262; -- Female tauren
|
||||||
|
UPDATE `creature_model_info` SET `modelid_other_gender`=4262 WHERE `modelid`=4263; -- Male tauren
|
||||||
|
UPDATE `creature_model_info` SET `modelid_other_gender`=4261 WHERE `modelid`=4264; -- Male orc grunt
|
||||||
@@ -196,7 +196,7 @@ const AuthHandler table[] =
|
|||||||
Patcher PatchesCache;
|
Patcher PatchesCache;
|
||||||
|
|
||||||
// Constructor - set the N and g values for SRP6
|
// Constructor - set the N and g values for SRP6
|
||||||
AuthSocket::AuthSocket(RealmSocket& socket) : socket_(socket), pPatch(NULL)
|
AuthSocket::AuthSocket(RealmSocket& socket) : pPatch(NULL), socket_(socket)
|
||||||
{
|
{
|
||||||
N.SetHexStr("894B645E89E1535BBDAD5B8B290650530801B18EBFBF5E8FAB3C82872A3E9BB7");
|
N.SetHexStr("894B645E89E1535BBDAD5B8B290650530801B18EBFBF5E8FAB3C82872A3E9BB7");
|
||||||
g.SetDword(7);
|
g.SetDword(7);
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace VMAP
|
|||||||
{
|
{
|
||||||
VMAP_LOAD_RESULT_ERROR,
|
VMAP_LOAD_RESULT_ERROR,
|
||||||
VMAP_LOAD_RESULT_OK,
|
VMAP_LOAD_RESULT_OK,
|
||||||
VMAP_LOAD_RESULT_IGNORED,
|
VMAP_LOAD_RESULT_IGNORED
|
||||||
};
|
};
|
||||||
|
|
||||||
#define VMAP_INVALID_HEIGHT -100000.0f // for check
|
#define VMAP_INVALID_HEIGHT -100000.0f // for check
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ namespace VMAP
|
|||||||
}
|
}
|
||||||
|
|
||||||
StaticMapTree::StaticMapTree(uint32 mapID, const std::string &basePath)
|
StaticMapTree::StaticMapTree(uint32 mapID, const std::string &basePath)
|
||||||
: iMapID(mapID), iTreeValues(0), iBasePath(basePath), iIsTiled(false)
|
: iMapID(mapID), iIsTiled(false), iTreeValues(0), iBasePath(basePath)
|
||||||
{
|
{
|
||||||
if (iBasePath.length() > 0 && iBasePath[iBasePath.length()-1] != '/' && iBasePath[iBasePath.length()-1] != '\\')
|
if (iBasePath.length() > 0 && iBasePath[iBasePath.length()-1] != '/' && iBasePath[iBasePath.length()-1] != '\\')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ namespace VMAP
|
|||||||
//=================================================================
|
//=================================================================
|
||||||
|
|
||||||
TileAssembler::TileAssembler(const std::string& pSrcDirName, const std::string& pDestDirName)
|
TileAssembler::TileAssembler(const std::string& pSrcDirName, const std::string& pDestDirName)
|
||||||
: iSrcDir(pSrcDirName), iDestDir(pDestDirName), iCurrentUniqueNameId(0), iFilterMethod(NULL)
|
: iDestDir(pDestDirName), iSrcDir(pSrcDirName), iFilterMethod(NULL), iCurrentUniqueNameId(0)
|
||||||
{
|
{
|
||||||
//mkdir(iDestDir);
|
//mkdir(iDestDir);
|
||||||
//init();
|
//init();
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ namespace VMAP
|
|||||||
class ModelInstance: public ModelSpawn
|
class ModelInstance: public ModelSpawn
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ModelInstance(): iModel(0), iInvScale(0.0f) {}
|
ModelInstance(): iInvScale(0.0f), iModel(0) {}
|
||||||
ModelInstance(const ModelSpawn &spawn, WorldModel* model);
|
ModelInstance(const ModelSpawn &spawn, WorldModel* model);
|
||||||
void setUnloaded() { iModel = 0; }
|
void setUnloaded() { iModel = 0; }
|
||||||
bool intersectRay(const G3D::Ray& pRay, float& pMaxDist, bool pStopAtFirstHit) const;
|
bool intersectRay(const G3D::Ray& pRay, float& pMaxDist, bool pStopAtFirstHit) const;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ enum GeneralScriptTexts
|
|||||||
EMOTE_GENERIC_FRENZY = -1000002,
|
EMOTE_GENERIC_FRENZY = -1000002,
|
||||||
EMOTE_GENERIC_ENRAGED = -1000003,
|
EMOTE_GENERIC_ENRAGED = -1000003,
|
||||||
EMOTE_GENERIC_BERSERK = -1000004,
|
EMOTE_GENERIC_BERSERK = -1000004,
|
||||||
EMOTE_GENERIC_BERSERK_RAID = -1000005, // RaidBossEmote version of the previous one
|
EMOTE_GENERIC_BERSERK_RAID = -1000005 // RaidBossEmote version of the previous one
|
||||||
};
|
};
|
||||||
|
|
||||||
//Selection method used by SelectTarget
|
//Selection method used by SelectTarget
|
||||||
@@ -45,7 +45,7 @@ enum SelectAggroTarget
|
|||||||
SELECT_TARGET_TOPAGGRO, //Selects targes from top aggro to bottom
|
SELECT_TARGET_TOPAGGRO, //Selects targes from top aggro to bottom
|
||||||
SELECT_TARGET_BOTTOMAGGRO, //Selects targets from bottom aggro to top
|
SELECT_TARGET_BOTTOMAGGRO, //Selects targets from bottom aggro to top
|
||||||
SELECT_TARGET_NEAREST,
|
SELECT_TARGET_NEAREST,
|
||||||
SELECT_TARGET_FARTHEST,
|
SELECT_TARGET_FARTHEST
|
||||||
};
|
};
|
||||||
|
|
||||||
// default predicate function to select target based on distance, player and/or aura criteria
|
// default predicate function to select target based on distance, player and/or aura criteria
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ enum SelectTargetType
|
|||||||
|
|
||||||
SELECT_TARGET_SINGLE_FRIEND, //Only Single Friend
|
SELECT_TARGET_SINGLE_FRIEND, //Only Single Friend
|
||||||
SELECT_TARGET_AOE_FRIEND, //Only AoE Friend
|
SELECT_TARGET_AOE_FRIEND, //Only AoE Friend
|
||||||
SELECT_TARGET_ANY_FRIEND, //AoE or Single Friend
|
SELECT_TARGET_ANY_FRIEND //AoE or Single Friend
|
||||||
};
|
};
|
||||||
|
|
||||||
//Spell Effects used by SelectSpell
|
//Spell Effects used by SelectSpell
|
||||||
@@ -54,7 +54,7 @@ enum SelectEffect
|
|||||||
SELECT_EFFECT_DONTCARE = 0, //All spell effects allowed
|
SELECT_EFFECT_DONTCARE = 0, //All spell effects allowed
|
||||||
SELECT_EFFECT_DAMAGE, //Spell does damage
|
SELECT_EFFECT_DAMAGE, //Spell does damage
|
||||||
SELECT_EFFECT_HEALING, //Spell does healing
|
SELECT_EFFECT_HEALING, //Spell does healing
|
||||||
SELECT_EFFECT_AURA, //Spell applies an aura
|
SELECT_EFFECT_AURA //Spell applies an aura
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SCEquip
|
enum SCEquip
|
||||||
|
|||||||
@@ -505,14 +505,14 @@ enum AITarget
|
|||||||
AITARGET_ENEMY,
|
AITARGET_ENEMY,
|
||||||
AITARGET_ALLY,
|
AITARGET_ALLY,
|
||||||
AITARGET_BUFF,
|
AITARGET_BUFF,
|
||||||
AITARGET_DEBUFF,
|
AITARGET_DEBUFF
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AICondition
|
enum AICondition
|
||||||
{
|
{
|
||||||
AICOND_AGGRO,
|
AICOND_AGGRO,
|
||||||
AICOND_COMBAT,
|
AICOND_COMBAT,
|
||||||
AICOND_DIE,
|
AICOND_DIE
|
||||||
};
|
};
|
||||||
|
|
||||||
#define AI_DEFAULT_COOLDOWN 5000
|
#define AI_DEFAULT_COOLDOWN 5000
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ enum EventAI_Type
|
|||||||
EVENT_T_TARGET_BUFFED = 24, // Param1 = SpellID, Param2 = Number of Time STacked, Param3/4 Repeat Min/Max
|
EVENT_T_TARGET_BUFFED = 24, // Param1 = SpellID, Param2 = Number of Time STacked, Param3/4 Repeat Min/Max
|
||||||
EVENT_T_RESET = 35, // Is it called after combat, when the creature respawn and spawn. -- TRINITY ONLY
|
EVENT_T_RESET = 35, // Is it called after combat, when the creature respawn and spawn. -- TRINITY ONLY
|
||||||
|
|
||||||
EVENT_T_END,
|
EVENT_T_END
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EventAI_ActionType
|
enum EventAI_ActionType
|
||||||
@@ -119,7 +119,7 @@ enum EventAI_ActionType
|
|||||||
ACTION_T_ATTACK_START_PULSE = 103, //Distance
|
ACTION_T_ATTACK_START_PULSE = 103, //Distance
|
||||||
ACTION_T_SUMMON_GO = 104, //GameObjectID, DespawnTime in ms
|
ACTION_T_SUMMON_GO = 104, //GameObjectID, DespawnTime in ms
|
||||||
|
|
||||||
ACTION_T_END = 105,
|
ACTION_T_END = 105
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Target
|
enum Target
|
||||||
@@ -156,7 +156,7 @@ enum CastFlags
|
|||||||
CAST_FORCE_CAST = 0x04, //Forces cast even if creature is out of mana or out of range
|
CAST_FORCE_CAST = 0x04, //Forces cast even if creature is out of mana or out of range
|
||||||
CAST_NO_MELEE_IF_OOM = 0x08, //Prevents creature from entering melee if out of mana or out of range
|
CAST_NO_MELEE_IF_OOM = 0x08, //Prevents creature from entering melee if out of mana or out of range
|
||||||
CAST_FORCE_TARGET_SELF = 0x10, //Forces the target to cast this spell on itself
|
CAST_FORCE_TARGET_SELF = 0x10, //Forces the target to cast this spell on itself
|
||||||
CAST_AURA_NOT_PRESENT = 0x20, //Only casts the spell if the target does not have an aura from the spell
|
CAST_AURA_NOT_PRESENT = 0x20 //Only casts the spell if the target does not have an aura from the spell
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EventFlags
|
enum EventFlags
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ enum SmartEscortState
|
|||||||
enum SmartEscortVars
|
enum SmartEscortVars
|
||||||
{
|
{
|
||||||
SMART_ESCORT_MAX_PLAYER_DIST = 50,
|
SMART_ESCORT_MAX_PLAYER_DIST = 50,
|
||||||
SMART_MAX_AID_DIST = SMART_ESCORT_MAX_PLAYER_DIST / 2,
|
SMART_MAX_AID_DIST = SMART_ESCORT_MAX_PLAYER_DIST / 2
|
||||||
};
|
};
|
||||||
|
|
||||||
class SmartAI : public CreatureAI
|
class SmartAI : public CreatureAI
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ enum SMART_EVENT_PHASE
|
|||||||
SMART_EVENT_PHASE_6 = 6,
|
SMART_EVENT_PHASE_6 = 6,
|
||||||
SMART_EVENT_PHASE_MAX = 7,
|
SMART_EVENT_PHASE_MAX = 7,
|
||||||
|
|
||||||
SMART_EVENT_PHASE_COUNT = 6,
|
SMART_EVENT_PHASE_COUNT = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SMART_EVENT_PHASE_BITS
|
enum SMART_EVENT_PHASE_BITS
|
||||||
@@ -66,7 +66,7 @@ enum SMART_EVENT_PHASE_BITS
|
|||||||
SMART_EVENT_PHASE_4_BIT = 8,
|
SMART_EVENT_PHASE_4_BIT = 8,
|
||||||
SMART_EVENT_PHASE_5_BIT = 16,
|
SMART_EVENT_PHASE_5_BIT = 16,
|
||||||
SMART_EVENT_PHASE_6_BIT = 32,
|
SMART_EVENT_PHASE_6_BIT = 32,
|
||||||
SMART_EVENT_PHASE_ALL = SMART_EVENT_PHASE_1_BIT + SMART_EVENT_PHASE_2_BIT + SMART_EVENT_PHASE_3_BIT + SMART_EVENT_PHASE_4_BIT + SMART_EVENT_PHASE_5_BIT + SMART_EVENT_PHASE_6_BIT,
|
SMART_EVENT_PHASE_ALL = SMART_EVENT_PHASE_1_BIT + SMART_EVENT_PHASE_2_BIT + SMART_EVENT_PHASE_3_BIT + SMART_EVENT_PHASE_4_BIT + SMART_EVENT_PHASE_5_BIT + SMART_EVENT_PHASE_6_BIT
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint32 SmartPhaseMask[SMART_EVENT_PHASE_COUNT][2] =
|
const uint32 SmartPhaseMask[SMART_EVENT_PHASE_COUNT][2] =
|
||||||
@@ -76,7 +76,7 @@ const uint32 SmartPhaseMask[SMART_EVENT_PHASE_COUNT][2] =
|
|||||||
{SMART_EVENT_PHASE_3, SMART_EVENT_PHASE_3_BIT },
|
{SMART_EVENT_PHASE_3, SMART_EVENT_PHASE_3_BIT },
|
||||||
{SMART_EVENT_PHASE_4, SMART_EVENT_PHASE_4_BIT },
|
{SMART_EVENT_PHASE_4, SMART_EVENT_PHASE_4_BIT },
|
||||||
{SMART_EVENT_PHASE_5, SMART_EVENT_PHASE_5_BIT },
|
{SMART_EVENT_PHASE_5, SMART_EVENT_PHASE_5_BIT },
|
||||||
{SMART_EVENT_PHASE_6, SMART_EVENT_PHASE_6_BIT },
|
{SMART_EVENT_PHASE_6, SMART_EVENT_PHASE_6_BIT }
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SMART_EVENT
|
enum SMART_EVENT
|
||||||
@@ -156,7 +156,7 @@ enum SMART_EVENT
|
|||||||
SMART_EVENT_ACTION_DONE = 72, // eventId (SharedDefines.EventId)
|
SMART_EVENT_ACTION_DONE = 72, // eventId (SharedDefines.EventId)
|
||||||
SMART_EVENT_ON_SPELLCLICK = 73, // clicker (unit)
|
SMART_EVENT_ON_SPELLCLICK = 73, // clicker (unit)
|
||||||
|
|
||||||
SMART_EVENT_END = 74,
|
SMART_EVENT_END = 74
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SmartEvent
|
struct SmartEvent
|
||||||
@@ -376,7 +376,7 @@ enum SMART_SCRIPT_RESPAWN_CONDITION
|
|||||||
SMART_SCRIPT_RESPAWN_CONDITION_NONE = 0,
|
SMART_SCRIPT_RESPAWN_CONDITION_NONE = 0,
|
||||||
SMART_SCRIPT_RESPAWN_CONDITION_MAP = 1,
|
SMART_SCRIPT_RESPAWN_CONDITION_MAP = 1,
|
||||||
SMART_SCRIPT_RESPAWN_CONDITION_AREA = 2,
|
SMART_SCRIPT_RESPAWN_CONDITION_AREA = 2,
|
||||||
SMART_SCRIPT_RESPAWN_CONDITION_END = 3,
|
SMART_SCRIPT_RESPAWN_CONDITION_END = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SMART_ACTION
|
enum SMART_ACTION
|
||||||
@@ -486,7 +486,7 @@ enum SMART_ACTION
|
|||||||
SMART_ACTION_SEND_TARGET_TO_TARGET = 100, // id
|
SMART_ACTION_SEND_TARGET_TO_TARGET = 100, // id
|
||||||
SMART_ACTION_SET_HOME_POS = 101, // none
|
SMART_ACTION_SET_HOME_POS = 101, // none
|
||||||
|
|
||||||
SMART_ACTION_END = 102,
|
SMART_ACTION_END = 102
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SmartAction
|
struct SmartAction
|
||||||
@@ -935,7 +935,7 @@ enum SMARTAI_TEMPLATE
|
|||||||
SMARTAI_TEMPLATE_PASSIVE = 3,
|
SMARTAI_TEMPLATE_PASSIVE = 3,
|
||||||
SMARTAI_TEMPLATE_CAGED_GO_PART = 4, //creatureID, give credit at point end?,
|
SMARTAI_TEMPLATE_CAGED_GO_PART = 4, //creatureID, give credit at point end?,
|
||||||
SMARTAI_TEMPLATE_CAGED_NPC_PART = 5, //gameObjectID, despawntime, run?, dist, TextGroupID
|
SMARTAI_TEMPLATE_CAGED_NPC_PART = 5, //gameObjectID, despawntime, run?, dist, TextGroupID
|
||||||
SMARTAI_TEMPLATE_END = 6,
|
SMARTAI_TEMPLATE_END = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SMARTAI_TARGETS
|
enum SMARTAI_TARGETS
|
||||||
@@ -965,7 +965,7 @@ enum SMARTAI_TARGETS
|
|||||||
SMART_TARGET_ACTION_INVOKER_VEHICLE = 22, // Unit's vehicle who caused this Event to occur
|
SMART_TARGET_ACTION_INVOKER_VEHICLE = 22, // Unit's vehicle who caused this Event to occur
|
||||||
SMART_TARGET_OWNER_OR_SUMMONER = 23, // Unit's owner or summoner
|
SMART_TARGET_OWNER_OR_SUMMONER = 23, // Unit's owner or summoner
|
||||||
SMART_TARGET_THREAT_LIST = 24, // All units on creature's threat list
|
SMART_TARGET_THREAT_LIST = 24, // All units on creature's threat list
|
||||||
SMART_TARGET_END = 25,
|
SMART_TARGET_END = 25
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SmartTarget
|
struct SmartTarget
|
||||||
@@ -1092,7 +1092,7 @@ enum SmartAITypeMaskId
|
|||||||
SMART_SCRIPT_TYPE_MASK_SPELL = 64,
|
SMART_SCRIPT_TYPE_MASK_SPELL = 64,
|
||||||
SMART_SCRIPT_TYPE_MASK_TRANSPORT = 128,
|
SMART_SCRIPT_TYPE_MASK_TRANSPORT = 128,
|
||||||
SMART_SCRIPT_TYPE_MASK_INSTANCE = 256,
|
SMART_SCRIPT_TYPE_MASK_INSTANCE = 256,
|
||||||
SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST = 512,
|
SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST = 512
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint32 SmartAITypeMask[SMART_SCRIPT_TYPE_MAX][2] =
|
const uint32 SmartAITypeMask[SMART_SCRIPT_TYPE_MAX][2] =
|
||||||
@@ -1184,7 +1184,7 @@ const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
|
|||||||
{SMART_EVENT_GO_STATE_CHANGED, SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
|
{SMART_EVENT_GO_STATE_CHANGED, SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
|
||||||
{SMART_EVENT_GO_EVENT_INFORM, SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
|
{SMART_EVENT_GO_EVENT_INFORM, SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
|
||||||
{SMART_EVENT_ACTION_DONE, SMART_SCRIPT_TYPE_MASK_CREATURE },
|
{SMART_EVENT_ACTION_DONE, SMART_SCRIPT_TYPE_MASK_CREATURE },
|
||||||
{SMART_EVENT_ON_SPELLCLICK, SMART_SCRIPT_TYPE_MASK_CREATURE },
|
{SMART_EVENT_ON_SPELLCLICK, SMART_SCRIPT_TYPE_MASK_CREATURE }
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SmartEventFlags
|
enum SmartEventFlags
|
||||||
@@ -1210,14 +1210,15 @@ enum SmartCastFlags
|
|||||||
//CAST_FORCE_CAST = 0x04, //Forces cast even if creature is out of mana or out of range
|
//CAST_FORCE_CAST = 0x04, //Forces cast even if creature is out of mana or out of range
|
||||||
//CAST_NO_MELEE_IF_OOM = 0x08, //Prevents creature from entering melee if out of mana or out of range
|
//CAST_NO_MELEE_IF_OOM = 0x08, //Prevents creature from entering melee if out of mana or out of range
|
||||||
//CAST_FORCE_TARGET_SELF = 0x10, //Forces the target to cast this spell on itself
|
//CAST_FORCE_TARGET_SELF = 0x10, //Forces the target to cast this spell on itself
|
||||||
SMARTCAST_AURA_NOT_PRESENT = 0x20, //Only casts the spell if the target does not have an aura from the spell
|
SMARTCAST_AURA_NOT_PRESENT = 0x20 //Only casts the spell if the target does not have an aura from the spell
|
||||||
};
|
};
|
||||||
|
|
||||||
// one line in DB is one event
|
// one line in DB is one event
|
||||||
struct SmartScriptHolder
|
struct SmartScriptHolder
|
||||||
{
|
{
|
||||||
SmartScriptHolder() : timer(0), active(false), runOnce(false), link(0), entryOrGuid(0),
|
SmartScriptHolder() : entryOrGuid(0), source_type(SMART_SCRIPT_TYPE_CREATURE)
|
||||||
event_id(0), enableTimed(false), source_type(SMART_SCRIPT_TYPE_CREATURE) {}
|
, event_id(0), link(0), timer(0), active(false), runOnce(false)
|
||||||
|
, enableTimed(false) {}
|
||||||
|
|
||||||
int32 entryOrGuid;
|
int32 entryOrGuid;
|
||||||
SmartScriptType source_type;
|
SmartScriptType source_type;
|
||||||
|
|||||||
@@ -55,6 +55,6 @@ namespace AccountMgr
|
|||||||
bool IsGMAccount(uint32 gmlevel);
|
bool IsGMAccount(uint32 gmlevel);
|
||||||
bool IsAdminAccount(uint32 gmlevel);
|
bool IsAdminAccount(uint32 gmlevel);
|
||||||
bool IsConsoleAccount(uint32 gmlevel);
|
bool IsConsoleAccount(uint32 gmlevel);
|
||||||
};
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ enum AchievementCriteriaDataType
|
|||||||
ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit
|
ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit
|
||||||
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19, // item_level item_quality for equipped item in slot to check item level and quality
|
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19, // item_level item_quality for equipped item in slot to check item level and quality
|
||||||
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id
|
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id
|
||||||
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21, // class_id race_id
|
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21 // class_id race_id
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 22 // maximum value in AchievementCriteriaDataType enum
|
#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 22 // maximum value in AchievementCriteriaDataType enum
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
enum eAuctionHouse
|
enum eAuctionHouse
|
||||||
{
|
{
|
||||||
AH_MINIMUM_DEPOSIT = 100,
|
AH_MINIMUM_DEPOSIT = 100
|
||||||
};
|
};
|
||||||
|
|
||||||
AuctionHouseMgr::AuctionHouseMgr()
|
AuctionHouseMgr::AuctionHouseMgr()
|
||||||
|
|||||||
@@ -463,7 +463,7 @@ void Battlefield::SendWarningToAllInZone(uint32 entry)
|
|||||||
if (Unit* unit = sObjectAccessor->FindUnit(StalkerGuid))
|
if (Unit* unit = sObjectAccessor->FindUnit(StalkerGuid))
|
||||||
if (Creature* stalker = unit->ToCreature())
|
if (Creature* stalker = unit->ToCreature())
|
||||||
// FIXME: replaced CHAT_TYPE_END with CHAT_MSG_BG_SYSTEM_NEUTRAL to fix compile, it's a guessed change :/
|
// FIXME: replaced CHAT_TYPE_END with CHAT_MSG_BG_SYSTEM_NEUTRAL to fix compile, it's a guessed change :/
|
||||||
sCreatureTextMgr->SendChat(stalker, (uint8) entry, NULL, CHAT_MSG_BG_SYSTEM_NEUTRAL, LANG_ADDON, TEXT_RANGE_ZONE);
|
sCreatureTextMgr->SendChat(stalker, (uint8) entry, 0, CHAT_MSG_BG_SYSTEM_NEUTRAL, LANG_ADDON, TEXT_RANGE_ZONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*void Battlefield::SendWarningToAllInWar(int32 entry,...)
|
/*void Battlefield::SendWarningToAllInWar(int32 entry,...)
|
||||||
@@ -676,8 +676,8 @@ BfGraveyard::BfGraveyard(Battlefield* battlefield)
|
|||||||
m_Bf = battlefield;
|
m_Bf = battlefield;
|
||||||
m_GraveyardId = 0;
|
m_GraveyardId = 0;
|
||||||
m_ControlTeam = TEAM_NEUTRAL;
|
m_ControlTeam = TEAM_NEUTRAL;
|
||||||
m_SpiritGuide[0] = NULL;
|
m_SpiritGuide[0] = 0;
|
||||||
m_SpiritGuide[1] = NULL;
|
m_SpiritGuide[1] = 0;
|
||||||
m_ResurrectQueue.clear();
|
m_ResurrectQueue.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,13 +29,12 @@
|
|||||||
|
|
||||||
enum BattlefieldTypes
|
enum BattlefieldTypes
|
||||||
{
|
{
|
||||||
BATTLEFIELD_WG, // Wintergrasp
|
BATTLEFIELD_WG // Wintergrasp
|
||||||
BATTLEFIELD_TB, // Tol Barad (cataclysm)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlefieldIDs
|
enum BattlefieldIDs
|
||||||
{
|
{
|
||||||
BATTLEFIELD_BATTLEID_WG = 1, // Wintergrasp battle
|
BATTLEFIELD_BATTLEID_WG = 1 // Wintergrasp battle
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlefieldObjectiveStates
|
enum BattlefieldObjectiveStates
|
||||||
@@ -46,7 +45,7 @@ enum BattlefieldObjectiveStates
|
|||||||
BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE,
|
BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE,
|
||||||
BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE,
|
BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE,
|
||||||
BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE,
|
BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE,
|
||||||
BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE,
|
BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlefieldSounds
|
enum BattlefieldSounds
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ enum WGVehicles
|
|||||||
NPC_WG_SEIGE_ENGINE_ALLIANCE = 28312,
|
NPC_WG_SEIGE_ENGINE_ALLIANCE = 28312,
|
||||||
NPC_WG_SEIGE_ENGINE_HORDE = 32627,
|
NPC_WG_SEIGE_ENGINE_HORDE = 32627,
|
||||||
NPC_WG_DEMOLISHER = 28094,
|
NPC_WG_DEMOLISHER = 28094,
|
||||||
NPC_WG_CATAPULT = 27881,
|
NPC_WG_CATAPULT = 27881
|
||||||
};
|
};
|
||||||
|
|
||||||
BattlefieldWG::~BattlefieldWG()
|
BattlefieldWG::~BattlefieldWG()
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ typedef std::set<Group*> GroupSet;
|
|||||||
enum WintergrastData
|
enum WintergrastData
|
||||||
{
|
{
|
||||||
BATTLEFIELD_WG_ZONEID = 4197, // Wintergrasp
|
BATTLEFIELD_WG_ZONEID = 4197, // Wintergrasp
|
||||||
BATTLEFIELD_WG_MAPID = 571, // Northrend
|
BATTLEFIELD_WG_MAPID = 571 // Northrend
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspSpells
|
enum WintergraspSpells
|
||||||
@@ -91,7 +91,7 @@ enum WintergraspSpells
|
|||||||
SPELL_ALLIANCE_CONTROLS_FACTORY_PHASE_SHIFT = 56617, // ADDS PHASE 32
|
SPELL_ALLIANCE_CONTROLS_FACTORY_PHASE_SHIFT = 56617, // ADDS PHASE 32
|
||||||
|
|
||||||
SPELL_HORDE_CONTROL_PHASE_SHIFT = 55773, // ADDS PHASE 64
|
SPELL_HORDE_CONTROL_PHASE_SHIFT = 55773, // ADDS PHASE 64
|
||||||
SPELL_ALLIANCE_CONTROL_PHASE_SHIFT = 55774, // ADDS PHASE 128
|
SPELL_ALLIANCE_CONTROL_PHASE_SHIFT = 55774 // ADDS PHASE 128
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspData
|
enum WintergraspData
|
||||||
@@ -104,7 +104,7 @@ enum WintergraspData
|
|||||||
BATTLEFIELD_WG_DATA_MAX_VEHICLE_H,
|
BATTLEFIELD_WG_DATA_MAX_VEHICLE_H,
|
||||||
BATTLEFIELD_WG_DATA_VEHICLE_A,
|
BATTLEFIELD_WG_DATA_VEHICLE_A,
|
||||||
BATTLEFIELD_WG_DATA_VEHICLE_H,
|
BATTLEFIELD_WG_DATA_VEHICLE_H,
|
||||||
BATTLEFIELD_WG_DATA_MAX,
|
BATTLEFIELD_WG_DATA_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspAchievements
|
enum WintergraspAchievements
|
||||||
@@ -124,7 +124,7 @@ enum WintergraspAchievements
|
|||||||
ACHIEVEMENTS_STONE_KEEPER_1000 = 2089, // todo
|
ACHIEVEMENTS_STONE_KEEPER_1000 = 2089, // todo
|
||||||
ACHIEVEMENTS_WG_RANGER = 2199, // todo
|
ACHIEVEMENTS_WG_RANGER = 2199, // todo
|
||||||
ACHIEVEMENTS_DESTRUCTION_DERBY_H = 2476, // todo
|
ACHIEVEMENTS_DESTRUCTION_DERBY_H = 2476, // todo
|
||||||
ACHIEVEMENTS_WG_MASTER_H = 2776, // todo
|
ACHIEVEMENTS_WG_MASTER_H = 2776 // todo
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspWorldStates
|
enum WintergraspWorldStates
|
||||||
@@ -136,7 +136,7 @@ enum WintergraspWorldStates
|
|||||||
BATTLEFIELD_WG_WORLD_STATE_ACTIVE = 3801,
|
BATTLEFIELD_WG_WORLD_STATE_ACTIVE = 3801,
|
||||||
BATTLEFIELD_WG_WORLD_STATE_DEFENDER = 3802,
|
BATTLEFIELD_WG_WORLD_STATE_DEFENDER = 3802,
|
||||||
BATTLEFIELD_WG_WORLD_STATE_ATTACKER = 3803,
|
BATTLEFIELD_WG_WORLD_STATE_ATTACKER = 3803,
|
||||||
BATTLEFIELD_WG_WORLD_STATE_SHOW_WORLDSTATE = 3710,
|
BATTLEFIELD_WG_WORLD_STATE_SHOW_WORLDSTATE = 3710
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspAreaIds
|
enum WintergraspAreaIds
|
||||||
@@ -147,7 +147,7 @@ enum WintergraspAreaIds
|
|||||||
AREA_WESTPARK_WORKSHOP = 4611,
|
AREA_WESTPARK_WORKSHOP = 4611,
|
||||||
AREA_EASTPARK_WORKSHOP = 4612,
|
AREA_EASTPARK_WORKSHOP = 4612,
|
||||||
AREA_WINTERGRASP = 4197,
|
AREA_WINTERGRASP = 4197,
|
||||||
AREA_THE_CHILLED_QUAGMIRE = 4589,
|
AREA_THE_CHILLED_QUAGMIRE = 4589
|
||||||
};
|
};
|
||||||
|
|
||||||
/*#########################
|
/*#########################
|
||||||
@@ -174,7 +174,7 @@ enum WGGraveyardId
|
|||||||
BATTLEFIELD_WG_GY_KEEP,
|
BATTLEFIELD_WG_GY_KEEP,
|
||||||
BATTLEFIELD_WG_GY_HORDE,
|
BATTLEFIELD_WG_GY_HORDE,
|
||||||
BATTLEFIELD_WG_GY_ALLIANCE,
|
BATTLEFIELD_WG_GY_ALLIANCE,
|
||||||
BATTLEFIELD_WG_GRAVEYARD_MAX,
|
BATTLEFIELD_WG_GRAVEYARD_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WGGossipText
|
enum WGGossipText
|
||||||
@@ -185,7 +185,7 @@ enum WGGossipText
|
|||||||
BATTLEFIELD_WG_GOSSIPTEXT_GY_SW = -1850503,
|
BATTLEFIELD_WG_GOSSIPTEXT_GY_SW = -1850503,
|
||||||
BATTLEFIELD_WG_GOSSIPTEXT_GY_KEEP = -1850500,
|
BATTLEFIELD_WG_GOSSIPTEXT_GY_KEEP = -1850500,
|
||||||
BATTLEFIELD_WG_GOSSIPTEXT_GY_HORDE = -1850505,
|
BATTLEFIELD_WG_GOSSIPTEXT_GY_HORDE = -1850505,
|
||||||
BATTLEFIELD_WG_GOSSIPTEXT_GY_ALLIANCE = -1850506,
|
BATTLEFIELD_WG_GOSSIPTEXT_GY_ALLIANCE = -1850506
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspNpcs
|
enum WintergraspNpcs
|
||||||
@@ -222,7 +222,7 @@ enum WintergraspNpcs
|
|||||||
NPC_WINTERGRASP_SIEGE_ENGINE_HORDE = 32627,
|
NPC_WINTERGRASP_SIEGE_ENGINE_HORDE = 32627,
|
||||||
NPC_WINTERGRASP_CATAPULT = 27881,
|
NPC_WINTERGRASP_CATAPULT = 27881,
|
||||||
NPC_WINTERGRASP_DEMOLISHER = 28094,
|
NPC_WINTERGRASP_DEMOLISHER = 28094,
|
||||||
NPC_WINTERGRASP_TOWER_CANNON = 28366,
|
NPC_WINTERGRASP_TOWER_CANNON = 28366
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BfWGCoordGY
|
struct BfWGCoordGY
|
||||||
@@ -456,7 +456,7 @@ enum WintergraspGameObjectBuildingType
|
|||||||
BATTLEFIELD_WG_OBJECTTYPE_WALL,
|
BATTLEFIELD_WG_OBJECTTYPE_WALL,
|
||||||
BATTLEFIELD_WG_OBJECTTYPE_DOOR_LAST,
|
BATTLEFIELD_WG_OBJECTTYPE_DOOR_LAST,
|
||||||
BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER,
|
BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER,
|
||||||
BATTLEFIELD_WG_OBJECTTYPE_TOWER,
|
BATTLEFIELD_WG_OBJECTTYPE_TOWER
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspGameObjectState
|
enum WintergraspGameObjectState
|
||||||
@@ -470,7 +470,7 @@ enum WintergraspGameObjectState
|
|||||||
BATTLEFIELD_WG_OBJECTSTATE_HORDE_DESTROY,
|
BATTLEFIELD_WG_OBJECTSTATE_HORDE_DESTROY,
|
||||||
BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT,
|
BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT,
|
||||||
BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DAMAGE,
|
BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DAMAGE,
|
||||||
BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DESTROY,
|
BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DESTROY
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspWorkshopIds
|
enum WintergraspWorkshopIds
|
||||||
@@ -480,7 +480,7 @@ enum WintergraspWorkshopIds
|
|||||||
BATTLEFIELD_WG_WORKSHOP_SE,
|
BATTLEFIELD_WG_WORKSHOP_SE,
|
||||||
BATTLEFIELD_WG_WORKSHOP_SW,
|
BATTLEFIELD_WG_WORKSHOP_SW,
|
||||||
BATTLEFIELD_WG_WORKSHOP_KEEP_WEST,
|
BATTLEFIELD_WG_WORKSHOP_KEEP_WEST,
|
||||||
BATTLEFIELD_WG_WORKSHOP_KEEP_EAST,
|
BATTLEFIELD_WG_WORKSHOP_KEEP_EAST
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspWorldstates
|
enum WintergraspWorldstates
|
||||||
@@ -497,7 +497,7 @@ enum WintergraspTeamControl
|
|||||||
{
|
{
|
||||||
BATTLEFIELD_WG_TEAM_ALLIANCE,
|
BATTLEFIELD_WG_TEAM_ALLIANCE,
|
||||||
BATTLEFIELD_WG_TEAM_HORDE,
|
BATTLEFIELD_WG_TEAM_HORDE,
|
||||||
BATTLEFIELD_WG_TEAM_NEUTRAL,
|
BATTLEFIELD_WG_TEAM_NEUTRAL
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: Handle this with creature_text ?
|
// TODO: Handle this with creature_text ?
|
||||||
@@ -525,7 +525,7 @@ enum WintergraspText
|
|||||||
BATTLEFIELD_WG_TEXT_TOWER_NAME_E = 12070,
|
BATTLEFIELD_WG_TEXT_TOWER_NAME_E = 12070,
|
||||||
BATTLEFIELD_WG_TEXT_TOWER_NAME_W = 12071,
|
BATTLEFIELD_WG_TEXT_TOWER_NAME_W = 12071,
|
||||||
BATTLEFIELD_WG_TEXT_DEFEND_KEEP = 12068,
|
BATTLEFIELD_WG_TEXT_DEFEND_KEEP = 12068,
|
||||||
BATTLEFIELD_WG_TEXT_WIN_KEEP = 12072,
|
BATTLEFIELD_WG_TEXT_WIN_KEEP = 12072
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WintergraspGameObject
|
enum WintergraspGameObject
|
||||||
@@ -549,8 +549,7 @@ enum WintergraspGameObject
|
|||||||
GO_WINTERGRASP_FORTRESS_GATE = 190375,
|
GO_WINTERGRASP_FORTRESS_GATE = 190375,
|
||||||
GO_WINTERGRASP_VAULT_GATE = 191810,
|
GO_WINTERGRASP_VAULT_GATE = 191810,
|
||||||
|
|
||||||
GO_WINTERGRASP_KEEP_COLLISION_WALL = 194323,
|
GO_WINTERGRASP_KEEP_COLLISION_WALL = 194323
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct WintergraspObjectPositionData
|
struct WintergraspObjectPositionData
|
||||||
@@ -1133,9 +1132,9 @@ const WGWorkshopData WorkshopsData[WG_MAX_WORKSHOP] =
|
|||||||
// SW
|
// SW
|
||||||
{BATTLEFIELD_WG_WORKSHOP_SW, WORLDSTATE_WORKSHOP_SW, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_SW},
|
{BATTLEFIELD_WG_WORKSHOP_SW, WORLDSTATE_WORKSHOP_SW, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_SW},
|
||||||
// KEEP WEST - It can't be taken, so it doesn't have a textid
|
// KEEP WEST - It can't be taken, so it doesn't have a textid
|
||||||
{BATTLEFIELD_WG_WORKSHOP_KEEP_WEST, WORLDSTATE_WORKSHOP_K_W, NULL},
|
{BATTLEFIELD_WG_WORKSHOP_KEEP_WEST, WORLDSTATE_WORKSHOP_K_W, 0},
|
||||||
// KEEP EAST - It can't be taken, so it doesn't have a textid
|
// KEEP EAST - It can't be taken, so it doesn't have a textid
|
||||||
{BATTLEFIELD_WG_WORKSHOP_KEEP_EAST, WORLDSTATE_WORKSHOP_K_E, NULL}
|
{BATTLEFIELD_WG_WORKSHOP_KEEP_EAST, WORLDSTATE_WORKSHOP_K_E, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
// ********************************************************************
|
// ********************************************************************
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ enum BattlegroundSounds
|
|||||||
SOUND_HORDE_WINS = 8454,
|
SOUND_HORDE_WINS = 8454,
|
||||||
SOUND_ALLIANCE_WINS = 8455,
|
SOUND_ALLIANCE_WINS = 8455,
|
||||||
SOUND_BG_START = 3439,
|
SOUND_BG_START = 3439,
|
||||||
SOUND_BG_START_L70ETC = 11803,
|
SOUND_BG_START_L70ETC = 11803
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundQuests
|
enum BattlegroundQuests
|
||||||
@@ -79,7 +79,7 @@ enum BattlegroundMarksCount
|
|||||||
enum BattlegroundCreatures
|
enum BattlegroundCreatures
|
||||||
{
|
{
|
||||||
BG_CREATURE_ENTRY_A_SPIRITGUIDE = 13116, // alliance
|
BG_CREATURE_ENTRY_A_SPIRITGUIDE = 13116, // alliance
|
||||||
BG_CREATURE_ENTRY_H_SPIRITGUIDE = 13117, // horde
|
BG_CREATURE_ENTRY_H_SPIRITGUIDE = 13117 // horde
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundSpells
|
enum BattlegroundSpells
|
||||||
@@ -99,7 +99,7 @@ enum BattlegroundSpells
|
|||||||
SPELL_AURA_PLAYER_INACTIVE = 43681, // Inactive
|
SPELL_AURA_PLAYER_INACTIVE = 43681, // Inactive
|
||||||
SPELL_HONORABLE_DEFENDER_25Y = 68652, // +50% honor when standing at a capture point that you control, 25yards radius (added in 3.2)
|
SPELL_HONORABLE_DEFENDER_25Y = 68652, // +50% honor when standing at a capture point that you control, 25yards radius (added in 3.2)
|
||||||
SPELL_HONORABLE_DEFENDER_60Y = 66157, // +50% honor when standing at a capture point that you control, 60yards radius (added in 3.2), probably for 40+ player battlegrounds
|
SPELL_HONORABLE_DEFENDER_60Y = 66157, // +50% honor when standing at a capture point that you control, 60yards radius (added in 3.2), probably for 40+ player battlegrounds
|
||||||
SPELL_THE_LAST_STANDING = 26549, // Arena achievement related
|
SPELL_THE_LAST_STANDING = 26549 // Arena achievement related
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundTimeIntervals
|
enum BattlegroundTimeIntervals
|
||||||
@@ -112,7 +112,7 @@ enum BattlegroundTimeIntervals
|
|||||||
MAX_OFFLINE_TIME = 300, // secs
|
MAX_OFFLINE_TIME = 300, // secs
|
||||||
RESPAWN_ONE_DAY = 86400, // secs
|
RESPAWN_ONE_DAY = 86400, // secs
|
||||||
RESPAWN_IMMEDIATELY = 0, // secs
|
RESPAWN_IMMEDIATELY = 0, // secs
|
||||||
BUFF_RESPAWN_TIME = 180, // secs
|
BUFF_RESPAWN_TIME = 180 // secs
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundStartTimeIntervals
|
enum BattlegroundStartTimeIntervals
|
||||||
@@ -121,7 +121,7 @@ enum BattlegroundStartTimeIntervals
|
|||||||
BG_START_DELAY_1M = 60000, // ms (1 minute)
|
BG_START_DELAY_1M = 60000, // ms (1 minute)
|
||||||
BG_START_DELAY_30S = 30000, // ms (30 seconds)
|
BG_START_DELAY_30S = 30000, // ms (30 seconds)
|
||||||
BG_START_DELAY_15S = 15000, // ms (15 seconds) Used only in arena
|
BG_START_DELAY_15S = 15000, // ms (15 seconds) Used only in arena
|
||||||
BG_START_DELAY_NONE = 0, // ms
|
BG_START_DELAY_NONE = 0 // ms
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundBuffObjects
|
enum BattlegroundBuffObjects
|
||||||
@@ -209,7 +209,7 @@ enum ScoreType
|
|||||||
SCORE_SECONDARY_OBJECTIVES = 17,
|
SCORE_SECONDARY_OBJECTIVES = 17,
|
||||||
//SOTA
|
//SOTA
|
||||||
SCORE_DESTROYED_DEMOLISHER = 18,
|
SCORE_DESTROYED_DEMOLISHER = 18,
|
||||||
SCORE_DESTROYED_WALL = 19,
|
SCORE_DESTROYED_WALL = 19
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ArenaType
|
enum ArenaType
|
||||||
@@ -275,7 +275,7 @@ enum GroupJoinBattlegroundResult
|
|||||||
ERR_BATTLEGROUND_JOIN_FAILED = -12, // Join as a group failed (uint64 guid doesn't exist in client cache)
|
ERR_BATTLEGROUND_JOIN_FAILED = -12, // Join as a group failed (uint64 guid doesn't exist in client cache)
|
||||||
ERR_LFG_CANT_USE_BATTLEGROUND = -13, // You cannot queue for a battleground or arena while using the dungeon system.
|
ERR_LFG_CANT_USE_BATTLEGROUND = -13, // You cannot queue for a battleground or arena while using the dungeon system.
|
||||||
ERR_IN_RANDOM_BG = -14, // Can't do that while in a Random Battleground queue.
|
ERR_IN_RANDOM_BG = -14, // Can't do that while in a Random Battleground queue.
|
||||||
ERR_IN_NON_RANDOM_BG = -15, // Can't queue for Random Battleground while in another Battleground queue.
|
ERR_IN_NON_RANDOM_BG = -15 // Can't queue for Random Battleground while in another Battleground queue.
|
||||||
};
|
};
|
||||||
|
|
||||||
class BattlegroundScore
|
class BattlegroundScore
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ enum BG_AB_ObjectType
|
|||||||
BG_AB_OBJECT_SPEEDBUFF_GOLD_MINE = 54,
|
BG_AB_OBJECT_SPEEDBUFF_GOLD_MINE = 54,
|
||||||
BG_AB_OBJECT_REGENBUFF_GOLD_MINE = 55,
|
BG_AB_OBJECT_REGENBUFF_GOLD_MINE = 55,
|
||||||
BG_AB_OBJECT_BERSERKBUFF_GOLD_MINE = 56,
|
BG_AB_OBJECT_BERSERKBUFF_GOLD_MINE = 56,
|
||||||
BG_AB_OBJECT_MAX = 57,
|
BG_AB_OBJECT_MAX = 57
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Object id templates from DB */
|
/* Object id templates from DB */
|
||||||
@@ -123,7 +123,7 @@ enum BG_AB_ObjectTypes
|
|||||||
|
|
||||||
enum BG_AB_Timers
|
enum BG_AB_Timers
|
||||||
{
|
{
|
||||||
BG_AB_FLAG_CAPTURING_TIME = 60000,
|
BG_AB_FLAG_CAPTURING_TIME = 60000
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BG_AB_Score
|
enum BG_AB_Score
|
||||||
@@ -146,7 +146,7 @@ enum BG_AB_BattlegroundNodes
|
|||||||
BG_AB_SPIRIT_ALIANCE = 5,
|
BG_AB_SPIRIT_ALIANCE = 5,
|
||||||
BG_AB_SPIRIT_HORDE = 6,
|
BG_AB_SPIRIT_HORDE = 6,
|
||||||
|
|
||||||
BG_AB_ALL_NODES_COUNT = 7, // all nodes (dynamic and static)
|
BG_AB_ALL_NODES_COUNT = 7 // all nodes (dynamic and static)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BG_AB_NodeStatus
|
enum BG_AB_NodeStatus
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ horde:
|
|||||||
AV_SOUND_BOTH_TOWER_DEFEND = 8192,
|
AV_SOUND_BOTH_TOWER_DEFEND = 8192,
|
||||||
|
|
||||||
AV_SOUND_ALLIANCE_CAPTAIN = 8232, //gets called when someone attacks them and at the beginning after 3min+rand(x)*10sec (maybe buff)
|
AV_SOUND_ALLIANCE_CAPTAIN = 8232, //gets called when someone attacks them and at the beginning after 3min+rand(x)*10sec (maybe buff)
|
||||||
AV_SOUND_HORDE_CAPTAIN = 8333,
|
AV_SOUND_HORDE_CAPTAIN = 8333
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1359,7 +1359,7 @@ enum BG_AV_WorldStates
|
|||||||
//Neutral
|
//Neutral
|
||||||
//Snowfall Grave
|
//Snowfall Grave
|
||||||
*/
|
*/
|
||||||
AV_SNOWFALL_N = 1966, //over aa
|
AV_SNOWFALL_N = 1966 //over aa
|
||||||
/*
|
/*
|
||||||
AV_SNOWFALL_A_C = 1341, //over hc
|
AV_SNOWFALL_A_C = 1341, //over hc
|
||||||
AV_SNOWFALL_A_A = 1343, //over ha
|
AV_SNOWFALL_A_A = 1343, //over ha
|
||||||
|
|||||||
@@ -52,14 +52,14 @@ enum BattlegroundDSCreatureTypes
|
|||||||
|
|
||||||
enum BattlegroundDSCreatures
|
enum BattlegroundDSCreatures
|
||||||
{
|
{
|
||||||
BG_DS_NPC_TYPE_WATER_SPOUT = 28567,
|
BG_DS_NPC_TYPE_WATER_SPOUT = 28567
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundDSSpells
|
enum BattlegroundDSSpells
|
||||||
{
|
{
|
||||||
BG_DS_SPELL_FLUSH = 57405, // Visual and target selector for the starting knockback from the pipe
|
BG_DS_SPELL_FLUSH = 57405, // Visual and target selector for the starting knockback from the pipe
|
||||||
BG_DS_SPELL_FLUSH_KNOCKBACK = 61698, // Knockback effect for previous spell (triggered, not need to be casted)
|
BG_DS_SPELL_FLUSH_KNOCKBACK = 61698, // Knockback effect for previous spell (triggered, not need to be casted)
|
||||||
BG_DS_SPELL_WATER_SPOUT = 58873, // Knockback effect of the central waterfall
|
BG_DS_SPELL_WATER_SPOUT = 58873 // Knockback effect of the central waterfall
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundDSData
|
enum BattlegroundDSData
|
||||||
@@ -76,7 +76,7 @@ enum BattlegroundDSData
|
|||||||
|
|
||||||
BG_DS_WATERFALL_STATUS_WARNING = 1, // Water starting to fall, but no LoS Blocking nor movement blocking
|
BG_DS_WATERFALL_STATUS_WARNING = 1, // Water starting to fall, but no LoS Blocking nor movement blocking
|
||||||
BG_DS_WATERFALL_STATUS_ON = 2, // LoS and Movement blocking active
|
BG_DS_WATERFALL_STATUS_ON = 2, // LoS and Movement blocking active
|
||||||
BG_DS_WATERFALL_STATUS_OFF = 3,
|
BG_DS_WATERFALL_STATUS_OFF = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
class BattlegroundDSScore : public BattlegroundScore
|
class BattlegroundDSScore : public BattlegroundScore
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class Battleground;
|
|||||||
enum BG_EY_Misc
|
enum BG_EY_Misc
|
||||||
{
|
{
|
||||||
BG_EY_FLAG_RESPAWN_TIME = (8*IN_MILLISECONDS),
|
BG_EY_FLAG_RESPAWN_TIME = (8*IN_MILLISECONDS),
|
||||||
BG_EY_FPOINTS_TICK_TIME = (2*IN_MILLISECONDS),
|
BG_EY_FPOINTS_TICK_TIME = (2*IN_MILLISECONDS)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BG_EY_WorldStates
|
enum BG_EY_WorldStates
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ enum gameobjectsIC
|
|||||||
GO_HORDE_BANNER_GRAVEYARD_H_CONT = 195394,
|
GO_HORDE_BANNER_GRAVEYARD_H_CONT = 195394,
|
||||||
|
|
||||||
GO_HORDE_GUNSHIP = 195276,
|
GO_HORDE_GUNSHIP = 195276,
|
||||||
GO_ALLIANCE_GUNSHIP = 195121,
|
GO_ALLIANCE_GUNSHIP = 195121
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_REINFORCEMENTS 300
|
#define MAX_REINFORCEMENTS 300
|
||||||
@@ -336,7 +336,7 @@ enum BG_IC_GOs
|
|||||||
BG_IC_GO_TELEPORTER_EFFECTS_H_3,
|
BG_IC_GO_TELEPORTER_EFFECTS_H_3,
|
||||||
BG_IC_GO_TELEPORTER_EFFECTS_H_4,
|
BG_IC_GO_TELEPORTER_EFFECTS_H_4,
|
||||||
BG_IC_GO_TELEPORTER_EFFECTS_H_5,
|
BG_IC_GO_TELEPORTER_EFFECTS_H_5,
|
||||||
BG_IC_GO_TELEPORTER_EFFECTS_H_6,
|
BG_IC_GO_TELEPORTER_EFFECTS_H_6
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BG_IC_NPCs
|
enum BG_IC_NPCs
|
||||||
@@ -411,7 +411,7 @@ enum BG_IC_NPCs
|
|||||||
BG_IC_NPC_SPIRIT_GUIDE_4,
|
BG_IC_NPC_SPIRIT_GUIDE_4,
|
||||||
BG_IC_NPC_SPIRIT_GUIDE_5,
|
BG_IC_NPC_SPIRIT_GUIDE_5,
|
||||||
BG_IC_NPC_SPIRIT_GUIDE_6,
|
BG_IC_NPC_SPIRIT_GUIDE_6,
|
||||||
BG_IC_NPC_SPIRIT_GUIDE_7,
|
BG_IC_NPC_SPIRIT_GUIDE_7
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BannersTypes
|
enum BannersTypes
|
||||||
@@ -751,7 +751,7 @@ enum ICDoorList
|
|||||||
BG_IC_A_FRONT,
|
BG_IC_A_FRONT,
|
||||||
BG_IC_A_WEST,
|
BG_IC_A_WEST,
|
||||||
BG_IC_A_EAST,
|
BG_IC_A_EAST,
|
||||||
BG_IC_MAXDOOR,
|
BG_IC_MAXDOOR
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ICNodePointType
|
enum ICNodePointType
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ enum BattlegroundRVObjectTypes
|
|||||||
|
|
||||||
BG_RV_OBJECT_ELEVATOR_1,
|
BG_RV_OBJECT_ELEVATOR_1,
|
||||||
BG_RV_OBJECT_ELEVATOR_2,
|
BG_RV_OBJECT_ELEVATOR_2,
|
||||||
BG_RV_OBJECT_MAX,
|
BG_RV_OBJECT_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundRVObjects
|
enum BattlegroundRVObjects
|
||||||
@@ -73,7 +73,7 @@ enum BattlegroundRVObjects
|
|||||||
BG_RV_OBJECT_TYPE_PILAR_1 = 194583, // axe
|
BG_RV_OBJECT_TYPE_PILAR_1 = 194583, // axe
|
||||||
BG_RV_OBJECT_TYPE_PILAR_2 = 194584, // arena
|
BG_RV_OBJECT_TYPE_PILAR_2 = 194584, // arena
|
||||||
BG_RV_OBJECT_TYPE_PILAR_3 = 194585, // lightning
|
BG_RV_OBJECT_TYPE_PILAR_3 = 194585, // lightning
|
||||||
BG_RV_OBJECT_TYPE_PILAR_4 = 194587, // ivory
|
BG_RV_OBJECT_TYPE_PILAR_4 = 194587 // ivory
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundRVData
|
enum BattlegroundRVData
|
||||||
@@ -88,7 +88,7 @@ enum BattlegroundRVData
|
|||||||
BG_RV_FIRST_TIMER = 20133,
|
BG_RV_FIRST_TIMER = 20133,
|
||||||
BG_RV_WORLD_STATE_A = 0xe10,
|
BG_RV_WORLD_STATE_A = 0xe10,
|
||||||
BG_RV_WORLD_STATE_H = 0xe11,
|
BG_RV_WORLD_STATE_H = 0xe11,
|
||||||
BG_RV_WORLD_STATE = 0xe1a,
|
BG_RV_WORLD_STATE = 0xe1a
|
||||||
};
|
};
|
||||||
|
|
||||||
class BattlegroundRVScore : public BattlegroundScore
|
class BattlegroundRVScore : public BattlegroundScore
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ enum BG_SA_WorldStates
|
|||||||
BG_SA_LEFT_GY_HORDE = 3633,
|
BG_SA_LEFT_GY_HORDE = 3633,
|
||||||
BG_SA_CENTER_GY_HORDE = 3634,
|
BG_SA_CENTER_GY_HORDE = 3634,
|
||||||
BG_SA_BONUS_TIMER = 0xdf3,
|
BG_SA_BONUS_TIMER = 0xdf3,
|
||||||
BG_SA_ENABLE_TIMER = 3564,
|
BG_SA_ENABLE_TIMER = 3564
|
||||||
};
|
};
|
||||||
|
|
||||||
enum npc
|
enum npc
|
||||||
@@ -112,7 +112,7 @@ enum npc
|
|||||||
NPC_ANTI_PERSONNAL_CANNON = 27894,
|
NPC_ANTI_PERSONNAL_CANNON = 27894,
|
||||||
NPC_DEMOLISHER_SA = 28781,
|
NPC_DEMOLISHER_SA = 28781,
|
||||||
NPC_RIGGER_SPARKLIGHT = 29260,
|
NPC_RIGGER_SPARKLIGHT = 29260,
|
||||||
NPC_GORGRIL_RIGSPARK = 29262,
|
NPC_GORGRIL_RIGSPARK = 29262
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BG_SA_NPCs
|
enum BG_SA_NPCs
|
||||||
@@ -146,7 +146,7 @@ enum BG_SA_Boat
|
|||||||
BG_SA_BOAT_ONE_A = 193182,
|
BG_SA_BOAT_ONE_A = 193182,
|
||||||
BG_SA_BOAT_TWO_H = 193183,
|
BG_SA_BOAT_TWO_H = 193183,
|
||||||
BG_SA_BOAT_ONE_H = 193184,
|
BG_SA_BOAT_ONE_H = 193184,
|
||||||
BG_SA_BOAT_TWO_A = 193185,
|
BG_SA_BOAT_TWO_A = 193185
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32 const BG_SA_NpcEntries[BG_SA_MAXNPC] =
|
uint32 const BG_SA_NpcEntries[BG_SA_MAXNPC] =
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ enum ChatNotify
|
|||||||
CHAT_NOT_IN_AREA_NOTICE = 0x20, //+ "[%s] You are not in the correct area for this channel."; -- The user is trying to send a chat to a zone specific channel, and they're not physically in that zone.
|
CHAT_NOT_IN_AREA_NOTICE = 0x20, //+ "[%s] You are not in the correct area for this channel."; -- The user is trying to send a chat to a zone specific channel, and they're not physically in that zone.
|
||||||
CHAT_NOT_IN_LFG_NOTICE = 0x21, //+ "[%s] You must be queued in looking for group before joining this channel."; -- The user must be in the looking for group system to join LFG chat channels.
|
CHAT_NOT_IN_LFG_NOTICE = 0x21, //+ "[%s] You must be queued in looking for group before joining this channel."; -- The user must be in the looking for group system to join LFG chat channels.
|
||||||
CHAT_VOICE_ON_NOTICE = 0x22, //+ "[%s] Channel voice enabled by %s.";
|
CHAT_VOICE_ON_NOTICE = 0x22, //+ "[%s] Channel voice enabled by %s.";
|
||||||
CHAT_VOICE_OFF_NOTICE = 0x23, //+ "[%s] Channel voice disabled by %s.";
|
CHAT_VOICE_OFF_NOTICE = 0x23 //+ "[%s] Channel voice disabled by %s.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ChannelFlags
|
enum ChannelFlags
|
||||||
@@ -101,7 +101,7 @@ enum ChannelDBCFlags
|
|||||||
CHANNEL_DBC_FLAG_DEFENSE = 0x10000, // LocalDefense, WorldDefense
|
CHANNEL_DBC_FLAG_DEFENSE = 0x10000, // LocalDefense, WorldDefense
|
||||||
CHANNEL_DBC_FLAG_GUILD_REQ = 0x20000, // GuildRecruitment
|
CHANNEL_DBC_FLAG_GUILD_REQ = 0x20000, // GuildRecruitment
|
||||||
CHANNEL_DBC_FLAG_LFG = 0x40000, // LFG
|
CHANNEL_DBC_FLAG_LFG = 0x40000, // LFG
|
||||||
CHANNEL_DBC_FLAG_UNK1 = 0x80000, // General
|
CHANNEL_DBC_FLAG_UNK1 = 0x80000 // General
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ChannelMemberFlags
|
enum ChannelMemberFlags
|
||||||
@@ -112,7 +112,7 @@ enum ChannelMemberFlags
|
|||||||
MEMBER_FLAG_VOICED = 0x04,
|
MEMBER_FLAG_VOICED = 0x04,
|
||||||
MEMBER_FLAG_MUTED = 0x08,
|
MEMBER_FLAG_MUTED = 0x08,
|
||||||
MEMBER_FLAG_CUSTOM = 0x10,
|
MEMBER_FLAG_CUSTOM = 0x10,
|
||||||
MEMBER_FLAG_MIC_MUTED = 0x20,
|
MEMBER_FLAG_MIC_MUTED = 0x20
|
||||||
// 0x40
|
// 0x40
|
||||||
// 0x80
|
// 0x80
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ enum UNIT_EVENT_TYPE
|
|||||||
UEV_THREAT_SET_NEXT_TARGET = 1<<5,
|
UEV_THREAT_SET_NEXT_TARGET = 1<<5,
|
||||||
|
|
||||||
// A new victim (target) was set. Could be NULL
|
// A new victim (target) was set. Could be NULL
|
||||||
UEV_THREAT_VICTIM_CHANGED = 1<<6,
|
UEV_THREAT_VICTIM_CHANGED = 1<<6
|
||||||
|
|
||||||
// Future use
|
// Future use
|
||||||
//UEV_UNIT_KILLED = 1<<7,
|
//UEV_UNIT_KILLED = 1<<7,
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ enum RelationType
|
|||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
MAX_CONDITION_TARGETS = 3,
|
MAX_CONDITION_TARGETS = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ConditionSourceInfo
|
struct ConditionSourceInfo
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ enum DisableType
|
|||||||
DISABLE_TYPE_BATTLEGROUND = 3,
|
DISABLE_TYPE_BATTLEGROUND = 3,
|
||||||
DISABLE_TYPE_ACHIEVEMENT_CRITERIA = 4,
|
DISABLE_TYPE_ACHIEVEMENT_CRITERIA = 4,
|
||||||
DISABLE_TYPE_OUTDOORPVP = 5,
|
DISABLE_TYPE_OUTDOORPVP = 5,
|
||||||
DISABLE_TYPE_VMAP = 6,
|
DISABLE_TYPE_VMAP = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellDisableTypes
|
enum SpellDisableTypes
|
||||||
@@ -43,7 +43,7 @@ enum SpellDisableTypes
|
|||||||
SPELL_DISABLE_MAP = 0x10,
|
SPELL_DISABLE_MAP = 0x10,
|
||||||
SPELL_DISABLE_AREA = 0x20,
|
SPELL_DISABLE_AREA = 0x20,
|
||||||
MAX_SPELL_DISABLE_TYPE = ( SPELL_DISABLE_PLAYER | SPELL_DISABLE_CREATURE | SPELL_DISABLE_PET |
|
MAX_SPELL_DISABLE_TYPE = ( SPELL_DISABLE_PLAYER | SPELL_DISABLE_CREATURE | SPELL_DISABLE_PET |
|
||||||
SPELL_DISABLE_DEPRECATED_SPELL | SPELL_DISABLE_MAP | SPELL_DISABLE_AREA),
|
SPELL_DISABLE_DEPRECATED_SPELL | SPELL_DISABLE_MAP | SPELL_DISABLE_AREA)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum VmapDisableTypes
|
enum VmapDisableTypes
|
||||||
@@ -51,7 +51,7 @@ enum VmapDisableTypes
|
|||||||
VMAP_DISABLE_AREAFLAG = 0x1,
|
VMAP_DISABLE_AREAFLAG = 0x1,
|
||||||
VMAP_DISABLE_HEIGHT = 0x2,
|
VMAP_DISABLE_HEIGHT = 0x2,
|
||||||
VMAP_DISABLE_LOS = 0x4,
|
VMAP_DISABLE_LOS = 0x4,
|
||||||
VMAP_DISABLE_LIQUIDSTATUS = 0x8,
|
VMAP_DISABLE_LIQUIDSTATUS = 0x8
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace DisableMgr
|
namespace DisableMgr
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ enum AchievementFaction
|
|||||||
{
|
{
|
||||||
ACHIEVEMENT_FACTION_HORDE = 0,
|
ACHIEVEMENT_FACTION_HORDE = 0,
|
||||||
ACHIEVEMENT_FACTION_ALLIANCE = 1,
|
ACHIEVEMENT_FACTION_ALLIANCE = 1,
|
||||||
ACHIEVEMENT_FACTION_ANY = -1,
|
ACHIEVEMENT_FACTION_ANY = -1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AchievementFlags
|
enum AchievementFlags
|
||||||
@@ -67,7 +67,7 @@ enum AchievementFlags
|
|||||||
ACHIEVEMENT_FLAG_AVERAGE = 0x00000040, // Show as average value (value / time_in_days) depend from other flag (by def use last criteria value)
|
ACHIEVEMENT_FLAG_AVERAGE = 0x00000040, // Show as average value (value / time_in_days) depend from other flag (by def use last criteria value)
|
||||||
ACHIEVEMENT_FLAG_BAR = 0x00000080, // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value)
|
ACHIEVEMENT_FLAG_BAR = 0x00000080, // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value)
|
||||||
ACHIEVEMENT_FLAG_REALM_FIRST_REACH = 0x00000100, //
|
ACHIEVEMENT_FLAG_REALM_FIRST_REACH = 0x00000100, //
|
||||||
ACHIEVEMENT_FLAG_REALM_FIRST_KILL = 0x00000200, //
|
ACHIEVEMENT_FLAG_REALM_FIRST_KILL = 0x00000200 //
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_CRITERIA_REQUIREMENTS 2
|
#define MAX_CRITERIA_REQUIREMENTS 2
|
||||||
@@ -81,7 +81,7 @@ enum AchievementCriteriaCondition
|
|||||||
ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE = 4, // only used in "Win 10 arenas without losing"
|
ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE = 4, // only used in "Win 10 arenas without losing"
|
||||||
ACHIEVEMENT_CRITERIA_CONDITION_NO_SPELL_HIT = 9, // requires the player not to be hit by specific spell
|
ACHIEVEMENT_CRITERIA_CONDITION_NO_SPELL_HIT = 9, // requires the player not to be hit by specific spell
|
||||||
ACHIEVEMENT_CRITERIA_CONDITION_NOT_IN_GROUP = 10, // requires the player not to be in group
|
ACHIEVEMENT_CRITERIA_CONDITION_NOT_IN_GROUP = 10, // requires the player not to be in group
|
||||||
ACHIEVEMENT_CRITERIA_CONDITION_UNK3 = 13, // unk
|
ACHIEVEMENT_CRITERIA_CONDITION_UNK3 = 13 // unk
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AchievementCriteriaFlags
|
enum AchievementCriteriaFlags
|
||||||
@@ -91,7 +91,7 @@ enum AchievementCriteriaFlags
|
|||||||
ACHIEVEMENT_CRITERIA_FLAG_UNK3 = 0x00000004, // BG related??
|
ACHIEVEMENT_CRITERIA_FLAG_UNK3 = 0x00000004, // BG related??
|
||||||
ACHIEVEMENT_CRITERIA_FLAG_UNK4 = 0x00000008, //
|
ACHIEVEMENT_CRITERIA_FLAG_UNK4 = 0x00000008, //
|
||||||
ACHIEVEMENT_CRITERIA_FLAG_UNK5 = 0x00000010, // not used
|
ACHIEVEMENT_CRITERIA_FLAG_UNK5 = 0x00000010, // not used
|
||||||
ACHIEVEMENT_CRITERIA_FLAG_MONEY_COUNTER = 0x00000020, // Displays counter as money
|
ACHIEVEMENT_CRITERIA_FLAG_MONEY_COUNTER = 0x00000020 // Displays counter as money
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AchievementCriteriaTimedTypes
|
enum AchievementCriteriaTimedTypes
|
||||||
@@ -103,7 +103,7 @@ enum AchievementCriteriaTimedTypes
|
|||||||
ACHIEVEMENT_TIMED_TYPE_CREATURE = 7, // Timer is started by killing creature with entry in timerStartEvent
|
ACHIEVEMENT_TIMED_TYPE_CREATURE = 7, // Timer is started by killing creature with entry in timerStartEvent
|
||||||
ACHIEVEMENT_TIMED_TYPE_ITEM = 9, // Timer is started by using item with entry in timerStartEvent
|
ACHIEVEMENT_TIMED_TYPE_ITEM = 9, // Timer is started by using item with entry in timerStartEvent
|
||||||
|
|
||||||
ACHIEVEMENT_TIMED_TYPE_MAX,
|
ACHIEVEMENT_TIMED_TYPE_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AchievementCriteriaTypes
|
enum AchievementCriteriaTypes
|
||||||
@@ -223,12 +223,12 @@ enum AchievementCriteriaTypes
|
|||||||
// 122
|
// 122
|
||||||
// 123
|
// 123
|
||||||
// 0..123 => 124 criteria types total
|
// 0..123 => 124 criteria types total
|
||||||
ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 124,
|
ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 124
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AchievementCategory
|
enum AchievementCategory
|
||||||
{
|
{
|
||||||
CATEGORY_CHILDRENS_WEEK = 163,
|
CATEGORY_CHILDRENS_WEEK = 163
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AreaFlags
|
enum AreaFlags
|
||||||
@@ -275,7 +275,7 @@ enum Difficulty
|
|||||||
RAID_DIFFICULTY_10MAN_NORMAL = 0,
|
RAID_DIFFICULTY_10MAN_NORMAL = 0,
|
||||||
RAID_DIFFICULTY_25MAN_NORMAL = 1,
|
RAID_DIFFICULTY_25MAN_NORMAL = 1,
|
||||||
RAID_DIFFICULTY_10MAN_HEROIC = 2,
|
RAID_DIFFICULTY_10MAN_HEROIC = 2,
|
||||||
RAID_DIFFICULTY_25MAN_HEROIC = 3,
|
RAID_DIFFICULTY_25MAN_HEROIC = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
#define RAID_DIFFICULTY_MASK_25MAN 1 // since 25man difficulties are 1 and 3, we can check them like that
|
#define RAID_DIFFICULTY_MASK_25MAN 1 // since 25man difficulties are 1 and 3, we can check them like that
|
||||||
@@ -300,14 +300,14 @@ enum SpawnMask
|
|||||||
SPAWNMASK_RAID_25MAN_HEROIC = (1 << RAID_DIFFICULTY_25MAN_HEROIC),
|
SPAWNMASK_RAID_25MAN_HEROIC = (1 << RAID_DIFFICULTY_25MAN_HEROIC),
|
||||||
SPAWNMASK_RAID_HEROIC_ALL = (SPAWNMASK_RAID_10MAN_HEROIC | SPAWNMASK_RAID_25MAN_HEROIC),
|
SPAWNMASK_RAID_HEROIC_ALL = (SPAWNMASK_RAID_10MAN_HEROIC | SPAWNMASK_RAID_25MAN_HEROIC),
|
||||||
|
|
||||||
SPAWNMASK_RAID_ALL = (SPAWNMASK_RAID_NORMAL_ALL | SPAWNMASK_RAID_HEROIC_ALL),
|
SPAWNMASK_RAID_ALL = (SPAWNMASK_RAID_NORMAL_ALL | SPAWNMASK_RAID_HEROIC_ALL)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum FactionTemplateFlags
|
enum FactionTemplateFlags
|
||||||
{
|
{
|
||||||
FACTION_TEMPLATE_FLAG_PVP = 0x00000800, // flagged for PvP
|
FACTION_TEMPLATE_FLAG_PVP = 0x00000800, // flagged for PvP
|
||||||
FACTION_TEMPLATE_FLAG_CONTESTED_GUARD = 0x00001000, // faction will attack players that were involved in PvP combats
|
FACTION_TEMPLATE_FLAG_CONTESTED_GUARD = 0x00001000, // faction will attack players that were involved in PvP combats
|
||||||
FACTION_TEMPLATE_FLAG_HOSTILE_BY_DEFAULT= 0x00002000,
|
FACTION_TEMPLATE_FLAG_HOSTILE_BY_DEFAULT= 0x00002000
|
||||||
};
|
};
|
||||||
|
|
||||||
enum FactionMasks
|
enum FactionMasks
|
||||||
@@ -350,7 +350,7 @@ enum ItemEnchantmentType
|
|||||||
enum ItemLimitCategoryMode
|
enum ItemLimitCategoryMode
|
||||||
{
|
{
|
||||||
ITEM_LIMIT_CATEGORY_MODE_HAVE = 0, // limit applied to amount items in inventory/bank
|
ITEM_LIMIT_CATEGORY_MODE_HAVE = 0, // limit applied to amount items in inventory/bank
|
||||||
ITEM_LIMIT_CATEGORY_MODE_EQUIP = 1, // limit applied to amount equipped items (including used gems)
|
ITEM_LIMIT_CATEGORY_MODE_EQUIP = 1 // limit applied to amount equipped items (including used gems)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TotemCategoryType
|
enum TotemCategoryType
|
||||||
@@ -411,7 +411,7 @@ enum SummonPropFlags
|
|||||||
SUMMON_PROP_FLAG_UNK13 = 0x00001000, // Lightwell, Jeeves, Gnomish Alarm-o-bot, Build vehicles(wintergrasp)
|
SUMMON_PROP_FLAG_UNK13 = 0x00001000, // Lightwell, Jeeves, Gnomish Alarm-o-bot, Build vehicles(wintergrasp)
|
||||||
SUMMON_PROP_FLAG_UNK14 = 0x00002000, // Guides, player follows
|
SUMMON_PROP_FLAG_UNK14 = 0x00002000, // Guides, player follows
|
||||||
SUMMON_PROP_FLAG_UNK15 = 0x00004000, // Force of Nature, Shadowfiend, Feral Spirit, Summon Water Elemental
|
SUMMON_PROP_FLAG_UNK15 = 0x00004000, // Force of Nature, Shadowfiend, Feral Spirit, Summon Water Elemental
|
||||||
SUMMON_PROP_FLAG_UNK16 = 0x00008000, // Light/Dark Bullet, Soul/Fiery Consumption, Twisted Visage, Twilight Whelp. Phase related?
|
SUMMON_PROP_FLAG_UNK16 = 0x00008000 // Light/Dark Bullet, Soul/Fiery Consumption, Twisted Visage, Twilight Whelp. Phase related?
|
||||||
};
|
};
|
||||||
|
|
||||||
enum VehicleSeatFlags
|
enum VehicleSeatFlags
|
||||||
@@ -436,7 +436,7 @@ enum VehicleSeatFlags
|
|||||||
VEHICLE_SEAT_FLAG_HAS_START_WARITING_FOR_VEH_TRANSITION_ANIM_EXIT = 0x10000000,
|
VEHICLE_SEAT_FLAG_HAS_START_WARITING_FOR_VEH_TRANSITION_ANIM_EXIT = 0x10000000,
|
||||||
VEHICLE_SEAT_FLAG_CAN_CAST = 0x20000000, // Lua_UnitHasVehicleUI
|
VEHICLE_SEAT_FLAG_CAN_CAST = 0x20000000, // Lua_UnitHasVehicleUI
|
||||||
VEHICLE_SEAT_FLAG_UNK2 = 0x40000000, // checked in conjunction with 0x800 in CastSpell2
|
VEHICLE_SEAT_FLAG_UNK2 = 0x40000000, // checked in conjunction with 0x800 in CastSpell2
|
||||||
VEHICLE_SEAT_FLAG_ALLOWS_INTERACTION = 0x80000000,
|
VEHICLE_SEAT_FLAG_ALLOWS_INTERACTION = 0x80000000
|
||||||
};
|
};
|
||||||
|
|
||||||
enum VehicleSeatFlagsB
|
enum VehicleSeatFlagsB
|
||||||
@@ -449,7 +449,7 @@ enum VehicleSeatFlagsB
|
|||||||
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_3 = 0x00000100,
|
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_3 = 0x00000100,
|
||||||
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4 = 0x02000000,
|
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4 = 0x02000000,
|
||||||
VEHICLE_SEAT_FLAG_B_CAN_SWITCH = 0x04000000,
|
VEHICLE_SEAT_FLAG_B_CAN_SWITCH = 0x04000000,
|
||||||
VEHICLE_SEAT_FLAG_B_VEHICLE_PLAYERFRAME_UI = 0x80000000, // Lua_UnitHasVehiclePlayerFrameUI - actually checked for flagsb &~ 0x80000000
|
VEHICLE_SEAT_FLAG_B_VEHICLE_PLAYERFRAME_UI = 0x80000000 // Lua_UnitHasVehiclePlayerFrameUI - actually checked for flagsb &~ 0x80000000
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -2480,7 +2480,7 @@ void Creature::SetPosition(float x, float y, float z, float o)
|
|||||||
|
|
||||||
GetMap()->CreatureRelocation(ToCreature(), x, y, z, o);
|
GetMap()->CreatureRelocation(ToCreature(), x, y, z, o);
|
||||||
if (IsVehicle())
|
if (IsVehicle())
|
||||||
GetVehicleKit()->RelocatePassengers(x, y, z, o);
|
GetVehicleKit()->RelocatePassengers();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Creature::IsDungeonBoss() const
|
bool Creature::IsDungeonBoss() const
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ enum CreatureFlagsExtra
|
|||||||
CREATURE_FLAG_EXTRA_NO_SKILLGAIN = 0x00040000, // creature won't increase weapon skills
|
CREATURE_FLAG_EXTRA_NO_SKILLGAIN = 0x00040000, // creature won't increase weapon skills
|
||||||
CREATURE_FLAG_EXTRA_TAUNT_DIMINISH = 0x00080000, // Taunt is a subject to diminishing returns on this creautre
|
CREATURE_FLAG_EXTRA_TAUNT_DIMINISH = 0x00080000, // Taunt is a subject to diminishing returns on this creautre
|
||||||
CREATURE_FLAG_EXTRA_ALL_DIMINISH = 0x00100000, // Creature is subject to all diminishing returns as player are
|
CREATURE_FLAG_EXTRA_ALL_DIMINISH = 0x00100000, // Creature is subject to all diminishing returns as player are
|
||||||
CREATURE_FLAG_EXTRA_DUNGEON_BOSS = 0x10000000, // creature is a dungeon boss (SET DYNAMICALLY, DO NOT ADD IN DB)
|
CREATURE_FLAG_EXTRA_DUNGEON_BOSS = 0x10000000 // creature is a dungeon boss (SET DYNAMICALLY, DO NOT ADD IN DB)
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CREATURE_FLAG_EXTRA_DB_ALLOWED (CREATURE_FLAG_EXTRA_INSTANCE_BIND | CREATURE_FLAG_EXTRA_CIVILIAN | \
|
#define CREATURE_FLAG_EXTRA_DB_ALLOWED (CREATURE_FLAG_EXTRA_INSTANCE_BIND | CREATURE_FLAG_EXTRA_CIVILIAN | \
|
||||||
@@ -414,7 +414,7 @@ enum CreatureCellMoveState
|
|||||||
{
|
{
|
||||||
CREATURE_CELL_MOVE_NONE, // not in move list
|
CREATURE_CELL_MOVE_NONE, // not in move list
|
||||||
CREATURE_CELL_MOVE_ACTIVE, // in move list
|
CREATURE_CELL_MOVE_ACTIVE, // in move list
|
||||||
CREATURE_CELL_MOVE_INACTIVE, //in move list but should not move
|
CREATURE_CELL_MOVE_INACTIVE // in move list but should not move
|
||||||
};
|
};
|
||||||
|
|
||||||
class MapCreature
|
class MapCreature
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ enum DynamicObjectType
|
|||||||
{
|
{
|
||||||
DYNAMIC_OBJECT_PORTAL = 0x0, // unused
|
DYNAMIC_OBJECT_PORTAL = 0x0, // unused
|
||||||
DYNAMIC_OBJECT_AREA_SPELL = 0x1,
|
DYNAMIC_OBJECT_AREA_SPELL = 0x1,
|
||||||
DYNAMIC_OBJECT_FARSIGHT_FOCUS = 0x2,
|
DYNAMIC_OBJECT_FARSIGHT_FOCUS = 0x2
|
||||||
};
|
};
|
||||||
|
|
||||||
class DynamicObject : public WorldObject, public GridObject<DynamicObject>
|
class DynamicObject : public WorldObject, public GridObject<DynamicObject>
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ enum ItemFieldFlags
|
|||||||
ITEM_FLAG_UNK25 = 0x40000000, // ?
|
ITEM_FLAG_UNK25 = 0x40000000, // ?
|
||||||
ITEM_FLAG_UNK26 = 0x80000000, // ?
|
ITEM_FLAG_UNK26 = 0x80000000, // ?
|
||||||
|
|
||||||
ITEM_FLAG_MAIL_TEXT_MASK = ITEM_FLAG_READABLE | ITEM_FLAG_UNK13 | ITEM_FLAG_UNK14,
|
ITEM_FLAG_MAIL_TEXT_MASK = ITEM_FLAG_READABLE | ITEM_FLAG_UNK13 | ITEM_FLAG_UNK14
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ItemFlagsExtra
|
enum ItemFlagsExtra
|
||||||
@@ -196,7 +196,7 @@ enum ItemFlagsCustom
|
|||||||
{
|
{
|
||||||
ITEM_FLAGS_CU_DURATION_REAL_TIME = 0x0001, // Item duration will tick even if player is offline
|
ITEM_FLAGS_CU_DURATION_REAL_TIME = 0x0001, // Item duration will tick even if player is offline
|
||||||
ITEM_FLAGS_CU_IGNORE_QUEST_STATUS = 0x0002, // No quest status will be checked when this item drops
|
ITEM_FLAGS_CU_IGNORE_QUEST_STATUS = 0x0002, // No quest status will be checked when this item drops
|
||||||
ITEM_FLAGS_CU_FOLLOW_LOOT_RULES = 0x0004, // Item will always follow group/master/need before greed looting rules
|
ITEM_FLAGS_CU_FOLLOW_LOOT_RULES = 0x0004 // Item will always follow group/master/need before greed looting rules
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BAG_FAMILY_MASK
|
enum BAG_FAMILY_MASK
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ enum HighGuid
|
|||||||
HIGHGUID_DYNAMICOBJECT = 0xF100, // blizz F100
|
HIGHGUID_DYNAMICOBJECT = 0xF100, // blizz F100
|
||||||
HIGHGUID_CORPSE = 0xF101, // blizz F100
|
HIGHGUID_CORPSE = 0xF101, // blizz F100
|
||||||
HIGHGUID_MO_TRANSPORT = 0x1FC0, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT)
|
HIGHGUID_MO_TRANSPORT = 0x1FC0, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT)
|
||||||
HIGHGUID_GROUP = 0x1F50,
|
HIGHGUID_GROUP = 0x1F50
|
||||||
};
|
};
|
||||||
|
|
||||||
#define IS_EMPTY_GUID(Guid) (Guid == 0)
|
#define IS_EMPTY_GUID(Guid) (Guid == 0)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ enum UpdatefieldFlags
|
|||||||
UF_FLAG_SPECIAL_INFO = 0x020,
|
UF_FLAG_SPECIAL_INFO = 0x020,
|
||||||
UF_FLAG_PARTY_MEMBER = 0x040,
|
UF_FLAG_PARTY_MEMBER = 0x040,
|
||||||
UF_FLAG_UNUSED2 = 0x080,
|
UF_FLAG_UNUSED2 = 0x080,
|
||||||
UF_FLAG_DYNAMIC = 0x100,
|
UF_FLAG_DYNAMIC = 0x100
|
||||||
};
|
};
|
||||||
|
|
||||||
extern uint32 ItemUpdateFieldFlags[CONTAINER_END];
|
extern uint32 ItemUpdateFieldFlags[CONTAINER_END];
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ enum EObjectFields
|
|||||||
OBJECT_FIELD_ENTRY = 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
OBJECT_FIELD_ENTRY = 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
OBJECT_FIELD_SCALE_X = 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
OBJECT_FIELD_SCALE_X = 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||||
OBJECT_FIELD_PADDING = 0x0005, // Size: 1, Type: INT, Flags: NONE
|
OBJECT_FIELD_PADDING = 0x0005, // Size: 1, Type: INT, Flags: NONE
|
||||||
OBJECT_END = 0x0006,
|
OBJECT_END = 0x0006
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EItemFields
|
enum EItemFields
|
||||||
@@ -71,7 +71,7 @@ enum EItemFields
|
|||||||
ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
|
ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
|
||||||
ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x0038, // Size: 1, Type: INT, Flags: PUBLIC
|
ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x0038, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
ITEM_FIELD_PAD = OBJECT_END + 0x0039, // Size: 1, Type: INT, Flags: NONE
|
ITEM_FIELD_PAD = OBJECT_END + 0x0039, // Size: 1, Type: INT, Flags: NONE
|
||||||
ITEM_END = OBJECT_END + 0x003A,
|
ITEM_END = OBJECT_END + 0x003A
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EContainerFields
|
enum EContainerFields
|
||||||
@@ -79,7 +79,7 @@ enum EContainerFields
|
|||||||
CONTAINER_FIELD_NUM_SLOTS = ITEM_END + 0x0000, // Size: 1, Type: INT, Flags: PUBLIC
|
CONTAINER_FIELD_NUM_SLOTS = ITEM_END + 0x0000, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
CONTAINER_ALIGN_PAD = ITEM_END + 0x0001, // Size: 1, Type: BYTES, Flags: NONE
|
CONTAINER_ALIGN_PAD = ITEM_END + 0x0001, // Size: 1, Type: BYTES, Flags: NONE
|
||||||
CONTAINER_FIELD_SLOT_1 = ITEM_END + 0x0002, // Size: 72, Type: LONG, Flags: PUBLIC
|
CONTAINER_FIELD_SLOT_1 = ITEM_END + 0x0002, // Size: 72, Type: LONG, Flags: PUBLIC
|
||||||
CONTAINER_END = ITEM_END + 0x004A,
|
CONTAINER_END = ITEM_END + 0x004A
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EUnitFields
|
enum EUnitFields
|
||||||
@@ -390,7 +390,7 @@ enum EUnitFields
|
|||||||
PLAYER_FIELD_GLYPHS_1 = UNIT_END + 0x0492, // Size: 6, Type: INT, Flags: PRIVATE
|
PLAYER_FIELD_GLYPHS_1 = UNIT_END + 0x0492, // Size: 6, Type: INT, Flags: PRIVATE
|
||||||
PLAYER_GLYPHS_ENABLED = UNIT_END + 0x0498, // Size: 1, Type: INT, Flags: PRIVATE
|
PLAYER_GLYPHS_ENABLED = UNIT_END + 0x0498, // Size: 1, Type: INT, Flags: PRIVATE
|
||||||
PLAYER_PET_SPELL_POWER = UNIT_END + 0x0499, // Size: 1, Type: INT, Flags: PRIVATE
|
PLAYER_PET_SPELL_POWER = UNIT_END + 0x0499, // Size: 1, Type: INT, Flags: PRIVATE
|
||||||
PLAYER_END = UNIT_END + 0x049A,
|
PLAYER_END = UNIT_END + 0x049A
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EGameObjectFields
|
enum EGameObjectFields
|
||||||
@@ -403,7 +403,7 @@ enum EGameObjectFields
|
|||||||
GAMEOBJECT_FACTION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: PUBLIC
|
GAMEOBJECT_FACTION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
GAMEOBJECT_LEVEL = OBJECT_END + 0x000A, // Size: 1, Type: INT, Flags: PUBLIC
|
GAMEOBJECT_LEVEL = OBJECT_END + 0x000A, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
GAMEOBJECT_BYTES_1 = OBJECT_END + 0x000B, // Size: 1, Type: BYTES, Flags: PUBLIC
|
GAMEOBJECT_BYTES_1 = OBJECT_END + 0x000B, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||||
GAMEOBJECT_END = OBJECT_END + 0x000C,
|
GAMEOBJECT_END = OBJECT_END + 0x000C
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EDynamicObjectFields
|
enum EDynamicObjectFields
|
||||||
@@ -413,7 +413,7 @@ enum EDynamicObjectFields
|
|||||||
DYNAMICOBJECT_SPELLID = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
DYNAMICOBJECT_SPELLID = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
DYNAMICOBJECT_RADIUS = OBJECT_END + 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
DYNAMICOBJECT_RADIUS = OBJECT_END + 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||||
DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x0005, // Size: 1, Type: INT, Flags: PUBLIC
|
DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x0005, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
DYNAMICOBJECT_END = OBJECT_END + 0x0006,
|
DYNAMICOBJECT_END = OBJECT_END + 0x0006
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ECorpseFields
|
enum ECorpseFields
|
||||||
@@ -428,6 +428,6 @@ enum ECorpseFields
|
|||||||
CORPSE_FIELD_FLAGS = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC
|
CORPSE_FIELD_FLAGS = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC
|
||||||
CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: DYNAMIC
|
CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: DYNAMIC
|
||||||
CORPSE_FIELD_PAD = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: NONE
|
CORPSE_FIELD_PAD = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: NONE
|
||||||
CORPSE_END = OBJECT_END + 0x001E,
|
CORPSE_END = OBJECT_END + 0x001E
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ enum PetType
|
|||||||
{
|
{
|
||||||
SUMMON_PET = 0,
|
SUMMON_PET = 0,
|
||||||
HUNTER_PET = 1,
|
HUNTER_PET = 1,
|
||||||
MAX_PET_TYPE = 4,
|
MAX_PET_TYPE = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_PET_STABLES 4
|
#define MAX_PET_STABLES 4
|
||||||
@@ -61,7 +61,7 @@ enum PetSpellType
|
|||||||
{
|
{
|
||||||
PETSPELL_NORMAL = 0,
|
PETSPELL_NORMAL = 0,
|
||||||
PETSPELL_FAMILY = 1,
|
PETSPELL_FAMILY = 1,
|
||||||
PETSPELL_TALENT = 2,
|
PETSPELL_TALENT = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PetSpell
|
struct PetSpell
|
||||||
|
|||||||
@@ -11532,7 +11532,7 @@ InventoryResult Player::CanEquipItem(uint8 slot, uint16 &dest, Item* pItem, bool
|
|||||||
if (eslot == EQUIPMENT_SLOT_OFFHAND)
|
if (eslot == EQUIPMENT_SLOT_OFFHAND)
|
||||||
{
|
{
|
||||||
// Do not allow polearm to be equipped in the offhand (rare case for the only 1h polearm 41750)
|
// Do not allow polearm to be equipped in the offhand (rare case for the only 1h polearm 41750)
|
||||||
if (pProto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM)
|
if (type == INVTYPE_WEAPON && pProto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM)
|
||||||
return EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT;
|
return EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT;
|
||||||
|
|
||||||
else if (type == INVTYPE_WEAPON || type == INVTYPE_WEAPONOFFHAND)
|
else if (type == INVTYPE_WEAPON || type == INVTYPE_WEAPONOFFHAND)
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ struct Areas
|
|||||||
enum RuneCooldowns
|
enum RuneCooldowns
|
||||||
{
|
{
|
||||||
RUNE_BASE_COOLDOWN = 10000,
|
RUNE_BASE_COOLDOWN = 10000,
|
||||||
RUNE_MISS_COOLDOWN = 1500, // cooldown applied on runes when the spell misses
|
RUNE_MISS_COOLDOWN = 1500 // cooldown applied on runes when the spell misses
|
||||||
};
|
};
|
||||||
|
|
||||||
enum RuneType
|
enum RuneType
|
||||||
@@ -399,7 +399,7 @@ enum PlayerFlags
|
|||||||
PLAYER_FLAGS_UNK28 = 0x10000000,
|
PLAYER_FLAGS_UNK28 = 0x10000000,
|
||||||
PLAYER_FLAGS_UNK29 = 0x20000000,
|
PLAYER_FLAGS_UNK29 = 0x20000000,
|
||||||
PLAYER_FLAGS_UNK30 = 0x40000000,
|
PLAYER_FLAGS_UNK30 = 0x40000000,
|
||||||
PLAYER_FLAGS_UNK31 = 0x80000000,
|
PLAYER_FLAGS_UNK31 = 0x80000000
|
||||||
};
|
};
|
||||||
|
|
||||||
// used for PLAYER__FIELD_KNOWN_TITLES field (uint64), (1<<bit_index) without (-1)
|
// used for PLAYER__FIELD_KNOWN_TITLES field (uint64), (1<<bit_index) without (-1)
|
||||||
@@ -672,7 +672,7 @@ enum TradeSlots
|
|||||||
TRADE_SLOT_COUNT = 7,
|
TRADE_SLOT_COUNT = 7,
|
||||||
TRADE_SLOT_TRADED_COUNT = 6,
|
TRADE_SLOT_TRADED_COUNT = 6,
|
||||||
TRADE_SLOT_NONTRADED = 6,
|
TRADE_SLOT_NONTRADED = 6,
|
||||||
TRADE_SLOT_INVALID = -1,
|
TRADE_SLOT_INVALID = -1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TransferAbortReason
|
enum TransferAbortReason
|
||||||
@@ -692,7 +692,7 @@ enum TransferAbortReason
|
|||||||
TRANSFER_ABORT_NOT_FOUND2 = 0x0D, // 3.1
|
TRANSFER_ABORT_NOT_FOUND2 = 0x0D, // 3.1
|
||||||
TRANSFER_ABORT_NOT_FOUND3 = 0x0E, // 3.2
|
TRANSFER_ABORT_NOT_FOUND3 = 0x0E, // 3.2
|
||||||
TRANSFER_ABORT_REALM_ONLY = 0x0F, // All players on party must be from the same realm.
|
TRANSFER_ABORT_REALM_ONLY = 0x0F, // All players on party must be from the same realm.
|
||||||
TRANSFER_ABORT_MAP_NOT_ALLOWED = 0x10, // Map can't be entered at this time.
|
TRANSFER_ABORT_MAP_NOT_ALLOWED = 0x10 // Map can't be entered at this time.
|
||||||
};
|
};
|
||||||
|
|
||||||
enum InstanceResetWarningType
|
enum InstanceResetWarningType
|
||||||
@@ -739,7 +739,7 @@ enum TeleportToOptions
|
|||||||
TELE_TO_NOT_LEAVE_TRANSPORT = 0x02,
|
TELE_TO_NOT_LEAVE_TRANSPORT = 0x02,
|
||||||
TELE_TO_NOT_LEAVE_COMBAT = 0x04,
|
TELE_TO_NOT_LEAVE_COMBAT = 0x04,
|
||||||
TELE_TO_NOT_UNSUMMON_PET = 0x08,
|
TELE_TO_NOT_UNSUMMON_PET = 0x08,
|
||||||
TELE_TO_SPELL = 0x10,
|
TELE_TO_SPELL = 0x10
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Type of environmental damages
|
/// Type of environmental damages
|
||||||
@@ -761,7 +761,7 @@ enum PlayerChatTag
|
|||||||
CHAT_TAG_DND = 0x02,
|
CHAT_TAG_DND = 0x02,
|
||||||
CHAT_TAG_GM = 0x04,
|
CHAT_TAG_GM = 0x04,
|
||||||
CHAT_TAG_COM = 0x08, // Commentator
|
CHAT_TAG_COM = 0x08, // Commentator
|
||||||
CHAT_TAG_DEV = 0x10,
|
CHAT_TAG_DEV = 0x10
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PlayedTimeIndex
|
enum PlayedTimeIndex
|
||||||
@@ -807,7 +807,7 @@ enum PlayerLoginQueryIndex
|
|||||||
PLAYER_LOGIN_QUERY_LOADQUESTSTATUSREW = 29,
|
PLAYER_LOGIN_QUERY_LOADQUESTSTATUSREW = 29,
|
||||||
PLAYER_LOGIN_QUERY_LOADINSTANCELOCKTIMES = 30,
|
PLAYER_LOGIN_QUERY_LOADINSTANCELOCKTIMES = 30,
|
||||||
PLAYER_LOGIN_QUERY_LOADSEASONALQUESTSTATUS = 31,
|
PLAYER_LOGIN_QUERY_LOADSEASONALQUESTSTATUS = 31,
|
||||||
MAX_PLAYER_LOGIN_QUERY,
|
MAX_PLAYER_LOGIN_QUERY
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PlayerDelayedOperations
|
enum PlayerDelayedOperations
|
||||||
|
|||||||
@@ -154,12 +154,25 @@ _hitMask(hitMask), _spell(spell), _damageInfo(damageInfo), _healInfo(healInfo)
|
|||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(disable:4355)
|
#pragma warning(disable:4355)
|
||||||
#endif
|
#endif
|
||||||
Unit::Unit(bool isWorldObject): WorldObject(isWorldObject),
|
Unit::Unit(bool isWorldObject): WorldObject(isWorldObject)
|
||||||
m_movedPlayer(NULL), m_lastSanctuaryTime(0), IsAIEnabled(false), NeedChangeAI(false),
|
, m_movedPlayer(NULL)
|
||||||
m_ControlledByPlayer(false), movespline(new Movement::MoveSpline()), i_AI(NULL),
|
, m_lastSanctuaryTime(0)
|
||||||
i_disabledAI(NULL), m_procDeep(0), m_removedAurasCount(0), i_motionMaster(this),
|
, m_TempSpeed(0.0f)
|
||||||
m_ThreatManager(this), m_vehicle(NULL), m_vehicleKit(NULL), m_unitTypeMask(UNIT_MASK_NONE),
|
, IsAIEnabled(false)
|
||||||
m_HostileRefManager(this), m_TempSpeed(0.0f), m_AutoRepeatFirstCast(false)
|
, NeedChangeAI(false)
|
||||||
|
, m_ControlledByPlayer(false)
|
||||||
|
, movespline(new Movement::MoveSpline())
|
||||||
|
, i_AI(NULL)
|
||||||
|
, i_disabledAI(NULL)
|
||||||
|
, m_AutoRepeatFirstCast(false)
|
||||||
|
, m_procDeep(0)
|
||||||
|
, m_removedAurasCount(0)
|
||||||
|
, i_motionMaster(this)
|
||||||
|
, m_ThreatManager(this)
|
||||||
|
, m_vehicle(NULL)
|
||||||
|
, m_vehicleKit(NULL)
|
||||||
|
, m_unitTypeMask(UNIT_MASK_NONE)
|
||||||
|
, m_HostileRefManager(this)
|
||||||
{
|
{
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(default:4355)
|
#pragma warning(default:4355)
|
||||||
@@ -13218,13 +13231,13 @@ int32 Unit::ModSpellDuration(SpellInfo const* spellProto, Unit const* target, in
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SPELLFAMILY_PALADIN:
|
case SPELLFAMILY_PALADIN:
|
||||||
if (spellProto->SpellFamilyFlags[0] & 0x00000002 && spellProto->SpellIconID == 298)
|
if ((spellProto->SpellFamilyFlags[0] & 0x00000002) && spellProto->SpellIconID == 298)
|
||||||
{
|
{
|
||||||
// Glyph of Blessing of Might
|
// Glyph of Blessing of Might
|
||||||
if (AuraEffect* aurEff = GetAuraEffect(57958, 0))
|
if (AuraEffect* aurEff = GetAuraEffect(57958, 0))
|
||||||
duration += aurEff->GetAmount() * MINUTE * IN_MILLISECONDS;
|
duration += aurEff->GetAmount() * MINUTE * IN_MILLISECONDS;
|
||||||
}
|
}
|
||||||
else if (spellProto->SpellFamilyFlags[0] & 0x00010000 && spellProto->SpellIconID == 306)
|
else if ((spellProto->SpellFamilyFlags[0] & 0x00010000) && spellProto->SpellIconID == 306)
|
||||||
{
|
{
|
||||||
// Glyph of Blessing of Wisdom
|
// Glyph of Blessing of Wisdom
|
||||||
if (AuraEffect* aurEff = GetAuraEffect(57979, 0))
|
if (AuraEffect* aurEff = GetAuraEffect(57979, 0))
|
||||||
@@ -17312,7 +17325,7 @@ void Unit::UpdateOrientation(float orientation)
|
|||||||
{
|
{
|
||||||
SetOrientation(orientation);
|
SetOrientation(orientation);
|
||||||
if (IsVehicle())
|
if (IsVehicle())
|
||||||
GetVehicleKit()->RelocatePassengers(GetPositionX(), GetPositionY(), GetPositionZ(), orientation);
|
GetVehicleKit()->RelocatePassengers();
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Only server-side height update, does not broadcast to client
|
//! Only server-side height update, does not broadcast to client
|
||||||
@@ -17320,7 +17333,7 @@ void Unit::UpdateHeight(float newZ)
|
|||||||
{
|
{
|
||||||
Relocate(GetPositionX(), GetPositionY(), newZ);
|
Relocate(GetPositionX(), GetPositionY(), newZ);
|
||||||
if (IsVehicle())
|
if (IsVehicle())
|
||||||
GetVehicleKit()->RelocatePassengers(GetPositionX(), GetPositionY(), newZ, GetOrientation());
|
GetVehicleKit()->RelocatePassengers();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::SendThreatListUpdate()
|
void Unit::SendThreatListUpdate()
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ enum SpellInterruptFlags
|
|||||||
SPELL_INTERRUPT_FLAG_PUSH_BACK = 0x02, // push back
|
SPELL_INTERRUPT_FLAG_PUSH_BACK = 0x02, // push back
|
||||||
SPELL_INTERRUPT_FLAG_UNK3 = 0x04, // any info?
|
SPELL_INTERRUPT_FLAG_UNK3 = 0x04, // any info?
|
||||||
SPELL_INTERRUPT_FLAG_INTERRUPT = 0x08, // interrupt
|
SPELL_INTERRUPT_FLAG_INTERRUPT = 0x08, // interrupt
|
||||||
SPELL_INTERRUPT_FLAG_ABORT_ON_DMG = 0x10, // _complete_ interrupt on direct damage
|
SPELL_INTERRUPT_FLAG_ABORT_ON_DMG = 0x10 // _complete_ interrupt on direct damage
|
||||||
//SPELL_INTERRUPT_UNK = 0x20 // unk, 564 of 727 spells having this spell start with "Glyph"
|
//SPELL_INTERRUPT_UNK = 0x20 // unk, 564 of 727 spells having this spell start with "Glyph"
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ enum SpellAuraInterruptFlags
|
|||||||
AURA_INTERRUPT_FLAG_DIRECT_DAMAGE = 0x01000000, // 24 removed by any direct damage
|
AURA_INTERRUPT_FLAG_DIRECT_DAMAGE = 0x01000000, // 24 removed by any direct damage
|
||||||
AURA_INTERRUPT_FLAG_LANDING = 0x02000000, // 25 removed by hitting the ground
|
AURA_INTERRUPT_FLAG_LANDING = 0x02000000, // 25 removed by hitting the ground
|
||||||
|
|
||||||
AURA_INTERRUPT_FLAG_NOT_VICTIM = (AURA_INTERRUPT_FLAG_HITBYSPELL | AURA_INTERRUPT_FLAG_TAKE_DAMAGE | AURA_INTERRUPT_FLAG_DIRECT_DAMAGE),
|
AURA_INTERRUPT_FLAG_NOT_VICTIM = (AURA_INTERRUPT_FLAG_HITBYSPELL | AURA_INTERRUPT_FLAG_TAKE_DAMAGE | AURA_INTERRUPT_FLAG_DIRECT_DAMAGE)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellModOp
|
enum SpellModOp
|
||||||
@@ -133,7 +133,7 @@ enum SpellValueMod
|
|||||||
SPELLVALUE_BASE_POINT2,
|
SPELLVALUE_BASE_POINT2,
|
||||||
SPELLVALUE_RADIUS_MOD,
|
SPELLVALUE_RADIUS_MOD,
|
||||||
SPELLVALUE_MAX_TARGETS,
|
SPELLVALUE_MAX_TARGETS,
|
||||||
SPELLVALUE_AURA_STACK,
|
SPELLVALUE_AURA_STACK
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::pair<SpellValueMod, int32> CustomSpellValueMod;
|
typedef std::pair<SpellValueMod, int32> CustomSpellValueMod;
|
||||||
@@ -253,7 +253,7 @@ enum UnitPVPStateFlags
|
|||||||
enum UnitRename
|
enum UnitRename
|
||||||
{
|
{
|
||||||
UNIT_CAN_BE_RENAMED = 0x01,
|
UNIT_CAN_BE_RENAMED = 0x01,
|
||||||
UNIT_CAN_BE_ABANDONED = 0x02,
|
UNIT_CAN_BE_ABANDONED = 0x02
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CREATURE_MAX_SPELLS 8
|
#define CREATURE_MAX_SPELLS 8
|
||||||
@@ -403,7 +403,7 @@ enum TriggerCastFlags
|
|||||||
TRIGGERED_IGNORE_CASTER_AURAS = 0x00010000, //! Will ignore caster aura restrictions or requirements
|
TRIGGERED_IGNORE_CASTER_AURAS = 0x00010000, //! Will ignore caster aura restrictions or requirements
|
||||||
TRIGGERED_DISALLOW_PROC_EVENTS = 0x00020000, //! Disallows proc events from triggered spell (default)
|
TRIGGERED_DISALLOW_PROC_EVENTS = 0x00020000, //! Disallows proc events from triggered spell (default)
|
||||||
TRIGGERED_DONT_REPORT_CAST_ERROR = 0x00040000, //! Will return SPELL_FAILED_DONT_REPORT in CheckCast functions
|
TRIGGERED_DONT_REPORT_CAST_ERROR = 0x00040000, //! Will return SPELL_FAILED_DONT_REPORT in CheckCast functions
|
||||||
TRIGGERED_FULL_MASK = 0xFFFFFFFF,
|
TRIGGERED_FULL_MASK = 0xFFFFFFFF
|
||||||
};
|
};
|
||||||
|
|
||||||
enum UnitMods
|
enum UnitMods
|
||||||
@@ -466,7 +466,7 @@ enum DeathState
|
|||||||
JUST_DIED = 1,
|
JUST_DIED = 1,
|
||||||
CORPSE = 2,
|
CORPSE = 2,
|
||||||
DEAD = 3,
|
DEAD = 3,
|
||||||
JUST_RESPAWNED = 4,
|
JUST_RESPAWNED = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
enum UnitState
|
enum UnitState
|
||||||
@@ -637,7 +637,7 @@ enum UnitFlags2
|
|||||||
UNIT_FLAG2_DISABLE_TURN = 0x00008000,
|
UNIT_FLAG2_DISABLE_TURN = 0x00008000,
|
||||||
UNIT_FLAG2_UNK2 = 0x00010000,
|
UNIT_FLAG2_UNK2 = 0x00010000,
|
||||||
UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000, // Plays special death animation upon death
|
UNIT_FLAG2_PLAY_DEATH_ANIM = 0x00020000, // Plays special death animation upon death
|
||||||
UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000, // Allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL
|
UNIT_FLAG2_ALLOW_CHEAT_SPELLS = 0x00040000 // Allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Non Player Character flags
|
/// Non Player Character flags
|
||||||
@@ -669,7 +669,7 @@ enum NPCFlags
|
|||||||
UNIT_NPC_FLAG_STABLEMASTER = 0x00400000, // 100%
|
UNIT_NPC_FLAG_STABLEMASTER = 0x00400000, // 100%
|
||||||
UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // cause client to send 997 opcode
|
UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // cause client to send 997 opcode
|
||||||
UNIT_NPC_FLAG_SPELLCLICK = 0x01000000, // cause client to send 1015 opcode (spell click)
|
UNIT_NPC_FLAG_SPELLCLICK = 0x01000000, // cause client to send 1015 opcode (spell click)
|
||||||
UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000, // players with mounts that have vehicle data should have it set
|
UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000 // players with mounts that have vehicle data should have it set
|
||||||
};
|
};
|
||||||
|
|
||||||
enum MovementFlags
|
enum MovementFlags
|
||||||
@@ -721,7 +721,7 @@ enum MovementFlags
|
|||||||
|
|
||||||
//! TODO if needed: add more flags to this masks that are exclusive to players
|
//! TODO if needed: add more flags to this masks that are exclusive to players
|
||||||
MOVEMENTFLAG_MASK_PLAYER_ONLY =
|
MOVEMENTFLAG_MASK_PLAYER_ONLY =
|
||||||
MOVEMENTFLAG_FLYING,
|
MOVEMENTFLAG_FLYING
|
||||||
};
|
};
|
||||||
enum MovementFlags2
|
enum MovementFlags2
|
||||||
{
|
{
|
||||||
@@ -741,7 +741,7 @@ enum MovementFlags2
|
|||||||
MOVEMENTFLAG2_INTERPOLATED_PITCHING = 0x00001000,
|
MOVEMENTFLAG2_INTERPOLATED_PITCHING = 0x00001000,
|
||||||
MOVEMENTFLAG2_UNK14 = 0x00002000,
|
MOVEMENTFLAG2_UNK14 = 0x00002000,
|
||||||
MOVEMENTFLAG2_UNK15 = 0x00004000,
|
MOVEMENTFLAG2_UNK15 = 0x00004000,
|
||||||
MOVEMENTFLAG2_UNK16 = 0x00008000,
|
MOVEMENTFLAG2_UNK16 = 0x00008000
|
||||||
};
|
};
|
||||||
|
|
||||||
enum UnitTypeMask
|
enum UnitTypeMask
|
||||||
@@ -756,7 +756,7 @@ enum UnitTypeMask
|
|||||||
UNIT_MASK_PUPPET = 0x00000040,
|
UNIT_MASK_PUPPET = 0x00000040,
|
||||||
UNIT_MASK_HUNTER_PET = 0x00000080,
|
UNIT_MASK_HUNTER_PET = 0x00000080,
|
||||||
UNIT_MASK_CONTROLABLE_GUARDIAN = 0x00000100,
|
UNIT_MASK_CONTROLABLE_GUARDIAN = 0x00000100,
|
||||||
UNIT_MASK_ACCESSORY = 0x00000200,
|
UNIT_MASK_ACCESSORY = 0x00000200
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace Movement{
|
namespace Movement{
|
||||||
@@ -770,7 +770,7 @@ enum DiminishingLevels
|
|||||||
DIMINISHING_LEVEL_3 = 2,
|
DIMINISHING_LEVEL_3 = 2,
|
||||||
DIMINISHING_LEVEL_IMMUNE = 3,
|
DIMINISHING_LEVEL_IMMUNE = 3,
|
||||||
DIMINISHING_LEVEL_4 = 3,
|
DIMINISHING_LEVEL_4 = 3,
|
||||||
DIMINISHING_LEVEL_TAUNT_IMMUNE = 4,
|
DIMINISHING_LEVEL_TAUNT_IMMUNE = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
struct DiminishingReturn
|
struct DiminishingReturn
|
||||||
@@ -1081,7 +1081,7 @@ enum CharmType
|
|||||||
CHARM_TYPE_CHARM,
|
CHARM_TYPE_CHARM,
|
||||||
CHARM_TYPE_POSSESS,
|
CHARM_TYPE_POSSESS,
|
||||||
CHARM_TYPE_VEHICLE,
|
CHARM_TYPE_VEHICLE,
|
||||||
CHARM_TYPE_CONVERT,
|
CHARM_TYPE_CONVERT
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef UnitActionBarEntry CharmSpellInfo;
|
typedef UnitActionBarEntry CharmSpellInfo;
|
||||||
@@ -1091,7 +1091,7 @@ enum ActionBarIndex
|
|||||||
ACTION_BAR_INDEX_START = 0,
|
ACTION_BAR_INDEX_START = 0,
|
||||||
ACTION_BAR_INDEX_PET_SPELL_START = 3,
|
ACTION_BAR_INDEX_PET_SPELL_START = 3,
|
||||||
ACTION_BAR_INDEX_PET_SPELL_END = 7,
|
ACTION_BAR_INDEX_PET_SPELL_END = 7,
|
||||||
ACTION_BAR_INDEX_END = 10,
|
ACTION_BAR_INDEX_END = 10
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_UNIT_ACTION_BAR_INDEX (ACTION_BAR_INDEX_END-ACTION_BAR_INDEX_START)
|
#define MAX_UNIT_ACTION_BAR_INDEX (ACTION_BAR_INDEX_END-ACTION_BAR_INDEX_START)
|
||||||
@@ -1191,7 +1191,7 @@ enum PlayerTotemType
|
|||||||
SUMMON_TYPE_TOTEM_FIRE = 63,
|
SUMMON_TYPE_TOTEM_FIRE = 63,
|
||||||
SUMMON_TYPE_TOTEM_EARTH = 81,
|
SUMMON_TYPE_TOTEM_EARTH = 81,
|
||||||
SUMMON_TYPE_TOTEM_WATER = 82,
|
SUMMON_TYPE_TOTEM_WATER = 82,
|
||||||
SUMMON_TYPE_TOTEM_AIR = 83,
|
SUMMON_TYPE_TOTEM_AIR = 83
|
||||||
};
|
};
|
||||||
|
|
||||||
// delay time next attack to prevent client attack animation problems
|
// delay time next attack to prevent client attack animation problems
|
||||||
|
|||||||
@@ -437,7 +437,7 @@ void Vehicle::RemovePassenger(Unit* unit)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! Must be called after m_base::Relocate
|
//! Must be called after m_base::Relocate
|
||||||
void Vehicle::RelocatePassengers(float x, float y, float z, float ang)
|
void Vehicle::RelocatePassengers()
|
||||||
{
|
{
|
||||||
ASSERT(_me->GetMap());
|
ASSERT(_me->GetMap());
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ class Vehicle : public TransportBase
|
|||||||
bool AddPassenger(Unit* passenger, int8 seatId = -1);
|
bool AddPassenger(Unit* passenger, int8 seatId = -1);
|
||||||
void EjectPassenger(Unit* passenger, Unit* controller);
|
void EjectPassenger(Unit* passenger, Unit* controller);
|
||||||
void RemovePassenger(Unit* passenger);
|
void RemovePassenger(Unit* passenger);
|
||||||
void RelocatePassengers(float x, float y, float z, float ang);
|
void RelocatePassengers();
|
||||||
void RemoveAllPassengers();
|
void RemoveAllPassengers();
|
||||||
void Dismiss();
|
void Dismiss();
|
||||||
void TeleportVehicle(float x, float y, float z, float ang);
|
void TeleportVehicle(float x, float y, float z, float ang);
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ enum VehicleFlags
|
|||||||
VEHICLE_FLAG_FULLSPEEDPITCHING = 0x00000020, // Sets MOVEFLAG2_FULLSPEEDPITCHING
|
VEHICLE_FLAG_FULLSPEEDPITCHING = 0x00000020, // Sets MOVEFLAG2_FULLSPEEDPITCHING
|
||||||
VEHICLE_FLAG_CUSTOM_PITCH = 0x00000040, // If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2
|
VEHICLE_FLAG_CUSTOM_PITCH = 0x00000040, // If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2
|
||||||
VEHICLE_FLAG_ADJUST_AIM_ANGLE = 0x00000400, // Lua_IsVehicleAimAngleAdjustable
|
VEHICLE_FLAG_ADJUST_AIM_ANGLE = 0x00000400, // Lua_IsVehicleAimAngleAdjustable
|
||||||
VEHICLE_FLAG_ADJUST_AIM_POWER = 0x00000800, // Lua_IsVehicleAimPowerAdjustable
|
VEHICLE_FLAG_ADJUST_AIM_POWER = 0x00000800 // Lua_IsVehicleAimPowerAdjustable
|
||||||
};
|
};
|
||||||
|
|
||||||
enum VehicleSpells
|
enum VehicleSpells
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ enum GameEventState
|
|||||||
GAMEEVENT_WORLD_CONDITIONS = 2, // condition matching phase
|
GAMEEVENT_WORLD_CONDITIONS = 2, // condition matching phase
|
||||||
GAMEEVENT_WORLD_NEXTPHASE = 3, // conditions are met, now 'length' timer to start next event
|
GAMEEVENT_WORLD_NEXTPHASE = 3, // conditions are met, now 'length' timer to start next event
|
||||||
GAMEEVENT_WORLD_FINISHED = 4, // next events are started, unapply this one
|
GAMEEVENT_WORLD_FINISHED = 4, // next events are started, unapply this one
|
||||||
GAMEEVENT_INTERNAL = 5, // never handled in update
|
GAMEEVENT_INTERNAL = 5 // never handled in update
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GameEventFinishCondition
|
struct GameEventFinishCondition
|
||||||
|
|||||||
@@ -5607,7 +5607,7 @@ WorldSafeLocsEntry const* ObjectMgr::GetDefaultGraveYard(uint32 team)
|
|||||||
enum DefaultGraveyard
|
enum DefaultGraveyard
|
||||||
{
|
{
|
||||||
HORDE_GRAVEYARD = 10, // Crossroads
|
HORDE_GRAVEYARD = 10, // Crossroads
|
||||||
ALLIANCE_GRAVEYARD = 4, // Westfall
|
ALLIANCE_GRAVEYARD = 4 // Westfall
|
||||||
};
|
};
|
||||||
|
|
||||||
if (team == HORDE)
|
if (team == HORDE)
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ enum eScriptFlags
|
|||||||
SF_PLAYSOUND_DISTANCE_SOUND = 0x2,
|
SF_PLAYSOUND_DISTANCE_SOUND = 0x2,
|
||||||
|
|
||||||
// Orientation flags
|
// Orientation flags
|
||||||
SF_ORIENTATION_FACE_TARGET = 0x1,
|
SF_ORIENTATION_FACE_TARGET = 0x1
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ScriptInfo
|
struct ScriptInfo
|
||||||
@@ -536,7 +536,7 @@ enum SkillRangeType
|
|||||||
SKILL_RANGE_LEVEL, // 1..max skill for level
|
SKILL_RANGE_LEVEL, // 1..max skill for level
|
||||||
SKILL_RANGE_MONO, // 1..1, grey monolite bar
|
SKILL_RANGE_MONO, // 1..1, grey monolite bar
|
||||||
SKILL_RANGE_RANK, // 1..skill for known rank
|
SKILL_RANGE_RANK, // 1..skill for known rank
|
||||||
SKILL_RANGE_NONE, // 0..0 always
|
SKILL_RANGE_NONE // 0..0 always
|
||||||
};
|
};
|
||||||
|
|
||||||
SkillRangeType GetSkillRangeType(SkillLineEntry const* pSkill, bool racial);
|
SkillRangeType GetSkillRangeType(SkillLineEntry const* pSkill, bool racial);
|
||||||
@@ -561,7 +561,7 @@ LanguageDesc const* GetLanguageDescByID(uint32 lang);
|
|||||||
enum EncounterCreditType
|
enum EncounterCreditType
|
||||||
{
|
{
|
||||||
ENCOUNTER_CREDIT_KILL_CREATURE = 0,
|
ENCOUNTER_CREDIT_KILL_CREATURE = 0,
|
||||||
ENCOUNTER_CREDIT_CAST_SPELL = 1,
|
ENCOUNTER_CREDIT_CAST_SPELL = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
struct DungeonEncounter
|
struct DungeonEncounter
|
||||||
@@ -1285,7 +1285,7 @@ class ObjectMgr
|
|||||||
CREATURE_TO_CREATURE,
|
CREATURE_TO_CREATURE,
|
||||||
CREATURE_TO_GO, // Creature is dependant on GO
|
CREATURE_TO_GO, // Creature is dependant on GO
|
||||||
GO_TO_GO,
|
GO_TO_GO,
|
||||||
GO_TO_CREATURE, // GO is dependant on creature
|
GO_TO_CREATURE // GO is dependant on creature
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,12 @@ class NGrid
|
|||||||
public:
|
public:
|
||||||
typedef Grid<ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES> GridType;
|
typedef Grid<ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES> GridType;
|
||||||
NGrid(uint32 id, int32 x, int32 y, time_t expiry, bool unload = true)
|
NGrid(uint32 id, int32 x, int32 y, time_t expiry, bool unload = true)
|
||||||
: i_gridId(id), i_x(x), i_y(y), i_cellstate(GRID_STATE_INVALID), i_GridObjectDataLoaded(false), i_GridInfo(GridInfo(expiry, unload))
|
: i_gridId(id)
|
||||||
|
, i_GridInfo(GridInfo(expiry, unload))
|
||||||
|
, i_x(x)
|
||||||
|
, i_y(y)
|
||||||
|
, i_cellstate(GRID_STATE_INVALID)
|
||||||
|
, i_GridObjectDataLoaded(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,20 +66,20 @@ enum GroupMemberOnlineStatus
|
|||||||
MEMBER_STATUS_PVP_FFA = 0x0010, // Lua_UnitIsPVPFreeForAll
|
MEMBER_STATUS_PVP_FFA = 0x0010, // Lua_UnitIsPVPFreeForAll
|
||||||
MEMBER_STATUS_UNK3 = 0x0020, // used in calls from Lua_GetPlayerMapPosition/Lua_GetBattlefieldFlagPosition
|
MEMBER_STATUS_UNK3 = 0x0020, // used in calls from Lua_GetPlayerMapPosition/Lua_GetBattlefieldFlagPosition
|
||||||
MEMBER_STATUS_AFK = 0x0040, // Lua_UnitIsAFK
|
MEMBER_STATUS_AFK = 0x0040, // Lua_UnitIsAFK
|
||||||
MEMBER_STATUS_DND = 0x0080, // Lua_UnitIsDND
|
MEMBER_STATUS_DND = 0x0080 // Lua_UnitIsDND
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GroupMemberFlags
|
enum GroupMemberFlags
|
||||||
{
|
{
|
||||||
MEMBER_FLAG_ASSISTANT = 0x01,
|
MEMBER_FLAG_ASSISTANT = 0x01,
|
||||||
MEMBER_FLAG_MAINTANK = 0x02,
|
MEMBER_FLAG_MAINTANK = 0x02,
|
||||||
MEMBER_FLAG_MAINASSIST = 0x04,
|
MEMBER_FLAG_MAINASSIST = 0x04
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GroupMemberAssignment
|
enum GroupMemberAssignment
|
||||||
{
|
{
|
||||||
GROUP_ASSIGN_MAINTANK = 0,
|
GROUP_ASSIGN_MAINTANK = 0,
|
||||||
GROUP_ASSIGN_MAINASSIST = 1,
|
GROUP_ASSIGN_MAINASSIST = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GroupType
|
enum GroupType
|
||||||
@@ -89,7 +89,7 @@ enum GroupType
|
|||||||
GROUPTYPE_RAID = 0x02,
|
GROUPTYPE_RAID = 0x02,
|
||||||
GROUPTYPE_BGRAID = GROUPTYPE_BG | GROUPTYPE_RAID, // mask
|
GROUPTYPE_BGRAID = GROUPTYPE_BG | GROUPTYPE_RAID, // mask
|
||||||
GROUPTYPE_UNK1 = 0x04,
|
GROUPTYPE_UNK1 = 0x04,
|
||||||
GROUPTYPE_LFG = 0x08,
|
GROUPTYPE_LFG = 0x08
|
||||||
// 0x10, leave/change group?, I saw this flag when leaving group and after leaving BG while in group
|
// 0x10, leave/change group?, I saw this flag when leaving group and after leaving BG while in group
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ enum GroupUpdateFlags
|
|||||||
GROUP_UPDATE_FLAG_PET_AURAS = 0x00040000, // uint64 mask, for each bit set uint32 spellid + uint8 unk, pet auras...
|
GROUP_UPDATE_FLAG_PET_AURAS = 0x00040000, // uint64 mask, for each bit set uint32 spellid + uint8 unk, pet auras...
|
||||||
GROUP_UPDATE_FLAG_VEHICLE_SEAT = 0x00080000, // uint32 vehicle_seat_id (index from VehicleSeat.dbc)
|
GROUP_UPDATE_FLAG_VEHICLE_SEAT = 0x00080000, // uint32 vehicle_seat_id (index from VehicleSeat.dbc)
|
||||||
GROUP_UPDATE_PET = 0x0007FC00, // all pet flags
|
GROUP_UPDATE_PET = 0x0007FC00, // all pet flags
|
||||||
GROUP_UPDATE_FULL = 0x0007FFFF, // all known flags
|
GROUP_UPDATE_FULL = 0x0007FFFF // all known flags
|
||||||
};
|
};
|
||||||
|
|
||||||
#define GROUP_UPDATE_FLAGS_COUNT 20
|
#define GROUP_UPDATE_FLAGS_COUNT 20
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ enum GuildMisc
|
|||||||
GUILD_RANK_NONE = 0xFF,
|
GUILD_RANK_NONE = 0xFF,
|
||||||
GUILD_WITHDRAW_MONEY_UNLIMITED = 0xFFFFFFFF,
|
GUILD_WITHDRAW_MONEY_UNLIMITED = 0xFFFFFFFF,
|
||||||
GUILD_WITHDRAW_SLOT_UNLIMITED = 0xFFFFFFFF,
|
GUILD_WITHDRAW_SLOT_UNLIMITED = 0xFFFFFFFF,
|
||||||
GUILD_EVENT_LOG_GUID_UNDEFINED = 0xFFFFFFFF,
|
GUILD_EVENT_LOG_GUID_UNDEFINED = 0xFFFFFFFF
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GuildDefaultRanks
|
enum GuildDefaultRanks
|
||||||
@@ -47,7 +47,7 @@ enum GuildDefaultRanks
|
|||||||
GR_OFFICER = 1,
|
GR_OFFICER = 1,
|
||||||
GR_VETERAN = 2,
|
GR_VETERAN = 2,
|
||||||
GR_MEMBER = 3,
|
GR_MEMBER = 3,
|
||||||
GR_INITIATE = 4,
|
GR_INITIATE = 4
|
||||||
// When promoting member server does: rank--
|
// When promoting member server does: rank--
|
||||||
// When demoting member server does: rank++
|
// When demoting member server does: rank++
|
||||||
};
|
};
|
||||||
@@ -141,7 +141,7 @@ enum PetitionTurns
|
|||||||
{
|
{
|
||||||
PETITION_TURN_OK = 0,
|
PETITION_TURN_OK = 0,
|
||||||
PETITION_TURN_ALREADY_IN_GUILD = 2,
|
PETITION_TURN_ALREADY_IN_GUILD = 2,
|
||||||
PETITION_TURN_NEED_MORE_SIGNATURES = 4,
|
PETITION_TURN_NEED_MORE_SIGNATURES = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PetitionSigns
|
enum PetitionSigns
|
||||||
@@ -150,7 +150,7 @@ enum PetitionSigns
|
|||||||
PETITION_SIGN_ALREADY_SIGNED = 1,
|
PETITION_SIGN_ALREADY_SIGNED = 1,
|
||||||
PETITION_SIGN_ALREADY_IN_GUILD = 2,
|
PETITION_SIGN_ALREADY_IN_GUILD = 2,
|
||||||
PETITION_SIGN_CANT_SIGN_OWN = 3,
|
PETITION_SIGN_CANT_SIGN_OWN = 3,
|
||||||
PETITION_SIGN_NOT_SERVER = 4,
|
PETITION_SIGN_NOT_SERVER = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GuildBankRights
|
enum GuildBankRights
|
||||||
@@ -160,7 +160,7 @@ enum GuildBankRights
|
|||||||
GUILD_BANK_RIGHT_UPDATE_TEXT = 0x04,
|
GUILD_BANK_RIGHT_UPDATE_TEXT = 0x04,
|
||||||
|
|
||||||
GUILD_BANK_RIGHT_DEPOSIT_ITEM = GUILD_BANK_RIGHT_VIEW_TAB | GUILD_BANK_RIGHT_PUT_ITEM,
|
GUILD_BANK_RIGHT_DEPOSIT_ITEM = GUILD_BANK_RIGHT_VIEW_TAB | GUILD_BANK_RIGHT_PUT_ITEM,
|
||||||
GUILD_BANK_RIGHT_FULL = 0xFF,
|
GUILD_BANK_RIGHT_FULL = 0xFF
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GuildBankEventLogTypes
|
enum GuildBankEventLogTypes
|
||||||
@@ -173,7 +173,7 @@ enum GuildBankEventLogTypes
|
|||||||
GUILD_BANK_LOG_REPAIR_MONEY = 6,
|
GUILD_BANK_LOG_REPAIR_MONEY = 6,
|
||||||
GUILD_BANK_LOG_MOVE_ITEM2 = 7,
|
GUILD_BANK_LOG_MOVE_ITEM2 = 7,
|
||||||
GUILD_BANK_LOG_UNK1 = 8,
|
GUILD_BANK_LOG_UNK1 = 8,
|
||||||
GUILD_BANK_LOG_UNK2 = 9,
|
GUILD_BANK_LOG_UNK2 = 9
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GuildEventLogTypes
|
enum GuildEventLogTypes
|
||||||
@@ -183,7 +183,7 @@ enum GuildEventLogTypes
|
|||||||
GUILD_EVENT_LOG_PROMOTE_PLAYER = 3,
|
GUILD_EVENT_LOG_PROMOTE_PLAYER = 3,
|
||||||
GUILD_EVENT_LOG_DEMOTE_PLAYER = 4,
|
GUILD_EVENT_LOG_DEMOTE_PLAYER = 4,
|
||||||
GUILD_EVENT_LOG_UNINVITE_PLAYER = 5,
|
GUILD_EVENT_LOG_UNINVITE_PLAYER = 5,
|
||||||
GUILD_EVENT_LOG_LEAVE_GUILD = 6,
|
GUILD_EVENT_LOG_LEAVE_GUILD = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GuildEmblemError
|
enum GuildEmblemError
|
||||||
|
|||||||
@@ -1741,7 +1741,7 @@ void WorldSession::HandleHearthAndResurrect(WorldPacket& /*recv_data*/)
|
|||||||
if (_player->isInFlight())
|
if (_player->isInFlight())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(_player->GetZoneId()))
|
if (/*Battlefield* bf = */sBattlefieldMgr->GetBattlefieldToZoneId(_player->GetZoneId()))
|
||||||
{
|
{
|
||||||
// bf->PlayerAskToLeave(_player); FIXME
|
// bf->PlayerAskToLeave(_player); FIXME
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ enum StableResultCode
|
|||||||
STABLE_SUCCESS_STABLE = 0x08, // stable success
|
STABLE_SUCCESS_STABLE = 0x08, // stable success
|
||||||
STABLE_SUCCESS_UNSTABLE = 0x09, // unstable/swap success
|
STABLE_SUCCESS_UNSTABLE = 0x09, // unstable/swap success
|
||||||
STABLE_SUCCESS_BUY_SLOT = 0x0A, // buy slot success
|
STABLE_SUCCESS_BUY_SLOT = 0x0A, // buy slot success
|
||||||
STABLE_ERR_EXOTIC = 0x0C, // "you are unable to control exotic creatures"
|
STABLE_ERR_EXOTIC = 0x0C // "you are unable to control exotic creatures"
|
||||||
};
|
};
|
||||||
|
|
||||||
void WorldSession::HandleTabardVendorActivateOpcode(WorldPacket & recv_data)
|
void WorldSession::HandleTabardVendorActivateOpcode(WorldPacket & recv_data)
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ enum EncounterFrameType
|
|||||||
ENCOUNTER_FRAME_ENABLE_OBJECTIVE = 4,
|
ENCOUNTER_FRAME_ENABLE_OBJECTIVE = 4,
|
||||||
ENCOUNTER_FRAME_UPDATE_OBJECTIVE = 5,
|
ENCOUNTER_FRAME_UPDATE_OBJECTIVE = 5,
|
||||||
ENCOUNTER_FRAME_DISABLE_OBJECTIVE = 6,
|
ENCOUNTER_FRAME_DISABLE_OBJECTIVE = 6,
|
||||||
ENCOUNTER_FRAME_UNK7 = 7, // Seems to have something to do with sorting the encounter units
|
ENCOUNTER_FRAME_UNK7 = 7 // Seems to have something to do with sorting the encounter units
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EncounterState
|
enum EncounterState
|
||||||
@@ -59,7 +59,7 @@ enum EncounterState
|
|||||||
FAIL = 2,
|
FAIL = 2,
|
||||||
DONE = 3,
|
DONE = 3,
|
||||||
SPECIAL = 4,
|
SPECIAL = 4,
|
||||||
TO_BE_DECIDED = 5,
|
TO_BE_DECIDED = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
enum DoorType
|
enum DoorType
|
||||||
@@ -67,7 +67,7 @@ enum DoorType
|
|||||||
DOOR_TYPE_ROOM = 0, // Door can open if encounter is not in progress
|
DOOR_TYPE_ROOM = 0, // Door can open if encounter is not in progress
|
||||||
DOOR_TYPE_PASSAGE = 1, // Door can open if encounter is done
|
DOOR_TYPE_PASSAGE = 1, // Door can open if encounter is done
|
||||||
DOOR_TYPE_SPAWN_HOLE = 2, // Door can open if encounter is in progress, typically used for spawning places
|
DOOR_TYPE_SPAWN_HOLE = 2, // Door can open if encounter is in progress, typically used for spawning places
|
||||||
MAX_DOOR_TYPES,
|
MAX_DOOR_TYPES
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BoundaryType
|
enum BoundaryType
|
||||||
@@ -84,7 +84,7 @@ enum BoundaryType
|
|||||||
BOUNDARY_MAX_X = BOUNDARY_N,
|
BOUNDARY_MAX_X = BOUNDARY_N,
|
||||||
BOUNDARY_MIN_X = BOUNDARY_S,
|
BOUNDARY_MIN_X = BOUNDARY_S,
|
||||||
BOUNDARY_MAX_Y = BOUNDARY_W,
|
BOUNDARY_MAX_Y = BOUNDARY_W,
|
||||||
BOUNDARY_MIN_Y = BOUNDARY_E,
|
BOUNDARY_MIN_Y = BOUNDARY_E
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::map<BoundaryType, float> BossBoundaryMap;
|
typedef std::map<BoundaryType, float> BossBoundaryMap;
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ enum PermissionTypes
|
|||||||
MASTER_PERMISSION = 2,
|
MASTER_PERMISSION = 2,
|
||||||
ROUND_ROBIN_PERMISSION = 3,
|
ROUND_ROBIN_PERMISSION = 3,
|
||||||
OWNER_PERMISSION = 4,
|
OWNER_PERMISSION = 4,
|
||||||
NONE_PERMISSION = 5,
|
NONE_PERMISSION = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
enum LootType
|
enum LootType
|
||||||
@@ -94,7 +94,7 @@ enum LootSlotType
|
|||||||
LOOT_SLOT_TYPE_ROLL_ONGOING = 1, // roll is ongoing. player cannot loot.
|
LOOT_SLOT_TYPE_ROLL_ONGOING = 1, // roll is ongoing. player cannot loot.
|
||||||
LOOT_SLOT_TYPE_MASTER = 2, // item can only be distributed by group loot master.
|
LOOT_SLOT_TYPE_MASTER = 2, // item can only be distributed by group loot master.
|
||||||
LOOT_SLOT_TYPE_LOCKED = 3, // item is shown in red. player cannot loot.
|
LOOT_SLOT_TYPE_LOCKED = 3, // item is shown in red. player cannot loot.
|
||||||
LOOT_SLOT_TYPE_OWNER = 4, // ignore binding confirmation and etc, for single player looting
|
LOOT_SLOT_TYPE_OWNER = 4 // ignore binding confirmation and etc, for single player looting
|
||||||
};
|
};
|
||||||
|
|
||||||
class Player;
|
class Player;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ enum MailMessageType
|
|||||||
MAIL_AUCTION = 2,
|
MAIL_AUCTION = 2,
|
||||||
MAIL_CREATURE = 3, // client send CMSG_CREATURE_QUERY on this mailmessagetype
|
MAIL_CREATURE = 3, // client send CMSG_CREATURE_QUERY on this mailmessagetype
|
||||||
MAIL_GAMEOBJECT = 4, // client send CMSG_GAMEOBJECT_QUERY on this mailmessagetype
|
MAIL_GAMEOBJECT = 4, // client send CMSG_GAMEOBJECT_QUERY on this mailmessagetype
|
||||||
MAIL_ITEM = 5, // client send CMSG_ITEM_QUERY on this mailmessagetype
|
MAIL_ITEM = 5 // client send CMSG_ITEM_QUERY on this mailmessagetype
|
||||||
};
|
};
|
||||||
|
|
||||||
enum MailCheckMask
|
enum MailCheckMask
|
||||||
@@ -46,7 +46,7 @@ enum MailCheckMask
|
|||||||
MAIL_CHECK_MASK_RETURNED = 0x02, /// This mail was returned. Do not allow returning mail back again.
|
MAIL_CHECK_MASK_RETURNED = 0x02, /// This mail was returned. Do not allow returning mail back again.
|
||||||
MAIL_CHECK_MASK_COPIED = 0x04, /// This mail was copied. Do not allow making a copy of items in mail.
|
MAIL_CHECK_MASK_COPIED = 0x04, /// This mail was copied. Do not allow making a copy of items in mail.
|
||||||
MAIL_CHECK_MASK_COD_PAYMENT = 0x08,
|
MAIL_CHECK_MASK_COD_PAYMENT = 0x08,
|
||||||
MAIL_CHECK_MASK_HAS_BODY = 0x10, /// This mail has body text.
|
MAIL_CHECK_MASK_HAS_BODY = 0x10 /// This mail has body text.
|
||||||
};
|
};
|
||||||
|
|
||||||
// gathered from Stationery.dbc
|
// gathered from Stationery.dbc
|
||||||
@@ -58,7 +58,7 @@ enum MailStationery
|
|||||||
MAIL_STATIONERY_AUCTION = 62,
|
MAIL_STATIONERY_AUCTION = 62,
|
||||||
MAIL_STATIONERY_VAL = 64, // Valentine
|
MAIL_STATIONERY_VAL = 64, // Valentine
|
||||||
MAIL_STATIONERY_CHR = 65, // Christmas
|
MAIL_STATIONERY_CHR = 65, // Christmas
|
||||||
MAIL_STATIONERY_ORP = 67, // Orphan
|
MAIL_STATIONERY_ORP = 67 // Orphan
|
||||||
};
|
};
|
||||||
|
|
||||||
enum MailState
|
enum MailState
|
||||||
@@ -74,7 +74,7 @@ enum MailShowFlags
|
|||||||
MAIL_SHOW_DELETE = 0x0002, // forced show delete button instead return button
|
MAIL_SHOW_DELETE = 0x0002, // forced show delete button instead return button
|
||||||
MAIL_SHOW_AUCTION = 0x0004, // from old comment
|
MAIL_SHOW_AUCTION = 0x0004, // from old comment
|
||||||
MAIL_SHOW_UNK2 = 0x0008, // unknown, COD will be shown even without that flag
|
MAIL_SHOW_UNK2 = 0x0008, // unknown, COD will be shown even without that flag
|
||||||
MAIL_SHOW_RETURN = 0x0010,
|
MAIL_SHOW_RETURN = 0x0010
|
||||||
};
|
};
|
||||||
|
|
||||||
class MailSender
|
class MailSender
|
||||||
|
|||||||
@@ -727,7 +727,7 @@ void Map::PlayerRelocation(Player* player, float x, float y, float z, float orie
|
|||||||
|
|
||||||
player->Relocate(x, y, z, orientation);
|
player->Relocate(x, y, z, orientation);
|
||||||
if (player->IsVehicle())
|
if (player->IsVehicle())
|
||||||
player->GetVehicleKit()->RelocatePassengers(x, y, z, orientation);
|
player->GetVehicleKit()->RelocatePassengers();
|
||||||
|
|
||||||
if (old_cell.DiffGrid(new_cell) || old_cell.DiffCell(new_cell))
|
if (old_cell.DiffGrid(new_cell) || old_cell.DiffCell(new_cell))
|
||||||
{
|
{
|
||||||
@@ -773,7 +773,7 @@ void Map::CreatureRelocation(Creature* creature, float x, float y, float z, floa
|
|||||||
{
|
{
|
||||||
creature->Relocate(x, y, z, ang);
|
creature->Relocate(x, y, z, ang);
|
||||||
if (creature->IsVehicle())
|
if (creature->IsVehicle())
|
||||||
creature->GetVehicleKit()->RelocatePassengers(x, y, z, ang);
|
creature->GetVehicleKit()->RelocatePassengers();
|
||||||
creature->UpdateObjectVisibility(false);
|
creature->UpdateObjectVisibility(false);
|
||||||
RemoveCreatureFromMoveList(creature);
|
RemoveCreatureFromMoveList(creature);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1070,7 +1070,7 @@ enum TrinityStrings
|
|||||||
|
|
||||||
// Use for custom patches 11000-11999
|
// Use for custom patches 11000-11999
|
||||||
LANG_AUTO_BROADCAST = 11000,
|
LANG_AUTO_BROADCAST = 11000,
|
||||||
LANG_INVALID_REALMID = 11001,
|
LANG_INVALID_REALMID = 11001
|
||||||
|
|
||||||
// NOT RESERVED IDS 12000-1999999999
|
// NOT RESERVED IDS 12000-1999999999
|
||||||
// `db_script_string` table index 2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID)
|
// `db_script_string` table index 2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ enum SpellEffIndex
|
|||||||
{
|
{
|
||||||
EFFECT_0 = 0,
|
EFFECT_0 = 0,
|
||||||
EFFECT_1 = 1,
|
EFFECT_1 = 1,
|
||||||
EFFECT_2 = 2,
|
EFFECT_2 = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
// used in script definitions
|
// used in script definitions
|
||||||
@@ -125,7 +125,7 @@ enum UnitClass
|
|||||||
UNIT_CLASS_WARRIOR = 1,
|
UNIT_CLASS_WARRIOR = 1,
|
||||||
UNIT_CLASS_PALADIN = 2,
|
UNIT_CLASS_PALADIN = 2,
|
||||||
UNIT_CLASS_ROGUE = 4,
|
UNIT_CLASS_ROGUE = 4,
|
||||||
UNIT_CLASS_MAGE = 8,
|
UNIT_CLASS_MAGE = 8
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CLASSMASK_ALL_CREATURES ((1<<(UNIT_CLASS_WARRIOR-1)) | (1<<(UNIT_CLASS_PALADIN-1)) | (1<<(UNIT_CLASS_ROGUE-1)) | (1<<(UNIT_CLASS_MAGE-1)))
|
#define CLASSMASK_ALL_CREATURES ((1<<(UNIT_CLASS_WARRIOR-1)) | (1<<(UNIT_CLASS_PALADIN-1)) | (1<<(UNIT_CLASS_ROGUE-1)) | (1<<(UNIT_CLASS_MAGE-1)))
|
||||||
@@ -246,7 +246,7 @@ enum ItemQualities
|
|||||||
enum SpellCategory
|
enum SpellCategory
|
||||||
{
|
{
|
||||||
SPELL_CATEGORY_FOOD = 11,
|
SPELL_CATEGORY_FOOD = 11,
|
||||||
SPELL_CATEGORY_DRINK = 59,
|
SPELL_CATEGORY_DRINK = 59
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint32 ItemQualityColors[MAX_ITEM_QUALITY] =
|
const uint32 ItemQualityColors[MAX_ITEM_QUALITY] =
|
||||||
@@ -573,7 +573,7 @@ enum SpellClickCastFlags
|
|||||||
{
|
{
|
||||||
NPC_CLICK_CAST_CASTER_CLICKER = 0x01,
|
NPC_CLICK_CAST_CASTER_CLICKER = 0x01,
|
||||||
NPC_CLICK_CAST_TARGET_CLICKER = 0x02,
|
NPC_CLICK_CAST_TARGET_CLICKER = 0x02,
|
||||||
NPC_CLICK_CAST_ORIG_CASTER_OWNER = 0x04,
|
NPC_CLICK_CAST_ORIG_CASTER_OWNER = 0x04
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SheathTypes
|
enum SheathTypes
|
||||||
@@ -643,7 +643,7 @@ enum TeamId
|
|||||||
{
|
{
|
||||||
TEAM_ALLIANCE = 0,
|
TEAM_ALLIANCE = 0,
|
||||||
TEAM_HORDE,
|
TEAM_HORDE,
|
||||||
TEAM_NEUTRAL,
|
TEAM_NEUTRAL
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Team
|
enum Team
|
||||||
@@ -655,7 +655,7 @@ enum Team
|
|||||||
//TEAM_HORDE_FORCES = 892,
|
//TEAM_HORDE_FORCES = 892,
|
||||||
//TEAM_SANCTUARY = 936,
|
//TEAM_SANCTUARY = 936,
|
||||||
//TEAM_OUTLAND = 980,
|
//TEAM_OUTLAND = 980,
|
||||||
TEAM_OTHER = 0, // if ReputationListId > 0 && Flags != FACTION_FLAG_TEAM_HEADER
|
TEAM_OTHER = 0 // if ReputationListId > 0 && Flags != FACTION_FLAG_TEAM_HEADER
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellEffects
|
enum SpellEffects
|
||||||
@@ -1122,7 +1122,7 @@ enum SpellCustomErrors
|
|||||||
SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_RECRUITS = 96, // You already have the max number of recruits.
|
SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_RECRUITS = 96, // You already have the max number of recruits.
|
||||||
SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_VOLUNTEERS = 97, // You already have the max number of volunteers.
|
SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_VOLUNTEERS = 97, // You already have the max number of volunteers.
|
||||||
SPELL_CUSTOM_ERROR_FROSTMOURNE_RENDERED_RESSURECT = 98, // Frostmourne has rendered you unable to ressurect.
|
SPELL_CUSTOM_ERROR_FROSTMOURNE_RENDERED_RESSURECT = 98, // Frostmourne has rendered you unable to ressurect.
|
||||||
SPELL_CUSTOM_ERROR_CANT_MOUNT_WITH_SHAPESHIFT = 99, // You can't mount while affected by that shapeshift.
|
SPELL_CUSTOM_ERROR_CANT_MOUNT_WITH_SHAPESHIFT = 99 // You can't mount while affected by that shapeshift.
|
||||||
};
|
};
|
||||||
|
|
||||||
enum StealthType
|
enum StealthType
|
||||||
@@ -1193,7 +1193,7 @@ enum AuraStateType
|
|||||||
//AURA_STATE_UNKNOWN20 = 20, // c | only (45317 Suicide)
|
//AURA_STATE_UNKNOWN20 = 20, // c | only (45317 Suicide)
|
||||||
//AURA_STATE_UNKNOWN21 = 21, // | not used
|
//AURA_STATE_UNKNOWN21 = 21, // | not used
|
||||||
AURA_STATE_UNKNOWN22 = 22, // C t| varius spells (63884, 50240)
|
AURA_STATE_UNKNOWN22 = 22, // C t| varius spells (63884, 50240)
|
||||||
AURA_STATE_HEALTH_ABOVE_75_PERCENT = 23, // C |
|
AURA_STATE_HEALTH_ABOVE_75_PERCENT = 23 // C |
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PER_CASTER_AURA_STATE_MASK (\
|
#define PER_CASTER_AURA_STATE_MASK (\
|
||||||
@@ -1486,7 +1486,7 @@ enum GameObjectFlags
|
|||||||
GO_FLAG_NODESPAWN = 0x00000020, // never despawn, typically for doors, they just change state
|
GO_FLAG_NODESPAWN = 0x00000020, // never despawn, typically for doors, they just change state
|
||||||
GO_FLAG_TRIGGERED = 0x00000040, // typically, summoned objects. Triggered by spell or other events
|
GO_FLAG_TRIGGERED = 0x00000040, // typically, summoned objects. Triggered by spell or other events
|
||||||
GO_FLAG_DAMAGED = 0x00000200,
|
GO_FLAG_DAMAGED = 0x00000200,
|
||||||
GO_FLAG_DESTROYED = 0x00000400,
|
GO_FLAG_DESTROYED = 0x00000400
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GameObjectDynamicLowFlags
|
enum GameObjectDynamicLowFlags
|
||||||
@@ -1494,7 +1494,7 @@ enum GameObjectDynamicLowFlags
|
|||||||
GO_DYNFLAG_LO_ACTIVATE = 0x01, // enables interaction with GO
|
GO_DYNFLAG_LO_ACTIVATE = 0x01, // enables interaction with GO
|
||||||
GO_DYNFLAG_LO_ANIMATE = 0x02, // possibly more distinct animation of GO
|
GO_DYNFLAG_LO_ANIMATE = 0x02, // possibly more distinct animation of GO
|
||||||
GO_DYNFLAG_LO_NO_INTERACT = 0x04, // appears to disable interaction (not fully verified)
|
GO_DYNFLAG_LO_NO_INTERACT = 0x04, // appears to disable interaction (not fully verified)
|
||||||
GO_DYNFLAG_LO_SPARKLE = 0x08, // makes GO sparkle
|
GO_DYNFLAG_LO_SPARKLE = 0x08 // makes GO sparkle
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GameObjectDestructibleState
|
enum GameObjectDestructibleState
|
||||||
@@ -1502,7 +1502,7 @@ enum GameObjectDestructibleState
|
|||||||
GO_DESTRUCTIBLE_INTACT = 0,
|
GO_DESTRUCTIBLE_INTACT = 0,
|
||||||
GO_DESTRUCTIBLE_DAMAGED = 1,
|
GO_DESTRUCTIBLE_DAMAGED = 1,
|
||||||
GO_DESTRUCTIBLE_DESTROYED = 2,
|
GO_DESTRUCTIBLE_DESTROYED = 2,
|
||||||
GO_DESTRUCTIBLE_REBUILDING = 3,
|
GO_DESTRUCTIBLE_REBUILDING = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
// EmotesText.dbc
|
// EmotesText.dbc
|
||||||
@@ -1759,7 +1759,7 @@ enum TextEmotes
|
|||||||
TEXT_EMOTE_LOOK = 449,
|
TEXT_EMOTE_LOOK = 449,
|
||||||
TEXT_EMOTE_OBJECT = 450,
|
TEXT_EMOTE_OBJECT = 450,
|
||||||
TEXT_EMOTE_SWEAT = 451,
|
TEXT_EMOTE_SWEAT = 451,
|
||||||
TEXT_EMOTE_YW = 453,
|
TEXT_EMOTE_YW = 453
|
||||||
};
|
};
|
||||||
|
|
||||||
// Emotes.dbc
|
// Emotes.dbc
|
||||||
@@ -2596,7 +2596,7 @@ enum CreatureTypeFlags
|
|||||||
CREATURE_TYPEFLAGS_UNK28 = 0x10000000,
|
CREATURE_TYPEFLAGS_UNK28 = 0x10000000,
|
||||||
CREATURE_TYPEFLAGS_UNK29 = 0x20000000,
|
CREATURE_TYPEFLAGS_UNK29 = 0x20000000,
|
||||||
CREATURE_TYPEFLAGS_UNK30 = 0x40000000,
|
CREATURE_TYPEFLAGS_UNK30 = 0x40000000,
|
||||||
CREATURE_TYPEFLAGS_UNK31 = 0x80000000,
|
CREATURE_TYPEFLAGS_UNK31 = 0x80000000
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CreatureEliteType
|
enum CreatureEliteType
|
||||||
@@ -2701,7 +2701,7 @@ enum QuestSort
|
|||||||
QUEST_SORT_JEWELCRAFTING = 373,
|
QUEST_SORT_JEWELCRAFTING = 373,
|
||||||
QUEST_SORT_NOBLEGARDEN = 374,
|
QUEST_SORT_NOBLEGARDEN = 374,
|
||||||
QUEST_SORT_PILGRIMS_BOUNTY = 375,
|
QUEST_SORT_PILGRIMS_BOUNTY = 375,
|
||||||
QUEST_SORT_LOVE_IS_IN_THE_AIR = 376,
|
QUEST_SORT_LOVE_IS_IN_THE_AIR = 376
|
||||||
};
|
};
|
||||||
|
|
||||||
inline uint8 ClassByQuestSort(int32 QuestSort)
|
inline uint8 ClassByQuestSort(int32 QuestSort)
|
||||||
@@ -3086,7 +3086,7 @@ enum AiReaction
|
|||||||
AI_REACTION_FRIENDLY = 1, // (NOT used in client packet handler)
|
AI_REACTION_FRIENDLY = 1, // (NOT used in client packet handler)
|
||||||
AI_REACTION_HOSTILE = 2, // sent on every attack, triggers aggro sound (used in client packet handler)
|
AI_REACTION_HOSTILE = 2, // sent on every attack, triggers aggro sound (used in client packet handler)
|
||||||
AI_REACTION_AFRAID = 3, // seen for polymorph (when AI not in control of self?) (NOT used in client packet handler)
|
AI_REACTION_AFRAID = 3, // seen for polymorph (when AI not in control of self?) (NOT used in client packet handler)
|
||||||
AI_REACTION_DESTROY = 4, // used on object destroy (NOT used in client packet handler)
|
AI_REACTION_DESTROY = 4 // used on object destroy (NOT used in client packet handler)
|
||||||
};
|
};
|
||||||
|
|
||||||
// Diminishing Returns Types
|
// Diminishing Returns Types
|
||||||
@@ -3120,7 +3120,7 @@ enum DiminishingGroup
|
|||||||
DIMINISHING_SLEEP = 17,
|
DIMINISHING_SLEEP = 17,
|
||||||
DIMINISHING_TAUNT = 18,
|
DIMINISHING_TAUNT = 18,
|
||||||
DIMINISHING_LIMITONLY = 19,
|
DIMINISHING_LIMITONLY = 19,
|
||||||
DIMINISHING_DRAGONS_BREATH = 20,
|
DIMINISHING_DRAGONS_BREATH = 20
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SummonCategory
|
enum SummonCategory
|
||||||
@@ -3130,7 +3130,7 @@ enum SummonCategory
|
|||||||
SUMMON_CATEGORY_PET = 2,
|
SUMMON_CATEGORY_PET = 2,
|
||||||
SUMMON_CATEGORY_PUPPET = 3,
|
SUMMON_CATEGORY_PUPPET = 3,
|
||||||
SUMMON_CATEGORY_VEHICLE = 4,
|
SUMMON_CATEGORY_VEHICLE = 4,
|
||||||
SUMMON_CATEGORY_UNK = 5, // as of patch 3.3.5a only Bone Spike in Icecrown Citadel
|
SUMMON_CATEGORY_UNK = 5 // as of patch 3.3.5a only Bone Spike in Icecrown Citadel
|
||||||
// uses this category
|
// uses this category
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -3147,12 +3147,12 @@ enum SummonType
|
|||||||
SUMMON_TYPE_WILD3 = 8,
|
SUMMON_TYPE_WILD3 = 8,
|
||||||
SUMMON_TYPE_VEHICLE = 9,
|
SUMMON_TYPE_VEHICLE = 9,
|
||||||
SUMMON_TYPE_VEHICLE2 = 10,
|
SUMMON_TYPE_VEHICLE2 = 10,
|
||||||
SUMMON_TYPE_OBJECT = 11,
|
SUMMON_TYPE_OBJECT = 11
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EventId
|
enum EventId
|
||||||
{
|
{
|
||||||
EVENT_CHARGE = 1003,
|
EVENT_CHARGE = 1003
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ResponseCodes
|
enum ResponseCodes
|
||||||
@@ -3336,7 +3336,7 @@ enum MailResponseResult
|
|||||||
MAIL_ERR_MAIL_AND_CHAT_SUSPENDED = 17,
|
MAIL_ERR_MAIL_AND_CHAT_SUSPENDED = 17,
|
||||||
MAIL_ERR_TOO_MANY_ATTACHMENTS = 18,
|
MAIL_ERR_TOO_MANY_ATTACHMENTS = 18,
|
||||||
MAIL_ERR_MAIL_ATTACHMENT_INVALID = 19,
|
MAIL_ERR_MAIL_ATTACHMENT_INVALID = 19,
|
||||||
MAIL_ERR_ITEM_HAS_EXPIRED = 21,
|
MAIL_ERR_ITEM_HAS_EXPIRED = 21
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellFamilyNames
|
enum SpellFamilyNames
|
||||||
@@ -3402,7 +3402,7 @@ enum RemoveMethod
|
|||||||
{
|
{
|
||||||
GROUP_REMOVEMETHOD_DEFAULT = 0,
|
GROUP_REMOVEMETHOD_DEFAULT = 0,
|
||||||
GROUP_REMOVEMETHOD_KICK = 1,
|
GROUP_REMOVEMETHOD_KICK = 1,
|
||||||
GROUP_REMOVEMETHOD_LEAVE = 2,
|
GROUP_REMOVEMETHOD_LEAVE = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ActivateTaxiReply
|
enum ActivateTaxiReply
|
||||||
@@ -3429,7 +3429,7 @@ enum CalendarFlags
|
|||||||
CALENDAR_FLAG_ALL_ALLOWED = 0x001,
|
CALENDAR_FLAG_ALL_ALLOWED = 0x001,
|
||||||
CALENDAR_FLAG_INVITES_LOCKED = 0x010,
|
CALENDAR_FLAG_INVITES_LOCKED = 0x010,
|
||||||
CALENDAR_FLAG_WITHOUT_INVITES = 0x040,
|
CALENDAR_FLAG_WITHOUT_INVITES = 0x040,
|
||||||
CALENDAR_FLAG_GUILD_ONLY = 0x400,
|
CALENDAR_FLAG_GUILD_ONLY = 0x400
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CalendarActionData
|
enum CalendarActionData
|
||||||
@@ -3443,21 +3443,21 @@ enum CalendarActionData
|
|||||||
CALENDAR_ACTION_MODIFY_EVENT_INVITE,
|
CALENDAR_ACTION_MODIFY_EVENT_INVITE,
|
||||||
CALENDAR_ACTION_MODIFY_MODERATOR_EVENT_INVITE,
|
CALENDAR_ACTION_MODIFY_MODERATOR_EVENT_INVITE,
|
||||||
CALENDAR_ACTION_REMOVE_EVENT_INVITE,
|
CALENDAR_ACTION_REMOVE_EVENT_INVITE,
|
||||||
CALENDAR_ACTION_SIGNUP_TO_EVENT,
|
CALENDAR_ACTION_SIGNUP_TO_EVENT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CalendarModerationRank
|
enum CalendarModerationRank
|
||||||
{
|
{
|
||||||
CALENDAR_RANK_PLAYER,
|
CALENDAR_RANK_PLAYER,
|
||||||
CALENDAR_RANK_MODERATOR,
|
CALENDAR_RANK_MODERATOR,
|
||||||
CALENDAR_RANK_OWNER,
|
CALENDAR_RANK_OWNER
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CalendarSendEventType
|
enum CalendarSendEventType
|
||||||
{
|
{
|
||||||
CALENDAR_SENDTYPE_GET,
|
CALENDAR_SENDTYPE_GET,
|
||||||
CALENDAR_SENDTYPE_ADD,
|
CALENDAR_SENDTYPE_ADD,
|
||||||
CALENDAR_SENDTYPE_COPY,
|
CALENDAR_SENDTYPE_COPY
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CalendarEventType
|
enum CalendarEventType
|
||||||
@@ -3466,7 +3466,7 @@ enum CalendarEventType
|
|||||||
CALENDAR_TYPE_DUNGEON,
|
CALENDAR_TYPE_DUNGEON,
|
||||||
CALENDAR_TYPE_PVP,
|
CALENDAR_TYPE_PVP,
|
||||||
CALENDAR_TYPE_MEETING,
|
CALENDAR_TYPE_MEETING,
|
||||||
CALENDAR_TYPE_OTHER,
|
CALENDAR_TYPE_OTHER
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CalendarInviteStatus
|
enum CalendarInviteStatus
|
||||||
@@ -3480,7 +3480,7 @@ enum CalendarInviteStatus
|
|||||||
CALENDAR_STATUS_CONFIRMED,
|
CALENDAR_STATUS_CONFIRMED,
|
||||||
CALENDAR_STATUS_NO_OWNER,
|
CALENDAR_STATUS_NO_OWNER,
|
||||||
CALENDAR_STATUS_8,
|
CALENDAR_STATUS_8,
|
||||||
CALENDAR_STATUS_9,
|
CALENDAR_STATUS_9
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CalendarError
|
enum CalendarError
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ enum MovementGeneratorType
|
|||||||
FOLLOW_MOTION_TYPE = 14,
|
FOLLOW_MOTION_TYPE = 14,
|
||||||
ROTATE_MOTION_TYPE = 15,
|
ROTATE_MOTION_TYPE = 15,
|
||||||
EFFECT_MOTION_TYPE = 16,
|
EFFECT_MOTION_TYPE = 16,
|
||||||
NULL_MOTION_TYPE = 17,
|
NULL_MOTION_TYPE = 17
|
||||||
};
|
};
|
||||||
|
|
||||||
enum MovementSlot
|
enum MovementSlot
|
||||||
@@ -60,7 +60,7 @@ enum MovementSlot
|
|||||||
MOTION_SLOT_IDLE,
|
MOTION_SLOT_IDLE,
|
||||||
MOTION_SLOT_ACTIVE,
|
MOTION_SLOT_ACTIVE,
|
||||||
MOTION_SLOT_CONTROLLED,
|
MOTION_SLOT_CONTROLLED,
|
||||||
MAX_MOTION_SLOT,
|
MAX_MOTION_SLOT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum MMCleanFlag
|
enum MMCleanFlag
|
||||||
@@ -73,7 +73,7 @@ enum MMCleanFlag
|
|||||||
enum RotateDirection
|
enum RotateDirection
|
||||||
{
|
{
|
||||||
ROTATE_DIRECTION_LEFT,
|
ROTATE_DIRECTION_LEFT,
|
||||||
ROTATE_DIRECTION_RIGHT,
|
ROTATE_DIRECTION_RIGHT
|
||||||
};
|
};
|
||||||
|
|
||||||
// assume it is 25 yard per 0.6 second
|
// assume it is 25 yard per 0.6 second
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ struct FallInitializer
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum{
|
enum{
|
||||||
minimal_duration = 1,
|
minimal_duration = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CommonInitializer
|
struct CommonInitializer
|
||||||
@@ -218,7 +218,7 @@ bool MoveSplineInitArgs::_checkPathBounds() const
|
|||||||
if (!(flags & MoveSplineFlag::Mask_CatmullRom) && path.size() > 2)
|
if (!(flags & MoveSplineFlag::Mask_CatmullRom) && path.size() > 2)
|
||||||
{
|
{
|
||||||
enum{
|
enum{
|
||||||
MAX_OFFSET = (1 << 11) / 2,
|
MAX_OFFSET = (1 << 11) / 2
|
||||||
};
|
};
|
||||||
Vector3 middle = (path.front()+path.back()) / 2;
|
Vector3 middle = (path.front()+path.back()) / 2;
|
||||||
Vector3 offset;
|
Vector3 offset;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ namespace Movement
|
|||||||
Result_None = 0x01,
|
Result_None = 0x01,
|
||||||
Result_Arrived = 0x02,
|
Result_Arrived = 0x02,
|
||||||
Result_NextCycle = 0x04,
|
Result_NextCycle = 0x04,
|
||||||
Result_NextSegment = 0x08,
|
Result_NextSegment = 0x08
|
||||||
};
|
};
|
||||||
friend class PacketBuilder;
|
friend class PacketBuilder;
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ namespace Movement
|
|||||||
// CatmullRom interpolation mode used
|
// CatmullRom interpolation mode used
|
||||||
Mask_CatmullRom = Flying | Catmullrom,
|
Mask_CatmullRom = Flying | Catmullrom,
|
||||||
// Unused, not suported flags
|
// Unused, not suported flags
|
||||||
Mask_Unused = No_Spline|Enter_Cycle|Frozen|Unknown7|Unknown8|Unknown10|Unknown11|Unknown12|Unknown13,
|
Mask_Unused = No_Spline|Enter_Cycle|Frozen|Unknown7|Unknown8|Unknown10|Unknown11|Unknown12|Unknown13
|
||||||
};
|
};
|
||||||
|
|
||||||
inline uint32& raw() { return (uint32&)*this;}
|
inline uint32& raw() { return (uint32&)*this;}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace Movement
|
|||||||
ToGround = 0, // 460 = ToGround, index of AnimationData.dbc
|
ToGround = 0, // 460 = ToGround, index of AnimationData.dbc
|
||||||
FlyToFly = 1, // 461 = FlyToFly?
|
FlyToFly = 1, // 461 = FlyToFly?
|
||||||
ToFly = 2, // 458 = ToFly
|
ToFly = 2, // 458 = ToFly
|
||||||
FlyToGround = 3, // 463 = FlyToGround
|
FlyToGround = 3 // 463 = FlyToGround
|
||||||
};
|
};
|
||||||
|
|
||||||
// Transforms coordinates from global to transport offsets
|
// Transforms coordinates from global to transport offsets
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ protected:
|
|||||||
// lesser value saves more performance in cost of lover precision
|
// lesser value saves more performance in cost of lover precision
|
||||||
// minimal value is 1
|
// minimal value is 1
|
||||||
// client's value is 20, blizzs use 2-3 steps to compute length
|
// client's value is 20, blizzs use 2-3 steps to compute length
|
||||||
STEPS_PER_SEGMENT = 3,
|
STEPS_PER_SEGMENT = 3
|
||||||
};
|
};
|
||||||
static_assert(STEPS_PER_SEGMENT > 0, "shouldn't be lesser than 1");
|
static_assert(STEPS_PER_SEGMENT > 0, "shouldn't be lesser than 1");
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
#include "CellImpl.h"
|
#include "CellImpl.h"
|
||||||
|
|
||||||
OPvPCapturePoint::OPvPCapturePoint(OutdoorPvP* pvp) :
|
OPvPCapturePoint::OPvPCapturePoint(OutdoorPvP* pvp) :
|
||||||
m_capturePointGUID(0), m_capturePoint(NULL), m_minValue(0.0f), m_maxValue(0.0f), m_maxSpeed(0),
|
m_capturePointGUID(0), m_capturePoint(NULL), m_maxValue(0.0f), m_minValue(0.0f), m_maxSpeed(0),
|
||||||
m_value(0), m_team(TEAM_NEUTRAL), m_OldState(OBJECTIVESTATE_NEUTRAL),
|
m_value(0), m_team(TEAM_NEUTRAL), m_OldState(OBJECTIVESTATE_NEUTRAL),
|
||||||
m_State(OBJECTIVESTATE_NEUTRAL), m_neutralValuePct(0), m_PvP(pvp)
|
m_State(OBJECTIVESTATE_NEUTRAL), m_neutralValuePct(0), m_PvP(pvp)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ enum OutdoorPvPTypes
|
|||||||
OUTDOOR_PVP_TF = 3,
|
OUTDOOR_PVP_TF = 3,
|
||||||
OUTDOOR_PVP_ZM = 4,
|
OUTDOOR_PVP_ZM = 4,
|
||||||
OUTDOOR_PVP_SI = 5,
|
OUTDOOR_PVP_SI = 5,
|
||||||
OUTDOOR_PVP_EP = 6,
|
OUTDOOR_PVP_EP = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_OUTDOORPVP_TYPES 7
|
#define MAX_OUTDOORPVP_TYPES 7
|
||||||
@@ -44,7 +44,7 @@ enum ObjectiveStates
|
|||||||
OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE,
|
OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE,
|
||||||
OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE,
|
OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE,
|
||||||
OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE,
|
OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE,
|
||||||
OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE,
|
OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE
|
||||||
};
|
};
|
||||||
|
|
||||||
#define OTHER_TEAM(a) (a == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE)
|
#define OTHER_TEAM(a) (a == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE)
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ enum __QuestTradeSkill
|
|||||||
QUEST_TRSKILL_MINING = 11,
|
QUEST_TRSKILL_MINING = 11,
|
||||||
QUEST_TRSKILL_FISHING = 12,
|
QUEST_TRSKILL_FISHING = 12,
|
||||||
QUEST_TRSKILL_SKINNING = 13,
|
QUEST_TRSKILL_SKINNING = 13,
|
||||||
QUEST_TRSKILL_JEWELCRAFTING = 14,
|
QUEST_TRSKILL_JEWELCRAFTING = 14
|
||||||
};
|
};
|
||||||
|
|
||||||
enum QuestStatus
|
enum QuestStatus
|
||||||
@@ -158,7 +158,7 @@ enum __QuestFlags
|
|||||||
QUEST_TRINITY_FLAGS_SPEAKTO = 0x08000000, // Internal flag computed only
|
QUEST_TRINITY_FLAGS_SPEAKTO = 0x08000000, // Internal flag computed only
|
||||||
QUEST_TRINITY_FLAGS_KILL_OR_CAST = 0x10000000, // Internal flag computed only
|
QUEST_TRINITY_FLAGS_KILL_OR_CAST = 0x10000000, // Internal flag computed only
|
||||||
QUEST_TRINITY_FLAGS_TIMED = 0x20000000, // Internal flag computed only
|
QUEST_TRINITY_FLAGS_TIMED = 0x20000000, // Internal flag computed only
|
||||||
QUEST_TRINITY_FLAGS_PLAYER_KILL = 0x40000000, // Internal flag computed only
|
QUEST_TRINITY_FLAGS_PLAYER_KILL = 0x40000000 // Internal flag computed only
|
||||||
};
|
};
|
||||||
|
|
||||||
struct QuestLocale
|
struct QuestLocale
|
||||||
|
|||||||
@@ -1356,7 +1356,7 @@ enum SessionStatus
|
|||||||
STATUS_TRANSFER, // Player transferring to another map (_player != NULL, m_GUID == _player->GetGUID(), !inWorld())
|
STATUS_TRANSFER, // Player transferring to another map (_player != NULL, m_GUID == _player->GetGUID(), !inWorld())
|
||||||
STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT, // _player != NULL or _player == NULL && m_playerRecentlyLogout && m_playerLogout, m_GUID store last _player guid)
|
STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT, // _player != NULL or _player == NULL && m_playerRecentlyLogout && m_playerLogout, m_GUID store last _player guid)
|
||||||
STATUS_NEVER, // Opcode not accepted from client (deprecated or server side only)
|
STATUS_NEVER, // Opcode not accepted from client (deprecated or server side only)
|
||||||
STATUS_UNHANDLED, // Opcode not handled yet
|
STATUS_UNHANDLED // Opcode not handled yet
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PacketProcessing
|
enum PacketProcessing
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ enum AccountDataType
|
|||||||
GLOBAL_MACROS_CACHE = 4, // 0x10 g
|
GLOBAL_MACROS_CACHE = 4, // 0x10 g
|
||||||
PER_CHARACTER_MACROS_CACHE = 5, // 0x20 p
|
PER_CHARACTER_MACROS_CACHE = 5, // 0x20 p
|
||||||
PER_CHARACTER_LAYOUT_CACHE = 6, // 0x40 p
|
PER_CHARACTER_LAYOUT_CACHE = 6, // 0x40 p
|
||||||
PER_CHARACTER_CHAT_CACHE = 7, // 0x80 p
|
PER_CHARACTER_CHAT_CACHE = 7 // 0x80 p
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_ACCOUNT_DATA_TYPES 8
|
#define NUM_ACCOUNT_DATA_TYPES 8
|
||||||
@@ -132,7 +132,7 @@ enum BFLeaveReason
|
|||||||
//BF_LEAVE_REASON_UNK1 = 0x00000002, (not used)
|
//BF_LEAVE_REASON_UNK1 = 0x00000002, (not used)
|
||||||
//BF_LEAVE_REASON_UNK2 = 0x00000004, (not used)
|
//BF_LEAVE_REASON_UNK2 = 0x00000004, (not used)
|
||||||
BF_LEAVE_REASON_EXITED = 0x00000008,
|
BF_LEAVE_REASON_EXITED = 0x00000008,
|
||||||
BF_LEAVE_REASON_LOW_LEVEL = 0x00000010,
|
BF_LEAVE_REASON_LOW_LEVEL = 0x00000010
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ChatRestrictionType
|
enum ChatRestrictionType
|
||||||
|
|||||||
@@ -47,14 +47,14 @@ enum AuraEffectHandleModes
|
|||||||
AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_SEND_FOR_CLIENT | AURA_EFFECT_HANDLE_REAL), // any case handler need to send packet
|
AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_SEND_FOR_CLIENT | AURA_EFFECT_HANDLE_REAL), // any case handler need to send packet
|
||||||
AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT | AURA_EFFECT_HANDLE_REAL), // any case handler applies effect depending on amount
|
AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT | AURA_EFFECT_HANDLE_REAL), // any case handler applies effect depending on amount
|
||||||
AURA_EFFECT_HANDLE_CHANGE_AMOUNT_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK),
|
AURA_EFFECT_HANDLE_CHANGE_AMOUNT_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK),
|
||||||
AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK = (AURA_EFFECT_HANDLE_REAPPLY | AURA_EFFECT_HANDLE_REAL),
|
AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK = (AURA_EFFECT_HANDLE_REAPPLY | AURA_EFFECT_HANDLE_REAL)
|
||||||
};
|
};
|
||||||
|
|
||||||
//m_schoolAbsorb
|
//m_schoolAbsorb
|
||||||
enum DAMAGE_ABSORB_TYPE
|
enum DAMAGE_ABSORB_TYPE
|
||||||
{
|
{
|
||||||
ALL_DAMAGE_ABSORB = -2,
|
ALL_DAMAGE_ABSORB = -2,
|
||||||
ONLY_MAGIC_ABSORB = -1,
|
ONLY_MAGIC_ABSORB = -1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AuraType
|
enum AuraType
|
||||||
@@ -382,6 +382,7 @@ enum AuraType
|
|||||||
enum AuraObjectType
|
enum AuraObjectType
|
||||||
{
|
{
|
||||||
UNIT_AURA_TYPE,
|
UNIT_AURA_TYPE,
|
||||||
DYNOBJ_AURA_TYPE,
|
DYNOBJ_AURA_TYPE
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -2331,7 +2331,7 @@ UnitAura::UnitAura(SpellInfo const* spellproto, uint8 effMask, WorldObject* owne
|
|||||||
LoadScripts();
|
LoadScripts();
|
||||||
_InitEffects(effMask, caster, baseAmount);
|
_InitEffects(effMask, caster, baseAmount);
|
||||||
GetUnitOwner()->_AddAura(this, caster);
|
GetUnitOwner()->_AddAura(this, caster);
|
||||||
};
|
}
|
||||||
|
|
||||||
void UnitAura::_ApplyForTarget(Unit* target, Unit* caster, AuraApplication * aurApp)
|
void UnitAura::_ApplyForTarget(Unit* target, Unit* caster, AuraApplication * aurApp)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -583,7 +583,7 @@ m_caster((info->AttributesEx6 & SPELL_ATTR6_CAST_BY_CHARMER && caster->GetCharme
|
|||||||
&& !m_spellInfo->IsPassive() && !m_spellInfo->IsPositive();
|
&& !m_spellInfo->IsPassive() && !m_spellInfo->IsPositive();
|
||||||
|
|
||||||
CleanupTargetList();
|
CleanupTargetList();
|
||||||
memset(m_effectExecuteData, NULL, MAX_SPELL_EFFECTS * sizeof(ByteBuffer*));
|
memset(m_effectExecuteData, 0, MAX_SPELL_EFFECTS * sizeof(ByteBuffer*));
|
||||||
|
|
||||||
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
||||||
m_destTargets[i] = SpellDestination(*m_caster);
|
m_destTargets[i] = SpellDestination(*m_caster);
|
||||||
|
|||||||
@@ -70,14 +70,14 @@ enum SpellCastFlags
|
|||||||
CAST_FLAG_UNKNOWN_29 = 0x10000000,
|
CAST_FLAG_UNKNOWN_29 = 0x10000000,
|
||||||
CAST_FLAG_UNKNOWN_30 = 0x20000000,
|
CAST_FLAG_UNKNOWN_30 = 0x20000000,
|
||||||
CAST_FLAG_UNKNOWN_31 = 0x40000000,
|
CAST_FLAG_UNKNOWN_31 = 0x40000000,
|
||||||
CAST_FLAG_UNKNOWN_32 = 0x80000000,
|
CAST_FLAG_UNKNOWN_32 = 0x80000000
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellRangeFlag
|
enum SpellRangeFlag
|
||||||
{
|
{
|
||||||
SPELL_RANGE_DEFAULT = 0,
|
SPELL_RANGE_DEFAULT = 0,
|
||||||
SPELL_RANGE_MELEE = 1, //melee
|
SPELL_RANGE_MELEE = 1, //melee
|
||||||
SPELL_RANGE_RANGED = 2, //hunter range and ranged weapon
|
SPELL_RANGE_RANGED = 2 //hunter range and ranged weapon
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SpellDestination
|
struct SpellDestination
|
||||||
@@ -204,7 +204,7 @@ enum SpellEffectHandleMode
|
|||||||
SPELL_EFFECT_HANDLE_LAUNCH,
|
SPELL_EFFECT_HANDLE_LAUNCH,
|
||||||
SPELL_EFFECT_HANDLE_LAUNCH_TARGET,
|
SPELL_EFFECT_HANDLE_LAUNCH_TARGET,
|
||||||
SPELL_EFFECT_HANDLE_HIT,
|
SPELL_EFFECT_HANDLE_HIT,
|
||||||
SPELL_EFFECT_HANDLE_HIT_TARGET,
|
SPELL_EFFECT_HANDLE_HIT_TARGET
|
||||||
};
|
};
|
||||||
|
|
||||||
class Spell
|
class Spell
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ enum SpellCastTargetFlags
|
|||||||
| TARGET_FLAG_UNIT_ENEMY | TARGET_FLAG_UNIT_ALLY | TARGET_FLAG_UNIT_DEAD | TARGET_FLAG_UNIT_MINIPET | TARGET_FLAG_UNIT_PASSENGER,
|
| TARGET_FLAG_UNIT_ENEMY | TARGET_FLAG_UNIT_ALLY | TARGET_FLAG_UNIT_DEAD | TARGET_FLAG_UNIT_MINIPET | TARGET_FLAG_UNIT_PASSENGER,
|
||||||
TARGET_FLAG_GAMEOBJECT_MASK = TARGET_FLAG_GAMEOBJECT | TARGET_FLAG_GAMEOBJECT_ITEM,
|
TARGET_FLAG_GAMEOBJECT_MASK = TARGET_FLAG_GAMEOBJECT | TARGET_FLAG_GAMEOBJECT_ITEM,
|
||||||
TARGET_FLAG_CORPSE_MASK = TARGET_FLAG_CORPSE_ALLY | TARGET_FLAG_CORPSE_ENEMY,
|
TARGET_FLAG_CORPSE_MASK = TARGET_FLAG_CORPSE_ALLY | TARGET_FLAG_CORPSE_ENEMY,
|
||||||
TARGET_FLAG_ITEM_MASK = TARGET_FLAG_TRADE_ITEM | TARGET_FLAG_ITEM | TARGET_FLAG_GAMEOBJECT_ITEM,
|
TARGET_FLAG_ITEM_MASK = TARGET_FLAG_TRADE_ITEM | TARGET_FLAG_ITEM | TARGET_FLAG_GAMEOBJECT_ITEM
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellTargetSelectionCategories
|
enum SpellTargetSelectionCategories
|
||||||
@@ -77,7 +77,7 @@ enum SpellTargetSelectionCategories
|
|||||||
TARGET_SELECT_CATEGORY_CHANNEL,
|
TARGET_SELECT_CATEGORY_CHANNEL,
|
||||||
TARGET_SELECT_CATEGORY_NEARBY,
|
TARGET_SELECT_CATEGORY_NEARBY,
|
||||||
TARGET_SELECT_CATEGORY_CONE,
|
TARGET_SELECT_CATEGORY_CONE,
|
||||||
TARGET_SELECT_CATEGORY_AREA,
|
TARGET_SELECT_CATEGORY_AREA
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellTargetReferenceTypes
|
enum SpellTargetReferenceTypes
|
||||||
@@ -87,7 +87,7 @@ enum SpellTargetReferenceTypes
|
|||||||
TARGET_REFERENCE_TYPE_TARGET,
|
TARGET_REFERENCE_TYPE_TARGET,
|
||||||
TARGET_REFERENCE_TYPE_LAST,
|
TARGET_REFERENCE_TYPE_LAST,
|
||||||
TARGET_REFERENCE_TYPE_SRC,
|
TARGET_REFERENCE_TYPE_SRC,
|
||||||
TARGET_REFERENCE_TYPE_DEST,
|
TARGET_REFERENCE_TYPE_DEST
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellTargetObjectTypes
|
enum SpellTargetObjectTypes
|
||||||
@@ -103,7 +103,7 @@ enum SpellTargetObjectTypes
|
|||||||
TARGET_OBJECT_TYPE_CORPSE,
|
TARGET_OBJECT_TYPE_CORPSE,
|
||||||
// only for effect target type
|
// only for effect target type
|
||||||
TARGET_OBJECT_TYPE_CORPSE_ENEMY,
|
TARGET_OBJECT_TYPE_CORPSE_ENEMY,
|
||||||
TARGET_OBJECT_TYPE_CORPSE_ALLY,
|
TARGET_OBJECT_TYPE_CORPSE_ALLY
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellTargetCheckTypes
|
enum SpellTargetCheckTypes
|
||||||
@@ -115,7 +115,7 @@ enum SpellTargetCheckTypes
|
|||||||
TARGET_CHECK_PARTY,
|
TARGET_CHECK_PARTY,
|
||||||
TARGET_CHECK_RAID,
|
TARGET_CHECK_RAID,
|
||||||
TARGET_CHECK_RAID_CLASS,
|
TARGET_CHECK_RAID_CLASS,
|
||||||
TARGET_CHECK_PASSENGER,
|
TARGET_CHECK_PASSENGER
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellTargetDirectionTypes
|
enum SpellTargetDirectionTypes
|
||||||
@@ -130,14 +130,14 @@ enum SpellTargetDirectionTypes
|
|||||||
TARGET_DIR_BACK_LEFT,
|
TARGET_DIR_BACK_LEFT,
|
||||||
TARGET_DIR_FRONT_LEFT,
|
TARGET_DIR_FRONT_LEFT,
|
||||||
TARGET_DIR_RANDOM,
|
TARGET_DIR_RANDOM,
|
||||||
TARGET_DIR_ENTRY,
|
TARGET_DIR_ENTRY
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellEffectImplicitTargetTypes
|
enum SpellEffectImplicitTargetTypes
|
||||||
{
|
{
|
||||||
EFFECT_IMPLICIT_TARGET_NONE = 0,
|
EFFECT_IMPLICIT_TARGET_NONE = 0,
|
||||||
EFFECT_IMPLICIT_TARGET_EXPLICIT,
|
EFFECT_IMPLICIT_TARGET_EXPLICIT,
|
||||||
EFFECT_IMPLICIT_TARGET_CASTER,
|
EFFECT_IMPLICIT_TARGET_CASTER
|
||||||
};
|
};
|
||||||
|
|
||||||
// Spell clasification
|
// Spell clasification
|
||||||
@@ -165,7 +165,7 @@ enum SpellSpecificType
|
|||||||
SPELL_SPECIFIC_MAGE_ARCANE_BRILLANCE = 25,
|
SPELL_SPECIFIC_MAGE_ARCANE_BRILLANCE = 25,
|
||||||
SPELL_SPECIFIC_WARRIOR_ENRAGE = 26,
|
SPELL_SPECIFIC_WARRIOR_ENRAGE = 26,
|
||||||
SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT = 27,
|
SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT = 27,
|
||||||
SPELL_SPECIFIC_HAND = 28,
|
SPELL_SPECIFIC_HAND = 28
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellCustomAttributes
|
enum SpellCustomAttributes
|
||||||
@@ -187,7 +187,7 @@ enum SpellCustomAttributes
|
|||||||
SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER = 0x00010000,
|
SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER = 0x00010000,
|
||||||
SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET = 0x00020000,
|
SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET = 0x00020000,
|
||||||
|
|
||||||
SPELL_ATTR0_CU_NEGATIVE = SPELL_ATTR0_CU_NEGATIVE_EFF0 | SPELL_ATTR0_CU_NEGATIVE_EFF1 | SPELL_ATTR0_CU_NEGATIVE_EFF2,
|
SPELL_ATTR0_CU_NEGATIVE = SPELL_ATTR0_CU_NEGATIVE_EFF0 | SPELL_ATTR0_CU_NEGATIVE_EFF1 | SPELL_ATTR0_CU_NEGATIVE_EFF2
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32 GetTargetFlagMask(SpellTargetObjectTypes objType);
|
uint32 GetTargetFlagMask(SpellTargetObjectTypes objType);
|
||||||
|
|||||||
@@ -3422,6 +3422,9 @@ void SpellMgr::LoadDbcDataCorrections()
|
|||||||
case 71159: // Awaken Plagued Zombies
|
case 71159: // Awaken Plagued Zombies
|
||||||
spellInfo->DurationIndex = 21;
|
spellInfo->DurationIndex = 21;
|
||||||
break;
|
break;
|
||||||
|
case 70530: // Volatile Ooze Beam Protection (Professor Putricide)
|
||||||
|
spellInfo->Effect[0] = SPELL_EFFECT_APPLY_AURA; // for an unknown reason this was SPELL_EFFECT_APPLY_AREA_AURA_RAID
|
||||||
|
break;
|
||||||
// THIS IS HERE BECAUSE COOLDOWN ON CREATURE PROCS IS NOT IMPLEMENTED
|
// THIS IS HERE BECAUSE COOLDOWN ON CREATURE PROCS IS NOT IMPLEMENTED
|
||||||
case 71604: // Mutated Strength (Professor Putricide)
|
case 71604: // Mutated Strength (Professor Putricide)
|
||||||
case 72673: // Mutated Strength (Professor Putricide)
|
case 72673: // Mutated Strength (Professor Putricide)
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ enum SpellCategories
|
|||||||
SPELLCATEGORY_DEVOUR_MAGIC = 12,
|
SPELLCATEGORY_DEVOUR_MAGIC = 12,
|
||||||
SPELLCATEGORY_JUDGEMENT = 1210, // Judgement (seal trigger)
|
SPELLCATEGORY_JUDGEMENT = 1210, // Judgement (seal trigger)
|
||||||
SPELLCATEGORY_FOOD = 11,
|
SPELLCATEGORY_FOOD = 11,
|
||||||
SPELLCATEGORY_DRINK = 59,
|
SPELLCATEGORY_DRINK = 59
|
||||||
};
|
};
|
||||||
|
|
||||||
//SpellFamilyFlags
|
//SpellFamilyFlags
|
||||||
@@ -85,7 +85,7 @@ enum SpellFamilyFlag
|
|||||||
SPELLFAMILYFLAG_DK_DEATH_COIL = 0x00002000,
|
SPELLFAMILYFLAG_DK_DEATH_COIL = 0x00002000,
|
||||||
|
|
||||||
// TODO: Figure out a more accurate name for the following familyflag(s)
|
// TODO: Figure out a more accurate name for the following familyflag(s)
|
||||||
SPELLFAMILYFLAG_SHAMAN_TOTEM_EFFECTS = 0x04000000, // Seems to be linked to most totems and some totem effects
|
SPELLFAMILYFLAG_SHAMAN_TOTEM_EFFECTS = 0x04000000 // Seems to be linked to most totems and some totem effects
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ enum SpellLinkedType
|
|||||||
SPELL_LINK_CAST = 0, // +: cast; -: remove
|
SPELL_LINK_CAST = 0, // +: cast; -: remove
|
||||||
SPELL_LINK_HIT = 1 * 200000,
|
SPELL_LINK_HIT = 1 * 200000,
|
||||||
SPELL_LINK_AURA = 2 * 200000, // +: aura; -: immune
|
SPELL_LINK_AURA = 2 * 200000, // +: aura; -: immune
|
||||||
SPELL_LINK_REMOVE = 0,
|
SPELL_LINK_REMOVE = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ enum ProcFlags
|
|||||||
| PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS | PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG
|
| PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS | PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG
|
||||||
| PROC_FLAG_TAKEN_PERIODIC | PROC_FLAG_TAKEN_DAMAGE,
|
| PROC_FLAG_TAKEN_PERIODIC | PROC_FLAG_TAKEN_DAMAGE,
|
||||||
|
|
||||||
REQ_SPELL_PHASE_PROC_FLAG_MASK = SPELL_PROC_FLAG_MASK & DONE_HIT_PROC_FLAG_MASK,
|
REQ_SPELL_PHASE_PROC_FLAG_MASK = SPELL_PROC_FLAG_MASK & DONE_HIT_PROC_FLAG_MASK
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MELEE_BASED_TRIGGER_MASK (PROC_FLAG_DONE_MELEE_AUTO_ATTACK | \
|
#define MELEE_BASED_TRIGGER_MASK (PROC_FLAG_DONE_MELEE_AUTO_ATTACK | \
|
||||||
@@ -261,12 +261,12 @@ enum ProcFlagsHit
|
|||||||
PROC_HIT_REFLECT = 0x0000800,
|
PROC_HIT_REFLECT = 0x0000800,
|
||||||
PROC_HIT_INTERRUPT = 0x0001000, // (not used atm)
|
PROC_HIT_INTERRUPT = 0x0001000, // (not used atm)
|
||||||
PROC_HIT_FULL_BLOCK = 0x0002000,
|
PROC_HIT_FULL_BLOCK = 0x0002000,
|
||||||
PROC_HIT_MASK_ALL = 0x2FFF,
|
PROC_HIT_MASK_ALL = 0x2FFF
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ProcAttributes
|
enum ProcAttributes
|
||||||
{
|
{
|
||||||
PROC_ATTR_REQ_EXP_OR_HONOR = 0x0000010,
|
PROC_ATTR_REQ_EXP_OR_HONOR = 0x0000010
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SpellProcEventEntry
|
struct SpellProcEventEntry
|
||||||
@@ -327,7 +327,7 @@ enum SpellGroup
|
|||||||
SPELL_GROUP_ELIXIR_GUARDIAN = 2,
|
SPELL_GROUP_ELIXIR_GUARDIAN = 2,
|
||||||
SPELL_GROUP_ELIXIR_UNSTABLE = 3,
|
SPELL_GROUP_ELIXIR_UNSTABLE = 3,
|
||||||
SPELL_GROUP_ELIXIR_SHATTRATH = 4,
|
SPELL_GROUP_ELIXIR_SHATTRATH = 4,
|
||||||
SPELL_GROUP_CORE_RANGE_MAX = 5,
|
SPELL_GROUP_CORE_RANGE_MAX = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SPELL_GROUP_DB_RANGE_MIN 1000
|
#define SPELL_GROUP_DB_RANGE_MIN 1000
|
||||||
@@ -345,8 +345,9 @@ enum SpellGroupStackRule
|
|||||||
SPELL_GROUP_STACK_RULE_DEFAULT = 0,
|
SPELL_GROUP_STACK_RULE_DEFAULT = 0,
|
||||||
SPELL_GROUP_STACK_RULE_EXCLUSIVE = 1,
|
SPELL_GROUP_STACK_RULE_EXCLUSIVE = 1,
|
||||||
SPELL_GROUP_STACK_RULE_EXCLUSIVE_FROM_SAME_CASTER = 2,
|
SPELL_GROUP_STACK_RULE_EXCLUSIVE_FROM_SAME_CASTER = 2,
|
||||||
SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT = 3,
|
SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SPELL_GROUP_STACK_RULE_MAX 4
|
#define SPELL_GROUP_STACK_RULE_MAX 4
|
||||||
|
|
||||||
typedef std::map<SpellGroup, SpellGroupStackRule> SpellGroupStackMap;
|
typedef std::map<SpellGroup, SpellGroupStackRule> SpellGroupStackMap;
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ enum SpellScriptState
|
|||||||
SPELL_SCRIPT_STATE_NONE = 0,
|
SPELL_SCRIPT_STATE_NONE = 0,
|
||||||
SPELL_SCRIPT_STATE_REGISTRATION,
|
SPELL_SCRIPT_STATE_REGISTRATION,
|
||||||
SPELL_SCRIPT_STATE_LOADING,
|
SPELL_SCRIPT_STATE_LOADING,
|
||||||
SPELL_SCRIPT_STATE_UNLOADING,
|
SPELL_SCRIPT_STATE_UNLOADING
|
||||||
};
|
};
|
||||||
#define SPELL_SCRIPT_STATE_END SPELL_SCRIPT_STATE_UNLOADING + 1
|
#define SPELL_SCRIPT_STATE_END SPELL_SCRIPT_STATE_UNLOADING + 1
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ enum SpellScriptHookType
|
|||||||
SPELL_SCRIPT_HOOK_CHECK_CAST,
|
SPELL_SCRIPT_HOOK_CHECK_CAST,
|
||||||
SPELL_SCRIPT_HOOK_BEFORE_CAST,
|
SPELL_SCRIPT_HOOK_BEFORE_CAST,
|
||||||
SPELL_SCRIPT_HOOK_ON_CAST,
|
SPELL_SCRIPT_HOOK_ON_CAST,
|
||||||
SPELL_SCRIPT_HOOK_AFTER_CAST,
|
SPELL_SCRIPT_HOOK_AFTER_CAST
|
||||||
};
|
};
|
||||||
|
|
||||||
#define HOOK_SPELL_HIT_START SPELL_SCRIPT_HOOK_EFFECT_HIT
|
#define HOOK_SPELL_HIT_START SPELL_SCRIPT_HOOK_EFFECT_HIT
|
||||||
@@ -425,7 +425,7 @@ enum AuraScriptHookType
|
|||||||
AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD,
|
AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD,
|
||||||
AURA_SCRIPT_HOOK_CHECK_AREA_TARGET,
|
AURA_SCRIPT_HOOK_CHECK_AREA_TARGET,
|
||||||
AURA_SCRIPT_HOOK_DISPEL,
|
AURA_SCRIPT_HOOK_DISPEL,
|
||||||
AURA_SCRIPT_HOOK_AFTER_DISPEL,
|
AURA_SCRIPT_HOOK_AFTER_DISPEL
|
||||||
/*AURA_SCRIPT_HOOK_APPLY,
|
/*AURA_SCRIPT_HOOK_APPLY,
|
||||||
AURA_SCRIPT_HOOK_REMOVE, */
|
AURA_SCRIPT_HOOK_REMOVE, */
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ class ChatHandler;
|
|||||||
enum GMTicketSystemStatus
|
enum GMTicketSystemStatus
|
||||||
{
|
{
|
||||||
GMTICKET_QUEUE_STATUS_DISABLED = 0,
|
GMTICKET_QUEUE_STATUS_DISABLED = 0,
|
||||||
GMTICKET_QUEUE_STATUS_ENABLED = 1,
|
GMTICKET_QUEUE_STATUS_ENABLED = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GMTicketStatus
|
enum GMTicketStatus
|
||||||
{
|
{
|
||||||
GMTICKET_STATUS_HASTEXT = 0x06,
|
GMTICKET_STATUS_HASTEXT = 0x06,
|
||||||
GMTICKET_STATUS_DEFAULT = 0x0A,
|
GMTICKET_STATUS_DEFAULT = 0x0A
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GMTicketResponse
|
enum GMTicketResponse
|
||||||
@@ -45,7 +45,7 @@ enum GMTicketResponse
|
|||||||
GMTICKET_RESPONSE_CREATE_ERROR = 3,
|
GMTICKET_RESPONSE_CREATE_ERROR = 3,
|
||||||
GMTICKET_RESPONSE_UPDATE_SUCCESS = 4,
|
GMTICKET_RESPONSE_UPDATE_SUCCESS = 4,
|
||||||
GMTICKET_RESPONSE_UPDATE_ERROR = 5,
|
GMTICKET_RESPONSE_UPDATE_ERROR = 5,
|
||||||
GMTICKET_RESPONSE_TICKET_DELETED = 9,
|
GMTICKET_RESPONSE_TICKET_DELETED = 9
|
||||||
};
|
};
|
||||||
|
|
||||||
// from Blizzard LUA:
|
// from Blizzard LUA:
|
||||||
@@ -58,14 +58,14 @@ enum GMTicketEscalationStatus
|
|||||||
TICKET_UNASSIGNED = 0,
|
TICKET_UNASSIGNED = 0,
|
||||||
TICKET_ASSIGNED = 1,
|
TICKET_ASSIGNED = 1,
|
||||||
TICKET_IN_ESCALATION_QUEUE = 2,
|
TICKET_IN_ESCALATION_QUEUE = 2,
|
||||||
TICKET_ESCALATED_ASSIGNED = 3,
|
TICKET_ESCALATED_ASSIGNED = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
// from blizzard lua
|
// from blizzard lua
|
||||||
enum GMTicketOpenedByGMStatus
|
enum GMTicketOpenedByGMStatus
|
||||||
{
|
{
|
||||||
GMTICKET_OPENEDBYGM_STATUS_NOT_OPENED = 0, // ticket has never been opened by a gm
|
GMTICKET_OPENEDBYGM_STATUS_NOT_OPENED = 0, // ticket has never been opened by a gm
|
||||||
GMTICKET_OPENEDBYGM_STATUS_OPENED = 1, // ticket has been opened by a gm
|
GMTICKET_OPENEDBYGM_STATUS_OPENED = 1 // ticket has been opened by a gm
|
||||||
};
|
};
|
||||||
|
|
||||||
enum LagReportType
|
enum LagReportType
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ enum DumpTableType
|
|||||||
DTT_ITEM_GIFT, // <- item guids // character_gifts
|
DTT_ITEM_GIFT, // <- item guids // character_gifts
|
||||||
|
|
||||||
DTT_PET, // -> pet guids collection // character_pet
|
DTT_PET, // -> pet guids collection // character_pet
|
||||||
DTT_PET_TABLE, // <- pet guids // pet_aura, pet_spell, pet_spell_cooldown
|
DTT_PET_TABLE // <- pet guids // pet_aura, pet_spell, pet_spell_cooldown
|
||||||
};
|
};
|
||||||
|
|
||||||
enum DumpReturn
|
enum DumpReturn
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ enum WardenCheckType
|
|||||||
DRIVER_CHECK = 0x71, // 113: uint Seed + byte[20] SHA1 + byte driverNameIndex (check to ensure driver isn't loaded)
|
DRIVER_CHECK = 0x71, // 113: uint Seed + byte[20] SHA1 + byte driverNameIndex (check to ensure driver isn't loaded)
|
||||||
TIMING_CHECK = 0x57, // 87: empty (check to ensure GetTickCount() isn't detoured)
|
TIMING_CHECK = 0x57, // 87: empty (check to ensure GetTickCount() isn't detoured)
|
||||||
PROC_CHECK = 0x7E, // 126: uint Seed + byte[20] SHA1 + byte moluleNameIndex + byte procNameIndex + uint Offset + byte Len (check to ensure proc isn't detoured)
|
PROC_CHECK = 0x7E, // 126: uint Seed + byte[20] SHA1 + byte moluleNameIndex + byte procNameIndex + uint Offset + byte Len (check to ensure proc isn't detoured)
|
||||||
MODULE_CHECK = 0xD9, // 217: uint Seed + byte[20] SHA1 (check to ensure module isn't injected)
|
MODULE_CHECK = 0xD9 // 217: uint Seed + byte[20] SHA1 (check to ensure module isn't injected)
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ enum WeatherState
|
|||||||
WEATHER_STATE_HEAVY_SANDSTORM = 42,
|
WEATHER_STATE_HEAVY_SANDSTORM = 42,
|
||||||
WEATHER_STATE_THUNDERS = 86,
|
WEATHER_STATE_THUNDERS = 86,
|
||||||
WEATHER_STATE_BLACKRAIN = 90,
|
WEATHER_STATE_BLACKRAIN = 90,
|
||||||
WEATHER_STATE_BLACKSNOW = 106,
|
WEATHER_STATE_BLACKSNOW = 106
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Weather for one zone
|
/// Weather for one zone
|
||||||
|
|||||||
@@ -55,14 +55,14 @@ enum ServerMessageType
|
|||||||
enum ShutdownMask
|
enum ShutdownMask
|
||||||
{
|
{
|
||||||
SHUTDOWN_MASK_RESTART = 1,
|
SHUTDOWN_MASK_RESTART = 1,
|
||||||
SHUTDOWN_MASK_IDLE = 2,
|
SHUTDOWN_MASK_IDLE = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ShutdownExitCode
|
enum ShutdownExitCode
|
||||||
{
|
{
|
||||||
SHUTDOWN_EXIT_CODE = 0,
|
SHUTDOWN_EXIT_CODE = 0,
|
||||||
ERROR_EXIT_CODE = 1,
|
ERROR_EXIT_CODE = 1,
|
||||||
RESTART_EXIT_CODE = 2,
|
RESTART_EXIT_CODE = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Timers for different object refresh rates
|
/// Timers for different object refresh rates
|
||||||
@@ -409,7 +409,7 @@ enum BillingPlanFlags
|
|||||||
SESSION_USAGE = 0x10,
|
SESSION_USAGE = 0x10,
|
||||||
SESSION_TIME_MIXTURE = 0x20,
|
SESSION_TIME_MIXTURE = 0x20,
|
||||||
SESSION_RESTRICTED = 0x40,
|
SESSION_RESTRICTED = 0x40,
|
||||||
SESSION_ENABLE_CAIS = 0x80,
|
SESSION_ENABLE_CAIS = 0x80
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Type of server, this is values from second column of Cfg_Configs.dbc
|
/// Type of server, this is values from second column of Cfg_Configs.dbc
|
||||||
|
|||||||
@@ -953,8 +953,8 @@ public:
|
|||||||
if (!player_str)
|
if (!player_str)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
char* location_str = strtok(NULL, "");
|
std::string location_str = strtok(NULL, "");
|
||||||
if (!location_str)
|
if (location_str.empty())
|
||||||
location_str = "inn";
|
location_str = "inn";
|
||||||
|
|
||||||
Player* player = NULL;
|
Player* player = NULL;
|
||||||
@@ -969,19 +969,19 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!stricmp(location_str, "inn"))
|
if (location_str == "inn")
|
||||||
{
|
{
|
||||||
player->TeleportTo(player->m_homebindMapId, player->m_homebindX, player->m_homebindY, player->m_homebindZ, player->GetOrientation());
|
player->TeleportTo(player->m_homebindMapId, player->m_homebindX, player->m_homebindY, player->m_homebindZ, player->GetOrientation());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!stricmp(location_str, "graveyard"))
|
if (location_str == "graveyard")
|
||||||
{
|
{
|
||||||
player->RepopAtGraveyard();
|
player->RepopAtGraveyard();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!stricmp(location_str, "startzone"))
|
if (location_str == "startzone")
|
||||||
{
|
{
|
||||||
player->TeleportTo(player->GetStartPosition());
|
player->TeleportTo(player->GetStartPosition());
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include "Spell.h"
|
#include "Spell.h"
|
||||||
#include "icecrown_citadel.h"
|
#include "icecrown_citadel.h"
|
||||||
#include "Vehicle.h"
|
#include "Vehicle.h"
|
||||||
|
#include "GridNotifiers.h"
|
||||||
|
|
||||||
enum ScriptTexts
|
enum ScriptTexts
|
||||||
{
|
{
|
||||||
@@ -185,12 +186,15 @@ class AbominationDespawner
|
|||||||
if (Vehicle* veh = summon->GetVehicleKit())
|
if (Vehicle* veh = summon->GetVehicleKit())
|
||||||
veh->RemoveAllPassengers(); // also despawns the vehicle
|
veh->RemoveAllPassengers(); // also despawns the vehicle
|
||||||
|
|
||||||
|
// Found unit is Mutated Abomination, remove it
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Found unit is not Mutated Abomintaion, leave it
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// No unit found, remove from SummonList
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,6 +202,19 @@ class AbominationDespawner
|
|||||||
Unit* _owner;
|
Unit* _owner;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct RotfaceHeightCheck
|
||||||
|
{
|
||||||
|
RotfaceHeightCheck(Creature* rotface) : _rotface(rotface) { }
|
||||||
|
|
||||||
|
bool operator()(Creature* stalker) const
|
||||||
|
{
|
||||||
|
return stalker->GetPositionZ() < _rotface->GetPositionZ() + 5.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
Creature* _rotface;
|
||||||
|
};
|
||||||
|
|
||||||
class boss_professor_putricide : public CreatureScript
|
class boss_professor_putricide : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -246,7 +263,7 @@ class boss_professor_putricide : public CreatureScript
|
|||||||
events.Reset();
|
events.Reset();
|
||||||
events.ScheduleEvent(EVENT_BERSERK, 600000);
|
events.ScheduleEvent(EVENT_BERSERK, 600000);
|
||||||
events.ScheduleEvent(EVENT_SLIME_PUDDLE, 10000);
|
events.ScheduleEvent(EVENT_SLIME_PUDDLE, 10000);
|
||||||
events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, urand(25000, 30000));
|
events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, urand(30000, 35000));
|
||||||
if (IsHeroic())
|
if (IsHeroic())
|
||||||
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 20000);
|
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 20000);
|
||||||
|
|
||||||
@@ -295,18 +312,16 @@ class boss_professor_putricide : public CreatureScript
|
|||||||
// no possible aura seen in sniff adding the aurastate
|
// no possible aura seen in sniff adding the aurastate
|
||||||
summon->ModifyAuraState(AURA_STATE_UNKNOWN22, true);
|
summon->ModifyAuraState(AURA_STATE_UNKNOWN22, true);
|
||||||
summon->CastSpell(summon, SPELL_GASEOUS_BLOAT_PROC, true);
|
summon->CastSpell(summon, SPELL_GASEOUS_BLOAT_PROC, true);
|
||||||
summon->CastCustomSpell(SPELL_GASEOUS_BLOAT, SPELLVALUE_AURA_STACK, 10, summon, false);
|
|
||||||
summon->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
|
summon->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
|
||||||
summon->SetReactState(REACT_PASSIVE);
|
summon->SetReactState(REACT_PASSIVE);
|
||||||
return;
|
break;
|
||||||
case NPC_VOLATILE_OOZE:
|
case NPC_VOLATILE_OOZE:
|
||||||
// no possible aura seen in sniff adding the aurastate
|
// no possible aura seen in sniff adding the aurastate
|
||||||
summon->ModifyAuraState(AURA_STATE_UNKNOWN19, true);
|
summon->ModifyAuraState(AURA_STATE_UNKNOWN19, true);
|
||||||
summon->CastSpell(summon, SPELL_OOZE_ERUPTION_SEARCH_PERIODIC, true);
|
summon->CastSpell(summon, SPELL_OOZE_ERUPTION_SEARCH_PERIODIC, true);
|
||||||
summon->CastSpell(summon, SPELL_VOLATILE_OOZE_ADHESIVE, false);
|
|
||||||
summon->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
|
summon->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
|
||||||
summon->SetReactState(REACT_PASSIVE);
|
summon->SetReactState(REACT_PASSIVE);
|
||||||
return;
|
break;
|
||||||
case NPC_CHOKING_GAS_BOMB:
|
case NPC_CHOKING_GAS_BOMB:
|
||||||
summon->CastSpell(summon, SPELL_CHOKING_GAS_BOMB_PERIODIC, true);
|
summon->CastSpell(summon, SPELL_CHOKING_GAS_BOMB_PERIODIC, true);
|
||||||
summon->CastSpell(summon, SPELL_CHOKING_GAS_EXPLOSION_TRIGGER, true);
|
summon->CastSpell(summon, SPELL_CHOKING_GAS_EXPLOSION_TRIGGER, true);
|
||||||
@@ -428,7 +443,8 @@ class boss_professor_putricide : public CreatureScript
|
|||||||
if (Creature* rotface = Unit::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
|
if (Creature* rotface = Unit::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
|
||||||
{
|
{
|
||||||
std::list<Creature*> list;
|
std::list<Creature*> list;
|
||||||
GetCreatureListWithEntryInGrid(list, rotface, NPC_PUDDLE_STALKER, 36.0f);
|
GetCreatureListWithEntryInGrid(list, rotface, NPC_PUDDLE_STALKER, 50.0f);
|
||||||
|
list.remove_if(RotfaceHeightCheck(rotface));
|
||||||
if (list.size() > 4)
|
if (list.size() > 4)
|
||||||
{
|
{
|
||||||
list.sort(Trinity::ObjectDistanceOrderPred(rotface));
|
list.sort(Trinity::ObjectDistanceOrderPred(rotface));
|
||||||
@@ -510,7 +526,6 @@ class boss_professor_putricide : public CreatureScript
|
|||||||
SetPhase(PHASE_COMBAT_3);
|
SetPhase(PHASE_COMBAT_3);
|
||||||
events.ScheduleEvent(EVENT_MUTATED_PLAGUE, 25000);
|
events.ScheduleEvent(EVENT_MUTATED_PLAGUE, 25000);
|
||||||
events.CancelEvent(EVENT_UNSTABLE_EXPERIMENT);
|
events.CancelEvent(EVENT_UNSTABLE_EXPERIMENT);
|
||||||
summons.remove_if(AbominationDespawner(me));
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -643,7 +658,7 @@ class boss_professor_putricide : public CreatureScript
|
|||||||
case EVENT_UNBOUND_PLAGUE:
|
case EVENT_UNBOUND_PLAGUE:
|
||||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me)))
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me)))
|
||||||
{
|
{
|
||||||
me->CastCustomSpell(SPELL_UNBOUND_PLAGUE, SPELLVALUE_BASE_POINT0, 775, target);
|
DoCast(target, SPELL_UNBOUND_PLAGUE);
|
||||||
DoCast(target, SPELL_UNBOUND_PLAGUE_SEARCHER);
|
DoCast(target, SPELL_UNBOUND_PLAGUE_SEARCHER);
|
||||||
}
|
}
|
||||||
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 90000);
|
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 90000);
|
||||||
@@ -668,6 +683,7 @@ class boss_professor_putricide : public CreatureScript
|
|||||||
me->SetFacingToObject(face);
|
me->SetFacingToObject(face);
|
||||||
me->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
|
me->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
|
||||||
Talk(SAY_TRANSFORM_2);
|
Talk(SAY_TRANSFORM_2);
|
||||||
|
summons.remove_if(AbominationDespawner(me));
|
||||||
events.ScheduleEvent(EVENT_RESUME_ATTACK, 8500, 0, PHASE_COMBAT_3);
|
events.ScheduleEvent(EVENT_RESUME_ATTACK, 8500, 0, PHASE_COMBAT_3);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -702,21 +718,17 @@ class boss_professor_putricide : public CreatureScript
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class npc_volatile_ooze : public CreatureScript
|
class npc_putricide_oozeAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
npc_volatile_ooze() : CreatureScript("npc_volatile_ooze") { }
|
npc_putricide_oozeAI(Creature* creature, uint32 hitTargetSpellId) : ScriptedAI(creature),
|
||||||
|
_newTargetSelectTimer(0), _hitTargetSpellId(hitTargetSpellId)
|
||||||
struct npc_putricide_oozeAI : public ScriptedAI
|
|
||||||
{
|
{
|
||||||
npc_putricide_oozeAI(Creature* creature) : ScriptedAI(creature)
|
|
||||||
{
|
|
||||||
_newTargetSelectTimer = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell)
|
void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell)
|
||||||
{
|
{
|
||||||
if (!_newTargetSelectTimer && spell->Id == sSpellMgr->GetSpellIdForDifficulty(SPELL_OOZE_ERUPTION, me))
|
if (!_newTargetSelectTimer && spell->Id == sSpellMgr->GetSpellIdForDifficulty(_hitTargetSpellId, me))
|
||||||
_newTargetSelectTimer = 1000;
|
_newTargetSelectTimer = 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -731,59 +743,8 @@ class npc_volatile_ooze : public CreatureScript
|
|||||||
if (!UpdateVictim() && !_newTargetSelectTimer)
|
if (!UpdateVictim() && !_newTargetSelectTimer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!_newTargetSelectTimer)
|
if (!_newTargetSelectTimer && !me->IsNonMeleeSpellCasted(false, false, true, false, true))
|
||||||
return;
|
|
||||||
|
|
||||||
if (me->HasAura(SPELL_TEAR_GAS_CREATURE))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (_newTargetSelectTimer <= diff)
|
|
||||||
{
|
|
||||||
_newTargetSelectTimer = 0;
|
|
||||||
me->CastSpell(me, SPELL_VOLATILE_OOZE_ADHESIVE, false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
_newTargetSelectTimer -= diff;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
uint32 _newTargetSelectTimer;
|
|
||||||
};
|
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* creature) const
|
|
||||||
{
|
|
||||||
return GetIcecrownCitadelAI<npc_putricide_oozeAI>(creature);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class npc_gas_cloud : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_gas_cloud() : CreatureScript("npc_gas_cloud") { }
|
|
||||||
|
|
||||||
struct npc_gas_cloudAI : public ScriptedAI
|
|
||||||
{
|
|
||||||
npc_gas_cloudAI(Creature* creature) : ScriptedAI(creature)
|
|
||||||
{
|
|
||||||
_newTargetSelectTimer = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell)
|
|
||||||
{
|
|
||||||
if (!_newTargetSelectTimer && spell->Id == sSpellMgr->GetSpellIdForDifficulty(SPELL_EXPUNGED_GAS, me))
|
|
||||||
_newTargetSelectTimer = 1000;
|
_newTargetSelectTimer = 1000;
|
||||||
}
|
|
||||||
|
|
||||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
|
|
||||||
{
|
|
||||||
if (spell->Id == SPELL_TEAR_GAS_CREATURE)
|
|
||||||
_newTargetSelectTimer = 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateAI(uint32 const diff)
|
|
||||||
{
|
|
||||||
if (!UpdateVictim() && !_newTargetSelectTimer)
|
|
||||||
return;
|
|
||||||
|
|
||||||
DoMeleeAttackIfReady();
|
DoMeleeAttackIfReady();
|
||||||
|
|
||||||
@@ -796,12 +757,59 @@ class npc_gas_cloud : public CreatureScript
|
|||||||
if (_newTargetSelectTimer <= diff)
|
if (_newTargetSelectTimer <= diff)
|
||||||
{
|
{
|
||||||
_newTargetSelectTimer = 0;
|
_newTargetSelectTimer = 0;
|
||||||
me->CastCustomSpell(SPELL_GASEOUS_BLOAT, SPELLVALUE_AURA_STACK, 10, me, false);
|
CastMainSpell();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_newTargetSelectTimer -= diff;
|
_newTargetSelectTimer -= diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void CastMainSpell() = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint32 _hitTargetSpellId;
|
||||||
|
uint32 _newTargetSelectTimer;
|
||||||
|
};
|
||||||
|
|
||||||
|
class npc_volatile_ooze : public CreatureScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
npc_volatile_ooze() : CreatureScript("npc_volatile_ooze") { }
|
||||||
|
|
||||||
|
struct npc_volatile_oozeAI : public npc_putricide_oozeAI
|
||||||
|
{
|
||||||
|
npc_volatile_oozeAI(Creature* creature) : npc_putricide_oozeAI(creature, SPELL_OOZE_ERUPTION)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CastMainSpell()
|
||||||
|
{
|
||||||
|
me->CastSpell(me, SPELL_VOLATILE_OOZE_ADHESIVE, false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
CreatureAI* GetAI(Creature* creature) const
|
||||||
|
{
|
||||||
|
return GetIcecrownCitadelAI<npc_volatile_oozeAI>(creature);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class npc_gas_cloud : public CreatureScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
npc_gas_cloud() : CreatureScript("npc_gas_cloud") { }
|
||||||
|
|
||||||
|
struct npc_gas_cloudAI : public npc_putricide_oozeAI
|
||||||
|
{
|
||||||
|
npc_gas_cloudAI(Creature* creature) : npc_putricide_oozeAI(creature, SPELL_EXPUNGED_GAS)
|
||||||
|
{
|
||||||
|
_newTargetSelectTimer = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CastMainSpell()
|
||||||
|
{
|
||||||
|
me->CastCustomSpell(SPELL_GASEOUS_BLOAT, SPELLVALUE_AURA_STACK, 10, me, false);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint32 _newTargetSelectTimer;
|
uint32 _newTargetSelectTimer;
|
||||||
};
|
};
|
||||||
@@ -900,23 +908,12 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
|
|||||||
GetCaster()->AddThreat(GetHitUnit(), 500000000.0f); // value seen in sniff
|
GetCaster()->AddThreat(GetHitUnit(), 500000000.0f); // value seen in sniff
|
||||||
}
|
}
|
||||||
|
|
||||||
// temporary, until SelectTarget are not called on empty lists
|
|
||||||
void CheckTarget()
|
|
||||||
{
|
|
||||||
if (_target)
|
|
||||||
return;
|
|
||||||
|
|
||||||
FinishCast(SPELL_FAILED_NO_VALID_TARGETS);
|
|
||||||
GetCaster()->ToCreature()->DespawnOrUnsummon(1); // despawn next update
|
|
||||||
}
|
|
||||||
|
|
||||||
void Register()
|
void Register()
|
||||||
{
|
{
|
||||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SetTarget, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SetTarget, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SetTarget, EFFECT_2, TARGET_UNIT_SRC_AREA_ENEMY);
|
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SetTarget, EFFECT_2, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||||
AfterHit += SpellHitFn(spell_putricide_ooze_channel_SpellScript::StartAttack);
|
AfterHit += SpellHitFn(spell_putricide_ooze_channel_SpellScript::StartAttack);
|
||||||
OnCast += SpellCastFn(spell_putricide_ooze_channel_SpellScript::CheckTarget);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldObject* _target;
|
WorldObject* _target;
|
||||||
@@ -1125,6 +1122,21 @@ class spell_putricide_unbound_plague : public SpellScriptLoader
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SpellCastResult CheckCast()
|
||||||
|
{
|
||||||
|
if (AuraEffect const* eff = GetCaster()->GetAuraEffect(SPELL_UNBOUND_PLAGUE_SEARCHER, EFFECT_0))
|
||||||
|
if (eff->GetTickNumber() < 2)
|
||||||
|
return SPELL_FAILED_DONT_REPORT;
|
||||||
|
|
||||||
|
return SPELL_CAST_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FilterTargets(std::list<WorldObject*>& targets)
|
||||||
|
{
|
||||||
|
targets.remove_if(Trinity::UnitAuraCheck(true, sSpellMgr->GetSpellIdForDifficulty(SPELL_UNBOUND_PLAGUE, GetCaster())));
|
||||||
|
Trinity::Containers::RandomResizeList(targets, 1);
|
||||||
|
}
|
||||||
|
|
||||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||||
{
|
{
|
||||||
if (!GetHitUnit())
|
if (!GetHitUnit())
|
||||||
@@ -1159,6 +1171,8 @@ class spell_putricide_unbound_plague : public SpellScriptLoader
|
|||||||
|
|
||||||
void Register()
|
void Register()
|
||||||
{
|
{
|
||||||
|
OnCheckCast += SpellCheckCastFn(spell_putricide_unbound_plague_SpellScript::CheckCast);
|
||||||
|
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_unbound_plague_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
|
||||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_unbound_plague_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
OnEffectHitTarget += SpellEffectFn(spell_putricide_unbound_plague_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -48,6 +48,6 @@ namespace Trinity
|
|||||||
return ACE_Strong_Bound_Ptr<Pointer, Lock>::get() != x;
|
return ACE_Strong_Bound_Ptr<Pointer, Lock>::get() != x;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user