diff options
author | Xanadu <none@none> | 2010-07-16 23:46:58 +0200 |
---|---|---|
committer | Xanadu <none@none> | 2010-07-16 23:46:58 +0200 |
commit | 66f50528ceb4a93519f7372640df38ea44444d96 (patch) | |
tree | 4b15985b9b817568951b614f7696b085468c90b3 /src/server/game/Reputation/ReputationMgr.cpp | |
parent | 6a9357b13d7ea6bd7d77dbfc6587af9028caa401 (diff) |
Correctly redo file moves/renames from rev. 8416.
--HG--
branch : trunk
rename : src/server/game/AuctionHouseBot.cpp => src/server/game/AI/AuctionHouseBot/AuctionHouseBot.cpp
rename : src/server/game/AuctionHouseBot.h => src/server/game/AI/AuctionHouseBot/AuctionHouseBot.h
rename : src/server/game/CombatAI.cpp => src/server/game/AI/CombatAI.cpp
rename : src/server/game/CombatAI.h => src/server/game/AI/CombatAI.h
rename : src/server/game/CreatureAI.cpp => src/server/game/AI/CreatureAI.cpp
rename : src/server/game/CreatureAI.h => src/server/game/AI/CreatureAI.h
rename : src/server/game/CreatureAIFactory.h => src/server/game/AI/CreatureAIFactory.h
rename : src/server/game/CreatureAIImpl.h => src/server/game/AI/CreatureAIImpl.h
rename : src/server/game/CreatureAIRegistry.cpp => src/server/game/AI/CreatureAIRegistry.cpp
rename : src/server/game/CreatureAIRegistry.h => src/server/game/AI/CreatureAIRegistry.h
rename : src/server/game/CreatureAISelector.cpp => src/server/game/AI/CreatureAISelector.cpp
rename : src/server/game/CreatureAISelector.h => src/server/game/AI/CreatureAISelector.h
rename : src/server/game/CreatureEventAI.cpp => src/server/game/AI/EventAI/CreatureEventAI.cpp
rename : src/server/game/CreatureEventAI.h => src/server/game/AI/EventAI/CreatureEventAI.h
rename : src/server/game/CreatureEventAIMgr.cpp => src/server/game/AI/EventAI/CreatureEventAIMgr.cpp
rename : src/server/game/CreatureEventAIMgr.h => src/server/game/AI/EventAI/CreatureEventAIMgr.h
rename : src/server/game/GuardAI.cpp => src/server/game/AI/GuardAI.cpp
rename : src/server/game/GuardAI.h => src/server/game/AI/GuardAI.h
rename : src/server/game/PassiveAI.cpp => src/server/game/AI/PassiveAI.cpp
rename : src/server/game/PassiveAI.h => src/server/game/AI/PassiveAI.h
rename : src/server/game/PetAI.cpp => src/server/game/AI/PetAI.cpp
rename : src/server/game/PetAI.h => src/server/game/AI/PetAI.h
rename : src/server/game/ReactorAI.cpp => src/server/game/AI/ReactorAI.cpp
rename : src/server/game/ReactorAI.h => src/server/game/AI/ReactorAI.h
rename : src/server/game/ScriptedCreature.cpp => src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
rename : src/server/game/ScriptedCreature.h => src/server/game/AI/ScriptedAI/ScriptedCreature.h
rename : src/server/game/ScriptedEscortAI.cpp => src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
rename : src/server/game/ScriptedEscortAI.h => src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
rename : src/server/game/ScriptedFollowerAI.cpp => src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
rename : src/server/game/ScriptedFollowerAI.h => src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h
rename : src/server/game/ScriptedGossip.h => src/server/game/AI/ScriptedAI/ScriptedGossip.h
rename : src/server/game/ScriptedGuardAI.cpp => src/server/game/AI/ScriptedAI/ScriptedGuardAI.cpp
rename : src/server/game/ScriptedGuardAI.h => src/server/game/AI/ScriptedAI/ScriptedGuardAI.h
rename : src/server/game/ScriptedInstance.h => src/server/game/AI/ScriptedAI/ScriptedInstance.h
rename : src/server/game/ScriptedSimpleAI.cpp => src/server/game/AI/ScriptedAI/ScriptedSimpleAI.cpp
rename : src/server/game/ScriptedSimpleAI.h => src/server/game/AI/ScriptedAI/ScriptedSimpleAI.h
rename : src/server/game/ScriptedSmartAI.cpp => src/server/game/AI/ScriptedAI/ScriptedSmartAI.cpp
rename : src/server/game/ScriptedSmartAI.h => src/server/game/AI/ScriptedAI/ScriptedSmartAI.h
rename : src/server/game/TotemAI.cpp => src/server/game/AI/TotemAI.cpp
rename : src/server/game/TotemAI.h => src/server/game/AI/TotemAI.h
rename : src/server/game/UnitAI.cpp => src/server/game/AI/UnitAI.cpp
rename : src/server/game/UnitAI.h => src/server/game/AI/UnitAI.h
rename : src/server/game/AccountMgr.cpp => src/server/game/Account/AccountMgr.cpp
rename : src/server/game/AccountMgr.h => src/server/game/Account/AccountMgr.h
rename : src/server/game/AchievementMgr.cpp => src/server/game/Achievements/AchievementMgr.cpp
rename : src/server/game/AchievementMgr.h => src/server/game/Achievements/AchievementMgr.h
rename : src/server/game/AddonHandler.cpp => src/server/game/Addons/AddonHandler.cpp
rename : src/server/game/AddonHandler.h => src/server/game/Addons/AddonHandler.h
rename : src/server/game/AddonMgr.cpp => src/server/game/Addons/AddonMgr.cpp
rename : src/server/game/AddonMgr.h => src/server/game/Addons/AddonMgr.h
rename : src/server/game/AuctionHouseHandler.cpp => src/server/game/AuctionHouse/AuctionHouseHandler.cpp
rename : src/server/game/AuctionHouseMgr.cpp => src/server/game/AuctionHouse/AuctionHouseMgr.cpp
rename : src/server/game/AuctionHouseMgr.h => src/server/game/AuctionHouse/AuctionHouseMgr.h
rename : src/server/game/ArenaTeam.cpp => src/server/game/BattleGrounds/ArenaTeam.cpp
rename : src/server/game/ArenaTeam.h => src/server/game/BattleGrounds/ArenaTeam.h
rename : src/server/game/ArenaTeamHandler.cpp => src/server/game/BattleGrounds/ArenaTeamHandler.cpp
rename : src/server/game/BattleGround.cpp => src/server/game/BattleGrounds/BattleGround.cpp
rename : src/server/game/BattleGround.h => src/server/game/BattleGrounds/BattleGround.h
rename : src/server/game/BattleGroundAA.cpp => src/server/game/BattleGrounds/BattleGroundAA.cpp
rename : src/server/game/BattleGroundAA.h => src/server/game/BattleGrounds/BattleGroundAA.h
rename : src/server/game/BattleGroundAB.cpp => src/server/game/BattleGrounds/BattleGroundAB.cpp
rename : src/server/game/BattleGroundAB.h => src/server/game/BattleGrounds/BattleGroundAB.h
rename : src/server/game/BattleGroundAV.cpp => src/server/game/BattleGrounds/BattleGroundAV.cpp
rename : src/server/game/BattleGroundAV.h => src/server/game/BattleGrounds/BattleGroundAV.h
rename : src/server/game/BattleGroundBE.cpp => src/server/game/BattleGrounds/BattleGroundBE.cpp
rename : src/server/game/BattleGroundBE.h => src/server/game/BattleGrounds/BattleGroundBE.h
rename : src/server/game/BattleGroundDS.cpp => src/server/game/BattleGrounds/BattleGroundDS.cpp
rename : src/server/game/BattleGroundDS.h => src/server/game/BattleGrounds/BattleGroundDS.h
rename : src/server/game/BattleGroundEY.cpp => src/server/game/BattleGrounds/BattleGroundEY.cpp
rename : src/server/game/BattleGroundEY.h => src/server/game/BattleGrounds/BattleGroundEY.h
rename : src/server/game/BattleGroundHandler.cpp => src/server/game/BattleGrounds/BattleGroundHandler.cpp
rename : src/server/game/BattleGroundIC.cpp => src/server/game/BattleGrounds/BattleGroundIC.cpp
rename : src/server/game/BattleGroundIC.h => src/server/game/BattleGrounds/BattleGroundIC.h
rename : src/server/game/BattleGroundMgr.cpp => src/server/game/BattleGrounds/BattleGroundMgr.cpp
rename : src/server/game/BattleGroundMgr.h => src/server/game/BattleGrounds/BattleGroundMgr.h
rename : src/server/game/BattleGroundNA.cpp => src/server/game/BattleGrounds/BattleGroundNA.cpp
rename : src/server/game/BattleGroundNA.h => src/server/game/BattleGrounds/BattleGroundNA.h
rename : src/server/game/BattleGroundRB.cpp => src/server/game/BattleGrounds/BattleGroundRB.cpp
rename : src/server/game/BattleGroundRB.h => src/server/game/BattleGrounds/BattleGroundRB.h
rename : src/server/game/BattleGroundRL.cpp => src/server/game/BattleGrounds/BattleGroundRL.cpp
rename : src/server/game/BattleGroundRL.h => src/server/game/BattleGrounds/BattleGroundRL.h
rename : src/server/game/BattleGroundRV.cpp => src/server/game/BattleGrounds/BattleGroundRV.cpp
rename : src/server/game/BattleGroundRV.h => src/server/game/BattleGrounds/BattleGroundRV.h
rename : src/server/game/BattleGroundSA.cpp => src/server/game/BattleGrounds/BattleGroundSA.cpp
rename : src/server/game/BattleGroundSA.h => src/server/game/BattleGrounds/BattleGroundSA.h
rename : src/server/game/BattleGroundWS.cpp => src/server/game/BattleGrounds/BattleGroundWS.cpp
rename : src/server/game/BattleGroundWS.h => src/server/game/BattleGrounds/BattleGroundWS.h
rename : src/server/game/Calendar.cpp => src/server/game/Calender/Calendar.cpp
rename : src/server/game/Calendar.h => src/server/game/Calender/Calendar.h
rename : src/server/game/CalendarHandler.cpp => src/server/game/Calender/CalendarHandler.cpp
rename : src/server/game/Channel.cpp => src/server/game/Chat/Channel.cpp
rename : src/server/game/Channel.h => src/server/game/Chat/Channel.h
rename : src/server/game/ChannelHandler.cpp => src/server/game/Chat/ChannelHandler.cpp
rename : src/server/game/ChannelMgr.cpp => src/server/game/Chat/ChannelMgr.cpp
rename : src/server/game/ChannelMgr.h => src/server/game/Chat/ChannelMgr.h
rename : src/server/game/Chat.cpp => src/server/game/Chat/Chat.cpp
rename : src/server/game/Chat.h => src/server/game/Chat/Chat.h
rename : src/server/game/ChatHandler.cpp => src/server/game/Chat/ChatHandler.cpp
rename : src/server/game/Debugcmds.cpp => src/server/game/Chat/Debugcmds.cpp
rename : src/server/game/Level0.cpp => src/server/game/Chat/Level0.cpp
rename : src/server/game/Level1.cpp => src/server/game/Chat/Level1.cpp
rename : src/server/game/Level2.cpp => src/server/game/Chat/Level2.cpp
rename : src/server/game/Level3.cpp => src/server/game/Chat/Level3.cpp
rename : src/server/game/CombatHandler.cpp => src/server/game/Combat/CombatHandler.cpp
rename : src/server/game/HostileRefManager.cpp => src/server/game/Combat/HostileRefManager.cpp
rename : src/server/game/HostileRefManager.h => src/server/game/Combat/HostileRefManager.h
rename : src/server/game/ThreatManager.cpp => src/server/game/Combat/ThreatManager.cpp
rename : src/server/game/ThreatManager.h => src/server/game/Combat/ThreatManager.h
rename : src/server/game/ConditionMgr.cpp => src/server/game/ConditionMgr/ConditionMgr.cpp
rename : src/server/game/ConditionMgr.h => src/server/game/ConditionMgr/ConditionMgr.h
rename : src/server/game/DBCEnums.h => src/server/game/DataStores/DBCEnums.h
rename : src/server/game/DBCStores.cpp => src/server/game/DataStores/DBCStores.cpp
rename : src/server/game/DBCStores.h => src/server/game/DataStores/DBCStores.h
rename : src/server/game/DBCStructure.h => src/server/game/DataStores/DBCStructure.h
rename : src/server/game/DBCfmt.h => src/server/game/DataStores/DBCfmt.h
rename : src/server/game/Creature.cpp => src/server/game/Entities/Creature/Creature.cpp
rename : src/server/game/Creature.h => src/server/game/Entities/Creature/Creature.h
rename : src/server/game/CreatureGroups.cpp => src/server/game/Entities/Creature/CreatureGroups.cpp
rename : src/server/game/CreatureGroups.h => src/server/game/Entities/Creature/CreatureGroups.h
rename : src/server/game/GossipDef.cpp => src/server/game/Entities/Creature/GossipDef.cpp
rename : src/server/game/GossipDef.h => src/server/game/Entities/Creature/GossipDef.h
rename : src/server/game/NPCHandler.cpp => src/server/game/Entities/Creature/NPCHandler.cpp
rename : src/server/game/NPCHandler.h => src/server/game/Entities/Creature/NPCHandler.h
rename : src/server/game/TemporarySummon.cpp => src/server/game/Entities/Creature/TemporarySummon.cpp
rename : src/server/game/TemporarySummon.h => src/server/game/Entities/Creature/TemporarySummon.h
rename : src/server/game/GameObject.cpp => src/server/game/Entities/GameObject/GameObject.cpp
rename : src/server/game/GameObject.h => src/server/game/Entities/GameObject/GameObject.h
rename : src/server/game/Bag.cpp => src/server/game/Entities/Item/Bag.cpp
rename : src/server/game/Bag.h => src/server/game/Entities/Item/Bag.h
rename : src/server/game/Item.cpp => src/server/game/Entities/Item/Item.cpp
rename : src/server/game/Item.h => src/server/game/Entities/Item/Item.h
rename : src/server/game/ItemEnchantmentMgr.cpp => src/server/game/Entities/Item/ItemEnchantmentMgr.cpp
rename : src/server/game/ItemEnchantmentMgr.h => src/server/game/Entities/Item/ItemEnchantmentMgr.h
rename : src/server/game/ItemHandler.cpp => src/server/game/Entities/Item/ItemHandler.cpp
rename : src/server/game/ItemPrototype.h => src/server/game/Entities/Item/ItemPrototype.h
rename : src/server/game/Corpse.cpp => src/server/game/Entities/Object/Corpse.cpp
rename : src/server/game/Corpse.h => src/server/game/Entities/Object/Corpse.h
rename : src/server/game/DynamicObject.cpp => src/server/game/Entities/Object/DynamicObject.cpp
rename : src/server/game/DynamicObject.h => src/server/game/Entities/Object/DynamicObject.h
rename : src/server/game/Object.cpp => src/server/game/Entities/Object/Object.cpp
rename : src/server/game/Object.h => src/server/game/Entities/Object/Object.h
rename : src/server/game/ObjectAccessor.cpp => src/server/game/Entities/Object/ObjectAccessor.cpp
rename : src/server/game/ObjectAccessor.h => src/server/game/Entities/Object/ObjectAccessor.h
rename : src/server/game/ObjectDefines.h => src/server/game/Entities/Object/ObjectDefines.h
rename : src/server/game/ObjectMgr.cpp => src/server/game/Entities/Object/ObjectMgr.cpp
rename : src/server/game/ObjectMgr.h => src/server/game/Entities/Object/ObjectMgr.h
rename : src/server/game/UpdateData.cpp => src/server/game/Entities/Object/UpdateData.cpp
rename : src/server/game/UpdateData.h => src/server/game/Entities/Object/UpdateData.h
rename : src/server/game/UpdateFields.h => src/server/game/Entities/Object/UpdateFields.h
rename : src/server/game/UpdateMask.h => src/server/game/Entities/Object/UpdateMask.h
rename : src/server/game/Pet.cpp => src/server/game/Entities/Pet/Pet.cpp
rename : src/server/game/Pet.h => src/server/game/Entities/Pet/Pet.h
rename : src/server/game/PetHandler.cpp => src/server/game/Entities/Pet/PetHandler.cpp
rename : src/server/game/CharacterHandler.cpp => src/server/game/Entities/Player/CharacterHandler.cpp
rename : src/server/game/DuelHandler.cpp => src/server/game/Entities/Player/DuelHandler.cpp
rename : src/server/game/MiscHandler.cpp => src/server/game/Entities/Player/MiscHandler.cpp
rename : src/server/game/PetitionsHandler.cpp => src/server/game/Entities/Player/PetitionsHandler.cpp
rename : src/server/game/Player.cpp => src/server/game/Entities/Player/Player.cpp
rename : src/server/game/Player.h => src/server/game/Entities/Player/Player.h
rename : src/server/game/SocialMgr.cpp => src/server/game/Entities/Player/SocialMgr.cpp
rename : src/server/game/SocialMgr.h => src/server/game/Entities/Player/SocialMgr.h
rename : src/server/game/TicketHandler.cpp => src/server/game/Entities/Player/TicketHandler.cpp
rename : src/server/game/TradeHandler.cpp => src/server/game/Entities/Player/TradeHandler.cpp
rename : src/server/game/VoiceChatHandler.cpp => src/server/game/Entities/Player/VoiceChatHandler.cpp
rename : src/server/game/Totem.cpp => src/server/game/Entities/Totem/Totem.cpp
rename : src/server/game/Totem.h => src/server/game/Entities/Totem/Totem.h
rename : src/server/game/StatSystem.cpp => src/server/game/Entities/Unit/StatSystem.cpp
rename : src/server/game/Unit.cpp => src/server/game/Entities/Unit/Unit.cpp
rename : src/server/game/Unit.h => src/server/game/Entities/Unit/Unit.h
rename : src/server/game/Vehicle.cpp => src/server/game/Entities/Vehicle/Vehicle.cpp
rename : src/server/game/Vehicle.h => src/server/game/Entities/Vehicle/Vehicle.h
rename : src/server/game/GameEventMgr.cpp => src/server/game/Events/GameEventMgr.cpp
rename : src/server/game/GameEventMgr.h => src/server/game/Events/GameEventMgr.h
rename : src/server/game/GlobalEvents.cpp => src/server/game/Events/GlobalEvents.cpp
rename : src/server/game/GlobalEvents.h => src/server/game/Events/GlobalEvents.h
rename : src/server/game/UnitEvents.h => src/server/game/Events/UnitEvents.h
rename : src/server/game/Formulas.h => src/server/game/Globals/Formulas.h
rename : src/server/game/Language.h => src/server/game/Globals/Language.h
rename : src/server/game/SharedDefines.h => src/server/game/Globals/SharedDefines.h
rename : src/server/game/Group.cpp => src/server/game/Groups/Group.cpp
rename : src/server/game/Group.h => src/server/game/Groups/Group.h
rename : src/server/game/GroupHandler.cpp => src/server/game/Groups/GroupHandler.cpp
rename : src/server/game/GroupRefManager.h => src/server/game/Groups/GroupRefManager.h
rename : src/server/game/GroupReference.cpp => src/server/game/Groups/GroupReference.cpp
rename : src/server/game/GroupReference.h => src/server/game/Groups/GroupReference.h
rename : src/server/game/Guild.cpp => src/server/game/Guilds/Guild.cpp
rename : src/server/game/Guild.h => src/server/game/Guilds/Guild.h
rename : src/server/game/GuildHandler.cpp => src/server/game/Guilds/GuildHandler.cpp
rename : src/server/game/InstanceData.cpp => src/server/game/Instances/InstanceData.cpp
rename : src/server/game/InstanceData.h => src/server/game/Instances/InstanceData.h
rename : src/server/game/InstanceSaveMgr.cpp => src/server/game/Instances/InstanceSaveMgr.cpp
rename : src/server/game/InstanceSaveMgr.h => src/server/game/Instances/InstanceSaveMgr.h
rename : src/server/game/LFG.h => src/server/game/LookingForGroup/LFG.h
rename : src/server/game/LFGHandler.cpp => src/server/game/LookingForGroup/LFGHandler.cpp
rename : src/server/game/LFGMgr.cpp => src/server/game/LookingForGroup/LFGMgr.cpp
rename : src/server/game/LFGMgr.h => src/server/game/LookingForGroup/LFGMgr.h
rename : src/server/game/LootHandler.cpp => src/server/game/Loot/LootHandler.cpp
rename : src/server/game/LootMgr.cpp => src/server/game/Loot/LootMgr.cpp
rename : src/server/game/LootMgr.h => src/server/game/Loot/LootMgr.h
rename : src/server/game/Mail.cpp => src/server/game/Mails/Mail.cpp
rename : src/server/game/Mail.h => src/server/game/Mails/Mail.h
rename : src/server/game/Cell.h => src/server/game/Map/Cell/Cell.h
rename : src/server/game/CellImpl.h => src/server/game/Map/Cell/CellImpl.h
rename : src/server/game/GridDefines.h => src/server/game/Map/Grid/GridDefines.h
rename : src/server/game/GridNotifiers.cpp => src/server/game/Map/Grid/GridNotifiers.cpp
rename : src/server/game/GridNotifiers.h => src/server/game/Map/Grid/GridNotifiers.h
rename : src/server/game/GridNotifiersImpl.h => src/server/game/Map/Grid/GridNotifiersImpl.h
rename : src/server/game/GridStates.cpp => src/server/game/Map/Grid/GridStates.cpp
rename : src/server/game/GridStates.h => src/server/game/Map/Grid/GridStates.h
rename : src/server/game/ObjectGridLoader.cpp => src/server/game/Map/Grid/ObjectGridLoader.cpp
rename : src/server/game/ObjectGridLoader.h => src/server/game/Map/Grid/ObjectGridLoader.h
rename : src/server/game/Map.cpp => src/server/game/Map/Map.cpp
rename : src/server/game/Map.h => src/server/game/Map/Map.h
rename : src/server/game/MapInstanced.cpp => src/server/game/Map/MapInstanced.cpp
rename : src/server/game/MapInstanced.h => src/server/game/Map/MapInstanced.h
rename : src/server/game/MapManager.cpp => src/server/game/Map/MapManager.cpp
rename : src/server/game/MapManager.h => src/server/game/Map/MapManager.h
rename : src/server/game/MapRefManager.h => src/server/game/Map/MapRefManager.h
rename : src/server/game/MapReference.h => src/server/game/Map/MapReference.h
rename : src/server/game/MapUpdater.cpp => src/server/game/Map/MapUpdater.cpp
rename : src/server/game/MapUpdater.h => src/server/game/Map/MapUpdater.h
rename : src/server/game/ObjectPosSelector.cpp => src/server/game/Map/ObjectPosSelector.cpp
rename : src/server/game/ObjectPosSelector.h => src/server/game/Map/ObjectPosSelector.h
rename : src/server/game/ZoneScript.h => src/server/game/Map/ZoneScript.h
rename : src/server/game/DestinationHolder.cpp => src/server/game/Movement/DestinationHolder.cpp
rename : src/server/game/DestinationHolder.h => src/server/game/Movement/DestinationHolder.h
rename : src/server/game/DestinationHolderImp.h => src/server/game/Movement/DestinationHolderImp.h
rename : src/server/game/FollowerRefManager.h => src/server/game/Movement/FollowerRefManager.h
rename : src/server/game/FollowerReference.cpp => src/server/game/Movement/FollowerReference.cpp
rename : src/server/game/FollowerReference.h => src/server/game/Movement/FollowerReference.h
rename : src/server/game/MotionMaster.cpp => src/server/game/Movement/MotionMaster.cpp
rename : src/server/game/MotionMaster.h => src/server/game/Movement/MotionMaster.h
rename : src/server/game/ConfusedMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
rename : src/server/game/ConfusedMovementGenerator.h => src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h
rename : src/server/game/FleeingMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
rename : src/server/game/FleeingMovementGenerator.h => src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h
rename : src/server/game/HomeMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
rename : src/server/game/HomeMovementGenerator.h => src/server/game/Movement/MovementGenerators/HomeMovementGenerator.h
rename : src/server/game/IdleMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
rename : src/server/game/IdleMovementGenerator.h => src/server/game/Movement/MovementGenerators/IdleMovementGenerator.h
rename : src/server/game/MovementGenerator.cpp => src/server/game/Movement/MovementGenerators/MovementGenerator.cpp
rename : src/server/game/MovementGenerator.h => src/server/game/Movement/MovementGenerators/MovementGenerator.h
rename : src/server/game/MovementGeneratorImpl.h => src/server/game/Movement/MovementGenerators/MovementGeneratorImpl.h
rename : src/server/game/PointMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
rename : src/server/game/PointMovementGenerator.h => src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
rename : src/server/game/RandomMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
rename : src/server/game/RandomMovementGenerator.h => src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
rename : src/server/game/TargetedMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
rename : src/server/game/TargetedMovementGenerator.h => src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
rename : src/server/game/WaypointMovementGenerator.cpp => src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
rename : src/server/game/WaypointMovementGenerator.h => src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
rename : src/server/game/MovementHandler.cpp => src/server/game/Movement/MovementHandler.cpp
rename : src/server/game/Path.h => src/server/game/Movement/Path.h
rename : src/server/game/TaxiHandler.cpp => src/server/game/Movement/TaxiHandler.cpp
rename : src/server/game/Transports.cpp => src/server/game/Movement/Transports.cpp
rename : src/server/game/Transports.h => src/server/game/Movement/Transports.h
rename : src/server/game/Traveller.h => src/server/game/Movement/Traveller.h
rename : src/server/game/WaypointManager.cpp => src/server/game/Movement/WaypointManager.cpp
rename : src/server/game/WaypointManager.h => src/server/game/Movement/WaypointManager.h
rename : src/server/game/Opcodes.cpp => src/server/game/Opcodes/Opcodes.cpp
rename : src/server/game/Opcodes.h => src/server/game/Opcodes/Opcodes.h
rename : src/server/game/OutdoorPvP.cpp => src/server/game/OutdoorPvP/OutdoorPvP.cpp
rename : src/server/game/OutdoorPvP.h => src/server/game/OutdoorPvP/OutdoorPvP.h
rename : src/server/game/OutdoorPvPEP.cpp => src/server/game/OutdoorPvP/OutdoorPvPEP.cpp
rename : src/server/game/OutdoorPvPEP.h => src/server/game/OutdoorPvP/OutdoorPvPEP.h
rename : src/server/game/OutdoorPvPHP.cpp => src/server/game/OutdoorPvP/OutdoorPvPHP.cpp
rename : src/server/game/OutdoorPvPHP.h => src/server/game/OutdoorPvP/OutdoorPvPHP.h
rename : src/server/game/OutdoorPvPImpl.h => src/server/game/OutdoorPvP/OutdoorPvPImpl.h
rename : src/server/game/OutdoorPvPMgr.cpp => src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp
rename : src/server/game/OutdoorPvPMgr.h => src/server/game/OutdoorPvP/OutdoorPvPMgr.h
rename : src/server/game/OutdoorPvPNA.cpp => src/server/game/OutdoorPvP/OutdoorPvPNA.cpp
rename : src/server/game/OutdoorPvPNA.h => src/server/game/OutdoorPvP/OutdoorPvPNA.h
rename : src/server/game/OutdoorPvPSI.cpp => src/server/game/OutdoorPvP/OutdoorPvPSI.cpp
rename : src/server/game/OutdoorPvPSI.h => src/server/game/OutdoorPvP/OutdoorPvPSI.h
rename : src/server/game/OutdoorPvPTF.cpp => src/server/game/OutdoorPvP/OutdoorPvPTF.cpp
rename : src/server/game/OutdoorPvPTF.h => src/server/game/OutdoorPvP/OutdoorPvPTF.h
rename : src/server/game/OutdoorPvPZM.cpp => src/server/game/OutdoorPvP/OutdoorPvPZM.cpp
rename : src/server/game/OutdoorPvPZM.h => src/server/game/OutdoorPvP/OutdoorPvPZM.h
rename : src/server/game/PoolHandler.cpp => src/server/game/Pools/PoolHandler.cpp
rename : src/server/game/PoolHandler.h => src/server/game/Pools/PoolHandler.h
rename : src/server/game/pchdef.cpp => src/server/game/PrecompiledHeaders/pchdef.cpp
rename : src/server/game/pchdef.h => src/server/game/PrecompiledHeaders/pchdef.h
rename : src/server/game/pchlinux.cpp => src/server/game/PrecompiledHeaders/pchlinux.cpp
rename : src/server/game/pchlinux.h => src/server/game/PrecompiledHeaders/pchlinux.h
rename : src/server/game/QueryHandler.cpp => src/server/game/Quests/QueryHandler.cpp
rename : src/server/game/QuestDef.cpp => src/server/game/Quests/QuestDef.cpp
rename : src/server/game/QuestDef.h => src/server/game/Quests/QuestDef.h
rename : src/server/game/QuestHandler.cpp => src/server/game/Quests/QuestHandler.cpp
rename : src/server/game/ReputationMgr.cpp => src/server/game/Reputation/ReputationMgr.cpp
rename : src/server/game/ReputationMgr.h => src/server/game/Reputation/ReputationMgr.h
rename : src/server/game/ScriptLoader.cpp => src/server/game/ScriptMgr/ScriptLoader.cpp
rename : src/server/game/ScriptLoader.h => src/server/game/ScriptMgr/ScriptLoader.h
rename : src/server/game/ScriptMgr.cpp => src/server/game/ScriptMgr/ScriptMgr.cpp
rename : src/server/game/ScriptMgr.h => src/server/game/ScriptMgr/ScriptMgr.h
rename : src/server/game/ScriptSystem.cpp => src/server/game/ScriptMgr/ScriptSystem.cpp
rename : src/server/game/ScriptSystem.h => src/server/game/ScriptMgr/ScriptSystem.h
rename : src/server/game/ScriptedPch.cpp => src/server/game/ScriptMgr/ScriptedPch.cpp
rename : src/server/game/ScriptedPch.h => src/server/game/ScriptMgr/ScriptedPch.h
rename : src/server/game/SkillDiscovery.cpp => src/server/game/Skills/SkillDiscovery.cpp
rename : src/server/game/SkillDiscovery.h => src/server/game/Skills/SkillDiscovery.h
rename : src/server/game/SkillExtraItems.cpp => src/server/game/Skills/SkillExtraItems.cpp
rename : src/server/game/SkillExtraItems.h => src/server/game/Skills/SkillExtraItems.h
rename : src/server/game/SkillHandler.cpp => src/server/game/Skills/SkillHandler.cpp
rename : src/server/game/SpellAuraDefines.h => src/server/game/Spells/Auras/SpellAuraDefines.h
rename : src/server/game/SpellAuraEffects.cpp => src/server/game/Spells/Auras/SpellAuraEffects.cpp
rename : src/server/game/SpellAuraEffects.h => src/server/game/Spells/Auras/SpellAuraEffects.h
rename : src/server/game/SpellAuras.cpp => src/server/game/Spells/Auras/SpellAuras.cpp
rename : src/server/game/SpellAuras.h => src/server/game/Spells/Auras/SpellAuras.h
rename : src/server/game/SpellEffects.cpp => src/server/game/Spells/Auras/SpellEffects.cpp
rename : src/server/game/Spell.cpp => src/server/game/Spells/Spell.cpp
rename : src/server/game/Spell.h => src/server/game/Spells/Spell.h
rename : src/server/game/SpellHandler.cpp => src/server/game/Spells/SpellHandler.cpp
rename : src/server/game/SpellMgr.cpp => src/server/game/Spells/SpellMgr.cpp
rename : src/server/game/SpellMgr.h => src/server/game/Spells/SpellMgr.h
rename : src/server/game/PlayerDump.cpp => src/server/game/Tools/PlayerDump.cpp
rename : src/server/game/PlayerDump.h => src/server/game/Tools/PlayerDump.h
rename : src/server/game/Tools.cpp => src/server/game/Tools/Tools.cpp
rename : src/server/game/Tools.h => src/server/game/Tools/Tools.h
rename : src/server/game/Weather.cpp => src/server/game/Weather/Weather.cpp
rename : src/server/game/Weather.h => src/server/game/Weather/Weather.h
rename : src/server/game/TimeMgr.cpp => src/server/game/World/TimeMgr.cpp
rename : src/server/game/TimeMgr.h => src/server/game/World/TimeMgr.h
rename : src/server/game/World.cpp => src/server/game/World/World.cpp
rename : src/server/game/World.h => src/server/game/World/World.h
rename : src/server/game/WorldLog.cpp => src/server/game/World/WorldLog.cpp
rename : src/server/game/WorldLog.h => src/server/game/World/WorldLog.h
rename : src/server/game/WorldSession.cpp => src/server/game/World/WorldSession.cpp
rename : src/server/game/WorldSession.h => src/server/game/World/WorldSession.h
rename : src/server/game/WorldSocket.cpp => src/server/game/World/WorldSocket.cpp
rename : src/server/game/WorldSocket.h => src/server/game/World/WorldSocket.h
rename : src/server/game/WorldSocketMgr.cpp => src/server/game/World/WorldSocketMgr.cpp
rename : src/server/game/WorldSocketMgr.h => src/server/game/World/WorldSocketMgr.h
Diffstat (limited to 'src/server/game/Reputation/ReputationMgr.cpp')
-rw-r--r-- | src/server/game/Reputation/ReputationMgr.cpp | 547 |
1 files changed, 547 insertions, 0 deletions
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp new file mode 100644 index 00000000000..9d363921f4c --- /dev/null +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -0,0 +1,547 @@ +/* + * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> + * + * 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 "ReputationMgr.h" +#include "DBCStores.h" +#include "Player.h" +#include "WorldPacket.h" +#include "World.h" + +const int32 ReputationMgr::PointsInRank[MAX_REPUTATION_RANK] = {36000, 3000, 3000, 3000, 6000, 12000, 21000, 1000}; + +ReputationRank ReputationMgr::ReputationToRank(int32 standing) +{ + int32 limit = Reputation_Cap + 1; + for (int i = MAX_REPUTATION_RANK-1; i >= MIN_REPUTATION_RANK; --i) + { + limit -= PointsInRank[i]; + if (standing >= limit) + return ReputationRank(i); + } + return MIN_REPUTATION_RANK; +} + +int32 ReputationMgr::GetReputation(uint32 faction_id) const +{ + FactionEntry const *factionEntry = sFactionStore.LookupEntry(faction_id); + + if (!factionEntry) + { + sLog.outError("ReputationMgr::GetReputation: Can't get reputation of %s for unknown faction (faction id) #%u.",m_player->GetName(), faction_id); + return 0; + } + + return GetReputation(factionEntry); +} + +int32 ReputationMgr::GetBaseReputation(FactionEntry const* factionEntry) const +{ + if (!factionEntry) + return 0; + + uint32 raceMask = m_player->getRaceMask(); + uint32 classMask = m_player->getClassMask(); + for (int i=0; i < 4; i++) + { + if ((factionEntry->BaseRepRaceMask[i] & raceMask || + (factionEntry->BaseRepRaceMask[i] == 0 && + factionEntry->BaseRepClassMask[i] != 0)) && + (factionEntry->BaseRepClassMask[i] & classMask || + factionEntry->BaseRepClassMask[i] == 0) +) + return factionEntry->BaseRepValue[i]; + } + + // in faction.dbc exist factions with (RepListId >=0, listed in character reputation list) with all BaseRepRaceMask[i] == 0 + return 0; +} + +int32 ReputationMgr::GetReputation(FactionEntry const* factionEntry) const +{ + // Faction without recorded reputation. Just ignore. + if (!factionEntry) + return 0; + + if (FactionState const* state = GetState(factionEntry)) + return GetBaseReputation(factionEntry) + state->Standing; + + return 0; +} + +ReputationRank ReputationMgr::GetRank(FactionEntry const* factionEntry) const +{ + int32 reputation = GetReputation(factionEntry); + return ReputationToRank(reputation); +} + +ReputationRank ReputationMgr::GetBaseRank(FactionEntry const* factionEntry) const +{ + int32 reputation = GetBaseReputation(factionEntry); + return ReputationToRank(reputation); +} + +void ReputationMgr::ApplyForceReaction(uint32 faction_id,ReputationRank rank,bool apply) +{ + if (apply) + m_forcedReactions[faction_id] = rank; + else + m_forcedReactions.erase(faction_id); +} + +uint32 ReputationMgr::GetDefaultStateFlags(FactionEntry const* factionEntry) const +{ + if (!factionEntry) + return 0; + + uint32 raceMask = m_player->getRaceMask(); + uint32 classMask = m_player->getClassMask(); + for (int i=0; i < 4; i++) + { + if ((factionEntry->BaseRepRaceMask[i] & raceMask || + (factionEntry->BaseRepRaceMask[i] == 0 && + factionEntry->BaseRepClassMask[i] != 0)) && + (factionEntry->BaseRepClassMask[i] & classMask || + factionEntry->BaseRepClassMask[i] == 0) +) + return factionEntry->ReputationFlags[i]; + } + return 0; +} + +void ReputationMgr::SendForceReactions() +{ + WorldPacket data; + data.Initialize(SMSG_SET_FORCED_REACTIONS, 4+m_forcedReactions.size()*(4+4)); + data << uint32(m_forcedReactions.size()); + for (ForcedReactions::const_iterator itr = m_forcedReactions.begin(); itr != m_forcedReactions.end(); ++itr) + { + data << uint32(itr->first); // faction_id (Faction.dbc) + data << uint32(itr->second); // reputation rank + } + m_player->SendDirectMessage(&data); +} + +void ReputationMgr::SendState(FactionState const* faction) const +{ + if (faction->Flags & FACTION_FLAG_VISIBLE) //If faction is visible then update it + { + WorldPacket data(SMSG_SET_FACTION_STANDING, (16)); // last check 2.4.0 + data << (float) 0; // unk 2.4.0 + data << (uint8) 0; // wotlk 8634 + data << (uint32) 1; // count + // for + data << (uint32) faction->ReputationListID; + data << (uint32) faction->Standing; + // end for + m_player->SendDirectMessage(&data); + } +} + +void ReputationMgr::SendInitialReputations() +{ + WorldPacket data(SMSG_INITIALIZE_FACTIONS, (4+128*5)); + data << uint32 (0x00000080); + + RepListID a = 0; + + for (FactionStateList::const_iterator itr = m_factions.begin(); itr != m_factions.end(); ++itr) + { + // fill in absent fields + for (; a != itr->first; a++) + { + data << uint8 (0x00); + data << uint32 (0x00000000); + } + + // fill in encountered data + data << uint8 (itr->second.Flags); + data << uint32 (itr->second.Standing); + + ++a; + } + + // fill in absent fields + for (; a != 128; a++) + { + data << uint8 (0x00); + data << uint32 (0x00000000); + } + + m_player->SendDirectMessage(&data); +} + +void ReputationMgr::SendStates() const +{ + for (FactionStateList::const_iterator itr = m_factions.begin(); itr != m_factions.end(); ++itr) + SendState(&(itr->second)); +} + +void ReputationMgr::SendVisible(FactionState const* faction) const +{ + if (m_player->GetSession()->PlayerLoading()) + return; + + // make faction visible in reputation list at client + WorldPacket data(SMSG_SET_FACTION_VISIBLE, 4); + data << faction->ReputationListID; + m_player->SendDirectMessage(&data); +} + +void ReputationMgr::Initialize() +{ + m_factions.clear(); + m_visibleFactionCount = 0; + m_honoredFactionCount = 0; + m_reveredFactionCount = 0; + m_exaltedFactionCount = 0; + + for (unsigned int i = 1; i < sFactionStore.GetNumRows(); i++) + { + FactionEntry const *factionEntry = sFactionStore.LookupEntry(i); + + if (factionEntry && (factionEntry->reputationListID >= 0)) + { + FactionState newFaction; + newFaction.ID = factionEntry->ID; + newFaction.ReputationListID = factionEntry->reputationListID; + newFaction.Standing = 0; + newFaction.Flags = GetDefaultStateFlags(factionEntry); + newFaction.Changed = true; + + if (newFaction.Flags & FACTION_FLAG_VISIBLE) + ++m_visibleFactionCount; + + UpdateRankCounters(REP_HOSTILE,GetBaseRank(factionEntry)); + + m_factions[newFaction.ReputationListID] = newFaction; + } + } +} + +bool ReputationMgr::SetReputation(FactionEntry const* factionEntry, int32 standing, bool incremental) +{ + // Determines whether or not the faction is part of a team or the leader of a team. + bool isTeamMember = false; + + // Return variable for the function + bool res = false; + + SimpleFactionsList const* flist = GetFactionTeamList(factionEntry->ID, isTeamMember); + // Determines whether reputation should be sent to team parent or other team members. + int8 extraTarget = (isTeamMember || !flist ? -1 : 0); // 0 = Give equal amount of reputation to anyone in the team (unhandled cases). + + /* When gaining reputation with some factions, you receive a reputation increase + towards other reputations for that group. + */ + uint32 team = factionEntry->team; + + int32 sharedStanding = standing; // Here we decide what the amount is to send to the others of the group. + switch(factionEntry->ID) + { + case 1037: // Alliance Vanguard + case 1052: // Horde Expedition + extraTarget = -1; // Make possible to earn rep with this two factions + break; + + } + switch(team) + { + case HORDE: // When earning reputation with home city factions, 25% of the earned reputation + case ALLIANCE: // is added to others of your alliance. (http://www.wowwiki.com/Reputation) + sharedStanding *= 0.25f; + extraTarget = 1; + break; + case 1037: // Alliance Vanguard + case 1052: // Horde Expedition + sharedStanding *= 0.5f; // Half of the reputation earned by any of the four subfactions of this team will + extraTarget = 2; // be added to the main faction. (http://www.wowwiki.com/Alliance_Vanguard) + break; + } + + FactionEntry const *targetFaction = NULL; + switch(extraTarget) + { + case 0: // To entire team + { + for (SimpleFactionsList::const_iterator itr = flist->begin(); itr != flist->end(); ++itr) + { + targetFaction = sFactionStore.LookupEntry(*itr); + ASSERT(targetFaction != NULL); + res = SetOneFactionReputation(targetFaction, sharedStanding, incremental); + } + return res; + }break; + case 1: // To other team members + { + for (SimpleFactionsList::const_iterator itr = flist->begin(); itr != flist->end(); ++itr) + { + if ((*itr) == factionEntry->ID) // Not to self + continue; + + targetFaction = sFactionStore.LookupEntry(*itr); + ASSERT(targetFaction != NULL); + res = SetOneFactionReputation(targetFaction, sharedStanding, incremental); + } + }break; + case 2: // Extra rep to team parent. + { + targetFaction = sFactionStore.LookupEntry(team); + ASSERT(targetFaction != NULL); + res = SetOneFactionReputation(targetFaction, sharedStanding, incremental); + } + break; + default: // -1 Default case, 1 faction + return SetOneFactionReputation(factionEntry, standing, incremental); + break; + } + + return (SetOneFactionReputation(factionEntry, standing, incremental) && res); +} + +bool ReputationMgr::SetOneFactionReputation(FactionEntry const* factionEntry, int32 standing, bool incremental) +{ + FactionStateList::iterator itr = m_factions.find(factionEntry->reputationListID); + if (itr != m_factions.end()) + { + int32 BaseRep = GetBaseReputation(factionEntry); + + if (incremental) + { + // int32 *= float cause one point loss? + standing = floor((float)standing * sWorld.getRate(RATE_REPUTATION_GAIN) + 0.5); + standing += itr->second.Standing + BaseRep; + } + + if (standing > Reputation_Cap) + standing = Reputation_Cap; + else if (standing < Reputation_Bottom) + standing = Reputation_Bottom; + + ReputationRank old_rank = ReputationToRank(itr->second.Standing + BaseRep); + ReputationRank new_rank = ReputationToRank(standing); + + itr->second.Standing = standing - BaseRep; + itr->second.Changed = true; + + SetVisible(&itr->second); + + if (new_rank <= REP_HOSTILE) + SetAtWar(&itr->second,true); + + SendState(&itr->second); + + UpdateRankCounters(old_rank, new_rank); + + m_player->ReputationChanged(factionEntry); + m_player->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS, factionEntry->ID); + m_player->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION, factionEntry->ID); + m_player->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION,factionEntry->ID); + m_player->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION,factionEntry->ID); + m_player->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION,factionEntry->ID); + + return true; + } + return false; +} + +void ReputationMgr::SetVisible(FactionTemplateEntry const*factionTemplateEntry) +{ + if (!factionTemplateEntry->faction) + return; + + if (FactionEntry const *factionEntry = sFactionStore.LookupEntry(factionTemplateEntry->faction)) + // Never show factions of the opposing team + if (!(factionEntry->BaseRepRaceMask[1] & m_player->getRaceMask() && factionEntry->BaseRepValue[1] == Reputation_Bottom)) + SetVisible(factionEntry); +} + +void ReputationMgr::SetVisible(FactionEntry const *factionEntry) +{ + if (factionEntry->reputationListID < 0) + return; + + FactionStateList::iterator itr = m_factions.find(factionEntry->reputationListID); + if (itr == m_factions.end()) + return; + + SetVisible(&itr->second); +} + +void ReputationMgr::SetVisible(FactionState* faction) +{ + // always invisible or hidden faction can't be make visible + // except if faction has FACTION_FLAG_SPECIAL + if (faction->Flags & (FACTION_FLAG_INVISIBLE_FORCED|FACTION_FLAG_HIDDEN) && !(faction->Flags & FACTION_FLAG_SPECIAL)) + return; + + // already set + if (faction->Flags & FACTION_FLAG_VISIBLE) + return; + + faction->Flags |= FACTION_FLAG_VISIBLE; + faction->Changed = true; + + ++m_visibleFactionCount; + + SendVisible(faction); +} + +void ReputationMgr::SetAtWar(RepListID repListID, bool on) +{ + FactionStateList::iterator itr = m_factions.find(repListID); + if (itr == m_factions.end()) + return; + + // always invisible or hidden faction can't change war state + if (itr->second.Flags & (FACTION_FLAG_INVISIBLE_FORCED|FACTION_FLAG_HIDDEN)) + return; + + SetAtWar(&itr->second,on); +} + +void ReputationMgr::SetAtWar(FactionState* faction, bool atWar) +{ + // not allow declare war to own faction + if (atWar && (faction->Flags & FACTION_FLAG_PEACE_FORCED)) + return; + + // already set + if (((faction->Flags & FACTION_FLAG_AT_WAR) != 0) == atWar) + return; + + if (atWar) + faction->Flags |= FACTION_FLAG_AT_WAR; + else + faction->Flags &= ~FACTION_FLAG_AT_WAR; + + faction->Changed = true; +} + +void ReputationMgr::SetInactive(RepListID repListID, bool on) +{ + FactionStateList::iterator itr = m_factions.find(repListID); + if (itr == m_factions.end()) + return; + + SetInactive(&itr->second,on); +} + +void ReputationMgr::SetInactive(FactionState* faction, bool inactive) +{ + // always invisible or hidden faction can't be inactive + if (inactive && ((faction->Flags & (FACTION_FLAG_INVISIBLE_FORCED|FACTION_FLAG_HIDDEN)) || !(faction->Flags & FACTION_FLAG_VISIBLE))) + return; + + // already set + if (((faction->Flags & FACTION_FLAG_INACTIVE) != 0) == inactive) + return; + + if (inactive) + faction->Flags |= FACTION_FLAG_INACTIVE; + else + faction->Flags &= ~FACTION_FLAG_INACTIVE; + + faction->Changed = true; +} + +void ReputationMgr::LoadFromDB(QueryResult_AutoPtr result) +{ + // Set initial reputations (so everything is nifty before DB data load) + Initialize(); + + //QueryResult *result = CharacterDatabase.PQuery("SELECT faction,standing,flags FROM character_reputation WHERE guid = '%u'",GetGUIDLow()); + + if (result) + { + do + { + Field *fields = result->Fetch(); + + FactionEntry const *factionEntry = sFactionStore.LookupEntry(fields[0].GetUInt32()); + if (factionEntry && (factionEntry->reputationListID >= 0)) + { + FactionState* faction = &m_factions[factionEntry->reputationListID]; + + // update standing to current + faction->Standing = int32(fields[1].GetUInt32()); + + // update counters + int32 BaseRep = GetBaseReputation(factionEntry); + ReputationRank old_rank = ReputationToRank(BaseRep); + ReputationRank new_rank = ReputationToRank(BaseRep + faction->Standing); + UpdateRankCounters(old_rank,new_rank); + + uint32 dbFactionFlags = fields[2].GetUInt32(); + + if (dbFactionFlags & FACTION_FLAG_VISIBLE) + SetVisible(faction); // have internal checks for forced invisibility + + if (dbFactionFlags & FACTION_FLAG_INACTIVE) + SetInactive(faction,true); // have internal checks for visibility requirement + + if (dbFactionFlags & FACTION_FLAG_AT_WAR) // DB at war + SetAtWar(faction,true); // have internal checks for FACTION_FLAG_PEACE_FORCED + else // DB not at war + { + // allow remove if visible (and then not FACTION_FLAG_INVISIBLE_FORCED or FACTION_FLAG_HIDDEN) + if (faction->Flags & FACTION_FLAG_VISIBLE) + SetAtWar(faction,false); // have internal checks for FACTION_FLAG_PEACE_FORCED + } + + // set atWar for hostile + if (GetRank(factionEntry) <= REP_HOSTILE) + SetAtWar(faction,true); + + // reset changed flag if values similar to saved in DB + if (faction->Flags == dbFactionFlags) + faction->Changed = false; + } + } + while (result->NextRow()); + } +} + +void ReputationMgr::SaveToDB() +{ + for (FactionStateList::iterator itr = m_factions.begin(); itr != m_factions.end(); ++itr) + { + if (itr->second.Changed) + { + CharacterDatabase.PExecute("DELETE FROM character_reputation WHERE guid = '%u' AND faction='%u'", m_player->GetGUIDLow(), itr->second.ID); + CharacterDatabase.PExecute("INSERT INTO character_reputation (guid,faction,standing,flags) VALUES ('%u', '%u', '%i', '%u')", m_player->GetGUIDLow(), itr->second.ID, itr->second.Standing, itr->second.Flags); + itr->second.Changed = false; + } + } +} + +void ReputationMgr::UpdateRankCounters(ReputationRank old_rank, ReputationRank new_rank) +{ + if (old_rank >= REP_EXALTED) + --m_exaltedFactionCount; + if (old_rank >= REP_REVERED) + --m_reveredFactionCount; + if (old_rank >= REP_HONORED) + --m_honoredFactionCount; + + if (new_rank >= REP_EXALTED) + ++m_exaltedFactionCount; + if (new_rank >= REP_REVERED) + ++m_reveredFactionCount; + if (new_rank >= REP_HONORED) + ++m_honoredFactionCount; +} |