diff options
27 files changed, 188 insertions, 227 deletions
diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/server/collision/Maps/TileAssembler.cpp index 8cd6d92beb2..aca7c02e79f 100644 --- a/src/server/collision/Maps/TileAssembler.cpp +++ b/src/server/collision/Maps/TileAssembler.cpp @@ -498,10 +498,9 @@ namespace VMAP } char ident[8]; - ident[7] = 0; int readOperation = 0; - - READ_OR_RETURN(&ident, 7); + + READ_OR_RETURN(&ident, 8); CMP_OR_RETURN(ident, RAW_VMAP_MAGIC); // we have to read one int. This is needed during the export and we have to skip it here @@ -517,7 +516,7 @@ namespace VMAP for (uint32 g = 0; g < groups && succeed; ++g) succeed = groupsArray[g].Read(rf); - if (!succeed) /// rf will be freed inside Read if the function had any errors. + if (succeed) /// rf will be freed inside Read if the function had any errors. fclose(rf); return succeed; } diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp index 7991df10099..efd7e0f3d73 100644 --- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp +++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp @@ -1033,7 +1033,7 @@ void BattlegroundMgr::ScheduleQueueUpdate(uint32 arenaMatchmakerRating, uint8 ar { //This method must be atomic, @todo add mutex //we will use only 1 number created of bgTypeId and bracket_id - uint64 const scheduleId = ((uint64)arenaMatchmakerRating << 32) | (arenaType << 24) | (bgQueueTypeId << 16) | (bgTypeId << 8) | bracket_id; + uint64 const scheduleId = ((uint64)arenaMatchmakerRating << 32) | (uint32(arenaType) << 24) | (bgQueueTypeId << 16) | (bgTypeId << 8) | bracket_id; if (std::find(m_QueueUpdateScheduler.begin(), m_QueueUpdateScheduler.end(), scheduleId) == m_QueueUpdateScheduler.end()) m_QueueUpdateScheduler.push_back(scheduleId); } diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp index fef79937ebb..d2a166c492c 100644 --- a/src/server/game/Calendar/CalendarMgr.cpp +++ b/src/server/game/Calendar/CalendarMgr.cpp @@ -159,20 +159,20 @@ void CalendarMgr::RemoveEvent(uint64 eventId, uint64 remover) PreparedStatement* stmt; MailDraft mail(calendarEvent->BuildCalendarMailSubject(remover), calendarEvent->BuildCalendarMailBody()); - CalendarInviteStore::iterator itr = _invites[eventId].begin(); - while (itr != _invites[eventId].end()) + CalendarInviteStore& eventInvites = _invites[eventId]; + for (size_t i = 0; i < eventInvites.size(); ++i) { + CalendarInvite* invite = eventInvites[i]; stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CALENDAR_INVITE); - stmt->setUInt64(0, (*itr)->GetInviteId()); + stmt->setUInt64(0, invite->GetInviteId()); trans->Append(stmt); // guild events only? check invite status here? // When an event is deleted, all invited (accepted/declined? - verify) guildies are notified via in-game mail. (wowwiki) - if (remover && (*itr)->GetInviteeGUID() != remover) - mail.SendMailTo(trans, MailReceiver((*itr)->GetInviteeGUID()), calendarEvent, MAIL_CHECK_MASK_COPIED); + if (remover && invite->GetInviteeGUID() != remover) + mail.SendMailTo(trans, MailReceiver(invite->GetInviteeGUID()), calendarEvent, MAIL_CHECK_MASK_COPIED); - delete *itr; - _invites[eventId].erase(itr); + delete invite; } _invites.erase(eventId); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b1abf028262..3c09f9983ac 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4702,12 +4702,6 @@ void Player::DeleteFromDB(uint64 playerguid, uint32 accountId, bool updateRealmC charDelete_method = CHAR_DELETE_REMOVE; else if (CharacterNameData const* nameData = sWorld->GetCharacterNameData(guid)) // To avoid a query, we select loaded data. If it doesn't exist, return. { - if (!nameData) - { - TC_LOG_ERROR(LOG_FILTER_PLAYER, "Cannot find CharacterNameData entry for player %u from account %u. Could not delete character.", guid, accountId); - return; - } - // Define the required variables uint32 charDelete_minLvl = sWorld->getIntConfig(nameData->m_class != CLASS_DEATH_KNIGHT ? CONFIG_CHARDELETE_MIN_LEVEL : CONFIG_CHARDELETE_HEROIC_MIN_LEVEL); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index dfec24f3996..2cbbde67e6a 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3342,7 +3342,7 @@ void Spell::handle_immediate() if (m_spellInfo->IsChanneled()) { int32 duration = m_spellInfo->GetDuration(); - if (duration) + if (duration > 0) { // First mod_duration then haste - see Missile Barrage // Apply duration mod diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 870f749aa07..80577c3462e 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2167,7 +2167,7 @@ namespace Trinity { WorldPacket* data = new WorldPacket(); - uint32 lineLength = (line ? strlen(line) : 0) + 1; + uint32 lineLength = strlen(line) + 1; data->Initialize(SMSG_MESSAGECHAT, 100); // guess size *data << uint8(CHAT_MSG_SYSTEM); diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp index 2130e61cb47..b014eb895be 100644 --- a/src/server/scripts/Commands/cs_lookup.cpp +++ b/src/server/scripts/Commands/cs_lookup.cpp @@ -962,12 +962,7 @@ public: uint32 id = atoi((char*)args); - bool found = false; - uint32 count = 0; - uint32 maxResults = 1; - - SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(id); - if (spellInfo) + if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(id)) { int locale = handler->GetSessionDbcLocale(); std::string name = spellInfo->SpellName[locale]; @@ -977,14 +972,6 @@ public: return true; } - if (locale < TOTAL_LOCALES) - { - if (maxResults && count++ == maxResults) - { - handler->PSendSysMessage(LANG_COMMAND_LOOKUP_MAX_RESULTS, maxResults); - return true; - } - bool known = target && target->HasSpell(id); bool learn = (spellInfo->Effects[0].Effect == SPELL_EFFECT_LEARN_SPELL); @@ -1028,13 +1015,8 @@ public: ss << handler->GetTrinityString(LANG_ACTIVE); handler->SendSysMessage(ss.str().c_str()); - - if (!found) - found = true; - } } - - if (!found) + else handler->SendSysMessage(LANG_COMMAND_NOSPELLFOUND); return true; diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index cadaeff5262..5e4acbb2ba5 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1071,9 +1071,7 @@ public: Player* player = handler->GetSession()->GetPlayer(); uint32 zone_id = player->GetZoneId(); - WorldSafeLocsEntry const* graveyard = sObjectMgr->GetClosestGraveYard( - player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetMapId(), team); - + WorldSafeLocsEntry const* graveyard = sObjectMgr->GetClosestGraveYard(player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetMapId(), team); if (graveyard) { uint32 graveyardId = graveyard->ID; @@ -1103,14 +1101,12 @@ public: { std::string team_name; - if (team == 0) - team_name = handler->GetTrinityString(LANG_COMMAND_GRAVEYARD_ANY); - else if (team == HORDE) + if (team == HORDE) team_name = handler->GetTrinityString(LANG_COMMAND_GRAVEYARD_HORDE); else if (team == ALLIANCE) team_name = handler->GetTrinityString(LANG_COMMAND_GRAVEYARD_ALLIANCE); - if (team == ~uint32(0)) + if (!team) handler->PSendSysMessage(LANG_COMMAND_ZONENOGRAVEYARDS, zone_id); else handler->PSendSysMessage(LANG_COMMAND_ZONENOGRAFACTION, zone_id, team_name.c_str()); @@ -2144,7 +2140,7 @@ public: return true; } - uint32 school = schoolStr ? atoi((char*)schoolStr) : SPELL_SCHOOL_NORMAL; + uint32 school = atoi((char*)schoolStr); if (school >= MAX_SPELL_SCHOOL) return false; diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index 8ef88d459e2..ff4ef587fad 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -309,24 +309,14 @@ public: if (!pfactionid) { - if (target) - { - uint32 factionid = target->getFaction(); - uint32 flag = target->GetUInt32Value(UNIT_FIELD_FLAGS); - uint32 npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS); - uint32 dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS); - handler->PSendSysMessage(LANG_CURRENT_FACTION, target->GetGUIDLow(), factionid, flag, npcflag, dyflag); - } + uint32 factionid = target->getFaction(); + uint32 flag = target->GetUInt32Value(UNIT_FIELD_FLAGS); + uint32 npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS); + uint32 dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS); + handler->PSendSysMessage(LANG_CURRENT_FACTION, target->GetGUIDLow(), factionid, flag, npcflag, dyflag); return true; } - if (!target) - { - handler->SendSysMessage(LANG_NO_CHAR_SELECTED); - handler->SetSentErrorMessage(true); - return false; - } - uint32 factionid = atoi(pfactionid); uint32 flag; @@ -340,7 +330,7 @@ public: uint32 npcflag; if (!pnpcflag) - npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS); + npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS); else npcflag = atoi(pnpcflag); @@ -348,7 +338,7 @@ public: uint32 dyflag; if (!pdyflag) - dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS); + dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS); else dyflag = atoi(pdyflag); diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index ea387ef17be..43c9b294419 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -252,7 +252,7 @@ public: return false; } - uint32 vendor_entry = vendor ? vendor->GetEntry() : 0; + uint32 vendor_entry = vendor->GetEntry(); if (!sObjectMgr->IsVendorItemValid(vendor_entry, itemId, maxcount, incrtime, extendedcost, handler->GetSession()->GetPlayer())) { diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp index 97b8e0334ee..3585debb1c2 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp @@ -146,49 +146,51 @@ class boss_kirtonos_the_herald : public CreatureScript { events.Update(diff); - while (uint32 eventId = events.ExecuteEvent() && !UpdateVictim()) + if (!UpdateVictim()) { - switch (eventId) + while (uint32 eventId = events.ExecuteEvent()) { - case INTRO_1: - me->GetMotionMaster()->MovePath(KIRTONOS_PATH, false); - break; - case INTRO_2: - me->GetMotionMaster()->MovePoint(0, PosMove[0]); - events.ScheduleEvent(INTRO_3, 1000); - break; - case INTRO_3: - if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS))) - gate->SetGoState(GO_STATE_READY); - me->SetFacingTo(0.01745329f); - events.ScheduleEvent(INTRO_4, 3000); - break; - case INTRO_4: - if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD))) - brazier->SetGoState(GO_STATE_READY); - me->SetWalk(true); - me->SetDisableGravity(false); - DoCast(me, SPELL_KIRTONOS_TRANSFORM); - me->SetCanFly(false); - events.ScheduleEvent(INTRO_5, 1000); - break; - case INTRO_5: - me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); - me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_KIRTONOS_STAFF)); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); - me->SetReactState(REACT_AGGRESSIVE); - events.ScheduleEvent(INTRO_6, 5000); - break; - case INTRO_6: - me->GetMotionMaster()->MovePoint(0, PosMove[1]); - break; - default: - break; + switch (eventId) + { + case INTRO_1: + me->GetMotionMaster()->MovePath(KIRTONOS_PATH, false); + break; + case INTRO_2: + me->GetMotionMaster()->MovePoint(0, PosMove[0]); + events.ScheduleEvent(INTRO_3, 1000); + break; + case INTRO_3: + if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS))) + gate->SetGoState(GO_STATE_READY); + me->SetFacingTo(0.01745329f); + events.ScheduleEvent(INTRO_4, 3000); + break; + case INTRO_4: + if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD))) + brazier->SetGoState(GO_STATE_READY); + me->SetWalk(true); + me->SetDisableGravity(false); + DoCast(me, SPELL_KIRTONOS_TRANSFORM); + me->SetCanFly(false); + events.ScheduleEvent(INTRO_5, 1000); + break; + case INTRO_5: + me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); + me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_KIRTONOS_STAFF)); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); + me->SetReactState(REACT_AGGRESSIVE); + events.ScheduleEvent(INTRO_6, 5000); + break; + case INTRO_6: + me->GetMotionMaster()->MovePoint(0, PosMove[1]); + break; + default: + break; + } } - } - if (!UpdateVictim()) return; + } if (me->HasUnitState(UNIT_STATE_CASTING)) return; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp index e930d864940..fe9c0be49aa 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp @@ -36,9 +36,9 @@ enum Spells enum Events { - EVENT_FROSTBREATH = 0, - EVENT_MASSIVEGEYSER = 1, - EVENT_SLAM = 2 + EVENT_FROSTBREATH = 1, + EVENT_MASSIVEGEYSER = 2, + EVENT_SLAM = 3 }; class boss_gahzranka : public CreatureScript // gahzranka diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp index af8303e63e4..c0362397dd5 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp @@ -35,8 +35,8 @@ enum Spells enum Events { - EVENT_AVATAR = 0, - EVENT_GROUND_TREMOR = 1 + EVENT_AVATAR = 1, + EVENT_GROUND_TREMOR = 2 }; class boss_grilek : public CreatureScript // grilek diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp index f9fe338d918..18b1bc21ea3 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp @@ -51,17 +51,17 @@ enum Spells enum Events { - EVENT_BLOOD_SIPHON = 0, - EVENT_CORRUPTED_BLOOD = 1, - EVENT_CAUSE_INSANITY = 2, // Spell needs scripting. Event disabled - EVENT_WILL_OF_HAKKAR = 3, - EVENT_ENRAGE = 4, + EVENT_BLOOD_SIPHON = 1, + EVENT_CORRUPTED_BLOOD = 2, + EVENT_CAUSE_INSANITY = 3, // Spell needs scripting. Event disabled + EVENT_WILL_OF_HAKKAR = 4, + EVENT_ENRAGE = 5, // The Aspects of all High Priests events - EVENT_ASPECT_OF_JEKLIK = 5, - EVENT_ASPECT_OF_VENOXIS = 6, - EVENT_ASPECT_OF_MARLI = 7, - EVENT_ASPECT_OF_THEKAL = 8, - EVENT_ASPECT_OF_ARLOKK = 9 + EVENT_ASPECT_OF_JEKLIK = 6, + EVENT_ASPECT_OF_VENOXIS = 7, + EVENT_ASPECT_OF_MARLI = 8, + EVENT_ASPECT_OF_THEKAL = 9, + EVENT_ASPECT_OF_ARLOKK = 10 }; class boss_hakkar : public CreatureScript diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp index b2282ba85da..e92d3266c45 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp @@ -35,9 +35,9 @@ enum Spells enum Events { - EVENT_MANABURN = 0, - EVENT_SLEEP = 1, - EVENT_ILLUSIONS = 2 + EVENT_MANABURN = 1, + EVENT_SLEEP = 2, + EVENT_ILLUSIONS = 3 }; class boss_hazzarah : public CreatureScript diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp index 166acc13f58..7566c1b2e11 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp @@ -48,11 +48,11 @@ enum Spells enum Events { - EVENT_BRAINWASHTOTEM = 0, - EVENT_POWERFULLHEALINGWARD = 1, - EVENT_HEX = 2, - EVENT_DELUSIONSOFJINDO = 3, - EVENT_TELEPORT = 4 + EVENT_BRAINWASHTOTEM = 1, + EVENT_POWERFULLHEALINGWARD = 2, + EVENT_HEX = 3, + EVENT_DELUSIONSOFJINDO = 4, + EVENT_TELEPORT = 5 }; Position const TeleportLoc = {-11583.7783f, -1249.4278f, 77.5471f, 4.745f}; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp index b1200c2899e..a35e18bee96 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp @@ -48,13 +48,13 @@ enum Spells enum Events { - EVENT_SPAWN_START_SPIDERS = 0, // Phase 1 - EVENT_POISON_VOLLEY = 1, // Phase All - EVENT_SPAWN_SPIDER = 2, // Phase All - EVENT_CHARGE_PLAYER = 3, // Phase 3 - EVENT_ASPECT_OF_MARLI = 4, // Phase 2 - EVENT_TRANSFORM = 5, // Phase 2 - EVENT_TRANSFORM_BACK = 6 // Phase 3 + EVENT_SPAWN_START_SPIDERS = 1, // Phase 1 + EVENT_POISON_VOLLEY = 2, // Phase All + EVENT_SPAWN_SPIDER = 3, // Phase All + EVENT_CHARGE_PLAYER = 4, // Phase 3 + EVENT_ASPECT_OF_MARLI = 5, // Phase 2 + EVENT_TRANSFORM = 6, // Phase 2 + EVENT_TRANSFORM_BACK = 7 // Phase 3 }; enum Phases @@ -153,57 +153,54 @@ class boss_marli : public CreatureScript events.ScheduleEvent(EVENT_SPAWN_SPIDER, urand(12000, 17000)); break; case EVENT_TRANSFORM: - { - Talk(SAY_TRANSFORM); - DoCast(me, SPELL_SPIDER_FORM); - const CreatureTemplate* cinfo = me->GetCreatureTemplate(); - me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35))); - me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35))); - me->UpdateDamagePhysical(BASE_ATTACK); - DoCast(me->getVictim(), SPELL_ENVOLWINGWEB); - if (DoGetThreat(me->getVictim())) - DoModifyThreatPercent(me->getVictim(), -100); - events.ScheduleEvent(EVENT_CHARGE_PLAYER, 1500, 0, PHASE_THREE); - events.ScheduleEvent(EVENT_TRANSFORM_BACK, 25000, 0, PHASE_THREE); - events.SetPhase(PHASE_THREE); - break; - } + { + Talk(SAY_TRANSFORM); + DoCast(me, SPELL_SPIDER_FORM); + CreatureTemplate const* cinfo = me->GetCreatureTemplate(); + me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35))); + me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35))); + me->UpdateDamagePhysical(BASE_ATTACK); + DoCast(me->getVictim(), SPELL_ENVOLWINGWEB); + if (DoGetThreat(me->getVictim())) + DoModifyThreatPercent(me->getVictim(), -100); + events.ScheduleEvent(EVENT_CHARGE_PLAYER, 1500, 0, PHASE_THREE); + events.ScheduleEvent(EVENT_TRANSFORM_BACK, 25000, 0, PHASE_THREE); + events.SetPhase(PHASE_THREE); + break; + } case EVENT_CHARGE_PLAYER: + { + Unit* target = NULL; + int i = 0; + while (i++ < 3) // max 3 tries to get a random target with power_mana { - Unit* target = NULL; - int i = 0; - while (i < 3) // max 3 tries to get a random target with power_mana - { - ++i; - Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); // not aggro leader - if (target && target->getPowerType() == POWER_MANA) - i = 3; - } - if (target) - { - DoCast(target, SPELL_CHARGE); - //me->SetPosition(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0); - //me->SendMonsterMove(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, true, 1); - AttackStart(target); - } - events.ScheduleEvent(EVENT_CHARGE_PLAYER, 8000, 0, PHASE_THREE); - break; + target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); // not aggro leader + if (target && target->getPowerType() == POWER_MANA) + break; } - case EVENT_TRANSFORM_BACK: + if (target) { - me->SetDisplayId(MODEL_MARLI); - const CreatureTemplate* cinfo = me->GetCreatureTemplate(); - me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 1))); - me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 1))); - me->UpdateDamagePhysical(BASE_ATTACK); - events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 12000, 0, PHASE_TWO); - events.ScheduleEvent(EVENT_TRANSFORM, 45000, 0, PHASE_TWO); - events.ScheduleEvent(EVENT_POISON_VOLLEY, 15000); - events.ScheduleEvent(EVENT_SPAWN_SPIDER, 30000); - events.ScheduleEvent(EVENT_TRANSFORM, urand(35000, 60000), 0, PHASE_TWO); - events.SetPhase(PHASE_TWO); - break; + DoCast(target, SPELL_CHARGE); + AttackStart(target); } + events.ScheduleEvent(EVENT_CHARGE_PLAYER, 8000, 0, PHASE_THREE); + break; + } + case EVENT_TRANSFORM_BACK: + { + me->SetDisplayId(MODEL_MARLI); + CreatureTemplate const* cinfo = me->GetCreatureTemplate(); + me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 1))); + me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 1))); + me->UpdateDamagePhysical(BASE_ATTACK); + events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 12000, 0, PHASE_TWO); + events.ScheduleEvent(EVENT_TRANSFORM, 45000, 0, PHASE_TWO); + events.ScheduleEvent(EVENT_POISON_VOLLEY, 15000); + events.ScheduleEvent(EVENT_SPAWN_SPIDER, 30000); + events.ScheduleEvent(EVENT_TRANSFORM, urand(35000, 60000), 0, PHASE_TWO); + events.SetPhase(PHASE_TWO); + break; + } default: break; } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp index f115daf0fb0..0b859b18777 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp @@ -59,15 +59,15 @@ enum Spells enum Events { - EVENT_MORTALCLEAVE = 0, // Phase 1 - EVENT_SILENCE = 1, // Phase 1 - EVENT_CHECK_TIMER = 2, // Phase 1 - EVENT_RESURRECT_TIMER = 3, // Phase 1 - EVENT_FRENZY = 4, // Phase 2 - EVENT_FORCEPUNCH = 5, // Phase 2 - EVENT_SPELL_CHARGE = 6, // Phase 2 - EVENT_ENRAGE = 7, // Phase 2 - EVENT_SUMMONTIGERS = 8 // Phase 2 + EVENT_MORTALCLEAVE = 1, // Phase 1 + EVENT_SILENCE = 2, // Phase 1 + EVENT_CHECK_TIMER = 3, // Phase 1 + EVENT_RESURRECT_TIMER = 4, // Phase 1 + EVENT_FRENZY = 5, // Phase 2 + EVENT_FORCEPUNCH = 6, // Phase 2 + EVENT_SPELL_CHARGE = 7, // Phase 2 + EVENT_ENRAGE = 8, // Phase 2 + EVENT_SUMMONTIGERS = 9 // Phase 2 }; enum Phases diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp index 945303f3d10..6fb1c682a38 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp @@ -35,8 +35,8 @@ enum Spells enum Events { - EVENT_LIGHTNINGCLOUD = 0, - EVENT_LIGHTNINGWAVE = 1 + EVENT_LIGHTNINGCLOUD = 1, + EVENT_LIGHTNINGWAVE = 2 }; class boss_wushoolay : public CreatureScript diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp index aec78581514..397d20e92f9 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp @@ -34,13 +34,13 @@ enum Spells enum Events { - EVENT_STINGER_SPRAY = 0, - EVENT_POISON_STINGER = 1, - EVENT_SUMMON_SWARMER = 2, - EVENT_SWARMER_ATTACK = 3, - EVENT_PARALYZE = 4, - EVENT_LASH = 5, - EVENT_TRASH = 6 + EVENT_STINGER_SPRAY = 1, + EVENT_POISON_STINGER = 2, + EVENT_SUMMON_SWARMER = 3, + EVENT_SWARMER_ATTACK = 4, + EVENT_PARALYZE = 5, + EVENT_LASH = 6, + EVENT_TRASH = 7 }; enum Emotes diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp index 0ad077aaa4e..5da6606f05f 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp @@ -42,11 +42,11 @@ enum Spells enum Events { - EVENT_DISMEMBER = 0, - EVENT_GATHERING_SPEED = 1, - EVENT_FULL_SPEED = 2, - EVENT_CREEPING_PLAGUE = 3, - EVENT_RESPAWN_EGG = 4 + EVENT_DISMEMBER = 1, + EVENT_GATHERING_SPEED = 2, + EVENT_FULL_SPEED = 3, + EVENT_CREEPING_PLAGUE = 4, + EVENT_RESPAWN_EGG = 5 }; enum Phases diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp index 79bc0c5accf..901438409a4 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp @@ -40,10 +40,10 @@ enum Spells enum Events { - EVENT_ARCANE_EXPLOSION = 0, - EVENT_FULLFILMENT = 1, - EVENT_BLINK = 2, - EVENT_EARTH_SHOCK = 3 + EVENT_ARCANE_EXPLOSION = 1, + EVENT_FULLFILMENT = 2, + EVENT_BLINK = 3, + EVENT_EARTH_SHOCK = 4 }; uint32 const BlinkSpells[3] = { 4801, 8195, 20449 }; diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp index 0e858c20d26..3a82a1f9a55 100644 --- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp +++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp @@ -61,8 +61,8 @@ enum HauntingWitchHill NPC_RISEN_SPIRIT = 23554, // Events - EVENT_CONSUME_FLESH = 0, - EVENT_INTANGIBLE_PRESENCE = 1, + EVENT_CONSUME_FLESH = 1, + EVENT_INTANGIBLE_PRESENCE = 2, }; class mobs_risen_husk_spirit : public CreatureScript diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp index 3e44fe9eba4..9e369fa83bb 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp @@ -33,10 +33,10 @@ enum Spells enum Events { - EVENT_BERSERK = 0, - EVENT_CLOUD = 1, - EVENT_INJECT = 2, - EVENT_SPRAY = 3 + EVENT_BERSERK = 1, + EVENT_CLOUD = 2, + EVENT_INJECT = 3, + EVENT_SPRAY = 4 }; enum CreatureId @@ -46,7 +46,8 @@ enum CreatureId class boss_grobbulus : public CreatureScript { -public: boss_grobbulus() : CreatureScript("boss_grobbulus") { } +public: + boss_grobbulus() : CreatureScript("boss_grobbulus") { } CreatureAI* GetAI(Creature* creature) const { diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp index 2b597be8a9f..18ea83f7121 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp @@ -45,9 +45,9 @@ enum Spells enum Events { - EVENT_STREAM_OF_MACHINE_FLUID = 0, - EVENT_SAW_BLADE = 1, - EVENT_SHADOW_POWER = 2 + EVENT_STREAM_OF_MACHINE_FLUID = 1, + EVENT_SAW_BLADE = 2, + EVENT_SHADOW_POWER = 3 }; class boss_gatewatcher_gyrokill : public CreatureScript diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp index 902fb8e76b3..ce1322088e2 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp @@ -52,11 +52,11 @@ enum Spells enum Events { - EVENT_FROST_ATTACK = 0, - EVENT_ARCANE_BLAST = 1, - EVENT_DRAGONS_BREATH = 2, - EVENT_KNOCKBACK = 3, - EVENT_SOLARBURN = 4 + EVENT_FROST_ATTACK = 1, + EVENT_ARCANE_BLAST = 2, + EVENT_DRAGONS_BREATH = 3, + EVENT_KNOCKBACK = 4, + EVENT_SOLARBURN = 5 }; class boss_nethermancer_sepethrea : public CreatureScript diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp index 65cd195fb80..d179e47b942 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp @@ -54,11 +54,11 @@ enum Spells enum Events { - EVENT_SUMMON = 0, - EVENT_MANA_TAP = 1, - EVENT_ARCANE_TORRENT = 2, - EVENT_DOMINATION = 3, - EVENT_ARCANE_EXPLOSION = 4 + EVENT_SUMMON = 1, + EVENT_MANA_TAP = 2, + EVENT_ARCANE_TORRENT = 3, + EVENT_DOMINATION = 4, + EVENT_ARCANE_EXPLOSION = 5 }; enum Creatures |