rodecomp/Source/Contents/Items/JobCodeForItem.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

452 lines
24 KiB
C++

#include "Contents/Items/JobCodeForItem.h"
#include "Contents/Jobs/JobId.h"
#include <new>
// OFFSET: 0x006C7720
// FUNCTION: fn_06421
// OFFSET: 0x006C7920
// FUNCTION: fn_06422
// OFFSET: 0x006C7B30
// FUNCTION: fn_06423
// OFFSET: 0x006C7D40
// FUNCTION: fn_06424
// OFFSET: 0x006C7F60
// FUNCTION: fn_06425
// OFFSET: 0x006C8180
// FUNCTION: fn_06426
// OFFSET: 0x006C83A0
// FUNCTION: fn_06427
// OFFSET: 0x006C85D0
// FUNCTION: fn_06428
// OFFSET: 0x006C8810
// FUNCTION: fn_06429
template <typename... Groups>
void CJobCodeForItem::AddJobCodeFromGroups(unsigned long code, Groups... groups) {
std::set<unsigned int> groupSet = {static_cast<unsigned int>(groups)...};
if (!groupSet.empty()) {
std::set<int> jobs;
for (const unsigned int& group : groupSet) {
auto groupIt = this->m_jobGroups.find(group);
if (this->m_jobGroups.end() != groupIt) {
jobs.merge(std::set<int>(groupIt->second));
}
}
auto it = this->m_jobCodes.find(code);
if (this->m_jobCodes.end() == it) {
this->m_jobCodes[code] = jobs;
} else {
it->second.merge(jobs);
}
}
}
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int, int, int, int, int, int, int, int, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int, int, int, int, int, int, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int, int, int, int, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int, int, int, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int, int, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int, int);
template void CJobCodeForItem::AddJobCodeFromGroups(unsigned long, int);
// OFFSET: 0x006C8A50
// FUNCTION: fn_06430
// OFFSET: 0x006C8B10
// FUNCTION: fn_06431
// OFFSET: 0x006C8BD0
// FUNCTION: fn_06432
// OFFSET: 0x006C8CB0
// FUNCTION: fn_06433
// OFFSET: 0x006C8D90
// FUNCTION: fn_06434
// OFFSET: 0x006C8F60
// FUNCTION: fn_06435
// OFFSET: 0x006C9050
// FUNCTION: fn_06436
template <typename... Jobs>
void CJobCodeForItem::AddJobCode(unsigned long code, Jobs... jobs) {
std::set<int> jobSet = {jobs...};
if (jobSet.empty()) {
return;
}
auto it = this->m_jobCodes.find(code);
if (this->m_jobCodes.end() == it) {
this->m_jobCodes[code] = jobSet;
} else {
it->second.merge(jobSet);
}
}
template void CJobCodeForItem::AddJobCode(unsigned long, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobCode(unsigned long, JobId, JobId, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobCode(unsigned long, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobCode(unsigned long, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobCode(unsigned long, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobCode(unsigned long, JobId, JobId);
template void CJobCodeForItem::AddJobCode(unsigned long, JobId);
// OFFSET: 0x006C9270
// FUNCTION: fn_06437
// OFFSET: 0x006C9350
// FUNCTION: fn_06438
// OFFSET: 0x006C9430
// FUNCTION: fn_06439
// OFFSET: 0x006C9510
// FUNCTION: fn_06440
// OFFSET: 0x006C9600
// FUNCTION: fn_06441
// OFFSET: 0x006C96F0
// FUNCTION: fn_06442
// OFFSET: 0x006C98F0
// FUNCTION: fn_06443
// OFFSET: 0x006C9A00
// FUNCTION: fn_06444
template <typename... Jobs>
void CJobCodeForItem::AddJobGroup(unsigned int group, Jobs... jobs) {
std::set<int> jobSet = {jobs...};
if (jobSet.empty()) {
return;
}
auto it = this->m_jobGroups.find(group);
if (this->m_jobGroups.end() == it) {
this->m_jobGroups[group] = jobSet;
} else {
it->second.merge(jobSet);
}
}
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId,
JobId, JobId, JobId);
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId, JobId);
template void CJobCodeForItem::AddJobGroup(unsigned int, JobId, JobId, JobId);
// GLOBAL: gl_24704
template <>
CJobCodeForItem* Singleton<CJobCodeForItem>::s_instance = nullptr;
// OFFSET: 0x00E5CED0
// FUNCTION: fn_24374
template <>
CJobCodeForItem* Singleton<CJobCodeForItem>::GetInstance() {
if (!s_instance) {
s_instance = new (std::nothrow) CJobCodeForItem;
}
return s_instance;
}
// OFFSET: 0x006CB0A0
// FUNCTION: fn_06464
void CJobCodeForItem::InitJobGroups() {
this->AddJobGroup(19, JT_SWORDMAN_B, JT_MAGICIAN_B, JT_ARCHER_B, JT_ACOLYTE_B, JT_MERCHANT_B, JT_THIEF_B);
this->AddJobGroup(20, JT_KNIGHT_B, JT_PRIEST_B, JT_WIZARD_B, JT_BLACKSMITH_B, JT_HUNTER_B, JT_ASSASSIN_B, JT_CRUSADER_B, JT_MONK_B, JT_SAGE_B, JT_ROGUE_B,
JT_ALCHEMIST_B, JT_BARD_B, JT_DANCER_B);
this->AddJobGroup(21, JT_RUNE_KNIGHT_B, JT_ROYAL_GUARD_B, JT_MECHANIC_B, JT_GENETIC_B, JT_WARLOCK_B, JT_SORCERER_B, JT_RANGER_B, JT_MINSTREL_B, JT_WANDERER_B,
JT_ARCHBISHOP_B, JT_SURA_B, JT_GUILLOTINE_CROSS_B, JT_SHADOW_CHASER_B);
this->AddJobGroup(15, JT_SWORDMAN_H, JT_MERCHANT_H, JT_MAGICIAN_H, JT_ARCHER_H, JT_ACOLYTE_H, JT_THIEF_H);
this->AddJobGroup(13, JT_KNIGHT, JT_CRUSADER, JT_BLACKSMITH, JT_ALCHEMIST, JT_WIZARD, JT_SAGE, JT_HUNTER, JT_BARD, JT_DANCER, JT_PRIEST, JT_MONK, JT_ASSASSIN,
JT_ROGUE);
this->AddJobGroup(16, JT_KNIGHT_H, JT_CRUSADER_H, JT_BLACKSMITH_H, JT_ALCHEMIST_H, JT_WIZARD_H, JT_SAGE_H, JT_HUNTER_H, JT_BARD_H, JT_DANCER_H, JT_PRIEST_H,
JT_MONK_H, JT_ASSASSIN_H, JT_ROGUE_H);
this->AddJobGroup(14, JT_RUNE_KNIGHT, JT_ROYAL_GUARD, JT_MECHANIC, JT_GENETIC, JT_WARLOCK, JT_SORCERER, JT_RANGER, JT_MINSTREL, JT_WANDERER, JT_ARCHBISHOP,
JT_SURA, JT_GUILLOTINE_CROSS, JT_SHADOW_CHASER);
this->AddJobGroup(17, JT_RUNE_KNIGHT_H, JT_ROYAL_GUARD_H, JT_MECHANIC_H, JT_GENETIC_H, JT_WARLOCK_H, JT_SORCERER_H, JT_RANGER_H, JT_MINSTREL_H, JT_WANDERER_H,
JT_ARCHBISHOP_H, JT_SURA_H, JT_GUILLOTINE_CROSS_H, JT_SHADOW_CHASER_H);
this->AddJobGroup(18, JT_DRAGON_KNIGHT, JT_MEISTER, JT_SHADOW_CROSS, JT_ARCH_MAGE, JT_CARDINAL, JT_WINDHAWK, JT_IMPERIAL_GUARD, JT_BIOLO, JT_ABYSS_CHASER,
JT_ELEMENTAL_MASTER, JT_INQUISITOR, JT_TROUBADOUR, JT_TROUVERE);
this->AddJobGroup(0, JT_NOVICE, JT_SUPERNOVICE, JT_NOVICE_H, JT_NOVICE_B, JT_SUPERNOVICE_B, JT_SUPERNOVICE2, JT_SUPERNOVICE2_B, JT_HYPER_NOVICE);
this->AddJobGroup(1, JT_SWORDMAN, JT_KNIGHT, JT_CRUSADER, JT_SWORDMAN_H, JT_KNIGHT_H, JT_CRUSADER_H, JT_SWORDMAN_B, JT_KNIGHT_B, JT_CRUSADER_B,
JT_RUNE_KNIGHT, JT_RUNE_KNIGHT_H, JT_ROYAL_GUARD, JT_ROYAL_GUARD_H, JT_RUNE_KNIGHT_B, JT_ROYAL_GUARD_B, JT_DRAGON_KNIGHT,
JT_IMPERIAL_GUARD);
this->AddJobGroup(2, JT_MERCHANT, JT_BLACKSMITH, JT_ALCHEMIST, JT_MERCHANT_H, JT_BLACKSMITH_H, JT_ALCHEMIST_H, JT_MERCHANT_B, JT_BLACKSMITH_B, JT_ALCHEMIST_B,
JT_MECHANIC, JT_MECHANIC_H, JT_MECHANIC_B, JT_GENETIC, JT_GENETIC_H, JT_GENETIC_B, JT_MEISTER, JT_BIOLO);
this->AddJobGroup(3, JT_MAGICIAN, JT_WIZARD, JT_SAGE, JT_MAGICIAN_H, JT_WIZARD_H, JT_SAGE_H, JT_MAGICIAN_B, JT_WIZARD_B, JT_SAGE_B, JT_WARLOCK, JT_WARLOCK_H,
JT_WARLOCK_B, JT_SORCERER, JT_SORCERER_H, JT_SORCERER_B, JT_ARCH_MAGE, JT_ELEMENTAL_MASTER);
this->AddJobGroup(4, JT_ARCHER, JT_HUNTER, JT_BARD, JT_DANCER, JT_ARCHER_H, JT_HUNTER_H, JT_BARD_H, JT_DANCER_H, JT_ARCHER_B, JT_HUNTER_B, JT_BARD_B,
JT_DANCER_B, JT_RANGER, JT_RANGER_H, JT_RANGER_B, JT_MINSTREL, JT_WANDERER, JT_MINSTREL_H, JT_MINSTREL_B, JT_WANDERER_H, JT_WANDERER_B,
JT_WINDHAWK, JT_TROUBADOUR, JT_TROUVERE);
this->AddJobGroup(5, JT_ACOLYTE, JT_PRIEST, JT_MONK, JT_ACOLYTE_H, JT_PRIEST_H, JT_MONK_H, JT_ACOLYTE_B, JT_PRIEST_B, JT_MONK_B, JT_ARCHBISHOP,
JT_ARCHBISHOP_H, JT_SURA, JT_SURA_H, JT_ARCHBISHOP_B, JT_SURA_B, JT_CARDINAL, JT_INQUISITOR);
this->AddJobGroup(6, JT_THIEF, JT_ASSASSIN, JT_ROGUE, JT_THIEF_H, JT_ASSASSIN_H, JT_ROGUE_H, JT_THIEF_B, JT_ASSASSIN_B, JT_ROGUE_B, JT_GUILLOTINE_CROSS,
JT_GUILLOTINE_CROSS_H, JT_SHADOW_CHASER, JT_SHADOW_CHASER_H, JT_GUILLOTINE_CROSS_B, JT_SHADOW_CHASER_B, JT_SHADOW_CROSS, JT_ABYSS_CHASER);
this->AddJobGroup(7, JT_TAEKWON, JT_STAR, JT_TAEKWON_B, JT_STAR_B, JT_STAR_EMPEROR, JT_STAR_EMPEROR_B, JT_SKY_EMPEROR);
this->AddJobGroup(8, JT_TAEKWON, JT_STAR, JT_LINKER, JT_TAEKWON_B, JT_STAR_B, JT_LINKER_B, JT_STAR_EMPEROR, JT_STAR_EMPEROR_B, JT_SOUL_REAPER,
JT_SOUL_REAPER_B, JT_SKY_EMPEROR, JT_SOUL_ASCETIC);
this->AddJobGroup(9, JT_STAR, JT_STAR_B, JT_STAR_EMPEROR, JT_STAR_EMPEROR_B, JT_SKY_EMPEROR);
this->AddJobGroup(10, JT_STAR_EMPEROR, JT_STAR_EMPEROR_B, JT_SKY_EMPEROR);
this->AddJobGroup(11, JT_LINKER, JT_LINKER_B, JT_SOUL_REAPER, JT_SOUL_REAPER_B, JT_SOUL_ASCETIC);
this->AddJobGroup(12, JT_SOUL_REAPER, JT_SOUL_REAPER_B, JT_SOUL_ASCETIC);
this->AddJobGroup(61, JT_NINJA, JT_KAGEROU, JT_OBORO, JT_NINJA_B, JT_KAGEROU_B, JT_OBORO_B, JT_SHINKIRO, JT_SHIRANUI);
this->AddJobGroup(62, JT_KAGEROU, JT_OBORO, JT_KAGEROU_B, JT_OBORO_B, JT_SHINKIRO, JT_SHIRANUI);
this->AddJobGroup(63, JT_GUNSLINGER, JT_REBELLION, JT_GUNSLINGER_B, JT_REBELLION_B, JT_NIGHT_WATCH);
this->AddJobGroup(64, JT_REBELLION, JT_REBELLION_B, JT_NIGHT_WATCH);
this->AddJobGroup(65, JT_DO_SUMMONER, JT_DO_SUMMONER_B, JT_SPIRIT_HANDLER);
this->AddJobGroup(66, JT_DRUID, JT_KARNOS, JT_ALITEA, JT_DRUID_B, JT_KARNOS_B);
this->AddJobGroup(22, JT_KNIGHT, JT_KNIGHT_H, JT_KNIGHT_B, JT_RUNE_KNIGHT, JT_RUNE_KNIGHT_H, JT_RUNE_KNIGHT_B, JT_DRAGON_KNIGHT);
this->AddJobGroup(23, JT_CRUSADER, JT_CRUSADER_H, JT_CRUSADER_B, JT_ROYAL_GUARD, JT_ROYAL_GUARD_H, JT_ROYAL_GUARD_B, JT_IMPERIAL_GUARD);
this->AddJobGroup(24, JT_BLACKSMITH, JT_BLACKSMITH_H, JT_BLACKSMITH_B, JT_MECHANIC, JT_MECHANIC_H, JT_MECHANIC_B, JT_MEISTER);
this->AddJobGroup(25, JT_ALCHEMIST, JT_ALCHEMIST_H, JT_ALCHEMIST_B, JT_GENETIC, JT_GENETIC_H, JT_GENETIC_B, JT_BIOLO);
this->AddJobGroup(26, JT_ASSASSIN, JT_ASSASSIN_H, JT_ASSASSIN_B, JT_GUILLOTINE_CROSS, JT_GUILLOTINE_CROSS_H, JT_GUILLOTINE_CROSS_B, JT_SHADOW_CROSS);
this->AddJobGroup(27, JT_ROGUE, JT_ROGUE_H, JT_ROGUE_B, JT_SHADOW_CHASER, JT_SHADOW_CHASER_H, JT_SHADOW_CHASER_B, JT_ABYSS_CHASER);
this->AddJobGroup(28, JT_WIZARD, JT_WIZARD_H, JT_WIZARD_B, JT_WARLOCK, JT_WARLOCK_H, JT_WARLOCK_B, JT_ARCH_MAGE);
this->AddJobGroup(29, JT_SAGE, JT_SAGE_H, JT_SAGE_B, JT_SORCERER, JT_SORCERER_H, JT_SORCERER_B, JT_ELEMENTAL_MASTER);
this->AddJobGroup(30, JT_PRIEST, JT_PRIEST_H, JT_PRIEST_B, JT_ARCHBISHOP, JT_ARCHBISHOP_H, JT_ARCHBISHOP_B, JT_CARDINAL);
this->AddJobGroup(31, JT_MONK, JT_MONK_H, JT_MONK_B, JT_SURA, JT_SURA_H, JT_SURA_B, JT_INQUISITOR);
this->AddJobGroup(32, JT_HUNTER, JT_HUNTER_H, JT_HUNTER_B, JT_RANGER, JT_RANGER_H, JT_RANGER_B, JT_WINDHAWK);
this->AddJobGroup(33, JT_BARD, JT_BARD_H, JT_BARD_B, JT_MINSTREL, JT_MINSTREL_H, JT_MINSTREL_B, JT_TROUBADOUR);
this->AddJobGroup(34, JT_DANCER, JT_DANCER_H, JT_DANCER_B, JT_WANDERER, JT_WANDERER_H, JT_WANDERER_B, JT_TROUVERE);
this->AddJobGroup(35, JT_KNIGHT_H, JT_RUNE_KNIGHT, JT_RUNE_KNIGHT_H, JT_RUNE_KNIGHT_B, JT_DRAGON_KNIGHT);
this->AddJobGroup(36, JT_CRUSADER_H, JT_ROYAL_GUARD, JT_ROYAL_GUARD_H, JT_ROYAL_GUARD_B, JT_IMPERIAL_GUARD);
this->AddJobGroup(37, JT_BLACKSMITH_H, JT_MECHANIC, JT_MECHANIC_H, JT_MECHANIC_B, JT_MEISTER);
this->AddJobGroup(38, JT_ALCHEMIST_H, JT_GENETIC, JT_GENETIC_H, JT_GENETIC_B, JT_BIOLO);
this->AddJobGroup(39, JT_ASSASSIN_H, JT_GUILLOTINE_CROSS, JT_GUILLOTINE_CROSS_H, JT_GUILLOTINE_CROSS_B, JT_SHADOW_CROSS);
this->AddJobGroup(40, JT_ROGUE_H, JT_SHADOW_CHASER, JT_SHADOW_CHASER_H, JT_SHADOW_CHASER_B, JT_ABYSS_CHASER);
this->AddJobGroup(41, JT_WIZARD_H, JT_WARLOCK, JT_WARLOCK_H, JT_WARLOCK_B, JT_ARCH_MAGE);
this->AddJobGroup(42, JT_SAGE_H, JT_SORCERER, JT_SORCERER_H, JT_SORCERER_B, JT_ELEMENTAL_MASTER);
this->AddJobGroup(43, JT_PRIEST_H, JT_ARCHBISHOP, JT_ARCHBISHOP_H, JT_ARCHBISHOP_B, JT_CARDINAL);
this->AddJobGroup(44, JT_MONK_H, JT_SURA, JT_SURA_H, JT_SURA_B, JT_INQUISITOR);
this->AddJobGroup(45, JT_HUNTER_H, JT_RANGER, JT_RANGER_H, JT_RANGER_B, JT_WINDHAWK);
this->AddJobGroup(46, JT_BARD_H, JT_MINSTREL, JT_MINSTREL_H, JT_MINSTREL_B, JT_TROUBADOUR, JT_TROUVERE);
this->AddJobGroup(47, JT_DANCER_H, JT_WANDERER, JT_WANDERER_H, JT_WANDERER_B, JT_TROUBADOUR, JT_TROUVERE);
this->AddJobGroup(48, JT_RUNE_KNIGHT, JT_RUNE_KNIGHT_H, JT_RUNE_KNIGHT_B, JT_DRAGON_KNIGHT);
this->AddJobGroup(49, JT_ROYAL_GUARD, JT_ROYAL_GUARD_H, JT_ROYAL_GUARD_B, JT_IMPERIAL_GUARD);
this->AddJobGroup(50, JT_MECHANIC, JT_MECHANIC_H, JT_MECHANIC_B, JT_MEISTER);
this->AddJobGroup(51, JT_GENETIC, JT_GENETIC_H, JT_GENETIC_B, JT_BIOLO);
this->AddJobGroup(52, JT_GUILLOTINE_CROSS, JT_GUILLOTINE_CROSS_H, JT_GUILLOTINE_CROSS_B, JT_SHADOW_CROSS);
this->AddJobGroup(53, JT_SHADOW_CHASER, JT_SHADOW_CHASER_H, JT_SHADOW_CHASER_B, JT_ABYSS_CHASER);
this->AddJobGroup(54, JT_WARLOCK, JT_WARLOCK_H, JT_WARLOCK_B, JT_ARCH_MAGE);
this->AddJobGroup(55, JT_SORCERER, JT_SORCERER_H, JT_SORCERER_B, JT_ELEMENTAL_MASTER);
this->AddJobGroup(56, JT_ARCHBISHOP, JT_ARCHBISHOP_H, JT_ARCHBISHOP_B, JT_CARDINAL);
this->AddJobGroup(57, JT_SURA, JT_SURA_H, JT_SURA_B, JT_INQUISITOR);
this->AddJobGroup(58, JT_RANGER, JT_RANGER_H, JT_RANGER_B, JT_WINDHAWK);
this->AddJobGroup(59, JT_MINSTREL, JT_MINSTREL_H, JT_MINSTREL_B, JT_TROUBADOUR);
this->AddJobGroup(60, JT_WANDERER, JT_WANDERER_H, JT_WANDERER_B, JT_TROUVERE);
this->AddJobGroup(67, JT_KARNOS, JT_ALITEA, JT_KARNOS_B);
}
// OFFSET: 0x006CBD30
// FUNCTION: fn_06465
void CJobCodeForItem::InitJobCodes() {
this->AddJobCodeFromGroups(0x1, 0);
this->AddJobCodeFromGroups(0x40, 27);
this->AddJobCode(0x40, JT_THIEF, JT_THIEF_H, JT_THIEF_B);
this->AddJobCodeFromGroups(0x200, 32);
this->AddJobCodeFromGroups(0x1000, 26);
this->AddJobCodeFromGroups(0x2000, 23);
this->AddJobCodeFromGroups(0x2080, 22, 23);
this->AddJobCodeFromGroups(0x2082, 1);
this->AddJobCodeFromGroups(0x4100, 28, 29, 11);
this->AddJobCodeFromGroups(0x4104, 3, 11);
this->AddJobCodeFromGroups(0x4400, 30, 29, 9);
this->AddJobCodeFromGroups(0x8000, 33);
this->AddJobCodeFromGroups(0x10000, 34);
this->AddJobCodeFromGroups(0x18200, 32, 33, 34);
this->AddJobCodeFromGroups(0x18208, 4);
this->AddJobCodeFromGroups(0x20400, 30, 31);
this->AddJobCodeFromGroups(0x20410, 5);
this->AddJobCodeFromGroups(0x24514, 3, 5, 11);
this->AddJobCodeFromGroups(0x24515, 0, 3, 5, 11);
this->AddJobCodeFromGroups(0x40000, 25);
this->AddJobCodeFromGroups(0x40800, 24, 25);
this->AddJobCodeFromGroups(0x40820, 2);
this->AddJobCodeFromGroups(0x428A2, 1, 2, 66);
this->AddJobCodeFromGroups(0x60C30, 5, 2);
this->AddJobCodeFromGroups(0x66DB6, 1, 3, 5, 2, 11);
this->AddJobCodeFromGroups(0x80240, 32, 27);
this->AddJobCode(0x80240, JT_THIEF, JT_THIEF_H, JT_THIEF_B);
this->AddJobCodeFromGroups(0x81040, 6, 61);
this->AddJobCodeFromGroups(0x98208, 4, 27);
this->AddJobCodeFromGroups(0x98248, 4, 27);
this->AddJobCode(0x98248, JT_THIEF, JT_THIEF_H, JT_THIEF_B);
this->AddJobCodeFromGroups(0xC38E2, 1, 2, 6);
this->AddJobCodeFromGroups(0xC38E3, 0, 1, 2, 6);
this->AddJobCodeFromGroups(0xDBAEA, 1, 4, 2, 6);
this->AddJobCodeFromGroups(0xDFBEE, 1, 3, 4, 2, 6, 11, 61);
this->AddJobCodeFromGroups(0xDFBEF, 0, 1, 3, 4, 2, 6, 11, 61, 66);
this->AddJobCodeFromGroups(0xE3CF2, 1, 5, 2, 6);
this->AddJobCodeFromGroups(0xFBCF2, 1, 5, 2, 6, 33, 34);
this->AddJobCodeFromGroups(0xFFF80, 13, 16, 14, 17, 20, 21, 18, 9, 11);
this->AddJobCodeFromGroups(0x438A3, 0, 1, 2, 26, 66);
this->AddJobCodeFromGroups(0x62CB2, 1, 5, 2, 66);
this->AddJobCodeFromGroups(0x62CB3, 1, 5, 2, 0, 66);
this->AddJobCodeFromGroups(0x42, 1, 9);
this->AddJobCodeFromGroups(0x43, 1, 2, 6, 7);
this->AddJobCodeFromGroups(0x44, 1, 2, 6, 4, 7, 63);
this->AddJobCodeFromGroups(0x45, 1, 5, 2, 6, 7);
this->AddJobCodeFromGroups(0x46, 1, 2, 7);
this->AddJobCodeFromGroups(0x47, 30, 26);
this->AddJobCodeFromGroups(0x48, 16, 14, 17, 21, 18);
this->AddJobCodeFromGroups(0x49, 63);
this->AddJobCodeFromGroups(0x4A, 61);
this->AddJobCodeFromGroups(0x4B, 15, 16, 14, 17, 21, 18);
this->AddJobCodeFromGroups(0x50, 35, 36);
this->AddJobCode(0x50, JT_SWORDMAN_H);
this->AddJobCodeFromGroups(0x51, 37, 38);
this->AddJobCode(0x51, JT_MERCHANT_H);
this->AddJobCodeFromGroups(0x52, 39, 40);
this->AddJobCode(0x52, JT_THIEF_H);
this->AddJobCodeFromGroups(0x53, 41, 42);
this->AddJobCode(0x53, JT_MAGICIAN_H);
this->AddJobCodeFromGroups(0x54, 43, 44);
this->AddJobCode(0x54, JT_ACOLYTE_H);
this->AddJobCodeFromGroups(0x55, 45, 46, 47);
this->AddJobCode(0x55, JT_ARCHER_H);
this->AddJobCodeFromGroups(0x56, 41, 42, 43, 44);
this->AddJobCode(0x56, JT_MAGICIAN_H, JT_ACOLYTE_H);
this->AddJobCodeFromGroups(0x57, 35, 36, 37, 38, 39, 40);
this->AddJobCode(0x57, JT_SWORDMAN_H, JT_MERCHANT_H, JT_THIEF_H);
this->AddJobCodeFromGroups(0x58, 41, 42, 43, 44, 45, 46, 47);
this->AddJobCode(0x58, JT_MAGICIAN_H, JT_ACOLYTE_H, JT_ARCHER_H);
this->AddJobCodeFromGroups(0x59, 35, 36, 37, 38);
this->AddJobCode(0x59, JT_SWORDMAN_H, JT_MERCHANT_H);
this->AddJobCodeFromGroups(0x5A, 35, 36, 37, 38, 43, 44);
this->AddJobCode(0x5A, JT_SWORDMAN_H, JT_MERCHANT_H, JT_ACOLYTE_H);
this->AddJobCodeFromGroups(0x5B, 35, 36, 37, 38, 39, 40, 45, 46, 47, 41, 42);
this->AddJobCode(0x5B, JT_SWORDMAN_H, JT_MERCHANT_H, JT_THIEF_H, JT_ARCHER_H, JT_MAGICIAN_H);
this->AddJobCodeFromGroups(0x5C, 40, 45, 46, 47);
this->AddJobCode(0x5C, JT_ARCHER_H);
this->AddJobCodeFromGroups(0x5D, 43, 42);
this->AddJobCodeFromGroups(0x5E, 43, 44);
this->AddJobCodeFromGroups(0x5F, 35);
this->AddJobCodeFromGroups(0x60, 36);
this->AddJobCodeFromGroups(0x61, 37);
this->AddJobCodeFromGroups(0x62, 38);
this->AddJobCodeFromGroups(0x63, 41);
this->AddJobCodeFromGroups(0x64, 42);
this->AddJobCodeFromGroups(0x65, 45);
this->AddJobCodeFromGroups(0x66, 39);
this->AddJobCodeFromGroups(0x67, 46);
this->AddJobCodeFromGroups(0x68, 47);
this->AddJobCodeFromGroups(0x69, 43);
this->AddJobCodeFromGroups(0x6A, 44);
this->AddJobCodeFromGroups(0x6B, 40);
this->AddJobCodeFromGroups(0x6C, 3, 5, 4, 11);
this->AddJobCodeFromGroups(0x6D, 1, 2, 6, 7, 61);
this->AddJobCodeFromGroups(0x6E, 14, 17, 21, 18);
this->AddJobCodeFromGroups(0x6F, 48);
this->AddJobCodeFromGroups(0x70, 49);
this->AddJobCodeFromGroups(0x71, 56, 55);
this->AddJobCodeFromGroups(0x72, 52);
this->AddJobCodeFromGroups(0x73, 50);
this->AddJobCodeFromGroups(0x74, 58);
this->AddJobCodeFromGroups(0x75, 51);
this->AddJobCodeFromGroups(0x76, 54);
this->AddJobCodeFromGroups(0x77, 55);
this->AddJobCodeFromGroups(0x78, 59);
this->AddJobCodeFromGroups(0x79, 60);
this->AddJobCodeFromGroups(0x7A, 56);
this->AddJobCodeFromGroups(0x7B, 57);
this->AddJobCodeFromGroups(0x7C, 53);
this->AddJobCodeFromGroups(0x7D, 48, 49);
this->AddJobCodeFromGroups(0x7E, 54, 55, 56, 57);
this->AddJobCodeFromGroups(0x7F, 48, 49, 50, 51, 56, 57);
this->AddJobCodeFromGroups(0x80, 58, 59, 60);
this->AddJobCodeFromGroups(0x81, 55, 51);
this->AddJobCodeFromGroups(0x82, 9);
this->AddJobCodeFromGroups(0x83, 61, 63);
this->AddJobCodeFromGroups(0x84, 54, 56);
this->AddJobCodeFromGroups(0x85, 1, 2, 6, 4, 7, 61, 63);
this->AddJobCodeFromGroups(0x86, 13, 16, 14, 17, 20, 21, 18, 9, 11, 62, 64);
this->AddJobCodeFromGroups(0x87, 59, 60);
this->AddJobCodeFromGroups(0x88, 54, 55);
this->AddJobCodeFromGroups(0x89, 50, 51);
this->AddJobCodeFromGroups(0x8A, 56, 57);
this->AddJobCodeFromGroups(0x8B, 52, 53);
this->AddJobCodeFromGroups(0x8C, 45, 46, 47, 39, 40);
this->AddJobCode(0x8C, JT_ARCHER_H, JT_THIEF_H);
this->AddJobCodeFromGroups(0x8D, 11);
this->AddJobCodeFromGroups(0x8E, 65);
this->AddJobCodeFromGroups(0x8F, 8);
this->AddJobCodeFromGroups(0x90, 64, 62, 10, 12, 67);
this->AddJobCodeFromGroups(0x91, 10);
this->AddJobCodeFromGroups(0x92, 12);
this->AddJobCodeFromGroups(0x93, 58, 53);
this->AddJobCodeFromGroups(0x94, 4, 6, 61, 63);
this->AddJobCodeFromGroups(0x95, 0, 1, 2, 3, 4, 5, 6, 8, 61, 63, 66);
this->AddJobCodeFromGroups(0x96, 22);
this->AddJobCodeFromGroups(0x97, 24);
this->AddJobCodeFromGroups(0x98, 28);
this->AddJobCodeFromGroups(0x99, 29);
this->AddJobCodeFromGroups(0x9A, 30);
this->AddJobCodeFromGroups(0x9B, 31);
this->AddJobCodeFromGroups(0x9C, 27);
this->AddJobCode(0x9D, JT_DRAGON_KNIGHT);
this->AddJobCode(0x9E, JT_MEISTER);
this->AddJobCode(0x9F, JT_SHADOW_CROSS);
this->AddJobCode(0xA0, JT_ARCH_MAGE);
this->AddJobCode(0xA1, JT_CARDINAL);
this->AddJobCode(0xA2, JT_WINDHAWK);
this->AddJobCode(0xA3, JT_IMPERIAL_GUARD);
this->AddJobCode(0xA4, JT_BIOLO);
this->AddJobCode(0xA5, JT_ABYSS_CHASER);
this->AddJobCode(0xA6, JT_ELEMENTAL_MASTER);
this->AddJobCode(0xA7, JT_INQUISITOR);
this->AddJobCode(0xA8, JT_TROUBADOUR, JT_TROUVERE);
this->AddJobCodeFromGroups(0xA9, 18);
this->AddJobCode(0xAA, JT_TROUBADOUR);
this->AddJobCode(0xAB, JT_TROUVERE);
this->AddJobCodeFromGroups(0xAC, 3);
this->AddJobCode(0xAD, JT_SKY_EMPEROR);
this->AddJobCode(0xAE, JT_SOUL_ASCETIC);
this->AddJobCode(0xAF, JT_SHINKIRO, JT_SHIRANUI);
this->AddJobCode(0xB0, JT_NIGHT_WATCH);
this->AddJobCode(0xB1, JT_HYPER_NOVICE);
this->AddJobCode(0xB2, JT_SPIRIT_HANDLER);
this->AddJobCode(0xB3, JT_SKY_EMPEROR, JT_SOUL_ASCETIC, JT_SHINKIRO, JT_SHIRANUI, JT_NIGHT_WATCH, JT_HYPER_NOVICE, JT_SPIRIT_HANDLER, JT_ALITEA);
this->AddJobCodeFromGroups(0xB4, 18);
this->AddJobCode(0xB4, JT_SKY_EMPEROR, JT_SOUL_ASCETIC, JT_SHINKIRO, JT_SHIRANUI, JT_NIGHT_WATCH, JT_HYPER_NOVICE, JT_SPIRIT_HANDLER, JT_ALITEA);
this->AddJobCode(0xB5, JT_DRAGON_KNIGHT, JT_IMPERIAL_GUARD);
this->AddJobCode(0xB6, JT_HYPER_NOVICE, JT_ARCH_MAGE, JT_ELEMENTAL_MASTER, JT_CARDINAL, JT_INQUISITOR, JT_SOUL_ASCETIC);
this->AddJobCode(0xB7, JT_WINDHAWK, JT_TROUBADOUR, JT_TROUVERE, JT_ABYSS_CHASER);
this->AddJobCode(0xB8, JT_ARCH_MAGE, JT_ELEMENTAL_MASTER, JT_CARDINAL, JT_INQUISITOR, JT_SOUL_ASCETIC);
this->AddJobCode(0xB9, JT_CARDINAL, JT_ELEMENTAL_MASTER, JT_SKY_EMPEROR);
this->AddJobCode(0xBA, JT_DRAGON_KNIGHT, JT_IMPERIAL_GUARD, JT_MEISTER, JT_BIOLO);
this->AddJobCode(0xBB, JT_CARDINAL, JT_INQUISITOR);
this->AddJobCode(0xBC, JT_HYPER_NOVICE, JT_DRAGON_KNIGHT, JT_IMPERIAL_GUARD, JT_ARCH_MAGE, JT_ELEMENTAL_MASTER, JT_WINDHAWK, JT_TROUBADOUR, JT_TROUVERE,
JT_SHADOW_CROSS, JT_ABYSS_CHASER, JT_MEISTER, JT_BIOLO, JT_SOUL_ASCETIC, JT_SHINKIRO, JT_SHIRANUI, JT_HYPER_NOVICE, JT_ALITEA);
this->AddJobCode(0xBD, JT_HYPER_NOVICE, JT_DRAGON_KNIGHT, JT_IMPERIAL_GUARD, JT_CARDINAL, JT_INQUISITOR, JT_MEISTER, JT_BIOLO);
this->AddJobCodeFromGroups(0xBE, 18);
this->AddJobCode(0xBE, JT_SKY_EMPEROR, JT_SOUL_ASCETIC, JT_SHINKIRO, JT_SHIRANUI, JT_NIGHT_WATCH, JT_HYPER_NOVICE, JT_ALITEA);
this->AddJobCodeFromGroups(0xBF, 66);
this->AddJobCode(0xC0, JT_ALITEA);
this->AddJobCodeFromGroups(0xC1, 67);
this->AddJobCodeFromGroups(0xC2, 1, 2);
}
// OFFSET: 0x006CCB30
// FUNCTION: fn_06466
void CJobCodeForItem::Init() {
this->InitJobGroups();
this->InitJobCodes();
}
// OFFSET: 0x006CCBE0
// FUNCTION: fn_06467
bool CJobCodeForItem::IsJobAllowed(int job, unsigned long code) {
switch (code) {
case 0xFFFFE: {
auto group = this->m_jobGroups.find(0);
if (group == this->m_jobGroups.end()) {
return false;
}
return group->second.end() == group->second.find(job);
}
case 0xFFFFF:
return true;
default: {
auto it = this->m_jobCodes.find(code);
if (it == this->m_jobCodes.end()) {
return false;
}
return it->second.end() != it->second.find(job);
}
}
}