rodecomp/Source/Client/SessionState.cpp
ragnarok-clanker 20ae1c861d Maintenance: Source reorganisation, part 1 of 3: Source/Contents into feature folders (375 units/headers moved). Path-only; includes
Batch #16619 by ragnarok-clanker: forced by an admin (1 lower score(s), 13 changed function(s)); checked with 460 compiled unit(s), including every includer of Source/Client/Mode/CGameMode.h, Source/Contents/Achievement/AchievementMgr.h, Source/Contents/Actors/ActorNameCard.h, Source/Contents/Actors/GameActor.h, Source/Contents/Actors/GndRiser.h, Source/Contents/Actors/GroundScope.h, Source/Contents/Actors/Item.h, Source/Contents/Actors/PlayerNameDictionary.h, Source/Contents/Actors/Resources/EquipmentResourceMgr.h, Source/Contents/AdventureGuide/AdventureGuideMgr.h, Source/Contents/CashEmotion/CashEmotionMgr.h, Source/Contents/Clan/ClanInfo.h, Source/Contents/CombatTypes.h, Source/Contents/Configuration/ConfigMgr.h, Source/Contents/Effects/Core/CellRangeEffect.h, Source/Contents/Effects/Core/ChangeSizeEffect.h, Source/Contents/Effects/Core/DummyEffectLauncher.h, Source/Contents/Effects/Core/Effect.h, Source/Contents/Effects/Core/EffectActor.h, Source/Contents/Effects/Core/EffectLists.h, Source/Contents/Effects/Core/EffectMaker.h, Source/Contents/Effects/Core/EffectMemoryMgr.h, Source/Contents/Effects/Core/EffectMessageId.h, Source/Contents/Effects/Core/EffectPoint.h, Source/Contents/Effects/Core/EffectPrimId.h, Source/Contents/Effects/Core/EffectTypes.h, Source/Contents/Effects/Core/MsgEffect.h, Source/Contents/Effects/Core/RagEffect.h, Source/Contents/Effects/Core/RagEffectState.h, Source/Contents/Effects/Core/ShowEffect.h, Source/Contents/Effects/Core/SquareRangeEffect.h, Source/Contents/Effects/EffectResourceSwitcher.h, Source/Contents/Effects/Particles/AnimatedEmitterEffect.h, Source/Contents/Effects/Particles/CharacterParticleBundle.h, Source/Contents/Effects/Particles/EZ2STREffect.h, Source/Contents/Effects/Particles/EZ2STREffectEx.h, Source/Contents/Effects/Particles/EffectEmitter.h, Source/Contents/Effects/Particles/EmitterEffect.h, Source/Contents/Effects/Particles/Particle.h, Source/Contents/Effects/Particles/ParticlePool.h, Source/Contents/Effects/Particles/SpriteEffect.h, Source/Contents/Effects/Particles/SpriteParticle.h, Source/Contents/Effects/Primitives/EffectPrim.h, Source/Contents/Effects/Primitives/EffectPrimitiveMotion.h, Source/Contents/Effects/Primitives/EffectPrimitiveState.h, Source/Contents/Effects/RDamageVar.h, Source/Contents/Effects/Skills/AMachineEffect.h, Source/Contents/Effects/Skills/AcidifiedThrow.h, Source/Contents/Effects/Skills/ArrowEffect.h, Source/Contents/Effects/Skills/AstralStrikeEffect.h, Source/Contents/Effects/Skills/AxeBoomerang.h, Source/Contents/Effects/Skills/Bash.h, Source/Contents/Effects/Skills/BezierArcThrowEffect.h, Source/Contents/Effects/Skills/BindTrapEffect.h, Source/Contents/Effects/Skills/BlastForge.h, Source/Contents/Effects/Skills/CaneOfEvilEyeEffect.h, Source/Contents/Effects/Skills/CartCannon.h, Source/Contents/Effects/Skills/ChargingPierceEffect.h, Source/Contents/Effects/Skills/CherryBlossomEffect.h, Source/Contents/Effects/Skills/ClimaxEffect.h, Source/Contents/Effects/Skills/CloudEffect.h, Source/Contents/Effects/Skills/CloudKillEffect.h, Source/Contents/Effects/Skills/CommonFloorEffect.h, Source/Contents/Effects/Skills/Competentia.h, Source/Contents/Effects/Skills/CresciveBolt.h, Source/Contents/Effects/Skills/ElectricEffect.h, Source/Contents/Effects/Skills/EnergyOrbEffect.h, Source/Contents/Effects/Skills/EvilLandEffect.h, Source/Contents/Effects/Skills/EvilsPawEffect.h, Source/Contents/Effects/Skills/FlowerCastingEffect.h, Source/Contents/Effects/Skills/FortuneKissEffect.h, Source/Contents/Effects/Skills/FriggSongEffect.h, Source/Contents/Effects/Skills/FuumaShouakuEffect.h, Source/Contents/Effects/Skills/GlassWallEffect.h, Source/Contents/Effects/Skills/GravityControlEffect.h, Source/Contents/Effects/Skills/HealEffect.h, Source/Contents/Effects/Skills/HealSpEffect.h, Source/Contents/Effects/Skills/HitLineEffect.h, Source/Contents/Effects/Skills/JupitelThunderStormEffect.h, Source/Contents/Effects/Skills/Level150Effect.h, Source/Contents/Effects/Skills/Level99Effect.h, Source/Contents/Effects/Skills/Level99Orb1Effect.h, Source/Contents/Effects/Skills/Level99Orb2Effect.h, Source/Contents/Effects/Skills/LightSphereEffect.h, Source/Contents/Effects/Skills/MagicFloorEffect.h, Source/Contents/Effects/Skills/MagnumBreak.h, Source/Contents/Effects/Skills/MandraAttackEffect.h, Source/Contents/Effects/Skills/MapChainEffect.h, Source/Contents/Effects/Skills/MapMagicZoneEffect.h, Source/Contents/Effects/Skills/MappillarEffect.h, Source/Contents/Effects/Skills/MonsterSkillEffects.h, Source/Contents/Effects/Skills/NyanggrassEffect.h, Source/Contents/Effects/Skills/PartyMemberEffects.h, Source/Contents/Effects/Skills/PokJukEffect.h, Source/Contents/Effects/Skills/PowderingEffect.h, Source/Contents/Effects/Skills/RainbowEffect.h, Source/Contents/Effects/Skills/RectUpEffect.h, Source/Contents/Effects/Skills/RedLineEffect.h, Source/Contents/Effects/Skills/RichManKim.h, Source/Contents/Effects/Skills/RotateBgEffect.h, Source/Contents/Effects/Skills/RotateItemEffect.h, Source/Contents/Effects/Skills/RotateLineEffect.h, Source/Contents/Effects/Skills/SaintCastingEffect.h, Source/Contents/Effects/Skills/ScatterEffect.h, Source/Contents/Effects/Skills/ShadowExceedEffect.h, Source/Contents/Effects/Skills/SkillEffects.h, Source/Contents/Effects/Skills/SmokeEffect.h, Source/Contents/Effects/Skills/SoulCollectEffect.h, Source/Contents/Effects/Skills/SoulUnityEffect.h, Source/Contents/Effects/Skills/SphereWind2Effect.h, Source/Contents/Effects/Skills/SphereWindEffect.h, Source/Contents/Effects/Skills/StarEffect.h, Source/Contents/Effects/Skills/StarEmperorEffect.h, Source/Contents/Effects/Skills/StealEffect.h, Source/Contents/Effects/Skills/StormCannonEffect.h, Source/Contents/Effects/Skills/StormGustEffect.h, Source/Contents/Effects/Skills/StormKickEffect.h, Source/Contents/Effects/Skills/SunStanceEffect.h, Source/Contents/Effects/Skills/TalismanMarkEffect.h, Source/Contents/Effects/Skills/TetraBallEffect.h, Source/Contents/Effects/Skills/ThrowEffects.h, Source/Contents/Effects/Skills/TriangleShotArrow.h, Source/Contents/Effects/Skills/ViolentQuakeEffect.h, Source/Contents/Effects/Skills/WhirlwindEffect.h, Source/Contents/Effects/Skills/WindEffect.h, Source/Contents/EntryQueue/EntryQueueMgr.h, Source/Contents/Events/CheckAttendanceMgr.h, Source/Contents/Events/RouletteMgr.h, Source/Contents/Events/ShowRankingScheduler.h, Source/Contents/Events/SpecialPopupMgr.h, Source/Contents/Guild/GuildInfo.h, Source/Contents/Guild/GuildMgr.h, Source/Contents/Guild/GuildTip.h, Source/Contents/Items/ClientItemLists.h, Source/Contents/Items/EnchantMgr.h, Source/Contents/Items/ItemDBToIDMgr.h, Source/Contents/Items/JobCodeForItem.h, Source/Contents/Map/FlyingShipRouteInfo.h, Source/Contents/Map/MapInfoMgr.h, Source/Contents/Map/MapPropertyMgr.h, Source/Contents/Map/MapSkyMgr.h, Source/Contents/Map/PrivateAirplaneMgr.h, Source/Contents/Map/TownInfoMgr.h, Source/Contents/Monster/ChampionMonsterMgr.h, Source/Contents/Movement/MovementRouteInterpolation.h, Source/Contents/Movement/TerrainPathSearch.h, Source/Contents/Navigation/NavigationManager.h, Source/Contents/Pet/PetEnums.h, Source/Contents/Pet/PetEvolutionMgr.h, Source/Contents/Quest/RenewQuestMgr.h, Source/Contents/Repute/ReputeMgr.h, Source/Contents/Repute/ReputeRecords.h, Source/Contents/Rodex/RodexMailStore.h, Source/Contents/RuneSystem/RuneSystem.h, Source/Contents/Skills/GraffiSkill.h, Source/Contents/Skin/SkinMgr.h, Source/Contents/Sprites/SpriteLayerDrawing.h, Source/Contents/Sprites/SpriteLayerOrder.h, Source/Contents/Sprites/SpriteRidingOffset.h, Source/Contents/Sprites/SpriteRidingPolicy.h, Source/Contents/Tables/ForbiddenWords.h, Source/Contents/Tables/MessageTable.h, Source/Contents/Tables/SimpleStringMgr.h, Source/Contents/Tables/TableMng.h, Source/Contents/Tables/TipBoxTitles.h, Source/Contents/Tables/TipOfTheDay.h, Source/Contents/Time/ServerTimeManager.h, Source/Contents/World/WorldViewData.h, Source/UI/Guild/UIGuildWnd.h, Source/UI/Lists/UIScrollBarVariants.h, Source/UI/Rodex/UIRodexInboxWnd.h, Source/UI/RuneSystem/UIRuneSystemWindows.h, Source/UI/RuneSystem/UIRuneSystemWnd.h, Source/UI/Text/UIAchWnd.h, Source/UI/UIReputeWnd.h, Source/UI/Window/UINewMakeCharWnd.h, Source/UI/Window/UIRoMapWnd.h, Source/Utility/JsonCppLoader.h, Source/Contents/AchievementMgr.h, Source/Contents/ActorNameCard.h, Source/Contents/Actors/GraffiSkill.h, Source/Contents/Actors/PetEnums.h, Source/Contents/AdventureGuideMgr.h, Source/Contents/CashEmotionMgr.h, Source/Contents/ChampionMonsterMgr.h, Source/Contents/CheckAttendanceMgr.h, Source/Contents/ClanInfo.h, Source/Contents/ClientItemLists.h, Source/Contents/Combat/CombatTypes.h, Source/Contents/ConfigMgr.h, Source/Contents/EffectResourceSwitcher.h, Source/Contents/Effects/AMachineEffect.h, Source/Contents/Effects/AcidifiedThrow.h, Source/Contents/Effects/AnimatedEmitterEffect.h, Source/Contents/Effects/ArrowEffect.h, Source/Contents/Effects/AstralStrikeEffect.h, Source/Contents/Effects/AxeBoomerang.h, Source/Contents/Effects/Bash.h, Source/Contents/Effects/BezierArcThrowEffect.h, Source/Contents/Effects/BindTrapEffect.h, Source/Contents/Effects/BlastForge.h, Source/Contents/Effects/CaneOfEvilEyeEffect.h, Source/Contents/Effects/CartCannon.h, Source/Contents/Effects/CellRangeEffect.h, Source/Contents/Effects/ChangeSizeEffect.h, Source/Contents/Effects/CharacterParticleBundle.h, Source/Contents/Effects/ChargingPierceEffect.h, Source/Contents/Effects/CherryBlossomEffect.h, Source/Contents/Effects/ClimaxEffect.h, Source/Contents/Effects/CloudEffect.h, Source/Contents/Effects/CloudKillEffect.h, Source/Contents/Effects/CommonFloorEffect.h, Source/Contents/Effects/Competentia.h, Source/Contents/Effects/CresciveBolt.h, Source/Contents/Effects/DummyEffectLauncher.h, Source/Contents/Effects/EZ2STREffect.h, Source/Contents/Effects/EZ2STREffectEx.h, Source/Contents/Effects/Effect.h, Source/Contents/Effects/EffectActor.h, Source/Contents/Effects/EffectEmitter.h, Source/Contents/Effects/EffectLists.h, Source/Contents/Effects/EffectMaker.h, Source/Contents/Effects/EffectMemoryMgr.h, Source/Contents/Effects/EffectMessageId.h, Source/Contents/Effects/EffectPoint.h, Source/Contents/Effects/EffectPrim.h, Source/Contents/Effects/EffectPrimId.h, Source/Contents/Effects/EffectPrimitiveMotion.h, Source/Contents/Effects/EffectPrimitiveState.h, Source/Contents/Effects/EffectTypes.h, Source/Contents/Effects/ElectricEffect.h, Source/Contents/Effects/EmitterEffect.h, Source/Contents/Effects/EnergyOrbEffect.h, Source/Contents/Effects/EvilLandEffect.h, Source/Contents/Effects/EvilsPawEffect.h, Source/Contents/Effects/FlowerCastingEffect.h, Source/Contents/Effects/FortuneKissEffect.h, Source/Contents/Effects/FriggSongEffect.h, Source/Contents/Effects/FuumaShouakuEffect.h, Source/Contents/Effects/GlassWallEffect.h, Source/Contents/Effects/GravityControlEffect.h, Source/Contents/Effects/HealEffect.h, Source/Contents/Effects/HealSpEffect.h, Source/Contents/Effects/HitLineEffect.h, Source/Contents/Effects/JupitelThunderStormEffect.h, Source/Contents/Effects/Level150Effect.h, Source/Contents/Effects/Level99Effect.h, Source/Contents/Effects/Level99Orb1Effect.h, Source/Contents/Effects/Level99Orb2Effect.h, Source/Contents/Effects/LightSphereEffect.h, Source/Contents/Effects/MagicFloorEffect.h, Source/Contents/Effects/MagnumBreak.h, Source/Contents/Effects/MandraAttackEffect.h, Source/Contents/Effects/MapChainEffect.h, Source/Contents/Effects/MapMagicZoneEffect.h, Source/Contents/Effects/MappillarEffect.h, Source/Contents/Effects/MonsterSkillEffects.h, Source/Contents/Effects/MsgEffect.h, Source/Contents/Effects/NyanggrassEffect.h, Source/Contents/Effects/Particle.h, Source/Contents/Effects/ParticlePool.h, Source/Contents/Effects/PartyMemberEffects.h, Source/Contents/Effects/PokJukEffect.h, Source/Contents/Effects/PowderingEffect.h, Source/Contents/Effects/RagEffect.h, Source/Contents/Effects/RagEffectState.h, Source/Contents/Effects/RainbowEffect.h, Source/Contents/Effects/RectUpEffect.h, Source/Contents/Effects/RedLineEffect.h, Source/Contents/Effects/RichManKim.h, Source/Contents/Effects/RotateBgEffect.h, Source/Contents/Effects/RotateItemEffect.h, Source/Contents/Effects/RotateLineEffect.h, Source/Contents/Effects/SaintCastingEffect.h, Source/Contents/Effects/ScatterEffect.h, Source/Contents/Effects/ShadowExceedEffect.h, Source/Contents/Effects/ShowEffect.h, Source/Contents/Effects/SkillEffects.h, Source/Contents/Effects/SmokeEffect.h, Source/Contents/Effects/SoulCollectEffect.h, Source/Contents/Effects/SoulUnityEffect.h, Source/Contents/Effects/SphereWind2Effect.h, Source/Contents/Effects/SphereWindEffect.h, Source/Contents/Effects/SpriteEffect.h, Source/Contents/Effects/SpriteParticle.h, Source/Contents/Effects/SquareRangeEffect.h, Source/Contents/Effects/StarEffect.h, Source/Contents/Effects/StarEmperorEffect.h, Source/Contents/Effects/StealEffect.h, Source/Contents/Effects/StormCannonEffect.h, Source/Contents/Effects/StormGustEffect.h, Source/Contents/Effects/StormKickEffect.h, Source/Contents/Effects/SunStanceEffect.h, Source/Contents/Effects/TalismanMarkEffect.h, Source/Contents/Effects/TetraBallEffect.h, Source/Contents/Effects/ThrowEffects.h, Source/Contents/Effects/TriangleShotArrow.h, Source/Contents/Effects/ViolentQuakeEffect.h, Source/Contents/Effects/WhirlwindEffect.h, Source/Contents/Effects/WindEffect.h, Source/Contents/EnchantMgr.h, Source/Contents/EntryQueueMgr.h, Source/Contents/EquipmentResourceMgr.h, Source/Contents/FlyingShipRouteInfo.h, Source/Contents/ForbiddenWords.h, Source/Contents/GuildInfo.h, Source/Contents/GuildMgr.h, Source/Contents/GuildTip.h, Source/Contents/ItemDBToIDMgr.h, Source/Contents/Items/RuneSystem.h, Source/Contents/JobCodeForItem.h, Source/Contents/MapInfoMgr.h, Source/Contents/MapPropertyMgr.h, Source/Contents/MapSkyMgr.h, Source/Contents/MessageTable.h, Source/Contents/MovementRouteInterpolation.h, Source/Contents/NavigationManager.h, Source/Contents/PetEvolutionMgr.h, Source/Contents/PlayerNameDictionary.h, Source/Contents/PrivateAirplaneMgr.h, Source/Contents/RDamageVar.h, Source/Contents/RenewQuestMgr.h, Source/Contents/ReputeMgr.h, Source/Contents/ReputeRecords.h, Source/Contents/RodexMailStore.h, Source/Contents/RouletteMgr.h, Source/Contents/ServerTimeManager.h, Source/Contents/ShowRankingScheduler.h, Source/Contents/SimpleStringMgr.h, Source/Contents/SkinMgr.h, Source/Contents/SpecialPopupMgr.h, Source/Contents/SpriteLayerDrawing.h, Source/Contents/SpriteLayerOrder.h, Source/Contents/SpriteRidingOffset.h, Source/Contents/SpriteRidingPolicy.h, Source/Contents/TableMng.h, Source/Contents/TerrainPathSearch.h, Source/Contents/TipBoxTitles.h, Source/Contents/TipOfTheDay.h, Source/Contents/TownInfoMgr.h, Source/Contents/WorldView/WorldViewData.h.
Adds to the build: Source/Contents/Achievement/AchievementMgr.cpp, Source/Contents/Actors/ActorGeometry.cpp, Source/Contents/Actors/ActorNameCache.cpp, Source/Contents/Actors/ActorNameCard.cpp, Source/Contents/Actors/ActorNameDirectory.cpp, Source/Contents/Actors/ActorNameRequests.cpp, Source/Contents/Actors/PlayerNameDictionary.cpp, Source/Contents/Actors/Resources/BodyResources.cpp, Source/Contents/Actors/Resources/EquipmentResources.cpp, Source/Contents/Actors/Resources/HeadResources.cpp, Source/Contents/Actors/Resources/MonsterResources.cpp, Source/Contents/Actors/Resources/RobeResources.cpp, Source/Contents/Actors/Resources/StatusIconImages.cpp, Source/Contents/AdventureGuide/AdventureGuideMgr.cpp, Source/Contents/CashEmotion/CashEmotionMgr.cpp, Source/Contents/Clan/ClanInfo.cpp, Source/Contents/Configuration/ConfigMgr.cpp, Source/Contents/Effects/Core/CellRangeEffect.cpp, Source/Contents/Effects/Core/ChangeSizeEffect.cpp, Source/Contents/Effects/Core/DummyEffectLauncher.cpp, Source/Contents/Effects/Core/Effect.cpp, Source/Contents/Effects/Core/EffectActor.cpp, Source/Contents/Effects/Core/EffectAttachments.cpp, Source/Contents/Effects/Core/EffectForceRender.cpp, Source/Contents/Effects/Core/EffectLists.cpp, Source/Contents/Effects/Core/EffectMaker.cpp, Source/Contents/Effects/Core/EffectMemoryMgr.cpp, Source/Contents/Effects/Core/EffectTypes.cpp, Source/Contents/Effects/Core/EffectVisibility.cpp, Source/Contents/Effects/Core/MsgEffect.cpp, Source/Contents/Effects/Core/RagEffect.cpp, Source/Contents/Effects/Core/RagEffectInitialization.cpp, Source/Contents/Effects/Core/ShowEffect.cpp, Source/Contents/Effects/Core/SquareRangeEffect.cpp, Source/Contents/Effects/EffectResourceSwitcher.cpp, Source/Contents/Effects/Particles/AnimatedEmitterEffect.cpp, Source/Contents/Effects/Particles/CharacterParticleBundle.cpp, Source/Contents/Effects/Particles/EZ2STREffect.cpp, Source/Contents/Effects/Particles/EZ2STREffectEx.cpp, Source/Contents/Effects/Particles/EmitterEffect.cpp, Source/Contents/Effects/Particles/Particle.cpp, Source/Contents/Effects/Particles/ParticlePool.cpp, Source/Contents/Effects/Particles/SpriteEffect.cpp, Source/Contents/Effects/Particles/SpriteParticle.cpp, Source/Contents/Effects/Primitives/EffectPrim.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveArcs.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveColor.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveGlowSquares.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveMotion.cpp, Source/Contents/Effects/Primitives/EffectPrimitivePanels.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveRecords.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveRendering.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveSprites.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveState.cpp, Source/Contents/Effects/Primitives/EffectPrimitiveSweeps.cpp, Source/Contents/Effects/RDamageVar.cpp, Source/Contents/Effects/Skills/AMachineEffect.cpp, Source/Contents/Effects/Skills/AcidifiedThrow.cpp, Source/Contents/Effects/Skills/ArrowEffect.cpp, Source/Contents/Effects/Skills/AstralStrikeEffect.cpp, Source/Contents/Effects/Skills/AxeBoomerang.cpp, Source/Contents/Effects/Skills/Bash.cpp, Source/Contents/Effects/Skills/BezierArcThrowEffect.cpp, Source/Contents/Effects/Skills/BindTrapEffect.cpp, Source/Contents/Effects/Skills/BlastForge.cpp, Source/Contents/Effects/Skills/CaneOfEvilEyeEffect.cpp, Source/Contents/Effects/Skills/CartCannon.cpp, Source/Contents/Effects/Skills/ChargingPierceEffect.cpp, Source/Contents/Effects/Skills/CherryBlossomEffect.cpp, Source/Contents/Effects/Skills/ClimaxEffect.cpp, Source/Contents/Effects/Skills/CloudEffect.cpp, Source/Contents/Effects/Skills/CloudKillEffect.cpp, Source/Contents/Effects/Skills/CommonFloorEffect.cpp, Source/Contents/Effects/Skills/Competentia.cpp, Source/Contents/Effects/Skills/CresciveBolt.cpp, Source/Contents/Effects/Skills/ElectricEffect.cpp, Source/Contents/Effects/Skills/EnergyOrbEffect.cpp, Source/Contents/Effects/Skills/EvilLandEffect.cpp, Source/Contents/Effects/Skills/EvilsPawEffect.cpp, Source/Contents/Effects/Skills/FlowerCastingEffect.cpp, Source/Contents/Effects/Skills/FortuneKissEffect.cpp, Source/Contents/Effects/Skills/FriggSongEffect.cpp, Source/Contents/Effects/Skills/FuumaShouakuEffect.cpp, Source/Contents/Effects/Skills/GlassWallEffect.cpp, Source/Contents/Effects/Skills/HealEffect.cpp, Source/Contents/Effects/Skills/HealSpEffect.cpp, Source/Contents/Effects/Skills/HitLineEffect.cpp, Source/Contents/Effects/Skills/JupitelThunderStormEffect.cpp, Source/Contents/Effects/Skills/Level150Effect.cpp, Source/Contents/Effects/Skills/Level99Effect.cpp, Source/Contents/Effects/Skills/Level99Orb1Effect.cpp, Source/Contents/Effects/Skills/Level99Orb2Effect.cpp, Source/Contents/Effects/Skills/LightSphereEffect.cpp, Source/Contents/Effects/Skills/MagicFloorEffect.cpp, Source/Contents/Effects/Skills/MagnumBreak.cpp, Source/Contents/Effects/Skills/MandraAttackEffect.cpp, Source/Contents/Effects/Skills/MapChainEffect.cpp, Source/Contents/Effects/Skills/MapMagicZoneEffect.cpp, Source/Contents/Effects/Skills/MappillarEffect.cpp, Source/Contents/Effects/Skills/MeteorEffect.cpp, Source/Contents/Effects/Skills/MonsterSkillEffects.cpp, Source/Contents/Effects/Skills/NyanggrassEffect.cpp, Source/Contents/Effects/Skills/PartyMemberEffects.cpp, Source/Contents/Effects/Skills/PokJukEffect.cpp, Source/Contents/Effects/Skills/PowderingEffect.cpp, Source/Contents/Effects/Skills/RainbowEffect.cpp, Source/Contents/Effects/Skills/RectUpEffect.cpp, Source/Contents/Effects/Skills/RedLineEffect.cpp, Source/Contents/Effects/Skills/RichManKim.cpp, Source/Contents/Effects/Skills/RotateBgEffect.cpp, Source/Contents/Effects/Skills/RotateItemEffect.cpp, Source/Contents/Effects/Skills/RotateLineEffect.cpp, Source/Contents/Effects/Skills/SaintCastingEffect.cpp, Source/Contents/Effects/Skills/ScatterEffect.cpp, Source/Contents/Effects/Skills/ShadowExceedEffect.cpp, Source/Contents/Effects/Skills/ShadowExceedNewEffect.cpp, Source/Contents/Effects/Skills/SmokeEffect.cpp, Source/Contents/Effects/Skills/SoulCollectEffect.cpp, Source/Contents/Effects/Skills/SoulUnityEffect.cpp, Source/Contents/Effects/Skills/SphereWind2Effect.cpp, Source/Contents/Effects/Skills/SphereWindEffect.cpp, Source/Contents/Effects/Skills/StarEffect.cpp, Source/Contents/Effects/Skills/StarEmperorEffect.cpp, Source/Contents/Effects/Skills/StealEffect.cpp, Source/Contents/Effects/Skills/StormCannonEffect.cpp, Source/Contents/Effects/Skills/StormGustEffect.cpp, Source/Contents/Effects/Skills/StormKickEffect.cpp, Source/Contents/Effects/Skills/SunStanceEffect.cpp, Source/Contents/Effects/Skills/TalismanMarkEffect.cpp, Source/Contents/Effects/Skills/TetraBallEffect.cpp, Source/Contents/Effects/Skills/ThrowEffects.cpp, Source/Contents/Effects/Skills/TriangleShotArrow.cpp, Source/Contents/Effects/Skills/ViolentQuakeEffect.cpp, Source/Contents/Effects/Skills/WindEffect.cpp, Source/Contents/Emblems/EmblemCacheRaw.cpp, Source/Contents/Emblems/GuildEmblemLookup.cpp, Source/Contents/Emblems/GuildEmblemState.cpp, Source/Contents/EntryQueue/EntryQueueMgr.cpp, Source/Contents/Events/CheckAttendanceMgr.cpp, Source/Contents/Events/RouletteMgr.cpp, Source/Contents/Events/ShowRankingScheduler.cpp, Source/Contents/Events/SpecialPopupMgr.cpp, Source/Contents/Guild/GuildInfo.cpp, Source/Contents/Guild/GuildMgr.cpp, Source/Contents/Guild/GuildTip.cpp, Source/Contents/Items/ClientItemLists.cpp, Source/Contents/Items/EnchantMgr.cpp, Source/Contents/Items/ItemDBToIDMgr.cpp, Source/Contents/Items/JobCodeForItem.cpp, Source/Contents/Map/FlyingShipRouteInfo.cpp, Source/Contents/Map/MapInfoMgr.cpp, Source/Contents/Map/MapNameTable.cpp, Source/Contents/Map/MapPropertyMgr.cpp, Source/Contents/Map/MapSkyMgr.cpp, Source/Contents/Map/PrivateAirplaneMgr.cpp, Source/Contents/Map/TownInfoMgr.cpp, Source/Contents/Models/ModelKeyframes.cpp, Source/Contents/Monster/ChampionMonsterMgr.cpp, Source/Contents/Monster/EnemyMonsterTalk.cpp, Source/Contents/Monster/MonsterSpeech.cpp, Source/Contents/Monster/MonsterXmlActions.cpp, Source/Contents/Movement/ActorMovementRoute.cpp, Source/Contents/Movement/MovementRoute.cpp, Source/Contents/Movement/MovementRouteInterpolation.cpp, Source/Contents/Movement/MovementTraversal.cpp, Source/Contents/Movement/Pathfinding.cpp, Source/Contents/Movement/TerrainPathSearch.cpp, Source/Contents/Navigation/NavigationCandidates.cpp, Source/Contents/Navigation/NavigationDestinations.cpp, Source/Contents/Navigation/NavigationGraph.cpp, Source/Contents/Navigation/NavigationLink.cpp, Source/Contents/Navigation/NavigationRequest.cpp, Source/Contents/Navigation/NavigationRoute.cpp, Source/Contents/Navigation/NavigationSource.cpp, Source/Contents/Navigation/NpcLocationRadius.cpp, Source/Contents/Navigation/WorldNavigation.cpp, Source/Contents/Pet/PetEvolutionMgr.cpp, Source/Contents/Pet/PetStatus.cpp, Source/Contents/Pet/PetStrings.cpp, Source/Contents/Pet/PetTalk.cpp, Source/Contents/Pet/PetTalkNames.cpp, Source/Contents/Quest/RenewQuestMgr.cpp, Source/Contents/Repute/ReputeMgr.cpp, Source/Contents/Rodex/RodexMailStore.cpp, Source/Contents/RuneSystem/RuneSystem.cpp, Source/Contents/Skills/GraffiSkill.cpp, Source/Contents/Skin/SkinCatalog.cpp, Source/Contents/Skin/SkinInfo.cpp, Source/Contents/Skin/SkinMgr.cpp, Source/Contents/Sound/HitSounds.cpp, Source/Contents/Sprites/RobeOpacity.cpp, Source/Contents/Sprites/RobeTopLayer.cpp, Source/Contents/Sprites/SpriteFrameSynchronization.cpp, Source/Contents/Sprites/SpriteJob.cpp, Source/Contents/Sprites/SpriteLayerDepth.cpp, Source/Contents/Sprites/SpriteLayerDrawing.cpp, Source/Contents/Sprites/SpriteLayerOrder.cpp, Source/Contents/Sprites/SpriteRidingOffset.cpp, Source/Contents/Sprites/SpriteRidingPolicy.cpp, Source/Contents/Sprites/SpriteRobe.cpp, Source/Contents/Sprites/SpriteRobeCommands.cpp, Source/Contents/Sprites/SpriteShadow.cpp, Source/Contents/Tables/ClientXmlTables.cpp, Source/Contents/Tables/ForbiddenWords.cpp, Source/Contents/Tables/MessageTable.cpp, Source/Contents/Tables/SimpleStringMgr.cpp, Source/Contents/Tables/TableMng.cpp, Source/Contents/Tables/TipBoxTitles.cpp, Source/Contents/Tables/TipOfTheDay.cpp, Source/Contents/Time/ClientTiming.cpp, Source/Contents/Time/ServerTimeManager.cpp, Source/Contents/World/WorldViewData.cpp
Deletes: Source/Contents/AchievementMgr.cpp, Source/Contents/AchievementMgr.h, Source/Contents/ActorGeometry.cpp, Source/Contents/ActorMovementRoute.cpp, Source/Contents/ActorNameCache.cpp, Source/Contents/ActorNameCard.cpp, Source/Contents/ActorNameCard.h, Source/Contents/ActorNameDirectory.cpp, Source/Contents/ActorNameRequests.cpp, Source/Contents/Actors/GraffiSkill.cpp, Source/Contents/Actors/GraffiSkill.h, Source/Contents/Actors/PetEnums.h, Source/Contents/AdventureGuideMgr.cpp, Source/Contents/AdventureGuideMgr.h, Source/Contents/BodyResources.cpp, Source/Contents/CashEmotionMgr.cpp, Source/Contents/CashEmotionMgr.h, Source/Contents/ChampionMonsterMgr.cpp, Source/Contents/ChampionMonsterMgr.h, Source/Contents/CheckAttendanceMgr.cpp, Source/Contents/CheckAttendanceMgr.h, Source/Contents/ClanInfo.cpp, Source/Contents/ClanInfo.h, Source/Contents/ClientItemLists.cpp, Source/Contents/ClientItemLists.h, Source/Contents/ClientTiming.cpp, Source/Contents/ClientXmlTables.cpp, Source/Contents/Combat/CombatTypes.h, Source/Contents/ConfigMgr.cpp, Source/Contents/ConfigMgr.h, Source/Contents/EffectResourceSwitcher.cpp, Source/Contents/EffectResourceSwitcher.h, Source/Contents/Effects/AMachineEffect.cpp, Source/Contents/Effects/AMachineEffect.h, Source/Contents/Effects/AcidifiedThrow.cpp, Source/Contents/Effects/AcidifiedThrow.h, Source/Contents/Effects/AnimatedEmitterEffect.cpp, Source/Contents/Effects/AnimatedEmitterEffect.h, Source/Contents/Effects/ArrowEffect.cpp, Source/Contents/Effects/ArrowEffect.h, Source/Contents/Effects/AstralStrikeEffect.cpp, Source/Contents/Effects/AstralStrikeEffect.h, Source/Contents/Effects/AxeBoomerang.cpp, Source/Contents/Effects/AxeBoomerang.h, Source/Contents/Effects/Bash.cpp, Source/Contents/Effects/Bash.h, Source/Contents/Effects/BezierArcThrowEffect.cpp, Source/Contents/Effects/BezierArcThrowEffect.h, Source/Contents/Effects/BindTrapEffect.cpp, Source/Contents/Effects/BindTrapEffect.h, Source/Contents/Effects/BlastForge.cpp, Source/Contents/Effects/BlastForge.h, Source/Contents/Effects/CaneOfEvilEyeEffect.cpp, Source/Contents/Effects/CaneOfEvilEyeEffect.h, Source/Contents/Effects/CartCannon.cpp, Source/Contents/Effects/CartCannon.h, Source/Contents/Effects/CellRangeEffect.cpp, Source/Contents/Effects/CellRangeEffect.h, Source/Contents/Effects/ChangeSizeEffect.cpp, Source/Contents/Effects/ChangeSizeEffect.h, Source/Contents/Effects/CharacterParticleBundle.cpp, Source/Contents/Effects/CharacterParticleBundle.h, Source/Contents/Effects/ChargingPierceEffect.cpp, Source/Contents/Effects/ChargingPierceEffect.h, Source/Contents/Effects/CherryBlossomEffect.cpp, Source/Contents/Effects/CherryBlossomEffect.h, Source/Contents/Effects/ClimaxEffect.cpp, Source/Contents/Effects/ClimaxEffect.h, Source/Contents/Effects/CloudEffect.cpp, Source/Contents/Effects/CloudEffect.h, Source/Contents/Effects/CloudKillEffect.cpp, Source/Contents/Effects/CloudKillEffect.h, Source/Contents/Effects/CommonFloorEffect.cpp, Source/Contents/Effects/CommonFloorEffect.h, Source/Contents/Effects/Competentia.cpp, Source/Contents/Effects/Competentia.h, Source/Contents/Effects/CresciveBolt.cpp, Source/Contents/Effects/CresciveBolt.h, Source/Contents/Effects/DummyEffectLauncher.cpp, Source/Contents/Effects/DummyEffectLauncher.h, Source/Contents/Effects/EZ2STREffect.cpp, Source/Contents/Effects/EZ2STREffect.h, Source/Contents/Effects/EZ2STREffectEx.cpp, Source/Contents/Effects/EZ2STREffectEx.h, Source/Contents/Effects/Effect.cpp, Source/Contents/Effects/Effect.h, Source/Contents/Effects/EffectActor.cpp, Source/Contents/Effects/EffectActor.h, Source/Contents/Effects/EffectAttachments.cpp, Source/Contents/Effects/EffectEmitter.h, Source/Contents/Effects/EffectForceRender.cpp, Source/Contents/Effects/EffectLists.cpp, Source/Contents/Effects/EffectLists.h, Source/Contents/Effects/EffectMaker.cpp, Source/Contents/Effects/EffectMaker.h, Source/Contents/Effects/EffectMemoryMgr.cpp, Source/Contents/Effects/EffectMemoryMgr.h, Source/Contents/Effects/EffectMessageId.h, Source/Contents/Effects/EffectPoint.h, Source/Contents/Effects/EffectPrim.cpp, Source/Contents/Effects/EffectPrim.h, Source/Contents/Effects/EffectPrimId.h, Source/Contents/Effects/EffectPrimitiveArcs.cpp, Source/Contents/Effects/EffectPrimitiveColor.cpp, Source/Contents/Effects/EffectPrimitiveGlowSquares.cpp, Source/Contents/Effects/EffectPrimitiveMotion.cpp, Source/Contents/Effects/EffectPrimitiveMotion.h, Source/Contents/Effects/EffectPrimitivePanels.cpp, Source/Contents/Effects/EffectPrimitiveRecords.cpp, Source/Contents/Effects/EffectPrimitiveRendering.cpp, Source/Contents/Effects/EffectPrimitiveSprites.cpp, Source/Contents/Effects/EffectPrimitiveState.cpp, Source/Contents/Effects/EffectPrimitiveState.h, Source/Contents/Effects/EffectPrimitiveSweeps.cpp, Source/Contents/Effects/EffectTypes.cpp, Source/Contents/Effects/EffectTypes.h, Source/Contents/Effects/EffectVisibility.cpp, Source/Contents/Effects/ElectricEffect.cpp, Source/Contents/Effects/ElectricEffect.h, Source/Contents/Effects/EmitterEffect.cpp, Source/Contents/Effects/EmitterEffect.h, Source/Contents/Effects/EnergyOrbEffect.cpp, Source/Contents/Effects/EnergyOrbEffect.h, Source/Contents/Effects/EvilLandEffect.cpp, Source/Contents/Effects/EvilLandEffect.h, Source/Contents/Effects/EvilsPawEffect.cpp, Source/Contents/Effects/EvilsPawEffect.h, Source/Contents/Effects/FlowerCastingEffect.cpp, Source/Contents/Effects/FlowerCastingEffect.h, Source/Contents/Effects/FortuneKissEffect.cpp, Source/Contents/Effects/FortuneKissEffect.h, Source/Contents/Effects/FriggSongEffect.cpp, Source/Contents/Effects/FriggSongEffect.h, Source/Contents/Effects/FuumaShouakuEffect.cpp, Source/Contents/Effects/FuumaShouakuEffect.h, Source/Contents/Effects/GlassWallEffect.cpp, Source/Contents/Effects/GlassWallEffect.h, Source/Contents/Effects/GravityControlEffect.h, Source/Contents/Effects/HealEffect.cpp, Source/Contents/Effects/HealEffect.h, Source/Contents/Effects/HealSpEffect.cpp, Source/Contents/Effects/HealSpEffect.h, Source/Contents/Effects/HitLineEffect.cpp, Source/Contents/Effects/HitLineEffect.h, Source/Contents/Effects/JupitelThunderStormEffect.cpp, Source/Contents/Effects/JupitelThunderStormEffect.h, Source/Contents/Effects/Level150Effect.cpp, Source/Contents/Effects/Level150Effect.h, Source/Contents/Effects/Level99Effect.cpp, Source/Contents/Effects/Level99Effect.h, Source/Contents/Effects/Level99Orb1Effect.cpp, Source/Contents/Effects/Level99Orb1Effect.h, Source/Contents/Effects/Level99Orb2Effect.cpp, Source/Contents/Effects/Level99Orb2Effect.h, Source/Contents/Effects/LightSphereEffect.cpp, Source/Contents/Effects/LightSphereEffect.h, Source/Contents/Effects/MagicFloorEffect.cpp, Source/Contents/Effects/MagicFloorEffect.h, Source/Contents/Effects/MagnumBreak.cpp, Source/Contents/Effects/MagnumBreak.h, Source/Contents/Effects/MandraAttackEffect.cpp, Source/Contents/Effects/MandraAttackEffect.h, Source/Contents/Effects/MapChainEffect.cpp, Source/Contents/Effects/MapChainEffect.h, Source/Contents/Effects/MapMagicZoneEffect.cpp, Source/Contents/Effects/MapMagicZoneEffect.h, Source/Contents/Effects/MappillarEffect.cpp, Source/Contents/Effects/MappillarEffect.h, Source/Contents/Effects/MeteorEffect.cpp, Source/Contents/Effects/MonsterSkillEffects.cpp, Source/Contents/Effects/MonsterSkillEffects.h, Source/Contents/Effects/MsgEffect.cpp, Source/Contents/Effects/MsgEffect.h, Source/Contents/Effects/NyanggrassEffect.cpp, Source/Contents/Effects/NyanggrassEffect.h, Source/Contents/Effects/Particle.cpp, Source/Contents/Effects/Particle.h, Source/Contents/Effects/ParticlePool.cpp, Source/Contents/Effects/ParticlePool.h, Source/Contents/Effects/PartyMemberEffects.cpp, Source/Contents/Effects/PartyMemberEffects.h, Source/Contents/Effects/PokJukEffect.cpp, Source/Contents/Effects/PokJukEffect.h, Source/Contents/Effects/PowderingEffect.cpp, Source/Contents/Effects/PowderingEffect.h, Source/Contents/Effects/RagEffect.cpp, Source/Contents/Effects/RagEffect.h, Source/Contents/Effects/RagEffectInitialization.cpp, Source/Contents/Effects/RagEffectState.h, Source/Contents/Effects/RainbowEffect.cpp, Source/Contents/Effects/RainbowEffect.h, Source/Contents/Effects/RectUpEffect.cpp, Source/Contents/Effects/RectUpEffect.h, Source/Contents/Effects/RedLineEffect.cpp, Source/Contents/Effects/RedLineEffect.h, Source/Contents/Effects/RichManKim.cpp, Source/Contents/Effects/RichManKim.h, Source/Contents/Effects/RotateBgEffect.cpp, Source/Contents/Effects/RotateBgEffect.h, Source/Contents/Effects/RotateItemEffect.cpp, Source/Contents/Effects/RotateItemEffect.h, Source/Contents/Effects/RotateLineEffect.cpp, Source/Contents/Effects/RotateLineEffect.h, Source/Contents/Effects/SaintCastingEffect.cpp, Source/Contents/Effects/SaintCastingEffect.h, Source/Contents/Effects/ScatterEffect.cpp, Source/Contents/Effects/ScatterEffect.h, Source/Contents/Effects/ShadowExceedEffect.cpp, Source/Contents/Effects/ShadowExceedEffect.h, Source/Contents/Effects/ShadowExceedNewEffect.cpp, Source/Contents/Effects/ShowEffect.cpp, Source/Contents/Effects/ShowEffect.h, Source/Contents/Effects/SkillEffects.h, Source/Contents/Effects/SmokeEffect.cpp, Source/Contents/Effects/SmokeEffect.h, Source/Contents/Effects/SoulCollectEffect.cpp, Source/Contents/Effects/SoulCollectEffect.h, Source/Contents/Effects/SoulUnityEffect.cpp, Source/Contents/Effects/SoulUnityEffect.h, Source/Contents/Effects/SphereWind2Effect.cpp, Source/Contents/Effects/SphereWind2Effect.h, Source/Contents/Effects/SphereWindEffect.cpp, Source/Contents/Effects/SphereWindEffect.h, Source/Contents/Effects/SpriteEffect.cpp, Source/Contents/Effects/SpriteEffect.h, Source/Contents/Effects/SpriteParticle.cpp, Source/Contents/Effects/SpriteParticle.h, Source/Contents/Effects/SquareRangeEffect.cpp, Source/Contents/Effects/SquareRangeEffect.h, Source/Contents/Effects/StarEffect.cpp, Source/Contents/Effects/StarEffect.h, Source/Contents/Effects/StarEmperorEffect.cpp, Source/Contents/Effects/StarEmperorEffect.h, Source/Contents/Effects/StealEffect.cpp, Source/Contents/Effects/StealEffect.h, Source/Contents/Effects/StormCannonEffect.cpp, Source/Contents/Effects/StormCannonEffect.h, Source/Contents/Effects/StormGustEffect.cpp, Source/Contents/Effects/StormGustEffect.h, Source/Contents/Effects/StormKickEffect.cpp, Source/Contents/Effects/StormKickEffect.h, Source/Contents/Effects/SunStanceEffect.cpp, Source/Contents/Effects/SunStanceEffect.h, Source/Contents/Effects/TalismanMarkEffect.cpp, Source/Contents/Effects/TalismanMarkEffect.h, Source/Contents/Effects/TetraBallEffect.cpp, Source/Contents/Effects/TetraBallEffect.h, Source/Contents/Effects/ThrowEffects.cpp, Source/Contents/Effects/ThrowEffects.h, Source/Contents/Effects/TriangleShotArrow.cpp, Source/Contents/Effects/TriangleShotArrow.h, Source/Contents/Effects/ViolentQuakeEffect.cpp, Source/Contents/Effects/ViolentQuakeEffect.h, Source/Contents/Effects/WhirlwindEffect.h, Source/Contents/Effects/WindEffect.cpp, Source/Contents/Effects/WindEffect.h, Source/Contents/EmblemCacheRaw.cpp, Source/Contents/EnchantMgr.cpp, Source/Contents/EnchantMgr.h, Source/Contents/EnemyMonsterTalk.cpp, Source/Contents/EntryQueueMgr.cpp, Source/Contents/EntryQueueMgr.h, Source/Contents/EquipmentResourceMgr.h, Source/Contents/EquipmentResources.cpp, Source/Contents/FlyingShipRouteInfo.cpp, Source/Contents/FlyingShipRouteInfo.h, Source/Contents/ForbiddenWords.cpp, Source/Contents/ForbiddenWords.h, Source/Contents/GuildEmblemLookup.cpp, Source/Contents/GuildEmblemState.cpp, Source/Contents/GuildInfo.cpp, Source/Contents/GuildInfo.h, Source/Contents/GuildMgr.cpp, Source/Contents/GuildMgr.h, Source/Contents/GuildTip.cpp, Source/Contents/GuildTip.h, Source/Contents/HeadResources.cpp, Source/Contents/HitSounds.cpp, Source/Contents/ItemDBToIDMgr.cpp, Source/Contents/ItemDBToIDMgr.h, Source/Contents/Items/RuneSystem.cpp, Source/Contents/Items/RuneSystem.h, Source/Contents/JobCodeForItem.cpp, Source/Contents/JobCodeForItem.h, Source/Contents/MapInfoMgr.cpp, Source/Contents/MapInfoMgr.h, Source/Contents/MapNameTable.cpp, Source/Contents/MapPropertyMgr.cpp, Source/Contents/MapPropertyMgr.h, Source/Contents/MapSkyMgr.cpp, Source/Contents/MapSkyMgr.h, Source/Contents/MessageTable.cpp, Source/Contents/MessageTable.h, Source/Contents/ModelKeyframes.cpp, Source/Contents/MonsterResources.cpp, Source/Contents/MonsterSpeech.cpp, Source/Contents/MonsterXmlActions.cpp, Source/Contents/MovementRoute.cpp, Source/Contents/MovementRouteInterpolation.cpp, Source/Contents/MovementRouteInterpolation.h, Source/Contents/MovementTraversal.cpp, Source/Contents/NavigationCandidates.cpp, Source/Contents/NavigationDestinations.cpp, Source/Contents/NavigationGraph.cpp, Source/Contents/NavigationLink.cpp, Source/Contents/NavigationManager.h, Source/Contents/NavigationRequest.cpp, Source/Contents/NavigationRoute.cpp, Source/Contents/NavigationSource.cpp, Source/Contents/NpcLocationRadius.cpp, Source/Contents/Pathfinding.cpp, Source/Contents/PetEvolutionMgr.cpp, Source/Contents/PetEvolutionMgr.h, Source/Contents/PetStatus.cpp, Source/Contents/PetStrings.cpp, Source/Contents/PetTalk.cpp, Source/Contents/PetTalkNames.cpp, Source/Contents/PlayerNameDictionary.cpp, Source/Contents/PlayerNameDictionary.h, Source/Contents/PrivateAirplaneMgr.cpp, Source/Contents/PrivateAirplaneMgr.h, Source/Contents/RDamageVar.cpp, Source/Contents/RDamageVar.h, Source/Contents/RenewQuestMgr.cpp, Source/Contents/RenewQuestMgr.h, Source/Contents/ReputeMgr.cpp, Source/Contents/ReputeMgr.h, Source/Contents/ReputeRecords.h, Source/Contents/RobeOpacity.cpp, Source/Contents/RobeResources.cpp, Source/Contents/RobeTopLayer.cpp, Source/Contents/RodexMailStore.cpp, Source/Contents/RodexMailStore.h, Source/Contents/RouletteMgr.cpp, Source/Contents/RouletteMgr.h, Source/Contents/ServerTimeManager.cpp, Source/Contents/ServerTimeManager.h, Source/Contents/ShowRankingScheduler.cpp, Source/Contents/ShowRankingScheduler.h, Source/Contents/SimpleStringMgr.cpp, Source/Contents/SimpleStringMgr.h, Source/Contents/SkinCatalog.cpp, Source/Contents/SkinInfo.cpp, Source/Contents/SkinMgr.cpp, Source/Contents/SkinMgr.h, Source/Contents/SpecialPopupMgr.cpp, Source/Contents/SpecialPopupMgr.h, Source/Contents/SpriteFrameSynchronization.cpp, Source/Contents/SpriteJob.cpp, Source/Contents/SpriteLayerDepth.cpp, Source/Contents/SpriteLayerDrawing.cpp, Source/Contents/SpriteLayerDrawing.h, Source/Contents/SpriteLayerOrder.cpp, Source/Contents/SpriteLayerOrder.h, Source/Contents/SpriteRidingOffset.cpp, Source/Contents/SpriteRidingOffset.h, Source/Contents/SpriteRidingPolicy.cpp, Source/Contents/SpriteRidingPolicy.h, Source/Contents/SpriteRobe.cpp, Source/Contents/SpriteRobeCommands.cpp, Source/Contents/SpriteShadow.cpp, Source/Contents/StatusIconImages.cpp, Source/Contents/TableMng.cpp, Source/Contents/TableMng.h, Source/Contents/TerrainPathSearch.cpp, Source/Contents/TerrainPathSearch.h, Source/Contents/TipBoxTitles.cpp, Source/Contents/TipBoxTitles.h, Source/Contents/TipOfTheDay.cpp, Source/Contents/TipOfTheDay.h, Source/Contents/TownInfoMgr.cpp, Source/Contents/TownInfoMgr.h, Source/Contents/WorldNavigation.cpp, Source/Contents/WorldView/WorldViewData.cpp, Source/Contents/WorldView/WorldViewData.h
2026-11-10 23:40:35 +00:00

1402 lines
35 KiB
C++

#include "Client/Mode/ModeMessage.h"
#include "Contents/Actors/ActorEnums.h"
#include "UI/Window/UIEnums.h"
#include "Client/Session.h"
#include "Client/Input/InputCharset.h"
#include "Client/Mode/CGameMode.h"
#include "Client/Mode/ModeMgr.h"
#include "Contents/Actors/GameActor.h"
#include "Contents/Actors/Pc.h"
#include "Contents/Configuration/ServiceConfiguration.h"
#include "Contents/Effects/Core/RagEffect.h"
#include "Contents/Items/ItemDescription.h"
#include "Contents/Items/ItemInfo.h"
#include "Contents/Items/ItemNaming.h"
#include "Contents/Jobs/JobId.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Actors/PlayerNameDictionary.h"
#include "Contents/Skills/ClientSkills.h"
#include "Contents/World/World.h"
#include "Script/LuaScript.h"
#include "UI/Items/UIEquipWnd.h"
#include "UI/Window/UIBasicInfoWnd.h"
#include "UI/Window/UIWindowMgr.h"
#include "Utility/Text/FormatString.h"
#include "Resource/MSGSTRINGID.h"
extern "C" {
void lua_settop(lua_State* L, int index);
int lua_type(lua_State* L, int index);
double lua_tonumber(lua_State* L, int index);
void lua_pushnil(lua_State* L);
void lua_pushnumber(lua_State* L, double value);
void lua_pushstring(lua_State* L, const char* text);
void lua_gettable(lua_State* L, int index);
void lua_getfield(lua_State* L, int index, const char* key);
int lua_next(lua_State* L, int index);
}
constexpr int LUA_GLOBALSINDEX = -10002;
constexpr int LUA_TTABLE = 5;
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <map>
#include <string>
#include <vector>
struct SkillDelayField {
int type;
const char* name;
};
// GLOBAL: gl_25057
static const SkillDelayField g_skillDelayFields[] = {
{0, "SkillCastFixedDelay"},
{1, "SkillCastStatDelay"},
{2, "SkillGlobalPostDelay"},
{3, "SkillSinglePostDelay"},
};
// OFFSET: 0x00E30940
// FUNCTION: fn_24168
const char* CSession::GetPlayerMapDisplayName() {
std::string mapName = this->m_navigationPlayerMap;
mapName += ".rsw";
return this->GetMapDisplayName(mapName.c_str());
}
// OFFSET: 0x00E31650
// FUNCTION: fn_24173
void CSession::LoadSkillDelayList(int skillId, std::vector<std::map<int, int>>& delays, int& skillFlag) {
delays.clear();
int maxLevel = 0;
skillFlag = 0;
this->m_hotkeyScript->Call("GetSkillMaxLv", "d>d", skillId, &maxLevel);
delays.resize(maxLevel);
lua_State* L = this->m_hotkeyScript->GetState();
lua_getfield(L, LUA_GLOBALSINDEX, "SKILL_DELAY_LIST");
if (lua_type(L, -1) == LUA_TTABLE) {
lua_pushnumber(L, skillId);
lua_gettable(L, -2);
if (lua_type(L, -1) == LUA_TTABLE) {
lua_pushstring(L, "SkillFlag");
lua_gettable(L, -2);
if (lua_type(L, -1) == LUA_TTABLE) {
lua_pushnil(L);
while (lua_next(L, -2) != 0) {
skillFlag = static_cast<int>(skillFlag + lua_tonumber(L, -1));
lua_settop(L, -2);
}
}
lua_settop(L, -2);
for (const SkillDelayField& field : g_skillDelayFields) {
lua_pushstring(L, field.name);
lua_gettable(L, -2);
if (lua_type(L, -1) == LUA_TTABLE) {
lua_pushnil(L);
while (lua_next(L, -2) != 0) {
const int level = static_cast<int>(lua_tonumber(L, -2) - 1.0);
if (level >= 0 && static_cast<std::size_t>(level) < delays.size()) {
const int delay = static_cast<int>(lua_tonumber(L, -1));
delays[level][field.type] = delay;
}
lua_settop(L, -2);
}
}
lua_settop(L, -2);
}
}
lua_settop(L, -2);
}
lua_settop(L, -2);
if (skillId == 2461) {
if (delays.empty()) {
delays.resize(1);
}
CGameActor* actor = static_cast<CGameActor*>(
static_cast<CGameMode*>(g_modeMgr.GetGameMode())->scene->GetGameActorByAID(this->elementalGid)
);
int delay = 0;
if (actor) {
switch (actor->GetEffectiveJob(-1)) {
case JT_EL_AGNI_S:
case JT_EL_AQUA_S:
case JT_EL_VENTUS_S:
case JT_EL_TERA_S:
delay = 3000;
break;
case JT_EL_AGNI_M:
case JT_EL_AQUA_M:
case JT_EL_VENTUS_M:
case JT_EL_TERA_M:
delay = 6000;
break;
case JT_EL_AGNI_L:
case JT_EL_AQUA_L:
case JT_EL_VENTUS_L:
case JT_EL_TERA_L:
case JT_EM_DILUVIO:
case JT_EM_ARDOR:
case JT_EM_PROCELLA:
case JT_EM_TERREMOTUS:
case JT_EM_SERPENS:
delay = 9000;
break;
}
}
delays[0][3] = delay;
}
}
// OFFSET: 0x00E3D3D0
// FUNCTION: fn_24190
bool CSession::IsThirdJobOrHigher(int job) {
if (g_session.IsTreeGroupThree(job) == true || g_session.IsTreeGroupTwo(job) == 1) {
return true;
}
switch (job) {
case JT_SUPERNOVICE2:
case JT_SUPERNOVICE2_B:
case JT_PORING_SNOVICE2:
case JT_PORING_SNOVICE2_B:
case JT_KAGEROU:
case JT_OBORO:
case JT_FROG_KAGEROU:
case JT_FROG_OBORO:
case JT_REBELLION:
case JT_PECO_REBELLION:
case JT_DO_SUMMONER:
case JT_DO_CART_SUMMONER:
case JT_DO_SUMMONER_B:
case JT_DO_CART_SUMMONER_B:
case JT_KAGEROU_B:
case JT_OBORO_B:
case JT_REBELLION_B:
case JT_PECO_REBELLION_B:
case JT_STAR_EMPEROR:
case JT_SOUL_REAPER:
case JT_STAR_EMPEROR_B:
case JT_SOUL_REAPER_B:
case JT_STAR2_EMPEROR:
case JT_STAR2_EMPEROR_B:
case JT_HAETAE_STAR_EMPEROR:
case JT_HAETAE_SOUL_REAPER:
case JT_HAETAE_STAR_EMPEROR_B:
case JT_HAETAE_SOUL_REAPER_B:
case JT_KARNOS:
case JT_KARNOS_B:
return true;
default:
return false;
}
}
// OFFSET: 0x00E2ECD0
// FUNCTION: fn_24150
bool CSession::EquipSwapCostumeItem(const ITEM_INFO& item) {
const EquipSlots slots = g_session.GetEquipSlots(static_cast<int>(item.identity[3]));
int order[3];
order[0] = slots.values[2];
order[1] = slots.values[1];
order[2] = slots.values[0];
if (item.identity[3] == 0x8000) {
g_session.SetSwapArrowIndex(item.identity[1]);
}
for (int i = 0; i < 3; ++i) {
const int slot = order[i];
if (slot == -1 || slot >= 10) {
break;
}
this->swapCostumeItems[slot] = item;
this->swapCostumeItems[slot].quantity = 1;
}
if (g_windowMgr.equipWnd) {
static_cast<UIEquipWnd*>(g_windowMgr.equipWnd)->NotifyEquipmentChanged();
}
RefreshItemWindows(&g_windowMgr);
return true;
}
// OFFSET: 0x00E3D8A0
// FUNCTION: fn_24192
void CSession::UnequipSwapEquippedItem(const ITEM_INFO& item) {
const int location = static_cast<int>(item.identity[3]);
if (location == 0x8000) {
this->SetSwapArrowIndex(0);
} else {
const EquipSlots slots = g_session.GetEquipSlots(location);
if (slots.values[2] < 10) {
if (slots.values[2] != -1) {
ITEM_INFO& entry = this->swapEquippedItems[slots.values[2]];
entry.identity[3] = 0;
entry.Reset();
}
if (slots.values[1] != -1 && slots.values[1] < 10) {
this->swapEquippedItems[slots.values[1]].Reset();
}
if (slots.values[0] != -1 && slots.values[0] < 10) {
this->swapEquippedItems[slots.values[0]].Reset();
}
}
}
if (g_windowMgr.equipWnd) {
static_cast<UIEquipWnd*>(g_windowMgr.equipWnd)->NotifyEquipmentChanged();
}
RefreshItemWindows(&g_windowMgr);
}
// OFFSET: 0x00E3D960
// FUNCTION: fn_24193
void CSession::UnequipSwapCostumeItem(const ITEM_INFO& item) {
const int location = static_cast<int>(item.identity[3]);
if (location == 0x8000) {
ITEM_INFO equipped = g_session.FindItemByIdentity(item.identity[1], location);
if (equipped.identity[1] > 0) {
const char* message = LookupMessage(MSI_ITEM_IS_REMOVED);
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(FormatOwnedString("%s%s", equipped.DisplayName(0).c_str(), message).c_str()), 0xFF, 7, 0, 0);
}
this->SetSwapArrowIndex(0);
} else {
const EquipSlots slots = g_session.GetEquipSlots(location);
if (slots.values[2] < 10) {
if (slots.values[2] != -1) {
ITEM_INFO& entry = this->swapCostumeItems[slots.values[2]];
entry.identity[3] = 0;
entry.Reset();
}
if (slots.values[1] != -1 && slots.values[1] < 10) {
this->swapCostumeItems[slots.values[1]].Reset();
}
if (slots.values[0] != -1 && slots.values[0] < 10) {
this->swapCostumeItems[slots.values[0]].Reset();
}
}
}
if (g_windowMgr.equipWnd) {
static_cast<UIEquipWnd*>(g_windowMgr.equipWnd)->NotifyEquipmentChanged();
}
RefreshItemWindows(&g_windowMgr);
}
// OFFSET: 0x00E49200
// FUNCTION: fn_24231
void CSession::SetJob(int job) {
const int previous = this->m_job;
this->m_job = job;
if (this->IsTreeGroupThree(previous) != this->IsTreeGroupThree(job)) {
if (g_windowMgr.basicInfoWnd) {
reinterpret_cast<UIBasicInfoWnd*>(g_windowMgr.basicInfoWnd)->RefreshLayout();
}
if (g_modeMgr.GetGameMode()) {
g_modeMgr.GetGameMode()->SendMsg(MM_REFRESH_PLAYERGAGE, 0, 0, 0, 0);
}
}
this->InvalidateWindowFrames();
this->RefreshSkillTree();
}
// OFFSET: 0x00E497F0
// FUNCTION: fn_24237
void CSession::SetSwapArrowIndex(std::uint32_t value) {
this->swapArrowIndex = value;
this->InvalidateWindowFrames();
CGameMode* mode = static_cast<CGameMode*>(g_modeMgr.GetGameMode());
if (!mode) {
return;
}
const auto it = std::find_if(g_activeSkillEffects.begin(), g_activeSkillEffects.end(), [](const ActiveSkillEffect& effect) { return effect.id == 0x2B7; });
if (it == g_activeSkillEffects.end()) {
if (value) {
ActiveSkillEffect effect;
effect.id = 0x2B7;
g_activeSkillEffects.push_back(effect);
}
} else if (!value) {
g_activeSkillEffects.erase(it);
}
mode->scene->player->skillEffect->SendMsg(nullptr, AM_SETCOUNT, 0, 1, 0, 0, 0, 0);
}
// OFFSET: 0x00E49930
// FUNCTION: fn_24238
void CSession::ResolvePendingActorName(std::uint32_t id, const char* name) {
if (!name || std::strlen(name) == 0) {
return;
}
UIWindow* chat = g_windowMgr.chatWnd;
if (!chat) {
return;
}
if (this->pendingActorNames.find(id) == this->pendingActorNames.end()) {
return;
}
chat->SendMsg(nullptr, UM_RESOLVE_PLAYER_TAGS, reinterpret_cast<std::intptr_t>(name), 0, 0, 0);
g_windowMgr.SendNotice(UIM_RESOLVE_PLAYER_TAGS, reinterpret_cast<std::intptr_t>(name), 0, 0, 0, 0);
this->pendingActorNames.erase(id);
}
// OFFSET: 0x00E1A5E0
// FUNCTION: fn_23849
void CSession::InitSkillEffectIds() {
int key;
this->skillEffectIds.clear();
key = 0;
this->skillEffectIds[key] = -1;
key = 1;
this->skillEffectIds[key] = -1;
key = 2;
this->skillEffectIds[key] = -1;
key = 3;
this->skillEffectIds[key] = -1;
key = 4;
this->skillEffectIds[key] = -1;
key = 5;
this->skillEffectIds[key] = -1;
key = 6;
this->skillEffectIds[key] = -1;
key = 7;
this->skillEffectIds[key] = 16;
key = 8202;
this->skillFollowEffects[key] = 16;
key = 8;
this->skillEffectIds[key] = -1;
key = 9;
this->skillEffectIds[key] = -1;
key = 10;
this->skillEffectIds[key] = -1;
key = 12;
this->skillEffectIds[key] = -1;
key = 13;
this->skillEffectIds[key] = 15;
key = 340;
this->skillEffectIds[key] = 451;
key = 14;
this->skillEffectIds[key] = -1;
key = 15;
this->skillEffectIds[key] = -1;
key = 16;
this->skillEffectIds[key] = -1;
key = 17;
this->skillEffectIds[key] = -1;
key = 18;
this->skillEffectIds[key] = -1;
key = 19;
this->skillEffectIds[key] = -1;
key = 20;
this->skillEffectIds[key] = -1;
key = 21;
this->skillEffectIds[key] = -1;
key = 22;
this->skillEffectIds[key] = -1;
key = 23;
this->skillEffectIds[key] = -1;
key = 24;
this->skillEffectIds[key] = -1;
key = 25;
this->skillEffectIds[key] = -1;
key = 26;
this->skillEffectIds[key] = -1;
key = 27;
this->skillEffectIds[key] = -1;
key = 28;
this->skillEffectIds[key] = -1;
key = 29;
this->skillEffectIds[key] = -1;
key = 690;
this->skillEffectIds[key] = -1;
key = 30;
this->skillEffectIds[key] = -1;
key = 31;
this->skillEffectIds[key] = -1;
key = 32;
this->skillEffectIds[key] = -1;
key = 33;
this->skillEffectIds[key] = -1;
key = 34;
this->skillEffectIds[key] = -1;
key = 689;
this->skillEffectIds[key] = -1;
key = 35;
this->skillEffectIds[key] = -1;
key = 36;
this->skillEffectIds[key] = -1;
key = 37;
this->skillEffectIds[key] = -1;
key = 38;
this->skillEffectIds[key] = -1;
key = 39;
this->skillEffectIds[key] = -1;
key = 40;
this->skillEffectIds[key] = -1;
key = 41;
this->skillEffectIds[key] = -1;
key = 42;
this->skillEffectIds[key] = -1;
key = 43;
this->skillEffectIds[key] = -1;
key = 44;
this->skillEffectIds[key] = -1;
key = 45;
this->skillEffectIds[key] = -1;
key = 46;
this->skillEffectIds[key] = -1;
key = 499;
this->skillEffectIds[key] = -1;
key = 1009;
this->skillEffectIds[key] = -1;
key = 47;
this->skillEffectIds[key] = -1;
key = 48;
this->skillEffectIds[key] = -1;
key = 49;
this->skillEffectIds[key] = -1;
key = 50;
this->skillEffectIds[key] = 16;
key = 51;
this->skillEffectIds[key] = 16;
key = 52;
this->skillEffectIds[key] = 16;
key = 53;
this->skillEffectIds[key] = 16;
key = 54;
this->skillEffectIds[key] = -1;
key = 55;
this->skillEffectIds[key] = -1;
key = 56;
this->skillEffectIds[key] = -1;
key = 57;
this->skillEffectIds[key] = -1;
key = 58;
this->skillEffectIds[key] = -1;
key = 59;
this->skillEffectIds[key] = -1;
key = 60;
this->skillEffectIds[key] = -1;
key = 61;
this->skillEffectIds[key] = -1;
key = 62;
this->skillEffectIds[key] = -1;
key = 63;
this->skillEffectIds[key] = -1;
key = 64;
this->skillEffectIds[key] = -1;
key = 65;
this->skillEffectIds[key] = -1;
key = 66;
this->skillEffectIds[key] = -1;
key = 67;
this->skillEffectIds[key] = -1;
key = 68;
this->skillEffectIds[key] = -1;
key = 69;
this->skillEffectIds[key] = -1;
key = 694;
this->skillEffectIds[key] = -1;
key = 70;
this->skillEffectIds[key] = -1;
key = 72;
this->skillEffectIds[key] = -1;
key = 73;
this->skillEffectIds[key] = -1;
key = 74;
this->skillEffectIds[key] = -1;
key = 75;
this->skillEffectIds[key] = -1;
key = 76;
this->skillEffectIds[key] = -1;
key = 77;
this->skillEffectIds[key] = -1;
key = 78;
this->skillEffectIds[key] = -1;
key = 79;
this->skillEffectIds[key] = -1;
key = 80;
this->skillEffectIds[key] = 96;
key = 81;
this->skillEffectIds[key] = 62;
key = 83;
this->skillEffectIds[key] = -1;
key = 84;
this->skillEffectIds[key] = 93;
key = 341;
this->skillEffectIds[key] = 93;
key = 85;
this->skillEffectIds[key] = -1;
key = 88;
this->skillEffectIds[key] = -1;
key = 89;
this->skillEffectIds[key] = 89;
key = 664;
this->skillEffectIds[key] = 89;
key = 90;
this->skillEffectIds[key] = -1;
key = 91;
this->skillEffectIds[key] = -1;
key = 92;
this->skillEffectIds[key] = -1;
key = 93;
this->skillEffectIds[key] = -1;
key = 115;
this->skillEffectIds[key] = -1;
key = 116;
this->skillEffectIds[key] = -1;
key = 117;
this->skillEffectIds[key] = -1;
key = 118;
this->skillEffectIds[key] = -1;
key = 119;
this->skillEffectIds[key] = -1;
key = 688;
this->skillEffectIds[key] = -1;
key = 692;
this->skillEffectIds[key] = -1;
key = 698;
this->skillEffectIds[key] = -1;
key = 693;
this->skillEffectIds[key] = -1;
key = 695;
this->skillEffectIds[key] = -1;
key = 120;
this->skillEffectIds[key] = -1;
key = 121;
this->skillEffectIds[key] = -1;
key = 122;
this->skillEffectIds[key] = -1;
key = 123;
this->skillEffectIds[key] = -1;
key = 124;
this->skillEffectIds[key] = -1;
key = 125;
this->skillEffectIds[key] = -1;
key = 126;
this->skillEffectIds[key] = -1;
key = 127;
this->skillEffectIds[key] = -1;
key = 128;
this->skillEffectIds[key] = -1;
key = 129;
this->skillEffectIds[key] = -1;
key = 130;
this->skillEffectIds[key] = -1;
key = 131;
this->skillEffectIds[key] = -1;
key = 132;
this->skillEffectIds[key] = -1;
key = 133;
this->skillEffectIds[key] = -1;
key = 134;
this->skillEffectIds[key] = -1;
key = 135;
this->skillEffectIds[key] = -1;
key = 136;
this->skillEffectIds[key] = -1;
key = 137;
this->skillEffectIds[key] = -1;
key = 138;
this->skillEffectIds[key] = -1;
key = 139;
this->skillEffectIds[key] = -1;
key = 140;
this->skillEffectIds[key] = -1;
key = 141;
this->skillEffectIds[key] = -1;
key = 94;
this->skillEffectIds[key] = -1;
key = 95;
this->skillEffectIds[key] = -1;
key = 96;
this->skillEffectIds[key] = -1;
key = 97;
this->skillEffectIds[key] = -1;
key = 98;
this->skillEffectIds[key] = -1;
key = 99;
this->skillEffectIds[key] = -1;
key = 100;
this->skillEffectIds[key] = -1;
key = 101;
this->skillEffectIds[key] = -1;
key = 102;
this->skillEffectIds[key] = -1;
key = 103;
this->skillEffectIds[key] = -1;
key = 104;
this->skillEffectIds[key] = -1;
key = 105;
this->skillEffectIds[key] = -1;
key = 106;
this->skillEffectIds[key] = -1;
key = 107;
this->skillEffectIds[key] = -1;
key = 108;
this->skillEffectIds[key] = 101;
key = 109;
this->skillEffectIds[key] = -1;
key = 110;
this->skillEffectIds[key] = -1;
key = 111;
this->skillEffectIds[key] = -1;
key = 112;
this->skillEffectIds[key] = 103;
key = 113;
this->skillEffectIds[key] = -1;
key = 114;
this->skillEffectIds[key] = 104;
key = 141;
this->skillEffectIds[key] = -1;
key = 159;
this->skillEffectIds[key] = -1;
key = 192;
this->skillEffectIds[key] = -1;
key = 158;
this->skillEffectIds[key] = -1;
key = 160;
this->skillEffectIds[key] = -1;
key = 161;
this->skillEffectIds[key] = -1;
key = 162;
this->skillEffectIds[key] = 174;
key = 163;
this->skillEffectIds[key] = 177;
key = 164;
this->skillEffectIds[key] = 173;
key = 165;
this->skillEffectIds[key] = 175;
key = 166;
this->skillEffectIds[key] = 179;
key = 167;
this->skillEffectIds[key] = 178;
key = 168;
this->skillEffectIds[key] = 172;
key = 169;
this->skillEffectIds[key] = 176;
key = 171;
this->skillEffectIds[key] = -1;
key = 172;
this->skillEffectIds[key] = -1;
key = 173;
this->skillEffectIds[key] = 183;
key = 174;
this->skillEffectIds[key] = -1;
key = 175;
this->skillEffectIds[key] = -1;
key = 175;
this->skillEffectIds[key] = 185;
key = 176;
this->skillEffectIds[key] = -1;
key = 177;
this->skillEffectIds[key] = -1;
key = 178;
this->skillEffectIds[key] = -1;
key = 663;
this->skillEffectIds[key] = 454;
key = 678;
this->skillEffectIds[key] = 454;
key = 666;
this->skillEffectIds[key] = 454;
key = 668;
this->skillEffectIds[key] = 454;
key = 667;
this->skillEffectIds[key] = 454;
key = 179;
this->skillEffectIds[key] = -1;
key = 180;
this->skillEffectIds[key] = -1;
key = 181;
this->skillEffectIds[key] = -1;
key = 182;
this->skillEffectIds[key] = -1;
key = 183;
this->skillEffectIds[key] = -1;
key = 184;
this->skillEffectIds[key] = -1;
key = 185;
this->skillEffectIds[key] = -1;
key = 186;
this->skillEffectIds[key] = -1;
key = 654;
this->skillEffectIds[key] = -1;
key = 676;
this->skillEffectIds[key] = -1;
key = 662;
this->skillEffectIds[key] = -1;
key = 347;
this->skillEffectIds[key] = -1;
key = 187;
this->skillEffectIds[key] = -1;
key = 188;
this->skillEffectIds[key] = -1;
key = 189;
this->skillEffectIds[key] = -1;
key = 190;
this->skillEffectIds[key] = -1;
key = 191;
this->skillEffectIds[key] = -1;
key = 199;
this->skillEffectIds[key] = -1;
key = 200;
this->skillEffectIds[key] = -1;
key = 202;
this->skillEffectIds[key] = -1;
key = 2246;
this->skillEffectIds[key] = -1;
key = 2237;
this->skillEffectIds[key] = -1;
key = 2309;
this->skillEffectIds[key] = -1;
key = 723;
this->skillEffectIds[key] = 89;
key = 724;
this->skillEffectIds[key] = 183;
key = 722;
this->skillEffectIds[key] = -1;
key = 724;
this->skillEffectIds[key] = 1053;
key = 723;
this->skillEffectIds[key] = 89;
key = 757;
this->skillEffectIds[key] = 454;
key = 758;
this->skillEffectIds[key] = 454;
key = 759;
this->skillEffectIds[key] = 454;
key = 760;
this->skillEffectIds[key] = 454;
key = 762;
this->skillEffectIds[key] = 454;
key = 763;
this->skillEffectIds[key] = 89;
key = 768;
this->skillEffectIds[key] = -1;
key = 5220;
this->skillEffectIds[key] = 15;
this->skillFollowEffects.clear();
key = 0;
this->skillFollowEffects[key] = 0;
key = 1;
this->skillFollowEffects[key] = 1;
key = 2;
this->skillFollowEffects[key] = 1;
key = 3;
this->skillFollowEffects[key] = 1;
key = 4;
this->skillFollowEffects[key] = 1;
key = 5;
this->skillFollowEffects[key] = 1;
key = 6;
this->skillFollowEffects[key] = 1;
key = 7;
this->skillFollowEffects[key] = 17;
key = 8202;
this->skillFollowEffects[key] = 17;
key = 8;
this->skillFollowEffects[key] = 1;
key = 9;
this->skillFollowEffects[key] = 1;
key = 10;
this->skillFollowEffects[key] = 1;
key = 11;
this->skillFollowEffects[key] = 1;
key = 12;
this->skillFollowEffects[key] = -1;
key = 13;
this->skillFollowEffects[key] = 1;
key = 14;
this->skillFollowEffects[key] = -1;
key = 15;
this->skillFollowEffects[key] = 28;
key = 16;
this->skillFollowEffects[key] = 23;
key = 17;
this->skillFollowEffects[key] = 1;
key = 18;
this->skillFollowEffects[key] = -1;
key = 19;
this->skillFollowEffects[key] = -1;
key = 20;
this->skillFollowEffects[key] = -1;
key = 21;
this->skillFollowEffects[key] = -1;
key = 22;
this->skillFollowEffects[key] = 1;
key = 23;
this->skillFollowEffects[key] = 1;
key = 24;
this->skillFollowEffects[key] = 1;
key = 25;
this->skillFollowEffects[key] = 1;
key = 26;
this->skillFollowEffects[key] = 1;
key = 27;
this->skillFollowEffects[key] = 1;
key = 28;
this->skillFollowEffects[key] = 1;
key = 29;
this->skillFollowEffects[key] = 1;
key = 690;
this->skillFollowEffects[key] = 1;
key = 30;
this->skillFollowEffects[key] = 1;
key = 31;
this->skillFollowEffects[key] = 1;
key = 32;
this->skillFollowEffects[key] = 1;
key = 33;
this->skillFollowEffects[key] = 1;
key = 34;
this->skillFollowEffects[key] = 1;
key = 689;
this->skillFollowEffects[key] = 1;
key = 35;
this->skillFollowEffects[key] = 1;
key = 36;
this->skillFollowEffects[key] = 1;
key = 37;
this->skillFollowEffects[key] = 1;
key = 38;
this->skillFollowEffects[key] = 1;
key = 39;
this->skillFollowEffects[key] = 1;
key = 40;
this->skillFollowEffects[key] = 1;
key = 41;
this->skillFollowEffects[key] = 1;
key = 42;
this->skillFollowEffects[key] = 10;
key = 43;
this->skillFollowEffects[key] = 1;
key = 44;
this->skillFollowEffects[key] = 1;
key = 45;
this->skillFollowEffects[key] = 1;
key = 46;
this->skillFollowEffects[key] = 1;
key = 499;
this->skillFollowEffects[key] = 1;
key = 1009;
this->skillFollowEffects[key] = 1;
key = 47;
this->skillFollowEffects[key] = 1;
key = 48;
this->skillFollowEffects[key] = 1;
key = 49;
this->skillFollowEffects[key] = 1;
key = 50;
this->skillFollowEffects[key] = 1;
key = 51;
this->skillFollowEffects[key] = 1;
key = 52;
this->skillFollowEffects[key] = 1;
key = 53;
this->skillFollowEffects[key] = 1;
key = 54;
this->skillFollowEffects[key] = 140;
key = 55;
this->skillFollowEffects[key] = -1;
key = 56;
this->skillFollowEffects[key] = 81;
key = 57;
this->skillFollowEffects[key] = -1;
key = 58;
this->skillFollowEffects[key] = 81;
key = 59;
this->skillFollowEffects[key] = 3;
key = 60;
this->skillFollowEffects[key] = -1;
key = 61;
this->skillFollowEffects[key] = -1;
key = 62;
this->skillFollowEffects[key] = 73;
key = 63;
this->skillFollowEffects[key] = -1;
key = 64;
this->skillFollowEffects[key] = -1;
key = 65;
this->skillFollowEffects[key] = -1;
key = 66;
this->skillFollowEffects[key] = 84;
key = 67;
this->skillFollowEffects[key] = 88;
key = 68;
this->skillFollowEffects[key] = 152;
key = 69;
this->skillFollowEffects[key] = -1;
key = 694;
this->skillFollowEffects[key] = -1;
key = 70;
this->skillFollowEffects[key] = -1;
key = 72;
this->skillFollowEffects[key] = -1;
key = 73;
this->skillFollowEffects[key] = -1;
key = 74;
this->skillFollowEffects[key] = 76;
key = 75;
this->skillFollowEffects[key] = 75;
key = 76;
this->skillFollowEffects[key] = 87;
key = 77;
this->skillFollowEffects[key] = 152;
key = 78;
this->skillFollowEffects[key] = 85;
key = 79;
this->skillFollowEffects[key] = 152;
key = 80;
this->skillFollowEffects[key] = 49;
key = 81;
this->skillFollowEffects[key] = 49;
key = 83;
this->skillFollowEffects[key] = 49;
key = 84;
this->skillFollowEffects[key] = 94;
key = 341;
this->skillFollowEffects[key] = 452;
key = 85;
this->skillFollowEffects[key] = 52;
key = 88;
this->skillFollowEffects[key] = 28;
key = 89;
this->skillFollowEffects[key] = 51;
key = 90;
this->skillFollowEffects[key] = 147;
key = 91;
this->skillFollowEffects[key] = 147;
key = 92;
this->skillFollowEffects[key] = 147;
key = 93;
this->skillFollowEffects[key] = 60;
key = 115;
this->skillFollowEffects[key] = 73;
key = 116;
this->skillFollowEffects[key] = -1;
key = 117;
this->skillFollowEffects[key] = -1;
key = 118;
this->skillFollowEffects[key] = -1;
key = 119;
this->skillFollowEffects[key] = -1;
key = 688;
this->skillFollowEffects[key] = -1;
key = 692;
this->skillFollowEffects[key] = -1;
key = 698;
this->skillFollowEffects[key] = -1;
key = 693;
this->skillFollowEffects[key] = -1;
key = 695;
this->skillFollowEffects[key] = -1;
key = 120;
this->skillFollowEffects[key] = -1;
key = 121;
this->skillFollowEffects[key] = -1;
key = 122;
this->skillFollowEffects[key] = -1;
key = 123;
this->skillFollowEffects[key] = -1;
key = 124;
this->skillFollowEffects[key] = -1;
key = 125;
this->skillFollowEffects[key] = -1;
key = 126;
this->skillFollowEffects[key] = -1;
key = 127;
this->skillFollowEffects[key] = -1;
key = 128;
this->skillFollowEffects[key] = -1;
key = 129;
this->skillFollowEffects[key] = 115;
key = 130;
this->skillFollowEffects[key] = -1;
key = 131;
this->skillFollowEffects[key] = -1;
key = 132;
this->skillFollowEffects[key] = -1;
key = 133;
this->skillFollowEffects[key] = -1;
key = 134;
this->skillFollowEffects[key] = -1;
key = 135;
this->skillFollowEffects[key] = 1;
key = 136;
this->skillFollowEffects[key] = 122;
key = 2005;
this->skillFollowEffects[key] = 122;
key = 137;
this->skillFollowEffects[key] = 132;
key = 138;
this->skillFollowEffects[key] = -1;
key = 139;
this->skillFollowEffects[key] = -1;
key = 140;
this->skillFollowEffects[key] = 124;
key = 141;
this->skillFollowEffects[key] = -1;
key = 94;
this->skillFollowEffects[key] = -1;
key = 95;
this->skillFollowEffects[key] = -1;
key = 96;
this->skillFollowEffects[key] = -1;
key = 97;
this->skillFollowEffects[key] = -1;
key = 98;
this->skillFollowEffects[key] = -1;
key = 99;
this->skillFollowEffects[key] = -1;
key = 100;
this->skillFollowEffects[key] = -1;
key = 101;
this->skillFollowEffects[key] = -1;
key = 102;
this->skillFollowEffects[key] = -1;
key = 103;
this->skillFollowEffects[key] = -1;
key = 104;
this->skillFollowEffects[key] = -1;
key = 105;
this->skillFollowEffects[key] = -1;
key = 106;
this->skillFollowEffects[key] = -1;
key = 107;
this->skillFollowEffects[key] = -1;
key = 108;
this->skillFollowEffects[key] = -1;
key = 109;
this->skillFollowEffects[key] = -1;
key = 110;
this->skillFollowEffects[key] = -1;
key = 111;
this->skillFollowEffects[key] = -1;
key = 112;
this->skillFollowEffects[key] = -1;
key = 113;
this->skillFollowEffects[key] = -1;
key = 114;
this->skillFollowEffects[key] = -1;
key = 141;
this->skillFollowEffects[key] = -1;
key = 143;
this->skillFollowEffects[key] = -1;
key = 153;
this->skillFollowEffects[key] = 170;
key = 159;
this->skillFollowEffects[key] = 181;
key = 192;
this->skillFollowEffects[key] = 182;
key = 158;
this->skillFollowEffects[key] = -1;
key = 160;
this->skillFollowEffects[key] = -1;
key = 161;
this->skillFollowEffects[key] = -1;
key = 162;
this->skillFollowEffects[key] = -1;
key = 163;
this->skillFollowEffects[key] = -1;
key = 164;
this->skillFollowEffects[key] = -1;
key = 165;
this->skillFollowEffects[key] = -1;
key = 166;
this->skillFollowEffects[key] = -1;
key = 167;
this->skillFollowEffects[key] = -1;
key = 168;
this->skillFollowEffects[key] = -1;
key = 169;
this->skillFollowEffects[key] = -1;
key = 171;
this->skillFollowEffects[key] = 186;
key = 172;
this->skillFollowEffects[key] = 191;
key = 173;
this->skillFollowEffects[key] = -1;
key = 174;
this->skillFollowEffects[key] = -1;
key = 175;
this->skillFollowEffects[key] = -1;
key = 176;
this->skillFollowEffects[key] = 125;
key = 177;
this->skillFollowEffects[key] = -1;
key = 178;
this->skillFollowEffects[key] = 193;
key = 663;
this->skillFollowEffects[key] = -1;
key = 179;
this->skillFollowEffects[key] = 194;
key = 180;
this->skillFollowEffects[key] = 195;
key = 181;
this->skillFollowEffects[key] = 196;
key = 182;
this->skillFollowEffects[key] = 197;
key = 183;
this->skillFollowEffects[key] = -1;
key = 184;
this->skillFollowEffects[key] = 51;
key = 185;
this->skillFollowEffects[key] = 147;
key = 186;
this->skillFollowEffects[key] = 49;
key = 654;
this->skillFollowEffects[key] = 49;
key = 662;
this->skillFollowEffects[key] = -1;
key = 187;
this->skillFollowEffects[key] = 52;
key = 188;
this->skillFollowEffects[key] = 192;
key = 189;
this->skillFollowEffects[key] = 152;
key = 190;
this->skillFollowEffects[key] = 184;
key = 347;
this->skillFollowEffects[key] = -1;
key = 191;
this->skillFollowEffects[key] = 198;
key = 199;
this->skillFollowEffects[key] = 216;
key = 200;
this->skillFollowEffects[key] = 217;
key = 202;
this->skillFollowEffects[key] = 212;
key = 2210;
this->skillFollowEffects[key] = 216;
key = 267;
this->skillFollowEffects[key] = 1;
key = 273;
this->skillFollowEffects[key] = 1;
key = 156;
this->skillFollowEffects[key] = 152;
key = 272;
this->skillFollowEffects[key] = 122;
key = 2327;
this->skillFollowEffects[key] = -1;
key = 2329;
this->skillFollowEffects[key] = 1;
key = 2518;
this->skillFollowEffects[key] = 1;
key = 371;
this->skillFollowEffects[key] = 1;
key = 372;
this->skillFollowEffects[key] = 1;
key = 381;
this->skillFollowEffects[key] = 115;
key = 382;
this->skillFollowEffects[key] = 1;
key = 394;
this->skillFollowEffects[key] = 1;
key = 397;
this->skillFollowEffects[key] = 81;
key = 400;
this->skillFollowEffects[key] = -1;
key = 485;
this->skillFollowEffects[key] = -1;
key = 1001;
this->skillFollowEffects[key] = 1;
key = 1016;
this->skillFollowEffects[key] = 2;
key = 534;
this->skillFollowEffects[key] = 49;
key = 537;
this->skillFollowEffects[key] = 51;
key = 2038;
this->skillFollowEffects[key] = -1;
key = 2246;
this->skillFollowEffects[key] = -1;
key = 2237;
this->skillFollowEffects[key] = -1;
key = 2033;
this->skillFollowEffects[key] = 1;
key = 2022;
this->skillFollowEffects[key] = 122;
key = 2031;
this->skillFollowEffects[key] = 1;
key = 2270;
this->skillFollowEffects[key] = -1;
key = 2204;
this->skillFollowEffects[key] = 51;
key = 2203;
this->skillFollowEffects[key] = 51;
key = 2304;
this->skillFollowEffects[key] = 183;
key = 2309;
this->skillFollowEffects[key] = -1;
key = 2448;
this->skillFollowEffects[key] = 1;
key = 2449;
this->skillFollowEffects[key] = 182;
key = 736;
this->skillFollowEffects[key] = 182;
key = 2447;
this->skillFollowEffects[key] = 51;
key = 720;
this->skillFollowEffects[key] = 51;
key = 723;
this->skillFollowEffects[key] = 51;
key = 724;
this->skillFollowEffects[key] = -1;
key = 722;
this->skillFollowEffects[key] = 1052;
key = 721;
this->skillFollowEffects[key] = -1;
key = 723;
this->skillFollowEffects[key] = 51;
key = 742;
this->skillFollowEffects[key] = 1;
key = 757;
this->skillFollowEffects[key] = -1;
key = 768;
this->skillFollowEffects[key] = -1;
key = 5215;
this->skillFollowEffects[key] = 1737;
key = 5214;
this->skillFollowEffects[key] = 1740;
key = 5220;
this->skillFollowEffects[key] = 1744;
key = 5233;
this->skillFollowEffects[key] = 1749;
key = 5234;
this->skillFollowEffects[key] = 1737;
key = 5235;
this->skillFollowEffects[key] = 1759;
key = 5236;
this->skillFollowEffects[key] = 1759;
key = 5237;
this->skillFollowEffects[key] = 1784;
key = 5287;
this->skillFollowEffects[key] = 1838;
key = 5277;
this->skillFollowEffects[key] = 1848;
key = 5298;
this->skillFollowEffects[key] = 1842;
key = 5295;
this->skillFollowEffects[key] = 1939;
key = 5296;
this->skillFollowEffects[key] = 1886;
key = 5241;
this->skillFollowEffects[key] = 1990;
key = 5244;
this->skillFollowEffects[key] = 1997;
key = 5225;
this->skillFollowEffects[key] = 1858;
key = 5226;
this->skillFollowEffects[key] = 1858;
key = 5245;
this->skillFollowEffects[key] = 2053;
key = 5249;
this->skillFollowEffects[key] = 2080;
key = 5250;
this->skillFollowEffects[key] = 2082;
key = 5294;
this->skillFollowEffects[key] = 1866;
key = 5289;
this->skillFollowEffects[key] = 1914;
key = 5314;
this->skillFollowEffects[key] = 1967;
key = 5329;
this->skillFollowEffects[key] = 1970;
key = 5316;
this->skillFollowEffects[key] = 2017;
key = 5382;
this->skillFollowEffects[key] = 2016;
key = 8457;
this->skillFollowEffects[key] = 2012;
key = 8448;
this->skillFollowEffects[key] = 2023;
key = 5369;
this->skillFollowEffects[key] = 2030;
key = 5371;
this->skillFollowEffects[key] = 2034;
key = 8445;
this->skillFollowEffects[key] = 2039;
key = 5370;
this->skillFollowEffects[key] = 2045;
key = 5372;
this->skillFollowEffects[key] = 2059;
key = 5357;
this->skillFollowEffects[key] = 2063;
key = 5319;
this->skillFollowEffects[key] = 2093;
key = 8451;
this->skillFollowEffects[key] = 2102;
key = 8454;
this->skillFollowEffects[key] = 2107;
key = 5383;
this->skillFollowEffects[key] = 2111;
key = 5320;
this->skillFollowEffects[key] = 1967;
key = 5321;
this->skillFollowEffects[key] = 2131;
key = 5373;
this->skillFollowEffects[key] = 2137;
key = 5389;
this->skillFollowEffects[key] = 2141;
key = 5392;
this->skillFollowEffects[key] = 2144;
key = 5393;
this->skillFollowEffects[key] = 2147;
key = 5390;
this->skillFollowEffects[key] = 2150;
key = 5391;
this->skillFollowEffects[key] = 2153;
key = 5315;
this->skillFollowEffects[key] = 2156;
key = 5343;
this->skillFollowEffects[key] = 2207;
key = 5310;
this->skillFollowEffects[key] = 2207;
key = 5340;
this->skillFollowEffects[key] = 2215;
key = 5307;
this->skillFollowEffects[key] = 2215;
key = 5342;
this->skillFollowEffects[key] = 2223;
key = 5309;
this->skillFollowEffects[key] = 2223;
key = 5341;
this->skillFollowEffects[key] = 2231;
key = 5308;
this->skillFollowEffects[key] = 2231;
key = 5384;
this->skillFollowEffects[key] = 2253;
key = 5385;
this->skillFollowEffects[key] = 2251;
key = 783;
this->skillFollowEffects[key] = 2304;
key = 780;
this->skillFollowEffects[key] = 2308;
key = 8054;
this->skillFollowEffects[key] = 2325;
key = 8048;
this->skillFollowEffects[key] = 2328;
key = 8047;
this->skillFollowEffects[key] = 2330;
key = 8056;
this->skillFollowEffects[key] = 2336;
key = 8050;
this->skillFollowEffects[key] = 2325;
key = 8044;
this->skillFollowEffects[key] = 2342;
}