From 404a036fa9a920cff69a522b44017ed60f920c97 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 27 Sep 2012 22:38:19 +0100 Subject: adding Title converter to faction converter, original author Silinoron --- src/server/game/Globals/ObjectMgr.cpp | 35 +++++++++++++++ src/server/game/Globals/ObjectMgr.h | 2 + src/server/game/Handlers/CharacterHandler.cpp | 65 +++++++++++++++++++++++++++ src/server/game/World/World.cpp | 3 ++ 4 files changed, 105 insertions(+) (limited to 'src/server/game') diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 7d94e0ad209..5ef9efa0396 100755 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -8605,6 +8605,41 @@ void ObjectMgr::LoadFactionChangeReputations() sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u faction change reputation pairs in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); } +void ObjectMgr::LoadFactionChangeTitles() +{ + uint32 oldMSTime = getMSTime(); + + QueryResult result = WorldDatabase.Query("SELECT alliance_id, horde_id FROM player_factionchange_titles"); + + if (!result) + { + sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 faction change title pairs. DB table `player_factionchange_title` is empty."); + return; + } + + uint32 count = 0; + + do + { + Field* fields = result->Fetch(); + + uint32 alliance = fields[0].GetUInt32(); + uint32 horde = fields[1].GetUInt32(); + + if (!sCharTitlesStore.LookupEntry(alliance)) + sLog->outError(LOG_FILTER_SQL, "Title %u referenced in `player_factionchange_title` does not exist, pair skipped!", alliance); + else if (!sCharTitlesStore.LookupEntry(horde)) + sLog->outError(LOG_FILTER_SQL, "Title %u referenced in `player_factionchange_title` does not exist, pair skipped!", horde); + else + FactionChange_Titles[alliance] = horde; + + ++count; + } + while (result->NextRow()); + + sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u faction change title pairs in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); +} + GameObjectTemplate const* ObjectMgr::GetGameObjectTemplate(uint32 entry) { GameObjectTemplateContainer::const_iterator itr = _gameObjectTemplateStore.find(entry); diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index a6d1dc6c386..bbd95e22685 100755 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -1139,11 +1139,13 @@ class ObjectMgr CharacterConversionMap FactionChange_Items; CharacterConversionMap FactionChange_Spells; CharacterConversionMap FactionChange_Reputation; + CharacterConversionMap FactionChange_Titles; void LoadFactionChangeAchievements(); void LoadFactionChangeItems(); void LoadFactionChangeSpells(); void LoadFactionChangeReputations(); + void LoadFactionChangeTitles(); private: // first free id for selected id type diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 39cf0d6b3cf..5a7ecd6d10b 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1644,6 +1644,7 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data) uint32 level = uint32(fields[1].GetUInt8()); uint32 at_loginFlags = fields[2].GetUInt16(); uint32 used_loginFlag = ((recv_data.GetOpcode() == CMSG_CHAR_RACE_CHANGE) ? AT_LOGIN_CHANGE_RACE : AT_LOGIN_CHANGE_FACTION); + const char *knownTitlesStr = fields[3].GetCString(); if (!sObjectMgr->GetPlayerInfo(race, playerClass)) { @@ -2014,6 +2015,70 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data) stmt->setUInt32(2, lowGuid); trans->Append(stmt); } + + // Title conversion + if (knownTitlesStr) + { + const uint32 ktcount = KNOWN_TITLES_SIZE * 2; + uint32 knownTitles[ktcount]; + Tokens tokens(knownTitlesStr, ' ', ktcount); + + if (tokens.size() != ktcount) + return; + + for (uint32 index = 0; index < ktcount; ++index) + knownTitles[index] = atol(tokens[index]); + + for (std::map::const_iterator it = sObjectMgr->FactionChange_Titles.begin(); it != sObjectMgr->FactionChange_Titles.end(); ++it) + { + uint32 title_alliance = it->first; + uint32 title_horde = it->second; + + CharTitlesEntry const* atitleInfo = sCharTitlesStore.LookupEntry(title_alliance); + CharTitlesEntry const* htitleInfo = sCharTitlesStore.LookupEntry(title_horde); + // new team + if (team == BG_TEAM_ALLIANCE) + { + uint32 bitIndex = htitleInfo->bit_index; + uint32 index = bitIndex / 32; + uint32 old_flag = 1 << (bitIndex % 32); + uint32 new_flag = 1 << (atitleInfo->bit_index % 32); + if (knownTitles[index] & old_flag) + { + knownTitles[index] &= ~old_flag; + // use index of the new title + knownTitles[atitleInfo->bit_index / 32] |= new_flag; + } + } + else + { + uint32 bitIndex = atitleInfo->bit_index; + uint32 index = bitIndex / 32; + uint32 old_flag = 1 << (bitIndex % 32); + uint32 new_flag = 1 << (htitleInfo->bit_index % 32); + if (knownTitles[index] & old_flag) + { + knownTitles[index] &= ~old_flag; + // use index of the new title + knownTitles[htitleInfo->bit_index / 32] |= new_flag; + } + } + + std::ostringstream ss; + for (uint32 index = 0; index < ktcount; ++index) + ss << knownTitles[index] << ' '; + + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_TITLES_FACTION_CHANGE); + stmt->setString(0, ss.str().c_str()); + stmt->setUInt32(1, lowGuid); + trans->Append(stmt); + + // unset any currently chosen title + stmt = CharacterDatabase.GetPreparedStatement(CHAR_RES_CHAR_TITLES_FACTION_CHANGE); + stmt->setUInt32(0, lowGuid); + trans->Append(stmt); + } + } } CharacterDatabase.CommitTransaction(trans); diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 1d1fb45b74e..6ef3932252a 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1617,6 +1617,9 @@ void World::SetInitialWorldSettings() sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading faction change reputation pairs..."); sObjectMgr->LoadFactionChangeReputations(); + sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading faction change title pairs..."); + sObjectMgr->LoadFactionChangeTitles(); + sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading GM tickets..."); sTicketMgr->LoadTickets(); -- cgit v1.2.3 From 45af997cca92e54339056847e0be7b683ebf37ab Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 28 Sep 2012 14:39:06 +0100 Subject: some WSG improvements * correct worldstates * remove focused/brutal assault on a flag capture --- .../game/Battlegrounds/Zones/BattlegroundWS.cpp | 34 +++++++++++++--------- src/server/game/Entities/Player/Player.cpp | 2 +- 2 files changed, 21 insertions(+), 15 deletions(-) (limited to 'src/server/game') diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp index a50553d2fa3..024c570d174 100755 --- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp @@ -65,7 +65,7 @@ void BattlegroundWS::PostUpdateImpl(uint32 diff) { if (GetStatus() == STATUS_IN_PROGRESS) { - if (GetStartTime() >= 25*MINUTE*IN_MILLISECONDS) + if (GetStartTime() >= 27*MINUTE*IN_MILLISECONDS) { if (GetTeamScore(ALLIANCE) == 0) { @@ -83,7 +83,8 @@ void BattlegroundWS::PostUpdateImpl(uint32 diff) else EndBattleground(ALLIANCE); } - else if (GetStartTime() > uint32(_minutesElapsed * MINUTE * IN_MILLISECONDS)) + // first update needed after 1 minute of game already in progress + else if (GetStartTime() > uint32(_minutesElapsed * MINUTE * IN_MILLISECONDS) + 3 * MINUTE * IN_MILLISECONDS) { ++_minutesElapsed; UpdateWorldState(BG_WS_STATE_TIMER, 25 - _minutesElapsed); @@ -159,6 +160,17 @@ void BattlegroundWS::PostUpdateImpl(uint32 diff) } else { + if (Player* player = ObjectAccessor::FindPlayer(m_FlagKeepers[0])) + { + player->RemoveAurasDueToSpell(WS_SPELL_FOCUSED_ASSAULT); + player->RemoveAurasDueToSpell(WS_SPELL_BRUTAL_ASSAULT); + } + if (Player* player = ObjectAccessor::FindPlayer(m_FlagKeepers[1])) + { + player->RemoveAurasDueToSpell(WS_SPELL_FOCUSED_ASSAULT); + player->RemoveAurasDueToSpell(WS_SPELL_BRUTAL_ASSAULT); + } + _flagSpellForceTimer = 0; //reset timer. _flagDebuffState = 0; } @@ -826,23 +838,17 @@ void BattlegroundWS::FillInitialWorldStates(WorldPacket& data) data << uint32(BG_WS_FLAG_CAPTURES_MAX) << uint32(BG_WS_MAX_TEAM_SCORE); - if (GetStatus() == STATUS_IN_PROGRESS) - { - data << uint32(BG_WS_STATE_TIMER_ACTIVE) << uint32(1); - data << uint32(BG_WS_STATE_TIMER) << uint32(25-_minutesElapsed); - } - else - data << uint32(BG_WS_STATE_TIMER_ACTIVE) << uint32(0); - if (_flagState[BG_TEAM_HORDE] == BG_WS_FLAG_STATE_ON_PLAYER) - data << uint32(BG_WS_FLAG_STATE_ALLIANCE) << uint32(2); + data << uint32(BG_WS_FLAG_STATE_HORDE) << uint32(2); else - data << uint32(BG_WS_FLAG_STATE_ALLIANCE) << uint32(1); + data << uint32(BG_WS_FLAG_STATE_HORDE) << uint32(1); if (_flagState[BG_TEAM_ALLIANCE] == BG_WS_FLAG_STATE_ON_PLAYER) - data << uint32(BG_WS_FLAG_STATE_HORDE) << uint32(2); + data << uint32(BG_WS_FLAG_STATE_ALLIANCE) << uint32(2); else - data << uint32(BG_WS_FLAG_STATE_HORDE) << uint32(1); + data << uint32(BG_WS_FLAG_STATE_ALLIANCE) << uint32(1); + data << uint32(BG_WS_STATE_TIMER_ACTIVE) << uint32(1); + data << uint32(BG_WS_STATE_TIMER) << uint32(25 - _minutesElapsed); } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ee5f33fc59c..e373b85a6bf 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -9076,7 +9076,7 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) NumberOfFields = 83; break; case 3277: - NumberOfFields = 16; + NumberOfFields = 18; break; case 3358: case 3820: -- cgit v1.2.3 From dcf68a02f6782c65bc303b9ad3d74dcd3300c216 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 28 Sep 2012 19:54:17 +0100 Subject: typo --- src/server/game/Handlers/CharacterHandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/game') diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 5a7ecd6d10b..8f98135aafb 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1644,7 +1644,7 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data) uint32 level = uint32(fields[1].GetUInt8()); uint32 at_loginFlags = fields[2].GetUInt16(); uint32 used_loginFlag = ((recv_data.GetOpcode() == CMSG_CHAR_RACE_CHANGE) ? AT_LOGIN_CHANGE_RACE : AT_LOGIN_CHANGE_FACTION); - const char *knownTitlesStr = fields[3].GetCString(); + char const* knownTitlesStr = fields[3].GetCString(); if (!sObjectMgr->GetPlayerInfo(race, playerClass)) { -- cgit v1.2.3 From 8a18449a74abcf2322dd45f87ec29d3bf05fedcd Mon Sep 17 00:00:00 2001 From: Nay Date: Sun, 30 Sep 2012 15:33:56 +0100 Subject: SQL: Rename file merged in PR; Core: cleanup whitespace and tabs --- .../world/2012_09_30_00_world_creature_text.sql | 12 ++ .../world/2012_XX_XX_XX_world_creature_text.sql | 12 -- .../game/Battlefield/Zones/BattlefieldWG.cpp | 4 +- src/server/game/Entities/Unit/Unit.cpp | 2 +- .../AzjolNerub/Ahnkahet/boss_elder_nadox.cpp | 2 +- .../Northrend/Ulduar/Ulduar/boss_mimiron.cpp | 142 ++++++++++----------- src/server/scripts/Spells/spell_paladin.cpp | 2 +- 7 files changed, 88 insertions(+), 88 deletions(-) create mode 100644 sql/updates/world/2012_09_30_00_world_creature_text.sql delete mode 100644 sql/updates/world/2012_XX_XX_XX_world_creature_text.sql (limited to 'src/server/game') diff --git a/sql/updates/world/2012_09_30_00_world_creature_text.sql b/sql/updates/world/2012_09_30_00_world_creature_text.sql new file mode 100644 index 00000000000..e0f9f210d7b --- /dev/null +++ b/sql/updates/world/2012_09_30_00_world_creature_text.sql @@ -0,0 +1,12 @@ +-- AzjolNerub/Ahnkahet/Elder Nadox +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1619020 AND -1619014; +DELETE FROM `creature_text` WHERE `entry`=29309; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(29309,0,0, 'The secrets of the deep shall remain hidden.',14,0,100,0,0,14033, 'SAY_AGGRO'), +(29309,1,0, 'Sleep now, in the cold dark.',14,0,100,0,0,14036, 'SAY_SLAY_1'), +(29309,1,1, 'For the Lich King!',14,0,100,0,0,14037, 'SAY_SLAY_2'), +(29309,1,2, 'Perhaps we will be allies soon.',14,0,100,0,0,14038, 'SAY_SLAY_3'), +(29309,2,0, 'Master, is my service complete?',14,0,100,0,0,14039, 'SAY_DEATH'), +(29309,3,0, 'The young must not grow hungry...',14,0,100,0,0,14034, 'SAY_EGG_SAC_1'), +(29309,3,1, 'Shhhad ak kereeesshh chak-k-k!',14,0,100,0,0,14035, 'SAY_EGG_SAC_2'), +(29309,4,0, 'An Ahn''kahar Guardian hatches!',16,0,100,0,0,14035, 'EMOTE_HATCHES'); diff --git a/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql b/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql deleted file mode 100644 index 57e0d6c1a22..00000000000 --- a/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql +++ /dev/null @@ -1,12 +0,0 @@ --- AzjolNerub/Ahnkahet/Elder Nadox -DELETE FROM `script_texts` WHERE `entry` BETWEEN -1619020 AND -1619014; -DELETE FROM `creature_text` WHERE `entry`=29309; -INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES -(29309,0,0, 'The secrets of the deep shall remain hidden.',14,0,100,0,0,14033, 'SAY_AGGRO'), -(29309,1,0, 'Sleep now, in the cold dark.',14,0,100,0,0,14036, 'SAY_SLAY_1'), -(29309,1,1, 'For the Lich King!',14,0,100,0,0,14037, 'SAY_SLAY_2'), -(29309,1,2, 'Perhaps we will be allies soon.',14,0,100,0,0,14038, 'SAY_SLAY_3'), -(29309,2,0, 'Master, is my service complete?',14,0,100,0,0,14039, 'SAY_DEATH'), -(29309,3,0, 'The young must not grow hungry...',14,0,100,0,0,14034, 'SAY_EGG_SAC_1'), -(29309,3,1, 'Shhhad ak kereeesshh chak-k-k!',14,0,100,0,0,14035, 'SAY_EGG_SAC_2'), -(29309,4,0, 'An Ahn''kahar Guardian hatches!',16,0,100,0,0,14035, 'EMOTE_HATCHES'); \ No newline at end of file diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index 0da2a9ca06c..de1ee1785d8 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -876,9 +876,9 @@ void BattlefieldWG::SendInitWorldStatesTo(Player* player) data << uint32(m_ZoneId); data << uint32(0); data << uint16(10 + BuildingsInZone.size() + WorkshopsList.size()); // Number of fields - + FillInitialWorldStates(data); - + player->GetSession()->SendPacket(&data); } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 3e9ab113918..0a3876c6946 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -6673,7 +6673,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere { victim->CastCustomSpell(beaconTarget, triggered_spell_id, &basepoints0, NULL, NULL, true, 0, triggeredByAura); return true; - } + } else return false; } diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp index 4893191beb3..9274a016e2f 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp @@ -25,7 +25,7 @@ enum Yells SAY_SLAY = 1, SAY_DEATH = 2, SAY_EGG_SAC = 3, - EMOTE_HATCHES = 4 + EMOTE_HATCHES = 4 }; enum Spells diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 2a1048da2d7..6a4a5255293 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -21,93 +21,93 @@ enum Yells { - SAY_AGGRO = 0, - SAY_HARDMODE_ON = 1, - SAY_MKII_ACTIVATE = 2, - SAY_MKII_SLAY = 3, - SAY_MKII_DEATH = 4, - SAY_VX001_ACTIVATE = 5, - SAY_VX001_SLAY = 6, - SAY_VX001_DEATH = 7, - SAY_AERIAL_ACTIVATE = 8, - SAY_AERIAL_SLAY = 9, - SAY_AERIAL_DEATH = 10, - SAY_V07TRON_ACTIVATE = 11, - SAY_V07TRON_SLAY = 12, - SAY_V07TRON_DEATH = 13, - SAY_BERSERK = 14, - SAY_YS_HELP = 15 + SAY_AGGRO = 0, + SAY_HARDMODE_ON = 1, + SAY_MKII_ACTIVATE = 2, + SAY_MKII_SLAY = 3, + SAY_MKII_DEATH = 4, + SAY_VX001_ACTIVATE = 5, + SAY_VX001_SLAY = 6, + SAY_VX001_DEATH = 7, + SAY_AERIAL_ACTIVATE = 8, + SAY_AERIAL_SLAY = 9, + SAY_AERIAL_DEATH = 10, + SAY_V07TRON_ACTIVATE = 11, + SAY_V07TRON_SLAY = 12, + SAY_V07TRON_DEATH = 13, + SAY_BERSERK = 14, + SAY_YS_HELP = 15 }; enum Spells { - SPELL_JETPACK = 63341, - SPELL_EMERGENCY_MODE = 64582, - SPELL_SELF_REPAIR = 64383, - SPELL_MAGNETIC_CORE = 64444, - // Leviathan MK II - SPELL_FLAME_SUPPRESSANT_MK = 64570, - SPELL_NAPALM_SHELL = 63666, - SPELL_PLASMA_BLAST = 62977, - SPELL_PROXIMITY_MINES = 63027, - SPELL_SHOCK_BLAST = 63631, - // VX 001 - SPELL_FLAME_SUPPRESSANT_VX = 65192, - SPELL_FROSTBOMB = 64623, - SPELL_HAND_PULSE = 64348, - SPELL_SPINNING_UP = 63414, - SPELL_RAPID_BURST = 63387, - SPELL_P3WX2_LASER_BARRAGE = 63293, - SPELL_ROCKET_STRIKE = 63041, - SPELL_HEAT_WAVE = 63677, - // Aerial Command Unit - SPELL_PLASMA_BALL = 63689, - // Additonal spells - SPELL_MAGNETIC_FIELD = 64668, - SPELL_DEAFENING_SIREN = 64616, - SPELL_WATER_SPRAY = 64619, - SPELL_FROST_BOMB_HARD_MODE = 64627, - SPELL_EXPLOSION = 66351, - SPELL_DISARM = 1842, - SPELL_RIDE_VEHICLE = 46598, - SPELL_TRIGGER_MISSILE = 65347, + SPELL_JETPACK = 63341, + SPELL_EMERGENCY_MODE = 64582, + SPELL_SELF_REPAIR = 64383, + SPELL_MAGNETIC_CORE = 64444, + // Leviathan MK II + SPELL_FLAME_SUPPRESSANT_MK = 64570, + SPELL_NAPALM_SHELL = 63666, + SPELL_PLASMA_BLAST = 62977, + SPELL_PROXIMITY_MINES = 63027, + SPELL_SHOCK_BLAST = 63631, + // VX 001 + SPELL_FLAME_SUPPRESSANT_VX = 65192, + SPELL_FROSTBOMB = 64623, + SPELL_HAND_PULSE = 64348, + SPELL_SPINNING_UP = 63414, + SPELL_RAPID_BURST = 63387, + SPELL_P3WX2_LASER_BARRAGE = 63293, + SPELL_ROCKET_STRIKE = 63041, + SPELL_HEAT_WAVE = 63677, + // Aerial Command Unit + SPELL_PLASMA_BALL = 63689, + // Additonal spells + SPELL_MAGNETIC_FIELD = 64668, + SPELL_DEAFENING_SIREN = 64616, + SPELL_WATER_SPRAY = 64619, + SPELL_FROST_BOMB_HARD_MODE = 64627, + SPELL_EXPLOSION = 66351, + SPELL_DISARM = 1842, + SPELL_RIDE_VEHICLE = 46598, + SPELL_TRIGGER_MISSILE = 65347, }; enum Npc { - NPC_ASSAULT_BOT = 34057, - NPC_BOMB_BOT = 33836, - NPC_JUNK_BOT = 33855, - NPC_EMERGENCE_FIRE_BOT = 34147, - NPC_FROST_BOMB = 34149, + NPC_ASSAULT_BOT = 34057, + NPC_BOMB_BOT = 33836, + NPC_JUNK_BOT = 33855, + NPC_EMERGENCE_FIRE_BOT = 34147, + NPC_FROST_BOMB = 34149, }; class spell_ulduar_proximity_mines : public SpellScriptLoader { - public: - spell_ulduar_proximity_mines() : SpellScriptLoader("spell_ulduar_proximity_mines") { } + public: + spell_ulduar_proximity_mines() : SpellScriptLoader("spell_ulduar_proximity_mines") { } - class spell_ulduar_proximity_minesSpellScript : public SpellScript - { - PrepareSpellScript(spell_ulduar_proximity_minesSpellScript) + class spell_ulduar_proximity_minesSpellScript : public SpellScript + { + PrepareSpellScript(spell_ulduar_proximity_minesSpellScript) - void HandleScript(SpellEffIndex effIndex) - { - PreventHitDefaultEffect(effIndex); - for (uint8 i = 0; i < 10; ++i) - GetCaster()->CastSpell(GetCaster(), SPELL_TRIGGER_MISSILE, true); - } + void HandleScript(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); + for (uint8 i = 0; i < 10; ++i) + GetCaster()->CastSpell(GetCaster(), SPELL_TRIGGER_MISSILE, true); + } - void Register() - { - OnEffectHitTarget += SpellEffectFn(spell_ulduar_proximity_minesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); - } - }; + void Register() + { + OnEffectHitTarget += SpellEffectFn(spell_ulduar_proximity_minesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; - SpellScript* GetSpellScript() const - { - return new spell_ulduar_proximity_minesSpellScript(); - } + SpellScript* GetSpellScript() const + { + return new spell_ulduar_proximity_minesSpellScript(); + } }; void AddSC_boss_mimiron() diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 0102c3cb1ae..7be80088101 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -627,7 +627,7 @@ class spell_pal_divine_sacrifice : public SpellScriptLoader bool Load() { - + if (Unit* caster = GetCaster()) { if (caster->GetTypeId() == TYPEID_PLAYER) -- cgit v1.2.3