rodecomp/Source/Contents/Skills/SkillActionInfo.cpp
ragnarok-clanker 0f561a5dca Maintenance: Source reorganisation, parts 2+3: Source/UI, Client, Render, Resource, Utility, Network, Archive, Interface and loose So
Batch #16644 by ragnarok-clanker: no function's compiled code changes; checked with 593 compiled unit(s), including every includer of Source/Client/Application/Registry.h, Source/Client/Application/RegistryKey.h, Source/Client/Application/Timer.h, Source/Client/Mode/ModeFade.h, Source/Client/Mode/ModeFadeOut.h, Source/Client/Mode/ModeScreenshot.h, Source/Client/Replay/Replay.h, Source/Client/Replay/ReplayRecordOption.h, Source/Client/Session/Session.h, Source/Contents/Actors/ActorPickNode.h, Source/Contents/Effects/Core/RagEffectState.h, Source/Contents/Effects/Particles/Particle.h, Source/Contents/Movies/BinkMovie.h, Source/Contents/Sprites/SpriteLayerDrawing.h, Source/File/NFileLog.h, Source/Network/NIPAddr.h, Source/Network/Packets/ActorNamePacket.h, Source/Network/Packets/ClientKeepalive.h, Source/Network/Packets/ClientOptionPacket.h, Source/Network/Packets/ExecutableDigestPacket.h, Source/Network/Packets/GameTickPacket.h, Source/Render/DX7/QueuedDrawingDX7.h, Source/Render/DX7/RendererDX7.h, Source/Render/DX9/RenderSystemDX9.h, Source/Render/Device/DeviceSelection.h, Source/Render/Device/Direct3DErrors.h, Source/Render/Device/DisplayMode.h, Source/Render/Device/RenderAdapter.h, Source/Render/Device/RenderBackends.h, Source/Render/Drawing/ActionSpriteDrawing.h, Source/Render/Drawing/BitmapDrawing.h, Source/Render/Drawing/BlendColor.h, Source/Render/Drawing/SpriteGeometry.h, Source/Render/Drawing/TextureStageModes.h, Source/Render/Primitives/AuxiliarySubmission.h, Source/Render/Primitives/SpriteQuad.h, Source/Render/Primitives/TextureQuad.h, Source/Render/Projection/ScreenGeometry.h, Source/Render/Projection/ScreenRectangle.h, Source/Resource/Audio/BinkRuntime.h, Source/Resource/Bitmap/EmblemResource.h, Source/Resource/Bitmap/GifLzw.h, Source/Resource/Bitmap/GifResource.h, Source/Resource/Bitmap/PaletteResource.h, Source/Resource/Bitmap/SkinPalette.h, Source/Resource/Bitmap/TextureNames.h, Source/Resource/Effects/EZeffectResource.h, Source/Resource/Json/JsonCppLoader.h, Source/Resource/Models/RmaResource.h, Source/Resource/Sprites/ImfResource.h, Source/Resource/Xml/XmlNode.h, Source/Security/FileSignatureVerifier.h, Source/Security/ProcessSecurity.h, Source/UI/Achievement/UIAchWnd.h, Source/UI/AdventureGuide/UIAdventureGuide.h, Source/UI/Buttons/UIBalloonOpenBtn.h, Source/UI/Buttons/UIMiniBtnWnd.h, Source/UI/Buttons/UISlotBitmap.h, Source/UI/Buttons/UIStaticBitmap.h, Source/UI/Buttons/UIStaticItem.h, Source/UI/Buttons/UIWindowCallBtnWnd.h, Source/UI/CashEmotion/UICashEmotionSprBtn.h, Source/UI/CashShop/UIMileageWnd.h, Source/UI/CashShop/UIPayConfirmWnd.h, Source/UI/Chat/UIChatRoomWnd.h, Source/UI/Dialogs/UIAccountLimitedToolWnd.h, Source/UI/Dialogs/UICntWnd.h, Source/UI/Dialogs/UILoadingWnd.h, Source/UI/Dialogs/UIMessageBox.h, Source/UI/Dialogs/UIMessageBoxAutoreturn.h, Source/UI/Dialogs/UINormalMB.h, Source/UI/Dialogs/UINoteWnd.h, Source/UI/Dialogs/UINoticeWnd.h, Source/UI/Dialogs/UIRPImageWnd.h, Source/UI/Dialogs/UIRPImageWnd2.h, Source/UI/Dialogs/UITalkboxTrapInputWnd.h, Source/UI/Dialogs/UITransMenuWnd.h, Source/UI/Dialogs/UIVideoWnd.h, Source/UI/Dialogs/UIWordDisplayWnd.h, Source/UI/Edit/UIItemTagCtrl.h, Source/UI/Enchant/EnchantUI.h, Source/UI/Events/UICheckAttendanceWnd.h, Source/UI/Events/UIOpenRoulletteWnd.h, Source/UI/Events/UIRoulletteWnd.h, Source/UI/Exchange/UIExchangeUI.h, Source/UI/GameSettings/GameSettingsUI.h, Source/UI/GameSettings/UIBattleMsgOptionWnd.h, Source/UI/GameSettings/UIEscOptionWnd.h, Source/UI/GameSettings/UIHotKeyWnd.h, Source/UI/GameSettings/UIHotkeyGuideWnd.h, Source/UI/GameSettings/UIViewCameraInfoWnd.h, Source/UI/Gauges/UIBarGraph.h, Source/UI/Guild/UIEmblemWnd.h, Source/UI/Guild/UIGuildWnd.h, Source/UI/Items/UIChangeMaterialWnd.h, Source/UI/Items/UICollectionSystemWnd.h, Source/UI/Items/UIEquipmentPropertiesWnd.h, Source/UI/Items/UIGradeEnchantWnd.h, Source/UI/Items/UIIngredientInfoWnd.h, Source/UI/Items/UIItemBaseWnd.h, Source/UI/Items/UIItemCollectionWnd.h, Source/UI/Items/UIItemMoveInfo.h, Source/UI/Items/UIItemPurchaseWnd.h, Source/UI/Items/UIItemReformWnd.h, Source/UI/Items/UIItemSellWnd.h, Source/UI/Items/UIItemSellWnd2.h, Source/UI/Items/UIItemShopWnd.h, Source/UI/Items/UIItemShopWnd2.h, Source/UI/Items/UIItemStoreComboBox.h, Source/UI/Items/UIItemStoreFindWnd.h, Source/UI/Items/UIItemStoreSubWnd.h, Source/UI/Items/UIItemStoreWnd.h, Source/UI/Items/UIItemWnd.h, Source/UI/Items/UILapineScrollBar.h, Source/UI/Items/UILapineUpgradeBoxWnd.h, Source/UI/Items/UIMerchantItemLogWnd.h, Source/UI/Items/UIParaItemShopWnd.h, Source/UI/Items/UIPreviewEquipWnd.h, Source/UI/Items/UIRefiningWnd.h, Source/UI/Items/UISecondCostumeWnd.h, Source/UI/Items/UISelectCartWnd.h, Source/UI/Lists/UIComboBoxEx.h, Source/UI/Lists/UIScrollBarVariants.h, Source/UI/Lists/UIScrollWnd.h, Source/UI/Lists/UITagListBox.h, Source/UI/Login/FuncDrawWNDChar.h, Source/UI/Login/UIChangeNameWnd.h, Source/UI/Login/UIDescriptRace.h, Source/UI/Login/UIEmailAddressWnd.h, Source/UI/Login/UILoginOTPWnd.h, Source/UI/Login/UILoginWnd.h, Source/UI/Login/UIMakeCharWnd.h, Source/UI/Login/UINewMakeCharWnd.h, Source/UI/Login/UINewSelectCharWnd.h, Source/UI/Login/UIPasswordWnd.h, Source/UI/Login/UISecondPasswordEditWnd.h, Source/UI/Login/UISelCharForUServerWnd.h, Source/UI/Login/UISelectServerWnd.h, Source/UI/Login/UIWaitDBSaveWnd.h, Source/UI/Macro/UICaptchaPreviewWnd.h, Source/UI/Macro/UICaptchaRegisterWnd.h, Source/UI/Macro/UIMacroBlackListCheckWnd.h, Source/UI/Macro/UIMacroDetectorWnd.h, Source/UI/Macro/UIMacroReport.h, Source/UI/Macro/UIMacroUserInfoWnd.h, Source/UI/Monster/UIMonsterDisplayWnd.h, Source/UI/Monster/UIMonsterInfoWnd.h, Source/UI/Navigation/NavigationLink.h, Source/UI/Navigation/UIChooseWarpWnd.h, Source/UI/Navigation/UIListBoxNavi.h, Source/UI/Navigation/UIListBoxNaviSearch.h, Source/UI/Navigation/UIMemorialDunWnd.h, Source/UI/Navigation/UIMiniMapWnd.h, Source/UI/Navigation/UIMinimapZoomWnd.h, Source/UI/Navigation/UINavigationHelpWnd.h, Source/UI/Navigation/UINavigationWnd.h, Source/UI/Navigation/UIRoMapWnd.h, Source/UI/Navigation/UIScrollBarNavi.h, Source/UI/Navigation/UIShowWarpWnd.h, Source/UI/Party/MiniPartyGrid.h, Source/UI/Party/MiniPartyPlacement.h, Source/UI/Party/MiniPartyWndAreaMgr.h, Source/UI/Party/UIJobSlotButton.h, Source/UI/Party/UIPartyBookingHelpWnd.h, Source/UI/Party/UISeekPartyListWnd.h, Source/UI/Party/UISeekPartyMBWnd.h, Source/UI/Party/UISeekPartyWnd.h, Source/UI/ProbabilityTable/UIProbabilityTable.h, Source/UI/Quest/UINotifyQuestWnd.h, Source/UI/Quest/UIOngoingQuestInfo.h, Source/UI/Quest/UIRecommendedQuestInfo.h, Source/UI/Quest/UIRenewQuestUI.h, Source/UI/Quest/UIRenewQuestWnd.h, Source/UI/Replay/UIReplayButton.h, Source/UI/Replay/UIReplayControlWnd.h, Source/UI/Replay/UIReplayListBox.h, Source/UI/Replay/UIReplayRECControlWnd.h, Source/UI/Replay/UISelectReplayDataWnd.h, Source/UI/Repute/UIReputeWnd.h, Source/UI/Rodex/UIOpenMailBoxWnd.h, Source/UI/Rodex/UIRodexContentsWnd.h, Source/UI/Rodex/UIRodexInboxWnd.h, Source/UI/RuneSystem/UIRuneSystemWindows.h, Source/UI/RuneSystem/UIRuneSystemWnd.h, Source/UI/SelectPackageItemBox/SelectPackageItemBox.h, Source/UI/SelectPackageItemBox/UIPackageBoxNameList.h, Source/UI/Shop/PriceCommission.h, Source/UI/Shop/UIBank_NewWnd.h, Source/UI/Shop/UIBartermarketWnd.h, Source/UI/Shop/UIMerchantItemMyShopWnd.h, Source/UI/Shop/UIMerchantItemPurchaseWnd.h, Source/UI/Shop/UIMerchantItemShopWnd.h, Source/UI/Shop/UIMerchantItemWnd.h, Source/UI/Shop/UIMerchantMirrorItemWnd.h, Source/UI/Shop/UISerachStoreInfoWnd.h, Source/UI/Shop/UInCash_CallWnd.h, Source/UI/Skill/UIDebuffRemoveWnd.h, Source/UI/Skill/UIGraffiStrboxWnd.h, Source/UI/Skill/UINewSkillListWnd.h, Source/UI/SkillDelayInfo/SkillDelayInfo.h, Source/UI/Status/UIBasicInfoWnd.h, Source/UI/Status/UIHomunInfoWnd.h, Source/UI/Status/UIJobListWnd.h, Source/UI/Status/UIMerInfoWnd.h, Source/UI/Status/UIPetEvolutionWnd.h, Source/UI/Status/UIPetInfoWnd.h, Source/UI/Status/UIPetTamingDeceiveWnd.h, Source/UI/Status/UIRebirthWnd.h, Source/UI/StylingShop/UIStylingShopWnd.h, Source/UI/Text/TextTags.h, Source/UI/Text/UIBroadcastBalloon.h, Source/UI/Text/UIRoundBoxTooltipWnd.h, Source/UI/Window/FrameSkin.h, Source/UI/Window/UIBasicCtrl.h, Source/UI/Window/UIControl.h, Source/UI/Window/UIWindowMgr.inl, Source/Utility/Cipher/EncryptedName.h, Source/Utility/Hash/CRC32.h, Source/Utility/Hash/GGHash.h, Source/Utility/Hash/GGHashMgr.h, Source/Utility/Hash/Md5State.h, Source/Utility/Hash/SHA3.h, Source/Utility/Hash/XxHash3.h, Source/Utility/Text/GuidParse.h, Source/Utility/Text/Tokenizer.h, Source/Utility/Zlib.h, Source/ActorPickNode.h, Source/Client/ModeFade.h, Source/Client/ModeFadeOut.h, Source/Client/ModeScreenshot.h, Source/Client/Registry.h, Source/Client/Replay.h, Source/Client/ReplayRecordOption.h, Source/Client/Session.h, Source/Client/Timer.h, Source/Network/ActorNamePacket.h, Source/Network/ClientKeepalive.h, Source/Network/ClientOptionPacket.h, Source/Network/ExecutableDigestPacket.h, Source/Network/GameTickPacket.h, Source/Render/ActionSpriteDrawing.h, Source/Render/AuxiliarySubmission.h, Source/Render/BitmapDrawing.h, Source/Render/BlendColor.h, Source/Render/DeviceSelection.h, Source/Render/Direct3DErrors.h, Source/Render/DisplayMode.h, Source/Render/RenderAdapter.h, Source/Render/RenderBackends.h, Source/Render/RendererDX7.h, Source/Render/ScreenGeometry.h, Source/Render/ScreenRectangle.h, Source/Render/SpriteGeometry.h, Source/Render/SpriteQuad.h, Source/Render/TextureQuad.h, Source/Render/TextureStageModes.h, Source/Resource/BinkRuntime.h, Source/Resource/EZeffectResource.h, Source/Resource/EmblemResource.h, Source/Resource/GifLzw.h, Source/Resource/GifResource.h, Source/Resource/ImfResource.h, Source/Resource/PaletteResource.h, Source/Resource/RmaResource.h, Source/Resource/SkinPalette.h, Source/Resource/TextureNames.h, Source/Resource/XmlNode.h, Source/UI/Buttons/UICashEmotionSprBtn.h, Source/UI/Buttons/UIDescriptRace.h, Source/UI/Buttons/UIItemMoveInfo.h, Source/UI/Buttons/UIJobSlotButton.h, Source/UI/Buttons/UIReplayButton.h, Source/UI/Dialogs/UIChooseWarpWnd.h, Source/UI/Dialogs/UIEmailAddressWnd.h, Source/UI/Dialogs/UIGraffiStrboxWnd.h, Source/UI/Dialogs/UIMemorialDunWnd.h, Source/UI/Dialogs/UIMiniMapWnd.h, Source/UI/Dialogs/UIMinimapZoomWnd.h, Source/UI/Dialogs/UINotifyQuestWnd.h, Source/UI/Dialogs/UIPasswordWnd.h, Source/UI/Dialogs/UIPetTamingDeceiveWnd.h, Source/UI/Dialogs/UISecondPasswordEditWnd.h, Source/UI/Dialogs/UISelectCartWnd.h, Source/UI/Dialogs/UIWaitDBSaveWnd.h, Source/UI/FrameSkin.h, Source/UI/Item/UIEquipmentPropertiesWnd.h, Source/UI/Item/UIItemBaseWnd.h, Source/UI/Item/UIItemPurchaseWnd.h, Source/UI/Item/UIItemSellWnd.h, Source/UI/Item/UIItemSellWnd2.h, Source/UI/Item/UIItemShopWnd.h, Source/UI/Item/UIItemShopWnd2.h, Source/UI/Item/UIItemStoreFindWnd.h, Source/UI/Item/UIItemStoreSubWnd.h, Source/UI/Item/UIItemStoreWnd.h, Source/UI/Item/UIItemWnd.h, Source/UI/Item/UIMerchantItemLogWnd.h, Source/UI/Item/UIParaItemShopWnd.h, Source/UI/Lists/UIItemStoreComboBox.h, Source/UI/Lists/UIListBoxNavi.h, Source/UI/Lists/UIListBoxNaviSearch.h, Source/UI/Lists/UIPackageBoxNameList.h, Source/UI/Lists/UIReplayListBox.h, Source/UI/Lists/UIScrollBarNavi.h, Source/UI/MiniPartyGrid.h, Source/UI/MiniPartyPlacement.h, Source/UI/PriceCommission.h, Source/UI/Text/NavigationLink.h, Source/UI/Text/UIAchWnd.h, Source/UI/TextTags.h, Source/UI/UIBarGraph.h, Source/UI/UIBartermarketWnd.h, Source/UI/UIBasicCtrl.h, Source/UI/UIBroadcastBalloon.h, Source/UI/UICaptchaPreviewWnd.h, Source/UI/UICaptchaRegisterWnd.h, Source/UI/UIChangeMaterialWnd.h, Source/UI/UICheckAttendanceWnd.h, Source/UI/UIGradeEnchantWnd.h, Source/UI/UIHotkeyGuideWnd.h, Source/UI/UIIngredientInfoWnd.h, Source/UI/UIItemReformWnd.h, Source/UI/UILapineScrollBar.h, Source/UI/UILapineUpgradeBoxWnd.h, Source/UI/UIMacroBlackListCheckWnd.h, Source/UI/UIMacroDetectorWnd.h, Source/UI/UIMacroReport.h, Source/UI/UIMacroUserInfoWnd.h, Source/UI/UIPreviewEquipWnd.h, Source/UI/UIRefiningWnd.h, Source/UI/UIReputeWnd.h, Source/UI/UIRoundBoxTooltipWnd.h, Source/UI/UIScrollWnd.h, Source/UI/UISlotBitmap.h, Source/UI/UIStaticBitmap.h, Source/UI/UIStaticItem.h, Source/UI/Window/FuncDrawWNDChar.h, Source/UI/Window/MiniPartyWndAreaMgr.h, Source/UI/Window/UIAccountLimitedToolWnd.h, Source/UI/Window/UIBalloonOpenBtn.h, Source/UI/Window/UIBank_NewWnd.h, Source/UI/Window/UIBasicInfoWnd.h, Source/UI/Window/UIBattleMsgOptionWnd.h, Source/UI/Window/UIChangeNameWnd.h, Source/UI/Window/UIChatRoomWnd.h, Source/UI/Window/UICntWnd.h, Source/UI/Window/UICollectionSystemWnd.h, Source/UI/Window/UIDebuffRemoveWnd.h, Source/UI/Window/UIEmblemWnd.h, Source/UI/Window/UIEscOptionWnd.h, Source/UI/Window/UIHomunInfoWnd.h, Source/UI/Window/UIHotKeyWnd.h, Source/UI/Window/UIJobListWnd.h, Source/UI/Window/UILoginOTPWnd.h, Source/UI/Window/UILoginWnd.h, Source/UI/Window/UIMakeCharWnd.h, Source/UI/Window/UIMerInfoWnd.h, Source/UI/Window/UIMessageBox.h, Source/UI/Window/UIMessageBoxAutoreturn.h, Source/UI/Window/UIMileageWnd.h, Source/UI/Window/UIMiniBtnWnd.h, Source/UI/Window/UIMonsterDisplayWnd.h, Source/UI/Window/UIMonsterInfoWnd.h, Source/UI/Window/UINavigationHelpWnd.h, Source/UI/Window/UINavigationWnd.h, Source/UI/Window/UINewMakeCharWnd.h, Source/UI/Window/UINewSelectCharWnd.h, Source/UI/Window/UINewSkillListWnd.h, Source/UI/Window/UINormalMB.h, Source/UI/Window/UINoteWnd.h, Source/UI/Window/UINoticeWnd.h, Source/UI/Window/UIOpenMailBoxWnd.h, Source/UI/Window/UIOpenRoulletteWnd.h, Source/UI/Window/UIPartyBookingHelpWnd.h, Source/UI/Window/UIPayConfirmWnd.h, Source/UI/Window/UIPetEvolutionWnd.h, Source/UI/Window/UIPetInfoWnd.h, Source/UI/Window/UIRPImageWnd.h, Source/UI/Window/UIRPImageWnd2.h, Source/UI/Window/UIRebirthWnd.h, Source/UI/Window/UIReplayControlWnd.h, Source/UI/Window/UIReplayRECControlWnd.h, Source/UI/Window/UIRoMapWnd.h, Source/UI/Window/UIRodexContentsWnd.h, Source/UI/Window/UIRoulletteWnd.h, Source/UI/Window/UISecondCostumeWnd.h, Source/UI/Window/UISeekPartyListWnd.h, Source/UI/Window/UISeekPartyMBWnd.h, Source/UI/Window/UISeekPartyWnd.h, Source/UI/Window/UISelCharForUServerWnd.h, Source/UI/Window/UISelectReplayDataWnd.h, Source/UI/Window/UISelectServerWnd.h, Source/UI/Window/UISerachStoreInfoWnd.h, Source/UI/Window/UIShowWarpWnd.h, Source/UI/Window/UITalkboxTrapInputWnd.h, Source/UI/Window/UITransMenuWnd.h, Source/UI/Window/UIVideoWnd.h, Source/UI/Window/UIViewCameraInfoWnd.h, Source/UI/Window/UIWindowCallBtnWnd.h, Source/UI/Window/UIWordDisplayWnd.h, Source/Utility/CRC32.h, Source/Utility/Compression/Zlib.h, Source/Utility/EncryptedName.h, Source/Utility/FileSignatureVerifier.h, Source/Utility/GGHash.h, Source/Utility/GGHashMgr.h, Source/Utility/GuidParse.h, Source/Utility/JsonCppLoader.h, Source/Utility/Md5State.h, Source/Utility/NFileLog.h, Source/Utility/NIPAddr.h, Source/Utility/ProcessSecurity.h, Source/Utility/RegistryKey.h, Source/Utility/SHA3.h, Source/Utility/Tokenizer.h, Source/Utility/XxHash3.h.
Adds to the build: Source/Client/Application/ClientOptions.cpp, Source/Client/Application/Registry.cpp, Source/Client/Application/RegistryKey.cpp, Source/Client/Application/Timer.cpp, Source/Client/Mode/EntityInit.cpp, Source/Client/Mode/ModeBaseEvents.cpp, Source/Client/Mode/ModeCursorDrawing.cpp, Source/Client/Mode/ModeFade.cpp, Source/Client/Mode/ModeFadeOut.cpp, Source/Client/Mode/ModeScreenshot.cpp, Source/Client/Mode/ModeTransitions.cpp, Source/Client/Replay/Replay.cpp, Source/Client/Replay/ReplayControl.cpp, Source/Client/Replay/ReplayPacketRecorder.cpp, Source/Client/Session/Session.cpp, Source/Client/Session/SessionAchievements.cpp, Source/Client/Session/SessionParty.cpp, Source/Client/Session/SessionPredicates.cpp, Source/Client/Session/SessionState.cpp, Source/Contents/Actors/ActorPickNode.cpp, Source/File/NFileLog.cpp, Source/Network/NIPAddr.cpp, Source/Network/Packets/ActorNamePacket.cpp, Source/Network/Packets/ClientKeepalive.cpp, Source/Network/Packets/ClientOptionPacket.cpp, Source/Network/Packets/ExecutableDigestPacket.cpp, Source/Network/Packets/GameTickPacket.cpp, Source/Render/DX7/AlphaQueuesDX7.cpp, Source/Render/DX7/AuxiliaryQueuesDX7.cpp, Source/Render/DX7/OpaqueQueuesDX7.cpp, Source/Render/DX7/RendererDX7.cpp, Source/Render/DX9/DeviceCapabilitiesDX9.cpp, Source/Render/Device/DeviceSelection.cpp, Source/Render/Device/Direct3DErrors.cpp, Source/Render/Device/DisplayMode.cpp, Source/Render/Device/RenderAdapter.cpp, Source/Render/Device/RenderBackends.cpp, Source/Render/Drawing/ActionSpriteDrawing.cpp, Source/Render/Drawing/BitmapDrawing.cpp, Source/Render/Drawing/BlendColor.cpp, Source/Render/Drawing/SpriteGeometry.cpp, Source/Render/Primitives/AlphaRectangle.cpp, Source/Render/Primitives/AuxiliarySubmission.cpp, Source/Render/Primitives/SpriteQuad.cpp, Source/Render/Primitives/TextureQuad.cpp, Source/Render/Primitives/UIRPDataDrawing.cpp, Source/Render/Projection/ScreenGeometry.cpp, Source/Render/Projection/ScreenRectangle.cpp, Source/Render/Projection/ViewportProjection.cpp, Source/Resource/Bitmap/EmblemResource.cpp, Source/Resource/Bitmap/GifLzw.cpp, Source/Resource/Bitmap/GifResource.cpp, Source/Resource/Bitmap/PaletteResource.cpp, Source/Resource/Bitmap/SkinPalette.cpp, Source/Resource/Bitmap/TextureNames.cpp, Source/Resource/Effects/EZeffectResource.cpp, Source/Resource/Json/JsonCppLoader.cpp, Source/Resource/Models/RmaResource.cpp, Source/Resource/Sprites/ImfLayerIndex.cpp, Source/Resource/Sprites/ImfResource.cpp, Source/Resource/Xml/XmlNode.cpp, Source/Resource/Xml/XmlParsing.cpp, Source/Security/FileSignatureVerifier.cpp, Source/Security/ProcessSecurity.cpp, Source/Security/UnknownA68.cpp, Source/UI/Achievement/UIAchWnd.cpp, Source/UI/Buttons/UIBalloonOpenBtn.cpp, Source/UI/Buttons/UIMiniBtnWnd.cpp, Source/UI/Buttons/UISlotBitmap.cpp, Source/UI/Buttons/UIStaticBitmap.cpp, Source/UI/Buttons/UIStaticItem.cpp, Source/UI/CashShop/UIMileageWnd.cpp, Source/UI/Chat/UIZeroChatWnd.cpp, Source/UI/Dialogs/UIAccountLimitedToolWnd.cpp, Source/UI/Dialogs/UILocaleTextWnd.cpp, Source/UI/Dialogs/UIMessageBox.cpp, Source/UI/Dialogs/UINormalMB.cpp, Source/UI/Dialogs/UINoteWnd.cpp, Source/UI/Dialogs/UINoticeWnd.cpp, Source/UI/Dialogs/UIRPImageWnd.cpp, Source/UI/Dialogs/UIRPImageWnd2.cpp, Source/UI/Dialogs/UITransMenuWnd.cpp, Source/UI/Dialogs/UIVideoWnd.cpp, Source/UI/Dialogs/UIWordDisplayWnd.cpp, Source/UI/Events/UICheckAttendanceWnd.cpp, Source/UI/Events/UIOpenRoulletteWnd.cpp, Source/UI/Events/UIRoulletteWnd.cpp, Source/UI/GameSettings/UIBattleMsgOptionWnd.cpp, Source/UI/GameSettings/UIEscOptionWnd.cpp, Source/UI/GameSettings/UIHotKeyWnd.cpp, Source/UI/GameSettings/UIHotkeyGuideWnd.cpp, Source/UI/GameSettings/UIViewCameraInfoWnd.cpp, Source/UI/Gauges/UIBarGraph.cpp, Source/UI/Guild/UIEmblemWnd.cpp, Source/UI/Items/UIChangeMaterialWnd.cpp, Source/UI/Items/UICollectionSystemWnd.cpp, Source/UI/Items/UIEquipmentPropertiesWnd.cpp, Source/UI/Items/UIGradeEnchantWnd.cpp, Source/UI/Items/UIItemMoveInfo.cpp, Source/UI/Items/UIItemReformWnd.cpp, Source/UI/Items/UIItemStoreComboBox.cpp, Source/UI/Items/UIItemStoreWnd.cpp, Source/UI/Items/UILapineBoxWnd.cpp, Source/UI/Items/UILapineScrollBar.cpp, Source/UI/Items/UILapineUpgradeBoxWnd.cpp, Source/UI/Items/UIMerchantItemLogWnd.cpp, Source/UI/Items/UIParaItemShopWnd.cpp, Source/UI/Items/UIPreviewEquipWnd.cpp, Source/UI/Items/UIRefiningWnd.cpp, Source/UI/Items/UISecondCostumeWnd.cpp, Source/UI/Lists/UIScrollWnd.cpp, Source/UI/Login/FuncDrawWNDChar.cpp, Source/UI/Login/UIChangeNameWnd.cpp, Source/UI/Login/UIDescriptRace.cpp, Source/UI/Login/UIEmailAddressWnd.cpp, Source/UI/Login/UILoginWnd.cpp, Source/UI/Login/UINewMakeCharWnd.cpp, Source/UI/Login/UINewSelectCharWnd.cpp, Source/UI/Login/UIPasswordWnd.cpp, Source/UI/Login/UISelCharForUServerWnd.cpp, Source/UI/Login/UIWaitDBSaveWnd.cpp, Source/UI/Macro/UICaptchaPreviewWnd.cpp, Source/UI/Macro/UICaptchaRegisterWnd.cpp, Source/UI/Macro/UIMacroBlackListCheckWnd.cpp, Source/UI/Macro/UIMacroDetectorWnd.cpp, Source/UI/Macro/UIMacroReport.cpp, Source/UI/Macro/UIMacroUserInfoWnd.cpp, Source/UI/Navigation/NavigationLink.cpp, Source/UI/Navigation/UIListBoxNavi.cpp, Source/UI/Navigation/UIMinimapZoomWnd.cpp, Source/UI/Navigation/UINavigationHelpWnd.cpp, Source/UI/Navigation/UINavigationWnd.cpp, Source/UI/Navigation/UIRoMapWnd.cpp, Source/UI/Navigation/UIScrollBarNavi.cpp, Source/UI/Navigation/UIShowWarpWnd.cpp, Source/UI/Party/MiniPartyGrid.cpp, Source/UI/Party/MiniPartyManager.cpp, Source/UI/Party/MiniPartyPlacement.cpp, Source/UI/Party/MiniPartyUsableArea.cpp, Source/UI/Party/UIJobSlotButton.cpp, Source/UI/Party/UIPartyBookingHelpWnd.cpp, Source/UI/Party/UISeekPartyListWnd.cpp, Source/UI/Party/UISeekPartyMBWnd.cpp, Source/UI/Party/UISeekPartyWnd.cpp, Source/UI/Repute/UIReputeWnd.cpp, Source/UI/Rodex/UIOpenMailBoxWnd.cpp, Source/UI/Rodex/UIRodexContentsWnd.cpp, Source/UI/SelectPackageItemBox/UIPackageBoxNameList.cpp, Source/UI/Shop/PriceCommission.cpp, Source/UI/Shop/UIBartermarketWnd.cpp, Source/UI/Shop/UISerachStoreInfoWnd.cpp, Source/UI/Skill/UIDebuffRemoveWnd.cpp, Source/UI/Skill/UIGraffiStrboxWnd.cpp, Source/UI/Skill/UINewSkillListWnd.cpp, Source/UI/Skill/UINewSkillListWndHitTest.cpp, Source/UI/Status/UIBasicInfoWnd.cpp, Source/UI/Status/UIJobListWnd.cpp, Source/UI/Status/UIPetEvolutionWnd.cpp, Source/UI/Status/UIRebirthWnd.cpp, Source/UI/Text/TextTagExtraction.cpp, Source/UI/Text/TextTagRegistry.cpp, Source/UI/Text/UIBroadcastBalloon.cpp, Source/UI/Text/UIRoundBoxTooltipWnd.cpp, Source/UI/Window/FrameSkin.cpp, Source/UI/Window/UIBasicCtrl.cpp, Source/UI/Window/WindowBackground.cpp, Source/UI/Window/WindowLowerBorder.cpp, Source/UI/Window/WindowOverlay.cpp, Source/UI/Window/WindowSprite.cpp, Source/UI/Window/WindowTitlebar.cpp, Source/Utility/BoolStubs.cpp, Source/Utility/Hash/CRC32.cpp, Source/Utility/Hash/GGHash.cpp, Source/Utility/Hash/GGHashMgr.cpp, Source/Utility/Hash/Md5State.cpp, Source/Utility/Hash/SHA3.cpp, Source/Utility/Hash/XxHash3.cpp, Source/Utility/Lexicon/LexiconTrie.cpp, Source/Utility/Text/GuidParse.cpp, Source/Utility/Text/Tokenizer.cpp
Deletes: Source/ActorPickNode.cpp, Source/ActorPickNode.h, Source/Archive/UnknownA68.cpp, Source/Client/ClientOptions.cpp, Source/Client/ModeBaseEvents.cpp, Source/Client/ModeCursorDrawing.cpp, Source/Client/ModeFade.cpp, Source/Client/ModeFade.h, Source/Client/ModeFadeOut.cpp, Source/Client/ModeFadeOut.h, Source/Client/ModeScreenshot.cpp, Source/Client/ModeScreenshot.h, Source/Client/ModeTransitions.cpp, Source/Client/Registry.cpp, Source/Client/Registry.h, Source/Client/Replay.cpp, Source/Client/Replay.h, Source/Client/ReplayControl.cpp, Source/Client/ReplayPacketRecorder.cpp, Source/Client/ReplayRecordOption.h, Source/Client/Session.cpp, Source/Client/Session.h, Source/Client/SessionAchievements.cpp, Source/Client/SessionParty.cpp, Source/Client/SessionPredicates.cpp, Source/Client/SessionState.cpp, Source/Client/Timer.cpp, Source/Client/Timer.h, Source/EntityInit.cpp, Source/Interface/BoolStubs.cpp, Source/LexiconTrie.cpp, Source/Network/ActorNamePacket.cpp, Source/Network/ActorNamePacket.h, Source/Network/ClientKeepalive.cpp, Source/Network/ClientKeepalive.h, Source/Network/ClientOptionPacket.cpp, Source/Network/ClientOptionPacket.h, Source/Network/ExecutableDigestPacket.cpp, Source/Network/ExecutableDigestPacket.h, Source/Network/GameTickPacket.cpp, Source/Network/GameTickPacket.h, Source/Render/ActionSpriteDrawing.cpp, Source/Render/ActionSpriteDrawing.h, Source/Render/AlphaQueuesDX7.cpp, Source/Render/AlphaRectangle.cpp, Source/Render/AuxiliaryQueuesDX7.cpp, Source/Render/AuxiliarySubmission.cpp, Source/Render/AuxiliarySubmission.h, Source/Render/BitmapDrawing.cpp, Source/Render/BitmapDrawing.h, Source/Render/BlendColor.cpp, Source/Render/BlendColor.h, Source/Render/DeviceCapabilitiesDX9.cpp, Source/Render/DeviceSelection.cpp, Source/Render/DeviceSelection.h, Source/Render/Direct3DErrors.cpp, Source/Render/Direct3DErrors.h, Source/Render/DisplayMode.cpp, Source/Render/DisplayMode.h, Source/Render/OpaqueQueuesDX7.cpp, Source/Render/RenderAdapter.cpp, Source/Render/RenderAdapter.h, Source/Render/RenderBackends.cpp, Source/Render/RenderBackends.h, Source/Render/RendererDX7.cpp, Source/Render/RendererDX7.h, Source/Render/ScreenGeometry.cpp, Source/Render/ScreenGeometry.h, Source/Render/ScreenRectangle.cpp, Source/Render/ScreenRectangle.h, Source/Render/SpriteGeometry.cpp, Source/Render/SpriteGeometry.h, Source/Render/SpriteQuad.cpp, Source/Render/SpriteQuad.h, Source/Render/TextureQuad.cpp, Source/Render/TextureQuad.h, Source/Render/TextureStageModes.h, Source/Render/UIRPDataDrawing.cpp, Source/Render/ViewportProjection.cpp, Source/Resource/BinkRuntime.h, Source/Resource/EZeffectResource.cpp, Source/Resource/EZeffectResource.h, Source/Resource/EmblemResource.cpp, Source/Resource/EmblemResource.h, Source/Resource/GifLzw.cpp, Source/Resource/GifLzw.h, Source/Resource/GifResource.cpp, Source/Resource/GifResource.h, Source/Resource/ImfLayerIndex.cpp, Source/Resource/ImfResource.cpp, Source/Resource/ImfResource.h, Source/Resource/PaletteResource.cpp, Source/Resource/PaletteResource.h, Source/Resource/RmaResource.cpp, Source/Resource/RmaResource.h, Source/Resource/SkinPalette.cpp, Source/Resource/SkinPalette.h, Source/Resource/TextureNames.cpp, Source/Resource/TextureNames.h, Source/Resource/XmlNode.cpp, Source/Resource/XmlNode.h, Source/Resource/XmlParsing.cpp, Source/UI/Buttons/UICashEmotionSprBtn.h, Source/UI/Buttons/UIDescriptRace.cpp, Source/UI/Buttons/UIDescriptRace.h, Source/UI/Buttons/UIItemMoveInfo.cpp, Source/UI/Buttons/UIItemMoveInfo.h, Source/UI/Buttons/UIJobSlotButton.cpp, Source/UI/Buttons/UIJobSlotButton.h, Source/UI/Buttons/UIReplayButton.h, Source/UI/Dialogs/UIChooseWarpWnd.h, Source/UI/Dialogs/UIEmailAddressWnd.cpp, Source/UI/Dialogs/UIEmailAddressWnd.h, Source/UI/Dialogs/UIGraffiStrboxWnd.cpp, Source/UI/Dialogs/UIGraffiStrboxWnd.h, Source/UI/Dialogs/UIMemorialDunWnd.h, Source/UI/Dialogs/UIMiniMapWnd.h, Source/UI/Dialogs/UIMinimapZoomWnd.cpp, Source/UI/Dialogs/UIMinimapZoomWnd.h, Source/UI/Dialogs/UINotifyQuestWnd.h, Source/UI/Dialogs/UIPasswordWnd.cpp, Source/UI/Dialogs/UIPasswordWnd.h, Source/UI/Dialogs/UIPetTamingDeceiveWnd.h, Source/UI/Dialogs/UISecondPasswordEditWnd.h, Source/UI/Dialogs/UISelectCartWnd.h, Source/UI/Dialogs/UIWaitDBSaveWnd.cpp, Source/UI/Dialogs/UIWaitDBSaveWnd.h, Source/UI/FrameSkin.cpp, Source/UI/FrameSkin.h, Source/UI/Item/UIEquipmentPropertiesWnd.cpp, Source/UI/Item/UIEquipmentPropertiesWnd.h, Source/UI/Item/UIItemBaseWnd.h, Source/UI/Item/UIItemPurchaseWnd.h, Source/UI/Item/UIItemSellWnd.h, Source/UI/Item/UIItemSellWnd2.h, Source/UI/Item/UIItemShopWnd.h, Source/UI/Item/UIItemShopWnd2.h, Source/UI/Item/UIItemStoreFindWnd.h, Source/UI/Item/UIItemStoreSubWnd.h, Source/UI/Item/UIItemStoreWnd.cpp, Source/UI/Item/UIItemStoreWnd.h, Source/UI/Item/UIItemWnd.h, Source/UI/Item/UIMerchantItemLogWnd.cpp, Source/UI/Item/UIMerchantItemLogWnd.h, Source/UI/Item/UIParaItemShopWnd.cpp, Source/UI/Item/UIParaItemShopWnd.h, Source/UI/Lists/UIItemStoreComboBox.cpp, Source/UI/Lists/UIItemStoreComboBox.h, Source/UI/Lists/UIListBoxNavi.cpp, Source/UI/Lists/UIListBoxNavi.h, Source/UI/Lists/UIListBoxNaviSearch.h, Source/UI/Lists/UIPackageBoxNameList.cpp, Source/UI/Lists/UIPackageBoxNameList.h, Source/UI/Lists/UIReplayListBox.h, Source/UI/Lists/UIScrollBarNavi.cpp, Source/UI/Lists/UIScrollBarNavi.h, Source/UI/MiniPartyGrid.cpp, Source/UI/MiniPartyGrid.h, Source/UI/MiniPartyManager.cpp, Source/UI/MiniPartyPlacement.cpp, Source/UI/MiniPartyPlacement.h, Source/UI/MiniPartyUsableArea.cpp, Source/UI/PriceCommission.cpp, Source/UI/PriceCommission.h, Source/UI/Text/NavigationLink.cpp, Source/UI/Text/NavigationLink.h, Source/UI/Text/UIAchWnd.cpp, Source/UI/Text/UIAchWnd.h, Source/UI/TextTagExtraction.cpp, Source/UI/TextTagRegistry.cpp, Source/UI/TextTags.h, Source/UI/UIBarGraph.cpp, Source/UI/UIBarGraph.h, Source/UI/UIBartermarketWnd.cpp, Source/UI/UIBartermarketWnd.h, Source/UI/UIBasicCtrl.cpp, Source/UI/UIBasicCtrl.h, Source/UI/UIBroadcastBalloon.cpp, Source/UI/UIBroadcastBalloon.h, Source/UI/UICaptchaPreviewWnd.cpp, Source/UI/UICaptchaPreviewWnd.h, Source/UI/UICaptchaRegisterWnd.cpp, Source/UI/UICaptchaRegisterWnd.h, Source/UI/UIChangeMaterialWnd.cpp, Source/UI/UIChangeMaterialWnd.h, Source/UI/UICheckAttendanceWnd.cpp, Source/UI/UICheckAttendanceWnd.h, Source/UI/UIGradeEnchantWnd.cpp, Source/UI/UIGradeEnchantWnd.h, Source/UI/UIHotkeyGuideWnd.cpp, Source/UI/UIHotkeyGuideWnd.h, Source/UI/UIIngredientInfoWnd.h, Source/UI/UIItemReformWnd.cpp, Source/UI/UIItemReformWnd.h, Source/UI/UILapineBoxWnd.cpp, Source/UI/UILapineScrollBar.cpp, Source/UI/UILapineScrollBar.h, Source/UI/UILapineUpgradeBoxWnd.cpp, Source/UI/UILapineUpgradeBoxWnd.h, Source/UI/UIMacroBlackListCheckWnd.cpp, Source/UI/UIMacroBlackListCheckWnd.h, Source/UI/UIMacroDetectorWnd.cpp, Source/UI/UIMacroDetectorWnd.h, Source/UI/UIMacroReport.cpp, Source/UI/UIMacroReport.h, Source/UI/UIMacroUserInfoWnd.cpp, Source/UI/UIMacroUserInfoWnd.h, Source/UI/UIPreviewEquipWnd.cpp, Source/UI/UIPreviewEquipWnd.h, Source/UI/UIRefiningWnd.cpp, Source/UI/UIRefiningWnd.h, Source/UI/UIReputeWnd.cpp, Source/UI/UIReputeWnd.h, Source/UI/UIRoundBoxTooltipWnd.cpp, Source/UI/UIRoundBoxTooltipWnd.h, Source/UI/UIScrollWnd.cpp, Source/UI/UIScrollWnd.h, Source/UI/UISlotBitmap.cpp, Source/UI/UISlotBitmap.h, Source/UI/UIStaticBitmap.cpp, Source/UI/UIStaticBitmap.h, Source/UI/UIStaticItem.cpp, Source/UI/UIStaticItem.h, Source/UI/Window/FuncDrawWNDChar.cpp, Source/UI/Window/FuncDrawWNDChar.h, Source/UI/Window/MiniPartyWndAreaMgr.h, Source/UI/Window/UIAccountLimitedToolWnd.cpp, Source/UI/Window/UIAccountLimitedToolWnd.h, Source/UI/Window/UIBalloonOpenBtn.cpp, Source/UI/Window/UIBalloonOpenBtn.h, Source/UI/Window/UIBank_NewWnd.h, Source/UI/Window/UIBasicInfoWnd.cpp, Source/UI/Window/UIBasicInfoWnd.h, Source/UI/Window/UIBattleMsgOptionWnd.cpp, Source/UI/Window/UIBattleMsgOptionWnd.h, Source/UI/Window/UIChangeNameWnd.cpp, Source/UI/Window/UIChangeNameWnd.h, Source/UI/Window/UIChatRoomWnd.h, Source/UI/Window/UICntWnd.h, Source/UI/Window/UICollectionSystemWnd.cpp, Source/UI/Window/UICollectionSystemWnd.h, Source/UI/Window/UIDebuffRemoveWnd.cpp, Source/UI/Window/UIDebuffRemoveWnd.h, Source/UI/Window/UIEmblemWnd.cpp, Source/UI/Window/UIEmblemWnd.h, Source/UI/Window/UIEscOptionWnd.cpp, Source/UI/Window/UIEscOptionWnd.h, Source/UI/Window/UIHomunInfoWnd.h, Source/UI/Window/UIHotKeyWnd.cpp, Source/UI/Window/UIHotKeyWnd.h, Source/UI/Window/UIJobListWnd.cpp, Source/UI/Window/UIJobListWnd.h, Source/UI/Window/UILocaleTextWnd.cpp, Source/UI/Window/UILoginOTPWnd.h, Source/UI/Window/UILoginWnd.cpp, Source/UI/Window/UILoginWnd.h, Source/UI/Window/UIMakeCharWnd.h, Source/UI/Window/UIMerInfoWnd.h, Source/UI/Window/UIMessageBox.cpp, Source/UI/Window/UIMessageBox.h, Source/UI/Window/UIMessageBoxAutoreturn.h, Source/UI/Window/UIMileageWnd.cpp, Source/UI/Window/UIMileageWnd.h, Source/UI/Window/UIMiniBtnWnd.cpp, Source/UI/Window/UIMiniBtnWnd.h, Source/UI/Window/UIMonsterDisplayWnd.h, Source/UI/Window/UIMonsterInfoWnd.h, Source/UI/Window/UINavigationHelpWnd.cpp, Source/UI/Window/UINavigationHelpWnd.h, Source/UI/Window/UINavigationWnd.cpp, Source/UI/Window/UINavigationWnd.h, Source/UI/Window/UINewMakeCharWnd.cpp, Source/UI/Window/UINewMakeCharWnd.h, Source/UI/Window/UINewSelectCharWnd.cpp, Source/UI/Window/UINewSelectCharWnd.h, Source/UI/Window/UINewSkillListWnd.cpp, Source/UI/Window/UINewSkillListWnd.h, Source/UI/Window/UINewSkillListWndHitTest.cpp, Source/UI/Window/UINormalMB.cpp, Source/UI/Window/UINormalMB.h, Source/UI/Window/UINoteWnd.cpp, Source/UI/Window/UINoteWnd.h, Source/UI/Window/UINoticeWnd.cpp, Source/UI/Window/UINoticeWnd.h, Source/UI/Window/UIOpenMailBoxWnd.cpp, Source/UI/Window/UIOpenMailBoxWnd.h, Source/UI/Window/UIOpenRoulletteWnd.cpp, Source/UI/Window/UIOpenRoulletteWnd.h, Source/UI/Window/UIPartyBookingHelpWnd.cpp, Source/UI/Window/UIPartyBookingHelpWnd.h, Source/UI/Window/UIPayConfirmWnd.h, Source/UI/Window/UIPetEvolutionWnd.cpp, Source/UI/Window/UIPetEvolutionWnd.h, Source/UI/Window/UIPetInfoWnd.h, Source/UI/Window/UIRPImageWnd.cpp, Source/UI/Window/UIRPImageWnd.h, Source/UI/Window/UIRPImageWnd2.cpp, Source/UI/Window/UIRPImageWnd2.h, Source/UI/Window/UIRebirthWnd.cpp, Source/UI/Window/UIRebirthWnd.h, Source/UI/Window/UIReplayControlWnd.h, Source/UI/Window/UIReplayRECControlWnd.h, Source/UI/Window/UIRoMapWnd.cpp, Source/UI/Window/UIRoMapWnd.h, Source/UI/Window/UIRodexContentsWnd.cpp, Source/UI/Window/UIRodexContentsWnd.h, Source/UI/Window/UIRoulletteWnd.cpp, Source/UI/Window/UIRoulletteWnd.h, Source/UI/Window/UISecondCostumeWnd.cpp, Source/UI/Window/UISecondCostumeWnd.h, Source/UI/Window/UISeekPartyListWnd.cpp, Source/UI/Window/UISeekPartyListWnd.h, Source/UI/Window/UISeekPartyMBWnd.cpp, Source/UI/Window/UISeekPartyMBWnd.h, Source/UI/Window/UISeekPartyWnd.cpp, Source/UI/Window/UISeekPartyWnd.h, Source/UI/Window/UISelCharForUServerWnd.cpp, Source/UI/Window/UISelCharForUServerWnd.h, Source/UI/Window/UISelectReplayDataWnd.h, Source/UI/Window/UISelectServerWnd.h, Source/UI/Window/UISerachStoreInfoWnd.cpp, Source/UI/Window/UISerachStoreInfoWnd.h, Source/UI/Window/UIShowWarpWnd.cpp, Source/UI/Window/UIShowWarpWnd.h, Source/UI/Window/UITalkboxTrapInputWnd.h, Source/UI/Window/UITransMenuWnd.cpp, Source/UI/Window/UITransMenuWnd.h, Source/UI/Window/UIVideoWnd.cpp, Source/UI/Window/UIVideoWnd.h, Source/UI/Window/UIViewCameraInfoWnd.cpp, Source/UI/Window/UIViewCameraInfoWnd.h, Source/UI/Window/UIWindowCallBtnWnd.h, Source/UI/Window/UIWordDisplayWnd.cpp, Source/UI/Window/UIWordDisplayWnd.h, Source/UI/Window/UIZeroChatWnd.cpp, Source/UI/WindowBackground.cpp, Source/UI/WindowLowerBorder.cpp, Source/UI/WindowOverlay.cpp, Source/UI/WindowSprite.cpp, Source/UI/WindowTitlebar.cpp, Source/Utility/CRC32.cpp, Source/Utility/CRC32.h, Source/Utility/Compression/Zlib.h, Source/Utility/EncryptedName.h, Source/Utility/FileSignatureVerifier.cpp, Source/Utility/FileSignatureVerifier.h, Source/Utility/GGHash.cpp, Source/Utility/GGHash.h, Source/Utility/GGHashMgr.cpp, Source/Utility/GGHashMgr.h, Source/Utility/GuidParse.cpp, Source/Utility/GuidParse.h, Source/Utility/JsonCppLoader.cpp, Source/Utility/JsonCppLoader.h, Source/Utility/Md5State.cpp, Source/Utility/Md5State.h, Source/Utility/NFileLog.cpp, Source/Utility/NFileLog.h, Source/Utility/NIPAddr.cpp, Source/Utility/NIPAddr.h, Source/Utility/ProcessSecurity.cpp, Source/Utility/ProcessSecurity.h, Source/Utility/RegistryKey.cpp, Source/Utility/RegistryKey.h, Source/Utility/SHA3.cpp, Source/Utility/SHA3.h, Source/Utility/Tokenizer.cpp, Source/Utility/Tokenizer.h, Source/Utility/XxHash3.cpp, Source/Utility/XxHash3.h
2026-11-11 01:05:24 +00:00

2265 lines
48 KiB
C++

#include "Client/Session/Session.h"
#include "Contents/CombatTypes.h"
#include "Contents/Configuration/ServiceOptions.h"
#include "Contents/Actors/Resources/EquipmentResourceMgr.h"
#include "Contents/Items/ItemDescription.h"
#include "Contents/Skills/SkillId.h"
#include "Contents/Skills/SkillInfo.h"
#include "Contents/Sound/SoundMgr.h"
#include <string>
#include <utility>
// OFFSET: 0x00E13A20
// FUNCTION: fn_23824
std::string CSession::GetRobeActName(int job, int sex, int robe, bool riding, int unused, int costumeJob) {
return g_equipmentResourceMgr->GetRobeResourceName(0, job, sex, robe, riding, unused, costumeJob);
}
// OFFSET: 0x00E13A90
// FUNCTION: fn_23825
std::string CSession::GetRobeSprName(int job, int sex, int robe, bool riding, int unused, int costumeJob) {
return g_equipmentResourceMgr->GetRobeResourceName(1, job, sex, robe, riding, unused, costumeJob);
}
// OFFSET: 0x00E13B20
// FUNCTION: fn_23827
std::string CSession::GetRobeName(unsigned int robe) {
if (robe >= this->m_robeNames.size()) {
return this->m_robeNames[0];
}
return this->m_robeNames[robe];
}
// OFFSET: 0x00E13BF0
// FUNCTION: fn_23828
int CSession::GetItemDescription40(int id) {
return FindItemDescription(id).viewId;
}
// OFFSET: 0x00E13C10
// FUNCTION: fn_23829
std::uint32_t CSession::GetHotkeySkillLevel(int index) {
return this->hotkeySkillLevels[index];
}
// OFFSET: 0x00E13C30
// FUNCTION: fn_23830
void CSession::GetSkillActionInfo(int skillId, int& effectId, int& motion, int variant, int level) {
effectId = 16;
motion = 8;
const int beginEffect = this->GetBeginEffectId(skillId);
switch (skillId) {
case KO_BAKURETSU:
case KO_HUUMARANKA:
motion = 36;
break;
case KO_MEIKYOUSISUI:
case KO_KYOUGAKU:
case KO_JYUSATSU:
case KO_KAHU_ENTEN:
case KO_HYOUHU_HUBUKI:
case KO_KAZEHU_SEIRAN:
case KO_DOHU_KOUKAI:
case KO_GENWAKU:
case OB_ZANGETSU:
case OB_OBOROGENSOU:
case OB_AKAITSUKI:
motion = 37;
break;
}
if (beginEffect != -1) {
effectId = beginEffect;
return;
}
switch (skillId) {
case KN_AUTOCOUNTER:
case TF_THROWSTONE:
case AS_VENOMKNIFE:
effectId = -1;
motion = 11;
break;
case TF_SPRINKLESAND:
motion = 11;
break;
case KN_BRANDISHSPEAR:
effectId = 144;
motion = 2;
break;
case SM_BASH:
case SM_MAGNUM:
case MC_MAMMONITE:
case AC_DOUBLE:
case BS_HAMMERFALL:
case HT_POWER:
case HT_PHANTASMIC:
case MS_MAGNUM:
motion = 2;
break;
case KN_SPEARBOOMERANG:
effectId = -1;
motion = 12;
break;
case AC_CONCENTRATION:
effectId = 43;
return;
case AC_SHOWER:
effectId = -1;
motion = 18;
break;
case TF_PICKSTONE:
effectId = -1;
motion = 5;
break;
case MO_EXTREMITYFIST:
effectId = level < 4016 ? 328 : 510;
break;
case AM_CALLHOMUN:
case AM_REST:
case AM_RESURRECTHOMUN:
motion = 0;
effectId = 342;
return;
case DC_UGLYDANCE:
case DC_HUMMING:
case DC_DONTFORGETME:
case DC_FORTUNEKISS:
case DC_SERVICEFORYOU:
case WE_MALE:
case WE_CALLPARTNER:
case WE_BABY:
case WE_CALLPARENT:
case WE_CALLBABY:
case WE_CALLALLFAMILY:
case WE_ONEFOREVER:
case WE_CHEERUP:
effectId = 342;
return;
case ST_CHASEWALK:
motion = 0;
effectId = 1195;
return;
case WE_FEMALE:
effectId = 343;
return;
case SN_SHARPSHOOTING:
case CG_ARROWVULCAN:
motion = 18;
effectId = 58;
return;
case BD_LULLABY:
case BD_ETERNALCHAOS:
case BD_ROKISWEIL:
case HP_ASSUMPTIO:
case HP_BASILICA:
case PA_PRESSURE:
case SN_WINDWALK:
case PA_SHIELDCHAIN:
case HW_GANBANTEIN:
case CG_TAROTCARD:
case CASH_ASSUMPTIO:
case RK_REFRESH:
case AB_RENOVATIO:
case AB_SECRAMENT:
case SJ_NOVAEXPLOSING:
case SJ_GRAVITYCONTROL:
case SJ_BOOKOFCREATINGSTAR:
case AB_CONVENIO:
case EM_ELEMENTAL_VEIL:
effectId = 58;
return;
case LK_SPIRALPIERCE:
effectId = 502;
motion = 11;
break;
case AL_BLESSING:
case CASH_BLESSING:
effectId = 12;
motion = 0;
break;
case AM_ACIDTERROR:
case AM_POTIONPITCHER:
case AM_CANNIBALIZE:
case AM_CP_WEAPON:
case AM_CP_SHIELD:
case AM_CP_ARMOR:
case AM_CP_HELM:
case MO_STEELBODY:
case CR_FULLPROTECTION:
motion = 0;
effectId = 12;
goto variant;
case MG_SRECOVERY:
case MG_SIGHT:
case MG_NAPALMBEAT:
case MG_SAFETYWALL:
case MG_SOULSTRIKE:
case MG_COLDBOLT:
case MG_FROSTDIVER:
case MG_STONECURSE:
case MG_FIREBALL:
case MG_FIREWALL:
case MG_FIREBOLT:
case MG_LIGHTNINGBOLT:
case MG_THUNDERSTORM:
case AL_DP:
case AL_DEMONBANE:
case AL_RUWACH:
case AL_PNEUMA:
case AL_TELEPORT:
case AL_WARP:
case AL_HEAL:
case AL_DECAGI:
case AL_HOLYWATER:
case AL_CRUCIS:
case AL_ANGELUS:
case AL_CURE:
case ALL_RESURRECTION:
case PR_IMPOSITIO:
case PR_SUFFRAGIUM:
case PR_ASPERSIO:
case PR_BENEDICTIO:
case PR_SANCTUARY:
case PR_STRECOVERY:
case PR_KYRIE:
case PR_MAGNIFICAT:
case PR_GLORIA:
case PR_LEXDIVINA:
case PR_TURNUNDEAD:
case PR_LEXAETERNA:
case PR_MAGNUS:
case WZ_FIREPILLAR:
case WZ_SIGHTRASHER:
case WZ_FIREIVY:
case WZ_METEOR:
case WZ_JUPITEL:
case WZ_VERMILION:
case WZ_WATERBALL:
case WZ_ICEWALL:
case WZ_FROSTNOVA:
case WZ_STORMGUST:
case WZ_EARTHSPIKE:
case WZ_HEAVENDRIVE:
case WZ_QUAGMIRE:
case BS_REPAIRWEAPON:
case AL_HOLYLIGHT:
case MG_ENERGYCOAT:
case CR_GRANDCROSS:
case CR_DEVOTION:
case CR_PROVIDENCE:
case MO_CALLSPIRITS:
case MO_ABSORBSPIRITS:
case MO_INVESTIGATE:
case MO_FINGEROFFENSIVE:
case SA_SPELLBREAKER:
case SA_AUTOSPELL:
case SA_FLAMELAUNCHER:
case SA_FROSTWEAPON:
case SA_LIGHTNINGLOADER:
case SA_SEISMICWEAPON:
case SA_VOLCANO:
case SA_DELUGE:
case SA_VIOLENTGALE:
case SA_LANDPROTECTOR:
case SA_DISPELL:
case SA_ABRACADABRA:
case BD_RICHMANKIM:
case BD_DRUMBATTLEFIELD:
case BD_RINGNIBELUNGEN:
case BD_INTOABYSS:
case BD_SIEGFRIED:
case NPC_GRANDDARKNESS:
case NPC_DARKSTRIKE:
case NPC_DARKTHUNDER:
case NPC_STOP:
case HW_MAGICCRASHER:
case PF_HPCONVERSION:
case PF_SOULCHANGE:
case PF_SOULBURN:
case HW_NAPALMVULCAN:
case CH_SOULCOLLECT:
case PF_MINDBREAKER:
case PF_MEMORIZE:
case PF_SPIDERWEB:
case PF_DOUBLECASTING:
case HW_GRAVITATION:
case NPC_WIDESIGHT:
case ALL_ANGEL_PROTECT:
case NPC_MILLENNIUMSHIELD:
case NPC_STORMGUST2:
case NPC_CHEAL:
case NPC_DRAGONBREATH:
case NPC_VENOMIMPRESS:
case NPC_IGNITIONBREAK:
case NPC_PHANTOMTHRUST:
case NPC_RAINOFMETEOR:
case NPC_GROUNDDRIVE:
case WZ_SIGHTBLASTER:
case MO_KITRANSLATION:
case RK_ENCHANTBLADE:
case RK_HUNDREDSPEAR:
case RK_IGNITIONBREAK:
case RK_DRAGONBREATH:
case RK_MILLENNIUMSHIELD:
case RK_CRUSHSTRIKE:
case RK_GIANTGROWTH:
case RK_STONEHARDSKIN:
case RK_FIGHTINGSPIRIT:
case RK_ABUNDANCE:
case RK_PHANTOMTHRUST:
case GC_VENOMIMPRESS:
case GC_ROLLINGCUTTER:
case AB_ADORAMUS:
case AB_CHEAL:
case AB_EPICLESIS:
case AB_ORATIO:
case AB_HIGHNESSHEAL:
case AB_EXPIATIO:
case AB_DUPLELIGHT:
case AB_SILENTIUM:
case SC_CHAOSPANIC:
case ALL_ODINS_RECALL:
case RETURN_TO_ELDICASTES:
case ALL_GUARDIAN_RECALL:
case ALL_ODINS_POWER:
case SJ_NEWMOONKICK:
case SJ_FALLINGSTAR:
case RK_DRAGONBREATH_WATER:
case SU_CN_METEOR:
case SU_CN_METEOR2:
case DK_DRAGONIC_AURA:
case CD_REPARATIO:
case MER_MAGNIFICAT:
case EM_EL_FLAMEROCK:
case EM_EL_AGE_OF_ICE:
case EM_EL_STORM_WIND:
case EM_EL_AVALANCHE:
case EM_EL_DEADLY_POISON:
effectId = 12;
goto variant;
case CR_SLIMPITCHER:
case CR_ACIDDEMONSTRATION:
motion = 28;
effectId = 12;
goto variant;
case ST_PRESERVE:
motion = 0;
effectId = 59;
return;
case AS_SPLASHER:
case NPC_ARMORBRAKE:
case NPC_HELMBRAKE:
case NPC_SHIELDBRAKE:
case NPC_AGIUP:
case ASC_BREAKER:
case ASC_METEORASSAULT:
case NPC_PULSESTRIKE:
case NPC_PULSESTRIKE2:
effectId = 59;
return;
case TK_SEVENWIND:
case TK_MISSION:
motion = 0;
effectId = 441;
return;
case BA_DISSONANCE:
case BA_WHISTLE:
case BA_ASSASSINCROSS:
case BA_POEMBRAGI:
case BA_APPLEIDUN:
case TK_RUN:
case SG_FEEL:
case SG_HATE:
case SG_FUSION:
case SL_ALCHEMIST:
case SL_MONK:
case SL_STAR:
case SL_SAGE:
case SL_CRUSADER:
case SL_SUPERNOVICE:
case SL_KNIGHT:
case SL_WIZARD:
case SL_PRIEST:
case SL_BARDDANCER:
case SL_ROGUE:
case SL_ASSASIN:
case SL_BLACKSMITH:
case SL_HUNTER:
case SL_SOULLINKER:
case SL_KAIZEL:
case SL_KAAHI:
case SL_KAUPE:
case SL_KAITE:
case SL_STIN:
case SL_STUN:
case SL_SMA:
case SL_SWOO:
case SL_SKE:
case SL_SKA:
case SL_HIGH:
case SL_DEATHKNIGHT:
case SL_COLLECTOR:
case SL_NINJA:
case SL_GUNNER:
case AB_ANCILLA:
case SC_MANHOLE:
case SC_DIMENSIONDOOR:
case SC_BLOODYLUST:
case SP_SOULGOLEM:
case SP_SOULSHADOW:
case SP_SOULFALCON:
case SP_SOULFAIRY:
case SP_SOULUNITY:
case SP_SOULREAPER:
case SP_SOULREVOLVE:
effectId = 441;
return;
case AM_BERSERKPITCHER:
motion = 12;
effectId = 12;
goto variant;
case AM_TWILIGHT1:
motion = 7;
effectId = 573;
return;
case AM_TWILIGHT2:
motion = 7;
effectId = 574;
return;
case AM_TWILIGHT3:
motion = 7;
effectId = 575;
return;
case NJ_HUUMA:
case NJ_BUNSINJYUTSU:
case NJ_NEN:
motion = 37;
effectId = 441;
return;
case NJ_KOUENKA:
case NJ_KAENSIN:
case NJ_BAKUENRYU:
motion = 37;
effectId = 55;
return;
case SA_ELEMENTFIRE:
effectId = 55;
return;
case NJ_HYOUSENSOU:
case NJ_SUITON:
case NJ_HYOUSYOURAKU:
motion = 37;
effectId = 54;
return;
case NJ_HUUJIN:
case NJ_RAIGEKISAI:
case NJ_KAMAITACHI:
motion = 37;
effectId = 57;
return;
case SA_ELEMENTWIND:
effectId = 57;
return;
case GS_BULLSEYE:
case GS_MADNESSCANCEL:
case GS_ADJUSTMENT:
case GS_TRACKING:
case GS_DISARM:
case GS_PIERCINGSHOT:
case GS_RAPIDSHOWER:
case GS_GATLINGFEVER:
motion = 41;
effectId = 441;
return;
case GS_DUST:
case GS_FULLBUSTER:
case GS_SPREADATTACK:
case GS_GROUNDDRIFT:
motion = 42;
effectId = 441;
return;
case KN_CHARGEATK:
case BA_PANGVOICE:
case PR_REDEMPTIO:
motion = 0;
effectId = 58;
return;
case AB_CLEARANCE:
effectId = 1560;
return;
case KN_PIERCE:
case KN_SPEARSTAB:
case KN_BOWLINGBASH:
case AB_DUPLELIGHT_MELEE:
effectId = -1;
motion = 2;
break;
case RK_SONICWAVE:
effectId = 12;
motion = 2;
break;
case HT_SKIDTRAP:
case HT_LANDMINE:
case HT_ANKLESNARE:
case HT_SHOCKWAVE:
case HT_SANDMAN:
case HT_FLASHER:
case HT_FREEZINGTRAP:
case HT_BLASTMINE:
case HT_CLAYMORETRAP:
case HT_REMOVETRAP:
case HT_TALKIEBOX:
case GM_SANDMAN:
case RA_CLUSTERBOMB:
case RA_FIRINGTRAP:
case RA_ICEBOUNDTRAP:
motion = 5;
break;
case SR_DRAGONCOMBO:
case SR_SKYNETBLOW:
case SR_EARTHSHAKER:
case SR_FALLENEMPIRE:
case SR_TIGERCANNON:
case SR_RAMPAGEBLASTER:
case SR_RAISINGDRAGON:
case SR_ASSIMILATEPOWER:
case SR_POWERVELOCITY:
case SR_GENTLETOUCH_QUIET:
case SR_GENTLETOUCH_CURE:
case SR_GENTLETOUCH_ENERGYGAIN:
case SR_GENTLETOUCH_CHANGE:
case SR_GENTLETOUCH_REVITALIZE:
case SR_RIDEINLIGHTNING:
motion = -1;
effectId = 831;
return;
case MB_M_TELEPORT:
case SC_INVISIBILITY:
case SC_FEINTBOMB:
motion = 0;
effectId = 501;
return;
case SC_ENERVATION:
case SC_GROOMY:
case SC_IGNORANCE:
case SC_LAZINESS:
case SC_UNLUCKY:
case SC_WEAKNESS:
case SC_STRIPACCESSARY:
motion = 7;
effectId = 441;
return;
case SC_MAELSTROM:
effectId = 1556;
return;
case RL_FALLEN_ANGEL:
motion = 46;
effectId = -1;
return;
case TF_HIDING:
case KN_SPEARMASTERY:
case KN_TWOHANDQUICKEN:
case KN_RIDING:
case KN_CAVALIERMASTERY:
case WZ_ESTIMATION:
case NPC_PIERCINGATT:
case NPC_MENTALBREAKER:
case NPC_RANGEATTACK:
case NPC_ATTRICHANGE:
case NPC_CHANGEWATER:
case NPC_CHANGEGROUND:
case NPC_CHANGEFIRE:
case NPC_CHANGEWIND:
case NPC_CHANGEPOISON:
case NPC_CHANGEHOLY:
case NPC_CHANGEDARKNESS:
case NPC_CHANGETELEKINESIS:
case NPC_CRITICALSLASH:
case NPC_COMBOATTACK:
case NPC_GUIDEDATTACK:
case NPC_SELFDESTRUCTION:
case NPC_SPLASHATTACK:
case NPC_SUICIDE:
case NPC_POISON:
case NPC_BLINDATTACK:
case NPC_SILENCEATTACK:
case NPC_STUNATTACK:
case NPC_PETRIFYATTACK:
case NPC_CURSEATTACK:
case NPC_SLEEPATTACK:
case NPC_RANDOMATTACK:
case NPC_WATERATTACK:
case NPC_GROUNDATTACK:
case NPC_FIREATTACK:
case NPC_WINDATTACK:
case NPC_POISONATTACK:
case NPC_HOLYATTACK:
case NPC_DARKNESSATTACK:
case NPC_TELEKINESISATTACK:
case NPC_MAGICALATTACK:
case CR_SPEARQUICKEN:
case MO_CHAINCOMBO:
case MO_COMBOFINISH:
case NPC_DARKCROSS:
case NPC_UNDEADATTACK:
case PA_SACRIFICE:
case CH_PALMSTRIKE:
case CH_TIGERFIST:
case CH_CHAINCRUSH:
case LK_HEADCRUSH:
case LK_JOINTBEAT:
case KN_ONEHAND:
case NPC_FIREBREATH:
case NPC_WIDESILENCE:
case NPC_WIDESTONE:
case NPC_WIDECONFUSE:
case NPC_WIDESLEEP:
case NPC_STONESKIN:
case NPC_ANTIMAGIC:
case NPC_WIDESTUN:
case NPC_WIDEWEB:
case NPC_FIRESTORM:
case NPC_WIDESILENCE2:
case NPC_WIDESTUN2:
case NPC_WIDESTONE2:
case NPC_WIDESLEEP2:
case NPC_WIDECONFUSE2:
case NPC_CURSE_OF_BLUE_CUBE:
case NPC_KILLING_AURA:
case MO_BALKYOUNG:
case RK_WINDCUTTER:
case AB_JUDEX:
case NC_AXEBOOMERANG:
case AG_DEADLY_PROJECTION:
case AG_DESTRUCTIVE_HURRICANE:
case AG_RAIN_OF_CRYSTAL:
case AG_MYSTERY_ILLUSION:
case AG_VIOLENT_QUAKE:
case AG_SOUL_VC_STRIKE:
case AG_STRANTUM_TREMOR:
case AG_ALL_BLOOM:
case AG_CRYSTAL_IMPACT:
case AG_TORNADO_STORM:
case AG_FLORAL_FLARE_ROAD:
case AG_ASTRAL_STRIKE:
case AG_CLIMAX:
case AG_ROCK_DOWN:
case AG_STORM_CANNON:
case AG_CRIMSON_ARROW:
case AG_FROZEN_SLASH:
case IQ_OLEUM_SANCTUM:
case IQ_EXPOSION_BLASTER:
case IQ_FIRST_FAITH_POWER:
case IQ_JUDGE:
case IQ_THIRD_EXOR_FLAME:
case CD_MEDIALE_VOTUM:
case CD_ARGUTUS_VITA:
case CD_ARGUTUS_TELUM:
case CD_ARBITRIUM:
case CD_PRESENS_ACIES:
case CD_COMPETENTIA:
case CD_DILECTIO_HEAL:
case CD_RELIGIO:
case CD_BENEDICTUM:
case ABC_STRIP_SHADOW:
case ABC_UNLUCKY_RUSH:
case ABC_CHAIN_REACTION_SHOT:
case ABC_ABYSS_SLAYER:
case ABC_ABYSS_STRIKE:
case WH_HAWKBOOMERANG:
case WH_SOLIDTRAP:
case BO_THE_WHOLE_PROTECTION:
case BO_ADVANCE_PROTECTION:
case BO_ACIDIFIED_ZONE_WATER:
case BO_ACIDIFIED_ZONE_GROUND:
case BO_ACIDIFIED_ZONE_WIND:
case BO_ACIDIFIED_ZONE_FIRE:
case BO_WOODENWARRIOR:
case BO_WOODEN_FAIRY:
case BO_CREEPER:
case BO_RESEARCHREPORT:
case BO_HELLTREE:
case TR_SOUNDBLEND:
case TR_MUSICAL_INTERLUDE:
case EM_ACTIVITY_BURN:
case EM_INCREASING_ACTIVITY:
case EM_DIAMOND_STORM:
case EM_LIGHTNING_LAND:
case EM_VENOM_SWAMP:
case EM_CONFLAGRATION:
case EM_TERRA_DRIVE:
case EM_SUMMON_ELEMENTAL_ARDOR:
case EM_SUMMON_ELEMENTAL_DILUVIO:
case EM_SUMMON_ELEMENTAL_PROCELLA:
case EM_SUMMON_ELEMENTAL_TERREMOTUS:
case EM_SUMMON_ELEMENTAL_SERPENS:
case EM_ELEMENTAL_BUSTER:
case ABC_CHAIN_REACTION_SHOT_ATK:
case EM_ELEMENTAL_BUSTER_FIRE:
case EM_ELEMENTAL_BUSTER_WATER:
case EM_ELEMENTAL_BUSTER_WIND:
case EM_ELEMENTAL_BUSTER_GROUND:
case EM_ELEMENTAL_BUSTER_POISON:
case EM_EL_FLAMEARMOR:
case EM_EL_CRYSTAL_ARMOR:
case EM_EL_EYES_OF_STORM:
case EM_EL_STRONG_PROTECTION:
case EM_EL_POISON_SHIELD:
case ABR_NET_REPAIR:
case ABR_NET_SUPPORT:
case ABR_INFINITY_BUSTER:
effectId = -1;
return;
case NPC_ELECTRICWALK:
case SO_ELECTRICWALK:
motion = -1;
effectId = 57;
return;
case SO_EARTHGRAVE:
motion = -1;
effectId = 1664;
return;
case SO_VARETYR_SPEAR:
motion = 7;
effectId = 1565;
return;
case NPC_MANDRAGORA:
case GN_CART_TORNADO:
case GN_BLOOD_SUCKER:
case GN_CHANGEMATERIAL:
case GN_MIX_COOKING:
case GN_MAKEBOMB:
case GN_S_PHARMACY:
motion = -1;
effectId = 911;
return;
case GN_CARTBOOST:
motion = -1;
effectId = 1677;
return;
case SR_GATEOFHELL:
case GN_MANDRAGORA:
case SR_HOWLINGOFLION:
motion = -1;
effectId = -1;
return;
case GN_SPORE_EXPLOSION:
case GN_DEMONIC_FIRE:
motion = 12;
effectId = 911;
return;
case GN_THORNS_TRAP:
case GN_CRAZYWEED:
case GN_FIRE_EXPANSION:
case GN_HELLS_PLANT:
motion = 7;
effectId = 911;
return;
case GN_WALLOFTHORN:
motion = 7;
effectId = -1;
return;
case WL_JACKFROST:
effectId = 1449;
motion = 7;
break;
case WL_COMET:
effectId = 1418;
motion = 7;
break;
case WL_TETRAVORTEX:
effectId = 805;
motion = 7;
break;
case WL_SUMMONFB:
case WL_SUMMONBL:
case WL_SUMMONWB:
case WL_SUMMONSTONE:
effectId = g_serviceOptions.Get(229) ? 1430 : 1260;
g_soundMgr->PlayWave("effect\\EF_BeginSpell.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
motion = 7;
break;
case SC_TRIANGLESHOT:
effectId = 441;
motion = 18;
break;
case SC_SHADOWFORM:
effectId = 826;
motion = 7;
break;
case AL_INCAGI:
case CASH_INCAGI:
case NPC_COMET:
case NPC_JACKFROST:
case NPC_ARROWSTORM:
case WL_WHITEIMPRISON:
case WL_FROSTMISTY:
case WL_MARSHOFABYSS:
case WL_SIENNAEXECRATE:
case WL_DRAINLIFE:
case WL_CRIMSONROCK:
case WL_EARTHSTRAIN:
case WL_RELEASE:
case RA_ARROWSTORM:
case RA_DETONATOR:
case RA_WUGSTRIKE:
case RA_WUGBITE:
case RA_SENSITIVEKEEN:
effectId = 12;
motion = 7;
break;
case WL_STASIS:
case RA_WUGMASTERY:
case SC_AUTOSHADOWSPELL:
effectId = 441;
motion = 7;
break;
case AS_SONICBLOW:
case NPC_RAYOFGENESIS:
case GC_CROSSIMPACT:
case AB_DUPLELIGHT_MAGIC:
case WL_SOULEXPANSION:
case WL_HELLINFERNO:
case WL_CHAINLIGHTNING:
case RA_AIMEDBOLT:
case LG_OVERBRAND:
case LG_RAYOFGENESIS:
effectId = -1;
motion = 7;
break;
case LG_EARTHDRIVE:
effectId = 1709;
motion = 7;
break;
case LG_PIETY:
effectId = 830;
motion = 7;
break;
case RA_WUGRIDER:
case RA_WUGDASH:
case GN_CARTCANNON:
case LG_OVERBRAND_PLUSATK:
effectId = -1;
motion = -1;
break;
case LG_EXEEDBREAK:
effectId = 882;
motion = 7;
break;
case NC_AXETORNADO:
motion = 2;
effectId = 775;
return;
case NC_FLAMELAUNCHER:
motion = 2;
effectId = 12;
goto variant;
case NC_ARMSCANNON:
motion = 2;
effectId = -1;
return;
case NPC_PSYCHIC_WAVE:
case NPC_CLOUD_KILL:
case NPC_POISON_BUSTER:
case NC_BOOSTKNUCKLE:
case NC_VULCANARM:
case NC_COLDSLOWER:
case NC_ACCELERATION:
case NC_SHAPESHIFT:
case SO_DIAMONDDUST:
case SO_POISON_BUSTER:
case SO_PSYCHIC_WAVE:
case SO_CLOUD_KILL:
case SO_STRIKING:
case SO_WARMER:
case SO_VACUUM_EXTREME:
case SO_ARRULLO:
case SO_EL_CONTROL:
case SO_SUMMON_AGNI:
case SO_SUMMON_AQUA:
case SO_SUMMON_VENTUS:
case SO_SUMMON_TERA:
motion = -1;
effectId = 12;
goto variant;
case NC_SELFDESTRUCTION:
motion = -1;
effectId = 775;
return;
case NPC_FIREWALK:
case NC_INFRAREDSCAN:
case SO_FIREWALK:
motion = -1;
effectId = 55;
return;
case NC_MAGNETICFIELD:
motion = -1;
effectId = 54;
return;
case NC_ANALYZE:
case NC_NEUTRALBARRIER:
case NC_REPAIR:
motion = -1;
effectId = 58;
return;
case NC_STEALTHFIELD:
motion = -1;
effectId = 441;
return;
case WA_SWING_DANCE:
case WA_SYMPHONY_OF_LOVER:
case WM_DOMINION_IMPULSE:
case WM_VOICEOFSIREN:
case WM_LULLABY_DEEPSLEEP:
case WM_RANDOMIZESPELL:
case WM_GLOOMYDAY:
motion = 16;
effectId = 840;
return;
case WA_MOONLIT_SERENADE:
motion = 16;
effectId = 840;
g_soundMgr->PlayWave("effect\\달빛세레나데.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
break;
case WM_POEMOFNETHERWORLD:
motion = 16;
effectId = 840;
g_soundMgr->PlayWave("effect\\나락의노래.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
break;
case WM_REVERBERATION:
motion = 16;
effectId = 1656;
return;
case DC_WINKCHARM:
case WM_METALICSOUND:
motion = 16;
effectId = -1;
return;
case WM_SEVERE_RAINSTORM:
motion = 16;
effectId = 1286;
return;
case WM_DEADHILLHERE:
case WM_SIRCLEOFNATURE:
motion = 16;
effectId = 841;
return;
case MI_RUSH_WINDMILL:
case MI_ECHOSONG:
motion = 16;
effectId = 844;
return;
case WM_GREAT_ECHO:
case WM_SONG_OF_MANA:
case WM_DANCE_WITH_WUG:
case WM_SATURDAY_NIGHT_FEVER:
case WM_MELODYOFSINK:
case WM_BEYOND_OF_WARCRY:
case WM_UNLIMITED_HUMMING_VOICE:
motion = 16;
effectId = 843;
return;
case WM_LERADS_DEW:
motion = 16;
effectId = 843;
g_soundMgr->PlayWave("effect\\레라드의이슬.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
break;
case WM_SOUND_OF_DESTRUCTION:
effectId = -1;
motion = 16;
break;
case MI_HARMONIZE:
motion = 16;
effectId = 441;
return;
case SJ_STAREMPEROR:
motion = 19;
effectId = 58;
return;
case SP_CURSEEXPLOSION:
case SP_SOULCURSE:
case SP_SPA:
case SP_SHA:
case SP_SWHOO:
case SP_SOULDIVISION:
case SP_SOULEXPLOSION:
effectId = 454;
return;
case TK_HIGHJUMP:
case SU_LOPE:
motion = 19;
effectId = -1;
return;
case SU_SV_STEMSPEAR:
case SU_CN_POWDERING:
case SU_SCAROFTAROU:
case SU_PICKYPECK:
case SU_ARCLOUSEDASH:
case SU_LUNATICCARROTBEAT:
case SU_TUNABELLY:
case SU_BUNCHOFSHRIMP:
case SU_LUNATICCARROTBEAT2:
motion = 50;
effectId = -1;
return;
case AB_CLEMENTIA:
case AB_CANTO:
case AB_PRAEFATIO:
case AB_LAUDAAGNUS:
case AB_LAUDARAMUS:
case AB_VITUPERATUM:
effectId = 830;
return;
case WL_RECOGNIZEDSPELL:
case WL_READING_SB:
case LG_FORCEOFVANGUARD:
case LG_RAGEBURST:
case LG_SHIELDSPELL:
case LG_PRESTIGE:
case LG_BANDING:
case LG_MOONSLASHER:
case LG_HESPERUSLIT:
case LG_INSPIRATION:
case WL_READING_SB_READING:
effectId = 58;
motion = 7;
break;
case IQ_SINCERE_FAITH:
effectId = 1963;
return;
case IQ_POWERFUL_FAITH:
effectId = 1986;
return;
case IQ_FIRM_FAITH:
effectId = 1998;
return;
case CD_PNEUMATICUS_PROCELLA:
effectId = 1959;
return;
case CD_FRAMEN:
effectId = 1932;
return;
case WH_FLAMETRAP:
effectId = 1923;
return;
case MT_SUMMON_ABR_INFINITY:
effectId = 1910;
return;
case MT_SUMMON_ABR_BATTLE_WARIOR:
effectId = 1938;
return;
case MT_SUMMON_ABR_DUAL_CANNON:
effectId = 1918;
return;
case MT_SUMMON_ABR_MOTHER_NET:
effectId = 1902;
return;
case WH_DEEPBLINDTRAP:
effectId = 1872;
return;
case WH_SWIFTTRAP:
effectId = 1876;
return;
case ABC_ABYSS_SQUARE:
effectId = -1;
motion = -1;
g_soundMgr->PlayWave("effect\\EF_BeginSpell.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
break;
case GC_POISONSMOKE:
case RA_FEARBREEZE:
case RA_UNLIMIT:
g_soundMgr->PlayWave("effect\\EF_BeginSpell.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
break;
case SHC_FATAL_SHADOW_CROW:
g_soundMgr->PlayWave("effect\\EF_BeginSpell.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
effectId = -1;
return;
case NPC_BO_HELL_DUSTY:
effectId = 2240;
return;
case NPC_BO_THROWROCK:
case NPC_BO_WOODEN_ATTACK:
effectId = 2249;
return;
case NPC_BO_FAIRY_DUSTY:
effectId = 2255;
return;
case NPC_SUMMONSLAVE:
case NPC_SUMMONMONSTER:
case CR_AUTOGUARD:
case MO_EXPLOSIONSPIRITS:
case NPC_POWERUP:
case ML_AUTOGUARD:
motion = 0;
effectId = -1;
return;
case EL_CIRCLE_OF_FIRE:
case EL_FIRE_ARROW:
case EL_FIRE_BOMB:
case EL_FIRE_WAVE:
motion = 7;
effectId = 55;
return;
case EL_ICE_NEEDLE:
case EL_WATER_SCREW:
case EL_TIDAL_WEAPON:
motion = 7;
effectId = 54;
return;
case EL_WIND_SLASH:
case EL_HURRICANE:
motion = 7;
effectId = 57;
return;
case EL_STONE_RAIN:
motion = 7;
effectId = 56;
return;
case SA_ELEMENTGROUND:
effectId = 56;
return;
default:
if (static_cast<unsigned int>(skillId - 5401) <= 106 || static_cast<unsigned int>(skillId - 6001) <= 5 || static_cast<unsigned int>(skillId - 6525) <= 81) {
effectId = -1;
}
{
const std::pair<bool, int> action = CSkillActionMgr::GetInstance()->GetSkillCastMotion(skillId);
if (action.first == true) {
motion = action.second;
}
}
break;
case NV_BASIC:
case SM_SWORD:
case SM_TWOHAND:
case SM_RECOVERY:
case SM_PROVOKE:
case SM_ENDURE:
case MC_INCCARRY:
case MC_DISCOUNT:
case MC_OVERCHARGE:
case MC_PUSHCART:
case MC_IDENTIFY:
case MC_VENDING:
case AC_OWL:
case AC_VULTURE:
case TF_DOUBLE:
case TF_MISS:
case TF_STEAL:
case TF_POISON:
case TF_DETOXIFY:
case BS_IRON:
case BS_STEEL:
case BS_ENCHANTEDSTONE:
case BS_ORIDEOCON:
case BS_DAGGER:
case BS_SWORD:
case BS_TWOHANDSWORD:
case BS_AXE:
case BS_MACE:
case BS_KNUCKLE:
case BS_SPEAR:
case BS_HILTBINDING:
case BS_FINDINGORE:
case BS_WEAPONRESEARCH:
case BS_SKINTEMPER:
case BS_ADRENALINE:
case BS_WEAPONPERFECT:
case BS_OVERTHRUST:
case BS_MAXIMIZE:
case HT_BEASTBANE:
case HT_FALCON:
case HT_STEELCROW:
case HT_BLITZBEAT:
case HT_DETECTING:
case HT_SPRINGTRAP:
case AS_RIGHT:
case AS_LEFT:
case AS_KATAR:
case AS_CLOAKING:
case AS_GRIMTOOTH:
case AS_ENCHANTPOISON:
case AS_POISONREACT:
case AS_VENOMDUST:
case BS_ADRENALINE2:
case WS_OVERTHRUSTMAX:
case GC_CLOAKINGEXCEED:
break;
case SA_ELEMENTWATER:
effectId = 54;
return;
}
if (effectId != 12) {
return;
}
variant:
switch (variant) {
case ELE_WATER:
effectId = 54;
return;
case ELE_EARTH:
effectId = 56;
return;
case ELE_FIRE:
effectId = 55;
return;
case ELE_WIND:
effectId = 57;
return;
case ELE_POISON:
effectId = 59;
return;
case ELE_HOLY:
effectId = 58;
return;
}
}
// OFFSET: 0x00E15270
// FUNCTION: fn_23831
void CSession::GetSkillActionInfo2(int skillId, int& effectId, int& motion) {
effectId = 16;
motion = 7;
const int beginEffect = this->GetBeginEffectId(skillId);
switch (skillId) {
case KO_JYUMONJIKIRI:
motion = 9;
break;
case KO_SETSUDAN:
case KO_BAKURETSU:
case KO_HAPPOKUNAI:
case KO_HUUMARANKA:
case KO_ZENKAI:
case KO_IZAYOI:
case KG_KAGEHUMI:
motion = 36;
break;
case KO_MEIKYOUSISUI:
case KO_KYOUGAKU:
case KO_JYUSATSU:
case KO_KAHU_ENTEN:
case KO_HYOUHU_HUBUKI:
case KO_KAZEHU_SEIRAN:
case KO_DOHU_KOUKAI:
case KO_GENWAKU:
case OB_ZANGETSU:
case OB_OBOROGENSOU:
case OB_AKAITSUKI:
motion = 37;
break;
}
if (beginEffect != -1) {
effectId = beginEffect;
return;
}
switch (skillId) {
case NV_BASIC:
case SM_SWORD:
case SM_TWOHAND:
case SM_RECOVERY:
case SM_PROVOKE:
case SM_ENDURE:
case MC_INCCARRY:
case MC_DISCOUNT:
case MC_OVERCHARGE:
case MC_PUSHCART:
case MC_IDENTIFY:
case MC_VENDING:
case AC_OWL:
case AC_VULTURE:
case TF_DOUBLE:
case TF_MISS:
case TF_STEAL:
case TF_POISON:
case TF_DETOXIFY:
case LK_AURABLADE:
return;
case SM_BASH:
case SM_MAGNUM:
case MC_MAMMONITE:
case AC_DOUBLE:
case HW_MAGICPOWER:
case HT_POWER:
case HT_PHANTASMIC:
case MS_MAGNUM:
motion = 2;
return;
case MG_SRECOVERY:
case MG_SIGHT:
case MG_NAPALMBEAT:
case MG_SAFETYWALL:
case MG_SOULSTRIKE:
case MG_COLDBOLT:
case MG_FROSTDIVER:
case MG_STONECURSE:
case MG_FIREBALL:
case MG_FIREWALL:
case MG_FIREBOLT:
case MG_LIGHTNINGBOLT:
case MG_THUNDERSTORM:
case AL_DP:
case AL_DEMONBANE:
case AL_RUWACH:
case AL_PNEUMA:
case AL_TELEPORT:
case AL_WARP:
case AL_DECAGI:
case AL_HOLYWATER:
case AL_CRUCIS:
case AL_ANGELUS:
case AL_CURE:
case ALL_RESURRECTION:
case PR_MACEMASTERY:
case PR_IMPOSITIO:
case PR_SUFFRAGIUM:
case PR_ASPERSIO:
case PR_BENEDICTIO:
case PR_SANCTUARY:
case PR_SLOWPOISON:
case PR_STRECOVERY:
case PR_KYRIE:
case PR_MAGNIFICAT:
case PR_GLORIA:
case PR_LEXDIVINA:
case PR_TURNUNDEAD:
case PR_LEXAETERNA:
case PR_MAGNUS:
case WZ_FIREPILLAR:
case WZ_SIGHTRASHER:
case WZ_FIREIVY:
case WZ_METEOR:
case WZ_JUPITEL:
case WZ_VERMILION:
case WZ_WATERBALL:
case WZ_ICEWALL:
case WZ_FROSTNOVA:
case WZ_STORMGUST:
case WZ_EARTHSPIKE:
case WZ_HEAVENDRIVE:
case WZ_QUAGMIRE:
case NPC_DARKSTRIKE:
case NPC_DARKTHUNDER:
case NPC_STOP:
case HW_NAPALMVULCAN:
case HW_GANBANTEIN:
case NPC_WIDESIGHT:
case ALL_ANGEL_PROTECT:
case NPC_STORMGUST2:
case NPC_RAINOFMETEOR:
case NPC_GROUNDDRIVE:
case WZ_SIGHTBLASTER:
case ALL_ODINS_RECALL:
case RETURN_TO_ELDICASTES:
case ALL_GUARDIAN_RECALL:
case ALL_ODINS_POWER:
case MER_MAGNIFICAT:
effectId = 12;
return;
case AL_HEAL:
case AL_BLESSING:
case AS_SONICBLOW:
case AL_HOLYLIGHT:
case MG_ENERGYCOAT:
case WE_MALE:
case WE_FEMALE:
case WE_BABY:
case CG_LONGINGFREEDOM:
case CG_TAROTCARD:
case CASH_BLESSING:
case AB_HIGHNESSHEAL:
case WE_CALLALLFAMILY:
case WE_ONEFOREVER:
case WE_CHEERUP:
effectId = -1;
motion = 7;
return;
case AL_INCAGI:
case TF_PICKSTONE:
case BD_ADAPTATION:
case CASH_INCAGI:
effectId = -1;
motion = 0;
return;
case AC_CONCENTRATION:
effectId = 43;
return;
case AC_SHOWER:
case RG_BACKSTAP:
case RG_RAID:
case RG_INTIMIDATE:
case CR_HOLYCROSS:
case MO_INVESTIGATE:
case MO_FINGEROFFENSIVE:
case NPC_DARKCROSS:
case PA_PRESSURE:
case PA_SACRIFICE:
case ASC_BREAKER:
case SN_SHARPSHOOTING:
case ASC_METEORASSAULT:
case GS_TRIPLEACTION:
case GS_BULLSEYE:
case GS_TRACKING:
case GS_DISARM:
case GS_PIERCINGSHOT:
case GS_RAPIDSHOWER:
case GS_DUST:
case GS_FULLBUSTER:
case GS_SPREADATTACK:
case NPC_PULSESTRIKE:
case NPC_EXPULSION:
case NPC_PULSESTRIKE2:
case NPC_ARROWSTORM:
case NPC_FATALMENACE:
case NPC_IGNITIONBREAK:
case KN_CHARGEATK:
case RG_CLOSECONFINE:
case RK_HUNDREDSPEAR:
case RK_WINDCUTTER:
case RK_IGNITIONBREAK:
case RK_STORMBLAST:
case GC_DARKILLUSION:
case GC_WEAPONCRUSH:
case GC_VENOMPRESSURE:
case GC_ROLLINGCUTTER:
case GC_CROSSRIPPERSLASHER:
case RA_ARROWSTORM:
case RA_AIMEDBOLT:
case NC_FLAMELAUNCHER:
case NC_ARMSCANNON:
case NC_AXETORNADO:
case SC_FATALMENACE:
case SC_TRIANGLESHOT:
case SC_STRIPACCESSARY:
case LG_RAGEBURST:
case LG_OVERBRAND:
case LG_MOONSLASHER:
case LG_HESPERUSLIT:
case SR_CRESCENTELBOW_AUTOSPELL:
case GN_CART_TORNADO:
case IQ_FIRST_BRAND:
case IQ_SECOND_FLAME:
case IQ_SECOND_FAITH:
case IQ_SECOND_JUDGEMENT:
case CD_EFFLIGO:
case CD_PETITIO:
case SHC_SAVAGE_IMPACT:
case SHC_ETERNAL_SLASH:
case SHC_FATAL_SHADOW_CROW:
case MT_AXE_STOMP:
case MT_RUSH_QUAKE:
case BO_WOODENWARRIOR:
case BO_WOODEN_FAIRY:
case BO_CREEPER:
case BO_HELLTREE:
case ABR_BATTLE_BUSTER:
case ABR_DUAL_CANNON_FIRE:
case ABR_NET_REPAIR:
case ABR_NET_SUPPORT:
case ABR_INFINITY_BUSTER:
motion = 2;
effectId = -1;
return;
case TF_HIDING:
case KN_SPEARMASTERY:
case KN_TWOHANDQUICKEN:
case KN_RIDING:
case KN_CAVALIERMASTERY:
case WZ_ESTIMATION:
case BS_IRON:
case BS_STEEL:
case BS_ENCHANTEDSTONE:
case BS_ORIDEOCON:
case BS_DAGGER:
case BS_SWORD:
case BS_TWOHANDSWORD:
case BS_AXE:
case BS_MACE:
case BS_KNUCKLE:
case BS_SPEAR:
case BS_HILTBINDING:
case BS_FINDINGORE:
case BS_WEAPONRESEARCH:
case BS_REPAIRWEAPON:
case BS_HAMMERFALL:
case BS_ADRENALINE:
case BS_WEAPONPERFECT:
case BS_OVERTHRUST:
case BS_MAXIMIZE:
case HT_BEASTBANE:
case HT_FALCON:
case HT_STEELCROW:
case HT_BLITZBEAT:
case HT_DETECTING:
case HT_SPRINGTRAP:
case AS_RIGHT:
case AS_LEFT:
case AS_KATAR:
case AS_CLOAKING:
case AS_GRIMTOOTH:
case AS_ENCHANTPOISON:
case AS_POISONREACT:
case AS_VENOMDUST:
case AS_SPLASHER:
case MC_CARTREVOLUTION:
case NPC_PIERCINGATT:
case NPC_MENTALBREAKER:
case NPC_RANGEATTACK:
case NPC_ATTRICHANGE:
case NPC_CHANGEWATER:
case NPC_CHANGEGROUND:
case NPC_CHANGEFIRE:
case NPC_CHANGEWIND:
case NPC_CHANGEPOISON:
case NPC_CHANGEHOLY:
case NPC_CHANGEDARKNESS:
case NPC_CHANGETELEKINESIS:
case NPC_CRITICALSLASH:
case NPC_COMBOATTACK:
case NPC_GUIDEDATTACK:
case NPC_SELFDESTRUCTION:
case NPC_SPLASHATTACK:
case NPC_SUICIDE:
case NPC_POISON:
case NPC_BLINDATTACK:
case NPC_SILENCEATTACK:
case NPC_STUNATTACK:
case NPC_PETRIFYATTACK:
case NPC_CURSEATTACK:
case NPC_SLEEPATTACK:
case NPC_RANDOMATTACK:
case NPC_WATERATTACK:
case NPC_GROUNDATTACK:
case NPC_FIREATTACK:
case NPC_WINDATTACK:
case NPC_POISONATTACK:
case NPC_HOLYATTACK:
case NPC_DARKNESSATTACK:
case NPC_TELEKINESISATTACK:
case NPC_MAGICALATTACK:
case AM_CP_WEAPON:
case AM_CP_SHIELD:
case AM_CP_ARMOR:
case AM_CP_HELM:
case CR_SPEARQUICKEN:
case MO_BODYRELOCATION:
case MO_EXTREMITYFIST:
case MO_CHAINCOMBO:
case MO_COMBOFINISH:
case CH_TIGERFIST:
case SN_WINDWALK:
case BS_ADRENALINE2:
case CR_FULLPROTECTION:
case WS_OVERTHRUSTMAX:
case KN_ONEHAND:
case NJ_ISSEN:
case NPC_FIREBREATH:
case NPC_WIDESILENCE:
case NPC_WIDESTONE:
case NPC_WIDECONFUSE:
case NPC_WIDESLEEP:
case NPC_STONESKIN:
case NPC_ANTIMAGIC:
case NPC_WIDESTUN:
case NPC_WIDEWEB:
case NPC_FIRESTORM:
case NPC_WIDESILENCE2:
case NPC_WIDESTUN2:
case NPC_WIDESTONE2:
case NPC_WIDESLEEP2:
case NPC_WIDECONFUSE2:
case NPC_CANE_OF_EVIL_EYE:
case NPC_KILLING_AURA:
case GC_CLOAKINGEXCEED:
case AB_JUDEX:
case AB_ADORAMUS:
case AB_DUPLELIGHT_MELEE:
case AB_DUPLELIGHT_MAGIC:
case SR_DRAGONCOMBO:
case SR_EARTHSHAKER:
case SR_FALLENEMPIRE:
case SR_RAMPAGEBLASTER:
case SR_LIGHTNINGWALK:
case SR_RAISINGDRAGON:
case SR_POWERVELOCITY:
case LG_OVERBRAND_BRANDISH:
case SJ_FALLINGSTAR:
case SJ_SOLARBURST:
case SP_SPA:
case SP_SWHOO:
case SU_SV_ROOTTWIST_ATK:
case SU_LUNATICCARROTBEAT:
case SU_LUNATICCARROTBEAT2:
case DK_SERVANT_W_DEMOL:
case DK_DRAGONIC_AURA:
case AG_DEADLY_PROJECTION:
case AG_SOUL_VC_STRIKE:
case AG_ASTRAL_STRIKE:
case AG_ROCK_DOWN:
case AG_STORM_CANNON:
case AG_CRIMSON_ARROW:
case AG_FROZEN_SLASH:
case IQ_THIRD_PUNISH:
case IQ_THIRD_FLAME_BOMB:
case IQ_THIRD_CONSECRATION:
case IG_SHIELD_SHOOTING:
case CD_ARBITRIUM:
case CD_ARBITRIUM_ATK:
case CD_FRAMEN:
case SHC_POTENT_VENOM:
case WH_HAWKRUSH:
case WH_HAWKBOOMERANG:
case BO_BIONIC_PHARMACY:
case BO_THE_WHOLE_PROTECTION:
case BO_ADVANCE_PROTECTION:
case BO_RESEARCHREPORT:
case TR_METALIC_FURY:
case TR_SOUNDBLEND:
case EM_DIAMOND_STORM:
case EM_TERRA_DRIVE:
case EM_ELEMENTAL_BUSTER:
case EM_ELEMENTAL_BUSTER_FIRE:
case EM_ELEMENTAL_BUSTER_WATER:
case EM_ELEMENTAL_BUSTER_WIND:
case EM_ELEMENTAL_BUSTER_GROUND:
case EM_ELEMENTAL_BUSTER_POISON:
case EL_FIRE_ARROW:
case EL_FIRE_BOMB:
case EL_FIRE_WAVE:
case EL_ICE_NEEDLE:
case EL_WATER_SCREW:
case EL_TIDAL_WEAPON:
case EL_WIND_SLASH:
case EL_HURRICANE:
case EL_STONE_RAIN:
case ELEMENTAL_LAST:
case EM_EL_FLAMEARMOR:
case EM_EL_FLAMEROCK:
case EM_EL_COLD_FORCE:
case EM_EL_CRYSTAL_ARMOR:
case EM_EL_AGE_OF_ICE:
case EM_EL_GRACE_BREEZE:
case EM_EL_EYES_OF_STORM:
case EM_EL_STORM_WIND:
case EM_EL_EARTH_CARE:
case EM_EL_STRONG_PROTECTION:
case EM_EL_AVALANCHE:
case EM_EL_DEEP_POISONING:
case EM_EL_POISON_SHIELD:
case EM_EL_DEADLY_POISON:
effectId = -1;
return;
case KN_PIERCE:
case KN_SPEARSTAB:
case KN_AUTOCOUNTER:
case KN_BOWLINGBASH:
case BS_SKINTEMPER:
case MO_TRIPLEATTACK:
case CH_PALMSTRIKE:
case CH_CHAINCRUSH:
case LK_SPIRALPIERCE:
case LK_HEADCRUSH:
case LK_JOINTBEAT:
case HW_GRAVITATION:
case MO_BALKYOUNG:
case RK_SONICWAVE:
case GC_CROSSIMPACT:
case ABC_ABYSS_DAGGER:
case ABC_UNLUCKY_RUSH:
case ABC_CHAIN_REACTION_SHOT:
case ABC_DEFT_STAB:
case ABC_FRENZY_SHOT:
case ABC_CHAIN_REACTION_SHOT_ATK:
effectId = -1;
motion = 2;
return;
case KN_BRANDISHSPEAR:
effectId = 144;
motion = 2;
return;
case KN_SPEARBOOMERANG:
case TF_SPRINKLESAND:
case TF_THROWSTONE:
case AS_VENOMKNIFE:
effectId = -1;
motion = 12;
return;
case HT_SKIDTRAP:
case HT_LANDMINE:
case HT_ANKLESNARE:
case HT_SHOCKWAVE:
case HT_SANDMAN:
case HT_FLASHER:
case HT_FREEZINGTRAP:
case HT_BLASTMINE:
case HT_CLAYMORETRAP:
case HT_REMOVETRAP:
case HT_TALKIEBOX:
case GM_SANDMAN:
case RA_ELECTRICSHOCKER:
case RA_CLUSTERBOMB:
case RA_MAGENTATRAP:
case RA_COBALTTRAP:
case RA_MAIZETRAP:
case RA_VERDURETRAP:
case RA_FIRINGTRAP:
case RA_ICEBOUNDTRAP:
case WH_FLAMETRAP:
motion = 5;
return;
case NPC_SUMMONSLAVE:
case NPC_SUMMONMONSTER:
case CR_AUTOGUARD:
case CR_REFLECTSHIELD:
case CR_DEFENDER:
case MO_STEELBODY:
case NPC_POWERUP:
case NPC_AGIUP:
case LK_PARRYING:
case SN_SIGHT:
case WS_MELTDOWN:
case WS_CARTBOOST:
case TK_RUN:
case SG_FUSION:
case MS_PARRYING:
case ML_DEFENDER:
case ML_AUTOGUARD:
motion = 0;
effectId = -1;
return;
case AM_DEMONSTRATION:
case AM_ACIDTERROR:
case AM_POTIONPITCHER:
case AM_CANNIBALIZE:
case CR_SHIELDCHARGE:
case CR_SHIELDBOOMERANG:
case PA_SHIELDCHAIN:
case GN_BLOOD_SUCKER:
case GN_SLINGITEM:
case BO_ACIDIFIED_ZONE_WATER:
case BO_ACIDIFIED_ZONE_GROUND:
case BO_ACIDIFIED_ZONE_WIND:
case BO_ACIDIFIED_ZONE_FIRE:
motion = 12;
effectId = -1;
return;
case AM_CALLHOMUN:
case AM_REST:
case AM_RESURRECTHOMUN:
case ITM_TOMAHAWK:
case NPC_ARMORBRAKE:
case NPC_HELMBRAKE:
case NPC_SHIELDBRAKE:
case HW_MAGICCRASHER:
case PF_HPCONVERSION:
case PF_SOULCHANGE:
case PF_SOULBURN:
case SN_FALCONASSAULT:
case ST_CHASEWALK:
case PF_MINDBREAKER:
case PF_MEMORIZE:
case TK_SEVENWIND:
case SG_FEEL:
case SG_HATE:
case SL_KAIZEL:
case SL_KAAHI:
case SL_KAUPE:
case SL_KAITE:
case SL_STIN:
case SL_STUN:
case SL_SMA:
case SL_SWOO:
case SL_SKE:
case SL_SKA:
case WS_CARTTERMINATION:
case TK_MISSION:
case NPC_JACKFROST:
case NPC_DRAGONBREATH:
case NPC_MANDRAGORA:
case NPC_PSYCHIC_WAVE:
case NPC_RAYOFGENESIS:
case NPC_VENOMIMPRESS:
case NPC_CLOUD_KILL:
case NPC_PHANTOMTHRUST:
case NPC_POISON_BUSTER:
case NPC_ELECTRICWALK:
case NPC_FIREWALK:
case RK_ENCHANTBLADE:
case RK_DRAGONBREATH:
case RK_DRAGONHOWLING:
case RK_CRUSHSTRIKE:
case RK_REFRESH:
case RK_GIANTGROWTH:
case RK_ABUNDANCE:
case RK_PHANTOMTHRUST:
case GC_VENOMIMPRESS:
case WL_SOULEXPANSION:
case WL_FROSTMISTY:
case WL_JACKFROST:
case WL_CRIMSONROCK:
case WL_HELLINFERNO:
case WL_CHAINLIGHTNING:
case WL_TETRAVORTEX:
case WL_RELEASE:
case WL_READING_SB:
case RA_DETONATOR:
case RA_WUGSTRIKE:
case RA_WUGBITE:
case RA_SENSITIVEKEEN:
case SC_AUTOSHADOWSPELL:
case SC_SHADOWFORM:
case SC_BODYPAINT:
case SC_INVISIBILITY:
case SC_DEADLYINFECT:
case SC_ENERVATION:
case SC_GROOMY:
case SC_IGNORANCE:
case SC_LAZINESS:
case SC_UNLUCKY:
case SC_WEAKNESS:
case SC_MANHOLE:
case SC_DIMENSIONDOOR:
case SC_CHAOSPANIC:
case SC_MAELSTROM:
case SC_BLOODYLUST:
case SC_FEINTBOMB:
case LG_TRAMPLE:
case LG_SHIELDPRESS:
case LG_SHIELDSPELL:
case LG_EXEEDBREAK:
case LG_PRESTIGE:
case LG_BANDING:
case LG_RAYOFGENESIS:
case LG_PIETY:
case LG_INSPIRATION:
case WA_SWING_DANCE:
case WA_SYMPHONY_OF_LOVER:
case WA_MOONLIT_SERENADE:
case MI_RUSH_WINDMILL:
case MI_ECHOSONG:
case MI_HARMONIZE:
case WM_METALICSOUND:
case WM_REVERBERATION:
case WM_DOMINION_IMPULSE:
case WM_SEVERE_RAINSTORM:
case WM_POEMOFNETHERWORLD:
case WM_VOICEOFSIREN:
case WM_LULLABY_DEEPSLEEP:
case WM_GREAT_ECHO:
case WM_SOUND_OF_DESTRUCTION:
case SO_FIREWALK:
case SO_ELECTRICWALK:
case SO_EARTHGRAVE:
case SO_DIAMONDDUST:
case SO_POISON_BUSTER:
case SO_PSYCHIC_WAVE:
case SO_CLOUD_KILL:
case SO_STRIKING:
case SO_WARMER:
case SO_VACUUM_EXTREME:
case SO_VARETYR_SPEAR:
case SO_ARRULLO:
case SO_EL_CONTROL:
case SO_SUMMON_AGNI:
case SO_SUMMON_AQUA:
case SO_SUMMON_VENTUS:
case SO_SUMMON_TERA:
case GN_CARTCANNON:
case GN_THORNS_TRAP:
case GN_CRAZYWEED:
case GN_MANDRAGORA:
case SR_RIDEINLIGHTNING:
case RK_DRAGONBREATH_WATER:
case WL_READING_SB_READING:
case HFLI_MOON:
case HFLI_SBR44:
case EL_CIRCLE_OF_FIRE:
motion = 7;
effectId = -1;
return;
case CR_PROVIDENCE:
case MO_CALLSPIRITS:
case MO_BLADESTOP:
case PA_GOSPEL:
case CH_SOULCOLLECT:
case NPC_SR_CURSEDCIRCLE:
case MO_KITRANSLATION:
case SR_CURSEDCIRCLE:
motion = 0;
return;
case BD_LULLABY:
case BD_RICHMANKIM:
case BD_ETERNALCHAOS:
case BD_DRUMBATTLEFIELD:
case BD_RINGNIBELUNGEN:
case BD_ROKISWEIL:
case BD_INTOABYSS:
case BD_SIEGFRIED:
case DC_UGLYDANCE:
case DC_HUMMING:
case DC_DONTFORGETME:
case DC_FORTUNEKISS:
case DC_SERVICEFORYOU:
case CG_MOONLIT:
case CG_MARIONETTE:
case CG_HERMODE:
effectId = -1;
motion = 16;
return;
case BA_MUSICALSTRIKE:
case DC_THROWARROW:
case CG_ARROWVULCAN:
case NJ_KIRIKAGE:
case NC_VULCANARM:
case LG_CANNONSPEAR:
case LG_BANISHINGPOINT:
case LG_PINPOINTATTACK:
case WH_GALESTORM:
motion = 9;
effectId = -1;
return;
case BA_DISSONANCE:
case BA_WHISTLE:
case BA_ASSASSINCROSS:
case BA_POEMBRAGI:
case BA_APPLEIDUN:
effectId = -1;
motion = 17;
return;
case NPC_UNDEADATTACK:
effectId = 454;
return;
case LK_CONCENTRATION:
case LK_BERSERK:
case LK_FURY:
case HP_ASSUMPTIO:
case HP_BASILICA:
case PF_SPIDERWEB:
case PF_DOUBLECASTING:
case CASH_ASSUMPTIO:
case MS_BERSERK:
case EL_HEATER:
case EL_TROPIC:
case EL_AQUAPLAY:
case EL_COOLER:
case EL_CHILLY_AIR:
case EL_GUST:
case EL_BLAST:
case EL_WILD_STORM:
case EL_PETROLOGY:
case EL_CURSED_SOIL:
case EL_UPHEAVAL:
motion = 7;
return;
case HW_SOULDRAIN:
motion = 1;
effectId = -1;
return;
case TK_READYSTORM:
case RK_STONEHARDSKIN:
case SC_REPRODUCE:
motion = 21;
effectId = -1;
return;
case TK_STORMKICK:
case SR_WINDMILL:
case SJ_FULLMOONKICK:
motion = 30;
effectId = -1;
return;
case TK_READYDOWN:
case GN_CARTBOOST:
motion = 22;
effectId = -1;
return;
case TK_DOWNKICK:
case LG_FORCEOFVANGUARD:
motion = 31;
effectId = -1;
return;
case TK_READYTURN:
case SL_ALCHEMIST:
case SL_MONK:
case SL_STAR:
case SL_SAGE:
case SL_CRUSADER:
case SL_SUPERNOVICE:
case SL_KNIGHT:
case SL_WIZARD:
case SL_PRIEST:
case SL_BARDDANCER:
case SL_ROGUE:
case SL_ASSASIN:
case SL_BLACKSMITH:
case SL_HUNTER:
case SL_SOULLINKER:
case SL_HIGH:
case SL_DEATHKNIGHT:
case SL_COLLECTOR:
case SL_NINJA:
case SL_GUNNER:
case SR_CRESCENTELBOW:
case SR_ASSIMILATEPOWER:
case SP_SOULGOLEM:
case SP_SOULSHADOW:
case SP_SOULFALCON:
case SP_SOULFAIRY:
motion = 23;
effectId = -1;
return;
case TK_TURNKICK:
case LG_REFLECTDAMAGE:
case SR_GENTLETOUCH_QUIET:
case SR_GENTLETOUCH_CURE:
case SR_GENTLETOUCH_ENERGYGAIN:
case SR_GENTLETOUCH_CHANGE:
case SR_GENTLETOUCH_REVITALIZE:
case SJ_PROMINENCEKICK:
motion = 32;
effectId = -1;
return;
case TK_READYCOUNTER:
case RK_FIGHTINGSPIRIT:
case SR_GATEOFHELL:
motion = 24;
effectId = -1;
return;
case TK_COUNTER:
motion = 26;
effectId = -1;
return;
case TK_DODGE:
case LG_EARTHDRIVE:
motion = 25;
effectId = -1;
return;
case TK_JUMPKICK:
case SR_KNUCKLEARROW:
motion = 27;
effectId = -1;
return;
case TK_HIGHJUMP:
case SJ_STAREMPEROR:
case SU_LOPE:
motion = 20;
effectId = -1;
return;
case SG_SUN_WARM:
case SG_MOON_WARM:
case SG_STAR_WARM:
motion = 34;
effectId = -1;
return;
case SG_SUN_COMFORT:
case SG_MOON_COMFORT:
case SG_STAR_COMFORT:
motion = 33;
effectId = -1;
return;
case AM_BERSERKPITCHER:
case CR_SLIMPITCHER:
case CR_ACIDDEMONSTRATION:
case WL_CHAINLIGHTNING_ATK:
case WL_TETRAVORTEX_FIRE:
case WL_TETRAVORTEX_WATER:
case WL_TETRAVORTEX_WIND:
case WL_TETRAVORTEX_GROUND:
case RA_WUGMASTERY:
case RA_WUGRIDER:
case RA_WUGDASH:
case WM_REVERBERATION_MELEE:
case WM_REVERBERATION_MAGIC:
case GN_SPORE_EXPLOSION:
case GN_WALLOFTHORN:
case GN_CRAZYWEED_ATK:
case GN_DEMONIC_FIRE:
case GN_FIRE_EXPANSION:
case GN_HELLS_PLANT:
case WM_SEVERE_RAINSTORM_MELEE:
case AG_VIOLENT_QUAKE_ATK:
case AG_ALL_BLOOM_ATK:
case AG_ALL_BLOOM_ATK2:
case AG_CRYSTAL_IMPACT_ATK:
case AG_ASTRAL_STRIKE_ATK:
case AG_CRIMSON_ARROW_ATK:
case IQ_MASSIVE_F_BLASTER:
case IQ_EXPOSION_BLASTER:
motion = -1;
effectId = -1;
return;
case GS_GLITTERING:
case NC_BOOSTKNUCKLE:
case NC_COLDSLOWER:
case NC_ANALYZE:
case NC_MAGNETICFIELD:
motion = 39;
effectId = -1;
return;
case GS_FLING:
case GS_MADNESSCANCEL:
case GS_ADJUSTMENT:
case GS_INCREASING:
case GS_DESPERADO:
case GS_GATLINGFEVER:
motion = 38;
effectId = -1;
return;
case GS_CRACKER:
case GS_GROUNDDRIFT:
motion = 40;
effectId = -1;
return;
case NJ_SYURIKEN:
case NJ_KUNAI:
case NJ_HUUMA:
case NJ_ZENYNAGE:
case NJ_UTSUSEMI:
case NJ_KOUENKA:
case NJ_HYOUSYOURAKU:
case NJ_HUUJIN:
case NJ_RAIGEKISAI:
case NJ_KAMAITACHI:
case NJ_NEN:
case KO_BAKURETSU:
case KO_HAPPOKUNAI:
case KO_MUCHANAGE:
motion = 36;
effectId = -1;
return;
case NJ_TATAMIGAESHI:
case NJ_KASUMIKIRI:
case NJ_SHADOWJUMP:
case NJ_BUNSINJYUTSU:
case NJ_KAENSIN:
case NJ_BAKUENRYU:
case NJ_HYOUSENSOU:
case NJ_SUITON:
motion = 35;
effectId = -1;
return;
case NPC_MILLENNIUMSHIELD:
case RK_DEATHBOUND:
case RK_MILLENNIUMSHIELD:
motion = 11;
return;
case NPC_HELLBURNING:
effectId = 49;
return;
case DC_WINKCHARM:
motion = 16;
effectId = -1;
return;
case BS_GREED:
motion = 5;
effectId = -1;
return;
case GC_POISONINGWEAPON:
motion = 7;
effectId = 768;
return;
case GC_WEAPONBLOCKING:
motion = -1;
return;
case GC_COUNTERSLASH:
motion = 2;
effectId = 768;
return;
case GC_POISONSMOKE:
motion = 7;
effectId = 771;
return;
case GC_PHANTOMMENACE:
case NC_ACCELERATION:
case EL_WATER_SCREEN:
case EL_WATER_BARRIER:
motion = 7;
effectId = 441;
return;
case NC_PILEBUNKER:
case SO_SPELLFIST:
motion = 39;
effectId = 441;
return;
case NC_HOVERING:
case NC_F_SIDESLIDE:
case NC_B_SIDESLIDE:
motion = -1;
effectId = 441;
return;
case NC_SELFDESTRUCTION:
motion = 5;
effectId = 441;
return;
case NC_SHAPESHIFT:
case NC_NEUTRALBARRIER:
case NC_STEALTHFIELD:
motion = 43;
effectId = 441;
return;
case NC_EMERGENCYCOOL:
motion = 25;
effectId = 441;
return;
case NC_INFRAREDSCAN:
motion = 44;
effectId = 548;
return;
case NC_REPAIR:
motion = 43;
effectId = 58;
return;
case NC_AXEBOOMERANG:
motion = 12;
effectId = 12;
return;
case NC_POWERSWING:
motion = 2;
effectId = 12;
return;
case SR_SKYNETBLOW:
case SR_TIGERCANNON:
motion = 18;
effectId = -1;
return;
case GN_CHANGEMATERIAL:
case GN_MIX_COOKING:
case GN_MAKEBOMB:
case GN_S_PHARMACY:
case EL_WIND_STEP:
case EL_ZEPHYR:
motion = 7;
effectId = 911;
return;
case LG_OVERBRAND_PLUSATK:
motion = -1;
effectId = 548;
return;
case SJ_FLASHKICK:
motion = 51;
effectId = -1;
return;
case SU_SCRATCH:
motion = 49;
effectId = -1;
return;
case EL_SOLID_SKIN:
motion = 7;
effectId = 56;
return;
}
if (static_cast<unsigned int>(skillId - 5401) <= 106 || static_cast<unsigned int>(skillId - 6001) <= 5 || static_cast<unsigned int>(skillId - 6525) <= 81) {
effectId = -1;
}
const std::pair<bool, int> action = CSkillActionMgr::GetInstance()->GetSkillAttackMotion(skillId);
if (action.first == true) {
motion = action.second;
}
}