aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_01_11_01_world_conditions.sql5
-rw-r--r--sql/updates/world/2013_01_11_02_world_sai.sql109
-rw-r--r--sql/updates/world/2013_01_11_03_world_sai.sql2
-rw-r--r--sql/updates/world/2013_01_11_04_world_sai.sql3
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp10
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp10
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.h2
-rw-r--r--src/server/game/Battlegrounds/BattlegroundQueue.cpp8
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp21
-rw-r--r--src/server/game/Conditions/ConditionMgr.h2
-rw-r--r--src/server/game/DataStores/DBCfmt.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp15
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp31
-rw-r--r--src/server/game/Handlers/BattleGroundHandler.cpp18
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp30
15 files changed, 175 insertions, 93 deletions
diff --git a/sql/updates/world/2013_01_11_01_world_conditions.sql b/sql/updates/world/2013_01_11_01_world_conditions.sql
new file mode 100644
index 00000000000..352efb792b4
--- /dev/null
+++ b/sql/updates/world/2013_01_11_01_world_conditions.sql
@@ -0,0 +1,5 @@
+DELETE FROM `spell_script_names` WHERE `spell_id`=36554;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=36554;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(17, 0, 36554, 0, 0, 21, 0, 1024, 0, 0, 1, 103, 0, '', 'Shadowstep - not using Shadowstep while rooted');
diff --git a/sql/updates/world/2013_01_11_02_world_sai.sql b/sql/updates/world/2013_01_11_02_world_sai.sql
new file mode 100644
index 00000000000..09466db2e94
--- /dev/null
+++ b/sql/updates/world/2013_01_11_02_world_sai.sql
@@ -0,0 +1,109 @@
+-- Colonel Zerran SAI
+SET @ENTRY := 15385;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,2,10000,11000,8000,9000,11,24317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Colonel Zerran - In Combat - Cast Sunder Armor'),
+(@ENTRY,0,1,0,0,0,100,2,12000,13000,8000,9000,11,25462,0,0,0,0,0,6,0,0,0,0,0,0,0, 'Colonel Zerran - In Combat - Cast Enlarge'),
+(@ENTRY,0,2,0,0,0,100,2,13000,17000,14000,18000,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Colonel Zerran - In Combat - Increment phase'),
+(@ENTRY,0,3,0,0,1,100,2,1000,1000,1000,1000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Colonel Zerran - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,4,0,0,1,100,2,2000,2000,2000,2000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Colonel Zerran - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,5,0,0,1,100,2,3000,3000,3000,3000,23,0,1,0,0,0,0,2,0,0,0,0,0,0,0, 'Colonel Zerran - In Combat - Decrement phase (Phase 1)');
+
+-- Major Yeggeth SAI
+SET @ENTRY := 15386;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,2,10000,11000,8000,9000,11,24317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Yeggeth - In Combat - Cast Sunder Armor'),
+(@ENTRY,0,1,0,0,0,100,2,12000,13000,8000,9000,11,25282,0,0,0,0,0,6,0,0,0,0,0,0,0, 'Major Yeggeth - In Combat - Cast Shield of Rajaxx'),
+(@ENTRY,0,2,0,0,0,100,2,13000,17000,14000,18000,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Yeggeth - In Combat - Increment phase'),
+(@ENTRY,0,3,0,0,1,100,2,1000,1000,1000,1000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Yeggeth - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,4,0,0,1,100,2,2000,2000,2000,2000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Yeggeth - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,5,0,0,1,100,2,3000,3000,3000,3000,23,0,1,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Yeggeth - In Combat - Decrement phase (Phase 1)');
+
+-- Qiraji Warrior SAI
+SET @ENTRY := 15387;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,1,2,0,100,3,0,25,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Qiraji Warrior - @25%HP - Cast Enrage'),
+(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Qiraji Warrior - @20%HP - Say 0');
+
+-- Add aura for Qiraji Warrior
+DELETE FROM `creature_template_addon` WHERE `entry`=15387;
+INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`auras`) VALUES
+(15387,1, '18950');
+
+-- NPC talk text for Qiraji Warrior
+DELETE FROM `creature_text` WHERE `entry` IN (15387);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(15387,0,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'Qiraji Warrior');
+
+-- Major Pakkon SAI
+SET @ENTRY := 15388;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,2,10000,11000,8000,9000,11,24317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Pakkon - In Combat - Cast Sunder Armor'),
+(@ENTRY,0,1,0,0,0,100,2,12000,13000,14000,15000,11,25322,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Major Pakkon - In Combat - Cast Sweeping Slam'),
+(@ENTRY,0,2,0,0,0,100,2,13000,17000,14000,18000,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Pakkon - In Combat - Increment phase'),
+(@ENTRY,0,3,0,0,1,100,2,1000,1000,1000,1000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Pakkon - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,4,0,0,1,100,2,2000,2000,2000,2000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Pakkon - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,5,0,0,1,100,2,3000,3000,3000,3000,23,0,1,0,0,0,0,2,0,0,0,0,0,0,0, 'Major Pakkon - In Combat - Decrement phase (Phase 1)');
+
+-- Captain Drenn SAI
+SET @ENTRY := 15389;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,2,10000,11000,8000,9000,11,24317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Drenn - In Combat - Cast Sunder Armor'),
+(@ENTRY,0,1,0,0,0,100,2,12000,13000,14000,15000,11,26550,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Captain Drenn - In Combat - Cast Lightning Cloud'),
+(@ENTRY,0,2,0,0,0,100,2,13000,17000,14000,18000,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Drenn - In Combat - Increment phase'),
+(@ENTRY,0,3,0,0,1,100,2,1000,1000,1000,1000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Drenn - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,4,0,0,1,100,2,2000,2000,2000,2000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Drenn - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,5,0,0,1,100,2,3000,3000,3000,3000,23,0,1,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Drenn - In Combat - Decrement phase (Phase 1)');
+
+-- Captain Xurrem SAI
+SET @ENTRY := 15390;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,2,10000,11000,8000,9000,11,24317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Xurrem - In Combat - Cast Sunder Armor'),
+(@ENTRY,0,1,0,0,0,100,2,12000,13000,14000,15000,11,25425,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Captain Xurrem - In Combat - Cast Shockwave'),
+(@ENTRY,0,2,0,0,0,100,2,13000,17000,14000,18000,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Xurrem - In Combat - Increment phase'),
+(@ENTRY,0,3,0,0,1,100,2,1000,1000,1000,1000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Xurrem - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,4,0,0,1,100,2,2000,2000,2000,2000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Xurrem - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,5,0,0,1,100,2,3000,3000,3000,3000,23,0,1,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Xurrem - In Combat - Decrement phase (Phase 1)');
+
+-- Captain Qeez SAI
+SET @ENTRY := 15391;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,2,10000,11000,8000,9000,11,24317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Qeez - In Combat - Cast Sunder Armor'),
+(@ENTRY,0,1,0,0,0,100,2,12000,13000,14000,15000,11,19134,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Captain Qeez - In Combat - Cast Frightening Shout'),
+(@ENTRY,0,2,0,0,0,100,2,13000,17000,14000,18000,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Qeez - In Combat - Increment phase'),
+(@ENTRY,0,3,0,0,1,100,2,1000,1000,1000,1000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Qeez - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,4,0,0,1,100,2,2000,2000,2000,2000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Qeez - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,5,0,0,1,100,2,3000,3000,3000,3000,23,0,1,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Qeez - In Combat - Decrement phase (Phase 1)');
+
+-- Captain Tuubid SAI
+SET @ENTRY := 15392;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,2,10000,11000,8000,9000,11,24317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Tuubid - In Combat - Cast Sunder Armor'),
+(@ENTRY,0,1,0,0,0,100,2,12000,13000,14000,15000,11,25471,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Captain Tuubid - In Combat - Cast Attack Order'), -- Needs scripting
+(@ENTRY,0,2,0,0,0,100,2,13000,17000,14000,18000,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Tuubid - In Combat - Increment phase'),
+(@ENTRY,0,3,0,0,1,100,2,1000,1000,1000,1000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Tuubid - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,4,0,0,1,100,2,2000,2000,2000,2000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Tuubid - In Combat - Cast Cleave (Phase 1)'),
+(@ENTRY,0,5,0,0,1,100,2,3000,3000,3000,3000,23,0,1,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Tuubid - In Combat - Decrement phase (Phase 1)');
diff --git a/sql/updates/world/2013_01_11_03_world_sai.sql b/sql/updates/world/2013_01_11_03_world_sai.sql
new file mode 100644
index 00000000000..e08252a4894
--- /dev/null
+++ b/sql/updates/world/2013_01_11_03_world_sai.sql
@@ -0,0 +1,2 @@
+UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=24683 AND `id`=13;
+UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=24696 AND `id`=12;
diff --git a/sql/updates/world/2013_01_11_04_world_sai.sql b/sql/updates/world/2013_01_11_04_world_sai.sql
new file mode 100644
index 00000000000..3c885d85cc1
--- /dev/null
+++ b/sql/updates/world/2013_01_11_04_world_sai.sql
@@ -0,0 +1,3 @@
+UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=23689 AND `id`=5;
+UPDATE `smart_scripts` SET `link`=0, `action_param2`=1 WHERE `entryorguid`=16357 AND `id`=3;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=16357 AND `id`=4;
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 52183b9509d..1fe7e4c1035 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -523,7 +523,7 @@ inline void Battleground::_ProcessJoin(uint32 diff)
WorldPacket status;
BattlegroundQueueTypeId bgQueueTypeId = sBattlegroundMgr->BGQueueTypeId(m_TypeID, GetArenaType());
uint32 queueSlot = player->GetBattlegroundQueueIndex(bgQueueTypeId);
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&status, this, queueSlot, STATUS_IN_PROGRESS, 0, GetStartTime(), GetArenaType());
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&status, this, queueSlot, STATUS_IN_PROGRESS, 0, GetStartTime(), GetArenaType(), player->GetBGTeam());
player->GetSession()->SendPacket(&status);
player->RemoveAurasDueToSpell(SPELL_ARENA_PREPARATION);
@@ -919,7 +919,7 @@ void Battleground::EndBattleground(uint32 winner)
player->GetSession()->SendPacket(&pvpLogData);
WorldPacket data;
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, this, player->GetBattlegroundQueueIndex(bgQueueTypeId), STATUS_IN_PROGRESS, TIME_TO_AUTOREMOVE, GetStartTime(), GetArenaType());
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, this, player->GetBattlegroundQueueIndex(bgQueueTypeId), STATUS_IN_PROGRESS, TIME_TO_AUTOREMOVE, GetStartTime(), GetArenaType(), player->GetBGTeam());
player->GetSession()->SendPacket(&data);
player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND, 1);
}
@@ -1022,7 +1022,7 @@ void Battleground::RemovePlayerAtLeave(uint64 guid, bool Transport, bool SendPac
if (SendPacket)
{
WorldPacket data;
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, this, player->GetBattlegroundQueueIndex(bgQueueTypeId), STATUS_NONE, 0, 0, 0);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, this, player->GetBattlegroundQueueIndex(bgQueueTypeId), STATUS_NONE, 0, 0, 0, 0);
player->GetSession()->SendPacket(&data);
}
@@ -1151,7 +1151,7 @@ void Battleground::AddPlayer(Player* player)
WorldPacket status;
BattlegroundQueueTypeId bgQueueTypeId = sBattlegroundMgr->BGQueueTypeId(m_TypeID, GetArenaType());
uint32 queueSlot = player->GetBattlegroundQueueIndex(bgQueueTypeId);
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&status, this, queueSlot, STATUS_IN_PROGRESS, 0, GetStartTime(), GetArenaType(), isArena() ? 0 : 1);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&status, this, queueSlot, STATUS_IN_PROGRESS, 0, GetStartTime(), GetArenaType(), team);
player->GetSession()->SendPacket(&status);
player->RemoveAurasByType(SPELL_AURA_MOUNTED);
@@ -1846,7 +1846,7 @@ void Battleground::PlayerAddedToBGCheckIfBGIsRunning(Player* player)
sBattlegroundMgr->BuildPvpLogDataPacket(&data, this);
player->GetSession()->SendPacket(&data);
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, this, player->GetBattlegroundQueueIndex(bgQueueTypeId), STATUS_IN_PROGRESS, GetEndTime(), GetStartTime(), GetArenaType());
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, this, player->GetBattlegroundQueueIndex(bgQueueTypeId), STATUS_IN_PROGRESS, GetEndTime(), GetStartTime(), GetArenaType(), player->GetBGTeam());
player->GetSession()->SendPacket(&data);
}
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 71ac8cf8180..451fa70a8c9 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -162,7 +162,7 @@ void BattlegroundMgr::Update(uint32 diff)
}
}
-void BattlegroundMgr::BuildBattlegroundStatusPacket(WorldPacket* data, Battleground* bg, uint8 QueueSlot, uint8 StatusID, uint32 Time1, uint32 Time2, uint8 arenatype, uint8 uiFrame)
+void BattlegroundMgr::BuildBattlegroundStatusPacket(WorldPacket* data, Battleground* bg, uint8 QueueSlot, uint8 StatusID, uint32 Time1, uint32 Time2, uint8 arenatype, uint8 arenaFaction)
{
// we can be in 2 queues in same time...
@@ -179,12 +179,12 @@ void BattlegroundMgr::BuildBattlegroundStatusPacket(WorldPacket* data, Battlegro
// The following segment is read as uint64 in client but can be appended as their original type.
*data << uint8(arenatype);
sLog->outDebug(LOG_FILTER_NETWORKIO, "BattlegroundMgr::BuildBattlegroundStatusPacket: arenatype = %u for bg instanceID %u, TypeID %u.", arenatype, bg->GetClientInstanceID(), bg->GetTypeID());
- *data << uint8(bg->isArena() ? 0xC : 0x2);
+ *data << uint8(bg->isArena() ? 0xE : 0x0);
*data << uint32(bg->GetTypeID());
*data << uint16(0x1F90);
// End of uint64 segment, decomposed this way for simplicity
- *data << uint8(0); // 3.3.0, some level, only saw 80...
- *data << uint8(0); // 3.3.0, some level, only saw 80...
+ *data << uint8(bg->GetMinLevel());
+ *data << uint8(bg->GetMaxLevel());
*data << uint32(bg->GetClientInstanceID());
// alliance/horde for BG and skirmish/rated for Arenas
// following displays the minimap-icon 0 = faction icon 1 = arenaicon
@@ -207,7 +207,7 @@ void BattlegroundMgr::BuildBattlegroundStatusPacket(WorldPacket* data, Battlegro
*data << uint64(0); // 3.3.5, unknown
*data << uint32(Time1); // time to bg auto leave, 0 at bg start, 120000 after bg end, milliseconds
*data << uint32(Time2); // time from bg start, milliseconds
- *data << uint8(uiFrame);
+ *data << uint8(arenaFaction); // arenafaction (0 for horde, 1 for alliance)
break;
default:
sLog->outError(LOG_FILTER_BATTLEGROUND, "Unknown BG status!");
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.h b/src/server/game/Battlegrounds/BattlegroundMgr.h
index 236494792d4..ee96414c5f2 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.h
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.h
@@ -80,7 +80,7 @@ class BattlegroundMgr
void BuildGroupJoinedBattlegroundPacket(WorldPacket* data, GroupJoinBattlegroundResult result);
void BuildUpdateWorldStatePacket(WorldPacket* data, uint32 field, uint32 value);
void BuildPvpLogDataPacket(WorldPacket* data, Battleground* bg);
- void BuildBattlegroundStatusPacket(WorldPacket* data, Battleground* bg, uint8 queueSlot, uint8 statusId, uint32 time1, uint32 time2, uint8 arenaType, uint8 uiFrame = 1);
+ void BuildBattlegroundStatusPacket(WorldPacket* data, Battleground* bg, uint8 queueSlot, uint8 statusId, uint32 time1, uint32 time2, uint8 arenaType, uint8 arenaFaction);
void BuildPlaySoundPacket(WorldPacket* data, uint32 soundId);
void SendAreaSpiritHealerQueryOpcode(Player* player, Battleground* bg, uint64 guid);
diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.cpp b/src/server/game/Battlegrounds/BattlegroundQueue.cpp
index 150cec08e3c..6d5f3d07bae 100644
--- a/src/server/game/Battlegrounds/BattlegroundQueue.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundQueue.cpp
@@ -396,7 +396,7 @@ void BattlegroundQueue::RemovePlayer(uint64 guid, bool decreaseInvitedCount)
plr2->RemoveBattlegroundQueueId(bgQueueTypeId); // must be called this way, because if you move this call to
// queue->removeplayer, it causes bugs
WorldPacket data;
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_NONE, 0, 0, 0);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_NONE, 0, 0, 0, 0);
plr2->GetSession()->SendPacket(&data);
}
// then actually delete, this may delete the group as well!
@@ -481,7 +481,7 @@ bool BattlegroundQueue::InviteGroupToBG(GroupQueueInfo* ginfo, Battleground* bg,
player->GetName().c_str(), player->GetGUIDLow(), bg->GetInstanceID(), queueSlot, bg->GetTypeID());
// send status packet
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_JOIN, INVITE_ACCEPT_WAIT_TIME, 0, ginfo->ArenaType);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_JOIN, INVITE_ACCEPT_WAIT_TIME, 0, ginfo->ArenaType, 0);
player->GetSession()->SendPacket(&data);
}
return true;
@@ -1003,7 +1003,7 @@ bool BGQueueInviteEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/)
{
WorldPacket data;
//we must send remaining time in queue
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_JOIN, INVITE_ACCEPT_WAIT_TIME - INVITATION_REMIND_TIME, 0, m_ArenaType);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_JOIN, INVITE_ACCEPT_WAIT_TIME - INVITATION_REMIND_TIME, 0, m_ArenaType, 0);
player->GetSession()->SendPacket(&data);
}
}
@@ -1051,7 +1051,7 @@ bool BGQueueRemoveEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/)
sBattlegroundMgr->ScheduleQueueUpdate(0, 0, m_BgQueueTypeId, m_BgTypeId, bg->GetBracketId());
WorldPacket data;
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_NONE, 0, 0, 0);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_NONE, 0, 0, 0, 0);
player->GetSession()->SendPacket(&data);
}
}
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 0526c9276f9..d476113edc4 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -311,6 +311,12 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo)
condMeets = ((1 << object->GetMap()->GetSpawnMode()) & ConditionValue1);
break;
}
+ case CONDITION_UNIT_STATE:
+ {
+ if (Unit* unit = object->ToUnit())
+ condMeets = unit->HasUnitState(ConditionValue1);
+ break;
+ }
default:
condMeets = false;
break;
@@ -468,6 +474,9 @@ uint32 Condition::GetSearcherTypeMaskForCondition()
case CONDITION_GENDER:
mask |= GRID_MAP_TYPE_MASK_PLAYER;
break;
+ case CONDITION_UNIT_STATE:
+ mask |= GRID_MAP_TYPE_MASK_CREATURE | GRID_MAP_TYPE_MASK_PLAYER;
+ break;
default:
ASSERT(false && "Condition::GetSearcherTypeMaskForCondition - missing condition handling!");
break;
@@ -1957,9 +1966,15 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
}
break;
}
- case CONDITION_UNUSED_21:
- sLog->outError(LOG_FILTER_SQL, "Found ConditionTypeOrReference = CONDITION_UNUSED_21 in `conditions` table - ignoring");
- return false;
+ case CONDITION_UNIT_STATE:
+ {
+ if (cond->ConditionValue1 > uint32(UNIT_STATE_ALL_STATE))
+ {
+ sLog->outError(LOG_FILTER_SQL, "UnitState condition has non existing UnitState in value1 (%u), skipped", cond->ConditionValue1);
+ return false;
+ }
+ break;
+ }
case CONDITION_UNUSED_24:
sLog->outError(LOG_FILTER_SQL, "Found ConditionTypeOrReference = CONDITION_UNUSED_24 in `conditions` table - ignoring");
return false;
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index fec5cd6fc95..b49626747a6 100644
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -54,7 +54,7 @@ enum ConditionTypes
CONDITION_TITLE = 18, // title id 0 0 true if player has title
CONDITION_SPAWNMASK = 19, // spawnMask 0 0 true if in spawnMask
CONDITION_GENDER = 20, // gender 0 0 true if player's gender is equal to gender
- CONDITION_UNUSED_21 = 21, //
+ CONDITION_UNIT_STATE = 21, // unitState 0 0 true if unit has unitState
CONDITION_MAPID = 22, // map_id 0 0 true if in map_id
CONDITION_AREAID = 23, // area_id 0 0 true if in area_id
CONDITION_UNUSED_24 = 24, //
diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h
index 1395440fb6d..d0784f05c4d 100644
--- a/src/server/game/DataStores/DBCfmt.h
+++ b/src/server/game/DataStores/DBCfmt.h
@@ -31,7 +31,7 @@ char const AuctionHouseEntryfmt[]="niiixxxxxxxxxxxxxxxxx";
char const BankBagSlotPricesEntryfmt[]="ni";
char const BarberShopStyleEntryfmt[]="nixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiii";
char const BattlemasterListEntryfmt[]="niiiiiiiiixssssssssssssssssxiixx";
-char const CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
+char const CharStartOutfitEntryfmt[]="xniiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
char const CharTitlesEntryfmt[]="nxssssssssssssssssxxxxxxxxxxxxxxxxxxi";
char const ChatChannelsEntryfmt[]="nixssssssssssssssssxxxxxxxxxxxxxxxxxx";
// ChatChannelsEntryfmt, index not used (more compact store)
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index e501471b688..14878b078bd 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -1120,20 +1120,7 @@ bool Player::Create(uint32 guidlow, CharacterCreateInfo* createInfo)
addActionButton(action_itr->button, action_itr->action, action_itr->type);
// original items
- CharStartOutfitEntry const* oEntry = NULL;
- for (uint32 i = 1; i < sCharStartOutfitStore.GetNumRows(); ++i)
- {
- if (CharStartOutfitEntry const* entry = sCharStartOutfitStore.LookupEntry(i))
- {
- if (entry->RaceClassGender == RaceClassGender)
- {
- oEntry = entry;
- break;
- }
- }
- }
-
- if (oEntry)
+ if (CharStartOutfitEntry const* oEntry = sCharStartOutfitStore.LookupEntry(RaceClassGender))
{
for (int j = 0; j < MAX_OUTFIT_ITEMS; ++j)
{
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index b41b61904e6..2ba456b5b3c 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -2957,32 +2957,23 @@ void ObjectMgr::PlayerCreateInfoAddItemHelper(uint32 race_, uint32 class_, uint3
sLog->outError(LOG_FILTER_SQL, "Invalid count %i specified on item %u be removed from original player create info (use -1)!", count, itemId);
uint32 RaceClass = (race_) | (class_ << 8);
- bool doneOne = false;
- for (uint32 i = 1; i < sCharStartOutfitStore.GetNumRows(); ++i)
+ for (uint32 gender = 0; gender < GENDER_NONE; ++gender)
{
- if (CharStartOutfitEntry const* entry = sCharStartOutfitStore.LookupEntry(i))
+ if (CharStartOutfitEntry const* entry = sCharStartOutfitStore.LookupEntry(RaceClass | (gender << 16)))
{
- if (entry->RaceClassGender == RaceClass || entry->RaceClassGender == (RaceClass | (1 << 16)))
+ bool found = false;
+ for (uint8 x = 0; x < MAX_OUTFIT_ITEMS; ++x)
{
- bool found = false;
- for (uint8 x = 0; x < MAX_OUTFIT_ITEMS; ++x)
+ if (entry->ItemId[x] > 0 && uint32(entry->ItemId[x]) == itemId)
{
- if (entry->ItemId[x] > 0 && uint32(entry->ItemId[x]) == itemId)
- {
- found = true;
- const_cast<CharStartOutfitEntry*>(entry)->ItemId[x] = 0;
- break;
- }
- }
-
- if (!found)
- sLog->outError(LOG_FILTER_SQL, "Item %u specified to be removed from original create info not found in dbc!", itemId);
-
- if (!doneOne)
- doneOne = true;
- else
+ found = true;
+ const_cast<CharStartOutfitEntry*>(entry)->ItemId[x] = 0;
break;
+ }
}
+
+ if (!found)
+ sLog->outError(LOG_FILTER_SQL, "Item %u specified to be removed from original create info not found in dbc!", itemId);
}
}
}
diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp
index a7df171b1c5..5fb97a031f1 100644
--- a/src/server/game/Handlers/BattleGroundHandler.cpp
+++ b/src/server/game/Handlers/BattleGroundHandler.cpp
@@ -187,7 +187,7 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recvData)
WorldPacket data;
// send status packet (in queue)
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, ginfo->ArenaType);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, ginfo->ArenaType, 0);
SendPacket(&data);
sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Battleground: player joined queue for bg queue type %u bg type %u: GUID %u, NAME %s",
bgQueueTypeId, bgTypeId, _player->GetGUIDLow(), _player->GetName().c_str());
@@ -233,7 +233,7 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recvData)
uint32 queueSlot = member->AddBattlegroundQueueId(bgQueueTypeId);
// send status packet (in queue)
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, ginfo->ArenaType);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, ginfo->ArenaType, 0);
member->GetSession()->SendPacket(&data);
sBattlegroundMgr->BuildGroupJoinedBattlegroundPacket(&data, err);
member->GetSession()->SendPacket(&data);
@@ -453,7 +453,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket &recvData)
_player->CleanupAfterTaxiFlight();
}
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_IN_PROGRESS, 0, bg->GetStartTime(), bg->GetArenaType());
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_IN_PROGRESS, 0, bg->GetStartTime(), bg->GetArenaType(), _player->GetBGTeam());
_player->GetSession()->SendPacket(&data);
// remove battleground queue status from BGmgr
bgQueue.RemovePlayer(_player->GetGUID(), false);
@@ -489,7 +489,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket &recvData)
}
}
_player->RemoveBattlegroundQueueId(bgQueueTypeId); // must be called this way, because if you move this call to queue->removeplayer, it causes bugs
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_NONE, 0, 0, 0);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_NONE, 0, 0, 0, 0);
bgQueue.RemovePlayer(_player->GetGUID(), true);
// player left queue, we should update it - do not update Arena Queue
if (!ginfo.ArenaType)
@@ -541,7 +541,7 @@ void WorldSession::HandleBattlefieldStatusOpcode(WorldPacket & /*recvData*/)
{
// this line is checked, i only don't know if GetStartTime is changing itself after bg end!
// send status in Battleground
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, i, STATUS_IN_PROGRESS, bg->GetEndTime(), bg->GetStartTime(), arenaType);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, i, STATUS_IN_PROGRESS, bg->GetEndTime(), bg->GetStartTime(), arenaType, _player->GetBGTeam());
SendPacket(&data);
continue;
}
@@ -559,7 +559,7 @@ void WorldSession::HandleBattlefieldStatusOpcode(WorldPacket & /*recvData*/)
continue;
uint32 remainingTime = getMSTimeDiff(getMSTime(), ginfo.RemoveInviteTime);
// send status invited to Battleground
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, i, STATUS_WAIT_JOIN, remainingTime, 0, arenaType);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, i, STATUS_WAIT_JOIN, remainingTime, 0, arenaType, 0);
SendPacket(&data);
}
else
@@ -575,7 +575,7 @@ void WorldSession::HandleBattlefieldStatusOpcode(WorldPacket & /*recvData*/)
uint32 avgTime = bgQueue.GetAverageQueueWaitTime(&ginfo, bracketEntry->GetBracketId());
// send status in Battleground Queue
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, i, STATUS_WAIT_QUEUE, avgTime, getMSTimeDiff(ginfo.JoinTime, getMSTime()), arenaType);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, i, STATUS_WAIT_QUEUE, avgTime, getMSTimeDiff(ginfo.JoinTime, getMSTime()), arenaType, 0);
SendPacket(&data);
}
}
@@ -727,7 +727,7 @@ void WorldSession::HandleBattlemasterJoinArena(WorldPacket& recvData)
uint32 queueSlot = member->AddBattlegroundQueueId(bgQueueTypeId);
// send status packet (in queue)
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, arenatype);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, arenatype, 0);
member->GetSession()->SendPacket(&data);
sBattlegroundMgr->BuildGroupJoinedBattlegroundPacket(&data, err);
member->GetSession()->SendPacket(&data);
@@ -742,7 +742,7 @@ void WorldSession::HandleBattlemasterJoinArena(WorldPacket& recvData)
WorldPacket data;
// send status packet (in queue)
- sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, arenatype);
+ sBattlegroundMgr->BuildBattlegroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, arenatype, 0);
SendPacket(&data);
sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Battleground: player joined queue for arena, skirmish, bg queue type %u bg type %u: GUID %u, NAME %s", bgQueueTypeId, bgTypeId, _player->GetGUIDLow(), _player->GetName().c_str());
}
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index 01a4225cc00..1a2738afdbb 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -348,35 +348,6 @@ class spell_rog_prey_on_the_weak : public SpellScriptLoader
}
};
-// 36554 - Shadowstep
-class spell_rog_shadowstep : public SpellScriptLoader
-{
- public:
- spell_rog_shadowstep() : SpellScriptLoader("spell_rog_shadowstep") { }
-
- class spell_rog_shadowstep_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_rog_shadowstep_SpellScript);
-
- SpellCastResult CheckCast()
- {
- if (GetCaster()->HasUnitState(UNIT_STATE_ROOT))
- return SPELL_FAILED_ROOTED;
- return SPELL_CAST_OK;
- }
-
- void Register()
- {
- OnCheckCast += SpellCheckCastFn(spell_rog_shadowstep_SpellScript::CheckCast);
- }
- };
-
- SpellScript* GetSpellScript() const
- {
- return new spell_rog_shadowstep_SpellScript();
- }
-};
-
// 5938 - Shiv
class spell_rog_shiv : public SpellScriptLoader
{
@@ -425,6 +396,5 @@ void AddSC_rogue_spell_scripts()
new spell_rog_nerves_of_steel();
new spell_rog_preparation();
new spell_rog_prey_on_the_weak();
- new spell_rog_shadowstep();
new spell_rog_shiv();
}