diff options
Diffstat (limited to 'src')
51 files changed, 614 insertions, 816 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 3842cc1924e..bc43cc58e61 100755 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1383,22 +1383,19 @@ void Creature::DeleteFromDB() WorldDatabase.CommitTransaction(trans); } -bool Creature::isVisibleForInState(WorldObject const* seer) const +bool Creature::IsInvisibleDueToDespawn() const { - if (!Unit::isVisibleForInState(seer)) - return false; + if (Unit::IsInvisibleDueToDespawn()) + return true; if (isAlive() || m_corpseRemoveTime > time(NULL)) - return true; + return false; - return false; + return true; } -bool Creature::canSeeAlways(WorldObject const* obj) const +bool Creature::_CanAlwaysSee(WorldObject const* obj) const { - if (Unit::canSeeAlways(obj)) - return true; - if (IsAIEnabled && AI()->CanSeeAlways(obj)) return true; diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 1d25dd46992..fa0f866400b 100755 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -419,7 +419,7 @@ class MapCreature friend class Map; //map for moving creatures friend class ObjectGridLoader; //grid loader for loading creatures -public: +protected: MapCreature() : _moveState(CREATURE_CELL_MOVE_NONE) {} private: @@ -752,8 +752,8 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature uint16 m_LootMode; // bitmask, default LOOT_MODE_DEFAULT, determines what loot will be lootable uint32 guid_transport; - bool isVisibleForInState(WorldObject const* seer) const; - bool canSeeAlways(WorldObject const* obj) const; + bool IsInvisibleDueToDespawn() const; + bool _CanAlwaysSee(WorldObject const* obj) const; private: //WaypointMovementGenerator vars uint32 m_waypointID; diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 6e991bdc005..2f353285806 100755 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -843,9 +843,9 @@ void GameObject::SaveRespawnTime() sObjectMgr->SaveGORespawnTime(m_DBTableGuid, GetInstanceId(), m_respawnTime); } -bool GameObject::isAlwaysVisibleFor(WorldObject const* seer) const +bool GameObject::IsAlwaysVisibleFor(WorldObject const* seer) const { - if (WorldObject::isAlwaysVisibleFor(seer)) + if (WorldObject::IsAlwaysVisibleFor(seer)) return true; if (IsTransport()) @@ -854,16 +854,16 @@ bool GameObject::isAlwaysVisibleFor(WorldObject const* seer) const return false; } -bool GameObject::isVisibleForInState(WorldObject const* seer) const +bool GameObject::IsInvisibleDueToDespawn() const { - if (!WorldObject::isVisibleForInState(seer)) - return false; + if (WorldObject::IsInvisibleDueToDespawn()) + return true; // Despawned if (!isSpawned()) - return false; + return true; - return true; + return false; } void GameObject::Respawn() diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 3402eaa64bc..13b410d7373 100755 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -752,8 +752,8 @@ class GameObject : public WorldObject, public GridObject<GameObject> void TriggeringLinkedGameObject(uint32 trapEntry, Unit* target); - bool isAlwaysVisibleFor(WorldObject const* seer) const; - bool isVisibleForInState(WorldObject const* seer) const; + bool IsAlwaysVisibleFor(WorldObject const* seer) const; + bool IsInvisibleDueToDespawn() const; uint8 getLevelForTarget(WorldObject const* target) const { diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 82c0eb3a169..8de9e6d000c 100755 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1587,14 +1587,6 @@ bool Position::IsPositionValid() const return Trinity::IsValidMapCoord(m_positionX, m_positionY, m_positionZ, m_orientation); } -bool WorldObject::isValid() const -{ - if (!IsInWorld()) - return false; - - return true; -} - float WorldObject::GetGridActivationRange() const { if (ToPlayer()) @@ -1638,19 +1630,10 @@ bool WorldObject::canSeeOrDetect(WorldObject const* obj, bool ignoreStealth, boo if (this == obj) return true; - if (!obj->isValid()) + if (obj->IsNeverVisible() || _CanNeverSee(obj)) return false; - if (GetMap() != obj->GetMap()) - return false; - - if (!InSamePhase(obj)) - return false; - - if (obj->isAlwaysVisibleFor(this)) - return true; - - if (canSeeAlways(obj)) + if (obj->IsAlwaysVisibleFor(this) || _CanAlwaysSee(obj)) return true; bool corpseCheck = false; @@ -1704,16 +1687,16 @@ bool WorldObject::canSeeOrDetect(WorldObject const* obj, bool ignoreStealth, boo return false; } - if (!obj->isVisibleForInState(this)) + if (obj->IsInvisibleDueToDespawn()) return false; - if (!canDetect(obj, ignoreStealth)) + if (!_CanDetect(obj, ignoreStealth)) return false; return true; } -bool WorldObject::canDetect(WorldObject const* obj, bool ignoreStealth) const +bool WorldObject::_CanDetect(WorldObject const* obj, bool ignoreStealth) const { const WorldObject* seer = this; @@ -1722,19 +1705,19 @@ bool WorldObject::canDetect(WorldObject const* obj, bool ignoreStealth) const if (Unit* controller = thisUnit->GetCharmerOrOwner()) seer = controller; - if (obj->isAlwaysDetectableFor(seer)) + if (obj->IsAlwaysDetectableFor(seer)) return true; - if (!seer->canDetectInvisibilityOf(obj)) + if (!seer->_CanDetectInvisibilityOf(obj)) return false; - if (!ignoreStealth && !seer->canDetectStealthOf(obj)) + if (!ignoreStealth && !seer->_CanDetectStealthOf(obj)) return false; return true; } -bool WorldObject::canDetectInvisibilityOf(WorldObject const* obj) const +bool WorldObject::_CanDetectInvisibilityOf(WorldObject const* obj) const { uint32 mask = obj->m_invisibility.GetFlags() & m_invisibilityDetect.GetFlags(); @@ -1765,7 +1748,7 @@ bool WorldObject::canDetectInvisibilityOf(WorldObject const* obj) const return true; } -bool WorldObject::canDetectStealthOf(WorldObject const* obj) const +bool WorldObject::_CanDetectStealthOf(WorldObject const* obj) const { // Combat reach is the minimal distance (both in front and behind), // and it is also used in the range calculation. diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index d27ea23ba7e..1570210020c 100755 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -682,7 +682,6 @@ class WorldObject : public Object, public WorldLocation { return IsInDist2d(x, y, dist + GetObjectSize()); } bool IsWithinDist2d(const Position* pos, float dist) const { return IsInDist2d(pos, dist + GetObjectSize()); } - virtual bool _IsWithinDist(WorldObject const* obj, float dist2compare, bool is3D) const; // use only if you will sure about placing both object at same map bool IsWithinDist(WorldObject const* obj, float dist2compare, bool is3D = true) const { @@ -730,18 +729,10 @@ class WorldObject : public Object, public WorldLocation virtual void SaveRespawnTime() {} void AddObjectToRemoveList(); - virtual bool isValid() const; - - virtual bool isAlwaysVisibleFor(WorldObject const* /*seer*/) const { return false; } - virtual bool canSeeAlways(WorldObject const* /*obj*/) const { return false; } - bool canDetect(WorldObject const* obj, bool ignoreStealth) const; - - virtual bool isVisibleForInState(WorldObject const* /*seer*/) const { return true; } - - bool canDetectInvisibilityOf(WorldObject const* obj) const; - bool canDetectStealthOf(WorldObject const* obj) const; - - virtual bool isAlwaysDetectableFor(WorldObject const* /*seer*/) const { return false; } + virtual bool IsAlwaysVisibleFor(WorldObject const* /*seer*/) const { return false; } + virtual bool IsInvisibleDueToDespawn() const { return false; } + //difference from IsAlwaysVisibleFor: 1. after distance check; 2. use owner or charmer as seer + virtual bool IsAlwaysDetectableFor(WorldObject const* /*seer*/) const { return false; } float GetGridActivationRange() const; float GetVisibilityRange() const; @@ -848,6 +839,7 @@ class WorldObject : public Object, public WorldLocation void SetLocationMapId(uint32 _mapId) { m_mapId = _mapId; } void SetLocationInstanceId(uint32 _instanceId) { m_InstanceId = _instanceId; } + virtual bool IsNeverVisible() const { return !IsInWorld(); } private: Map* m_currMap; //current object's Map location @@ -857,6 +849,14 @@ class WorldObject : public Object, public WorldLocation uint16 m_notifyflags; uint16 m_executed_notifies; + + virtual bool _IsWithinDist(WorldObject const* obj, float dist2compare, bool is3D) const; + + bool _CanNeverSee(WorldObject const* obj) const { return GetMap() != obj->GetMap() || !InSamePhase(obj); } + virtual bool _CanAlwaysSee(WorldObject const* /*obj*/) const { return false; } + bool _CanDetect(WorldObject const* obj, bool ignoreStealth) const; + bool _CanDetectInvisibilityOf(WorldObject const* obj) const; + bool _CanDetectStealthOf(WorldObject const* obj) const; }; namespace Trinity diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 01203dd1d54..b491eae96ae 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -21077,22 +21077,19 @@ WorldLocation Player::GetStartPosition() const return WorldLocation(mapId, info->positionX, info->positionY, info->positionZ, 0); } -bool Player::isValid() const +bool Player::IsNeverVisible() const { - if (!Unit::isValid()) - return false; + if (Unit::IsNeverVisible()) + return true; if (GetSession()->PlayerLogout() || GetSession()->PlayerLoading()) - return false; + return true; - return true; + return false; } -bool Player::canSeeAlways(WorldObject const* obj) const +bool Player::_CanAlwaysSee(WorldObject const* obj) const { - if (Unit::canSeeAlways(obj)) - return true; - // Always can see self if (m_mover == obj) return true; @@ -21104,9 +21101,9 @@ bool Player::canSeeAlways(WorldObject const* obj) const return false; } -bool Player::isAlwaysDetectableFor(WorldObject const* seer) const +bool Player::IsAlwaysDetectableFor(WorldObject const* seer) const { - if (Unit::isAlwaysDetectableFor(seer)) + if (Unit::IsAlwaysDetectableFor(seer)) return true; if (const Player* seerPlayer = seer->ToPlayer()) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 05ef060add9..4e60fcf1bd5 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2326,7 +2326,7 @@ class Player : public Unit, public GridObject<Player> bool HaveAtClient(WorldObject const* u) const { return u == this || m_clientGUIDs.find(u->GetGUID()) != m_clientGUIDs.end(); } - bool isValid() const; + bool IsNeverVisible() const; bool IsVisibleGloballyFor(Player* pl) const; @@ -2734,9 +2734,9 @@ class Player : public Unit, public GridObject<Player> Runes *m_runes; EquipmentSets m_EquipmentSets; - bool canSeeAlways(WorldObject const* obj) const; + bool _CanAlwaysSee(WorldObject const* obj) const; - bool isAlwaysDetectableFor(WorldObject const* seer) const; + bool IsAlwaysDetectableFor(WorldObject const* seer) const; uint8 m_grantableLevels; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 12c3992c980..631ea9b7c90 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -12384,9 +12384,18 @@ int32 Unit::ModifyPower(Powers power, int32 dVal) return gain; } -bool Unit::isAlwaysVisibleFor(WorldObject const* seer) const +// returns negative amount on power reduction +int32 Unit::ModifyPowerPct(Powers power, float pct, bool apply) +{ + float amount = (float)GetMaxPower(power); + ApplyPercentModFloatVar(amount, pct, apply); + + return ModifyPower(power, (int32)amount - (int32)GetMaxPower(power)); +} + +bool Unit::IsAlwaysVisibleFor(WorldObject const* seer) const { - if (WorldObject::isAlwaysVisibleFor(seer)) + if (WorldObject::IsAlwaysVisibleFor(seer)) return true; // Always seen by owner @@ -12397,9 +12406,9 @@ bool Unit::isAlwaysVisibleFor(WorldObject const* seer) const return false; } -bool Unit::isAlwaysDetectableFor(WorldObject const* seer) const +bool Unit::IsAlwaysDetectableFor(WorldObject const* seer) const { - if (WorldObject::isAlwaysDetectableFor(seer)) + if (WorldObject::IsAlwaysDetectableFor(seer)) return true; if (HasAuraTypeWithCaster(SPELL_AURA_MOD_STALKED, seer->GetGUID())) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 236f183e3b9..d35298b9963 100755 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1371,6 +1371,7 @@ class Unit : public WorldObject void SetMaxPower(Powers power, uint32 val); // returns the change in power int32 ModifyPower(Powers power, int32 val); + int32 ModifyPowerPct(Powers power, float pct, bool apply = true); uint32 GetAttackTime(WeaponAttackType att) const { @@ -1945,9 +1946,6 @@ class Unit : public WorldObject void SetVisible(bool x); // common function for visibility checks for player/creatures with detection code - - bool isValid() const { return WorldObject::isValid(); } - void SetPhaseMask(uint32 newPhaseMask, bool update);// overwrite WorldObject::SetPhaseMask void UpdateObjectVisibility(bool forced = true); @@ -2285,12 +2283,8 @@ class Unit : public WorldObject uint32 m_unitTypeMask; - bool isAlwaysVisibleFor(WorldObject const* seer) const; - bool canSeeAlways(WorldObject const* obj) const { return WorldObject::canSeeAlways(obj); } - - bool isVisibleForInState(WorldObject const* seer) const { return WorldObject::isVisibleForInState(seer); }; - - bool isAlwaysDetectableFor(WorldObject const* seer) const; + bool IsAlwaysVisibleFor(WorldObject const* seer) const; + bool IsAlwaysDetectableFor(WorldObject const* seer) const; private: bool IsTriggeredAtSpellProcEvent(Unit* pVictim, Aura* aura, SpellInfo const* procSpell, uint32 procFlag, uint32 procExtra, WeaponAttackType attType, bool isVictim, bool active, SpellProcEventEntry const* & spellProcEvent); bool HandleDummyAuraProc(Unit* pVictim, uint32 damage, AuraEffect* triggeredByAura, SpellInfo const* procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown); diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 44d7f62305f..0442172b0fd 100755 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -1261,11 +1261,12 @@ void Group::UpdatePlayerOutOfRange(Player* player) WorldPacket data; player->GetSession()->BuildPartyMemberStatsChangedPacket(player, &data); + Player* member; for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next()) { - player = itr->getSource(); - if (player && !player->IsWithinDist(player, player->GetSightRange(), false)) - player->GetSession()->SendPacket(&data); + member = itr->getSource(); + if (member && !member->IsWithinDist(player, member->GetSightRange(), false)) + member->GetSession()->SendPacket(&data); } } @@ -1273,12 +1274,12 @@ void Group::BroadcastPacket(WorldPacket* packet, bool ignorePlayersInBGRaid, int { for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next()) { - Player* pl = itr->getSource(); - if (!pl || (ignore != 0 && pl->GetGUID() == ignore) || (ignorePlayersInBGRaid && pl->GetGroup() != this)) + Player* plr = itr->getSource(); + if (!plr || (ignore != 0 && plr->GetGUID() == ignore) || (ignorePlayersInBGRaid && plr->GetGroup() != this)) continue; - if (pl->GetSession() && (group == -1 || itr->getSubGroup() == group)) - pl->GetSession()->SendPacket(packet); + if (plr->GetSession() && (group == -1 || itr->getSubGroup() == group)) + plr->GetSession()->SendPacket(packet); } } @@ -1286,10 +1287,10 @@ void Group::BroadcastReadyCheck(WorldPacket* packet) { for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next()) { - Player* pl = itr->getSource(); - if (pl && pl->GetSession()) - if (IsLeader(pl->GetGUID()) || IsAssistant(pl->GetGUID())) - pl->GetSession()->SendPacket(packet); + Player* plr = itr->getSource(); + if (plr && plr->GetSession()) + if (IsLeader(plr->GetGUID()) || IsAssistant(plr->GetGUID())) + plr->GetSession()->SendPacket(packet); } } @@ -1297,8 +1298,8 @@ void Group::OfflineReadyCheck() { for (member_citerator citr = m_memberSlots.begin(); citr != m_memberSlots.end(); ++citr) { - Player* pl = ObjectAccessor::FindPlayer(citr->guid); - if (!pl || !pl->GetSession()) + Player* plr = ObjectAccessor::FindPlayer(citr->guid); + if (!plr || !plr->GetSession()) { WorldPacket data(MSG_RAID_READY_CHECK_CONFIRM, 9); data << uint64(citr->guid); @@ -1328,6 +1329,7 @@ bool Group::SameSubGroup(Player const* member1, Player const* member2) const { if (!member1 || !member2) return false; + if (member1->GetGroup() != this || member2->GetGroup() != this) return false; else @@ -1364,10 +1366,8 @@ void Group::ChangeMembersGroup(uint64 guid, uint8 group) if (!isBGGroup()) CharacterDatabase.PExecute("UPDATE group_member SET subgroup='%u' WHERE memberGuid='%u'", group, GUID_LOPART(guid)); - Player* player = ObjectAccessor::FindPlayer(guid); - // In case the moved player is online, update the player object with the new sub group references - if (player) + if (Player* player = ObjectAccessor::FindPlayer(guid)) { if (player->GetGroup() == this) player->GetGroupRef().setSubGroup(group); diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h index ed1fc80fd20..c51aa6dd7bf 100755 --- a/src/server/game/Groups/Group.h +++ b/src/server/game/Groups/Group.h @@ -57,14 +57,14 @@ enum RollVote enum GroupMemberOnlineStatus { MEMBER_STATUS_OFFLINE = 0x0000, - MEMBER_STATUS_ONLINE = 0x0001, - MEMBER_STATUS_PVP = 0x0002, - MEMBER_STATUS_UNK0 = 0x0004, // dead? (health=0) - MEMBER_STATUS_UNK1 = 0x0008, // ghost? (health=1) - MEMBER_STATUS_UNK2 = 0x0010, // never seen - MEMBER_STATUS_UNK3 = 0x0020, // never seen - MEMBER_STATUS_UNK4 = 0x0040, // appears with dead and ghost flags - MEMBER_STATUS_UNK5 = 0x0080, // never seen + MEMBER_STATUS_ONLINE = 0x0001, // Lua_UnitIsConnected + MEMBER_STATUS_PVP = 0x0002, // Lua_UnitIsPVP + MEMBER_STATUS_DEAD = 0x0004, // Lua_UnitIsDead + MEMBER_STATUS_GHOST = 0x0008, // Lua_UnitIsGhost + MEMBER_STATUS_PVP_FFA = 0x0010, // Lua_UnitIsPVPFreeForAll + MEMBER_STATUS_UNK3 = 0x0020, // used in calls from Lua_GetPlayerMapPosition/Lua_GetBattlefieldFlagPosition + MEMBER_STATUS_AFK = 0x0040, // Lua_UnitIsAFK + MEMBER_STATUS_DND = 0x0080, // Lua_UnitIsDND }; enum GroupMemberFlags diff --git a/src/server/game/Instances/InstanceSaveMgr.h b/src/server/game/Instances/InstanceSaveMgr.h index 63d54e4ec94..dec50e40127 100755 --- a/src/server/game/Instances/InstanceSaveMgr.h +++ b/src/server/game/Instances/InstanceSaveMgr.h @@ -80,8 +80,8 @@ class InstanceSave /* online players bound to the instance (perm/solo) does not include the members of the group unless they have permanent saves */ - void AddPlayer(Player* player) { m_playerList.push_back(player); } - bool RemovePlayer(Player* player) { m_playerList.remove(player); return UnloadIfEmpty(); } + void AddPlayer(Player* player) { ACE_GUARD(ACE_Thread_Mutex, guard, _lock); m_playerList.push_back(player); } + bool RemovePlayer(Player* player) { ACE_GUARD_RETURN(ACE_Thread_Mutex, guard, _lock, false); m_playerList.remove(player); return UnloadIfEmpty(); } /* all groups bound to the instance */ void AddGroup(Group* group) { m_groupList.push_back(group); } bool RemoveGroup(Group* group) { m_groupList.remove(group); return UnloadIfEmpty(); } @@ -110,6 +110,8 @@ class InstanceSave uint32 m_mapid; Difficulty m_difficulty; bool m_canReset; + + ACE_Thread_Mutex _lock; }; typedef UNORDERED_MAP<uint32 /*PAIR32(map, difficulty)*/, time_t /*resetTime*/> ResetTimeByMapDifficultyMap; diff --git a/src/server/game/Scripting/MapScripts.cpp b/src/server/game/Scripting/MapScripts.cpp index 90c1b432416..b141f889196 100755 --- a/src/server/game/Scripting/MapScripts.cpp +++ b/src/server/game/Scripting/MapScripts.cpp @@ -539,8 +539,8 @@ void Map::ScriptsProcess() // when script called for item spell casting then target == (unit or GO) and source is player WorldObject* worldObject; - Player* pTarget = target->ToPlayer(); - if (pTarget) + Player* plrTarget = target->ToPlayer(); + if (plrTarget) { if (source->GetTypeId() != TYPEID_UNIT && source->GetTypeId() != TYPEID_GAMEOBJECT && source->GetTypeId() != TYPEID_PLAYER) { @@ -552,8 +552,8 @@ void Map::ScriptsProcess() } else { - pTarget = source->ToPlayer(); - if (target) + plrTarget = source->ToPlayer(); + if (plrTarget) { if (target->GetTypeId() != TYPEID_UNIT && target->GetTypeId() != TYPEID_GAMEOBJECT && target->GetTypeId() != TYPEID_PLAYER) { @@ -566,19 +566,18 @@ void Map::ScriptsProcess() else { sLog->outError("%s neither source nor target is player (source: TypeId: %u, Entry: %u, GUID: %u; target: TypeId: %u, Entry: %u, GUID: %u), skipping.", - step.script->GetDebugInfo().c_str(), - source ? source->GetTypeId() : 0, source ? source->GetEntry() : 0, source ? source->GetGUIDLow() : 0, - target ? target->GetTypeId() : 0, target ? target->GetEntry() : 0, target ? target->GetGUIDLow() : 0); + step.script->GetDebugInfo().c_str(), source->GetTypeId(), source->GetEntry(), source->GetGUIDLow(), + target->GetTypeId(), target->GetEntry(), target->GetGUIDLow()); break; } } // quest id and flags checked at script loading if ((worldObject->GetTypeId() != TYPEID_UNIT || ((Unit*)worldObject)->isAlive()) && - (step.script->QuestExplored.Distance == 0 || worldObject->IsWithinDistInMap(pTarget, float(step.script->QuestExplored.Distance)))) - pTarget->AreaExploredOrEventHappens(step.script->QuestExplored.QuestID); + (step.script->QuestExplored.Distance == 0 || worldObject->IsWithinDistInMap(plrTarget, float(step.script->QuestExplored.Distance)))) + plrTarget->AreaExploredOrEventHappens(step.script->QuestExplored.QuestID); else - pTarget->FailQuest(step.script->QuestExplored.QuestID); + plrTarget->FailQuest(step.script->QuestExplored.QuestID); break; } diff --git a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp index 57a54bd440f..404a949371a 100755 --- a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp @@ -850,10 +850,8 @@ void WorldSession::BuildPartyMemberStatsChangedPacket(Player* player, WorldPacke if (mask & GROUP_UPDATE_FLAG_VEHICLE_SEAT) { - if (player->GetVehicle()){ - Vehicle* vv=player->GetVehicle(); - *data << (uint32) vv->GetVehicleInfo()->m_seatID[player->m_movementInfo.t_seat]; - } + if (Vehicle* veh = player->GetVehicle()) + *data << (uint32) veh->GetVehicleInfo()->m_seatID[player->m_movementInfo.t_seat]; } if (mask & GROUP_UPDATE_FLAG_PET_AURAS) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 4876f435f55..e8906d718dc 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -903,25 +903,6 @@ void AuraEffect::CalculateSpellMod() default: break; } - case SPELL_AURA_MOD_SPELL_CRIT_CHANCE: - switch (GetId()) - { - case 51466: // Elemental oath - case 51470: // Elemental oath - // "while Clearcasting from Elemental Focus is active, you deal 5%/10% more spell damage." - if (!m_spellmod) - { - m_spellmod = new SpellModifier(GetBase()); - m_spellmod->op = SPELLMOD_EFFECT2; - m_spellmod->type = SPELLMOD_FLAT; - m_spellmod->spellId = GetId(); - m_spellmod->mask[1] = 0x0004000; - } - m_spellmod->value = GetBase()->GetUnitOwner()->CalculateSpellDamage(GetBase()->GetUnitOwner(), GetSpellInfo(), 1); - break; - default: - break; - } break; case SPELL_AURA_ADD_FLAT_MODIFIER: case SPELL_AURA_ADD_PCT_MODIFIER: @@ -4003,8 +3984,18 @@ void AuraEffect::HandleAuraModIncreaseEnergyPercent(AuraApplication const* aurAp // return; UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + powerType); + float amount = float(GetAmount()); - target->HandleStatModifier(unitMod, TOTAL_PCT, float(GetAmount()), apply); + if (apply) + { + target->HandleStatModifier(unitMod, TOTAL_PCT, amount, apply); + target->ModifyPowerPct(powerType, amount, apply); + } + else + { + target->ModifyPowerPct(powerType, amount, apply); + target->HandleStatModifier(unitMod, TOTAL_PCT, amount, apply); + } } void AuraEffect::HandleAuraModIncreaseHealthPercent(AuraApplication const* aurApp, uint8 mode, bool apply) const diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index cfa28080b2b..4fc9564baa3 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3090,11 +3090,18 @@ void SpellMgr::LoadDbcDataCorrections() case 48422: spellInfo->Stances = 1 << (FORM_TREE - 1); break; + case 51466: // Elemental Oath (Rank 1) + case 51470: // Elemental Oath (Rank 2) + spellInfo->Effect[EFFECT_1] = SPELL_EFFECT_APPLY_AURA; + spellInfo->EffectApplyAuraName[EFFECT_1] = SPELL_AURA_ADD_FLAT_MODIFIER; + spellInfo->EffectMiscValue[EFFECT_1] = SPELLMOD_EFFECT2; + spellInfo->EffectSpellClassMask[EFFECT_1] = flag96(0x00000000, 0x00004000, 0x00000000); + break; case 47569: // Improved Shadowform (Rank 1) // with this spell atrribute aura can be stacked several times spellInfo->Attributes &= ~SPELL_ATTR0_NOT_SHAPESHIFT; break; - case 64904: //Hymn of Hope + case 64904: // Hymn of Hope spellInfo->EffectApplyAuraName[EFFECT_1] = SPELL_AURA_MOD_INCREASE_ENERGY_PERCENT; break; case 30421: // Nether Portal - Perseverence diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp index e3295a6c45e..89a58e93853 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp @@ -52,33 +52,31 @@ class mob_av_marshal_or_warmaster : public CreatureScript public: mob_av_marshal_or_warmaster() - : CreatureScript("mob_av_marshal_or_warmaster") - { - } + : CreatureScript("mob_av_marshal_or_warmaster") {} struct mob_av_marshal_or_warmasterAI : public ScriptedAI { - mob_av_marshal_or_warmasterAI(Creature* c) : ScriptedAI(c) {} + mob_av_marshal_or_warmasterAI(Creature* creature) : ScriptedAI(creature) {} - uint32 uiChargeTimer; - uint32 uiCleaveTimer; - uint32 uiDemoralizingShoutTimer; - uint32 uiWhirlwind1Timer; - uint32 uiWhirlwind2Timer; - uint32 uiEnrageTimer; - uint32 uiResetTimer; + uint32 ChargeTimer; + uint32 CleaveTimer; + uint32 DemoralizingShoutTimer; + uint32 Whirlwind1Timer; + uint32 Whirlwind2Timer; + uint32 EnrageTimer; + uint32 ResetTimer; bool bHasAura; void Reset() { - uiChargeTimer = urand(2*IN_MILLISECONDS, 12*IN_MILLISECONDS); - uiCleaveTimer = urand(1*IN_MILLISECONDS, 11*IN_MILLISECONDS); - uiDemoralizingShoutTimer = urand(2*IN_MILLISECONDS, 2*IN_MILLISECONDS); - uiWhirlwind1Timer = urand(1*IN_MILLISECONDS, 12*IN_MILLISECONDS); - uiWhirlwind2Timer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS); - uiEnrageTimer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS); - uiResetTimer = 5*IN_MILLISECONDS; + ChargeTimer = urand(2 * IN_MILLISECONDS, 12 * IN_MILLISECONDS); + CleaveTimer = urand(1 * IN_MILLISECONDS, 11 * IN_MILLISECONDS); + DemoralizingShoutTimer = urand(2 * IN_MILLISECONDS, 2 * IN_MILLISECONDS); + Whirlwind1Timer = urand(1 * IN_MILLISECONDS, 12 * IN_MILLISECONDS); + Whirlwind2Timer = urand(5 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + EnrageTimer = urand(5 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + ResetTimer = 5 * IN_MILLISECONDS; bHasAura = false; } @@ -126,49 +124,49 @@ class mob_av_marshal_or_warmaster : public CreatureScript if (!UpdateVictim()) return; - if (uiChargeTimer <= diff) + if (ChargeTimer <= diff) { DoCast(me->getVictim(), SPELL_CHARGE); - uiChargeTimer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS); - } else uiChargeTimer -= diff; + ChargeTimer = urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); + } else ChargeTimer -= diff; - if (uiCleaveTimer <= diff) + if (CleaveTimer <= diff) { DoCast(me->getVictim(), SPELL_CLEAVE); - uiCleaveTimer = urand(10*IN_MILLISECONDS, 16*IN_MILLISECONDS); - } else uiCleaveTimer -= diff; + CleaveTimer = urand(10 * IN_MILLISECONDS, 16 * IN_MILLISECONDS); + } else CleaveTimer -= diff; - if (uiDemoralizingShoutTimer <= diff) + if (DemoralizingShoutTimer <= diff) { DoCast(me->getVictim(), SPELL_DEMORALIZING_SHOUT); - uiDemoralizingShoutTimer = urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS); - } else uiDemoralizingShoutTimer -= diff; + DemoralizingShoutTimer = urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); + } else DemoralizingShoutTimer -= diff; - if (uiWhirlwind1Timer <= diff) + if (Whirlwind1Timer <= diff) { DoCast(me->getVictim(), SPELL_WHIRLWIND1); - uiWhirlwind1Timer = urand(6*IN_MILLISECONDS, 20*IN_MILLISECONDS); - } else uiWhirlwind1Timer -= diff; + Whirlwind1Timer = urand(6 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + } else Whirlwind1Timer -= diff; - if (uiWhirlwind2Timer <= diff) + if (Whirlwind2Timer <= diff) { DoCast(me->getVictim(), SPELL_WHIRLWIND2); - uiWhirlwind2Timer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS); - } else uiWhirlwind2Timer -= diff; + Whirlwind2Timer = urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); + } else Whirlwind2Timer -= diff; - if (uiEnrageTimer <= diff) + if (EnrageTimer <= diff) { DoCast(me->getVictim(), SPELL_ENRAGE); - uiEnrageTimer = urand(10*IN_MILLISECONDS, 30*IN_MILLISECONDS); - }else uiEnrageTimer -= diff; + EnrageTimer = urand(10 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); + }else EnrageTimer -= diff; // check if creature is not outside of building - if (uiResetTimer <= diff) + if (ResetTimer <= diff) { if (me->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 50) EnterEvadeMode(); - uiResetTimer = 5*IN_MILLISECONDS; - } else uiResetTimer -= diff; + ResetTimer = 5 * IN_MILLISECONDS; + } else ResetTimer -= diff; DoMeleeAttackIfReady(); } diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp index f1884b7c0e9..d66c138ebf2 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp @@ -48,7 +48,7 @@ public: struct mob_water_elementalAI : public ScriptedAI { - mob_water_elementalAI(Creature* c) : ScriptedAI(c) {} + mob_water_elementalAI(Creature* creature) : ScriptedAI(creature) {} uint32 waterBoltTimer; uint64 balindaGUID; @@ -56,8 +56,8 @@ public: void Reset() { - waterBoltTimer = 3*IN_MILLISECONDS; - resetTimer = 5*IN_MILLISECONDS; + waterBoltTimer = 3 * IN_MILLISECONDS; + resetTimer = 5 * IN_MILLISECONDS; } void UpdateAI(const uint32 diff) @@ -68,7 +68,7 @@ public: if (waterBoltTimer < diff) { DoCast(me->getVictim(), SPELL_WATERBOLT); - waterBoltTimer = 5*IN_MILLISECONDS; + waterBoltTimer = 5 * IN_MILLISECONDS; } else waterBoltTimer -= diff; // check if creature is not outside of building @@ -77,7 +77,7 @@ public: if (Creature* pBalinda = Unit::GetCreature(*me, balindaGUID)) if (me->GetDistance2d(pBalinda->GetHomePosition().GetPositionX(), pBalinda->GetHomePosition().GetPositionY()) > 50) EnterEvadeMode(); - resetTimer = 5*IN_MILLISECONDS; + resetTimer = 5 * IN_MILLISECONDS; } else resetTimer -= diff; DoMeleeAttackIfReady(); @@ -97,7 +97,7 @@ public: struct boss_balindaAI : public ScriptedAI { - boss_balindaAI(Creature* c) : ScriptedAI(c), summons(me) {} + boss_balindaAI(Creature* creature) : ScriptedAI(creature), summons(me) {} uint32 arcaneExplosionTimer; uint32 coneOfColdTimer; @@ -110,11 +110,11 @@ public: void Reset() { - arcaneExplosionTimer = urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS); - coneOfColdTimer = 8*IN_MILLISECONDS; - fireBoltTimer = 1*IN_MILLISECONDS; - frostboltTimer = 4*IN_MILLISECONDS; - resetTimer = 5*IN_MILLISECONDS; + arcaneExplosionTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); + coneOfColdTimer = 8 * IN_MILLISECONDS; + fireBoltTimer = 1 * IN_MILLISECONDS; + frostboltTimer = 4 * IN_MILLISECONDS; + resetTimer = 5 * IN_MILLISECONDS; waterElementalTimer = 0; summons.DespawnAll(); @@ -151,32 +151,32 @@ public: if (waterElementalTimer < diff) { if (summons.empty()) - me->SummonCreature(NPC_WATER_ELEMENTAL, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45*IN_MILLISECONDS); - waterElementalTimer = 50*IN_MILLISECONDS; + me->SummonCreature(NPC_WATER_ELEMENTAL, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45 * IN_MILLISECONDS); + waterElementalTimer = 50 * IN_MILLISECONDS; } else waterElementalTimer -= diff; if (arcaneExplosionTimer < diff) { DoCast(me->getVictim(), SPELL_ARCANE_EXPLOSION); - arcaneExplosionTimer = urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS); + arcaneExplosionTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); } else arcaneExplosionTimer -= diff; if (coneOfColdTimer < diff) { DoCast(me->getVictim(), SPELL_CONE_OF_COLD); - coneOfColdTimer = urand(10*IN_MILLISECONDS, 20*IN_MILLISECONDS); + coneOfColdTimer = urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); } else coneOfColdTimer -= diff; if (fireBoltTimer < diff) { DoCast(me->getVictim(), SPELL_FIREBALL); - fireBoltTimer = urand(5*IN_MILLISECONDS, 9*IN_MILLISECONDS); + fireBoltTimer = urand(5 * IN_MILLISECONDS, 9 * IN_MILLISECONDS); } else fireBoltTimer -= diff; if (frostboltTimer < diff) { DoCast(me->getVictim(), SPELL_FROSTBOLT); - frostboltTimer = urand(4*IN_MILLISECONDS, 12*IN_MILLISECONDS); + frostboltTimer = urand(4 * IN_MILLISECONDS, 12 * IN_MILLISECONDS); } else frostboltTimer -= diff; // check if creature is not outside of building @@ -187,7 +187,7 @@ public: EnterEvadeMode(); DoScriptText(YELL_EVADE, me); } - resetTimer = 5*IN_MILLISECONDS; + resetTimer = 5 * IN_MILLISECONDS; } else resetTimer -= diff; DoMeleeAttackIfReady(); diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp index e7a7b1a01ba..c72014b96d7 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp @@ -48,23 +48,23 @@ public: struct boss_drektharAI : public ScriptedAI { - boss_drektharAI(Creature* c) : ScriptedAI(c) {} + boss_drektharAI(Creature* creature) : ScriptedAI(creature) {} - uint32 uiWhirlwindTimer; - uint32 uiWhirlwind2Timer; - uint32 uiKnockdownTimer; - uint32 uiFrenzyTimer; - uint32 uiYellTimer; - uint32 uiResetTimer; + uint32 WhirlwindTimer; + uint32 Whirlwind2Timer; + uint32 KnockdownTimer; + uint32 FrenzyTimer; + uint32 YellTimer; + uint32 ResetTimer; void Reset() { - uiWhirlwindTimer = urand(1*IN_MILLISECONDS, 20*IN_MILLISECONDS); - uiWhirlwind2Timer = urand(1*IN_MILLISECONDS, 20*IN_MILLISECONDS); - uiKnockdownTimer = 12*IN_MILLISECONDS; - uiFrenzyTimer = 6*IN_MILLISECONDS; - uiResetTimer = 5*IN_MILLISECONDS; - uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); //20 to 30 seconds + WhirlwindTimer = urand(1 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + Whirlwind2Timer = urand(1 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + KnockdownTimer = 12 * IN_MILLISECONDS; + FrenzyTimer = 6 * IN_MILLISECONDS; + ResetTimer = 5 * IN_MILLISECONDS; + YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); //20 to 30 seconds } void EnterCombat(Unit* /*who*/) @@ -83,46 +83,46 @@ public: if (!UpdateVictim()) return; - if (uiWhirlwindTimer <= diff) + if (WhirlwindTimer <= diff) { DoCast(me->getVictim(), SPELL_WHIRLWIND); - uiWhirlwindTimer = urand(8*IN_MILLISECONDS, 18*IN_MILLISECONDS); - } else uiWhirlwindTimer -= diff; + WhirlwindTimer = urand(8 * IN_MILLISECONDS, 18 * IN_MILLISECONDS); + } else WhirlwindTimer -= diff; - if (uiWhirlwind2Timer <= diff) + if (Whirlwind2Timer <= diff) { DoCast(me->getVictim(), SPELL_WHIRLWIND2); - uiWhirlwind2Timer = urand(7*IN_MILLISECONDS, 25*IN_MILLISECONDS); - } else uiWhirlwind2Timer -= diff; + Whirlwind2Timer = urand(7 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); + } else Whirlwind2Timer -= diff; - if (uiKnockdownTimer <= diff) + if (KnockdownTimer <= diff) { DoCast(me->getVictim(), SPELL_KNOCKDOWN); - uiKnockdownTimer = urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS); - } else uiKnockdownTimer -= diff; + KnockdownTimer = urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); + } else KnockdownTimer -= diff; - if (uiFrenzyTimer <= diff) + if (FrenzyTimer <= diff) { DoCast(me->getVictim(), SPELL_FRENZY); - uiFrenzyTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); - } else uiFrenzyTimer -= diff; + FrenzyTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); + } else FrenzyTimer -= diff; - if (uiYellTimer <= diff) + if (YellTimer <= diff) { DoScriptText(RAND(YELL_RANDOM1, YELL_RANDOM2, YELL_RANDOM3, YELL_RANDOM4, YELL_RANDOM5), me); - uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); //20 to 30 seconds - } else uiYellTimer -= diff; + YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); //20 to 30 seconds + } else YellTimer -= diff; // check if creature is not outside of building - if (uiResetTimer <= diff) + if (ResetTimer <= diff) { if (me->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 50) { EnterEvadeMode(); DoScriptText(YELL_EVADE, me); } - uiResetTimer = 5*IN_MILLISECONDS; - } else uiResetTimer -= diff; + ResetTimer = 5 * IN_MILLISECONDS; + } else ResetTimer -= diff; DoMeleeAttackIfReady(); } diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp index 40d1ca2fe68..2b338833f4b 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp @@ -39,23 +39,23 @@ public: struct boss_galvangarAI : public ScriptedAI { - boss_galvangarAI(Creature* c) : ScriptedAI(c) {} + boss_galvangarAI(Creature* creature) : ScriptedAI(creature) {} - uint32 uiCleaveTimer; - uint32 uiFrighteningShoutTimer; - uint32 uiWhirlwind1Timer; - uint32 uiWhirlwind2Timer; - uint32 uiMortalStrikeTimer; - uint32 uiResetTimer; + uint32 CleaveTimer; + uint32 FrighteningShoutTimer; + uint32 Whirlwind1Timer; + uint32 Whirlwind2Timer; + uint32 MortalStrikeTimer; + uint32 ResetTimer; void Reset() { - uiCleaveTimer = urand(1*IN_MILLISECONDS, 9*IN_MILLISECONDS); - uiFrighteningShoutTimer = urand(2*IN_MILLISECONDS, 19*IN_MILLISECONDS); - uiWhirlwind1Timer = urand(1*IN_MILLISECONDS, 13*IN_MILLISECONDS); - uiWhirlwind2Timer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS); - uiMortalStrikeTimer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS); - uiResetTimer = 5*IN_MILLISECONDS; + CleaveTimer = urand(1 * IN_MILLISECONDS, 9 * IN_MILLISECONDS); + FrighteningShoutTimer = urand(2 * IN_MILLISECONDS, 19 * IN_MILLISECONDS); + Whirlwind1Timer = urand(1 * IN_MILLISECONDS, 13 * IN_MILLISECONDS); + Whirlwind2Timer = urand(5 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + MortalStrikeTimer = urand(5 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + ResetTimer = 5 * IN_MILLISECONDS; } void EnterCombat(Unit* /*who*/) @@ -73,46 +73,46 @@ public: if (!UpdateVictim()) return; - if (uiCleaveTimer <= diff) + if (CleaveTimer <= diff) { DoCast(me->getVictim(), SPELL_CLEAVE); - uiCleaveTimer = urand(10*IN_MILLISECONDS, 16*IN_MILLISECONDS); - } else uiCleaveTimer -= diff; + CleaveTimer = urand(10 * IN_MILLISECONDS, 16 * IN_MILLISECONDS); + } else CleaveTimer -= diff; - if (uiFrighteningShoutTimer <= diff) + if (FrighteningShoutTimer <= diff) { DoCast(me->getVictim(), SPELL_FRIGHTENING_SHOUT); - uiFrighteningShoutTimer = urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS); - } else uiFrighteningShoutTimer -= diff; + FrighteningShoutTimer = urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); + } else FrighteningShoutTimer -= diff; - if (uiWhirlwind1Timer <= diff) + if (Whirlwind1Timer <= diff) { DoCast(me->getVictim(), SPELL_WHIRLWIND1); - uiWhirlwind1Timer = urand(6*IN_MILLISECONDS, 10*IN_MILLISECONDS); - } else uiWhirlwind1Timer -= diff; + Whirlwind1Timer = urand(6 * IN_MILLISECONDS, 10 * IN_MILLISECONDS); + } else Whirlwind1Timer -= diff; - if (uiWhirlwind2Timer <= diff) + if (Whirlwind2Timer <= diff) { DoCast(me->getVictim(), SPELL_WHIRLWIND2); - uiWhirlwind2Timer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS); - } else uiWhirlwind2Timer -= diff; + Whirlwind2Timer = urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); + } else Whirlwind2Timer -= diff; - if (uiMortalStrikeTimer <= diff) + if (MortalStrikeTimer <= diff) { DoCast(me->getVictim(), SPELL_MORTAL_STRIKE); - uiMortalStrikeTimer = urand(10*IN_MILLISECONDS, 30*IN_MILLISECONDS); - } else uiMortalStrikeTimer -= diff; + MortalStrikeTimer = urand(10 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); + } else MortalStrikeTimer -= diff; // check if creature is not outside of building - if (uiResetTimer <= diff) + if (ResetTimer <= diff) { if (me->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 50) { EnterEvadeMode(); DoScriptText(YELL_EVADE, me); } - uiResetTimer = 5*IN_MILLISECONDS; - } else uiResetTimer -= diff; + ResetTimer = 5 * IN_MILLISECONDS; + } else ResetTimer -= diff; DoMeleeAttackIfReady(); } diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp index 973e7ca5f64..c933757c14a 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp @@ -46,21 +46,21 @@ public: struct boss_vanndarAI : public ScriptedAI { - boss_vanndarAI(Creature* c) : ScriptedAI(c) {} + boss_vanndarAI(Creature* creature) : ScriptedAI(creature) {} - uint32 uiAvatarTimer; - uint32 uiThunderclapTimer; - uint32 uiStormboltTimer; - uint32 uiResetTimer; - uint32 uiYellTimer; + uint32 AvatarTimer; + uint32 ThunderclapTimer; + uint32 StormboltTimer; + uint32 ResetTimer; + uint32 YellTimer; void Reset() { - uiAvatarTimer = 3*IN_MILLISECONDS; - uiThunderclapTimer = 4*IN_MILLISECONDS; - uiStormboltTimer = 6*IN_MILLISECONDS; - uiResetTimer = 5*IN_MILLISECONDS; - uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); + AvatarTimer = 3 * IN_MILLISECONDS; + ThunderclapTimer = 4 * IN_MILLISECONDS; + StormboltTimer = 6 * IN_MILLISECONDS; + ResetTimer = 5 * IN_MILLISECONDS; + YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); } void EnterCombat(Unit* /*who*/) @@ -79,40 +79,40 @@ public: if (!UpdateVictim()) return; - if (uiAvatarTimer <= diff) + if (AvatarTimer <= diff) { DoCast(me->getVictim(), SPELL_AVATAR); - uiAvatarTimer = urand(15*IN_MILLISECONDS, 20*IN_MILLISECONDS); - } else uiAvatarTimer -= diff; + AvatarTimer = urand(15 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); + } else AvatarTimer -= diff; - if (uiThunderclapTimer <= diff) + if (ThunderclapTimer <= diff) { DoCast(me->getVictim(), SPELL_THUNDERCLAP); - uiThunderclapTimer = urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS); - } else uiThunderclapTimer -= diff; + ThunderclapTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); + } else ThunderclapTimer -= diff; - if (uiStormboltTimer <= diff) + if (StormboltTimer <= diff) { DoCast(me->getVictim(), SPELL_STORMBOLT); - uiStormboltTimer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS); - } else uiStormboltTimer -= diff; + StormboltTimer = urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); + } else StormboltTimer -= diff; - if (uiYellTimer <= diff) + if (YellTimer <= diff) { DoScriptText(RAND(YELL_RANDOM1, YELL_RANDOM2, YELL_RANDOM3, YELL_RANDOM4, YELL_RANDOM5, YELL_RANDOM6, YELL_RANDOM7), me); - uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); //20 to 30 seconds - } else uiYellTimer -= diff; + YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); //20 to 30 seconds + } else YellTimer -= diff; // check if creature is not outside of building - if (uiResetTimer <= diff) + if (ResetTimer <= diff) { if (me->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 50) { EnterEvadeMode(); DoScriptText(YELL_EVADE, me); } - uiResetTimer = 5*IN_MILLISECONDS; - } else uiResetTimer -= diff; + ResetTimer = 5 * IN_MILLISECONDS; + } else ResetTimer -= diff; DoMeleeAttackIfReady(); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp index f205d1d7932..36a91ab3d51 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp @@ -15,35 +15,11 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Blackrock_Depths -SD%Complete: 95 -SDComment: Quest support: 4001, 4342, 7604, 4322. Vendor Lokhtos Darkbargainer. Need to rewrite the Jail Break support -SDCategory: Blackrock Depths -EndScriptData */ - -/* ContentData -go_shadowforge_brazier -at_ring_of_law -npc_grimstone -mob_phalanx -npc_kharan_mighthammer -npc_lokhtos_darkbargainer -npc_dughal_stormwing -npc_marshal_windsor -npc_marshal_reginald_windsor -npc_tobias_seecher -npc_rocknot -EndContentData */ - #include "ScriptPCH.h" #include "ScriptedEscortAI.h" #include "blackrock_depths.h" -/*###### -+## go_shadowforge_brazier -+######*/ - +//go_shadowforge_brazier class go_shadowforge_brazier : public GameObjectScript { public: @@ -65,13 +41,9 @@ public: } return false; } - }; -/*###### -## npc_grimstone -######*/ - +// npc_grimstone enum eGrimstone { NPC_GRIMSTONE = 10096, @@ -120,21 +92,17 @@ public: } return false; } - }; -/*###### -## npc_grimstone -######*/ - +// npc_grimstone enum GrimstoneTexts { - SCRIPT_TEXT1 = -1230003, - SCRIPT_TEXT2 = -1230004, - SCRIPT_TEXT3 = -1230005, - SCRIPT_TEXT4 = -1230006, - SCRIPT_TEXT5 = -1230007, - SCRIPT_TEXT6 = -1230008 + SCRIPT_TEXT1 = -1230003, + SCRIPT_TEXT2 = -1230004, + SCRIPT_TEXT3 = -1230005, + SCRIPT_TEXT4 = -1230006, + SCRIPT_TEXT5 = -1230007, + SCRIPT_TEXT6 = -1230008 }; //TODO: implement quest part of event (different end boss) @@ -150,19 +118,19 @@ public: struct npc_grimstoneAI : public npc_escortAI { - npc_grimstoneAI(Creature* c) : npc_escortAI(c) + npc_grimstoneAI(Creature* creature) : npc_escortAI(creature) { - instance = c->GetInstanceScript(); + instance = creature->GetInstanceScript(); MobSpawnId = rand()%6; } InstanceScript* instance; - uint8 EventPhase; + uint8 EventPhase; uint32 Event_Timer; - uint8 MobSpawnId; - uint8 MobCount; + uint8 MobSpawnId; + uint8 MobCount; uint32 MobDeath_Timer; uint64 RingMobGUID[4]; @@ -174,16 +142,16 @@ public: { me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - EventPhase = 0; - Event_Timer = 1000; + EventPhase = 0; + Event_Timer = 1000; - MobCount = 0; - MobDeath_Timer = 0; + MobCount = 0; + MobDeath_Timer = 0; for (uint8 i = 0; i < MAX_MOB_AMOUNT; ++i) RingMobGUID[i] = 0; - RingBossGUID = 0; + RingBossGUID = 0; CanWalk = false; } @@ -215,24 +183,24 @@ public: { case 0: DoScriptText(SCRIPT_TEXT1, me);//2 - CanWalk = false; - Event_Timer = 5000; + CanWalk = false; + Event_Timer = 5000; break; case 1: DoScriptText(SCRIPT_TEXT2, me);//4 - CanWalk = false; - Event_Timer = 5000; + CanWalk = false; + Event_Timer = 5000; break; case 2: - CanWalk = false; + CanWalk = false; break; case 3: DoScriptText(SCRIPT_TEXT3, me);//5 break; case 4: DoScriptText(SCRIPT_TEXT4, me);//6 - CanWalk = false; - Event_Timer = 5000; + CanWalk = false; + Event_Timer = 5000; break; case 5: if (instance) @@ -259,16 +227,16 @@ public: { if (MobDeath_Timer <= diff) { - MobDeath_Timer = 2500; + MobDeath_Timer = 2500; if (RingBossGUID) { Creature* boss = Unit::GetCreature(*me, RingBossGUID); if (boss && !boss->isAlive() && boss->isDead()) { - RingBossGUID = 0; - Event_Timer = 5000; - MobDeath_Timer = 0; + RingBossGUID = 0; + Event_Timer = 5000; + MobDeath_Timer = 0; return; } return; @@ -279,7 +247,7 @@ public: Creature* mob = Unit::GetCreature(*me, RingMobGUID[i]); if (mob && !mob->isAlive() && mob->isDead()) { - RingMobGUID[i] = 0; + RingMobGUID[i] = 0; --MobCount; //seems all are gone, so set timer to continue and discontinue this @@ -365,18 +333,14 @@ public: npc_escortAI::UpdateAI(diff); } }; - }; -/*###### -## mob_phalanx -######*/ - +// mob_phalanx enum PhalanxSpells { - SPELL_THUNDERCLAP = 8732, - SPELL_FIREBALLVOLLEY = 22425, - SPELL_MIGHTYBLOW = 14099 + SPELL_THUNDERCLAP = 8732, + SPELL_FIREBALLVOLLEY = 22425, + SPELL_MIGHTYBLOW = 14099 }; class mob_phalanx : public CreatureScript @@ -399,9 +363,9 @@ public: void Reset() { - ThunderClap_Timer = 12000; - FireballVolley_Timer =0; - MightyBlow_Timer = 15000; + ThunderClap_Timer = 12000; + FireballVolley_Timer = 0; + MightyBlow_Timer = 15000; } void UpdateAI(const uint32 diff) @@ -437,22 +401,17 @@ public: DoMeleeAttackIfReady(); } }; - }; -/*###### -## npc_kharan_mighthammer -######*/ - +// npc_kharan_mighthammer enum KharamQuests { - QUEST_4001 = 4001, - QUEST_4342 = 4342 + QUEST_4001 = 4001, + QUEST_4342 = 4342 }; #define GOSSIP_ITEM_KHARAN_1 "I need to know where the princess are, Kharan!" #define GOSSIP_ITEM_KHARAN_2 "All is not lost, Kharan!" - #define GOSSIP_ITEM_KHARAN_3 "Gor'shak is my friend, you can trust me." #define GOSSIP_ITEM_KHARAN_4 "Not enough, you need to tell me more." #define GOSSIP_ITEM_KHARAN_5 "So what happened?" @@ -467,13 +426,13 @@ class npc_kharan_mighthammer : public CreatureScript public: npc_kharan_mighthammer() : CreatureScript("npc_kharan_mighthammer") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*Sender*/, uint32 action) { player->PlayerTalkClass->ClearMenus(); - switch (uiAction) + switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); player->SEND_GOSSIP_MENU(2475, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: @@ -534,13 +493,9 @@ public: return true; } - }; -/*###### -## npc_lokhtos_darkbargainer -######*/ - +// npc_lokhtos_darkbargainer enum LokhtosItems { ITEM_THRORIUM_BROTHERHOOD_CONTRACT = 18628, @@ -565,15 +520,15 @@ class npc_lokhtos_darkbargainer : public CreatureScript public: npc_lokhtos_darkbargainer() : CreatureScript("npc_lokhtos_darkbargainer") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*Sender*/, uint32 action) { player->PlayerTalkClass->ClearMenus(); - if (uiAction == GOSSIP_ACTION_INFO_DEF + 1) + if (action == GOSSIP_ACTION_INFO_DEF + 1) { player->CLOSE_GOSSIP_MENU(); player->CastSpell(player, SPELL_CREATE_THORIUM_BROTHERHOOD_CONTRACT_DND, false); } - if (uiAction == GOSSIP_ACTION_TRADE) + if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; @@ -601,18 +556,15 @@ public: return true; } - }; -/*###### -## npc_dughal_stormwing -######*/ - +// npc_dughal_stormwing enum DughalQuests { - QUEST_JAIL_BREAK = 4322 + QUEST_JAIL_BREAK = 4322 }; +// DELETE THIS IF IT IS NOT NEEDED! #define SAY_DUGHAL_FREE "Thank you, $N! I'm free!!!" #define GOSSIP_DUGHAL "You're free, Dughal! Get out of here!" @@ -633,10 +585,10 @@ public: return dughal_stormwingAI; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 uiSender, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 Sender, uint32 action) { player->PlayerTalkClass->ClearMenus(); - if (uiAction == GOSSIP_ACTION_INFO_DEF + 1) + if (action == GOSSIP_ACTION_INFO_DEF + 1) { player->CLOSE_GOSSIP_MENU(); CAST_AI(npc_escort::npc_escortAI, (creature->AI()))->Start(false, true, player->GetGUID()); @@ -707,14 +659,11 @@ public: npc_escortAI::UpdateAI(diff); } }; - }; */ -/*###### -## npc_marshal_windsor -######*/ +// npc_marshal_windsor #define SAY_WINDSOR_AGGRO1 "You locked up the wrong Marshal. Prepare to be destroyed!" #define SAY_WINDSOR_AGGRO2 "I bet you're sorry now, aren't you !?!!" #define SAY_WINDSOR_AGGRO3 "You better hold me back $N or they are going to feel some prison house beatings." @@ -771,7 +720,6 @@ public: instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_IN_PROGRESS); creature->setFaction(11); } - } return false; } @@ -875,14 +823,11 @@ public: npc_escortAI::UpdateAI(diff); } }; - }; */ -/*###### -## npc_marshal_reginald_windsor -######*/ +// npc_marshal_reginald_windsor #define SAY_REGINALD_WINDSOR_0_1 "Can you feel the power, $N??? It's time to ROCK!" #define SAY_REGINALD_WINDSOR_0_2 "Now we just have to free Tobias and we can get out of here. This way!" #define SAY_REGINALD_WINDSOR_5_1 "Open it." @@ -1096,13 +1041,10 @@ public: npc_escortAI::UpdateAI(diff); } }; - }; */ -/*###### -## npc_tobias_seecher -######*/ +// npc_tobias_seecher #define SAY_TOBIAS_FREE "Thank you! I will run for safety immediately!" /* class npc_tobias_seecher : public CreatureScript @@ -1123,10 +1065,10 @@ public: return tobias_seecherAI; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 uiSender, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 Sender, uint32 action) { player->PlayerTalkClass->ClearMenus(); - if (uiAction == GOSSIP_ACTION_INFO_DEF + 1) + if (action == GOSSIP_ACTION_INFO_DEF + 1) { player->CLOSE_GOSSIP_MENU(); CAST_AI(npc_escort::npc_escortAI, (creature->AI()))->Start(false, true, player->GetGUID()); @@ -1198,28 +1140,24 @@ public: npc_escortAI::UpdateAI(diff); } }; - }; */ -/*###### -## npc_rocknot -######*/ - +// npc_rocknot enum RocknotSays { - SAY_GOT_BEER = -1230000 + SAY_GOT_BEER = -1230000 }; enum RocknotSpells { - SPELL_DRUNKEN_RAGE = 14872 + SPELL_DRUNKEN_RAGE = 14872 }; enum RocknotQuests { - QUEST_ALE = 4295 + QUEST_ALE = 4295 }; class npc_rocknot : public CreatureScript @@ -1248,6 +1186,7 @@ public: { DoScriptText(SAY_GOT_BEER, creature); creature->CastSpell(creature, SPELL_DRUNKEN_RAGE, false); + if (npc_escortAI* escortAI = CAST_AI(npc_rocknot::npc_rocknotAI, creature->AI())) escortAI->Start(false, false); } @@ -1263,9 +1202,9 @@ public: struct npc_rocknotAI : public npc_escortAI { - npc_rocknotAI(Creature* c) : npc_escortAI(c) + npc_rocknotAI(Creature* creature) : npc_escortAI(creature) { - instance = c->GetInstanceScript(); + instance = creature->GetInstanceScript(); } InstanceScript* instance; @@ -1278,8 +1217,8 @@ public: if (HasEscortState(STATE_ESCORT_ESCORTING)) return; - BreakKeg_Timer = 0; - BreakDoor_Timer = 0; + BreakKeg_Timer = 0; + BreakDoor_Timer = 0; } void DoGo(uint32 id, uint32 state) @@ -1324,8 +1263,8 @@ public: if (BreakKeg_Timer <= diff) { DoGo(DATA_GO_BAR_KEG, 0); - BreakKeg_Timer = 0; - BreakDoor_Timer = 1000; + BreakKeg_Timer = 0; + BreakDoor_Timer = 1000; } else BreakKeg_Timer -= diff; } @@ -1351,13 +1290,8 @@ public: npc_escortAI::UpdateAI(diff); } }; - }; -/*###### -## -######*/ - void AddSC_blackrock_depths() { new go_shadowforge_brazier(); @@ -1366,9 +1300,11 @@ void AddSC_blackrock_depths() new mob_phalanx(); new npc_kharan_mighthammer(); new npc_lokhtos_darkbargainer(); - //new npc_dughal_stormwing(); - //new npc_tobias_seecher(); - //new npc_marshal_windsor(); - //new npc_marshal_reginald_windsor(); new npc_rocknot(); + // Fix us + /*new npc_dughal_stormwing(); + new npc_tobias_seecher(); + new npc_marshal_windsor(); + new npc_marshal_reginald_windsor(); + */ } diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp index ad663415cbe..86bd0a0b393 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Ambassador_Flamelash -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -42,15 +35,15 @@ public: struct boss_ambassador_flamelashAI : public ScriptedAI { - boss_ambassador_flamelashAI(Creature* c) : ScriptedAI(c) {} + boss_ambassador_flamelashAI(Creature* creature) : ScriptedAI(creature) {} uint32 FireBlast_Timer; uint32 Spirit_Timer; void Reset() { - FireBlast_Timer = 2000; - Spirit_Timer = 24000; + FireBlast_Timer = 2000; + Spirit_Timer = 24000; } void EnterCombat(Unit* /*who*/) {} @@ -88,7 +81,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_ambassador_flamelash() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp index 1edb5d99463..3d37d1885da 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Anubshiah -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -46,7 +39,7 @@ public: struct boss_anubshiahAI : public ScriptedAI { - boss_anubshiahAI(Creature* c) : ScriptedAI(c) {} + boss_anubshiahAI(Creature* creature) : ScriptedAI(creature) {} uint32 ShadowBolt_Timer; uint32 CurseOfTongues_Timer; @@ -56,16 +49,14 @@ public: void Reset() { - ShadowBolt_Timer = 7000; - CurseOfTongues_Timer = 24000; - CurseOfWeakness_Timer = 12000; - DemonArmor_Timer = 3000; - EnvelopingWeb_Timer = 16000; + ShadowBolt_Timer = 7000; + CurseOfTongues_Timer = 24000; + CurseOfWeakness_Timer = 12000; + DemonArmor_Timer = 3000; + EnvelopingWeb_Timer = 16000; } - void EnterCombat(Unit* /*who*/) - { - } + void EnterCombat(Unit* /*who*/) {} void UpdateAI(const uint32 diff) { @@ -113,7 +104,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_anubshiah() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp index 1d9878a331a..deda95ff454 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Emperor_Dagran_Thaurissan -SD%Complete: 99 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" #include "blackrock_depths.h" @@ -50,7 +43,7 @@ public: struct boss_draganthaurissanAI : public ScriptedAI { - boss_draganthaurissanAI(Creature* c) : ScriptedAI(c) + boss_draganthaurissanAI(Creature* creature) : ScriptedAI(creature) { instance = me->GetInstanceScript(); } @@ -62,9 +55,9 @@ public: void Reset() { - HandOfThaurissan_Timer = 4000; - AvatarOfFlame_Timer = 25000; - //Counter= 0; + HandOfThaurissan_Timer = 4000; + AvatarOfFlame_Timer = 25000; + //Counter = 0; } void EnterCombat(Unit* /*who*/) @@ -107,7 +100,7 @@ public: //else //{ HandOfThaurissan_Timer = 5000; - //Counter = 0; + //Counter = 0; //} } else HandOfThaurissan_Timer -= diff; @@ -121,7 +114,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_draganthaurissan() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp index 9b290b2e352..d402e70d671 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_General_Angerforge -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -44,7 +37,7 @@ public: struct boss_general_angerforgeAI : public ScriptedAI { - boss_general_angerforgeAI(Creature* c) : ScriptedAI(c) {} + boss_general_angerforgeAI(Creature* creature) : ScriptedAI(creature) {} uint32 MightyBlow_Timer; uint32 HamString_Timer; @@ -54,16 +47,14 @@ public: void Reset() { - MightyBlow_Timer = 8000; - HamString_Timer = 12000; - Cleave_Timer = 16000; - Adds_Timer = 0; - Medics = false; + MightyBlow_Timer = 8000; + HamString_Timer = 12000; + Cleave_Timer = 16000; + Adds_Timer = 0; + Medics = false; } - void EnterCombat(Unit* /*who*/) - { - } + void EnterCombat(Unit* /*who*/) {} void SummonAdds(Unit* victim) { @@ -129,7 +120,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_general_angerforge() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp index c82c5f82965..1055e20bddd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Gorosh_the_Dervish -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -43,15 +36,15 @@ public: struct boss_gorosh_the_dervishAI : public ScriptedAI { - boss_gorosh_the_dervishAI(Creature* c) : ScriptedAI(c) {} + boss_gorosh_the_dervishAI(Creature* creature) : ScriptedAI(creature) {} uint32 WhirlWind_Timer; uint32 MortalStrike_Timer; void Reset() { - WhirlWind_Timer = 12000; - MortalStrike_Timer = 22000; + WhirlWind_Timer = 12000; + MortalStrike_Timer = 22000; } void EnterCombat(Unit* /*who*/) @@ -81,7 +74,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_gorosh_the_dervish() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp index e8b794a2edb..df850a276b7 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Grizzle -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -43,20 +36,18 @@ public: struct boss_grizzleAI : public ScriptedAI { - boss_grizzleAI(Creature* c) : ScriptedAI(c) {} + boss_grizzleAI(Creature* creature) : ScriptedAI(creature) {} uint32 GroundTremor_Timer; uint32 Frenzy_Timer; void Reset() { - GroundTremor_Timer = 12000; - Frenzy_Timer =0; + GroundTremor_Timer = 12000; + Frenzy_Timer = 0; } - void EnterCombat(Unit* /*who*/) - { - } + void EnterCombat(Unit* /*who*/) {} void UpdateAI(const uint32 diff) { @@ -86,7 +77,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_grizzle() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp index 5b7ce8bd760..28e8b47f680 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_High_Interrogator_Gerstahn -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -45,7 +38,7 @@ public: struct boss_high_interrogator_gerstahnAI : public ScriptedAI { - boss_high_interrogator_gerstahnAI(Creature* c) : ScriptedAI(c) {} + boss_high_interrogator_gerstahnAI(Creature* creature) : ScriptedAI(creature) {} uint32 ShadowWordPain_Timer; uint32 ManaBurn_Timer; @@ -54,15 +47,13 @@ public: void Reset() { - ShadowWordPain_Timer = 4000; - ManaBurn_Timer = 14000; - PsychicScream_Timer = 32000; - ShadowShield_Timer = 8000; + ShadowWordPain_Timer = 4000; + ManaBurn_Timer = 14000; + PsychicScream_Timer = 32000; + ShadowShield_Timer = 8000; } - void EnterCombat(Unit* /*who*/) - { - } + void EnterCombat(Unit* /*who*/) {} void UpdateAI(const uint32 diff) { @@ -103,7 +94,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_high_interrogator_gerstahn() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp index 4c6bbf33e59..0f767f7bc23 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Magmus -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -33,7 +26,7 @@ enum Spells enum eEnums { - DATA_THRONE_DOOR = 24 // not id or guid of doors but number of enum in blackrock_depths.h + DATA_THRONE_DOOR = 24 // not id or guid of doors but number of enum in blackrock_depths.h }; class boss_magmus : public CreatureScript @@ -48,20 +41,18 @@ public: struct boss_magmusAI : public ScriptedAI { - boss_magmusAI(Creature* c) : ScriptedAI(c) {} + boss_magmusAI(Creature* creature) : ScriptedAI(creature) {} uint32 FieryBurst_Timer; uint32 WarStomp_Timer; void Reset() { - FieryBurst_Timer = 5000; - WarStomp_Timer =0; + FieryBurst_Timer = 5000; + WarStomp_Timer = 0; } - void EnterCombat(Unit* /*who*/) - { - } + void EnterCombat(Unit* /*who*/) {} void UpdateAI(const uint32 diff) { @@ -95,7 +86,6 @@ public: instance->HandleGameObject(instance->GetData64(DATA_THRONE_DOOR), true); } }; - }; void AddSC_boss_magmus() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp index ac05f8d86bb..6c10a4a7cce 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Moira_Bronzbeard -SD%Complete: 90 -SDComment: Healing of Emperor NYI -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" enum Spells @@ -47,7 +40,7 @@ public: struct boss_moira_bronzebeardAI : public ScriptedAI { - boss_moira_bronzebeardAI(Creature* c) : ScriptedAI(c) {} + boss_moira_bronzebeardAI(Creature* creature) : ScriptedAI(creature) {} uint32 Heal_Timer; uint32 MindBlast_Timer; @@ -56,15 +49,13 @@ public: void Reset() { - Heal_Timer = 12000; //These times are probably wrong - MindBlast_Timer = 16000; - ShadowWordPain_Timer = 2000; - Smite_Timer = 8000; + Heal_Timer = 12000; // These times are probably wrong + MindBlast_Timer = 16000; + ShadowWordPain_Timer = 2000; + Smite_Timer = 8000; } - void EnterCombat(Unit* /*who*/) - { - } + void EnterCombat(Unit* /*who*/) {} void UpdateAI(const uint32 diff) { @@ -92,10 +83,8 @@ public: DoCast(me->getVictim(), SPELL_SMITE); Smite_Timer = 10000; } else Smite_Timer -= diff; - } }; - }; void AddSC_boss_moira_bronzebeard() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp index aecb3445b01..2fa19405153 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp @@ -16,30 +16,23 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Tomb_Of_Seven -SD%Complete: 90 -SDComment: Learning Smelt Dark Iron if tribute quest rewarded. Missing event. -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" #include "blackrock_depths.h" enum Spells { - SPELL_SMELT_DARK_IRON = 14891, - SPELL_LEARN_SMELT = 14894, + SPELL_SMELT_DARK_IRON = 14891, + SPELL_LEARN_SMELT = 14894, }; enum Quests { - QUEST_SPECTRAL_CHALICE = 4083 + QUEST_SPECTRAL_CHALICE = 4083 }; enum Misc { - DATA_SKILLPOINT_MIN = 230 + DATA_SKILLPOINT_MIN = 230 }; #define GOSSIP_ITEM_TEACH_1 "Teach me the art of smelting dark iron" @@ -52,10 +45,10 @@ class boss_gloomrel : public CreatureScript public: boss_gloomrel() : CreatureScript("boss_gloomrel") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*Sender*/, uint32 action) { player->PlayerTalkClass->ClearMenus(); - switch (uiAction) + switch (action) { case GOSSIP_ACTION_INFO_DEF+1: player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); @@ -92,7 +85,6 @@ public: player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); return true; } - }; enum DoomrelSpells @@ -112,10 +104,10 @@ class boss_doomrel : public CreatureScript public: boss_doomrel() : CreatureScript("boss_doomrel") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*Sender*/, uint32 action) { player->PlayerTalkClass->ClearMenus(); - switch (uiAction) + switch (action) { case GOSSIP_ACTION_INFO_DEF+1: player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_DOOMREL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); @@ -150,9 +142,9 @@ public: struct boss_doomrelAI : public ScriptedAI { - boss_doomrelAI(Creature* c) : ScriptedAI(c) + boss_doomrelAI(Creature* creature) : ScriptedAI(creature) { - instance = c->GetInstanceScript(); + instance = creature->GetInstanceScript(); } InstanceScript* instance; @@ -164,11 +156,11 @@ public: void Reset() { - ShadowVolley_Timer = 10000; - Immolate_Timer = 18000; - CurseOfWeakness_Timer = 5000; - DemonArmor_Timer = 16000; - Voidwalkers = false; + ShadowVolley_Timer = 10000; + Immolate_Timer = 18000; + CurseOfWeakness_Timer = 5000; + DemonArmor_Timer = 16000; + Voidwalkers = false; me->setFaction(FACTION_FRIEND); @@ -252,7 +244,6 @@ public: DoMeleeAttackIfReady(); } }; - }; void AddSC_boss_tomb_of_seven() diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp index 36135d6ea55..ae81c3bed64 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp @@ -16,13 +16,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Instance_Blackrock_Depths -SD%Complete: 100 -SDComment: -SDCategory: Blackrock Depths -EndScriptData */ - #include "ScriptPCH.h" #include "blackrock_depths.h" @@ -63,7 +56,6 @@ enum eEnums GO_GOLEM_ROOM_N = 170573, // Magmus door North GO_GOLEM_ROOM_S = 170574, // Magmus door Soutsh GO_THRONE_ROOM = 170575, // Throne door - GO_SPECTRAL_CHALICE = 164869, GO_CHEST_SEVEN = 169243 }; @@ -82,7 +74,7 @@ public: { instance_blackrock_depths_InstanceMapScript(Map* map) : InstanceScript(map) {} - uint32 m_auiEncounter[MAX_ENCOUNTER]; + uint32 encounter[MAX_ENCOUNTER]; std::string str_data; uint64 EmperorGUID; @@ -121,59 +113,59 @@ public: void Initialize() { - memset(&m_auiEncounter, 0, sizeof(m_auiEncounter)); - - EmperorGUID = 0; - PhalanxGUID = 0; - MagmusGUID = 0; - MoiraGUID = 0; - - GoArena1GUID = 0; - GoArena2GUID = 0; - GoArena3GUID = 0; - GoArena4GUID = 0; - GoShadowLockGUID = 0; - GoShadowMechGUID = 0; - GoShadowGiantGUID = 0; - GoShadowDummyGUID = 0; - GoBarKegGUID = 0; - GoBarKegTrapGUID = 0; - GoBarDoorGUID = 0; - GoTombEnterGUID = 0; - GoTombExitGUID = 0; - GoLyceumGUID = 0; - GoSFSGUID = 0; - GoSFNGUID = 0; - GoGolemNGUID = 0; - GoGolemSGUID = 0; - GoThroneGUID = 0; - GoChestGUID = 0; - GoSpectralChaliceGUID = 0; - - BarAleCount = 0; - GhostKillCount = 0; - TombEventStarterGUID = 0; + memset(&encounter, 0, sizeof(encounter)); + + EmperorGUID = 0; + PhalanxGUID = 0; + MagmusGUID = 0; + MoiraGUID = 0; + + GoArena1GUID = 0; + GoArena2GUID = 0; + GoArena3GUID = 0; + GoArena4GUID = 0; + GoShadowLockGUID = 0; + GoShadowMechGUID = 0; + GoShadowGiantGUID = 0; + GoShadowDummyGUID = 0; + GoBarKegGUID = 0; + GoBarKegTrapGUID = 0; + GoBarDoorGUID = 0; + GoTombEnterGUID = 0; + GoTombExitGUID = 0; + GoLyceumGUID = 0; + GoSFSGUID = 0; + GoSFNGUID = 0; + GoGolemNGUID = 0; + GoGolemSGUID = 0; + GoThroneGUID = 0; + GoChestGUID = 0; + GoSpectralChaliceGUID = 0; + + BarAleCount = 0; + GhostKillCount = 0; + TombEventStarterGUID = 0; TombTimer = TIMER_TOMBOFTHESEVEN; - TombEventCounter = 0; + TombEventCounter = 0; for (uint8 i = 0; i < 7; ++i) - TombBossGUIDs[i] = 0; + TombBossGUIDs[i] = 0; } void OnCreatureCreate(Creature* creature) { switch (creature->GetEntry()) { - case NPC_EMPEROR: EmperorGUID = creature->GetGUID(); break; - case NPC_PHALANX: PhalanxGUID = creature->GetGUID(); break; - case NPC_MOIRA: MoiraGUID = creature->GetGUID(); break; - case NPC_DOOMREL: TombBossGUIDs[0] = creature->GetGUID(); break; - case NPC_DOPEREL: TombBossGUIDs[1] = creature->GetGUID(); break; - case NPC_HATEREL: TombBossGUIDs[2] = creature->GetGUID(); break; - case NPC_VILEREL: TombBossGUIDs[3] = creature->GetGUID(); break; - case NPC_SEETHREL: TombBossGUIDs[4] = creature->GetGUID(); break; - case NPC_GLOOMREL: TombBossGUIDs[5] = creature->GetGUID(); break; - case NPC_ANGERREL: TombBossGUIDs[6] = creature->GetGUID(); break; + case NPC_EMPEROR: EmperorGUID = creature->GetGUID(); break; + case NPC_PHALANX: PhalanxGUID = creature->GetGUID(); break; + case NPC_MOIRA: MoiraGUID = creature->GetGUID(); break; + case NPC_DOOMREL: TombBossGUIDs[0] = creature->GetGUID(); break; + case NPC_DOPEREL: TombBossGUIDs[1] = creature->GetGUID(); break; + case NPC_HATEREL: TombBossGUIDs[2] = creature->GetGUID(); break; + case NPC_VILEREL: TombBossGUIDs[3] = creature->GetGUID(); break; + case NPC_SEETHREL: TombBossGUIDs[4] = creature->GetGUID(); break; + case NPC_GLOOMREL: TombBossGUIDs[5] = creature->GetGUID(); break; + case NPC_ANGERREL: TombBossGUIDs[6] = creature->GetGUID(); break; case NPC_MAGMUS: MagmusGUID = creature->GetGUID(); if (!creature->isAlive()) @@ -239,25 +231,25 @@ public: switch (type) { case TYPE_RING_OF_LAW: - m_auiEncounter[0] = data; + encounter[0] = data; break; case TYPE_VAULT: - m_auiEncounter[1] = data; + encounter[1] = data; break; case TYPE_BAR: if (data == SPECIAL) ++BarAleCount; else - m_auiEncounter[2] = data; + encounter[2] = data; break; case TYPE_TOMB_OF_SEVEN: - m_auiEncounter[3] = data; + encounter[3] = data; break; case TYPE_LYCEUM: - m_auiEncounter[4] = data; + encounter[4] = data; break; case TYPE_IRON_HALL: - m_auiEncounter[5] = data; + encounter[5] = data; break; case DATA_GHOSTKILL: GhostKillCount += data; @@ -269,8 +261,8 @@ public: OUT_SAVE_INST_DATA; std::ostringstream saveStream; - saveStream << m_auiEncounter[0] << ' ' << m_auiEncounter[1] << ' ' << m_auiEncounter[2] << ' ' - << m_auiEncounter[3] << ' ' << m_auiEncounter[4] << ' ' << m_auiEncounter[5] << ' ' << GhostKillCount; + saveStream << encounter[0] << ' ' << encounter[1] << ' ' << encounter[2] << ' ' + << encounter[3] << ' ' << encounter[4] << ' ' << encounter[5] << ' ' << GhostKillCount; str_data = saveStream.str(); @@ -284,20 +276,20 @@ public: switch (type) { case TYPE_RING_OF_LAW: - return m_auiEncounter[0]; + return encounter[0]; case TYPE_VAULT: - return m_auiEncounter[1]; + return encounter[1]; case TYPE_BAR: - if (m_auiEncounter[2] == IN_PROGRESS && BarAleCount == 3) + if (encounter[2] == IN_PROGRESS && BarAleCount == 3) return SPECIAL; else - return m_auiEncounter[2]; + return encounter[2]; case TYPE_TOMB_OF_SEVEN: - return m_auiEncounter[3]; + return encounter[3]; case TYPE_LYCEUM: - return m_auiEncounter[4]; + return encounter[4]; case TYPE_IRON_HALL: - return m_auiEncounter[5]; + return encounter[5]; case DATA_GHOSTKILL: return GhostKillCount; } @@ -362,12 +354,12 @@ public: OUT_LOAD_INST_DATA(in); std::istringstream loadStream(in); - loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3] - >> m_auiEncounter[4] >> m_auiEncounter[5] >> GhostKillCount; + loadStream >> encounter[0] >> encounter[1] >> encounter[2] >> encounter[3] + >> encounter[4] >> encounter[5] >> GhostKillCount; for (uint8 i = 0; i < MAX_ENCOUNTER; ++i) - if (m_auiEncounter[i] == IN_PROGRESS) - m_auiEncounter[i] = NOT_STARTED; + if (encounter[i] == IN_PROGRESS) + encounter[i] = NOT_STARTED; if (GhostKillCount > 0 && GhostKillCount < 7) GhostKillCount = 0;//reset tomb of seven event if (GhostKillCount >= 7) @@ -459,7 +451,6 @@ public: TombOfSevenEnd(); } }; - }; void AddSC_instance_blackrock_depths() diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp index 5c68b933568..eec118b2972 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp @@ -58,10 +58,10 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_FIRE_NOVA, 6*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CLEAVE, 8*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CONFLIGURATION, 15*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_THUNDERCLAP, 17*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FIRE_NOVA, 6 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 8 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CONFLIGURATION, 15 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_THUNDERCLAP, 17 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -85,19 +85,19 @@ public: { case EVENT_FIRE_NOVA: DoCast(me->getVictim(), SPELL_FIRENOVA); - events.ScheduleEvent(EVENT_FIRE_NOVA, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FIRE_NOVA, 10 * IN_MILLISECONDS); break; case EVENT_CLEAVE: DoCast(me->getVictim(), SPELL_CLEAVE); - events.ScheduleEvent(EVENT_CLEAVE, 8*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 8 * IN_MILLISECONDS); break; case EVENT_CONFLIGURATION: DoCast(me->getVictim(), SPELL_CONFLIGURATION); - events.ScheduleEvent(EVENT_CONFLIGURATION, 18*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CONFLIGURATION, 18 * IN_MILLISECONDS); break; case EVENT_THUNDERCLAP: DoCast(me->getVictim(), SPELL_THUNDERCLAP); - events.ScheduleEvent(EVENT_THUNDERCLAP, 20*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_THUNDERCLAP, 20 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp index b08478a1145..88b1bbc49e2 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp @@ -74,9 +74,9 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_SUMMON_DRAGON_PACK, 3*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_SUMMON_ORC_PACK, 60*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_AGGRO, 60*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SUMMON_DRAGON_PACK, 3 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SUMMON_ORC_PACK, 60 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_AGGRO, 60 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -87,7 +87,7 @@ public: void SummonCreatureWithRandomTarget(uint32 creatureId, uint8 count) { for (uint8 n = 0; n < count; n++) - if (Unit* Summoned = me->SummonCreature(creatureId, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 240*IN_MILLISECONDS)) + if (Unit* Summoned = me->SummonCreature(creatureId, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 240 * IN_MILLISECONDS)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true)) Summoned->AddThreat(target, 250.0f); } @@ -99,7 +99,7 @@ public: if (!SummonedRend && HealthBelowPct(11)) { - events.ScheduleEvent(EVENT_SUMMON_REND, 8*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SUMMON_REND, 8 * IN_MILLISECONDS); SummonedRend = true; } @@ -118,10 +118,10 @@ public: me->InterruptNonMeleeSpells(false); // Gyth model me->SetDisplayId(me->GetCreatureInfo()->Modelid1); - me->SummonCreature(NPC_WARCHIEF_REND_BLACKHAND, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CORROSIVE_ACID, 8*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_FREEZE, 11*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_FLAME_BREATH, 4*IN_MILLISECONDS); + me->SummonCreature(NPC_WARCHIEF_REND_BLACKHAND, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CORROSIVE_ACID, 8 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FREEZE, 11 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FLAME_BREATH, 4 * IN_MILLISECONDS); events.CancelEvent(EVENT_SUMMON_REND); break; case EVENT_AGGRO: @@ -152,11 +152,11 @@ public: break; case EVENT_CORROSIVE_ACID: DoCast(me->getVictim(), SPELL_CORROSIVE_ACID); - events.ScheduleEvent(EVENT_CORROSIVE_ACID, 7*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CORROSIVE_ACID, 7 * IN_MILLISECONDS); break; case EVENT_FREEZE: DoCast(me->getVictim(), SPELL_FREEZE); - events.ScheduleEvent(EVENT_FREEZE, 16*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FREEZE, 16 * IN_MILLISECONDS); break; case EVENT_FLAME_BREATH: DoCast(me->getVictim(), SPELL_FLAMEBREATH); diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp index 5a3adfe499f..59c1ea1c9a4 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp @@ -59,8 +59,8 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_CROWD_PUMMEL, 8*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_MIGHTY_BLOW, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CROWD_PUMMEL, 8 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_MIGHTY_BLOW, 14 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -76,7 +76,7 @@ public: //Summon Gizrul if (!Summoned && HealthBelowPct(25)) { - me->SummonCreature(NPC_GIZRUL_THE_SLAVENER, SummonLocation, TEMPSUMMON_TIMED_DESPAWN, 300*IN_MILLISECONDS); + me->SummonCreature(NPC_GIZRUL_THE_SLAVENER, SummonLocation, TEMPSUMMON_TIMED_DESPAWN, 300 * IN_MILLISECONDS); Summoned = true; } @@ -91,11 +91,11 @@ public: { case EVENT_CROWD_PUMMEL: DoCast(me->getVictim(), SPELL_CROWDPUMMEL); - events.ScheduleEvent(EVENT_CROWD_PUMMEL, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CROWD_PUMMEL, 14 * IN_MILLISECONDS); break; case EVENT_MIGHTY_BLOW: DoCast(me->getVictim(), SPELL_MIGHTYBLOW); - events.ScheduleEvent(EVENT_MIGHTY_BLOW, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_MIGHTY_BLOW, 10 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp index d1c1a2db699..4c91f79624a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp @@ -64,13 +64,13 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_WARSTOMP, 15*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CLEAVE, 6*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_STRIKE, 10*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_REND, 14*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_SUNDER_ARMOR, 2*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_KNOCK_AWAY, 18*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_SLOW, 24*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_WARSTOMP, 15 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 6 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_STRIKE, 10 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_REND, 14 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SUNDER_ARMOR, 2 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_KNOCK_AWAY, 18 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SLOW, 24 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -94,31 +94,31 @@ public: { case EVENT_WARSTOMP: DoCast(me->getVictim(), SPELL_WARSTOMP); - events.ScheduleEvent(EVENT_WARSTOMP, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_WARSTOMP, 14 * IN_MILLISECONDS); break; case EVENT_CLEAVE: DoCast(me->getVictim(), SPELL_CLEAVE); - events.ScheduleEvent(EVENT_CLEAVE, 8*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 8 * IN_MILLISECONDS); break; case EVENT_STRIKE: DoCast(me->getVictim(), SPELL_STRIKE); - events.ScheduleEvent(EVENT_STRIKE, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_STRIKE, 10 * IN_MILLISECONDS); break; case EVENT_REND: DoCast(me->getVictim(), SPELL_REND); - events.ScheduleEvent(EVENT_REND, 18*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_REND, 18 * IN_MILLISECONDS); break; case EVENT_SUNDER_ARMOR: DoCast(me->getVictim(), SPELL_SUNDERARMOR); - events.ScheduleEvent(EVENT_SUNDER_ARMOR, 25*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SUNDER_ARMOR, 25 * IN_MILLISECONDS); break; case EVENT_KNOCK_AWAY: DoCast(me->getVictim(), SPELL_KNOCKAWAY); - events.ScheduleEvent(EVENT_KNOCK_AWAY, 12*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_KNOCK_AWAY, 12 * IN_MILLISECONDS); break; case EVENT_SLOW: DoCast(me->getVictim(), SPELL_SLOW); - events.ScheduleEvent(EVENT_SLOW, 18*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SLOW, 18 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp index 3c467b1c7a8..a2314518f28 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp @@ -55,8 +55,8 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_CRYSTALIZE, 20*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_MOTHERS_MILK, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CRYSTALIZE, 20 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_MOTHERS_MILK, 10 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -86,11 +86,11 @@ public: { case EVENT_CRYSTALIZE: DoCast(me, SPELL_CRYSTALIZE); - events.ScheduleEvent(EVENT_CRYSTALIZE, 15*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CRYSTALIZE, 15 * IN_MILLISECONDS); break; case EVENT_MOTHERS_MILK: DoCast(me, SPELL_MOTHERSMILK); - events.ScheduleEvent(EVENT_MOTHERS_MILK, urand(5*IN_MILLISECONDS, 12500)); + events.ScheduleEvent(EVENT_MOTHERS_MILK, urand(5 * IN_MILLISECONDS, 12500)); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp index 4f71bdef129..28680ef5049 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp @@ -71,10 +71,10 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_BLAST_WAVE, 20*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_SHOUT, 2*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CLEAVE, 6*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_KNOCK_AWAY, 12*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_BLAST_WAVE, 20 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SHOUT, 2 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 6 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_KNOCK_AWAY, 12 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -91,9 +91,9 @@ public: { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) { - if (Creature* warlord = me->SummonCreature(NPC_SPIRESTONE_WARLORD, SummonLocation1, TEMPSUMMON_TIMED_DESPAWN, 300*IN_MILLISECONDS)) + if (Creature* warlord = me->SummonCreature(NPC_SPIRESTONE_WARLORD, SummonLocation1, TEMPSUMMON_TIMED_DESPAWN, 300 * IN_MILLISECONDS)) warlord->AI()->AttackStart(target); - if (Creature* berserker = me->SummonCreature(NPC_SMOLDERTHORN_BERSERKER, SummonLocation2, TEMPSUMMON_TIMED_DESPAWN, 300*IN_MILLISECONDS)) + if (Creature* berserker = me->SummonCreature(NPC_SMOLDERTHORN_BERSERKER, SummonLocation2, TEMPSUMMON_TIMED_DESPAWN, 300 * IN_MILLISECONDS)) berserker->AI()->AttackStart(target); Summoned = true; } @@ -110,19 +110,19 @@ public: { case EVENT_BLAST_WAVE: DoCast(me->getVictim(), SPELL_BLASTWAVE); - events.ScheduleEvent(EVENT_BLAST_WAVE, 20*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_BLAST_WAVE, 20 * IN_MILLISECONDS); break; case EVENT_SHOUT: DoCast(me->getVictim(), SPELL_SHOUT); - events.ScheduleEvent(EVENT_SHOUT, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SHOUT, 10 * IN_MILLISECONDS); break; case EVENT_CLEAVE: DoCast(me->getVictim(), SPELL_CLEAVE); - events.ScheduleEvent(EVENT_CLEAVE, 7*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 7 * IN_MILLISECONDS); break; case EVENT_KNOCK_AWAY: DoCast(me->getVictim(), SPELL_KNOCKAWAY); - events.ScheduleEvent(EVENT_KNOCK_AWAY, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_KNOCK_AWAY, 14 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp index c938561eb9c..b4d44d85dec 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp @@ -57,9 +57,9 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_FIRENOVA, 6*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_FLAMEBUFFET, 3*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_PYROBLAST, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FIRENOVA, 6 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FLAMEBUFFET, 3 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_PYROBLAST, 14 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -83,16 +83,16 @@ public: { case EVENT_FIRENOVA: DoCast(me->getVictim(), SPELL_FIRENOVA); - events.ScheduleEvent(EVENT_FIRENOVA, 6*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FIRENOVA, 6 * IN_MILLISECONDS); break; case EVENT_FLAMEBUFFET: DoCast(me->getVictim(), SPELL_FLAMEBUFFET); - events.ScheduleEvent(EVENT_FLAMEBUFFET, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FLAMEBUFFET, 14 * IN_MILLISECONDS); break; case EVENT_PYROBLAST: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_PYROBLAST); - events.ScheduleEvent(EVENT_PYROBLAST, 15*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_PYROBLAST, 15 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp index ee954d1adfa..bb8f45082dc 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp @@ -56,8 +56,8 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_SHOOT, 1*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_STUN_BOMB, 16*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SHOOT, 1 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_STUN_BOMB, 16 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -85,7 +85,7 @@ public: break; case EVENT_STUN_BOMB: DoCast(me->getVictim(), SPELL_STUNBOMB); - events.ScheduleEvent(EVENT_STUN_BOMB, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_STUN_BOMB, 14 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp index 634b65e0002..762de86a82b 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp @@ -56,9 +56,9 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_WHIRLWIND, 20*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CLEAVE, 5*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_THUNDERCLAP, 9*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_WHIRLWIND, 20 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 5 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_THUNDERCLAP, 9 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -82,15 +82,15 @@ public: { case EVENT_WHIRLWIND: DoCast(me->getVictim(), SPELL_WHIRLWIND); - events.ScheduleEvent(EVENT_WHIRLWIND, 18*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_WHIRLWIND, 18 * IN_MILLISECONDS); break; case EVENT_CLEAVE: DoCast(me->getVictim(), SPELL_CLEAVE); - events.ScheduleEvent(EVENT_CLEAVE, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 10 * IN_MILLISECONDS); break; case EVENT_THUNDERCLAP: DoCast(me->getVictim(), SPELL_THUNDERCLAP); - events.ScheduleEvent(EVENT_THUNDERCLAP, 16*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_THUNDERCLAP, 16 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp index 71ce5c8d48e..fcd41f97ad0 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp @@ -57,9 +57,9 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 2*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_HEX, 8*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CLEAVE, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 2 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_HEX, 8 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 14 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -83,16 +83,16 @@ public: { case EVENT_CURSE_OF_BLOOD: DoCast(me->getVictim(), SPELL_CURSEOFBLOOD); - events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 45*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 45 * IN_MILLISECONDS); break; case EVENT_HEX: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_HEX); - events.ScheduleEvent(EVENT_HEX, 15*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_HEX, 15 * IN_MILLISECONDS); break; case EVENT_CLEAVE: DoCast(me->getVictim(), SPELL_CLEAVE); - events.ScheduleEvent(EVENT_CLEAVE, 7*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 7 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp index ea7a4b79ee2..f2b3f3ff87b 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp @@ -56,9 +56,9 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_FLAME_BREAK, 12*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_IMMOLATE, 3*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 23*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FLAME_BREAK, 12 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_IMMOLATE, 3 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 23 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -82,16 +82,16 @@ public: { case EVENT_FLAME_BREAK: DoCast(me->getVictim(), SPELL_FLAMEBREAK); - events.ScheduleEvent(EVENT_FLAME_BREAK, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FLAME_BREAK, 10 * IN_MILLISECONDS); break; case EVENT_IMMOLATE: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_IMMOLATE); - events.ScheduleEvent(EVENT_IMMOLATE, 8*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_IMMOLATE, 8 * IN_MILLISECONDS); break; case EVENT_TERRIFYING_ROAR: DoCast(me->getVictim(), SPELL_TERRIFYINGROAR); - events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 20*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 20 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp index b1ae9b07630..40ead810600 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp @@ -62,12 +62,12 @@ public: void EnterCombat(Unit* /*who*/) { _EnterCombat(); - events.ScheduleEvent(EVENT_SNAP_KICK, 8*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_CLEAVE, 14*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_UPPERCUT, 20*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_MORTAL_STRIKE, 12*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_PUMMEL, 32*IN_MILLISECONDS); - events.ScheduleEvent(EVENT_THROW_AXE, 1*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SNAP_KICK, 8 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 14 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_UPPERCUT, 20 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_MORTAL_STRIKE, 12 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_PUMMEL, 32 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_THROW_AXE, 1 * IN_MILLISECONDS); } void JustDied(Unit* /*who*/) @@ -91,27 +91,27 @@ public: { case EVENT_SNAP_KICK: DoCast(me->getVictim(), SPELL_SNAPKICK); - events.ScheduleEvent(EVENT_SNAP_KICK, 6*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_SNAP_KICK, 6 * IN_MILLISECONDS); break; case EVENT_CLEAVE: DoCast(me->getVictim(), SPELL_CLEAVE); - events.ScheduleEvent(EVENT_CLEAVE, 12*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_CLEAVE, 12 * IN_MILLISECONDS); break; case EVENT_UPPERCUT: DoCast(me->getVictim(), SPELL_UPPERCUT); - events.ScheduleEvent(EVENT_UPPERCUT, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_UPPERCUT, 14 * IN_MILLISECONDS); break; case EVENT_MORTAL_STRIKE: DoCast(me->getVictim(), SPELL_MORTALSTRIKE); - events.ScheduleEvent(EVENT_MORTAL_STRIKE, 10*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_MORTAL_STRIKE, 10 * IN_MILLISECONDS); break; case EVENT_PUMMEL: DoCast(me->getVictim(), SPELL_PUMMEL); - events.ScheduleEvent(EVENT_MORTAL_STRIKE, 16*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_MORTAL_STRIKE, 16 * IN_MILLISECONDS); break; case EVENT_THROW_AXE: DoCast(me->getVictim(), SPELL_THROWAXE); - events.ScheduleEvent(EVENT_THROW_AXE, 8*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_THROW_AXE, 8 * IN_MILLISECONDS); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp index d65c1c68090..cff1c831eee 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp @@ -33,7 +33,7 @@ public: { instance_blackrock_spireMapScript(InstanceMap* map) : InstanceScript(map) {} - uint32 Encounter[MAX_ENCOUNTER]; + uint32 encounter[MAX_ENCOUNTER]; std::string m_strInstData; uint64 HighlordOmokk; uint64 ShadowHunterVoshgajin; @@ -53,27 +53,27 @@ public: void Initialize() { SetBossNumber(MAX_ENCOUNTER); - HighlordOmokk = 0; - ShadowHunterVoshgajin = 0; - WarMasterVoone = 0; - MotherSmolderweb = 0; - UrokDoomhowl = 0; - QuartermasterZigris = 0; - GizrultheSlavener = 0; - Halycon = 0; - OverlordWyrmthalak = 0; - PyroguardEmberseer = 0; - WarchiefRendBlackhand = 0; - Gyth = 0; - TheBeast = 0; - GeneralDrakkisath = 0; + HighlordOmokk = 0; + ShadowHunterVoshgajin = 0; + WarMasterVoone = 0; + MotherSmolderweb = 0; + UrokDoomhowl = 0; + QuartermasterZigris = 0; + GizrultheSlavener = 0; + Halycon = 0; + OverlordWyrmthalak = 0; + PyroguardEmberseer = 0; + WarchiefRendBlackhand = 0; + Gyth = 0; + TheBeast = 0; + GeneralDrakkisath = 0; } bool IsEncounterInProgress() const { for (uint8 i = 0; i < MAX_ENCOUNTER; ++i) { - if (Encounter[i] == IN_PROGRESS) + if (encounter[i] == IN_PROGRESS) return true; } return false; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp index 4c74488b6a6..d8fddad41dc 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp @@ -270,7 +270,7 @@ class spell_garfrost_permafrost : public SpellScriptLoader { for (std::list<GameObject*>::const_iterator itr = blockList.begin(); itr != blockList.end(); ++itr) { - if ((*itr)->isVisibleForInState(target)) + if (!(*itr)->IsInvisibleDueToDespawn()) { if ((*itr)->IsInBetween(caster, target, 4.0f)) { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index b351d7de9d7..4a5d609eb67 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -239,25 +239,6 @@ class boss_blood_council_controller : public CreatureScript _invocationOrder[1] = InvocationData(instance->GetData64(DATA_PRINCE_KELESETH_GUID), SPELL_INVOCATION_OF_BLOOD_KELESETH, EMOTE_KELESETH_INVOCATION, 71080); _invocationOrder[2] = InvocationData(instance->GetData64(DATA_PRINCE_TALDARAM_GUID), SPELL_INVOCATION_OF_BLOOD_TALDARAM, EMOTE_TALDARAM_INVOCATION, 71081); } - - if (IsHeroic()) - { - Map::PlayerList const &PlList = me->GetMap()->GetPlayers(); - if (PlList.isEmpty()) - return; - - for (Map::PlayerList::const_iterator i = PlList.begin(); i != PlList.end(); ++i) - { - if (Player* player = i->getSource()) - { - if (player->isGameMaster()) - continue; - - if (player->isAlive()) - player->AddAura(SPELL_SHADOW_PRISON_DUMMY, player); - } - } - } } void SetData(uint32 /*type*/, uint32 data) @@ -297,8 +278,6 @@ class boss_blood_council_controller : public CreatureScript killer->Kill(prince); } } - - instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_SHADOW_PRISON_DUMMY); } void UpdateAI(uint32 const diff) @@ -409,8 +388,6 @@ class boss_prince_keleseth_icc : public CreatureScript me->SetHealth(_spawnHealth); instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(true)); me->SetReactState(REACT_DEFENSIVE); - if (IsHeroic()) - DoCast(me, SPELL_SHADOW_PRISON); } void EnterCombat(Unit* /*who*/) @@ -421,6 +398,12 @@ class boss_prince_keleseth_icc : public CreatureScript events.ScheduleEvent(EVENT_BERSERK, 600000); events.ScheduleEvent(EVENT_SHADOW_RESONANCE, urand(10000, 15000)); events.ScheduleEvent(EVENT_SHADOW_LANCE, 2000); + + if (IsHeroic()) + { + me->AddAura(SPELL_SHADOW_PRISON, me); + DoCast(me, SPELL_SHADOW_PRISON_DUMMY); + } } void JustDied(Unit* /*killer*/) @@ -629,8 +612,6 @@ class boss_prince_taldaram_icc : public CreatureScript me->SetHealth(_spawnHealth); instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(true)); me->SetReactState(REACT_DEFENSIVE); - if (IsHeroic()) - DoCast(me, SPELL_SHADOW_PRISON); } void MoveInLineOfSight(Unit* /*who*/) @@ -645,6 +626,8 @@ class boss_prince_taldaram_icc : public CreatureScript events.ScheduleEvent(EVENT_BERSERK, 600000); events.ScheduleEvent(EVENT_GLITTERING_SPARKS, urand(12000, 15000)); events.ScheduleEvent(EVENT_CONJURE_FLAME, 20000); + if (IsHeroic()) + me->AddAura(SPELL_SHADOW_PRISON, me); } void JustDied(Unit* /*killer*/) @@ -852,8 +835,6 @@ class boss_prince_valanar_icc : public CreatureScript me->SetHealth(me->GetMaxHealth()); instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(true)); me->SetReactState(REACT_DEFENSIVE); - if (IsHeroic()) - DoCast(me, SPELL_SHADOW_PRISON); } void MoveInLineOfSight(Unit* /*who*/) @@ -868,6 +849,8 @@ class boss_prince_valanar_icc : public CreatureScript events.ScheduleEvent(EVENT_BERSERK, 600000); events.ScheduleEvent(EVENT_KINETIC_BOMB, urand(18000, 24000)); events.ScheduleEvent(EVENT_SHOCK_VORTEX, urand(15000, 20000)); + if (IsHeroic()) + me->AddAura(SPELL_SHADOW_PRISON, me); } void JustDied(Unit* /*killer*/) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index d5186833364..a84471d132b 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -815,38 +815,45 @@ class spell_putricide_ooze_channel : public SpellScriptLoader } }; +class ExactDistanceCheck +{ + public: + ExactDistanceCheck(Unit* source, float dist) : _source(source), _dist(dist) {} + + bool operator()(Unit* unit) + { + return _source->GetExactDist2d(unit) > _dist; + } + + private: + Unit* _source; + float _dist; +}; + class spell_putricide_slime_puddle : public SpellScriptLoader { public: spell_putricide_slime_puddle() : SpellScriptLoader("spell_putricide_slime_puddle") { } - class spell_putricide_slime_puddle_AuraScript : public AuraScript + class spell_putricide_slime_puddle_SpellScript : public SpellScript { - PrepareAuraScript(spell_putricide_slime_puddle_AuraScript); + PrepareSpellScript(spell_putricide_slime_puddle_SpellScript); - void HandleTriggerSpell(AuraEffect const* aurEff) + void ScaleRange(std::list<Unit*>& targets) { - PreventDefaultAction(); - if (Unit* caster = GetCaster()) - { - int32 radiusMod = 4; - if (Aura* size = caster->GetAura(70347)) - radiusMod += size->GetStackAmount(); - - uint32 triggerSpellId = GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell; - caster->CastCustomSpell(triggerSpellId, SPELLVALUE_RADIUS_MOD, radiusMod * 100, caster, true); - } + targets.remove_if(ExactDistanceCheck(GetCaster(), 2.5f * GetCaster()->GetFloatValue(OBJECT_FIELD_SCALE_X))); } void Register() { - OnEffectPeriodic += AuraEffectPeriodicFn(spell_putricide_slime_puddle_AuraScript::HandleTriggerSpell, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); + OnUnitTargetSelect += SpellUnitTargetFn(spell_putricide_slime_puddle_SpellScript::ScaleRange, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY); + OnUnitTargetSelect += SpellUnitTargetFn(spell_putricide_slime_puddle_SpellScript::ScaleRange, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY); } }; - AuraScript* GetAuraScript() const + SpellScript* GetSpellScript() const { - return new spell_putricide_slime_puddle_AuraScript(); + return new spell_putricide_slime_puddle_SpellScript(); } }; @@ -1051,7 +1058,6 @@ class spell_putricide_unbound_plague : public SpellScriptLoader return; uint32 plagueId = sSpellMgr->GetSpellIdForDifficulty(SPELL_UNBOUND_PLAGUE, GetCaster()); - uint32 searcherId = sSpellMgr->GetSpellIdForDifficulty(SPELL_UNBOUND_PLAGUE_SEARCHER, GetCaster()); if (!GetHitUnit()->HasAura(plagueId)) { @@ -1061,10 +1067,10 @@ class spell_putricide_unbound_plague : public SpellScriptLoader { if (Aura* newPlague = professor->AddAura(plagueId, GetHitUnit())) { - newPlague->SetMaxDuration(oldPlague->GetDuration()); + newPlague->SetMaxDuration(oldPlague->GetMaxDuration()); newPlague->SetDuration(oldPlague->GetDuration()); oldPlague->Remove(); - GetCaster()->RemoveAurasDueToSpell(searcherId); + GetCaster()->RemoveAurasDueToSpell(SPELL_UNBOUND_PLAGUE_SEARCHER); GetCaster()->CastSpell(GetCaster(), SPELL_PLAGUE_SICKNESS, true); GetCaster()->CastSpell(GetCaster(), SPELL_UNBOUND_PLAGUE_PROTECTION, true); professor->CastSpell(GetHitUnit(), SPELL_UNBOUND_PLAGUE_SEARCHER, true); diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp index 81450fe8b5f..ad79d1b56cc 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp @@ -1680,7 +1680,8 @@ class spell_pursue : public SpellScriptLoader void FilterTargetsSubsequently(std::list<Unit*>& targets) { targets.clear(); - targets.push_back(_target); + if(_target) + targets.push_back(_target); } void HandleScript(SpellEffIndex /*eff*/) |