Merge branch 'master' into Playerbot

This commit is contained in:
Yunfan Li
2024-10-04 21:57:35 +08:00
90 changed files with 381 additions and 169 deletions
-1
View File
@@ -23,7 +23,6 @@
#include "GameObject.h"
#include "Object.h"
#include "QuestDef.h"
#include <list>
class Creature;
class GameObject;
+3
View File
@@ -60,6 +60,9 @@ void GuardAI::EnterEvadeMode(EvadeReason /*why*/)
void GuardAI::JustDied(Unit* killer)
{
if (!killer)
return;
if (Player* player = killer->GetCharmerOrOwnerPlayerOrPlayerItself())
me->SendZoneUnderAttackMessage(player);
}
-1
View File
@@ -17,7 +17,6 @@
#include "PassiveAI.h"
#include "Creature.h"
#include "TemporarySummon.h"
PassiveAI::PassiveAI(Creature* c) : CreatureAI(c) { me->SetReactState(REACT_PASSIVE); }
PossessedAI::PossessedAI(Creature* c) : CreatureAI(c) { me->SetReactState(REACT_PASSIVE); }
-1
View File
@@ -17,7 +17,6 @@
#include "ReactorAI.h"
#include "CreatureAIImpl.h"
#include "Errors.h"
int32 ReactorAI::Permissible(Creature const* creature)
{
-1
View File
@@ -19,7 +19,6 @@
#define ACORE_TOTEMAI_H
#include "CreatureAI.h"
#include "Timer.h"
class Creature;
class Totem;
-1
View File
@@ -19,7 +19,6 @@
#define ACORE_CREATUREAI_H
#include "AreaBoundary.h"
#include "Common.h"
#include "Creature.h"
#include "EventMap.h"
#include "TaskScheduler.h"
-3
View File
@@ -18,13 +18,10 @@
#ifndef CREATUREAIIMPL_H
#define CREATUREAIIMPL_H
#include "Common.h"
#include "CreatureAI.h"
#include "Define.h"
#include "SpellMgr.h"
#include "TemporarySummon.h"
#include <functional>
#include <type_traits>
template<typename First, typename Second, typename... Rest>
static inline First const& RAND(First const& first, Second const& second, Rest const& ... rest)
-1
View File
@@ -20,7 +20,6 @@
#include "FactoryHolder.h"
#include "GameObjectAI.h"
#include "ObjectRegistry.h"
typedef FactoryHolder<GameObjectAI, GameObject> GameObjectAICreator;
@@ -18,7 +18,6 @@
#ifndef ACORE_SMARTAI_H
#define ACORE_SMARTAI_H
#include "Common.h"
#include "Creature.h"
#include "CreatureAI.h"
#include "GameObjectAI.h"
@@ -22,8 +22,6 @@
#include "GameObject.h"
#include "ObjectAccessor.h"
#include "SharedDefines.h"
#include "Utilities/Util.h"
#include "WorldPacket.h"
#include "ZoneScript.h"
enum BattlefieldTypes
@@ -22,7 +22,6 @@
#include "Log.h"
#include "ObjectAccessor.h"
#include "World.h"
#include "WorldPacket.h"
class Group;
class BattlefieldWG;
@@ -19,6 +19,7 @@
#define _ARENA_SCORE_H
#include "BattlegroundScore.h"
#include "SharedDefines.h"
#include "StringFormat.h"
struct AC_GAME_API ArenaScore : public BattlegroundScore
@@ -21,7 +21,6 @@
#include "Map.h"
#include "QueryResult.h"
#include <list>
#include <map>
class WorldSession;
class WorldPacket;
@@ -20,10 +20,8 @@
#include "Battleground.h"
#include "BattlegroundQueue.h"
#include "Common.h"
#include "CreatureAIImpl.h"
#include "DBCEnums.h"
#include <functional>
#include <unordered_map>
typedef std::map<uint32, Battleground*> BattlegroundContainer;
@@ -20,7 +20,6 @@
#include "Errors.h"
#include "ObjectGuid.h"
#include "SharedDefines.h"
class WorldPacket;
@@ -21,7 +21,6 @@
#include "GameEventMgr.h"
#include "GameGraveyard.h"
#include "GameObject.h"
#include "Language.h"
#include "ObjectMgr.h"
#include "Player.h"
#include "SpellAuras.h"
@@ -21,7 +21,6 @@
#include "Battleground.h"
#include "BattlegroundScore.h"
#include "EventMap.h"
#include "Language.h"
enum BG_EY_Events
{
@@ -16,12 +16,10 @@
*/
#include "BattlegroundRV.h"
#include "ArenaScore.h"
#include "Battleground.h"
#include "GameObject.h"
#include "Log.h"
#include "ObjectAccessor.h"
#include "Pet.h"
#include "Player.h"
#include "WorldPacket.h"
-3
View File
@@ -21,15 +21,12 @@
#include "Common.h"
#include "GridNotifiersImpl.h"
#include "Language.h"
#include "Log.h"
#include "ObjectMgr.h"
#include "Opcodes.h"
#include "Player.h"
#include "Realm.h"
#include "ScriptMgr.h"
#include "SpellMgr.h"
#include "Tokenize.h"
#include "UpdateMask.h"
#include "World.h"
#include "WorldPacket.h"
#include "WorldSession.h"
-1
View File
@@ -19,7 +19,6 @@
#define AZEROTHCORE_CHAT_H
#include "ChatCommand.h"
#include "Errors.h"
#include "Player.h"
#include "SharedDefines.h"
#include "WorldSession.h"
@@ -30,7 +30,6 @@
#include <cstddef>
#include <map>
#include <tuple>
#include <type_traits>
#include <utility>
#include <variant>
#include <vector>
@@ -17,7 +17,6 @@
#include "ChatCommandHelpers.h"
#include "Chat.h"
#include "ObjectMgr.h"
void Acore::Impl::ChatCommands::SendErrorMessageToHandler(ChatHandler* handler, std::string_view str)
{
@@ -24,7 +24,6 @@
#include <optional>
#include <string>
#include <string_view>
#include <type_traits>
#include <variant>
class ChatHandler;
@@ -25,14 +25,10 @@
#include "Util.h"
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <cmath>
#include <cstring>
#include <iostream>
#include <string>
#include <string_view>
#include <tuple>
#include <type_traits>
#include <utility>
#include <variant>
class ChatHandler;
-2
View File
@@ -23,8 +23,6 @@
#include <array>
#include <string>
#include <string_view>
#include <type_traits>
#include <utility>
struct AchievementEntry;
struct GlyphPropertiesEntry;
@@ -21,8 +21,6 @@
#include "ScriptMgr.h"
#include "SpellAuraEffects.h"
#include "Transport.h"
#include "UpdateMask.h"
#include "World.h"
DynamicObject::DynamicObject(bool isWorldObject) : WorldObject(isWorldObject), MovableMapObject(),
_aura(nullptr), _removedAura(nullptr), _caster(nullptr), _duration(0), _isViewpoint(false), _updateViewerVisibilityTimer(0)
@@ -18,7 +18,6 @@
#ifndef GAMEOBJECTDATA_H
#define GAMEOBJECTDATA_H
#include "Common.h"
#include "SharedDefines.h"
#include "WorldPacket.h"
#include <string>
@@ -26,12 +26,10 @@
#include "CharacterDatabaseCleaner.h"
#include "Chat.h"
#include "Common.h"
#include "ConditionMgr.h"
#include "Config.h"
#include "DatabaseEnv.h"
#include "DisableMgr.h"
#include "GameEventMgr.h"
#include "GameGraveyard.h"
#include "GameObjectAI.h"
#include "GameTime.h"
#include "GridNotifiers.h"
@@ -63,10 +61,8 @@
#include "StringConvert.h"
#include "Tokenize.h"
#include "Transport.h"
#include "UpdateData.h"
#include "UpdateFieldFlags.h"
#include "Util.h"
#include "Vehicle.h"
#include "World.h"
#include "WorldPacket.h"
+17 -7
View File
@@ -57,7 +57,6 @@
#include "SpellAuras.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "StringConvert.h"
#include "TargetedMovementGenerator.h"
#include "TemporarySummon.h"
#include "Tokenize.h"
@@ -5076,6 +5075,14 @@ void Unit::RemoveAurasDueToItemSpell(uint32 spellId, ObjectGuid castItemGuid)
else
++iter;
}
for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end();)
{
if (iter->second->GetCastItemGUID() == castItemGuid)
RemoveOwnedAura(iter, AURA_REMOVE_BY_DEFAULT);
else
++iter;
}
}
void Unit::RemoveAurasByType(AuraType auraType, ObjectGuid casterGUID, Aura* except, bool negative, bool positive)
@@ -14279,14 +14286,14 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced)
{
if (IsCreature() && IsControlledByPlayer()) // not sure if good for pet
{
main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED);
stack_bonus = GetTotalAuraMultiplier(SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS);
main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED);
stack_bonus = GetTotalAuraMultiplier(SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING);
// for some spells this mod is applied on vehicle owner
int32 owner_speed_mod = 0;
if (Unit* owner = GetCharmer())
owner_speed_mod = owner->GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED);
owner_speed_mod = owner->GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED);
main_speed_mod = std::max(main_speed_mod, owner_speed_mod);
}
@@ -14294,11 +14301,14 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced)
{
main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED);
stack_bonus = GetTotalAuraMultiplier(SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS);
non_stack_bonus += GetMaxPositiveAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_MOUNTED_NOT_STACKING) / 100.0f;
}
else // Use not mount (shapeshift for example) auras (should stack)
main_speed_mod = GetTotalAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED) + GetTotalAuraModifier(SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED);
non_stack_bonus += GetMaxPositiveAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK) / 100.0f;
{
main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED);
stack_bonus = GetTotalAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_ALWAYS);
non_stack_bonus += GetMaxPositiveAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING) / 100.0f;
}
// Update speed for vehicle if available
if (IsPlayer() && GetVehicle())
@@ -21,16 +21,13 @@
#include "DynamicObject.h"
#include "GameObject.h"
#include "GridNotifiers.h"
#include "Log.h"
#include "Map.h"
#include "MapMgr.h"
#include "ObjectDefines.h"
#include "ObjectMgr.h"
#include "Opcodes.h"
#include "Pet.h"
#include "Player.h"
#include "Transport.h"
#include "Vehicle.h"
template<class T>
void HashMapHolder<T>::Insert(T* o)
-4
View File
@@ -21,11 +21,7 @@
#include "Define.h"
#include "GridDefines.h"
#include "Object.h"
#include "UpdateData.h"
#include <mutex>
#include <set>
#include <shared_mutex>
#include <unordered_map>
class Creature;
class Corpse;
-2
View File
@@ -23,9 +23,7 @@
#include "Corpse.h"
#include "Creature.h"
#include "DatabaseEnv.h"
#include "DynamicObject.h"
#include "GameObject.h"
#include "GossipDef.h"
#include "ItemTemplate.h"
#include "Log.h"
#include "Mail.h"
-1
View File
@@ -19,7 +19,6 @@
#define ACORE_CELL_H
#include "GridDefines.h"
#include "TypeContainer.h"
#include "TypeContainerVisitor.h"
class Map;
-1
View File
@@ -21,7 +21,6 @@
#include "Cell.h"
#include "Map.h"
#include "Object.h"
#include <cmath>
inline Cell::Cell(CellCoord const& p)
{
@@ -18,7 +18,6 @@
#include "GridNotifiers.h"
#include "Map.h"
#include "ObjectAccessor.h"
#include "SpellMgr.h"
#include "Transport.h"
#include "UpdateData.h"
#include "WorldPacket.h"
@@ -22,10 +22,7 @@
#include "CreatureAI.h"
#include "GridNotifiers.h"
#include "Object.h"
#include "Opcodes.h"
#include "Player.h"
#include "SpellAuras.h"
#include "UpdateData.h"
#include "WorldPacket.h"
#include "WorldSession.h"
@@ -24,7 +24,6 @@
#include "GridNotifiers.h"
#include "ObjectMgr.h"
#include "Transport.h"
#include "Vehicle.h"
// for loading world object at grid loading (Corpses)
//TODO: to implement npc on transport, also need to load npcs at grid loading
-2
View File
@@ -21,8 +21,6 @@
#include "Cell.h"
#include "Define.h"
#include "GridDefines.h"
#include "GridLoader.h"
#include "TypeList.h"
class ObjectWorldLoader;
@@ -18,11 +18,9 @@
#ifndef ACORE_MOVEMENTGENERATOR_H
#define ACORE_MOVEMENTGENERATOR_H
#include "Common.h"
#include "Define.h"
#include "FactoryHolder.h"
#include "MotionMaster.h"
#include "ObjectRegistry.h"
class Unit;
@@ -18,10 +18,8 @@
#include "ConfusedMovementGenerator.h"
#include "Creature.h"
#include "MapMgr.h"
#include "MoveSpline.h"
#include "MoveSplineInit.h"
#include "Player.h"
#include "VMapFactory.h"
#ifdef MAP_BASED_RAND_GEN
#define rand_norm() unit.rand_norm()
@@ -18,8 +18,6 @@
#include "EscortMovementGenerator.h"
#include "Creature.h"
#include "CreatureAI.h"
#include "Errors.h"
#include "MoveSpline.h"
#include "MoveSplineInit.h"
#include "Player.h"
@@ -22,7 +22,6 @@
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "VMapFactory.h"
#define MIN_QUIET_DISTANCE 28.0f
#define MAX_QUIET_DISTANCE 43.0f
@@ -18,7 +18,6 @@
#include "PointMovementGenerator.h"
#include "Creature.h"
#include "CreatureAI.h"
#include "Errors.h"
#include "MoveSpline.h"
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
@@ -19,6 +19,7 @@
#define SCRIPT_OBJECT_PLAYER_SCRIPT_H_
#include "ScriptObject.h"
#include "SharedDefines.h"
#include <vector>
// TODO to remove
@@ -266,12 +266,12 @@ enum AuraType
SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_DAMAGE = 203,
SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_DAMAGE = 204,
SPELL_AURA_MOD_SCHOOL_CRIT_DMG_TAKEN = 205,
SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED = 206,
SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED = 206,
SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED = 207,
SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED = 208,
SPELL_AURA_MOD_FLIGHT_SPEED_ALWAYS = 208,
SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS = 209,
SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS = 210,
SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK = 211,
SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING = 210,
SPELL_AURA_MOD_FLIGHT_SPEED_MOUNTED_NOT_STACKING = 211,
SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT = 212,
SPELL_AURA_MOD_RAGE_FROM_DAMAGE_DEALT = 213,
SPELL_AURA_214 = 214,
@@ -267,11 +267,11 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS] =
&AuraEffect::HandleNoImmediateEffect, //203 SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_DAMAGE implemented in Unit::CalculateMeleeDamage and Unit::CalculateSpellDamage
&AuraEffect::HandleNoImmediateEffect, //204 SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_DAMAGE implemented in Unit::CalculateMeleeDamage and Unit::CalculateSpellDamage
&AuraEffect::HandleNULL, //205 SPELL_AURA_MOD_SCHOOL_CRIT_DMG_TAKEN
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //206 SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //206 SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //207 SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //208 SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //208 SPELL_AURA_MOD_FLIGHT_SPEED_ALWAYS
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //209 SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //210 SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //210 SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING
&AuraEffect::HandleAuraModIncreaseFlightSpeed, //211 SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK
&AuraEffect::HandleAuraModRangedAttackPowerOfStatPercent, //212 SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT
&AuraEffect::HandleNoImmediateEffect, //213 SPELL_AURA_MOD_RAGE_FROM_DAMAGE_DEALT implemented in Player::RewardRage
+3 -4
View File
@@ -46,10 +46,8 @@
#include "SpellMgr.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "Totem.h"
#include "Unit.h"
#include "UpdateData.h"
#include "UpdateMask.h"
#include "Util.h"
#include "VMapFactory.h"
#include "Vehicle.h"
@@ -3160,8 +3158,9 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
if (m_spellAura)
{
// Prevent aura application if target is immuned
if (m_targets.GetUnitTarget() && m_targets.GetUnitTarget()->IsImmunedToDamageOrSchool(m_spellAura->GetSpellInfo()))
// Prevent aura application if target is banished and immuned
if (m_targets.GetUnitTarget() && m_targets.GetUnitTarget()->IsImmunedToDamageOrSchool(m_spellAura->GetSpellInfo())
&& m_targets.GetUnitTarget()->HasUnitState(UNIT_STATE_ISOLATED))
{
m_spellAura->Remove();
return SPELL_MISS_IMMUNE;
-1
View File
@@ -19,7 +19,6 @@
#define SPELLDEFINES_H
#include "Define.h"
#include "ObjectGuid.h"
#include <vector>
enum SpellInterruptFlags
-3
View File
@@ -16,7 +16,6 @@
*/
#include "Battleground.h"
#include "BattlegroundEY.h"
#include "BattlegroundIC.h"
#include "BattlegroundMgr.h"
#include "BattlegroundSA.h"
@@ -57,8 +56,6 @@
#include "Totem.h"
#include "Transport.h"
#include "Unit.h"
#include "UpdateData.h"
#include "UpdateMask.h"
#include "Util.h"
#include "Vehicle.h"
#include "World.h"
-1
View File
@@ -30,7 +30,6 @@
#include "SharedDefines.h"
#include "Spell.h"
#include "SpellAuraDefines.h"
#include "SpellAuras.h"
#include "SpellInfo.h"
#include "World.h"
-5
View File
@@ -22,12 +22,7 @@
#include "Common.h"
#include "Duration.h"
#include "ObjectGuid.h"
#include "QueryResult.h"
#include "SharedDefines.h"
#include <atomic>
#include <list>
#include <map>
#include <set>
#include <unordered_map>
class WorldPacket;
-1
View File
@@ -86,7 +86,6 @@
#include "Util.h"
#include "VMapFactory.h"
#include "VMapMgr2.h"
#include "Vehicle.h"
#include "Warden.h"
#include "WardenCheckMgr.h"
#include "WaypointMovementGenerator.h"
-1
View File
@@ -31,7 +31,6 @@
#include <atomic>
#include <list>
#include <map>
#include <set>
#include <unordered_map>
class Object;