diff options
| author | click <none@none> | 2010-06-05 21:22:47 +0200 |
|---|---|---|
| committer | click <none@none> | 2010-06-05 21:22:47 +0200 |
| commit | 455bfb01645510c677b88c693e0092244e1901e4 (patch) | |
| tree | f9a1d305217c4967fdd572b595a98e2f58a0c482 /src/game/Creature.cpp | |
| parent | a2d6e7ff8c95e688adc625c01387af2ca3cde3a0 (diff) | |
Move core/realm files to new subdirectory
--HG--
branch : trunk
rename : src/framework/CMakeLists.txt => src/server/framework/CMakeLists.txt
rename : src/framework/Dynamic/FactoryHolder.h => src/server/framework/Dynamic/FactoryHolder.h
rename : src/framework/Dynamic/ObjectRegistry.h => src/server/framework/Dynamic/ObjectRegistry.h
rename : src/framework/GameSystem/Grid.h => src/server/framework/GameSystem/Grid.h
rename : src/framework/GameSystem/GridLoader.h => src/server/framework/GameSystem/GridLoader.h
rename : src/framework/GameSystem/GridRefManager.h => src/server/framework/GameSystem/GridRefManager.h
rename : src/framework/GameSystem/GridReference.h => src/server/framework/GameSystem/GridReference.h
rename : src/framework/GameSystem/NGrid.h => src/server/framework/GameSystem/NGrid.h
rename : src/framework/GameSystem/TypeContainer.h => src/server/framework/GameSystem/TypeContainer.h
rename : src/framework/GameSystem/TypeContainerFunctions.h => src/server/framework/GameSystem/TypeContainerFunctions.h
rename : src/framework/GameSystem/TypeContainerFunctionsPtr.h => src/server/framework/GameSystem/TypeContainerFunctionsPtr.h
rename : src/framework/GameSystem/TypeContainerVisitor.h => src/server/framework/GameSystem/TypeContainerVisitor.h
rename : src/framework/Network/SocketDefines.h => src/server/framework/Network/SocketDefines.h
rename : src/framework/Platform/CompilerDefs.h => src/server/framework/Platform/CompilerDefs.h
rename : src/framework/Platform/Define.h => src/server/framework/Platform/Define.h
rename : src/framework/Policies/CreationPolicy.h => src/server/framework/Policies/CreationPolicy.h
rename : src/framework/Policies/ObjectLifeTime.cpp => src/server/framework/Policies/ObjectLifeTime.cpp
rename : src/framework/Policies/ObjectLifeTime.h => src/server/framework/Policies/ObjectLifeTime.h
rename : src/framework/Policies/Singleton.h => src/server/framework/Policies/Singleton.h
rename : src/framework/Policies/SingletonImp.h => src/server/framework/Policies/SingletonImp.h
rename : src/framework/Policies/ThreadingModel.h => src/server/framework/Policies/ThreadingModel.h
rename : src/framework/Utilities/ByteConverter.h => src/server/framework/Utilities/ByteConverter.h
rename : src/framework/Utilities/Callback.h => src/server/framework/Utilities/Callback.h
rename : src/framework/Utilities/CountedReference/Reference.h => src/server/framework/Utilities/CountedReference/Reference.h
rename : src/framework/Utilities/CountedReference/ReferenceHolder.h => src/server/framework/Utilities/CountedReference/ReferenceHolder.h
rename : src/framework/Utilities/CountedReference/ReferenceImpl.h => src/server/framework/Utilities/CountedReference/ReferenceImpl.h
rename : src/framework/Utilities/EventProcessor.cpp => src/server/framework/Utilities/EventProcessor.cpp
rename : src/framework/Utilities/EventProcessor.h => src/server/framework/Utilities/EventProcessor.h
rename : src/framework/Utilities/LinkedList.h => src/server/framework/Utilities/LinkedList.h
rename : src/framework/Utilities/LinkedReference/RefManager.h => src/server/framework/Utilities/LinkedReference/RefManager.h
rename : src/framework/Utilities/LinkedReference/Reference.h => src/server/framework/Utilities/LinkedReference/Reference.h
rename : src/framework/Utilities/TypeList.h => src/server/framework/Utilities/TypeList.h
rename : src/framework/Utilities/UnorderedMap.h => src/server/framework/Utilities/UnorderedMap.h
rename : src/game/AccountMgr.cpp => src/server/game/AccountMgr.cpp
rename : src/game/AccountMgr.h => src/server/game/AccountMgr.h
rename : src/game/AchievementMgr.cpp => src/server/game/AchievementMgr.cpp
rename : src/game/AchievementMgr.h => src/server/game/AchievementMgr.h
rename : src/game/AddonHandler.cpp => src/server/game/AddonHandler.cpp
rename : src/game/AddonHandler.h => src/server/game/AddonHandler.h
rename : src/game/AddonMgr.cpp => src/server/game/AddonMgr.cpp
rename : src/game/AddonMgr.h => src/server/game/AddonMgr.h
rename : src/game/ArenaTeam.cpp => src/server/game/ArenaTeam.cpp
rename : src/game/ArenaTeam.h => src/server/game/ArenaTeam.h
rename : src/game/ArenaTeamHandler.cpp => src/server/game/ArenaTeamHandler.cpp
rename : src/game/AuctionHouseBot.cpp => src/server/game/AuctionHouseBot.cpp
rename : src/game/AuctionHouseBot.h => src/server/game/AuctionHouseBot.h
rename : src/game/AuctionHouseHandler.cpp => src/server/game/AuctionHouseHandler.cpp
rename : src/game/AuctionHouseMgr.cpp => src/server/game/AuctionHouseMgr.cpp
rename : src/game/AuctionHouseMgr.h => src/server/game/AuctionHouseMgr.h
rename : src/game/Bag.cpp => src/server/game/Bag.cpp
rename : src/game/Bag.h => src/server/game/Bag.h
rename : src/game/BattleGround.cpp => src/server/game/BattleGround.cpp
rename : src/game/BattleGround.h => src/server/game/BattleGround.h
rename : src/game/BattleGroundAA.cpp => src/server/game/BattleGroundAA.cpp
rename : src/game/BattleGroundAA.h => src/server/game/BattleGroundAA.h
rename : src/game/BattleGroundAB.cpp => src/server/game/BattleGroundAB.cpp
rename : src/game/BattleGroundAB.h => src/server/game/BattleGroundAB.h
rename : src/game/BattleGroundAV.cpp => src/server/game/BattleGroundAV.cpp
rename : src/game/BattleGroundAV.h => src/server/game/BattleGroundAV.h
rename : src/game/BattleGroundBE.cpp => src/server/game/BattleGroundBE.cpp
rename : src/game/BattleGroundBE.h => src/server/game/BattleGroundBE.h
rename : src/game/BattleGroundDS.cpp => src/server/game/BattleGroundDS.cpp
rename : src/game/BattleGroundDS.h => src/server/game/BattleGroundDS.h
rename : src/game/BattleGroundEY.cpp => src/server/game/BattleGroundEY.cpp
rename : src/game/BattleGroundEY.h => src/server/game/BattleGroundEY.h
rename : src/game/BattleGroundHandler.cpp => src/server/game/BattleGroundHandler.cpp
rename : src/game/BattleGroundIC.cpp => src/server/game/BattleGroundIC.cpp
rename : src/game/BattleGroundIC.h => src/server/game/BattleGroundIC.h
rename : src/game/BattleGroundMgr.cpp => src/server/game/BattleGroundMgr.cpp
rename : src/game/BattleGroundMgr.h => src/server/game/BattleGroundMgr.h
rename : src/game/BattleGroundNA.cpp => src/server/game/BattleGroundNA.cpp
rename : src/game/BattleGroundNA.h => src/server/game/BattleGroundNA.h
rename : src/game/BattleGroundRB.cpp => src/server/game/BattleGroundRB.cpp
rename : src/game/BattleGroundRB.h => src/server/game/BattleGroundRB.h
rename : src/game/BattleGroundRL.cpp => src/server/game/BattleGroundRL.cpp
rename : src/game/BattleGroundRL.h => src/server/game/BattleGroundRL.h
rename : src/game/BattleGroundRV.cpp => src/server/game/BattleGroundRV.cpp
rename : src/game/BattleGroundRV.h => src/server/game/BattleGroundRV.h
rename : src/game/BattleGroundSA.cpp => src/server/game/BattleGroundSA.cpp
rename : src/game/BattleGroundSA.h => src/server/game/BattleGroundSA.h
rename : src/game/BattleGroundWS.cpp => src/server/game/BattleGroundWS.cpp
rename : src/game/BattleGroundWS.h => src/server/game/BattleGroundWS.h
rename : src/game/CMakeLists.txt => src/server/game/CMakeLists.txt
rename : src/game/Calendar.cpp => src/server/game/Calendar.cpp
rename : src/game/Calendar.h => src/server/game/Calendar.h
rename : src/game/CalendarHandler.cpp => src/server/game/CalendarHandler.cpp
rename : src/game/Cell.h => src/server/game/Cell.h
rename : src/game/CellImpl.h => src/server/game/CellImpl.h
rename : src/game/Channel.cpp => src/server/game/Channel.cpp
rename : src/game/Channel.h => src/server/game/Channel.h
rename : src/game/ChannelHandler.cpp => src/server/game/ChannelHandler.cpp
rename : src/game/ChannelMgr.cpp => src/server/game/ChannelMgr.cpp
rename : src/game/ChannelMgr.h => src/server/game/ChannelMgr.h
rename : src/game/CharacterHandler.cpp => src/server/game/CharacterHandler.cpp
rename : src/game/Chat.cpp => src/server/game/Chat.cpp
rename : src/game/Chat.h => src/server/game/Chat.h
rename : src/game/ChatHandler.cpp => src/server/game/ChatHandler.cpp
rename : src/game/CombatAI.cpp => src/server/game/CombatAI.cpp
rename : src/game/CombatAI.h => src/server/game/CombatAI.h
rename : src/game/CombatHandler.cpp => src/server/game/CombatHandler.cpp
rename : src/game/ConditionMgr.cpp => src/server/game/ConditionMgr.cpp
rename : src/game/ConditionMgr.h => src/server/game/ConditionMgr.h
rename : src/game/ConfusedMovementGenerator.cpp => src/server/game/ConfusedMovementGenerator.cpp
rename : src/game/ConfusedMovementGenerator.h => src/server/game/ConfusedMovementGenerator.h
rename : src/game/Corpse.cpp => src/server/game/Corpse.cpp
rename : src/game/Corpse.h => src/server/game/Corpse.h
rename : src/game/Creature.cpp => src/server/game/Creature.cpp
rename : src/game/Creature.h => src/server/game/Creature.h
rename : src/game/CreatureAI.cpp => src/server/game/CreatureAI.cpp
rename : src/game/CreatureAI.h => src/server/game/CreatureAI.h
rename : src/game/CreatureAIFactory.h => src/server/game/CreatureAIFactory.h
rename : src/game/CreatureAIImpl.h => src/server/game/CreatureAIImpl.h
rename : src/game/CreatureAIRegistry.cpp => src/server/game/CreatureAIRegistry.cpp
rename : src/game/CreatureAIRegistry.h => src/server/game/CreatureAIRegistry.h
rename : src/game/CreatureAISelector.cpp => src/server/game/CreatureAISelector.cpp
rename : src/game/CreatureAISelector.h => src/server/game/CreatureAISelector.h
rename : src/game/CreatureEventAI.cpp => src/server/game/CreatureEventAI.cpp
rename : src/game/CreatureEventAI.h => src/server/game/CreatureEventAI.h
rename : src/game/CreatureEventAIMgr.cpp => src/server/game/CreatureEventAIMgr.cpp
rename : src/game/CreatureEventAIMgr.h => src/server/game/CreatureEventAIMgr.h
rename : src/game/CreatureGroups.cpp => src/server/game/CreatureGroups.cpp
rename : src/game/CreatureGroups.h => src/server/game/CreatureGroups.h
rename : src/game/DBCEnums.h => src/server/game/DBCEnums.h
rename : src/game/DBCStores.cpp => src/server/game/DBCStores.cpp
rename : src/game/DBCStores.h => src/server/game/DBCStores.h
rename : src/game/DBCStructure.h => src/server/game/DBCStructure.h
rename : src/game/DBCfmt.h => src/server/game/DBCfmt.h
rename : src/game/Debugcmds.cpp => src/server/game/Debugcmds.cpp
rename : src/game/DestinationHolder.cpp => src/server/game/DestinationHolder.cpp
rename : src/game/DestinationHolder.h => src/server/game/DestinationHolder.h
rename : src/game/DestinationHolderImp.h => src/server/game/DestinationHolderImp.h
rename : src/game/DuelHandler.cpp => src/server/game/DuelHandler.cpp
rename : src/game/DynamicObject.cpp => src/server/game/DynamicObject.cpp
rename : src/game/DynamicObject.h => src/server/game/DynamicObject.h
rename : src/game/FleeingMovementGenerator.cpp => src/server/game/FleeingMovementGenerator.cpp
rename : src/game/FleeingMovementGenerator.h => src/server/game/FleeingMovementGenerator.h
rename : src/game/FollowerRefManager.h => src/server/game/FollowerRefManager.h
rename : src/game/FollowerReference.cpp => src/server/game/FollowerReference.cpp
rename : src/game/FollowerReference.h => src/server/game/FollowerReference.h
rename : src/game/Formulas.h => src/server/game/Formulas.h
rename : src/game/GameEventMgr.cpp => src/server/game/GameEventMgr.cpp
rename : src/game/GameEventMgr.h => src/server/game/GameEventMgr.h
rename : src/game/GameObject.cpp => src/server/game/GameObject.cpp
rename : src/game/GameObject.h => src/server/game/GameObject.h
rename : src/game/GlobalEvents.cpp => src/server/game/GlobalEvents.cpp
rename : src/game/GlobalEvents.h => src/server/game/GlobalEvents.h
rename : src/game/GossipDef.cpp => src/server/game/GossipDef.cpp
rename : src/game/GossipDef.h => src/server/game/GossipDef.h
rename : src/game/GridDefines.h => src/server/game/GridDefines.h
rename : src/game/GridNotifiers.cpp => src/server/game/GridNotifiers.cpp
rename : src/game/GridNotifiers.h => src/server/game/GridNotifiers.h
rename : src/game/GridNotifiersImpl.h => src/server/game/GridNotifiersImpl.h
rename : src/game/GridStates.cpp => src/server/game/GridStates.cpp
rename : src/game/GridStates.h => src/server/game/GridStates.h
rename : src/game/Group.cpp => src/server/game/Group.cpp
rename : src/game/Group.h => src/server/game/Group.h
rename : src/game/GroupHandler.cpp => src/server/game/GroupHandler.cpp
rename : src/game/GroupRefManager.h => src/server/game/GroupRefManager.h
rename : src/game/GroupReference.cpp => src/server/game/GroupReference.cpp
rename : src/game/GroupReference.h => src/server/game/GroupReference.h
rename : src/game/GuardAI.cpp => src/server/game/GuardAI.cpp
rename : src/game/GuardAI.h => src/server/game/GuardAI.h
rename : src/game/Guild.cpp => src/server/game/Guild.cpp
rename : src/game/Guild.h => src/server/game/Guild.h
rename : src/game/GuildHandler.cpp => src/server/game/GuildHandler.cpp
rename : src/game/HomeMovementGenerator.cpp => src/server/game/HomeMovementGenerator.cpp
rename : src/game/HomeMovementGenerator.h => src/server/game/HomeMovementGenerator.h
rename : src/game/HostileRefManager.cpp => src/server/game/HostileRefManager.cpp
rename : src/game/HostileRefManager.h => src/server/game/HostileRefManager.h
rename : src/game/IdleMovementGenerator.cpp => src/server/game/IdleMovementGenerator.cpp
rename : src/game/IdleMovementGenerator.h => src/server/game/IdleMovementGenerator.h
rename : src/game/InstanceData.cpp => src/server/game/InstanceData.cpp
rename : src/game/InstanceData.h => src/server/game/InstanceData.h
rename : src/game/InstanceSaveMgr.cpp => src/server/game/InstanceSaveMgr.cpp
rename : src/game/InstanceSaveMgr.h => src/server/game/InstanceSaveMgr.h
rename : src/game/Item.cpp => src/server/game/Item.cpp
rename : src/game/Item.h => src/server/game/Item.h
rename : src/game/ItemEnchantmentMgr.cpp => src/server/game/ItemEnchantmentMgr.cpp
rename : src/game/ItemEnchantmentMgr.h => src/server/game/ItemEnchantmentMgr.h
rename : src/game/ItemHandler.cpp => src/server/game/ItemHandler.cpp
rename : src/game/ItemPrototype.h => src/server/game/ItemPrototype.h
rename : src/game/LFG.h => src/server/game/LFG.h
rename : src/game/LFGHandler.cpp => src/server/game/LFGHandler.cpp
rename : src/game/LFGMgr.cpp => src/server/game/LFGMgr.cpp
rename : src/game/LFGMgr.h => src/server/game/LFGMgr.h
rename : src/game/Language.h => src/server/game/Language.h
rename : src/game/Level0.cpp => src/server/game/Level0.cpp
rename : src/game/Level1.cpp => src/server/game/Level1.cpp
rename : src/game/Level2.cpp => src/server/game/Level2.cpp
rename : src/game/Level3.cpp => src/server/game/Level3.cpp
rename : src/game/LootHandler.cpp => src/server/game/LootHandler.cpp
rename : src/game/LootMgr.cpp => src/server/game/LootMgr.cpp
rename : src/game/LootMgr.h => src/server/game/LootMgr.h
rename : src/game/Mail.cpp => src/server/game/Mail.cpp
rename : src/game/Mail.h => src/server/game/Mail.h
rename : src/game/Map.cpp => src/server/game/Map.cpp
rename : src/game/Map.h => src/server/game/Map.h
rename : src/game/MapInstanced.cpp => src/server/game/MapInstanced.cpp
rename : src/game/MapInstanced.h => src/server/game/MapInstanced.h
rename : src/game/MapManager.cpp => src/server/game/MapManager.cpp
rename : src/game/MapManager.h => src/server/game/MapManager.h
rename : src/game/MapRefManager.h => src/server/game/MapRefManager.h
rename : src/game/MapReference.h => src/server/game/MapReference.h
rename : src/game/MapUpdater.cpp => src/server/game/MapUpdater.cpp
rename : src/game/MapUpdater.h => src/server/game/MapUpdater.h
rename : src/game/MiscHandler.cpp => src/server/game/MiscHandler.cpp
rename : src/game/MotionMaster.cpp => src/server/game/MotionMaster.cpp
rename : src/game/MotionMaster.h => src/server/game/MotionMaster.h
rename : src/game/MovementGenerator.cpp => src/server/game/MovementGenerator.cpp
rename : src/game/MovementGenerator.h => src/server/game/MovementGenerator.h
rename : src/game/MovementGeneratorImpl.h => src/server/game/MovementGeneratorImpl.h
rename : src/game/MovementHandler.cpp => src/server/game/MovementHandler.cpp
rename : src/game/NPCHandler.cpp => src/server/game/NPCHandler.cpp
rename : src/game/NPCHandler.h => src/server/game/NPCHandler.h
rename : src/game/Object.cpp => src/server/game/Object.cpp
rename : src/game/Object.h => src/server/game/Object.h
rename : src/game/ObjectAccessor.cpp => src/server/game/ObjectAccessor.cpp
rename : src/game/ObjectAccessor.h => src/server/game/ObjectAccessor.h
rename : src/game/ObjectDefines.h => src/server/game/ObjectDefines.h
rename : src/game/ObjectGridLoader.cpp => src/server/game/ObjectGridLoader.cpp
rename : src/game/ObjectGridLoader.h => src/server/game/ObjectGridLoader.h
rename : src/game/ObjectMgr.cpp => src/server/game/ObjectMgr.cpp
rename : src/game/ObjectMgr.h => src/server/game/ObjectMgr.h
rename : src/game/ObjectPosSelector.cpp => src/server/game/ObjectPosSelector.cpp
rename : src/game/ObjectPosSelector.h => src/server/game/ObjectPosSelector.h
rename : src/game/Opcodes.cpp => src/server/game/Opcodes.cpp
rename : src/game/Opcodes.h => src/server/game/Opcodes.h
rename : src/game/OutdoorPvP.cpp => src/server/game/OutdoorPvP.cpp
rename : src/game/OutdoorPvP.h => src/server/game/OutdoorPvP.h
rename : src/game/OutdoorPvPEP.cpp => src/server/game/OutdoorPvPEP.cpp
rename : src/game/OutdoorPvPEP.h => src/server/game/OutdoorPvPEP.h
rename : src/game/OutdoorPvPHP.cpp => src/server/game/OutdoorPvPHP.cpp
rename : src/game/OutdoorPvPHP.h => src/server/game/OutdoorPvPHP.h
rename : src/game/OutdoorPvPImpl.h => src/server/game/OutdoorPvPImpl.h
rename : src/game/OutdoorPvPMgr.cpp => src/server/game/OutdoorPvPMgr.cpp
rename : src/game/OutdoorPvPMgr.h => src/server/game/OutdoorPvPMgr.h
rename : src/game/OutdoorPvPNA.cpp => src/server/game/OutdoorPvPNA.cpp
rename : src/game/OutdoorPvPNA.h => src/server/game/OutdoorPvPNA.h
rename : src/game/OutdoorPvPSI.cpp => src/server/game/OutdoorPvPSI.cpp
rename : src/game/OutdoorPvPSI.h => src/server/game/OutdoorPvPSI.h
rename : src/game/OutdoorPvPTF.cpp => src/server/game/OutdoorPvPTF.cpp
rename : src/game/OutdoorPvPTF.h => src/server/game/OutdoorPvPTF.h
rename : src/game/OutdoorPvPZM.cpp => src/server/game/OutdoorPvPZM.cpp
rename : src/game/OutdoorPvPZM.h => src/server/game/OutdoorPvPZM.h
rename : src/game/PassiveAI.cpp => src/server/game/PassiveAI.cpp
rename : src/game/PassiveAI.h => src/server/game/PassiveAI.h
rename : src/game/Path.h => src/server/game/Path.h
rename : src/game/Pet.cpp => src/server/game/Pet.cpp
rename : src/game/Pet.h => src/server/game/Pet.h
rename : src/game/PetAI.cpp => src/server/game/PetAI.cpp
rename : src/game/PetAI.h => src/server/game/PetAI.h
rename : src/game/PetHandler.cpp => src/server/game/PetHandler.cpp
rename : src/game/PetitionsHandler.cpp => src/server/game/PetitionsHandler.cpp
rename : src/game/Player.cpp => src/server/game/Player.cpp
rename : src/game/Player.h => src/server/game/Player.h
rename : src/game/PlayerDump.cpp => src/server/game/PlayerDump.cpp
rename : src/game/PlayerDump.h => src/server/game/PlayerDump.h
rename : src/game/PointMovementGenerator.cpp => src/server/game/PointMovementGenerator.cpp
rename : src/game/PointMovementGenerator.h => src/server/game/PointMovementGenerator.h
rename : src/game/PoolHandler.cpp => src/server/game/PoolHandler.cpp
rename : src/game/PoolHandler.h => src/server/game/PoolHandler.h
rename : src/game/QueryHandler.cpp => src/server/game/QueryHandler.cpp
rename : src/game/QuestDef.cpp => src/server/game/QuestDef.cpp
rename : src/game/QuestDef.h => src/server/game/QuestDef.h
rename : src/game/QuestHandler.cpp => src/server/game/QuestHandler.cpp
rename : src/game/RandomMovementGenerator.cpp => src/server/game/RandomMovementGenerator.cpp
rename : src/game/RandomMovementGenerator.h => src/server/game/RandomMovementGenerator.h
rename : src/game/ReactorAI.cpp => src/server/game/ReactorAI.cpp
rename : src/game/ReactorAI.h => src/server/game/ReactorAI.h
rename : src/game/ReputationMgr.cpp => src/server/game/ReputationMgr.cpp
rename : src/game/ReputationMgr.h => src/server/game/ReputationMgr.h
rename : src/game/ScriptLoader.cpp => src/server/game/ScriptLoader.cpp
rename : src/game/ScriptLoader.h => src/server/game/ScriptLoader.h
rename : src/game/ScriptMgr.cpp => src/server/game/ScriptMgr.cpp
rename : src/game/ScriptMgr.h => src/server/game/ScriptMgr.h
rename : src/game/ScriptSystem.cpp => src/server/game/ScriptSystem.cpp
rename : src/game/ScriptSystem.h => src/server/game/ScriptSystem.h
rename : src/game/ScriptedCreature.cpp => src/server/game/ScriptedCreature.cpp
rename : src/game/ScriptedCreature.h => src/server/game/ScriptedCreature.h
rename : src/game/ScriptedEscortAI.cpp => src/server/game/ScriptedEscortAI.cpp
rename : src/game/ScriptedEscortAI.h => src/server/game/ScriptedEscortAI.h
rename : src/game/ScriptedFollowerAI.cpp => src/server/game/ScriptedFollowerAI.cpp
rename : src/game/ScriptedFollowerAI.h => src/server/game/ScriptedFollowerAI.h
rename : src/game/ScriptedGossip.h => src/server/game/ScriptedGossip.h
rename : src/game/ScriptedGuardAI.cpp => src/server/game/ScriptedGuardAI.cpp
rename : src/game/ScriptedGuardAI.h => src/server/game/ScriptedGuardAI.h
rename : src/game/ScriptedInstance.h => src/server/game/ScriptedInstance.h
rename : src/game/ScriptedPch.cpp => src/server/game/ScriptedPch.cpp
rename : src/game/ScriptedPch.h => src/server/game/ScriptedPch.h
rename : src/game/ScriptedSimpleAI.cpp => src/server/game/ScriptedSimpleAI.cpp
rename : src/game/ScriptedSimpleAI.h => src/server/game/ScriptedSimpleAI.h
rename : src/game/ScriptedSmartAI.cpp => src/server/game/ScriptedSmartAI.cpp
rename : src/game/ScriptedSmartAI.h => src/server/game/ScriptedSmartAI.h
rename : src/game/SharedDefines.h => src/server/game/SharedDefines.h
rename : src/game/SkillDiscovery.cpp => src/server/game/SkillDiscovery.cpp
rename : src/game/SkillDiscovery.h => src/server/game/SkillDiscovery.h
rename : src/game/SkillExtraItems.cpp => src/server/game/SkillExtraItems.cpp
rename : src/game/SkillExtraItems.h => src/server/game/SkillExtraItems.h
rename : src/game/SkillHandler.cpp => src/server/game/SkillHandler.cpp
rename : src/game/SocialMgr.cpp => src/server/game/SocialMgr.cpp
rename : src/game/SocialMgr.h => src/server/game/SocialMgr.h
rename : src/game/Spell.cpp => src/server/game/Spell.cpp
rename : src/game/Spell.h => src/server/game/Spell.h
rename : src/game/SpellAuraDefines.h => src/server/game/SpellAuraDefines.h
rename : src/game/SpellAuraEffects.cpp => src/server/game/SpellAuraEffects.cpp
rename : src/game/SpellAuraEffects.h => src/server/game/SpellAuraEffects.h
rename : src/game/SpellAuras.cpp => src/server/game/SpellAuras.cpp
rename : src/game/SpellAuras.h => src/server/game/SpellAuras.h
rename : src/game/SpellEffects.cpp => src/server/game/SpellEffects.cpp
rename : src/game/SpellHandler.cpp => src/server/game/SpellHandler.cpp
rename : src/game/SpellMgr.cpp => src/server/game/SpellMgr.cpp
rename : src/game/SpellMgr.h => src/server/game/SpellMgr.h
rename : src/game/StatSystem.cpp => src/server/game/StatSystem.cpp
rename : src/game/TargetedMovementGenerator.cpp => src/server/game/TargetedMovementGenerator.cpp
rename : src/game/TargetedMovementGenerator.h => src/server/game/TargetedMovementGenerator.h
rename : src/game/TaxiHandler.cpp => src/server/game/TaxiHandler.cpp
rename : src/game/TemporarySummon.cpp => src/server/game/TemporarySummon.cpp
rename : src/game/TemporarySummon.h => src/server/game/TemporarySummon.h
rename : src/game/ThreatManager.cpp => src/server/game/ThreatManager.cpp
rename : src/game/ThreatManager.h => src/server/game/ThreatManager.h
rename : src/game/TicketHandler.cpp => src/server/game/TicketHandler.cpp
rename : src/game/TimeMgr.cpp => src/server/game/TimeMgr.cpp
rename : src/game/TimeMgr.h => src/server/game/TimeMgr.h
rename : src/game/Tools.cpp => src/server/game/Tools.cpp
rename : src/game/Tools.h => src/server/game/Tools.h
rename : src/game/Totem.cpp => src/server/game/Totem.cpp
rename : src/game/Totem.h => src/server/game/Totem.h
rename : src/game/TotemAI.cpp => src/server/game/TotemAI.cpp
rename : src/game/TotemAI.h => src/server/game/TotemAI.h
rename : src/game/TradeHandler.cpp => src/server/game/TradeHandler.cpp
rename : src/game/Transports.cpp => src/server/game/Transports.cpp
rename : src/game/Transports.h => src/server/game/Transports.h
rename : src/game/Traveller.h => src/server/game/Traveller.h
rename : src/game/Unit.cpp => src/server/game/Unit.cpp
rename : src/game/Unit.h => src/server/game/Unit.h
rename : src/game/UnitAI.cpp => src/server/game/UnitAI.cpp
rename : src/game/UnitAI.h => src/server/game/UnitAI.h
rename : src/game/UnitEvents.h => src/server/game/UnitEvents.h
rename : src/game/UpdateData.cpp => src/server/game/UpdateData.cpp
rename : src/game/UpdateData.h => src/server/game/UpdateData.h
rename : src/game/UpdateFields.h => src/server/game/UpdateFields.h
rename : src/game/UpdateMask.h => src/server/game/UpdateMask.h
rename : src/game/Vehicle.cpp => src/server/game/Vehicle.cpp
rename : src/game/Vehicle.h => src/server/game/Vehicle.h
rename : src/game/VoiceChatHandler.cpp => src/server/game/VoiceChatHandler.cpp
rename : src/game/WaypointManager.cpp => src/server/game/WaypointManager.cpp
rename : src/game/WaypointManager.h => src/server/game/WaypointManager.h
rename : src/game/WaypointMovementGenerator.cpp => src/server/game/WaypointMovementGenerator.cpp
rename : src/game/WaypointMovementGenerator.h => src/server/game/WaypointMovementGenerator.h
rename : src/game/Weather.cpp => src/server/game/Weather.cpp
rename : src/game/Weather.h => src/server/game/Weather.h
rename : src/game/World.cpp => src/server/game/World.cpp
rename : src/game/World.h => src/server/game/World.h
rename : src/game/WorldLog.cpp => src/server/game/WorldLog.cpp
rename : src/game/WorldLog.h => src/server/game/WorldLog.h
rename : src/game/WorldSession.cpp => src/server/game/WorldSession.cpp
rename : src/game/WorldSession.h => src/server/game/WorldSession.h
rename : src/game/WorldSocket.cpp => src/server/game/WorldSocket.cpp
rename : src/game/WorldSocket.h => src/server/game/WorldSocket.h
rename : src/game/WorldSocketMgr.cpp => src/server/game/WorldSocketMgr.cpp
rename : src/game/WorldSocketMgr.h => src/server/game/WorldSocketMgr.h
rename : src/game/ZoneScript.h => src/server/game/ZoneScript.h
rename : src/game/pchdef.cpp => src/server/game/pchdef.cpp
rename : src/game/pchdef.h => src/server/game/pchdef.h
rename : src/game/pchlinux.cpp => src/server/game/pchlinux.cpp
rename : src/game/pchlinux.h => src/server/game/pchlinux.h
rename : src/scripts/CMakeLists.txt => src/server/scripts/CMakeLists.txt
rename : src/scripts/custom/custom_example.cpp => src/server/scripts/custom/custom_example.cpp
rename : src/scripts/custom/custom_gossip_codebox.cpp => src/server/scripts/custom/custom_gossip_codebox.cpp
rename : src/scripts/custom/npc_acherus_taxi.cpp => src/server/scripts/custom/npc_acherus_taxi.cpp
rename : src/scripts/custom/npc_wyrmresttempel_taxi.cpp => src/server/scripts/custom/npc_wyrmresttempel_taxi.cpp
rename : src/scripts/custom/on_events.cpp => src/server/scripts/custom/on_events.cpp
rename : src/scripts/custom/test.cpp => src/server/scripts/custom/test.cpp
rename : src/scripts/eastern_kingdoms/alterac_mountains.cpp => src/server/scripts/eastern_kingdoms/alterac_mountains.cpp
rename : src/scripts/eastern_kingdoms/alterac_valley/alterac_valley.cpp => src/server/scripts/eastern_kingdoms/alterac_valley/alterac_valley.cpp
rename : src/scripts/eastern_kingdoms/alterac_valley/boss_balinda.cpp => src/server/scripts/eastern_kingdoms/alterac_valley/boss_balinda.cpp
rename : src/scripts/eastern_kingdoms/alterac_valley/boss_drekthar.cpp => src/server/scripts/eastern_kingdoms/alterac_valley/boss_drekthar.cpp
rename : src/scripts/eastern_kingdoms/alterac_valley/boss_galvangar.cpp => src/server/scripts/eastern_kingdoms/alterac_valley/boss_galvangar.cpp
rename : src/scripts/eastern_kingdoms/alterac_valley/boss_vanndar.cpp => src/server/scripts/eastern_kingdoms/alterac_valley/boss_vanndar.cpp
rename : src/scripts/eastern_kingdoms/arathi_highlands.cpp => src/server/scripts/eastern_kingdoms/arathi_highlands.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.h => src/server/scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.h
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp
rename : src/scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp => src/server/scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/blackrock_spire.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/blackrock_spire.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/blackrock_spire.h => src/server/scripts/eastern_kingdoms/blackrock_spire/blackrock_spire.h
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp
rename : src/scripts/eastern_kingdoms/blackrock_spire/instance_blackrock_spire.cpp => src/server/scripts/eastern_kingdoms/blackrock_spire/instance_blackrock_spire.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp
rename : src/scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp => src/server/scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp
rename : src/scripts/eastern_kingdoms/blasted_lands.cpp => src/server/scripts/eastern_kingdoms/blasted_lands.cpp
rename : src/scripts/eastern_kingdoms/boss_kruul.cpp => src/server/scripts/eastern_kingdoms/boss_kruul.cpp
rename : src/scripts/eastern_kingdoms/burning_steppes.cpp => src/server/scripts/eastern_kingdoms/burning_steppes.cpp
rename : src/scripts/eastern_kingdoms/deadmines/boss_mr_smite.cpp => src/server/scripts/eastern_kingdoms/deadmines/boss_mr_smite.cpp
rename : src/scripts/eastern_kingdoms/deadmines/deadmines.cpp => src/server/scripts/eastern_kingdoms/deadmines/deadmines.cpp
rename : src/scripts/eastern_kingdoms/deadmines/deadmines.h => src/server/scripts/eastern_kingdoms/deadmines/deadmines.h
rename : src/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp => src/server/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp
rename : src/scripts/eastern_kingdoms/dun_morogh.cpp => src/server/scripts/eastern_kingdoms/dun_morogh.cpp
rename : src/scripts/eastern_kingdoms/duskwood.cpp => src/server/scripts/eastern_kingdoms/duskwood.cpp
rename : src/scripts/eastern_kingdoms/eastern_plaguelands.cpp => src/server/scripts/eastern_kingdoms/eastern_plaguelands.cpp
rename : src/scripts/eastern_kingdoms/elwynn_forest.cpp => src/server/scripts/eastern_kingdoms/elwynn_forest.cpp
rename : src/scripts/eastern_kingdoms/eversong_woods.cpp => src/server/scripts/eastern_kingdoms/eversong_woods.cpp
rename : src/scripts/eastern_kingdoms/ghostlands.cpp => src/server/scripts/eastern_kingdoms/ghostlands.cpp
rename : src/scripts/eastern_kingdoms/gnomeregan/gnomeregan.cpp => src/server/scripts/eastern_kingdoms/gnomeregan/gnomeregan.cpp
rename : src/scripts/eastern_kingdoms/gnomeregan/gnomeregan.h => src/server/scripts/eastern_kingdoms/gnomeregan/gnomeregan.h
rename : src/scripts/eastern_kingdoms/gnomeregan/instance_gnomeregan.cpp => src/server/scripts/eastern_kingdoms/gnomeregan/instance_gnomeregan.cpp
rename : src/scripts/eastern_kingdoms/hinterlands.cpp => src/server/scripts/eastern_kingdoms/hinterlands.cpp
rename : src/scripts/eastern_kingdoms/ironforge.cpp => src/server/scripts/eastern_kingdoms/ironforge.cpp
rename : src/scripts/eastern_kingdoms/isle_of_queldanas.cpp => src/server/scripts/eastern_kingdoms/isle_of_queldanas.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_curator.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_curator.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_midnight.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_midnight.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp
rename : src/scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp => src/server/scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp
rename : src/scripts/eastern_kingdoms/karazhan/bosses_opera.cpp => src/server/scripts/eastern_kingdoms/karazhan/bosses_opera.cpp
rename : src/scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp => src/server/scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp
rename : src/scripts/eastern_kingdoms/karazhan/karazhan.cpp => src/server/scripts/eastern_kingdoms/karazhan/karazhan.cpp
rename : src/scripts/eastern_kingdoms/karazhan/karazhan.h => src/server/scripts/eastern_kingdoms/karazhan/karazhan.h
rename : src/scripts/eastern_kingdoms/loch_modan.cpp => src/server/scripts/eastern_kingdoms/loch_modan.cpp
rename : src/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp => src/server/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp
rename : src/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp => src/server/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp
rename : src/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp => src/server/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp
rename : src/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp => src/server/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp
rename : src/scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp => src/server/scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp
rename : src/scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp => src/server/scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp
rename : src/scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.h => src/server/scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.h
rename : src/scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_garr.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_garr.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp
rename : src/scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp => src/server/scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp
rename : src/scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp => src/server/scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp
rename : src/scripts/eastern_kingdoms/molten_core/molten_core.cpp => src/server/scripts/eastern_kingdoms/molten_core/molten_core.cpp
rename : src/scripts/eastern_kingdoms/molten_core/molten_core.h => src/server/scripts/eastern_kingdoms/molten_core/molten_core.h
rename : src/scripts/eastern_kingdoms/redridge_mountains.cpp => src/server/scripts/eastern_kingdoms/redridge_mountains.cpp
rename : src/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp => src/server/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp
rename : src/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp => src/server/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp
rename : src/scripts/eastern_kingdoms/scarlet_enclave/chapter5.cpp => src/server/scripts/eastern_kingdoms/scarlet_enclave/chapter5.cpp
rename : src/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp => src/server/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp => src/server/scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp
rename : src/scripts/eastern_kingdoms/scarlet_monastery/scarlet_monastery.h => src/server/scripts/eastern_kingdoms/scarlet_monastery/scarlet_monastery.h
rename : src/scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_kormok.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_kormok.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp
rename : src/scripts/eastern_kingdoms/scholomance/boss_vectus.cpp => src/server/scripts/eastern_kingdoms/scholomance/boss_vectus.cpp
rename : src/scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp => src/server/scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp
rename : src/scripts/eastern_kingdoms/scholomance/scholomance.h => src/server/scripts/eastern_kingdoms/scholomance/scholomance.h
rename : src/scripts/eastern_kingdoms/searing_gorge.cpp => src/server/scripts/eastern_kingdoms/searing_gorge.cpp
rename : src/scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp => src/server/scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp
rename : src/scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp => src/server/scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp
rename : src/scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.h => src/server/scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.h
rename : src/scripts/eastern_kingdoms/silvermoon_city.cpp => src/server/scripts/eastern_kingdoms/silvermoon_city.cpp
rename : src/scripts/eastern_kingdoms/silverpine_forest.cpp => src/server/scripts/eastern_kingdoms/silverpine_forest.cpp
rename : src/scripts/eastern_kingdoms/stormwind_city.cpp => src/server/scripts/eastern_kingdoms/stormwind_city.cpp
rename : src/scripts/eastern_kingdoms/stranglethorn_vale.cpp => src/server/scripts/eastern_kingdoms/stranglethorn_vale.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp
rename : src/scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp => src/server/scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp
rename : src/scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp => src/server/scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp
rename : src/scripts/eastern_kingdoms/stratholme/stratholme.cpp => src/server/scripts/eastern_kingdoms/stratholme/stratholme.cpp
rename : src/scripts/eastern_kingdoms/stratholme/stratholme.h => src/server/scripts/eastern_kingdoms/stratholme/stratholme.h
rename : src/scripts/eastern_kingdoms/sunken_temple/instance_sunken_temple.cpp => src/server/scripts/eastern_kingdoms/sunken_temple/instance_sunken_temple.cpp
rename : src/scripts/eastern_kingdoms/sunken_temple/sunken_temple.cpp => src/server/scripts/eastern_kingdoms/sunken_temple/sunken_temple.cpp
rename : src/scripts/eastern_kingdoms/sunken_temple/sunken_temple.h => src/server/scripts/eastern_kingdoms/sunken_temple/sunken_temple.h
rename : src/scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp => src/server/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp
rename : src/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h => src/server/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h
rename : src/scripts/eastern_kingdoms/tirisfal_glades.cpp => src/server/scripts/eastern_kingdoms/tirisfal_glades.cpp
rename : src/scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp => src/server/scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp
rename : src/scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp => src/server/scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp
rename : src/scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp => src/server/scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp
rename : src/scripts/eastern_kingdoms/uldaman/uldaman.cpp => src/server/scripts/eastern_kingdoms/uldaman/uldaman.cpp
rename : src/scripts/eastern_kingdoms/undercity.cpp => src/server/scripts/eastern_kingdoms/undercity.cpp
rename : src/scripts/eastern_kingdoms/western_plaguelands.cpp => src/server/scripts/eastern_kingdoms/western_plaguelands.cpp
rename : src/scripts/eastern_kingdoms/westfall.cpp => src/server/scripts/eastern_kingdoms/westfall.cpp
rename : src/scripts/eastern_kingdoms/wetlands.cpp => src/server/scripts/eastern_kingdoms/wetlands.cpp
rename : src/scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp => src/server/scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp
rename : src/scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp => src/server/scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp
rename : src/scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp => src/server/scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp
rename : src/scripts/eastern_kingdoms/zulaman/boss_janalai.cpp => src/server/scripts/eastern_kingdoms/zulaman/boss_janalai.cpp
rename : src/scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp => src/server/scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp
rename : src/scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp => src/server/scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp
rename : src/scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp => src/server/scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp
rename : src/scripts/eastern_kingdoms/zulaman/zulaman.cpp => src/server/scripts/eastern_kingdoms/zulaman/zulaman.cpp
rename : src/scripts/eastern_kingdoms/zulaman/zulaman.h => src/server/scripts/eastern_kingdoms/zulaman/zulaman.h
rename : src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp => src/server/scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp => src/server/scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp
rename : src/scripts/eastern_kingdoms/zulgurub/zulgurub.h => src/server/scripts/eastern_kingdoms/zulgurub/zulgurub.h
rename : src/scripts/examples/example_creature.cpp => src/server/scripts/examples/example_creature.cpp
rename : src/scripts/examples/example_escort.cpp => src/server/scripts/examples/example_escort.cpp
rename : src/scripts/examples/example_gossip_codebox.cpp => src/server/scripts/examples/example_gossip_codebox.cpp
rename : src/scripts/examples/example_misc.cpp => src/server/scripts/examples/example_misc.cpp
rename : src/scripts/kalimdor/ashenvale.cpp => src/server/scripts/kalimdor/ashenvale.cpp
rename : src/scripts/kalimdor/azshara.cpp => src/server/scripts/kalimdor/azshara.cpp
rename : src/scripts/kalimdor/azuremyst_isle.cpp => src/server/scripts/kalimdor/azuremyst_isle.cpp
rename : src/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.cpp => src/server/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.cpp
rename : src/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h => src/server/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h
rename : src/scripts/kalimdor/blackfathom_depths/boss_aku_mai.cpp => src/server/scripts/kalimdor/blackfathom_depths/boss_aku_mai.cpp
rename : src/scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp => src/server/scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp
rename : src/scripts/kalimdor/blackfathom_depths/boss_kelris.cpp => src/server/scripts/kalimdor/blackfathom_depths/boss_kelris.cpp
rename : src/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp => src/server/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp
rename : src/scripts/kalimdor/bloodmyst_isle.cpp => src/server/scripts/kalimdor/bloodmyst_isle.cpp
rename : src/scripts/kalimdor/boss_azuregos.cpp => src/server/scripts/kalimdor/boss_azuregos.cpp
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.cpp => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.cpp
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.h => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.h
rename : src/scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp => src/server/scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp
rename : src/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp => src/server/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp
rename : src/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp => src/server/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
rename : src/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp => src/server/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp
rename : src/scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp => src/server/scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp
rename : src/scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.h => src/server/scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.h
rename : src/scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp => src/server/scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/hyjal.h => src/server/scripts/kalimdor/caverns_of_time/hyjal/hyjal.h
rename : src/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h => src/server/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h
rename : src/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp
rename : src/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h => src/server/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h
rename : src/scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp => src/server/scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp
rename : src/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp => src/server/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp
rename : src/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp => src/server/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp
rename : src/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp => src/server/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
rename : src/scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp => src/server/scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp
rename : src/scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp => src/server/scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
rename : src/scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.h => src/server/scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.h
rename : src/scripts/kalimdor/darkshore.cpp => src/server/scripts/kalimdor/darkshore.cpp
rename : src/scripts/kalimdor/desolace.cpp => src/server/scripts/kalimdor/desolace.cpp
rename : src/scripts/kalimdor/durotar.cpp => src/server/scripts/kalimdor/durotar.cpp
rename : src/scripts/kalimdor/dustwallow_marsh.cpp => src/server/scripts/kalimdor/dustwallow_marsh.cpp
rename : src/scripts/kalimdor/felwood.cpp => src/server/scripts/kalimdor/felwood.cpp
rename : src/scripts/kalimdor/feralas.cpp => src/server/scripts/kalimdor/feralas.cpp
rename : src/scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp => src/server/scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp
rename : src/scripts/kalimdor/maraudon/boss_landslide.cpp => src/server/scripts/kalimdor/maraudon/boss_landslide.cpp
rename : src/scripts/kalimdor/maraudon/boss_noxxion.cpp => src/server/scripts/kalimdor/maraudon/boss_noxxion.cpp
rename : src/scripts/kalimdor/maraudon/boss_princess_theradras.cpp => src/server/scripts/kalimdor/maraudon/boss_princess_theradras.cpp
rename : src/scripts/kalimdor/moonglade.cpp => src/server/scripts/kalimdor/moonglade.cpp
rename : src/scripts/kalimdor/mulgore.cpp => src/server/scripts/kalimdor/mulgore.cpp
rename : src/scripts/kalimdor/onyxias_lair/boss_onyxia.cpp => src/server/scripts/kalimdor/onyxias_lair/boss_onyxia.cpp
rename : src/scripts/kalimdor/onyxias_lair/instance_onyxias_lair.cpp => src/server/scripts/kalimdor/onyxias_lair/instance_onyxias_lair.cpp
rename : src/scripts/kalimdor/onyxias_lair/onyxias_lair.h => src/server/scripts/kalimdor/onyxias_lair/onyxias_lair.h
rename : src/scripts/kalimdor/orgrimmar.cpp => src/server/scripts/kalimdor/orgrimmar.cpp
rename : src/scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp => src/server/scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp
rename : src/scripts/kalimdor/razorfen_downs/instance_razorfen_downs.cpp => src/server/scripts/kalimdor/razorfen_downs/instance_razorfen_downs.cpp
rename : src/scripts/kalimdor/razorfen_downs/razorfen_downs.cpp => src/server/scripts/kalimdor/razorfen_downs/razorfen_downs.cpp
rename : src/scripts/kalimdor/razorfen_downs/razorfen_downs.h => src/server/scripts/kalimdor/razorfen_downs/razorfen_downs.h
rename : src/scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp => src/server/scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp
rename : src/scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp => src/server/scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp
rename : src/scripts/kalimdor/razorfen_kraul/razorfen_kraul.h => src/server/scripts/kalimdor/razorfen_kraul/razorfen_kraul.h
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp => src/server/scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp => src/server/scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp => src/server/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp => src/server/scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp => src/server/scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp => src/server/scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp => src/server/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
rename : src/scripts/kalimdor/ruins_of_ahnqiraj/ruins_of_ahnqiraj.h => src/server/scripts/kalimdor/ruins_of_ahnqiraj/ruins_of_ahnqiraj.h
rename : src/scripts/kalimdor/silithus.cpp => src/server/scripts/kalimdor/silithus.cpp
rename : src/scripts/kalimdor/stonetalon_mountains.cpp => src/server/scripts/kalimdor/stonetalon_mountains.cpp
rename : src/scripts/kalimdor/tanaris.cpp => src/server/scripts/kalimdor/tanaris.cpp
rename : src/scripts/kalimdor/teldrassil.cpp => src/server/scripts/kalimdor/teldrassil.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp => src/server/scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp
rename : src/scripts/kalimdor/temple_of_ahnqiraj/temple_of_ahnqiraj.h => src/server/scripts/kalimdor/temple_of_ahnqiraj/temple_of_ahnqiraj.h
rename : src/scripts/kalimdor/the_barrens.cpp => src/server/scripts/kalimdor/the_barrens.cpp
rename : src/scripts/kalimdor/thousand_needles.cpp => src/server/scripts/kalimdor/thousand_needles.cpp
rename : src/scripts/kalimdor/thunder_bluff.cpp => src/server/scripts/kalimdor/thunder_bluff.cpp
rename : src/scripts/kalimdor/ungoro_crater.cpp => src/server/scripts/kalimdor/ungoro_crater.cpp
rename : src/scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp => src/server/scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp
rename : src/scripts/kalimdor/wailing_caverns/wailing_caverns.cpp => src/server/scripts/kalimdor/wailing_caverns/wailing_caverns.cpp
rename : src/scripts/kalimdor/wailing_caverns/wailing_caverns.h => src/server/scripts/kalimdor/wailing_caverns/wailing_caverns.h
rename : src/scripts/kalimdor/winterspring.cpp => src/server/scripts/kalimdor/winterspring.cpp
rename : src/scripts/kalimdor/zulfarrak/instance_zulfarrak.cpp => src/server/scripts/kalimdor/zulfarrak/instance_zulfarrak.cpp
rename : src/scripts/kalimdor/zulfarrak/zulfarrak.cpp => src/server/scripts/kalimdor/zulfarrak/zulfarrak.cpp
rename : src/scripts/northrend/azjol_nerub/ahnkahet/ahnkahet.h => src/server/scripts/northrend/azjol_nerub/ahnkahet/ahnkahet.h
rename : src/scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp => src/server/scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp
rename : src/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp => src/server/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
rename : src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp => src/server/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
rename : src/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp => src/server/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp
rename : src/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp => src/server/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
rename : src/scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp => src/server/scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp
rename : src/scripts/northrend/azjol_nerub/azjol_nerub/azjol_nerub.h => src/server/scripts/northrend/azjol_nerub/azjol_nerub/azjol_nerub.h
rename : src/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp => src/server/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp
rename : src/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp => src/server/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp
rename : src/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp => src/server/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp
rename : src/scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp => src/server/scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp
rename : src/scripts/northrend/borean_tundra.cpp => src/server/scripts/northrend/borean_tundra.cpp
rename : src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp => src/server/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp
rename : src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp => src/server/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
rename : src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp => src/server/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp
rename : src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp => src/server/scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp
rename : src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp => src/server/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp
rename : src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.h => src/server/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.h
rename : src/scripts/northrend/crystalsong_forest.cpp => src/server/scripts/northrend/crystalsong_forest.cpp
rename : src/scripts/northrend/dalaran.cpp => src/server/scripts/northrend/dalaran.cpp
rename : src/scripts/northrend/dragonblight.cpp => src/server/scripts/northrend/dragonblight.cpp
rename : src/scripts/northrend/draktharon_keep/boss_dred.cpp => src/server/scripts/northrend/draktharon_keep/boss_dred.cpp
rename : src/scripts/northrend/draktharon_keep/boss_novos.cpp => src/server/scripts/northrend/draktharon_keep/boss_novos.cpp
rename : src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp => src/server/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
rename : src/scripts/northrend/draktharon_keep/boss_trollgore.cpp => src/server/scripts/northrend/draktharon_keep/boss_trollgore.cpp
rename : src/scripts/northrend/draktharon_keep/drak_tharon_keep.h => src/server/scripts/northrend/draktharon_keep/drak_tharon_keep.h
rename : src/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp => src/server/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp
rename : src/scripts/northrend/frozen_halls/forge_of_souls/boss_bronjahm.cpp => src/server/scripts/northrend/frozen_halls/forge_of_souls/boss_bronjahm.cpp
rename : src/scripts/northrend/frozen_halls/forge_of_souls/boss_devourer_of_souls.cpp => src/server/scripts/northrend/frozen_halls/forge_of_souls/boss_devourer_of_souls.cpp
rename : src/scripts/northrend/frozen_halls/forge_of_souls/forge_of_souls.cpp => src/server/scripts/northrend/frozen_halls/forge_of_souls/forge_of_souls.cpp
rename : src/scripts/northrend/frozen_halls/forge_of_souls/forge_of_souls.h => src/server/scripts/northrend/frozen_halls/forge_of_souls/forge_of_souls.h
rename : src/scripts/northrend/frozen_halls/forge_of_souls/instance_forge_of_souls.cpp => src/server/scripts/northrend/frozen_halls/forge_of_souls/instance_forge_of_souls.cpp
rename : src/scripts/northrend/frozen_halls/halls_of_reflection/boss_falric.cpp => src/server/scripts/northrend/frozen_halls/halls_of_reflection/boss_falric.cpp
rename : src/scripts/northrend/frozen_halls/halls_of_reflection/boss_marwyn.cpp => src/server/scripts/northrend/frozen_halls/halls_of_reflection/boss_marwyn.cpp
rename : src/scripts/northrend/frozen_halls/halls_of_reflection/halls_of_reflection.cpp => src/server/scripts/northrend/frozen_halls/halls_of_reflection/halls_of_reflection.cpp
rename : src/scripts/northrend/frozen_halls/halls_of_reflection/halls_of_reflection.h => src/server/scripts/northrend/frozen_halls/halls_of_reflection/halls_of_reflection.h
rename : src/scripts/northrend/frozen_halls/halls_of_reflection/instance_halls_of_reflection.cpp => src/server/scripts/northrend/frozen_halls/halls_of_reflection/instance_halls_of_reflection.cpp
rename : src/scripts/northrend/frozen_halls/pit_of_saron/boss_forgemaster_garfrost.cpp => src/server/scripts/northrend/frozen_halls/pit_of_saron/boss_forgemaster_garfrost.cpp
rename : src/scripts/northrend/frozen_halls/pit_of_saron/boss_krickandick.cpp => src/server/scripts/northrend/frozen_halls/pit_of_saron/boss_krickandick.cpp
rename : src/scripts/northrend/frozen_halls/pit_of_saron/boss_scourgelord_tyrannus.cpp => src/server/scripts/northrend/frozen_halls/pit_of_saron/boss_scourgelord_tyrannus.cpp
rename : src/scripts/northrend/frozen_halls/pit_of_saron/instance_pit_of_saron.cpp => src/server/scripts/northrend/frozen_halls/pit_of_saron/instance_pit_of_saron.cpp
rename : src/scripts/northrend/frozen_halls/pit_of_saron/pit_of_saron.cpp => src/server/scripts/northrend/frozen_halls/pit_of_saron/pit_of_saron.cpp
rename : src/scripts/northrend/frozen_halls/pit_of_saron/pit_of_saron.h => src/server/scripts/northrend/frozen_halls/pit_of_saron/pit_of_saron.h
rename : src/scripts/northrend/grizzly_hills.cpp => src/server/scripts/northrend/grizzly_hills.cpp
rename : src/scripts/northrend/gundrak/boss_drakkari_colossus.cpp => src/server/scripts/northrend/gundrak/boss_drakkari_colossus.cpp
rename : src/scripts/northrend/gundrak/boss_eck.cpp => src/server/scripts/northrend/gundrak/boss_eck.cpp
rename : src/scripts/northrend/gundrak/boss_gal_darah.cpp => src/server/scripts/northrend/gundrak/boss_gal_darah.cpp
rename : src/scripts/northrend/gundrak/boss_moorabi.cpp => src/server/scripts/northrend/gundrak/boss_moorabi.cpp
rename : src/scripts/northrend/gundrak/boss_slad_ran.cpp => src/server/scripts/northrend/gundrak/boss_slad_ran.cpp
rename : src/scripts/northrend/gundrak/gundrak.h => src/server/scripts/northrend/gundrak/gundrak.h
rename : src/scripts/northrend/gundrak/instance_gundrak.cpp => src/server/scripts/northrend/gundrak/instance_gundrak.cpp
rename : src/scripts/northrend/howling_fjord.cpp => src/server/scripts/northrend/howling_fjord.cpp
rename : src/scripts/northrend/icecrown.cpp => src/server/scripts/northrend/icecrown.cpp
rename : src/scripts/northrend/naxxramas/boss_anubrekhan.cpp => src/server/scripts/northrend/naxxramas/boss_anubrekhan.cpp
rename : src/scripts/northrend/naxxramas/boss_faerlina.cpp => src/server/scripts/northrend/naxxramas/boss_faerlina.cpp
rename : src/scripts/northrend/naxxramas/boss_four_horsemen.cpp => src/server/scripts/northrend/naxxramas/boss_four_horsemen.cpp
rename : src/scripts/northrend/naxxramas/boss_gluth.cpp => src/server/scripts/northrend/naxxramas/boss_gluth.cpp
rename : src/scripts/northrend/naxxramas/boss_gothik.cpp => src/server/scripts/northrend/naxxramas/boss_gothik.cpp
rename : src/scripts/northrend/naxxramas/boss_grobbulus.cpp => src/server/scripts/northrend/naxxramas/boss_grobbulus.cpp
rename : src/scripts/northrend/naxxramas/boss_heigan.cpp => src/server/scripts/northrend/naxxramas/boss_heigan.cpp
rename : src/scripts/northrend/naxxramas/boss_highlord_mograine.cpp => src/server/scripts/northrend/naxxramas/boss_highlord_mograine.cpp
rename : src/scripts/northrend/naxxramas/boss_kelthuzad.cpp => src/server/scripts/northrend/naxxramas/boss_kelthuzad.cpp
rename : src/scripts/northrend/naxxramas/boss_loatheb.cpp => src/server/scripts/northrend/naxxramas/boss_loatheb.cpp
rename : src/scripts/northrend/naxxramas/boss_maexxna.cpp => src/server/scripts/northrend/naxxramas/boss_maexxna.cpp
rename : src/scripts/northrend/naxxramas/boss_noth.cpp => src/server/scripts/northrend/naxxramas/boss_noth.cpp
rename : src/scripts/northrend/naxxramas/boss_patchwerk.cpp => src/server/scripts/northrend/naxxramas/boss_patchwerk.cpp
rename : src/scripts/northrend/naxxramas/boss_razuvious.cpp => src/server/scripts/northrend/naxxramas/boss_razuvious.cpp
rename : src/scripts/northrend/naxxramas/boss_sapphiron.cpp => src/server/scripts/northrend/naxxramas/boss_sapphiron.cpp
rename : src/scripts/northrend/naxxramas/boss_thaddius.cpp => src/server/scripts/northrend/naxxramas/boss_thaddius.cpp
rename : src/scripts/northrend/naxxramas/instance_naxxramas.cpp => src/server/scripts/northrend/naxxramas/instance_naxxramas.cpp
rename : src/scripts/northrend/naxxramas/naxxramas.h => src/server/scripts/northrend/naxxramas/naxxramas.h
rename : src/scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp => src/server/scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp
rename : src/scripts/northrend/nexus/eye_of_eternity/eye_of_eternity.h => src/server/scripts/northrend/nexus/eye_of_eternity/eye_of_eternity.h
rename : src/scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp => src/server/scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp
rename : src/scripts/northrend/nexus/nexus/boss_anomalus.cpp => src/server/scripts/northrend/nexus/nexus/boss_anomalus.cpp
rename : src/scripts/northrend/nexus/nexus/boss_keristrasza.cpp => src/server/scripts/northrend/nexus/nexus/boss_keristrasza.cpp
rename : src/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp => src/server/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp
rename : src/scripts/northrend/nexus/nexus/boss_ormorok.cpp => src/server/scripts/northrend/nexus/nexus/boss_ormorok.cpp
rename : src/scripts/northrend/nexus/nexus/commander_kolurg.cpp => src/server/scripts/northrend/nexus/nexus/commander_kolurg.cpp
rename : src/scripts/northrend/nexus/nexus/commander_stoutbeard.cpp => src/server/scripts/northrend/nexus/nexus/commander_stoutbeard.cpp
rename : src/scripts/northrend/nexus/nexus/instance_nexus.cpp => src/server/scripts/northrend/nexus/nexus/instance_nexus.cpp
rename : src/scripts/northrend/nexus/nexus/nexus.h => src/server/scripts/northrend/nexus/nexus/nexus.h
rename : src/scripts/northrend/nexus/oculus/boss_drakos.cpp => src/server/scripts/northrend/nexus/oculus/boss_drakos.cpp
rename : src/scripts/northrend/nexus/oculus/boss_eregos.cpp => src/server/scripts/northrend/nexus/oculus/boss_eregos.cpp
rename : src/scripts/northrend/nexus/oculus/boss_urom.cpp => src/server/scripts/northrend/nexus/oculus/boss_urom.cpp
rename : src/scripts/northrend/nexus/oculus/boss_varos.cpp => src/server/scripts/northrend/nexus/oculus/boss_varos.cpp
rename : src/scripts/northrend/nexus/oculus/instance_oculus.cpp => src/server/scripts/northrend/nexus/oculus/instance_oculus.cpp
rename : src/scripts/northrend/nexus/oculus/oculus.cpp => src/server/scripts/northrend/nexus/oculus/oculus.cpp
rename : src/scripts/northrend/nexus/oculus/oculus.h => src/server/scripts/northrend/nexus/oculus/oculus.h
rename : src/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp => src/server/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp
rename : src/scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp => src/server/scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp
rename : src/scripts/northrend/obsidian_sanctum/obsidian_sanctum.h => src/server/scripts/northrend/obsidian_sanctum/obsidian_sanctum.h
rename : src/scripts/northrend/sholazar_basin.cpp => src/server/scripts/northrend/sholazar_basin.cpp
rename : src/scripts/northrend/storm_peaks.cpp => src/server/scripts/northrend/storm_peaks.cpp
rename : src/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp => src/server/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp
rename : src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp => src/server/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
rename : src/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp => src/server/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp
rename : src/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp => src/server/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
rename : src/scripts/northrend/ulduar/halls_of_lightning/halls_of_lightning.h => src/server/scripts/northrend/ulduar/halls_of_lightning/halls_of_lightning.h
rename : src/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp => src/server/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp
rename : src/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp => src/server/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp
rename : src/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp => src/server/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
rename : src/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp => src/server/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp
rename : src/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp => src/server/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
rename : src/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.h => src/server/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.h
rename : src/scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp => src/server/scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_algalon.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_algalon.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_auriaya.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_auriaya.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_freya.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_freya.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_hodir.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_hodir.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_ignis.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_ignis.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_mimiron.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_mimiron.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_thorim.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_thorim.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_xt002.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_xt002.cpp
rename : src/scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp => src/server/scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp
rename : src/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp => src/server/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp
rename : src/scripts/northrend/ulduar/ulduar/ulduar.h => src/server/scripts/northrend/ulduar/ulduar/ulduar.h
rename : src/scripts/northrend/ulduar/ulduar/ulduar_teleporter.cpp => src/server/scripts/northrend/ulduar/ulduar/ulduar_teleporter.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.h => src/server/scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.h
rename : src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp => src/server/scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp
rename : src/scripts/northrend/utgarde_keep/utgarde_pinnacle/utgarde_pinnacle.h => src/server/scripts/northrend/utgarde_keep/utgarde_pinnacle/utgarde_pinnacle.h
rename : src/scripts/northrend/vault_of_archavon/boss_archavon.cpp => src/server/scripts/northrend/vault_of_archavon/boss_archavon.cpp
rename : src/scripts/northrend/vault_of_archavon/boss_emalon.cpp => src/server/scripts/northrend/vault_of_archavon/boss_emalon.cpp
rename : src/scripts/northrend/vault_of_archavon/boss_koralon.cpp => src/server/scripts/northrend/vault_of_archavon/boss_koralon.cpp
rename : src/scripts/northrend/vault_of_archavon/boss_toravon.cpp => src/server/scripts/northrend/vault_of_archavon/boss_toravon.cpp
rename : src/scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp => src/server/scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp
rename : src/scripts/northrend/vault_of_archavon/vault_of_archavon.h => src/server/scripts/northrend/vault_of_archavon/vault_of_archavon.h
rename : src/scripts/northrend/violet_hold/boss_cyanigosa.cpp => src/server/scripts/northrend/violet_hold/boss_cyanigosa.cpp
rename : src/scripts/northrend/violet_hold/boss_erekem.cpp => src/server/scripts/northrend/violet_hold/boss_erekem.cpp
rename : src/scripts/northrend/violet_hold/boss_ichoron.cpp => src/server/scripts/northrend/violet_hold/boss_ichoron.cpp
rename : src/scripts/northrend/violet_hold/boss_lavanthor.cpp => src/server/scripts/northrend/violet_hold/boss_lavanthor.cpp
rename : src/scripts/northrend/violet_hold/boss_moragg.cpp => src/server/scripts/northrend/violet_hold/boss_moragg.cpp
rename : src/scripts/northrend/violet_hold/boss_xevozz.cpp => src/server/scripts/northrend/violet_hold/boss_xevozz.cpp
rename : src/scripts/northrend/violet_hold/boss_zuramat.cpp => src/server/scripts/northrend/violet_hold/boss_zuramat.cpp
rename : src/scripts/northrend/violet_hold/instance_violet_hold.cpp => src/server/scripts/northrend/violet_hold/instance_violet_hold.cpp
rename : src/scripts/northrend/violet_hold/violet_hold.cpp => src/server/scripts/northrend/violet_hold/violet_hold.cpp
rename : src/scripts/northrend/violet_hold/violet_hold.h => src/server/scripts/northrend/violet_hold/violet_hold.h
rename : src/scripts/northrend/zuldrak.cpp => src/server/scripts/northrend/zuldrak.cpp
rename : src/scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp => src/server/scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
rename : src/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp => src/server/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
rename : src/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp => src/server/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
rename : src/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp => src/server/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp
rename : src/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp => src/server/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp
rename : src/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp => src/server/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
rename : src/scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp => src/server/scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp
rename : src/scripts/outland/auchindoun/sethekk_halls/sethekk_halls.h => src/server/scripts/outland/auchindoun/sethekk_halls/sethekk_halls.h
rename : src/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp => src/server/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
rename : src/scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp => src/server/scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
rename : src/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp => src/server/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
rename : src/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp => src/server/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp
rename : src/scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp => src/server/scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
rename : src/scripts/outland/auchindoun/shadow_labyrinth/shadow_labyrinth.h => src/server/scripts/outland/auchindoun/shadow_labyrinth/shadow_labyrinth.h
rename : src/scripts/outland/black_temple/black_temple.cpp => src/server/scripts/outland/black_temple/black_temple.cpp
rename : src/scripts/outland/black_temple/black_temple.h => src/server/scripts/outland/black_temple/black_temple.h
rename : src/scripts/outland/black_temple/boss_bloodboil.cpp => src/server/scripts/outland/black_temple/boss_bloodboil.cpp
rename : src/scripts/outland/black_temple/boss_illidan.cpp => src/server/scripts/outland/black_temple/boss_illidan.cpp
rename : src/scripts/outland/black_temple/boss_mother_shahraz.cpp => src/server/scripts/outland/black_temple/boss_mother_shahraz.cpp
rename : src/scripts/outland/black_temple/boss_reliquary_of_souls.cpp => src/server/scripts/outland/black_temple/boss_reliquary_of_souls.cpp
rename : src/scripts/outland/black_temple/boss_shade_of_akama.cpp => src/server/scripts/outland/black_temple/boss_shade_of_akama.cpp
rename : src/scripts/outland/black_temple/boss_supremus.cpp => src/server/scripts/outland/black_temple/boss_supremus.cpp
rename : src/scripts/outland/black_temple/boss_teron_gorefiend.cpp => src/server/scripts/outland/black_temple/boss_teron_gorefiend.cpp
rename : src/scripts/outland/black_temple/boss_warlord_najentus.cpp => src/server/scripts/outland/black_temple/boss_warlord_najentus.cpp
rename : src/scripts/outland/black_temple/illidari_council.cpp => src/server/scripts/outland/black_temple/illidari_council.cpp
rename : src/scripts/outland/black_temple/instance_black_temple.cpp => src/server/scripts/outland/black_temple/instance_black_temple.cpp
rename : src/scripts/outland/blades_edge_mountains.cpp => src/server/scripts/outland/blades_edge_mountains.cpp
rename : src/scripts/outland/boss_doomlord_kazzak.cpp => src/server/scripts/outland/boss_doomlord_kazzak.cpp
rename : src/scripts/outland/boss_doomwalker.cpp => src/server/scripts/outland/boss_doomwalker.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
rename : src/scripts/outland/coilfang_resevoir/serpent_shrine/serpent_shrine.h => src/server/scripts/outland/coilfang_resevoir/serpent_shrine/serpent_shrine.h
rename : src/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp => src/server/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
rename : src/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp => src/server/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
rename : src/scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp => src/server/scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp
rename : src/scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp => src/server/scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
rename : src/scripts/outland/coilfang_resevoir/steam_vault/steam_vault.h => src/server/scripts/outland/coilfang_resevoir/steam_vault/steam_vault.h
rename : src/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp => src/server/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp
rename : src/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp => src/server/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
rename : src/scripts/outland/gruuls_lair/boss_gruul.cpp => src/server/scripts/outland/gruuls_lair/boss_gruul.cpp
rename : src/scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp => src/server/scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp
rename : src/scripts/outland/gruuls_lair/gruuls_lair.h => src/server/scripts/outland/gruuls_lair/gruuls_lair.h
rename : src/scripts/outland/gruuls_lair/instance_gruuls_lair.cpp => src/server/scripts/outland/gruuls_lair/instance_gruuls_lair.cpp
rename : src/scripts/outland/hellfire_citadel/blood_furnace/blood_furnace.h => src/server/scripts/outland/hellfire_citadel/blood_furnace/blood_furnace.h
rename : src/scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp => src/server/scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp
rename : src/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp => src/server/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
rename : src/scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp => src/server/scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp
rename : src/scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp => src/server/scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp
rename : src/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp => src/server/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
rename : src/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp => src/server/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
rename : src/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp => src/server/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
rename : src/scripts/outland/hellfire_citadel/hellfire_ramparts/hellfire_ramparts.h => src/server/scripts/outland/hellfire_citadel/hellfire_ramparts/hellfire_ramparts.h
rename : src/scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp => src/server/scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp
rename : src/scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp => src/server/scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
rename : src/scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp => src/server/scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
rename : src/scripts/outland/hellfire_citadel/magtheridons_lair/magtheridons_lair.h => src/server/scripts/outland/hellfire_citadel/magtheridons_lair/magtheridons_lair.h
rename : src/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp => src/server/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
rename : src/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp => src/server/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
rename : src/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp => src/server/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
rename : src/scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp => src/server/scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp
rename : src/scripts/outland/hellfire_citadel/shattered_halls/shattered_halls.h => src/server/scripts/outland/hellfire_citadel/shattered_halls/shattered_halls.h
rename : src/scripts/outland/hellfire_peninsula.cpp => src/server/scripts/outland/hellfire_peninsula.cpp
rename : src/scripts/outland/nagrand.cpp => src/server/scripts/outland/nagrand.cpp
rename : src/scripts/outland/netherstorm.cpp => src/server/scripts/outland/netherstorm.cpp
rename : src/scripts/outland/shadowmoon_valley.cpp => src/server/scripts/outland/shadowmoon_valley.cpp
rename : src/scripts/outland/shattrath_city.cpp => src/server/scripts/outland/shattrath_city.cpp
rename : src/scripts/outland/tempest_keep/arcatraz/arcatraz.cpp => src/server/scripts/outland/tempest_keep/arcatraz/arcatraz.cpp
rename : src/scripts/outland/tempest_keep/arcatraz/arcatraz.h => src/server/scripts/outland/tempest_keep/arcatraz/arcatraz.h
rename : src/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp => src/server/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
rename : src/scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp => src/server/scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp
rename : src/scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp => src/server/scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp
rename : src/scripts/outland/tempest_keep/botanica/boss_laj.cpp => src/server/scripts/outland/tempest_keep/botanica/boss_laj.cpp
rename : src/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp => src/server/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp
rename : src/scripts/outland/tempest_keep/the_eye/boss_alar.cpp => src/server/scripts/outland/tempest_keep/the_eye/boss_alar.cpp
rename : src/scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp => src/server/scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp
rename : src/scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp => src/server/scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp
rename : src/scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp => src/server/scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp
rename : src/scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp => src/server/scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp
rename : src/scripts/outland/tempest_keep/the_eye/the_eye.cpp => src/server/scripts/outland/tempest_keep/the_eye/the_eye.cpp
rename : src/scripts/outland/tempest_keep/the_eye/the_eye.h => src/server/scripts/outland/tempest_keep/the_eye/the_eye.h
rename : src/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp => src/server/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp
rename : src/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp => src/server/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
rename : src/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp => src/server/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
rename : src/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp => src/server/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
rename : src/scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp => src/server/scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp
rename : src/scripts/outland/tempest_keep/the_mechanar/mechanar.h => src/server/scripts/outland/tempest_keep/the_mechanar/mechanar.h
rename : src/scripts/outland/terokkar_forest.cpp => src/server/scripts/outland/terokkar_forest.cpp
rename : src/scripts/outland/zangarmarsh.cpp => src/server/scripts/outland/zangarmarsh.cpp
rename : src/scripts/world/areatrigger_scripts.cpp => src/server/scripts/world/areatrigger_scripts.cpp
rename : src/scripts/world/boss_emeriss.cpp => src/server/scripts/world/boss_emeriss.cpp
rename : src/scripts/world/boss_lethon.cpp => src/server/scripts/world/boss_lethon.cpp
rename : src/scripts/world/boss_taerar.cpp => src/server/scripts/world/boss_taerar.cpp
rename : src/scripts/world/boss_ysondre.cpp => src/server/scripts/world/boss_ysondre.cpp
rename : src/scripts/world/go_scripts.cpp => src/server/scripts/world/go_scripts.cpp
rename : src/scripts/world/guards.cpp => src/server/scripts/world/guards.cpp
rename : src/scripts/world/item_scripts.cpp => src/server/scripts/world/item_scripts.cpp
rename : src/scripts/world/mob_generic_creature.cpp => src/server/scripts/world/mob_generic_creature.cpp
rename : src/scripts/world/npc_innkeeper.cpp => src/server/scripts/world/npc_innkeeper.cpp
rename : src/scripts/world/npc_professions.cpp => src/server/scripts/world/npc_professions.cpp
rename : src/scripts/world/npc_taxi.cpp => src/server/scripts/world/npc_taxi.cpp
rename : src/scripts/world/npcs_special.cpp => src/server/scripts/world/npcs_special.cpp
rename : src/shared/Auth/AuthCrypt.cpp => src/server/shared/Auth/AuthCrypt.cpp
rename : src/shared/Auth/AuthCrypt.h => src/server/shared/Auth/AuthCrypt.h
rename : src/shared/Auth/BigNumber.cpp => src/server/shared/Auth/BigNumber.cpp
rename : src/shared/Auth/BigNumber.h => src/server/shared/Auth/BigNumber.h
rename : src/shared/Auth/CMakeLists.txt => src/server/shared/Auth/CMakeLists.txt
rename : src/shared/Auth/Hmac.cpp => src/server/shared/Auth/Hmac.cpp
rename : src/shared/Auth/Hmac.h => src/server/shared/Auth/Hmac.h
rename : src/shared/Auth/SARC4.cpp => src/server/shared/Auth/SARC4.cpp
rename : src/shared/Auth/SARC4.h => src/server/shared/Auth/SARC4.h
rename : src/shared/Auth/Sha1.cpp => src/server/shared/Auth/Sha1.cpp
rename : src/shared/Auth/Sha1.h => src/server/shared/Auth/Sha1.h
rename : src/shared/Auth/md5.c => src/server/shared/Auth/md5.c
rename : src/shared/Auth/md5.h => src/server/shared/Auth/md5.h
rename : src/shared/ByteBuffer.h => src/server/shared/ByteBuffer.h
rename : src/shared/CMakeLists.txt => src/server/shared/CMakeLists.txt
rename : src/shared/Common.cpp => src/server/shared/Common.cpp
rename : src/shared/Common.h => src/server/shared/Common.h
rename : src/shared/Config/CMakeLists.txt => src/server/shared/Config/CMakeLists.txt
rename : src/shared/Config/Config.cpp => src/server/shared/Config/Config.cpp
rename : src/shared/Config/Config.h => src/server/shared/Config/Config.h
rename : src/shared/Config/ConfigEnv.h => src/server/shared/Config/ConfigEnv.h
rename : src/shared/Config/ConfigLibrary.vcproj => src/server/shared/Config/ConfigLibrary.vcproj
rename : src/shared/Config/dotconfpp/dotconfpp.cpp => src/server/shared/Config/dotconfpp/dotconfpp.cpp
rename : src/shared/Config/dotconfpp/dotconfpp.h => src/server/shared/Config/dotconfpp/dotconfpp.h
rename : src/shared/Config/dotconfpp/mempool.cpp => src/server/shared/Config/dotconfpp/mempool.cpp
rename : src/shared/Config/dotconfpp/mempool.h => src/server/shared/Config/dotconfpp/mempool.h
rename : src/shared/Database/CMakeLists.txt => src/server/shared/Database/CMakeLists.txt
rename : src/shared/Database/DBCFileLoader.cpp => src/server/shared/Database/DBCFileLoader.cpp
rename : src/shared/Database/DBCFileLoader.h => src/server/shared/Database/DBCFileLoader.h
rename : src/shared/Database/DBCStore.h => src/server/shared/Database/DBCStore.h
rename : src/shared/Database/Database.cpp => src/server/shared/Database/Database.cpp
rename : src/shared/Database/Database.h => src/server/shared/Database/Database.h
rename : src/shared/Database/DatabaseEnv.h => src/server/shared/Database/DatabaseEnv.h
rename : src/shared/Database/DatabaseImpl.h => src/server/shared/Database/DatabaseImpl.h
rename : src/shared/Database/Field.cpp => src/server/shared/Database/Field.cpp
rename : src/shared/Database/Field.h => src/server/shared/Database/Field.h
rename : src/shared/Database/QueryResult.cpp => src/server/shared/Database/QueryResult.cpp
rename : src/shared/Database/QueryResult.h => src/server/shared/Database/QueryResult.h
rename : src/shared/Database/SQLStorage.cpp => src/server/shared/Database/SQLStorage.cpp
rename : src/shared/Database/SQLStorage.h => src/server/shared/Database/SQLStorage.h
rename : src/shared/Database/SQLStorageImpl.h => src/server/shared/Database/SQLStorageImpl.h
rename : src/shared/Database/SqlDelayThread.cpp => src/server/shared/Database/SqlDelayThread.cpp
rename : src/shared/Database/SqlDelayThread.h => src/server/shared/Database/SqlDelayThread.h
rename : src/shared/Database/SqlOperations.cpp => src/server/shared/Database/SqlOperations.cpp
rename : src/shared/Database/SqlOperations.h => src/server/shared/Database/SqlOperations.h
rename : src/shared/DelayExecutor.cpp => src/server/shared/DelayExecutor.cpp
rename : src/shared/DelayExecutor.h => src/server/shared/DelayExecutor.h
rename : src/shared/Errors.h => src/server/shared/Errors.h
rename : src/shared/LockedQueue.h => src/server/shared/LockedQueue.h
rename : src/shared/Log.cpp => src/server/shared/Log.cpp
rename : src/shared/Log.h => src/server/shared/Log.h
rename : src/shared/MemoryLeaks.cpp => src/server/shared/MemoryLeaks.cpp
rename : src/shared/MemoryLeaks.h => src/server/shared/MemoryLeaks.h
rename : src/shared/PacketLog.cpp => src/server/shared/PacketLog.cpp
rename : src/shared/PacketLog.h => src/server/shared/PacketLog.h
rename : src/shared/ProgressBar.cpp => src/server/shared/ProgressBar.cpp
rename : src/shared/ProgressBar.h => src/server/shared/ProgressBar.h
rename : src/shared/ServiceWin32.cpp => src/server/shared/ServiceWin32.cpp
rename : src/shared/ServiceWin32.h => src/server/shared/ServiceWin32.h
rename : src/shared/SignalHandler.h => src/server/shared/SignalHandler.h
rename : src/shared/SystemConfig.h => src/server/shared/SystemConfig.h
rename : src/shared/Threading.cpp => src/server/shared/Threading.cpp
rename : src/shared/Threading.h => src/server/shared/Threading.h
rename : src/shared/Timer.h => src/server/shared/Timer.h
rename : src/shared/Util.cpp => src/server/shared/Util.cpp
rename : src/shared/Util.h => src/server/shared/Util.h
rename : src/shared/WheatyExceptionReport.cpp => src/server/shared/WheatyExceptionReport.cpp
rename : src/shared/WheatyExceptionReport.h => src/server/shared/WheatyExceptionReport.h
rename : src/shared/WorldPacket.h => src/server/shared/WorldPacket.h
rename : src/shared/vmap/BIH.cpp => src/server/shared/vmap/BIH.cpp
rename : src/shared/vmap/BIH.h => src/server/shared/vmap/BIH.h
rename : src/shared/vmap/CMakeLists.txt => src/server/shared/vmap/CMakeLists.txt
rename : src/shared/vmap/IVMapManager.h => src/server/shared/vmap/IVMapManager.h
rename : src/shared/vmap/MapTree.cpp => src/server/shared/vmap/MapTree.cpp
rename : src/shared/vmap/MapTree.h => src/server/shared/vmap/MapTree.h
rename : src/shared/vmap/ModelInstance.cpp => src/server/shared/vmap/ModelInstance.cpp
rename : src/shared/vmap/ModelInstance.h => src/server/shared/vmap/ModelInstance.h
rename : src/shared/vmap/TileAssembler.cpp => src/server/shared/vmap/TileAssembler.cpp
rename : src/shared/vmap/TileAssembler.h => src/server/shared/vmap/TileAssembler.h
rename : src/shared/vmap/VMapDefinitions.h => src/server/shared/vmap/VMapDefinitions.h
rename : src/shared/vmap/VMapFactory.cpp => src/server/shared/vmap/VMapFactory.cpp
rename : src/shared/vmap/VMapFactory.h => src/server/shared/vmap/VMapFactory.h
rename : src/shared/vmap/VMapManager2.cpp => src/server/shared/vmap/VMapManager2.cpp
rename : src/shared/vmap/VMapManager2.h => src/server/shared/vmap/VMapManager2.h
rename : src/shared/vmap/VMapTools.h => src/server/shared/vmap/VMapTools.h
rename : src/shared/vmap/WorldModel.cpp => src/server/shared/vmap/WorldModel.cpp
rename : src/shared/vmap/WorldModel.h => src/server/shared/vmap/WorldModel.h
rename : src/trinitycore/CMakeLists.txt => src/server/trinitycore/CMakeLists.txt
rename : src/trinitycore/CliRunnable.cpp => src/server/trinitycore/CliRunnable.cpp
rename : src/trinitycore/CliRunnable.h => src/server/trinitycore/CliRunnable.h
rename : src/trinitycore/Main.cpp => src/server/trinitycore/Main.cpp
rename : src/trinitycore/Master.cpp => src/server/trinitycore/Master.cpp
rename : src/trinitycore/Master.h => src/server/trinitycore/Master.h
rename : src/trinitycore/RASocket.cpp => src/server/trinitycore/RASocket.cpp
rename : src/trinitycore/RASocket.h => src/server/trinitycore/RASocket.h
rename : src/trinitycore/TrinityCore.ico => src/server/trinitycore/TrinityCore.ico
rename : src/trinitycore/TrinityCore.rc => src/server/trinitycore/TrinityCore.rc
rename : src/trinitycore/WorldRunnable.cpp => src/server/trinitycore/WorldRunnable.cpp
rename : src/trinitycore/WorldRunnable.h => src/server/trinitycore/WorldRunnable.h
rename : src/trinitycore/resource.h => src/server/trinitycore/resource.h
rename : src/trinitycore/trinitycore.conf.dist => src/server/trinitycore/trinitycore.conf.dist
rename : src/trinityrealm/AuthCodes.cpp => src/server/trinityrealm/AuthCodes.cpp
rename : src/trinityrealm/AuthCodes.h => src/server/trinityrealm/AuthCodes.h
rename : src/trinityrealm/AuthSocket.cpp => src/server/trinityrealm/AuthSocket.cpp
rename : src/trinityrealm/AuthSocket.h => src/server/trinityrealm/AuthSocket.h
rename : src/trinityrealm/CMakeLists.txt => src/server/trinityrealm/CMakeLists.txt
rename : src/trinityrealm/Main.cpp => src/server/trinityrealm/Main.cpp
rename : src/trinityrealm/RealmAcceptor.h => src/server/trinityrealm/RealmAcceptor.h
rename : src/trinityrealm/RealmList.cpp => src/server/trinityrealm/RealmList.cpp
rename : src/trinityrealm/RealmList.h => src/server/trinityrealm/RealmList.h
rename : src/trinityrealm/RealmSocket.cpp => src/server/trinityrealm/RealmSocket.cpp
rename : src/trinityrealm/RealmSocket.h => src/server/trinityrealm/RealmSocket.h
rename : src/trinityrealm/TrinityRealm.ico => src/server/trinityrealm/TrinityRealm.ico
rename : src/trinityrealm/TrinityRealm.rc => src/server/trinityrealm/TrinityRealm.rc
rename : src/trinityrealm/resource.h => src/server/trinityrealm/resource.h
rename : src/trinityrealm/trinityrealm.conf.dist => src/server/trinityrealm/trinityrealm.conf.dist
Diffstat (limited to 'src/game/Creature.cpp')
| -rw-r--r-- | src/game/Creature.cpp | 2423 |
1 files changed, 0 insertions, 2423 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp deleted file mode 100644 index fbfae17a48b..00000000000 --- a/src/game/Creature.cpp +++ /dev/null @@ -1,2423 +0,0 @@ -/* - * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> - * - * Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "Common.h" -#include "Database/DatabaseEnv.h" -#include "WorldPacket.h" -#include "World.h" -#include "ObjectMgr.h" -#include "SpellMgr.h" -#include "Creature.h" -#include "QuestDef.h" -#include "GossipDef.h" -#include "Player.h" -#include "PoolHandler.h" -#include "Opcodes.h" -#include "Log.h" -#include "LootMgr.h" -#include "MapManager.h" -#include "CreatureAI.h" -#include "CreatureAISelector.h" -#include "Formulas.h" -#include "WaypointMovementGenerator.h" -#include "InstanceData.h" -#include "BattleGroundMgr.h" -#include "Util.h" -#include "GridNotifiers.h" -#include "GridNotifiersImpl.h" -#include "CellImpl.h" -#include "OutdoorPvPMgr.h" -#include "GameEventMgr.h" -#include "CreatureGroups.h" -#include "Vehicle.h" -#include "SpellAuraEffects.h" -// apply implementation of the singletons -#include "Policies/SingletonImp.h" - -TrainerSpell const* TrainerSpellData::Find(uint32 spell_id) const -{ - TrainerSpellMap::const_iterator itr = spellList.find(spell_id); - if (itr != spellList.end()) - return &itr->second; - - return NULL; -} - -bool VendorItemData::RemoveItem(uint32 item_id) -{ - bool found = false; - for (VendorItemList::iterator i = m_items.begin(); i != m_items.end();) - { - if ((*i)->item == item_id) - { - i = m_items.erase(i++); - found = true; - } - else - ++i; - } - return found; -} - -VendorItem const* VendorItemData::FindItemCostPair(uint32 item_id, uint32 extendedCost) const -{ - for (VendorItemList::const_iterator i = m_items.begin(); i != m_items.end(); ++i) - if((*i)->item == item_id && (*i)->ExtendedCost == extendedCost) - return *i; - return NULL; -} - -uint32 CreatureInfo::GetRandomValidModelId() const -{ - uint8 c = 0; - uint32 modelIDs[4]; - - if (Modelid1) modelIDs[c++] = Modelid1; - if (Modelid2) modelIDs[c++] = Modelid2; - if (Modelid3) modelIDs[c++] = Modelid3; - if (Modelid4) modelIDs[c++] = Modelid4; - - return ((c>0) ? modelIDs[urand(0,c-1)] : 0); -} - -uint32 CreatureInfo::GetFirstValidModelId() const -{ - if (Modelid1) return Modelid1; - if (Modelid2) return Modelid2; - if (Modelid3) return Modelid3; - if (Modelid4) return Modelid4; - return 0; -} - -bool AssistDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/) -{ - if (Unit* victim = Unit::GetUnit(m_owner, m_victim)) - { - while (!m_assistants.empty()) - { - Creature* assistant = Unit::GetCreature(m_owner, *m_assistants.begin()); - m_assistants.pop_front(); - - if (assistant && assistant->CanAssistTo(&m_owner, victim)) - { - assistant->SetNoCallAssistance(true); - assistant->CombatStart(victim); - if (assistant->IsAIEnabled) - assistant->AI()->AttackStart(victim); - } - } - } - return true; -} - -CreatureBaseStats const* CreatureBaseStats::GetBaseStats(uint8 level, uint8 unitClass) -{ - return objmgr.GetCreatureBaseStats(level, unitClass); -} - -bool ForcedDespawnDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/) -{ - m_owner.ForcedDespawn(); - return true; -} - -Creature::Creature() : -Unit(), -lootForPickPocketed(false), lootForBody(false), m_groupLootTimer(0), lootingGroupGUID(0), -m_lootMoney(0), m_lootRecipient(0), -m_deathTimer(0), m_respawnTime(0), m_respawnDelay(300), m_corpseDelay(60), m_respawnradius(0.0f), -m_defaultMovementType(IDLE_MOTION_TYPE), m_DBTableGuid(0), m_equipmentId(0), m_AlreadyCallAssistance(false), -m_regenHealth(true), m_AI_locked(false), m_isDeadByDefault(false), m_meleeDamageSchoolMask(SPELL_SCHOOL_MASK_NORMAL), -m_creatureInfo(NULL), m_reactState(REACT_AGGRESSIVE), m_formation(NULL) -, m_AlreadySearchedAssistance(false) -, m_creatureData(NULL), m_PlayerDamageReq(0) -{ - m_regenTimer = CREATURE_REGEN_INTERVAL; - m_valuesCount = UNIT_END; - - for (uint8 i = 0; i < CREATURE_MAX_SPELLS; ++i) - m_spells[i] = 0; - - m_CreatureSpellCooldowns.clear(); - m_CreatureCategoryCooldowns.clear(); - m_GlobalCooldown = 0; - DisableReputationGain = false; - //m_unit_movement_flags = MONSTER_MOVE_WALK; - - m_SightDistance = sWorld.getConfig(CONFIG_SIGHT_MONSTER); - m_CombatDistance = 0;//MELEE_RANGE; - - ResetLootMode(); // restore default loot mode -} - -Creature::~Creature() -{ - m_vendorItemCounts.clear(); - - if (i_AI) - { - delete i_AI; - i_AI = NULL; - } - - //if (m_uint32Values) - // sLog.outError("Deconstruct Creature Entry = %u", GetEntry()); -} - -void Creature::AddToWorld() -{ - ///- Register the creature for guid lookup - if (!IsInWorld()) - { - if (m_zoneScript) - m_zoneScript->OnCreatureCreate(this, true); - ObjectAccessor::Instance().AddObject(this); - Unit::AddToWorld(); - SearchFormation(); - AIM_Initialize(); - if (IsVehicle()) - GetVehicleKit()->Install(); - } -} - -void Creature::RemoveFromWorld() -{ - if (IsInWorld()) - { - if (m_zoneScript) - m_zoneScript->OnCreatureCreate(this, false); - if (m_formation) - formation_mgr.RemoveCreatureFromGroup(m_formation, this); - Unit::RemoveFromWorld(); - ObjectAccessor::Instance().RemoveObject(this); - } -} - -void Creature::DisappearAndDie() -{ - DestroyForNearbyPlayers(); - //SetVisibility(VISIBILITY_OFF); - //ObjectAccessor::UpdateObjectVisibility(this); - if (isAlive()) - setDeathState(JUST_DIED); - RemoveCorpse(); -} - -void Creature::SearchFormation() -{ - if (isSummon()) - return; - - uint32 lowguid = GetDBTableGUIDLow(); - if (!lowguid) - return; - - CreatureGroupInfoType::iterator frmdata = CreatureGroupMap.find(lowguid); - if (frmdata != CreatureGroupMap.end()) - formation_mgr.AddCreatureToGroup(frmdata->second->leaderGUID, this); -} - -void Creature::RemoveCorpse() -{ - if ((getDeathState() != CORPSE && !m_isDeadByDefault) || (getDeathState() != ALIVE && m_isDeadByDefault)) - return; - - m_deathTimer = 0; - setDeathState(DEAD); - UpdateObjectVisibility(); - loot.clear(); - uint32 respawnDelay = m_respawnDelay; - if (IsAIEnabled) - AI()->CorpseRemoved(respawnDelay); - - m_respawnTime = time(NULL) + m_respawnDelay; - - float x,y,z,o; - GetRespawnCoord(x, y, z, &o); - SetHomePosition(x,y,z,o); - GetMap()->CreatureRelocation(this,x,y,z,o); -} - -/** - * change the entry of creature until respawn - */ -bool Creature::InitEntry(uint32 Entry, uint32 /*team*/, const CreatureData *data) -{ - CreatureInfo const *normalInfo = objmgr.GetCreatureTemplate(Entry); - if (!normalInfo) - { - sLog.outErrorDb("Creature::UpdateEntry creature entry %u does not exist.", Entry); - return false; - } - - // get difficulty 1 mode entry - uint32 actualEntry = Entry; - CreatureInfo const *cinfo = normalInfo; - // TODO correctly implement spawnmodes for non-bg maps - for (uint32 diff = 0; diff < MAX_DIFFICULTY - 1; ++diff) - { - if (normalInfo->DifficultyEntry[diff]) - { - // we already have valid Map pointer for current creature! - if (GetMap()->GetSpawnMode() > diff) - { - cinfo = objmgr.GetCreatureTemplate(normalInfo->DifficultyEntry[diff]); - if (!cinfo) - { - // maybe check such things already at startup - sLog.outErrorDb("Creature::UpdateEntry creature difficulty %u entry %u does not exist.", diff + 1, actualEntry); - return false; - } - } - } - } - - SetEntry(Entry); // normal entry always - m_creatureInfo = cinfo; // map mode related always - - // equal to player Race field, but creature does not have race - SetByteValue(UNIT_FIELD_BYTES_0, 0, 0); - - // known valid are: CLASS_WARRIOR,CLASS_PALADIN,CLASS_ROGUE,CLASS_MAGE - SetByteValue(UNIT_FIELD_BYTES_0, 1, uint8(cinfo->unit_class)); - - // Cancel load if no model defined - if (!(cinfo->GetFirstValidModelId())) - { - sLog.outErrorDb("Creature (Entry: %u) has no model defined in table `creature_template`, can't load. ",Entry); - return false; - } - - uint32 display_id = objmgr.ChooseDisplayId(0, GetCreatureInfo(), data); - CreatureModelInfo const *minfo = objmgr.GetCreatureModelRandomGender(display_id); - if (!minfo) // Cancel load if no model defined - { - sLog.outErrorDb("Creature (Entry: %u) has no model defined in table `creature_template`, can't load. ",Entry); - return false; - } - - display_id = minfo->modelid; // it can be different (for another gender) - - SetDisplayId(display_id); - SetNativeDisplayId(display_id); - SetByteValue(UNIT_FIELD_BYTES_0, 2, minfo->gender); - - // Load creature equipment - if (!data || data->equipmentId == 0) - { // use default from the template - LoadEquipment(cinfo->equipmentId); - } - else if (data && data->equipmentId != -1) - { // override, -1 means no equipment - LoadEquipment(data->equipmentId); - } - - SetName(normalInfo->Name); // at normal entry always - - SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS,minfo->bounding_radius); - SetFloatValue(UNIT_FIELD_COMBATREACH,minfo->combat_reach); - - SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f); - - SetSpeed(MOVE_WALK, cinfo->speed_walk); - SetSpeed(MOVE_RUN, cinfo->speed_run); - SetSpeed(MOVE_SWIM, 1.0f); // using 1.0 rate - SetSpeed(MOVE_FLIGHT, 1.0f); // using 1.0 rate - - SetFloatValue(OBJECT_FIELD_SCALE_X, cinfo->scale); - - // checked at loading - m_defaultMovementType = MovementGeneratorType(cinfo->MovementType); - if (!m_respawnradius && m_defaultMovementType == RANDOM_MOTION_TYPE) - m_defaultMovementType = IDLE_MOTION_TYPE; - - for (uint8 i=0; i < CREATURE_MAX_SPELLS; ++i) - m_spells[i] = GetCreatureInfo()->spells[i]; - - return true; -} - -bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData *data) -{ - if (!InitEntry(Entry,team,data)) - return false; - - CreatureInfo const* cInfo = GetCreatureInfo(); - - m_regenHealth = cInfo->RegenHealth; - - // creatures always have melee weapon ready if any - SetSheath(SHEATH_STATE_MELEE); - - SelectLevel(GetCreatureInfo()); - if (team == HORDE) - setFaction(cInfo->faction_H); - else - setFaction(cInfo->faction_A); - - if (cInfo->flags_extra & CREATURE_FLAG_EXTRA_WORLDEVENT) - SetUInt32Value(UNIT_NPC_FLAGS,cInfo->npcflag | gameeventmgr.GetNPCFlag(this)); - else - SetUInt32Value(UNIT_NPC_FLAGS,cInfo->npcflag); - - SetAttackTime(BASE_ATTACK, cInfo->baseattacktime); - SetAttackTime(OFF_ATTACK, cInfo->baseattacktime); - SetAttackTime(RANGED_ATTACK,cInfo->rangeattacktime); - - SetUInt32Value(UNIT_FIELD_FLAGS,cInfo->unit_flags); - SetUInt32Value(UNIT_DYNAMIC_FLAGS,cInfo->dynamicflags); - - RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); - - SetMeleeDamageSchool(SpellSchools(cInfo->dmgschool)); - CreatureBaseStats const* stats = objmgr.GetCreatureBaseStats(getLevel(), cInfo->unit_class); - float armor = stats->GenerateArmor(cInfo); // TODO: Why is this treated as uint32 when it's a float? - SetModifierValue(UNIT_MOD_ARMOR, BASE_VALUE, armor); - SetModifierValue(UNIT_MOD_RESISTANCE_HOLY, BASE_VALUE, float(cInfo->resistance1)); - SetModifierValue(UNIT_MOD_RESISTANCE_FIRE, BASE_VALUE, float(cInfo->resistance2)); - SetModifierValue(UNIT_MOD_RESISTANCE_NATURE, BASE_VALUE, float(cInfo->resistance3)); - SetModifierValue(UNIT_MOD_RESISTANCE_FROST, BASE_VALUE, float(cInfo->resistance4)); - SetModifierValue(UNIT_MOD_RESISTANCE_SHADOW, BASE_VALUE, float(cInfo->resistance5)); - SetModifierValue(UNIT_MOD_RESISTANCE_ARCANE, BASE_VALUE, float(cInfo->resistance6)); - - SetCanModifyStats(true); - UpdateAllStats(); - - // checked and error show at loading templates - if (FactionTemplateEntry const* factionTemplate = sFactionTemplateStore.LookupEntry(cInfo->faction_A)) - { - if (factionTemplate->factionFlags & FACTION_TEMPLATE_FLAG_PVP) - SetPvP(true); - else - SetPvP(false); - } - - // trigger creature is always not selectable and can not be attacked - if (isTrigger()) - SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - - if (isTotem() || isTrigger() - || GetCreatureType() == CREATURE_TYPE_CRITTER) - SetReactState(REACT_PASSIVE); - /*else if (isCivilian()) - SetReactState(REACT_DEFENSIVE);*/ - else - SetReactState(REACT_AGGRESSIVE); - - if (cInfo->flags_extra & CREATURE_FLAG_EXTRA_NO_TAUNT) - { - ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); - ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); - } - - // TODO: In fact monster move flags should be set - not movement flags. - if (cInfo->InhabitType & INHABIT_AIR) - AddUnitMovementFlag(MOVEMENTFLAG_FLY_MODE | MOVEMENTFLAG_FLYING); - - if (cInfo->InhabitType & INHABIT_WATER) - AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING); - - return true; -} - -void Creature::Update(uint32 diff) -{ - if (m_GlobalCooldown <= diff) - m_GlobalCooldown = 0; - else - m_GlobalCooldown -= diff; - - switch(m_deathState) - { - case JUST_ALIVED: - // Don't must be called, see Creature::setDeathState JUST_ALIVED -> ALIVE promoting. - sLog.outError("Creature (GUID: %u Entry: %u) in wrong state: JUST_ALIVED (4)",GetGUIDLow(),GetEntry()); - break; - case JUST_DIED: - // Don't must be called, see Creature::setDeathState JUST_DIED -> CORPSE promoting. - sLog.outError("Creature (GUID: %u Entry: %u) in wrong state: JUST_DEAD (1)",GetGUIDLow(),GetEntry()); - break; - case DEAD: - { - if (m_respawnTime <= time(NULL)) - { - if (!GetLinkedCreatureRespawnTime()) // Can respawn - Respawn(); - else // the master is dead - { - if (uint32 targetGuid = objmgr.GetLinkedRespawnGuid(m_DBTableGuid)) - { - if (targetGuid == m_DBTableGuid) // if linking self, never respawn (check delayed to next day) - SetRespawnTime(DAY); - else - m_respawnTime = (time(NULL)>GetLinkedCreatureRespawnTime()? time(NULL):GetLinkedCreatureRespawnTime())+urand(5,MINUTE); // else copy time from master and add a little - SaveRespawnTime(); // also save to DB immediately - } - else - Respawn(); - } - } - break; - } - case CORPSE: - { - if (m_isDeadByDefault) - break; - - if (m_groupLootTimer && lootingGroupGUID) - { - // for delayed spells - m_Events.Update(diff); - - if (m_groupLootTimer <= diff) - { - Group* group = objmgr.GetGroupByGUID(lootingGroupGUID); - if (group) - group->EndRoll(&loot); - m_groupLootTimer = 0; - lootingGroupGUID = 0; - } - else m_groupLootTimer -= diff; - } - else if (m_deathTimer <= diff) - { - RemoveCorpse(); - DEBUG_LOG("Removing corpse... %u ", GetUInt32Value(OBJECT_FIELD_ENTRY)); - } - else - { - // for delayed spells - m_Events.Update(diff); - m_deathTimer -= diff; - } - - break; - } - case ALIVE: - { - if (m_isDeadByDefault) - { - if (m_deathTimer <= diff) - { - RemoveCorpse(); - DEBUG_LOG("Removing alive corpse... %u ", GetUInt32Value(OBJECT_FIELD_ENTRY)); - } - else - { - m_deathTimer -= diff; - } - } - - Unit::Update(diff); - - // creature can be dead after Unit::Update call - // CORPSE/DEAD state will processed at next tick (in other case death timer will be updated unexpectedly) - if (!isAlive()) - break; - - // if creature is charmed, switch to charmed AI - if (NeedChangeAI) - { - UpdateCharmAI(); - NeedChangeAI = false; - IsAIEnabled = true; - } - - if (!IsInEvadeMode() && IsAIEnabled) - { - // do not allow the AI to be changed during update - m_AI_locked = true; - i_AI->UpdateAI(diff); - m_AI_locked = false; - } - - // creature can be dead after UpdateAI call - // CORPSE/DEAD state will processed at next tick (in other case death timer will be updated unexpectedly) - if (!isAlive()) - break; - - if (m_regenTimer > 0) - { - if (diff >= m_regenTimer) - m_regenTimer = 0; - else - m_regenTimer -= diff; - } - - if (m_regenTimer != 0) - break; - - bool bIsPolymorphed = IsPolymorphed(); - bool bInCombat = isInCombat() && (!getVictim() || // if isInCombat() is true and this has no victim - !getVictim()->GetCharmerOrOwnerPlayerOrPlayerItself() || // or the victim/owner/charmer is not a player - !getVictim()->GetCharmerOrOwnerPlayerOrPlayerItself()->isGameMaster()); // or the victim/owner/charmer is not a GameMaster - - /*if (m_regenTimer <= diff) - {*/ - if (!bInCombat || bIsPolymorphed) // regenerate health if not in combat or if polymorphed - RegenerateHealth(); - - if (getPowerType() == POWER_ENERGY) - { - if (!IsVehicle() || GetVehicleKit()->GetVehicleInfo()->m_powerType != POWER_PYRITE) - Regenerate(POWER_ENERGY); - } - else - RegenerateMana(); - - /*if (!bIsPolymorphed) // only increase the timer if not polymorphed - m_regenTimer += CREATURE_REGEN_INTERVAL - diff; - } - else - if (!bIsPolymorphed) // if polymorphed, skip the timer - m_regenTimer -= diff;*/ - m_regenTimer = CREATURE_REGEN_INTERVAL; - break; - } - case DEAD_FALLING: - GetMotionMaster()->UpdateMotion(diff); - break; - default: - break; - } -} - -void Creature::RegenerateMana() -{ - uint32 curValue = GetPower(POWER_MANA); - uint32 maxValue = GetMaxPower(POWER_MANA); - - if (curValue >= maxValue) - return; - - uint32 addvalue = 0; - - // Combat and any controlled creature - if (isInCombat() || GetCharmerOrOwnerGUID()) - { - if (!IsUnderLastManaUseEffect()) - { - float ManaIncreaseRate = sWorld.getRate(RATE_POWER_MANA); - float Spirit = GetStat(STAT_SPIRIT); - - addvalue = uint32((Spirit/5.0f + 17.0f) * ManaIncreaseRate); - } - } - else - addvalue = maxValue/3; - - // Apply modifiers (if any). - AuraEffectList const& ModPowerRegenPCTAuras = GetAuraEffectsByType(SPELL_AURA_MOD_POWER_REGEN_PERCENT); - for (AuraEffectList::const_iterator i = ModPowerRegenPCTAuras.begin(); i != ModPowerRegenPCTAuras.end(); ++i) - if ((*i)->GetMiscValue() == POWER_MANA) - addvalue *= ((*i)->GetAmount() + 100) / 100.0f; - - addvalue += GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_POWER_REGEN, POWER_MANA) * CREATURE_REGEN_INTERVAL / (5 * IN_MILISECONDS); - - ModifyPower(POWER_MANA, addvalue); -} - -void Creature::RegenerateHealth() -{ - if (!isRegeneratingHealth()) - return; - - uint32 curValue = GetHealth(); - uint32 maxValue = GetMaxHealth(); - - if (curValue >= maxValue) - return; - - uint32 addvalue = 0; - - // Not only pet, but any controlled creature - if (GetCharmerOrOwnerGUID()) - { - float HealthIncreaseRate = sWorld.getRate(RATE_HEALTH); - float Spirit = GetStat(STAT_SPIRIT); - - if (GetPower(POWER_MANA) > 0) - addvalue = uint32(Spirit * 0.25 * HealthIncreaseRate); - else - addvalue = uint32(Spirit * 0.80 * HealthIncreaseRate); - } - else - addvalue = maxValue/3; - - // Apply modifiers (if any). - AuraEffectList const& ModPowerRegenPCTAuras = GetAuraEffectsByType(SPELL_AURA_MOD_HEALTH_REGEN_PERCENT); - for (AuraEffectList::const_iterator i = ModPowerRegenPCTAuras.begin(); i != ModPowerRegenPCTAuras.end(); ++i) - addvalue *= ((*i)->GetAmount() + 100) / 100.0f; - - addvalue += GetTotalAuraModifier(SPELL_AURA_MOD_REGEN) * CREATURE_REGEN_INTERVAL / (5 * IN_MILISECONDS); - - ModifyHealth(addvalue); -} - -void Creature::DoFleeToGetAssistance() -{ - if (!getVictim()) - return; - - if (HasAuraType(SPELL_AURA_PREVENTS_FLEEING)) - return; - - float radius = sWorld.getConfig(CONFIG_CREATURE_FAMILY_FLEE_ASSISTANCE_RADIUS); - if (radius >0) - { - Creature* pCreature = NULL; - - CellPair p(Trinity::ComputeCellPair(GetPositionX(), GetPositionY())); - Cell cell(p); - cell.data.Part.reserved = ALL_DISTRICT; - cell.SetNoCreate(); - Trinity::NearestAssistCreatureInCreatureRangeCheck u_check(this, getVictim(), radius); - Trinity::CreatureLastSearcher<Trinity::NearestAssistCreatureInCreatureRangeCheck> searcher(this, pCreature, u_check); - - TypeContainerVisitor<Trinity::CreatureLastSearcher<Trinity::NearestAssistCreatureInCreatureRangeCheck>, GridTypeMapContainer > grid_creature_searcher(searcher); - - cell.Visit(p, grid_creature_searcher, *GetMap(), *this, radius); - - SetNoSearchAssistance(true); - UpdateSpeed(MOVE_RUN, false); - - if (!pCreature) - //SetFeared(true, getVictim()->GetGUID(), 0 ,sWorld.getConfig(CONFIG_CREATURE_FAMILY_FLEE_DELAY)); - //TODO: use 31365 - SetControlled(true, UNIT_STAT_FLEEING); - else - GetMotionMaster()->MoveSeekAssistance(pCreature->GetPositionX(), pCreature->GetPositionY(), pCreature->GetPositionZ()); - } -} - -bool Creature::AIM_Initialize(CreatureAI* ai) -{ - // make sure nothing can change the AI during AI update - if (m_AI_locked) - { - sLog.outDebug("AIM_Initialize: failed to init, locked."); - return false; - } - - UnitAI *oldAI = i_AI; - - Motion_Initialize(); - - i_AI = ai ? ai : FactorySelector::selectAI(this); - if (oldAI) delete oldAI; - IsAIEnabled = true; - i_AI->InitializeAI(); - return true; -} - -void Creature::Motion_Initialize() -{ - if (!m_formation) - i_motionMaster.Initialize(); - else if (m_formation->getLeader() == this) - { - m_formation->FormationReset(false); - i_motionMaster.Initialize(); - } - else if (m_formation->isFormed()) - i_motionMaster.MoveIdle(MOTION_SLOT_IDLE); //wait the order of leader - else - i_motionMaster.Initialize(); -} - -bool Creature::Create(uint32 guidlow, Map *map, uint32 phaseMask, uint32 Entry, uint32 vehId, uint32 team, float x, float y, float z, float ang, const CreatureData *data) -{ - ASSERT(map); - SetMap(map); - SetPhaseMask(phaseMask,false); - - Relocate(x, y, z, ang); - - if (!IsPositionValid()) - { - sLog.outError("Creature (guidlow %d, entry %d) not loaded. Suggested coordinates isn't valid (X: %f Y: %f)",guidlow,Entry,x,y); - return false; - } - - //oX = x; oY = y; dX = x; dY = y; m_moveTime = 0; m_startMove = 0; - const bool bResult = CreateFromProto(guidlow, Entry, vehId, team, data); - - if (bResult) - { - switch (GetCreatureInfo()->rank) - { - case CREATURE_ELITE_RARE: - m_corpseDelay = sWorld.getConfig(CONFIG_CORPSE_DECAY_RARE); - break; - case CREATURE_ELITE_ELITE: - m_corpseDelay = sWorld.getConfig(CONFIG_CORPSE_DECAY_ELITE); - break; - case CREATURE_ELITE_RAREELITE: - m_corpseDelay = sWorld.getConfig(CONFIG_CORPSE_DECAY_RAREELITE); - break; - case CREATURE_ELITE_WORLDBOSS: - m_corpseDelay = sWorld.getConfig(CONFIG_CORPSE_DECAY_WORLDBOSS); - break; - default: - m_corpseDelay = sWorld.getConfig(CONFIG_CORPSE_DECAY_NORMAL); - break; - } - LoadCreaturesAddon(); - CreatureModelInfo const *minfo = objmgr.GetCreatureModelRandomGender(GetNativeDisplayId()); - if (minfo && !isTotem()) // Cancel load if no model defined or if totem - { - uint32 display_id = minfo->modelid; // it can be different (for another gender) - - SetDisplayId(display_id); - SetNativeDisplayId(display_id); - SetByteValue(UNIT_FIELD_BYTES_0, 2, minfo->gender); - } - - if (GetCreatureInfo()->InhabitType & INHABIT_AIR) - { - if (GetDefaultMovementType() == IDLE_MOTION_TYPE) - AddUnitMovementFlag(MOVEMENTFLAG_FLY_MODE); - else - SetFlying(true); - } - - if (GetCreatureInfo()->InhabitType & INHABIT_WATER) - { - AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING); - } - LastUsedScriptID = GetCreatureInfo()->ScriptID; - } - - return bResult; -} - -bool Creature::isCanTrainingOf(Player* pPlayer, bool msg) const -{ - if (!isTrainer()) - return false; - - TrainerSpellData const* trainer_spells = GetTrainerSpells(); - - if ((!trainer_spells || trainer_spells->spellList.empty()) && GetCreatureInfo()->trainer_type != TRAINER_TYPE_PETS) - { - sLog.outErrorDb("Creature %u (Entry: %u) have UNIT_NPC_FLAG_TRAINER but have empty trainer spell list.", - GetGUIDLow(),GetEntry()); - return false; - } - - switch(GetCreatureInfo()->trainer_type) - { - case TRAINER_TYPE_CLASS: - if (pPlayer->getClass() != GetCreatureInfo()->trainer_class) - { - if (msg) - { - pPlayer->PlayerTalkClass->ClearMenus(); - switch(GetCreatureInfo()->trainer_class) - { - case CLASS_DRUID: pPlayer->PlayerTalkClass->SendGossipMenu(4913,GetGUID()); break; - case CLASS_HUNTER: pPlayer->PlayerTalkClass->SendGossipMenu(10090,GetGUID()); break; - case CLASS_MAGE: pPlayer->PlayerTalkClass->SendGossipMenu(328,GetGUID()); break; - case CLASS_PALADIN:pPlayer->PlayerTalkClass->SendGossipMenu(1635,GetGUID()); break; - case CLASS_PRIEST: pPlayer->PlayerTalkClass->SendGossipMenu(4436,GetGUID()); break; - case CLASS_ROGUE: pPlayer->PlayerTalkClass->SendGossipMenu(4797,GetGUID()); break; - case CLASS_SHAMAN: pPlayer->PlayerTalkClass->SendGossipMenu(5003,GetGUID()); break; - case CLASS_WARLOCK:pPlayer->PlayerTalkClass->SendGossipMenu(5836,GetGUID()); break; - case CLASS_WARRIOR:pPlayer->PlayerTalkClass->SendGossipMenu(4985,GetGUID()); break; - } - } - return false; - } - break; - case TRAINER_TYPE_PETS: - if (pPlayer->getClass() != CLASS_HUNTER) - { - pPlayer->PlayerTalkClass->ClearMenus(); - pPlayer->PlayerTalkClass->SendGossipMenu(3620,GetGUID()); - return false; - } - break; - case TRAINER_TYPE_MOUNTS: - if (GetCreatureInfo()->trainer_race && pPlayer->getRace() != GetCreatureInfo()->trainer_race) - { - if (msg) - { - pPlayer->PlayerTalkClass->ClearMenus(); - switch(GetCreatureInfo()->trainer_class) - { - case RACE_DWARF: pPlayer->PlayerTalkClass->SendGossipMenu(5865,GetGUID()); break; - case RACE_GNOME: pPlayer->PlayerTalkClass->SendGossipMenu(4881,GetGUID()); break; - case RACE_HUMAN: pPlayer->PlayerTalkClass->SendGossipMenu(5861,GetGUID()); break; - case RACE_NIGHTELF: pPlayer->PlayerTalkClass->SendGossipMenu(5862,GetGUID()); break; - case RACE_ORC: pPlayer->PlayerTalkClass->SendGossipMenu(5863,GetGUID()); break; - case RACE_TAUREN: pPlayer->PlayerTalkClass->SendGossipMenu(5864,GetGUID()); break; - case RACE_TROLL: pPlayer->PlayerTalkClass->SendGossipMenu(5816,GetGUID()); break; - case RACE_UNDEAD_PLAYER:pPlayer->PlayerTalkClass->SendGossipMenu(624,GetGUID()); break; - case RACE_BLOODELF: pPlayer->PlayerTalkClass->SendGossipMenu(5862,GetGUID()); break; - case RACE_DRAENEI: pPlayer->PlayerTalkClass->SendGossipMenu(5864,GetGUID()); break; - } - } - return false; - } - break; - case TRAINER_TYPE_TRADESKILLS: - if (GetCreatureInfo()->trainer_spell && !pPlayer->HasSpell(GetCreatureInfo()->trainer_spell)) - { - if (msg) - { - pPlayer->PlayerTalkClass->ClearMenus(); - pPlayer->PlayerTalkClass->SendGossipMenu(11031,GetGUID()); - } - return false; - } - break; - default: - return false; // checked and error output at creature_template loading - } - return true; -} - -bool Creature::isCanInteractWithBattleMaster(Player* pPlayer, bool msg) const -{ - if (!isBattleMaster()) - return false; - - BattleGroundTypeId bgTypeId = sBattleGroundMgr.GetBattleMasterBG(GetEntry()); - if (!msg) - return pPlayer->GetBGAccessByLevel(bgTypeId); - - if (!pPlayer->GetBGAccessByLevel(bgTypeId)) - { - pPlayer->PlayerTalkClass->ClearMenus(); - switch(bgTypeId) - { - case BATTLEGROUND_AV: pPlayer->PlayerTalkClass->SendGossipMenu(7616,GetGUID()); break; - case BATTLEGROUND_WS: pPlayer->PlayerTalkClass->SendGossipMenu(7599,GetGUID()); break; - case BATTLEGROUND_AB: pPlayer->PlayerTalkClass->SendGossipMenu(7642,GetGUID()); break; - case BATTLEGROUND_EY: - case BATTLEGROUND_NA: - case BATTLEGROUND_BE: - case BATTLEGROUND_AA: - case BATTLEGROUND_RL: - case BATTLEGROUND_SA: - case BATTLEGROUND_DS: - case BATTLEGROUND_RV: pPlayer->PlayerTalkClass->SendGossipMenu(10024,GetGUID()); break; - default: break; - } - return false; - } - return true; -} - -bool Creature::isCanTrainingAndResetTalentsOf(Player* pPlayer) const -{ - return pPlayer->getLevel() >= 10 - && GetCreatureInfo()->trainer_type == TRAINER_TYPE_CLASS - && pPlayer->getClass() == GetCreatureInfo()->trainer_class; -} - -void Creature::AI_SendMoveToPacket(float x, float y, float z, uint32 time, uint32 /*MovementFlags*/, uint8 /*type*/) -{ - /* uint32 timeElap = getMSTime(); - if ((timeElap - m_startMove) < m_moveTime) - { - oX = (dX - oX) * ((timeElap - m_startMove) / m_moveTime); - oY = (dY - oY) * ((timeElap - m_startMove) / m_moveTime); - } - else - { - oX = dX; - oY = dY; - } - - dX = x; - dY = y; - m_orientation = atan2((oY - dY), (oX - dX)); - - m_startMove = getMSTime(); - m_moveTime = time;*/ - SendMonsterMove(x, y, z, time); -} - -Player *Creature::GetLootRecipient() const -{ - if (!m_lootRecipient) return NULL; - else return ObjectAccessor::FindPlayer(m_lootRecipient); -} - -void Creature::SetLootRecipient(Unit *unit) -{ - // set the player whose group should receive the right - // to loot the creature after it dies - // should be set to NULL after the loot disappears - - if (!unit) - { - m_lootRecipient = 0; - RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE|UNIT_DYNFLAG_TAPPED); - return; - } - - Player* player = unit->GetCharmerOrOwnerPlayerOrPlayerItself(); - if (!player) // normal creature, no player involved - return; - - m_lootRecipient = player->GetGUID(); - SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED); -} - -// return true if this creature is tapped by the player or by a member of his group. -bool Creature::isTappedBy(Player *player) const -{ - if (player->GetGUID() == m_lootRecipient) - return true; - - Player* recipient = GetLootRecipient(); - if (!recipient) - return false; // recipient exist but is offline. can't check any further. - - Group* recipientGroup = recipient->GetGroup(); - if (!recipientGroup) - return (player == recipient); - - Group* playerGroup = player->GetGroup(); - if (!playerGroup || playerGroup != recipientGroup) - return false; - - return true; -} - -void Creature::SaveToDB() -{ - // this should only be used when the creature has already been loaded - // preferably after adding to map, because mapid may not be valid otherwise - CreatureData const *data = objmgr.GetCreatureData(m_DBTableGuid); - if (!data) - { - sLog.outError("Creature::SaveToDB failed, cannot get creature data!"); - return; - } - - SaveToDB(GetMapId(), data->spawnMask,GetPhaseMask()); -} - -void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask) -{ - // update in loaded data - if (!m_DBTableGuid) - m_DBTableGuid = GetGUIDLow(); - CreatureData& data = objmgr.NewOrExistCreatureData(m_DBTableGuid); - - uint32 displayId = GetNativeDisplayId(); - - // check if it's a custom model and if not, use 0 for displayId - CreatureInfo const *cinfo = GetCreatureInfo(); - if (cinfo) - { - if (displayId == cinfo->Modelid1 || displayId == cinfo->Modelid2 || - displayId == cinfo->Modelid3 || displayId == cinfo->Modelid4) - displayId = 0; - } - - // data->guid = guid don't must be update at save - data.id = GetEntry(); - data.mapid = mapid; - data.phaseMask = phaseMask; - data.displayid = displayId; - data.equipmentId = GetEquipmentId(); - data.posX = GetPositionX(); - data.posY = GetPositionY(); - data.posZ = GetPositionZ(); - data.orientation = GetOrientation(); - data.spawntimesecs = m_respawnDelay; - // prevent add data integrity problems - data.spawndist = GetDefaultMovementType() == IDLE_MOTION_TYPE ? 0 : m_respawnradius; - data.currentwaypoint = 0; - data.curhealth = GetHealth(); - data.curmana = GetPower(POWER_MANA); - data.is_dead = m_isDeadByDefault; - // prevent add data integrity problems - data.movementType = !m_respawnradius && GetDefaultMovementType() == RANDOM_MOTION_TYPE - ? IDLE_MOTION_TYPE : GetDefaultMovementType(); - data.spawnMask = spawnMask; - - // updated in DB - WorldDatabase.BeginTransaction(); - - WorldDatabase.PExecuteLog("DELETE FROM creature WHERE guid = '%u'", m_DBTableGuid); - - std::ostringstream ss; - ss << "INSERT INTO creature VALUES (" - << m_DBTableGuid << "," - << GetEntry() << "," - << mapid <<"," - << uint32(spawnMask) << "," // cast to prevent save as symbol - << uint16(GetPhaseMask()) << "," // prevent out of range error - << displayId <<"," - << GetEquipmentId() <<"," - << GetPositionX() << "," - << GetPositionY() << "," - << GetPositionZ() << "," - << GetOrientation() << "," - << m_respawnDelay << "," //respawn time - << (float) m_respawnradius << "," //spawn distance (float) - << (uint32) (0) << "," //currentwaypoint - << GetHealth() << "," //curhealth - << GetPower(POWER_MANA) << "," //curmana - << (m_isDeadByDefault ? 1 : 0) << "," //is_dead - << GetDefaultMovementType() << ")"; //default movement generator type - - WorldDatabase.PExecuteLog(ss.str().c_str()); - - WorldDatabase.CommitTransaction(); -} - -void Creature::SelectLevel(const CreatureInfo *cinfo) -{ - uint32 rank = isPet()? 0 : cinfo->rank; - - // level - uint8 minlevel = std::min(cinfo->maxlevel, cinfo->minlevel); - uint8 maxlevel = std::max(cinfo->maxlevel, cinfo->minlevel); - uint8 level = minlevel == maxlevel ? minlevel : urand(minlevel, maxlevel); - SetLevel(level); - - CreatureBaseStats const* stats = objmgr.GetCreatureBaseStats(level, cinfo->unit_class); - - // health - float healthmod = _GetHealthMod(rank); - - uint32 basehp = stats->GenerateHealth(cinfo); - uint32 health = uint32(basehp * healthmod); - - SetCreateHealth(health); - SetMaxHealth(health); - SetHealth(health); - ResetPlayerDamageReq(); - - // mana - uint32 mana = stats->GenerateMana(cinfo); - - SetCreateMana(mana); - SetMaxPower(POWER_MANA, mana); //MAX Mana - SetPower(POWER_MANA, mana); - - // TODO: set UNIT_FIELD_POWER*, for some creature class case (energy, etc) - - SetModifierValue(UNIT_MOD_HEALTH, BASE_VALUE, health); - SetModifierValue(UNIT_MOD_MANA, BASE_VALUE, mana); - - //damage - float damagemod = 1.0f;//_GetDamageMod(rank); - - SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cinfo->mindmg * damagemod); - SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cinfo->maxdmg * damagemod); - - SetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE,cinfo->minrangedmg * damagemod); - SetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE,cinfo->maxrangedmg * damagemod); - - SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, cinfo->attackpower * damagemod); - -} - -float Creature::_GetHealthMod(int32 Rank) -{ - switch (Rank) // define rates for each elite rank - { - case CREATURE_ELITE_NORMAL: - return sWorld.getRate(RATE_CREATURE_NORMAL_HP); - case CREATURE_ELITE_ELITE: - return sWorld.getRate(RATE_CREATURE_ELITE_ELITE_HP); - case CREATURE_ELITE_RAREELITE: - return sWorld.getRate(RATE_CREATURE_ELITE_RAREELITE_HP); - case CREATURE_ELITE_WORLDBOSS: - return sWorld.getRate(RATE_CREATURE_ELITE_WORLDBOSS_HP); - case CREATURE_ELITE_RARE: - return sWorld.getRate(RATE_CREATURE_ELITE_RARE_HP); - default: - return sWorld.getRate(RATE_CREATURE_ELITE_ELITE_HP); - } -} - -float Creature::_GetDamageMod(int32 Rank) -{ - switch (Rank) // define rates for each elite rank - { - case CREATURE_ELITE_NORMAL: - return sWorld.getRate(RATE_CREATURE_NORMAL_DAMAGE); - case CREATURE_ELITE_ELITE: - return sWorld.getRate(RATE_CREATURE_ELITE_ELITE_DAMAGE); - case CREATURE_ELITE_RAREELITE: - return sWorld.getRate(RATE_CREATURE_ELITE_RAREELITE_DAMAGE); - case CREATURE_ELITE_WORLDBOSS: - return sWorld.getRate(RATE_CREATURE_ELITE_WORLDBOSS_DAMAGE); - case CREATURE_ELITE_RARE: - return sWorld.getRate(RATE_CREATURE_ELITE_RARE_DAMAGE); - default: - return sWorld.getRate(RATE_CREATURE_ELITE_ELITE_DAMAGE); - } -} - -float Creature::GetSpellDamageMod(int32 Rank) -{ - switch (Rank) // define rates for each elite rank - { - case CREATURE_ELITE_NORMAL: - return sWorld.getRate(RATE_CREATURE_NORMAL_SPELLDAMAGE); - case CREATURE_ELITE_ELITE: - return sWorld.getRate(RATE_CREATURE_ELITE_ELITE_SPELLDAMAGE); - case CREATURE_ELITE_RAREELITE: - return sWorld.getRate(RATE_CREATURE_ELITE_RAREELITE_SPELLDAMAGE); - case CREATURE_ELITE_WORLDBOSS: - return sWorld.getRate(RATE_CREATURE_ELITE_WORLDBOSS_SPELLDAMAGE); - case CREATURE_ELITE_RARE: - return sWorld.getRate(RATE_CREATURE_ELITE_RARE_SPELLDAMAGE); - default: - return sWorld.getRate(RATE_CREATURE_ELITE_ELITE_SPELLDAMAGE); - } -} - -bool Creature::CreateFromProto(uint32 guidlow, uint32 Entry, uint32 vehId, uint32 team, const CreatureData *data) -{ - SetZoneScript(); - if (m_zoneScript && data) - { - Entry = m_zoneScript->GetCreatureEntry(guidlow, data); - if (!Entry) - return false; - } - - CreatureInfo const *cinfo = objmgr.GetCreatureTemplate(Entry); - if (!cinfo) - { - sLog.outErrorDb("Creature entry %u does not exist.", Entry); - return false; - } - - SetOriginalEntry(Entry); - - if (!vehId) - vehId = cinfo->VehicleId; - - if (vehId && !CreateVehicleKit(vehId)) - vehId = 0; - - Object::_Create(guidlow, Entry, vehId ? HIGHGUID_VEHICLE : HIGHGUID_UNIT); - - if (!UpdateEntry(Entry, team, data)) - return false; - - return true; -} - -bool Creature::LoadFromDB(uint32 guid, Map *map) -{ - CreatureData const* data = objmgr.GetCreatureData(guid); - - if (!data) - { - sLog.outErrorDb("Creature (GUID: %u) not found in table `creature`, can't load. ",guid); - return false; - } - - m_DBTableGuid = guid; - if (map->GetInstanceId() == 0) - { - if (map->GetCreature(MAKE_NEW_GUID(guid,data->id,HIGHGUID_UNIT))) - return false; - } - else - guid = objmgr.GenerateLowGuid(HIGHGUID_UNIT); - - uint16 team = 0; - if (!Create(guid,map,data->phaseMask,data->id,0,team,data->posX,data->posY,data->posZ,data->orientation,data)) - return false; - - //We should set first home position, because then AI calls home movement - SetHomePosition(data->posX,data->posY,data->posZ,data->orientation); - - m_respawnradius = data->spawndist; - - m_respawnDelay = data->spawntimesecs; - m_isDeadByDefault = data->is_dead; - m_deathState = m_isDeadByDefault ? DEAD : ALIVE; - - m_respawnTime = objmgr.GetCreatureRespawnTime(m_DBTableGuid,GetInstanceId()); - if (m_respawnTime) // respawn on Update - { - m_deathState = DEAD; - if (canFly()) - { - float tz = map->GetHeight(data->posX,data->posY,data->posZ,false); - if (data->posZ - tz > 0.1) - Relocate(data->posX,data->posY,tz); - } - } - - uint32 curhealth = data->curhealth; - if (curhealth) - { - curhealth = uint32(curhealth*_GetHealthMod(GetCreatureInfo()->rank)); - if (curhealth < 1) - curhealth = 1; - } - - SetHealth(m_deathState == ALIVE ? curhealth : 0); - SetPower(POWER_MANA,data->curmana); - - // checked at creature_template loading - m_defaultMovementType = MovementGeneratorType(data->movementType); - - m_creatureData = data; - - return true; -} - -void Creature::LoadEquipment(uint32 equip_entry, bool force) -{ - if (equip_entry == 0) - { - if (force) - { - for (uint8 i = 0; i < 3; ++i) - SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + i, 0); - m_equipmentId = 0; - } - return; - } - - EquipmentInfo const *einfo = objmgr.GetEquipmentInfo(equip_entry); - if (!einfo) - return; - - m_equipmentId = equip_entry; - for (uint8 i = 0; i < 3; ++i) - SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + i, einfo->equipentry[i]); -} - -bool Creature::hasQuest(uint32 quest_id) const -{ - QuestRelations const& qr = objmgr.mCreatureQuestRelations; - for (QuestRelations::const_iterator itr = qr.lower_bound(GetEntry()); itr != qr.upper_bound(GetEntry()); ++itr) - { - if (itr->second == quest_id) - return true; - } - return false; -} - -bool Creature::hasInvolvedQuest(uint32 quest_id) const -{ - QuestRelations const& qr = objmgr.mCreatureQuestInvolvedRelations; - for (QuestRelations::const_iterator itr = qr.lower_bound(GetEntry()); itr != qr.upper_bound(GetEntry()); ++itr) - { - if (itr->second == quest_id) - return true; - } - return false; -} - -void Creature::DeleteFromDB() -{ - if (!m_DBTableGuid) - { - sLog.outDebug("Trying to delete not saved creature!"); - return; - } - - objmgr.SaveCreatureRespawnTime(m_DBTableGuid,GetInstanceId(),0); - objmgr.DeleteCreatureData(m_DBTableGuid); - - WorldDatabase.BeginTransaction(); - WorldDatabase.PExecuteLog("DELETE FROM creature WHERE guid = '%u'", m_DBTableGuid); - WorldDatabase.PExecuteLog("DELETE FROM creature_addon WHERE guid = '%u'", m_DBTableGuid); - WorldDatabase.PExecuteLog("DELETE FROM game_event_creature WHERE guid = '%u'", m_DBTableGuid); - WorldDatabase.PExecuteLog("DELETE FROM game_event_model_equip WHERE guid = '%u'", m_DBTableGuid); - WorldDatabase.CommitTransaction(); -} - -bool Creature::canSeeOrDetect(Unit const* u, bool detect, bool /*inVisibleList*/, bool /*is3dDistance*/) const -{ - // not in world - if (!IsInWorld() || !u->IsInWorld()) - return false; - - // all dead creatures/players not visible for any creatures - if (!u->isAlive() || !isAlive()) - return false; - - // Always can see self - if (u == this) - return true; - - // phased visibility (both must phased in same way) - if (!InSamePhase(u)) - return false; - - // always seen by owner - if (GetGUID() == u->GetCharmerOrOwnerGUID()) - return true; - - if (u->GetVisibility() == VISIBILITY_OFF) //GM - return false; - - // invisible aura - if ((m_invisibilityMask || u->m_invisibilityMask) && !canDetectInvisibilityOf(u)) - return false; - - // unit got in stealth in this moment and must ignore old detected state - //if (m_Visibility == VISIBILITY_GROUP_NO_DETECT) - // return false; - - // GM invisibility checks early, invisibility if any detectable, so if not stealth then visible - if (u->GetVisibility() == VISIBILITY_GROUP_STEALTH) - { - //do not know what is the use of this detect - if (!detect || !canDetectStealthOf(u, GetDistance(u))) - return false; - } - - // Now check is target visible with LoS - //return u->IsWithinLOS(GetPositionX(),GetPositionY(),GetPositionZ()); - return true; -} - -bool Creature::canStartAttack(Unit const* who, bool force) const -{ - if (isCivilian()) - return false; - - if (!canFly() && (GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE + m_CombatDistance)) - //|| who->IsControlledByPlayer() && who->IsFlying())) - // we cannot check flying for other creatures, too much map/vmap calculation - // TODO: should switch to range attack - return false; - - if (!force) - { - if (!_IsTargetAcceptable(who)) - return false; - - if (who->isInCombat()) - if (Unit *victim = who->getAttackerForHelper()) - if (IsWithinDistInMap(victim, sWorld.getConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS))) - force = true; - - if (!force && (IsNeutralToAll() || !IsWithinDistInMap(who, GetAttackDistance(who) + m_CombatDistance))) - return false; - } - - if (!canCreatureAttack(who, force)) - return false; - - return IsWithinLOSInMap(who); -} - -float Creature::GetAttackDistance(Unit const* pl) const -{ - float aggroRate = sWorld.getRate(RATE_CREATURE_AGGRO); - if (aggroRate == 0) - return 0.0f; - - uint32 playerlevel = pl->getLevelForTarget(this); - uint32 creaturelevel = getLevelForTarget(pl); - - int32 leveldif = int32(playerlevel) - int32(creaturelevel); - - // "The maximum Aggro Radius has a cap of 25 levels under. Example: A level 30 char has the same Aggro Radius of a level 5 char on a level 60 mob." - if (leveldif < - 25) - leveldif = -25; - - // "The aggro radius of a mob having the same level as the player is roughly 20 yards" - float RetDistance = 20; - - // "Aggro Radius varies with level difference at a rate of roughly 1 yard/level" - // radius grow if playlevel < creaturelevel - RetDistance -= (float)leveldif; - - if (creaturelevel+5 <= sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) - { - // detect range auras - RetDistance += GetTotalAuraModifier(SPELL_AURA_MOD_DETECT_RANGE); - - // detected range auras - RetDistance += pl->GetTotalAuraModifier(SPELL_AURA_MOD_DETECTED_RANGE); - } - - // "Minimum Aggro Radius for a mob seems to be combat range (5 yards)" - if (RetDistance < 5) - RetDistance = 5; - - return (RetDistance*aggroRate); -} - -void Creature::setDeathState(DeathState s) -{ - if ((s == JUST_DIED && !m_isDeadByDefault)||(s == JUST_ALIVED && m_isDeadByDefault)) - { - m_deathTimer = m_corpseDelay*IN_MILISECONDS; - - // always save boss respawn time at death to prevent crash cheating - if (sWorld.getConfig(CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY) || isWorldBoss()) - SaveRespawnTime(); - } - Unit::setDeathState(s); - - if (s == JUST_DIED) - { - SetUInt64Value(UNIT_FIELD_TARGET,0); // remove target selection in any cases (can be set at aura remove in Unit::setDeathState) - SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); - - setActive(false); - - if (!isPet() && GetCreatureInfo()->SkinLootId) - if (LootTemplates_Skinning.HaveLootFor(GetCreatureInfo()->SkinLootId)) - SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); - - if (HasSearchedAssistance()) - { - SetNoSearchAssistance(false); - UpdateSpeed(MOVE_RUN, false); - } - - //Dismiss group if is leader - if (m_formation && m_formation->getLeader() == this) - m_formation->FormationReset(true); - - if ((canFly() || IsFlying()) && FallGround()) - return; - - Unit::setDeathState(CORPSE); - } - else if (s == JUST_ALIVED) - { - //if (isPet()) - // setActive(true); - SetHealth(GetMaxHealth()); - SetLootRecipient(NULL); - ResetPlayerDamageReq(); - CreatureInfo const *cinfo = GetCreatureInfo(); - AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); - if (GetCreatureInfo()->InhabitType & INHABIT_AIR) - AddUnitMovementFlag(MOVEMENTFLAG_FLY_MODE | MOVEMENTFLAG_FLYING); - if (GetCreatureInfo()->InhabitType & INHABIT_WATER) - AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING); - SetUInt32Value(UNIT_NPC_FLAGS, cinfo->npcflag); - clearUnitState(UNIT_STAT_ALL_STATE); - SetMeleeDamageSchool(SpellSchools(cinfo->dmgschool)); - LoadCreaturesAddon(true); - Motion_Initialize(); - if (GetCreatureData() && GetPhaseMask() != GetCreatureData()->phaseMask) - SetPhaseMask(GetCreatureData()->phaseMask, false); - if (m_vehicleKit) m_vehicleKit->Reset(); - Unit::setDeathState(ALIVE); - } -} - -bool Creature::FallGround() -{ - // Let's abort after we called this function one time - if (getDeathState() == DEAD_FALLING) - return false; - - float x, y, z; - GetPosition(x, y, z); - float ground_Z = GetMap()->GetHeight(x, y, z); - if (fabs(ground_Z - z) < 0.1f) - return false; - - GetMotionMaster()->MoveFall(ground_Z, EVENT_FALL_GROUND); - Unit::setDeathState(DEAD_FALLING); - return true; -} - -void Creature::Respawn(bool force) -{ - DestroyForNearbyPlayers(); - - if (force) - { - if (isAlive()) - setDeathState(JUST_DIED); - else if (getDeathState() != CORPSE) - setDeathState(CORPSE); - } - - RemoveCorpse(); - - if (getDeathState() == DEAD) - { - if (m_DBTableGuid) - objmgr.SaveCreatureRespawnTime(m_DBTableGuid,GetInstanceId(),0); - - DEBUG_LOG("Respawning..."); - m_respawnTime = 0; - lootForPickPocketed = false; - lootForBody = false; - - if (m_originalEntry != GetEntry()) - UpdateEntry(m_originalEntry); - - CreatureInfo const *cinfo = GetCreatureInfo(); - SelectLevel(cinfo); - - if (m_isDeadByDefault) - { - setDeathState(JUST_DIED); - i_motionMaster.Clear(); - clearUnitState(UNIT_STAT_ALL_STATE); - LoadCreaturesAddon(true); - } - else - setDeathState(JUST_ALIVED); - - CreatureModelInfo const *minfo = objmgr.GetCreatureModelRandomGender(GetNativeDisplayId()); - if (minfo) // Cancel load if no model defined - { - uint32 display_id = minfo->modelid; // it can be different (for another gender) - - SetDisplayId(display_id); - SetNativeDisplayId(display_id); - SetByteValue(UNIT_FIELD_BYTES_0, 2, minfo->gender); - } - - //Call AI respawn virtual function - if (IsAIEnabled) - AI()->JustRespawned(); - - uint16 poolid = GetDBTableGUIDLow() ? poolhandler.IsPartOfAPool<Creature>(GetDBTableGUIDLow()) : 0; - if (poolid) - poolhandler.UpdatePool<Creature>(poolid, GetDBTableGUIDLow()); - } - - UpdateObjectVisibility(); -} - -void Creature::ForcedDespawn(uint32 timeMSToDespawn) -{ - if (timeMSToDespawn) - { - ForcedDespawnDelayEvent *pEvent = new ForcedDespawnDelayEvent(*this); - - m_Events.AddEvent(pEvent, m_Events.CalculateTime(timeMSToDespawn)); - return; - } - - if (isAlive()) - setDeathState(JUST_DIED); - - RemoveCorpse(); -} - -bool Creature::IsImmunedToSpell(SpellEntry const* spellInfo) -{ - if (!spellInfo) - return false; - - if (GetCreatureInfo()->MechanicImmuneMask & (1 << (spellInfo->Mechanic - 1))) - return true; - - return Unit::IsImmunedToSpell(spellInfo); -} - -bool Creature::IsImmunedToSpellEffect(SpellEntry const* spellInfo, uint32 index) const -{ - if (GetCreatureInfo()->MechanicImmuneMask & (1 << (spellInfo->EffectMechanic[index] - 1))) - return true; - - return Unit::IsImmunedToSpellEffect(spellInfo, index); -} - -SpellEntry const *Creature::reachWithSpellAttack(Unit *pVictim) -{ - if (!pVictim) - return NULL; - - for (uint32 i=0; i < CREATURE_MAX_SPELLS; ++i) - { - if (!m_spells[i]) - continue; - SpellEntry const *spellInfo = sSpellStore.LookupEntry(m_spells[i]); - if (!spellInfo) - { - sLog.outError("WORLD: unknown spell id %i", m_spells[i]); - continue; - } - - bool bcontinue = true; - for (uint32 j=0; j<3; j++) - { - if ((spellInfo->Effect[j] == SPELL_EFFECT_SCHOOL_DAMAGE) || - (spellInfo->Effect[j] == SPELL_EFFECT_INSTAKILL) || - (spellInfo->Effect[j] == SPELL_EFFECT_ENVIRONMENTAL_DAMAGE) || - (spellInfo->Effect[j] == SPELL_EFFECT_HEALTH_LEECH) -) - { - bcontinue = false; - break; - } - } - if (bcontinue) continue; - - if (spellInfo->manaCost > GetPower(POWER_MANA)) - continue; - SpellRangeEntry const* srange = sSpellRangeStore.LookupEntry(spellInfo->rangeIndex); - float range = GetSpellMaxRangeForHostile(srange); - float minrange = GetSpellMinRangeForHostile(srange); - float dist = GetDistance(pVictim); - //if (!isInFront(pVictim, range) && spellInfo->AttributesEx) - // continue; - if (dist > range || dist < minrange) - continue; - if (spellInfo->PreventionType == SPELL_PREVENTION_TYPE_SILENCE && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SILENCED)) - continue; - if (spellInfo->PreventionType == SPELL_PREVENTION_TYPE_PACIFY && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED)) - continue; - return spellInfo; - } - return NULL; -} - -SpellEntry const *Creature::reachWithSpellCure(Unit *pVictim) -{ - if (!pVictim) - return NULL; - - for (uint32 i=0; i < CREATURE_MAX_SPELLS; ++i) - { - if (!m_spells[i]) - continue; - SpellEntry const *spellInfo = sSpellStore.LookupEntry(m_spells[i]); - if (!spellInfo) - { - sLog.outError("WORLD: unknown spell id %i", m_spells[i]); - continue; - } - - bool bcontinue = true; - for (uint32 j=0; j<3; j++) - { - if ((spellInfo->Effect[j] == SPELL_EFFECT_HEAL)) - { - bcontinue = false; - break; - } - } - if (bcontinue) continue; - - if (spellInfo->manaCost > GetPower(POWER_MANA)) - continue; - SpellRangeEntry const* srange = sSpellRangeStore.LookupEntry(spellInfo->rangeIndex); - float range = GetSpellMaxRangeForFriend(srange); - float minrange = GetSpellMinRangeForFriend(srange); - float dist = GetDistance(pVictim); - //if (!isInFront(pVictim, range) && spellInfo->AttributesEx) - // continue; - if (dist > range || dist < minrange) - continue; - if (spellInfo->PreventionType == SPELL_PREVENTION_TYPE_SILENCE && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SILENCED)) - continue; - if (spellInfo->PreventionType == SPELL_PREVENTION_TYPE_PACIFY && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED)) - continue; - return spellInfo; - } - return NULL; -} - -bool Creature::IsVisibleInGridForPlayer(Player const* pl) const -{ - // gamemaster in GM mode see all, including ghosts - if (pl->isGameMaster()) - return true; - - // Trigger shouldn't be visible for players - //if (isTrigger()) - // return false; - // Rat: this makes no sense, triggers are always sent to players, but with invisible model and can not be attacked or targeted! - - // Live player (or with not release body see live creatures or death creatures with corpse disappearing time > 0 - if (pl->isAlive() || pl->GetDeathTimer() > 0) - { - if (GetEntry() == VISUAL_WAYPOINT) - return false; - return (isAlive() || m_deathTimer > 0 || (m_isDeadByDefault && m_deathState == CORPSE)); - } - - // Dead player see live creatures near own corpse - if (isAlive()) - { - Corpse *corpse = pl->GetCorpse(); - if (corpse) - { - // 20 - aggro distance for same level, 25 - max additional distance if player level less that creature level - if (corpse->IsWithinDistInMap(this,(20+25)*sWorld.getRate(RATE_CREATURE_AGGRO))) - return true; - } - } - - // Dead player see Spirit Healer or Spirit Guide - if (isSpiritService()) - return true; - - // and not see any other - return false; -} - - -// select nearest hostile unit within the given distance (regardless of threat list). -Unit* Creature::SelectNearestTarget(float dist) const -{ - CellPair p(Trinity::ComputeCellPair(GetPositionX(), GetPositionY())); - Cell cell(p); - cell.data.Part.reserved = ALL_DISTRICT; - cell.SetNoCreate(); - - Unit *target = NULL; - - { - if (dist == 0.0f || dist > MAX_VISIBILITY_DISTANCE) - dist = MAX_VISIBILITY_DISTANCE; - - Trinity::NearestHostileUnitCheck u_check(this, dist); - Trinity::UnitLastSearcher<Trinity::NearestHostileUnitCheck> searcher(this, target, u_check); - - TypeContainerVisitor<Trinity::UnitLastSearcher<Trinity::NearestHostileUnitCheck>, WorldTypeMapContainer > world_unit_searcher(searcher); - TypeContainerVisitor<Trinity::UnitLastSearcher<Trinity::NearestHostileUnitCheck>, GridTypeMapContainer > grid_unit_searcher(searcher); - - cell.Visit(p, world_unit_searcher, *GetMap(), *this, dist); - cell.Visit(p, grid_unit_searcher, *GetMap(), *this, dist); - } - - return target; -} - -// select nearest hostile unit within the given attack distance (i.e. distance is ignored if > than ATTACK_DISTANCE), regardless of threat list. -Unit* Creature::SelectNearestTargetInAttackDistance(float dist) const -{ - CellPair p(Trinity::ComputeCellPair(GetPositionX(), GetPositionY())); - Cell cell(p); - cell.data.Part.reserved = ALL_DISTRICT; - cell.SetNoCreate(); - - Unit *target = NULL; - - if (dist > ATTACK_DISTANCE) - sLog.outError("Creature (GUID: %u Entry: %u) SelectNearestTargetInAttackDistance called with dist > ATTACK_DISTANCE. Extra distance ignored.",GetGUIDLow(),GetEntry()); - - { - Trinity::NearestHostileUnitInAttackDistanceCheck u_check(this, dist); - Trinity::UnitLastSearcher<Trinity::NearestHostileUnitInAttackDistanceCheck> searcher(this, target, u_check); - - TypeContainerVisitor<Trinity::UnitLastSearcher<Trinity::NearestHostileUnitInAttackDistanceCheck>, WorldTypeMapContainer > world_unit_searcher(searcher); - TypeContainerVisitor<Trinity::UnitLastSearcher<Trinity::NearestHostileUnitInAttackDistanceCheck>, GridTypeMapContainer > grid_unit_searcher(searcher); - - cell.Visit(p, world_unit_searcher, *GetMap(), *this, ATTACK_DISTANCE); - cell.Visit(p, grid_unit_searcher, *GetMap(), *this, ATTACK_DISTANCE); - } - - return target; -} - -void Creature::SendAIReaction(AiReaction reactionType) -{ - WorldPacket data(SMSG_AI_REACTION, 12); - - data << uint64(GetGUID()); - data << uint32(reactionType); - - ((WorldObject*)this)->SendMessageToSet(&data, true); - - sLog.outDebug("WORLD: Sent SMSG_AI_REACTION, type %u.", reactionType); -} - -void Creature::CallAssistance() -{ - if (!m_AlreadyCallAssistance && getVictim() && !isPet() && !isCharmed()) - { - SetNoCallAssistance(true); - - float radius = sWorld.getConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS); - - if (radius > 0) - { - std::list<Creature*> assistList; - - { - CellPair p(Trinity::ComputeCellPair(GetPositionX(), GetPositionY())); - Cell cell(p); - cell.data.Part.reserved = ALL_DISTRICT; - cell.SetNoCreate(); - - Trinity::AnyAssistCreatureInRangeCheck u_check(this, getVictim(), radius); - Trinity::CreatureListSearcher<Trinity::AnyAssistCreatureInRangeCheck> searcher(this, assistList, u_check); - - TypeContainerVisitor<Trinity::CreatureListSearcher<Trinity::AnyAssistCreatureInRangeCheck>, GridTypeMapContainer > grid_creature_searcher(searcher); - - cell.Visit(p, grid_creature_searcher, *GetMap(), *this, radius); - } - - if (!assistList.empty()) - { - AssistDelayEvent *e = new AssistDelayEvent(getVictim()->GetGUID(), *this); - while (!assistList.empty()) - { - // Pushing guids because in delay can happen some creature gets despawned => invalid pointer - e->AddAssistant((*assistList.begin())->GetGUID()); - assistList.pop_front(); - } - m_Events.AddEvent(e, m_Events.CalculateTime(sWorld.getConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_DELAY))); - } - } - } -} - -void Creature::CallForHelp(float fRadius) -{ - if (fRadius <= 0.0f || !getVictim() || isPet() || isCharmed()) - return; - - CellPair p(Trinity::ComputeCellPair(GetPositionX(), GetPositionY())); - Cell cell(p); - cell.data.Part.reserved = ALL_DISTRICT; - cell.SetNoCreate(); - - Trinity::CallOfHelpCreatureInRangeDo u_do(this, getVictim(), fRadius); - Trinity::CreatureWorker<Trinity::CallOfHelpCreatureInRangeDo> worker(this, u_do); - - TypeContainerVisitor<Trinity::CreatureWorker<Trinity::CallOfHelpCreatureInRangeDo>, GridTypeMapContainer > grid_creature_searcher(worker); - - cell.Visit(p, grid_creature_searcher, *GetMap(), *this, fRadius); -} - -bool Creature::CanAssistTo(const Unit* u, const Unit* enemy, bool checkfaction /*= true*/) const -{ - // is it true? - if (!HasReactState(REACT_AGGRESSIVE)) - return false; - - // we don't need help from zombies :) - if (!isAlive()) - return false; - - // we don't need help from non-combatant ;) - if (isCivilian()) - return false; - - // skip fighting creature - if (isInCombat()) - return false; - - // only free creature - if (GetCharmerOrOwnerGUID()) - return false; - - // only from same creature faction - if (checkfaction) - { - if (getFaction() != u->getFaction()) - return false; - } - else - { - if (!IsFriendlyTo(u)) - return false; - } - - // skip non hostile to caster enemy creatures - if (!IsHostileTo(enemy)) - return false; - - return true; -} - -// use this function to avoid having hostile creatures attack -// friendlies and other mobs they shouldn't attack -bool Creature::_IsTargetAcceptable(const Unit *target) const -{ - assert(target); - - // if the target cannot be attacked, the target is not acceptable - if (IsFriendlyTo(target) - || !target->isAttackableByAOE() - || target->hasUnitState(UNIT_STAT_DIED) - || (m_vehicle && (IsOnVehicle(target) || m_vehicle->GetBase()->IsOnVehicle(target)))) - return false; - - const Unit *myVictim = getAttackerForHelper(); - const Unit *targetVictim = target->getAttackerForHelper(); - - // if I'm already fighting target, or I'm hostile towards the target, the target is acceptable - if (myVictim == target || targetVictim == this || IsHostileTo(target)) - return true; - - // if the target's victim is friendly, and the target is neutral, the target is acceptable - if (targetVictim && IsFriendlyTo(targetVictim)) - return true; - - // if the target's victim is not friendly, or the target is friendly, the target is not acceptable - return false; -} - -void Creature::SaveRespawnTime() -{ - if (isSummon() || !m_DBTableGuid || m_creatureData && !m_creatureData->dbData) - return; - - if (m_respawnTime > time(NULL)) // dead (no corpse) - objmgr.SaveCreatureRespawnTime(m_DBTableGuid,GetInstanceId(),m_respawnTime); - else if (m_deathTimer > 0) // dead (corpse) - objmgr.SaveCreatureRespawnTime(m_DBTableGuid,GetInstanceId(),time(NULL)+m_respawnDelay+m_deathTimer/IN_MILISECONDS); -} - -// this should not be called by petAI or -bool Creature::canCreatureAttack(Unit const *pVictim, bool force) const -{ - if (!pVictim->IsInMap(this)) - return false; - - if (!canAttack(pVictim, force)) - return false; - - if (!pVictim->isInAccessiblePlaceFor(this)) - return false; - - if (IsAIEnabled && !AI()->CanAIAttack(pVictim)) - return false; - - if (sMapStore.LookupEntry(GetMapId())->IsDungeon()) - return true; - - //Use AttackDistance in distance check if threat radius is lower. This prevents creature bounce in and out of combat every update tick. - float dist = std::max(GetAttackDistance(pVictim), (float)sWorld.getConfig(CONFIG_THREAT_RADIUS)) + m_CombatDistance; - - if (Unit *unit = GetCharmerOrOwner()) - return pVictim->IsWithinDist(unit, dist); - else - return pVictim->IsInDist(&m_homePosition, dist); -} - -CreatureDataAddon const* Creature::GetCreatureAddon() const -{ - if (m_DBTableGuid) - { - if (CreatureDataAddon const* addon = ObjectMgr::GetCreatureAddon(m_DBTableGuid)) - return addon; - } - - // dependent from difficulty mode entry - return ObjectMgr::GetCreatureTemplateAddon(GetCreatureInfo()->Entry); -} - -//creature_addon table -bool Creature::LoadCreaturesAddon(bool reload) -{ - CreatureDataAddon const *cainfo = GetCreatureAddon(); - if (!cainfo) - return false; - - if (cainfo->mount != 0) - Mount(cainfo->mount); - - if (cainfo->bytes1 != 0) - { - // 0 StandState - // 1 FreeTalentPoints Pet only, so always 0 for default creature - // 2 StandFlags - // 3 StandMiscFlags - - SetByteValue(UNIT_FIELD_BYTES_1, 0, uint8(cainfo->bytes1 & 0xFF)); - //SetByteValue(UNIT_FIELD_BYTES_1, 1, uint8((cainfo->bytes1 >> 8) & 0xFF)); - SetByteValue(UNIT_FIELD_BYTES_1, 1, 0); - SetByteValue(UNIT_FIELD_BYTES_1, 2, uint8((cainfo->bytes1 >> 16) & 0xFF)); - SetByteValue(UNIT_FIELD_BYTES_1, 3, uint8((cainfo->bytes1 >> 24) & 0xFF)); - } - - if (cainfo->bytes2 != 0) - { - // 0 SheathState - // 1 Bytes2Flags - // 2 UnitRename Pet only, so always 0 for default creature - // 3 ShapeshiftForm Must be determined/set by shapeshift spell/aura - - SetByteValue(UNIT_FIELD_BYTES_2, 0, uint8(cainfo->bytes2 & 0xFF)); - //SetByteValue(UNIT_FIELD_BYTES_2, 1, uint8((cainfo->bytes2 >> 8) & 0xFF)); - //SetByteValue(UNIT_FIELD_BYTES_2, 2, uint8((cainfo->bytes2 >> 16) & 0xFF)); - SetByteValue(UNIT_FIELD_BYTES_2, 2, 0); - //SetByteValue(UNIT_FIELD_BYTES_2, 3, uint8((cainfo->bytes2 >> 24) & 0xFF)); - SetByteValue(UNIT_FIELD_BYTES_2, 3, 0); - } - - if (cainfo->emote != 0) - SetUInt32Value(UNIT_NPC_EMOTESTATE, cainfo->emote); - - //Load Path - if (cainfo->path_id != 0) - m_path_id = cainfo->path_id; - - if (cainfo->auras) - { - for (CreatureDataAddonAura const* cAura = cainfo->auras; cAura->spell_id; ++cAura) - { - SpellEntry const *AdditionalSpellInfo = sSpellStore.LookupEntry(cAura->spell_id); - if (!AdditionalSpellInfo) - { - sLog.outErrorDb("Creature (GUID: %u Entry: %u) has wrong spell %u defined in `auras` field.",GetGUIDLow(),GetEntry(),cAura->spell_id); - continue; - } - - // skip already applied aura - if (HasAura(cAura->spell_id)) - { - if (!reload) - sLog.outErrorDb("Creature (GUID: %u Entry: %u) has duplicate aura (spell %u) in `auras` field.",GetGUIDLow(),GetEntry(),cAura->spell_id); - - continue; - } - - AddAura(AdditionalSpellInfo, cAura->effectMask, this); - sLog.outDebug("Spell: %u with AuraEffectMask %u added to creature (GUID: %u Entry: %u)", cAura->spell_id, cAura->effectMask,GetGUIDLow(),GetEntry()); - } - } - return true; -} - -/// Send a message to LocalDefense channel for players opposition team in the zone -void Creature::SendZoneUnderAttackMessage(Player* attacker) -{ - uint32 enemy_team = attacker->GetTeam(); - - WorldPacket data(SMSG_ZONE_UNDER_ATTACK,4); - data << (uint32)GetAreaId(); - sWorld.SendGlobalMessage(&data,NULL,(enemy_team == ALLIANCE ? HORDE : ALLIANCE)); -} - -void Creature::SetInCombatWithZone() -{ - if (!CanHaveThreatList()) - { - sLog.outError("Creature entry %u call SetInCombatWithZone but creature cannot have threat list.", GetEntry()); - return; - } - - Map* pMap = GetMap(); - - if (!pMap->IsDungeon()) - { - sLog.outError("Creature entry %u call SetInCombatWithZone for map (id: %u) that isn't an instance.", GetEntry(), pMap->GetId()); - return; - } - - Map::PlayerList const &PlList = pMap->GetPlayers(); - - if (PlList.isEmpty()) - return; - - for (Map::PlayerList::const_iterator i = PlList.begin(); i != PlList.end(); ++i) - { - if (Player* pPlayer = i->getSource()) - { - if (pPlayer->isGameMaster()) - continue; - - if (pPlayer->isAlive()) - { - pPlayer->SetInCombatWith(this); - AddThreat(pPlayer, 0.0f); - } - } - } -} - -void Creature::_AddCreatureSpellCooldown(uint32 spell_id, time_t end_time) -{ - m_CreatureSpellCooldowns[spell_id] = end_time; -} - -void Creature::_AddCreatureCategoryCooldown(uint32 category, time_t apply_time) -{ - m_CreatureCategoryCooldowns[category] = apply_time; -} - -void Creature::AddCreatureSpellCooldown(uint32 spellid) -{ - SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellid); - if (!spellInfo) - return; - - uint32 cooldown = GetSpellRecoveryTime(spellInfo); - if (Player *modOwner = GetSpellModOwner()) - modOwner->ApplySpellMod(spellid, SPELLMOD_COOLDOWN, cooldown); - - if (cooldown) - _AddCreatureSpellCooldown(spellid, time(NULL) + cooldown/IN_MILISECONDS); - - if (spellInfo->Category) - _AddCreatureCategoryCooldown(spellInfo->Category, time(NULL)); - - m_GlobalCooldown = spellInfo->StartRecoveryTime; -} - -bool Creature::HasCategoryCooldown(uint32 spell_id) const -{ - SpellEntry const *spellInfo = sSpellStore.LookupEntry(spell_id); - if (!spellInfo) - return false; - - // check global cooldown if spell affected by it - if (spellInfo->StartRecoveryCategory > 0 && m_GlobalCooldown > 0) - return true; - - CreatureSpellCooldowns::const_iterator itr = m_CreatureCategoryCooldowns.find(spellInfo->Category); - return(itr != m_CreatureCategoryCooldowns.end() && time_t(itr->second + (spellInfo->CategoryRecoveryTime / IN_MILISECONDS)) > time(NULL)); -} - -bool Creature::HasSpellCooldown(uint32 spell_id) const -{ - CreatureSpellCooldowns::const_iterator itr = m_CreatureSpellCooldowns.find(spell_id); - return (itr != m_CreatureSpellCooldowns.end() && itr->second > time(NULL)) || HasCategoryCooldown(spell_id); -} - -bool Creature::HasSpell(uint32 spellID) const -{ - uint8 i; - for (i = 0; i < CREATURE_MAX_SPELLS; ++i) - if (spellID == m_spells[i]) - break; - return i < CREATURE_MAX_SPELLS; //broke before end of iteration of known spells -} - -time_t Creature::GetRespawnTimeEx() const -{ - time_t now = time(NULL); - if (m_respawnTime > now) // dead (no corpse) - return m_respawnTime; - else if (m_deathTimer > 0) // dead (corpse) - return now+m_respawnDelay+m_deathTimer/IN_MILISECONDS; - else - return now; -} - -void Creature::GetRespawnCoord(float &x, float &y, float &z, float* ori, float* dist) const -{ - if (m_DBTableGuid) - { - if (CreatureData const* data = objmgr.GetCreatureData(GetDBTableGUIDLow())) - { - x = data->posX; - y = data->posY; - z = data->posZ; - if (ori) - *ori = data->orientation; - if (dist) - *dist = data->spawndist; - - return; - } - } - - x = GetPositionX(); - y = GetPositionY(); - z = GetPositionZ(); - if (ori) - *ori = GetOrientation(); - if (dist) - *dist = 0; -} - -void Creature::AllLootRemovedFromCorpse() -{ - if (!HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE)) - { - uint32 nDeathTimer; - - CreatureInfo const *cinfo = GetCreatureInfo(); - - // corpse was not skinnable -> apply corpse looted timer - if (!cinfo || !cinfo->SkinLootId) - nDeathTimer = (uint32)((m_corpseDelay * IN_MILISECONDS) * sWorld.getRate(RATE_CORPSE_DECAY_LOOTED)); - // corpse skinnable, but without skinning flag, and then skinned, corpse will despawn next update - else - nDeathTimer = 0; - - // update death timer only if looted timer is shorter - if (m_deathTimer > nDeathTimer) - m_deathTimer = nDeathTimer; - } -} - -uint8 Creature::getLevelForTarget(Unit const* target) const -{ - if (!isWorldBoss()) - return Unit::getLevelForTarget(target); - - uint16 level = target->getLevel()+sWorld.getConfig(CONFIG_WORLD_BOSS_LEVEL_DIFF); - if (level < 1) - return 1; - if (level > 255) - return 255; - return level; -} - -std::string Creature::GetAIName() const -{ - return ObjectMgr::GetCreatureTemplate(GetEntry())->AIName; -} - -std::string Creature::GetScriptName() const -{ - return objmgr.GetScriptName(GetScriptId()); -} - -uint32 Creature::GetScriptId() const -{ - return ObjectMgr::GetCreatureTemplate(GetEntry())->ScriptID; -} - -VendorItemData const* Creature::GetVendorItems() const -{ - return objmgr.GetNpcVendorItemList(GetEntry()); -} - -uint32 Creature::GetVendorItemCurrentCount(VendorItem const* vItem) -{ - if (!vItem->maxcount) - return vItem->maxcount; - - VendorItemCounts::iterator itr = m_vendorItemCounts.begin(); - for (; itr != m_vendorItemCounts.end(); ++itr) - if (itr->itemId == vItem->item) - break; - - if (itr == m_vendorItemCounts.end()) - return vItem->maxcount; - - VendorItemCount* vCount = &*itr; - - time_t ptime = time(NULL); - - if (vCount->lastIncrementTime + vItem->incrtime <= ptime) - { - ItemPrototype const* pProto = objmgr.GetItemPrototype(vItem->item); - - uint32 diff = uint32((ptime - vCount->lastIncrementTime)/vItem->incrtime); - if ((vCount->count + diff * pProto->BuyCount) >= vItem->maxcount) - { - m_vendorItemCounts.erase(itr); - return vItem->maxcount; - } - - vCount->count += diff * pProto->BuyCount; - vCount->lastIncrementTime = ptime; - } - - return vCount->count; -} - -uint32 Creature::UpdateVendorItemCurrentCount(VendorItem const* vItem, uint32 used_count) -{ - if (!vItem->maxcount) - return 0; - - VendorItemCounts::iterator itr = m_vendorItemCounts.begin(); - for (; itr != m_vendorItemCounts.end(); ++itr) - if (itr->itemId == vItem->item) - break; - - if (itr == m_vendorItemCounts.end()) - { - int32 new_count = vItem->maxcount > used_count ? vItem->maxcount-used_count : 0; - m_vendorItemCounts.push_back(VendorItemCount(vItem->item,new_count)); - return new_count; - } - - VendorItemCount* vCount = &*itr; - - time_t ptime = time(NULL); - - if (vCount->lastIncrementTime + vItem->incrtime <= ptime) - { - ItemPrototype const* pProto = objmgr.GetItemPrototype(vItem->item); - - uint32 diff = uint32((ptime - vCount->lastIncrementTime)/vItem->incrtime); - if ((vCount->count + diff * pProto->BuyCount) < vItem->maxcount) - vCount->count += diff * pProto->BuyCount; - else - vCount->count = vItem->maxcount; - } - - vCount->count = vCount->count > used_count ? vCount->count-used_count : 0; - vCount->lastIncrementTime = ptime; - return vCount->count; -} - -TrainerSpellData const* Creature::GetTrainerSpells() const -{ - return objmgr.GetNpcTrainerSpells(GetEntry()); -} - -// overwrite WorldObject function for proper name localization -const char* Creature::GetNameForLocaleIdx(int32 loc_idx) const -{ - if (loc_idx >= 0) - { - CreatureLocale const *cl = objmgr.GetCreatureLocale(GetEntry()); - if (cl) - { - if (cl->Name.size() > loc_idx && !cl->Name[loc_idx].empty()) - return cl->Name[loc_idx].c_str(); - } - } - - return GetName(); -} - -const CreatureData* Creature::GetLinkedRespawnCreatureData() const -{ - if (!m_DBTableGuid) // only hard-spawned creatures from DB can have a linked master - return NULL; - - if (uint32 targetGuid = objmgr.GetLinkedRespawnGuid(m_DBTableGuid)) - return objmgr.GetCreatureData(targetGuid); - - return NULL; -} - -// returns master's remaining respawn time if any -time_t Creature::GetLinkedCreatureRespawnTime() const -{ - if (!m_DBTableGuid) // only hard-spawned creatures from DB can have a linked master - return 0; - - if (uint32 targetGuid = objmgr.GetLinkedRespawnGuid(m_DBTableGuid)) - { - Map* targetMap = NULL; - if (const CreatureData* data = objmgr.GetCreatureData(targetGuid)) - { - if (data->mapid == GetMapId()) // look up on the same map - targetMap = GetMap(); - else // it shouldn't be instanceable map here - targetMap = MapManager::Instance().FindMap(data->mapid); - } - if (targetMap) - return objmgr.GetCreatureRespawnTime(targetGuid,targetMap->GetInstanceId()); - } - - return 0; -} |
