Batch #16351 by ragnarok-clanker: no function's compiled code changes; checked with 784 compiled unit(s), including every includer of Source/Archive/GPak.h, Source/Client/Browser/BrowserCommandTarget.h, Source/Client/Browser/BrowserDocumentUI.h, Source/Client/Browser/BrowserInPlace.h, Source/Client/Browser/WebBrowser.h, Source/Client/Input/Language.h, Source/Client/Input/LanguageTC.h, Source/Client/Input/Mouse.h, Source/Client/Mode/CGameMode.h, Source/Client/Mode/CLoginMode.h, Source/Client/Replay.h, Source/Client/Session.h, Source/Client/Stove/StovePCSDK.h, Source/Contents/AchievementMgr.h, Source/Contents/Actors/CharacterRender.h, Source/Contents/Actors/EffectActors.h, Source/Contents/Actors/GameActor.h, Source/Contents/Actors/GndRiser.h, Source/Contents/Actors/GrannyGameActor.h, Source/Contents/Actors/MousePointer.h, Source/Contents/Actors/Npc.h, Source/Contents/Actors/Pc.h, Source/Contents/Actors/RenderObjectState.h, Source/Contents/Actors/Skill.h, Source/Contents/AdventureGuideMgr.h, Source/Contents/CashEmotionMgr.h, Source/Contents/ClanInfo.h, Source/Contents/Configuration/GameSettingsMgr.h, Source/Contents/EffectResourceSwitcher.h, Source/Contents/Effects/AcidifiedThrow.h, Source/Contents/Effects/ArrowEffect.h, Source/Contents/Effects/AxeBoomerang.h, Source/Contents/Effects/BlastForge.h, Source/Contents/Effects/CharacterParticleBundle.h, Source/Contents/Effects/DummyEffectLauncher.h, Source/Contents/Effects/EZ2STREffectEx.h, Source/Contents/Effects/Effect.h, Source/Contents/Effects/EffectActor.h, Source/Contents/Effects/EffectEmitter.h, Source/Contents/Effects/EffectPrimitiveState.h, Source/Contents/Effects/EffectTypes.h, Source/Contents/Effects/ElectricEffect.h, Source/Contents/Effects/EmitterEffect.h, Source/Contents/Effects/FortuneKissEffect.h, Source/Contents/Effects/MagicFloorEffect.h, Source/Contents/Effects/MandraAttackEffect.h, Source/Contents/Effects/MonsterSkillEffects.h, Source/Contents/Effects/MsgEffect.h, Source/Contents/Effects/Particle.h, Source/Contents/Effects/RagEffectState.h, Source/Contents/Effects/RichManKim.h, Source/Contents/Effects/SpriteParticle.h, Source/Contents/Effects/StarEffect.h, Source/Contents/Effects/WhirlwindEffect.h, Source/Contents/EnchantMgr.h, Source/Contents/FlyingShipRouteInfo.h, Source/Contents/Ground/GroundSpatial.h, Source/Contents/GuildInfo.h, Source/Contents/Hotkeys/InterfaceHotkey.h, Source/Contents/Items/ItemInfo.h, Source/Contents/Items/RuneSystem.h, Source/Contents/MapSkyMgr.h, Source/Contents/Models/ModelActor.h, Source/Contents/Movies/BinkMovie.h, Source/Contents/NavigationManager.h, Source/Contents/Party/PartyBookingMgr.h, Source/Contents/PetEvolutionMgr.h, Source/Contents/RenewQuestMgr.h, Source/Contents/RodexMailStore.h, Source/Contents/Schedule/Schedule.h, Source/Contents/Schedule/ShutDownSchedule.h, Source/Contents/SignBoard/SignBoard.h, Source/Contents/Skills/PlayerSkillBundle.h, Source/Contents/Sound/SoundMgr.h, Source/Contents/SpriteLayerDrawing.h, Source/Contents/Store/MCStoreInfoBackupAsyncWork.h, Source/Contents/UserData/AccountLinkedUserDataLoadAsyncWork.h, Source/Contents/UserData/NormalItemSlots.h, Source/Contents/WorldView/WorldViewData.h, Source/Network/Connection/Connection.h, Source/Render/DX7/DeviceOwnerDX7.h, Source/Render/DX7/DirectDrawEnumeration.h, Source/Render/DX9/DeviceOwnerDX9.h, Source/Render/Primitives/LightmappedPrimitive.h, Source/Render/Primitives/RenderPrimitive.h, Source/Render/Renderer.h, Source/Render/RendererDX7.h, Source/Render/Text/EmbedFont.h, Source/Render/Text/TextContext.h, Source/Render/Textures/Texture.h, Source/Resource/BinkRuntime.h, Source/Resource/GifResource.h, Source/Resource/Models/AnimatedModelResource.h, Source/Resource/Models/GrannyModelResource.h, Source/Resource/Models/ModelMesh.h, Source/Resource/ResourceMgr.h, Source/Resource/World/GroundResource.h, Source/Resource/World/WorldResource.h, Source/Security/NProtectGameGuardMgr.h, Source/Security/ReassemblyPacketMgr.h, Source/UI/Buttons/UIBmpRadioBtn.h, Source/UI/Buttons/UIBmpTextButton2.h, Source/UI/Buttons/UIDescriptRace.h, Source/UI/Buttons/UIItemTagButton.h, Source/UI/Buttons/UITVTextButton.h, Source/UI/Buttons/UITextureButton.h, Source/UI/Chat/UINewChatWnd.h, Source/UI/Chat/UISubChatHisWnd.h, Source/UI/Dialogs/UILoadingWnd.h, Source/UI/Dialogs/UIMiniMapWnd.h, Source/UI/Dialogs/UIPasswordWnd.h, Source/UI/Dialogs/UIRestartWnd.h, Source/UI/Dialogs/UISayDialogWnd.h, Source/UI/Edit/UIEditCtrl.h, Source/UI/Enchant/EnchantUI.h, Source/UI/GameSettings/GameSettingsUI.h, Source/UI/Guild/UIGuildWnd.h, Source/UI/Item/UIItemStoreFindWnd.h, Source/UI/Item/UIItemStoreSubWnd.h, Source/UI/Item/UIItemStoreWnd.h, Source/UI/Items/UIEquipWnd.h, Source/UI/Items/UIExchangeWnd.h, Source/UI/Items/UIItemCollectionWnd.h, Source/UI/Items/UIItemRepairWnd.h, Source/UI/Items/UISwapEquipmentWnd.h, Source/UI/Lists/TableBox.h, Source/UI/Lists/UIListBox.h, Source/UI/Lists/UIListBoxEx.h, Source/UI/Lists/UIListBoxID.h, Source/UI/Lists/UIListBoxTemplate.h, Source/UI/Lists/UITabControl.h, Source/UI/Lists/UITreeView.h, Source/UI/Lists/UIVScrollBar.h, Source/UI/Navigation/UINavigationV4Wnd.h, Source/UI/Navigation/UIPrivateAirplaneWnd.h, Source/UI/Party/UIAdvenPartyBoardWnd.h, Source/UI/Party/UIRequestJoinPartyWnd.h, Source/UI/ProbabilityTable/UIProbabilityTable.h, Source/UI/Quest/UIRenewQuestWnd.h, Source/UI/Rodex/UIRodexComposeWnd.h, Source/UI/RuneSystem/UIRuneSystemWindows.h, Source/UI/RuneSystem/UIRuneSystemWnd.h, Source/UI/Shop/UIMerchantItemMyShopWnd.h, Source/UI/Shop/UIMerchantShopMakeWnd.h, Source/UI/Shop/UIMerchantShopTitle.h, Source/UI/StylingShop/UIStylingShopWnd.h, Source/UI/Text/CreateLineInfo.h, Source/UI/Text/TextMarkup.h, Source/UI/Text/UIString.h, Source/UI/Text/UITextViewer.h, Source/UI/Text/UITransBalloonText.h, Source/UI/UIChangeMaterialWnd.h, Source/UI/UIMacroDetectorWnd.h, Source/UI/UIMacroUserInfoWnd.h, Source/UI/Window/UIAccountLimitedToolWnd.h, Source/UI/Window/UIBalloonOpenBtn.h, Source/UI/Window/UIBasicInfoWnd.h, Source/UI/Window/UIBattleMsgOptionWnd.h, Source/UI/Window/UICollectionSystemWnd.h, Source/UI/Window/UIControl.h, Source/UI/Window/UIHotKeyWnd.h, Source/UI/Window/UIJobListWnd.h, Source/UI/Window/UILoginWnd.h, Source/UI/Window/UIMakeCharWnd.h, Source/UI/Window/UIMerInfoWnd.h, Source/UI/Window/UIMessageBox.h, Source/UI/Window/UIMonsterDisplayWnd.h, Source/UI/Window/UINewMakeCharWnd.h, Source/UI/Window/UINewSkillListWnd.h, Source/UI/Window/UINoticeWnd.h, Source/UI/Window/UIReplayRECControlWnd.h, Source/UI/Window/UIRoMapWnd.h, Source/UI/Window/UISecondCostumeWnd.h, Source/UI/Window/UISeekPartyListWnd.h, Source/UI/Window/UISeekPartyMBWnd.h, Source/UI/Window/UISeekPartyWnd.h, Source/UI/Window/UISerachStoreInfoWnd.h, Source/UI/Window/UIWindow.h, Source/UI/Window/UIWindowMgr.h, Source/UI/Window/WindowId.h, Source/Utility/Async/NAsyncWork.h, Source/Utility/Async/NRecycleObjectPoolMgr.h, Source/Utility/JsonCppLoader.h, Source/Utility/Lexicon/LexiconSerializer.h, Source/Utility/NFileLog.h, Source/Utility/Threading/NThread.h.
6950 lines
238 KiB
C++
6950 lines
238 KiB
C++
#include "Contents/Effects/EZ2STREffect.h"
|
|
#include "Client/Mode/CGameMode.h"
|
|
#include "Client/Mode/ModeMgr.h"
|
|
#include "Client/Session.h"
|
|
#include "Contents/Actors/GameActor.h"
|
|
#include "Contents/Actors/RenderObject.h"
|
|
#include "Contents/Camera/Camera.h"
|
|
#include "Contents/Configuration/ServiceOptions.h"
|
|
#include "Contents/Effects/EffectLists.h"
|
|
#include "Contents/Effects/EffectMemoryMgr.h"
|
|
#include "Contents/Effects/EffectTypes.h"
|
|
#include "Contents/Skills/ClientSkills.h"
|
|
#include "Contents/Sound/SoundMgr.h"
|
|
#include "Contents/World/World.h"
|
|
#include "Render/Renderer.h"
|
|
#include "Render/ScreenRectangle.h"
|
|
#include "Render/TextureQuad.h"
|
|
#include "Script/LuaScript.h"
|
|
#include "Utility/Math/AffineMatrix.h"
|
|
#include "Utility/Text/FormatString.h"
|
|
#include <bit>
|
|
#include <cmath>
|
|
#include <cstdlib>
|
|
#include <string>
|
|
|
|
// OFFSET: 0x00B51810
|
|
// FUNCTION: fn_19030
|
|
CEZ2STRScreenEffect::CEZ2STRScreenEffect()
|
|
: CEffect(-1), particle(nullptr), name("빨간포션.str"), fadePulse(0), overlayColor(0), followCamera(0), cameraAngle(0.0), jobScaled(0) {
|
|
}
|
|
|
|
// OFFSET: 0x00B51D60
|
|
// FUNCTION: fn_19036
|
|
float GetHatEffectOffsetX(int id, const char* name) {
|
|
float offset = 0.0f;
|
|
float result = 0.0f;
|
|
|
|
switch (id) {
|
|
case EF_STRANGELIGHTS:
|
|
case EF_SUPER_STAR:
|
|
offset = 5.0f;
|
|
result = offset;
|
|
break;
|
|
case EF_LJOSALFAR:
|
|
offset = 8.0f;
|
|
result = offset;
|
|
break;
|
|
case EF_SJ_DOCUMENT:
|
|
offset = 0.5f;
|
|
result = offset;
|
|
break;
|
|
case EF_NEWMOON_KICK:
|
|
case EF_FULLMOON_KICK:
|
|
case EF_NEW_ARMSCANNON_01_UP:
|
|
case EF_NEW_ARMSCANNON_01_DOWN:
|
|
case EF_NEW_ARMSCANNON_05_UP:
|
|
case EF_NEW_ARMSCANNON_05_DOWN:
|
|
case EF_MINEFFECT_ARMSCANNON_01:
|
|
case EF_MINEFFECT_ARMSCANNON_05:
|
|
offset = 1.0f;
|
|
result = offset;
|
|
break;
|
|
case EF_TETRA_VORTEX_FIRE_EXP:
|
|
case EF_TETRA_VORTEX_EARTH_EXP:
|
|
offset = -0.5f;
|
|
result = offset;
|
|
break;
|
|
case EF_NEW_ARMSCANNON_07_UP:
|
|
case EF_NEW_ARMSCANNON_07_DOWN:
|
|
case EF_NEW_ARMSCANNON_11_UP:
|
|
case EF_NEW_ARMSCANNON_11_DOWN:
|
|
case EF_MINEFFECT_ARMSCANNON_07:
|
|
case EF_MINEFFECT_ARMSCANNON_11:
|
|
offset = -1.0f;
|
|
result = offset;
|
|
break;
|
|
}
|
|
|
|
std::string text(name);
|
|
if (text.find("strangelights") != std::string::npos) {
|
|
offset = 5.0f;
|
|
result = offset;
|
|
} else if (text.find("superstar") != std::string::npos) {
|
|
offset = 5.0f;
|
|
result = offset;
|
|
} else if (text.find("ljosalfar") != std::string::npos) {
|
|
offset = 8.0f;
|
|
result = offset;
|
|
}
|
|
|
|
if (id >= 0x9B5) {
|
|
double position = 0.0;
|
|
g_session.m_hotkeyScript->Call("GetHatEfPosX", "d>l", id - 0x9B5, &position);
|
|
result = static_cast<float>(offset + position);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
// OFFSET: 0x00B52060
|
|
// FUNCTION: fn_19037
|
|
int GetHatEffectOffsetY(int id, CGameActor* actor) {
|
|
bool ignored = false;
|
|
if (id >= 0x9B5) {
|
|
g_session.m_hotkeyScript->Call("IsIgnoredRidingState_Include_AttachedToHead", "d>b", id - 0x9B5, &ignored);
|
|
} else if (id == EF_NEW_D_MACHINE) {
|
|
ignored = true;
|
|
}
|
|
|
|
int offset = 0;
|
|
if (actor) {
|
|
if (ignored == true) {
|
|
offset = 18;
|
|
} else {
|
|
offset = static_cast<int>(actor->GetNameHeight());
|
|
}
|
|
}
|
|
|
|
switch (id) {
|
|
case EF_STRANGELIGHTS:
|
|
offset += 5;
|
|
break;
|
|
case EF_BITE_SCAR:
|
|
offset += 5;
|
|
break;
|
|
case EF_KVASIRSONATA:
|
|
offset += 5;
|
|
break;
|
|
case EF_D_TAIL:
|
|
offset -= 8;
|
|
break;
|
|
case EF_FLOWERSMOKE:
|
|
offset -= 8;
|
|
break;
|
|
case EF_MARKING_USE_CHANGEMONSTER:
|
|
offset -= 8;
|
|
break;
|
|
case EF_SU_GROOMING:
|
|
offset -= 8;
|
|
break;
|
|
case EF_RICHS_COIN_A:
|
|
offset -= 8;
|
|
break;
|
|
case EF_RL_ANTI_MATERIAL_BLAST:
|
|
offset -= 8;
|
|
break;
|
|
case EF_HEAT_BARREL:
|
|
offset -= 8;
|
|
break;
|
|
case EF_H_MINE:
|
|
offset -= 8;
|
|
break;
|
|
case EF_NPC_GATE_SKYBLUE:
|
|
offset -= 8;
|
|
break;
|
|
case EF_FSTONE:
|
|
offset -= 7;
|
|
break;
|
|
case EF_CHAIN_REACTION_SHOT:
|
|
offset -= 7;
|
|
break;
|
|
case EF_QSCARABA:
|
|
offset -= 5;
|
|
break;
|
|
case EF_MAPLE_FALLS:
|
|
offset -= 5;
|
|
break;
|
|
case EF_MAGICAL_FEATHER:
|
|
offset -= 5;
|
|
break;
|
|
case EF_TIME_ACCESSORY:
|
|
offset -= 5;
|
|
break;
|
|
case EF_TETRA_VORTEX_CORE:
|
|
offset -= 5;
|
|
break;
|
|
case EF_QSCARABA_VISUAL:
|
|
offset -= 5;
|
|
break;
|
|
case EF_NEW_RUSH_QUAKE_HIT:
|
|
offset -= 5;
|
|
break;
|
|
case EF_FIRST_BRAND_HIT:
|
|
offset -= 5;
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT_2:
|
|
offset -= 5;
|
|
break;
|
|
case EF_FRESHSHRIMP:
|
|
case EF_SU_TUNABELLY:
|
|
case EF_SU_SCRATCH:
|
|
case EF_SU_BITE:
|
|
case EF_SU_SCAROFTAROU:
|
|
case EF_SU_ARCLOUSEDASH:
|
|
case EF_SU_PICKYPECK:
|
|
case EF_SU_BUNCHOFSHRIMP:
|
|
case EF_STRATUM_TREMOR:
|
|
case EF_STRATUM_TREMOR_BOTTOM:
|
|
offset -= 8;
|
|
break;
|
|
case EF_SU_CHATTERING:
|
|
case EF_SU_POWEROFFLOCK:
|
|
offset += 8;
|
|
break;
|
|
case EF_C_MAKER:
|
|
offset -= 6;
|
|
break;
|
|
case EF_FIREDANCE:
|
|
offset -= 6;
|
|
break;
|
|
case EF_WE_CHEERUP:
|
|
offset -= 6;
|
|
break;
|
|
case EF_SOLARBURST:
|
|
offset -= 6;
|
|
break;
|
|
case EF_FLASH_KICK:
|
|
offset -= 6;
|
|
break;
|
|
case EF_TETRA_VORTEX_CORE_REUSE:
|
|
offset -= 6;
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_DEADLY_PROJECTION_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_SOUL_VC_STRIKE_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_FROZEN_SLASH_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_ARBITRIUM_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT_1830:
|
|
offset -= 6;
|
|
break;
|
|
case EF_DEEP_BLIND_TRAP:
|
|
offset -= 6;
|
|
break;
|
|
case EF_SWIFT_TRAP:
|
|
offset -= 6;
|
|
break;
|
|
case EF_SOLID_TRAP:
|
|
offset -= 6;
|
|
break;
|
|
case EF_ETERNAL_SLASH_HIT_2:
|
|
offset -= 6;
|
|
break;
|
|
case EF_HAWK_BOOMERANG_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_ROSEBLOSSOM_SHOT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_TERRA_DRIVE_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT_3:
|
|
offset -= 6;
|
|
break;
|
|
case EF_OVERSLASH_HIT:
|
|
offset -= 6;
|
|
break;
|
|
case EF_WE_ONEFOREVER:
|
|
offset -= 4;
|
|
break;
|
|
case EF_SJ_DOCUMENT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER:
|
|
offset -= 4;
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER:
|
|
offset -= 4;
|
|
break;
|
|
case EF_ROCKDOWN_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_CRIMSON_ARROW_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_VIOLENT_QUAKE_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_MYSTERY_ILLUSION_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_TORNADO_STORM_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_ALL_BLOOM_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_ETERNAL_SLASH_HIT_1:
|
|
offset -= 4;
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_FATAL_SHADOW_CROW_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_DEEP_BLIND_TRAP_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_SWIFT_TRAP_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_SOLID_TRAP_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_IMPACT_CRATER_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_HAWK_RUSH:
|
|
offset -= 4;
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_GALE_STORM_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_INCREASING_ACTIVITY_CAST_BOTTOM:
|
|
offset -= 4;
|
|
break;
|
|
case EF_ACTIVITY_BURN_CAST_BOTTOM:
|
|
offset -= 4;
|
|
break;
|
|
case EF_DIAMOND_STORM_BOTTOM:
|
|
offset -= 4;
|
|
break;
|
|
case EF_ROSEBLOSSOM_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_FRENZY_SHOT_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_SHIELD_SHOOTING_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_NPC_KILLING_AURA_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_NPC_CANE_OF_EVIL_EYE:
|
|
offset -= 4;
|
|
break;
|
|
case EF_GOLDENE_TONE:
|
|
offset -= 4;
|
|
break;
|
|
case EF_BLAZING_AND_FURIOUS:
|
|
offset -= 4;
|
|
break;
|
|
case EF_THE_ONE_FIGHTER_RISES_BOTTOM:
|
|
offset -= 4;
|
|
break;
|
|
case EF_TEMPERING:
|
|
offset -= 4;
|
|
break;
|
|
case EF_BLAST_FORGE_HIT:
|
|
offset -= 4;
|
|
break;
|
|
case EF_FALLING_STAR:
|
|
offset -= 10;
|
|
break;
|
|
case EF_PROMINENCE_KICK:
|
|
offset -= 10;
|
|
break;
|
|
case EF_SOUL_REVOLVE:
|
|
offset -= 10;
|
|
break;
|
|
case EF_SOUL_GOLEM:
|
|
offset -= 16;
|
|
break;
|
|
case EF_NEWMOON_KICK:
|
|
case EF_FULLMOON_KICK:
|
|
case EF_SOUL_CURSE:
|
|
case EF_NEW_ARMSCANNON_05_UP:
|
|
case EF_NEW_ARMSCANNON_05_DOWN:
|
|
case EF_NEW_ARMSCANNON_07_UP:
|
|
case EF_NEW_ARMSCANNON_07_DOWN:
|
|
case EF_MINEFFECT_ARMSCANNON_05:
|
|
case EF_MINEFFECT_ARMSCANNON_07:
|
|
case EF_BLUE_WAVE_1:
|
|
case EF_BLUE_WAVE_2:
|
|
case EF_BLUE_WAVE_3:
|
|
case EF_RED_WAVE_1:
|
|
case EF_RED_WAVE_2:
|
|
case EF_RED_WAVE_3:
|
|
offset -= 6;
|
|
break;
|
|
case EF_TETRA_VORTEX_CAST:
|
|
offset -= 2;
|
|
break;
|
|
case EF_NEW_ENCHANTING_SHADOW_BOTTOM:
|
|
offset -= 2;
|
|
break;
|
|
case EF_SWIFT_TRAP_CAST:
|
|
offset -= 2;
|
|
break;
|
|
case EF_SHADOW_STAB:
|
|
offset -= 2;
|
|
break;
|
|
case EF_SPELL_ENCHANTING:
|
|
offset -= 2;
|
|
break;
|
|
case EF_METALLIC_FURY:
|
|
offset -= 2;
|
|
break;
|
|
case EF_DEFT_STAB:
|
|
offset -= 2;
|
|
break;
|
|
case EF_SHIELD_SHOOTING_CAST:
|
|
offset -= 2;
|
|
break;
|
|
case EF_THE_W_PROTECTION_REUSE:
|
|
offset -= 2;
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_FIRE_REUSE:
|
|
offset -= 2;
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM_REUSE:
|
|
offset -= 2;
|
|
break;
|
|
case EF_TETRA_VORTEX_BALL_1:
|
|
case EF_TETRA_VORTEX_BALL_2:
|
|
case EF_TETRA_VORTEX_BALL_3:
|
|
case EF_TETRA_VORTEX_BALL_4:
|
|
offset -= 10;
|
|
break;
|
|
case EF_TETRA_VORTEX_FIRE_EXP:
|
|
case EF_TETRA_VORTEX_WATER_EXP:
|
|
case EF_TETRA_VORTEX_WIND_EXP:
|
|
case EF_TETRA_VORTEX_FIRE_GROUND:
|
|
case EF_TETRA_VORTEX_WATER_GROUND:
|
|
case EF_TETRA_VORTEX_WIND_GROUND:
|
|
case EF_TETRA_VORTEX_EARTH_GROUND:
|
|
case EF_TETRA_VORTEX_CORE_GROUND:
|
|
case EF_NEW_AROMAOIL:
|
|
case EF_NEW_AROMAOIL_BOTTOM:
|
|
case EF_NEW_BATHFOAM:
|
|
case EF_NEW_BATHFOAM_BOTTOM:
|
|
case EF_STORMSLASH_1:
|
|
case EF_STORMSLASH_2:
|
|
case EF_STORMSLASH_3:
|
|
case EF_STORMSLASH_4:
|
|
case EF_STORMSLASH_5:
|
|
case EF_SERVANT_SIGN:
|
|
case EF_SERVANT_SIGN_DOWN:
|
|
case EF_SERVANT_SIGN_DOWN_BOTTOM:
|
|
case EF_SERVANT_PHANTOM_DOWN:
|
|
case EF_SERVANT_PHANTOM_HIT:
|
|
case EF_SERVANT_PHANTOM_HIT_BOTTOM:
|
|
case EF_SERVANT_PHANTOM_SUB:
|
|
case EF_SERVANT_PHANTOM_SUB_BOTTOM:
|
|
case EF_SERVANT_DEMOLITION_COLLECT:
|
|
case EF_SERVANT_DEMOLITION_HIT:
|
|
case EF_SERVANT_DEMOLITION_LEFTDOWN:
|
|
case EF_SERVANT_DEMOLITION_RIGHTDOWN:
|
|
case EF_DRAGONIC_AURA:
|
|
case EF_DRAGONIC_AURA_BOTTOM:
|
|
case EF_DRAGONIC_AURA_HIT:
|
|
case EF_DRAGONIC_AURA_HIT_BOTTOM:
|
|
case EF_DRAGONIC_AURA_BUFF:
|
|
case EF_DRAGONIC_AURA_BUFF_BOTTOM:
|
|
case EF_MADNESS_CRUSHER:
|
|
case EF_MADNESS_CRUSHER_BOTTOM:
|
|
case EF_NEW_AUTOSHADOWSPELL:
|
|
case EF_NEW_AUTOSHADOWSPELL_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE:
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE_CAST:
|
|
case EF_DESTRUCTIVE_HURRICANE_CAST_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE_CLIMAX:
|
|
case EF_DEADLY_PROJECTION_CAST:
|
|
case EF_DEADLY_PROJECTION_CAST_BOTTOM:
|
|
case EF_DEADLY_PROJECTION:
|
|
case EF_SOUL_VC_STRIKE_CAST:
|
|
case EF_SOUL_VC_STRIKE_CAST_BOTTOM:
|
|
case EF_ROCKDOWN:
|
|
case EF_ROCKDOWN_BOTTOM:
|
|
case EF_ROCKDOWN_CAST:
|
|
case EF_ROCKDOWN_CAST_BOTTOM:
|
|
case EF_RAIN_OF_CRYSTAL:
|
|
case EF_RAIN_OF_CRYSTAL_BOTTOM:
|
|
case EF_CRIMSON_ARROW_CAST:
|
|
case EF_CRIMSON_ARROW_CAST_BOTTOM:
|
|
case EF_VIOLENT_QUAKE_CAST:
|
|
case EF_VIOLENT_QUAKE_CAST_BOTTOM:
|
|
case EF_ASTRAL_STRIKE_CAST:
|
|
case EF_ASTRAL_STRIKE_CAST_BOTTOM:
|
|
case EF_MYSTERY_ILLUSION:
|
|
case EF_MYSTERY_ILLUSION_BOTTOM:
|
|
case EF_MYSTERY_ILLUSION_CAST:
|
|
case EF_MYSTERY_ILLUSION_CAST_BOTTOM:
|
|
case EF_TORNADO_STORM:
|
|
case EF_TORNADO_STORM_BOTTOM:
|
|
case EF_TORNADO_STORM_CAST:
|
|
case EF_TORNADO_STORM_CAST_BOTTOM:
|
|
case EF_VIOLENT_QUAKE_BOTTOM:
|
|
case EF_ALL_BLOOM:
|
|
case EF_ALL_BLOOM_BOTTOM:
|
|
case EF_ALL_BLOOM_CAST:
|
|
case EF_ALL_BLOOM_CAST_BOTTOM:
|
|
case EF_CLIMAX_LIGHT:
|
|
case EF_CLIMAX_CAST:
|
|
case EF_CLIMAX_CAST_LOOP:
|
|
case EF_FLORAL_FLARE_ROAD_CAST:
|
|
case EF_FLORAL_FLARE_ROAD_CAST_BOTTOM:
|
|
case EF_FLORAL_FLARE_ROAD_HIT:
|
|
case EF_FATAL_SHADOW_CROW:
|
|
case EF_FATAL_SHADOW_CROW_BOTTOM:
|
|
case EF_SOLID_TRAP_CAST:
|
|
case EF_SOLID_TRAP_CAST_BOTTOM:
|
|
case EF_STRATUM_TREMOR_CAST:
|
|
case EF_STRATUM_TREMOR_CAST_BOTTOM:
|
|
case EF_STRATUM_TREMOR_HIT:
|
|
case EF_IMPACT_CRATER:
|
|
case EF_IMPACT_CRATER_BOTTOM:
|
|
case EF_WIND_SIGN:
|
|
case EF_WIND_SIGN_LOOP:
|
|
case EF_HAWK_BOOMERANG_CAST:
|
|
case EF_HAWK_BOOMERANG_START:
|
|
case EF_INCREASING_ACTIVITY:
|
|
case EF_INCREASING_ACTIVITY_CAST:
|
|
case EF_ACTIVITY_BURN:
|
|
case EF_ACTIVITY_BURN_CAST:
|
|
case EF_SERPENS_CAST:
|
|
case EF_SERPENS_HIT:
|
|
case EF_SERPENS_SHIELD:
|
|
case EF_DILUVIO_ICE:
|
|
case EF_DILUVIO_ICE_BOTTOM:
|
|
case EF_DILUVIO_CAST:
|
|
case EF_DILUVIO_CAST_BOTTOM:
|
|
case EF_DILUVIO_HIT:
|
|
case EF_DILUVIO_ARMOR:
|
|
case EF_DIAMOND_STORM_CAST:
|
|
case EF_DIAMOND_STORM_CAST_BOTTOM:
|
|
case EF_DIAMOND_STORM_HIT:
|
|
case EF_VENOM_SWAMP_BOTTOM:
|
|
case EF_VENOM_SWAMP_CAST:
|
|
case EF_VENOM_SWAMP_CAST_BOTTOM:
|
|
case EF_VENOM_SWAMP_HIT:
|
|
case EF_ARDOR:
|
|
case EF_ARDOR_BOTTOM:
|
|
case EF_ARDOR_CAST:
|
|
case EF_ARDOR_CAST_BOTTOM:
|
|
case EF_ARDOR_HIT:
|
|
case EF_ARDOR_FLAMEARMOR:
|
|
case EF_LIGHTNING_LAND:
|
|
case EF_LIGHTNING_LAND_BOTTOM:
|
|
case EF_LIGHTNING_LAND_CAST:
|
|
case EF_LIGHTNING_LAND_CAST_BOTTOM:
|
|
case EF_LIGHTNING_LAND_HIT:
|
|
case EF_CONFLAGRATION:
|
|
case EF_CONFLAGRATION_BOTTOM:
|
|
case EF_CONFLAGRATION_CAST:
|
|
case EF_CONFLAGRATION_CAST_BOTTOM:
|
|
case EF_CONFLAGRATION_HIT:
|
|
case EF_SOUND_BLEND:
|
|
case EF_SOUND_BLEND_CAST:
|
|
case EF_SOUND_BLEND_CAST_BOTTOM:
|
|
case EF_SOUND_BLEND_RED:
|
|
case EF_JAWAII_SERENADE:
|
|
case EF_JAWAII_SERENADE_CAST:
|
|
case EF_JAWAII_SERENADE_CAST_BOTTOM:
|
|
case EF_PRONMARCH:
|
|
case EF_PRONMARCH_CAST:
|
|
case EF_PRONMARCH_CAST_BOTTOM:
|
|
case EF_NIFLHEIM:
|
|
case EF_NIFLHEIM_CAST:
|
|
case EF_ABYSS_STRIKE_CAST:
|
|
case EF_ABYSS_STRIKE_CAST_BOTTOM:
|
|
case EF_PROCELLA:
|
|
case EF_PROCELLA_BOTTOM:
|
|
case EF_PROCELLA_CAST:
|
|
case EF_PROCELLA_CAST_BOTTOM:
|
|
case EF_PROCELLA_HIT:
|
|
case EF_PROCELLA_STORM:
|
|
case EF_TERREMOTUS:
|
|
case EF_TERREMOTUS_CAST:
|
|
case EF_TERREMOTUS_CAST_BOTTOM:
|
|
case EF_TERREMOTUS_HIT:
|
|
case EF_TERREMOTUS_PROTECT:
|
|
case EF_GEF_NOCTURN:
|
|
case EF_GEF_NOCTURN_CAST:
|
|
case EF_GEF_NOCTURN_CAST_BOTTOM:
|
|
case EF_ROKI_CAPRICCIO:
|
|
case EF_ROKI_CAPRICCIO_CAST:
|
|
case EF_ROKI_CAPRICCIO_CAST_BOTTOM:
|
|
case EF_MUSICAL_INTERLUDE:
|
|
case EF_MUSICAL_INTERLUDE_CAST:
|
|
case EF_AIN_RHAPSODY:
|
|
case EF_AIN_RHAPSODY_CAST:
|
|
case EF_TERRA_DRIVE:
|
|
case EF_TERRA_DRIVE_BOTTOM:
|
|
case EF_TERRA_DRIVE_CAST:
|
|
case EF_TERRA_DRIVE_CAST_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_CAST:
|
|
case EF_ELEMENTAL_BUSTER_FIRE:
|
|
case EF_ELEMENTAL_BUSTER_FIRE_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_FIRE_HIT:
|
|
case EF_ELEMENTAL_BUSTER_LAND:
|
|
case EF_ELEMENTAL_BUSTER_LAND_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_LAND_HIT:
|
|
case EF_ELEMENTAL_BUSTER_POISON:
|
|
case EF_ELEMENTAL_BUSTER_POISON_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_POISON_HIT:
|
|
case EF_ELEMENTAL_BUSTER_WATER:
|
|
case EF_ELEMENTAL_BUSTER_WATER_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_WATER_HIT:
|
|
case EF_ELEMENTAL_BUSTER_WIND:
|
|
case EF_ELEMENTAL_BUSTER_WIND_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_WIND_HIT:
|
|
case EF_OVERSLASH:
|
|
case EF_OVERSLASH_BOTTOM:
|
|
case EF_OVERSLASH_CAST:
|
|
case EF_ADVANCED_PROTECTION:
|
|
case EF_ADVANCED_PROTECTION_BOTTOM:
|
|
case EF_ADVANCED_PROTECTION_CAST:
|
|
case EF_ADVANCED_PROTECTION_CAST_BOTTOM:
|
|
case EF_CROSS_RAIN_BOTTOM:
|
|
case EF_CROSS_RAIN_CAST:
|
|
case EF_CROSS_RAIN_CAST_BOTTOM:
|
|
case EF_GUARD_STANCE:
|
|
case EF_GUARD_STANCE_CAST:
|
|
case EF_GUARD_STANCE_CAST_BOTTOM:
|
|
case EF_ATTACK_STANCE:
|
|
case EF_ATTACK_STANCE_CAST:
|
|
case EF_ATTACK_STANCE_CAST_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT:
|
|
case EF_GRAND_JUDGEMENT_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT_BUFF:
|
|
case EF_GRAND_JUDGEMENT_CAST:
|
|
case EF_GRAND_JUDGEMENT_CAST_BOTTOM:
|
|
case EF_HOLY_SHIELD_CAST:
|
|
case EF_HOLY_SHIELD:
|
|
case EF_HOLY_SHIELD_LOOP:
|
|
case EF_THE_W_PROTECTION:
|
|
case EF_THE_W_PROTECTION_CAST:
|
|
case EF_GUARDIANSHIELD:
|
|
case EF_GUARDIANSHIELD_BOTTOM:
|
|
case EF_GUARDIANSHIELD_SUB:
|
|
case EF_JUDGEMENT_CROSS:
|
|
case EF_JUDGEMENT_CROSS_BOTTOM:
|
|
case EF_JUDGEMENT_CROSS_CAST:
|
|
case EF_JUDGEMENT_CROSS_CAST_BOTTOM:
|
|
case EF_REBOUND_SHIELD:
|
|
case EF_REBOUND_SHIELD_BOTTOM:
|
|
case EF_REBOUND_SHIELD_CAST:
|
|
case EF_REBOUND_SHIELD_CAST_BOTTOM:
|
|
case EF_ULTIMATESACRIFICE:
|
|
case EF_ULTIMATESACRIFICE_BOTTOM:
|
|
case EF_ULTIMATESACRIFICE_SHINE:
|
|
case EF_HELLTREE_CAST:
|
|
case EF_HELLTREE_CAST_BOTTOM:
|
|
case EF_HELLTREE_DUSTY:
|
|
case EF_HELLTREE_HOWLING:
|
|
case EF_RESEARCH_REPORT:
|
|
case EF_RESEARCH_REPORT_CAST:
|
|
case EF_RESEARCH_REPORT_CAST_BOTTOM:
|
|
case EF_STATE_LASSITUDE:
|
|
case EF_STATE_SWOONING:
|
|
case EF_STATE_HOLYFLAME:
|
|
case EF_WOODEN_WARRIOR_CAST:
|
|
case EF_WOODEN_WARRIOR_CAST_BOTTOM:
|
|
case EF_WOODEN_WARRIOR_ATTACK:
|
|
case EF_WOODEN_WARRIOR_ATTACK_HIT:
|
|
case EF_WOODEN_WARRIOR_THROWROCK:
|
|
case EF_WOODEN_WARRIOR_THROWROCK_HIT:
|
|
case EF_SERPENS_DEEP_POISONING:
|
|
case EF_SERPENS_DEEP_POISONING_BOTTOM:
|
|
case EF_DILUVIO_COLD_FORCE:
|
|
case EF_DILUVIO_COLD_FORCE_BOTTOM:
|
|
case EF_ARDOR_FLAMETECHNIC:
|
|
case EF_ARDOR_FLAMETECHNIC_BOTTOM:
|
|
case EF_PROCELLA_GRACE_BREEZE:
|
|
case EF_PROCELLA_GRACE_BREEZE_BOTTOM:
|
|
case EF_TERREMOTUS_EARTH_CARE:
|
|
case EF_TERREMOTUS_EARTH_CARE_BOTTOM:
|
|
case EF_STATE_LIGHTNINGSTRIKE:
|
|
case EF_STATE_CONFLAGRATION:
|
|
case EF_STATE_FROSTBITE:
|
|
case EF_STATE_FROSTBITE_FINISH:
|
|
case EF_STATE_CRYSTALLIZATION:
|
|
case EF_STATE_DEADLYPOISON:
|
|
case EF_SERVANT_SIGN_BOTTOM:
|
|
offset -= 2;
|
|
break;
|
|
case EF_NEW_ARMSCANNON_01_UP:
|
|
case EF_NEW_ARMSCANNON_01_DOWN:
|
|
case EF_NEW_ARMSCANNON_11_UP:
|
|
case EF_NEW_ARMSCANNON_11_DOWN:
|
|
case EF_MINEFFECT_ARMSCANNON_01:
|
|
case EF_MINEFFECT_ARMSCANNON_11:
|
|
case EF_EFFLIGO:
|
|
case EF_EFFLIGO_BOTTOM:
|
|
case EF_EFFLIGO_HIT:
|
|
case EF_FLAME_TRAP:
|
|
case EF_FLAME_TRAP_HIT:
|
|
case EF_CRESCIVEBOLT_CAST:
|
|
case EF_CRESCIVEBOLT_HIT:
|
|
case EF_ETERNAL_SLASH_HIT:
|
|
case EF_SHADOW_STAB_HIT2:
|
|
case EF_SERPENS_BOTTOM:
|
|
case EF_SERPENS_CAST_BOTTOM:
|
|
case EF_ETERNAL_SLASH_HIT_3:
|
|
case EF_CHAIN_REACTION_SHOT_HITSUB:
|
|
case EF_ABYSS_STRIKE:
|
|
case EF_ABYSS_STRIKE_BOTTOM:
|
|
case EF_ABYSS_STRIKE_GROUND:
|
|
case EF_ABYSS_STRIKE_GROUND_BOTTOM:
|
|
case EF_ABYSS_STRIKE_HIT:
|
|
case EF_NEEDLE_STINGER:
|
|
case EF_NEEDLE_STINGER_BOTTOM:
|
|
case EF_NEEDLE_STINGER_HIT:
|
|
case EF_ABSOLUTE_ZEPHYR:
|
|
case EF_ABSOLUTE_ZEPHYR_BOTTOM:
|
|
case EF_ABSOLUTE_ZEPHYR_HIT:
|
|
case EF_TWISTER_CUTTER:
|
|
case EF_TWISTER_CUTTER_HIT:
|
|
case EF_HEILIGE_PFERD:
|
|
case EF_HEILIGE_PFERD_BOTTOM:
|
|
case EF_HEILIGE_PFERD_CAST:
|
|
case EF_GLANZEN_SPIES:
|
|
case EF_GLANZEN_SPIES_HIT:
|
|
case EF_TETRA_VORTEX_WATER_SUB_2:
|
|
case EF_TETRA_VORTEX_EARTH_SUB_2:
|
|
case EF_NPC_20TH_CRYSTAL_S:
|
|
case EF_NPC_20TH_CRYSTAL_M:
|
|
case EF_NPC_20TH_CRYSTAL_L:
|
|
case EF_NPC_GATE_GREEN_1:
|
|
case EF_NPC_GATE_PURPLE_1:
|
|
case EF_NPC_GATE_RED_1:
|
|
case EF_NPC_GATE_GREEN_2:
|
|
case EF_NPC_GATE_PURPLE_2:
|
|
case EF_NPC_GATE_RED_2:
|
|
case EF_NPC_GATE_GREEN_3:
|
|
case EF_NPC_GATE_PURPLE_3:
|
|
case EF_NPC_GATE_RED_3:
|
|
offset -= 4;
|
|
break;
|
|
case EF_NEW_REVERBERATION_HIT:
|
|
offset -= 3;
|
|
break;
|
|
case EF_NEW_EARTHGRAVE_HIT:
|
|
offset -= 3;
|
|
break;
|
|
case EF_NEW_EPICLESIS:
|
|
offset -= 3;
|
|
break;
|
|
case EF_ABR_INFINITY_CAST:
|
|
offset -= 3;
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_END:
|
|
case EF_NEW_AIMEDBOLT_TARGET_LOOP:
|
|
case EF_NEW_VULCANARM:
|
|
case EF_NEW_VULCANARM_BOTTOM:
|
|
case EF_NEW_VULCANARM_SHOTHOLE:
|
|
case EF_NEW_D_MACHINE_CAST:
|
|
case EF_NEW_D_MACHINE_CAST_BOTTOM:
|
|
case EF_UNK_1839:
|
|
case EF_A_MACHINE_CAST:
|
|
case EF_A_MACHINE_HIT:
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST:
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_FIRE_HIT:
|
|
case EF_ACIDIFIED_ZONE_FIRE_START:
|
|
case EF_ACIDIFIED_ZONE_FIRE_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST:
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_HIT:
|
|
case EF_ACIDIFIED_ZONE_WATER_START:
|
|
case EF_ACIDIFIED_ZONE_WATER_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST:
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_HIT:
|
|
case EF_ACIDIFIED_ZONE_WIND_START:
|
|
case EF_ACIDIFIED_ZONE_WIND_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST:
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_HIT:
|
|
case EF_ACIDIFIED_ZONE_GROUND_START:
|
|
case EF_ACIDIFIED_ZONE_GROUND_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP_BOTTOM:
|
|
offset -= 3;
|
|
break;
|
|
case EF_FROZEN_SLASH:
|
|
case EF_FROZEN_SLASH_CAST:
|
|
case EF_FROZEN_SLASH_CAST_BOTTOM:
|
|
case EF_COMPETENTIA:
|
|
case EF_COMPETENTIA_BOTTOM:
|
|
case EF_COMPETENTIA_LOOP:
|
|
case EF_COMPETENTIA_LOOP_BOTTOM:
|
|
case EF_SINCERE_FAITH:
|
|
case EF_SINCERE_FAITH_BOTTOM:
|
|
case EF_MYSTICSYMPHONY:
|
|
case EF_MYSTICSYMPHONY_CAST:
|
|
case EF_MYSTICSYMPHONY_NOTE:
|
|
case EF_ABYSS_SQUARE:
|
|
case EF_ABYSS_SQUARE_BOTTOM:
|
|
--offset;
|
|
break;
|
|
case EF_NEW_DILECTIO_HEAL_TARGET_BOTTOM:
|
|
++offset;
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_BUFF:
|
|
offset += 4;
|
|
break;
|
|
case EF_NEW_ENCHANTING_SHADOW:
|
|
--offset;
|
|
break;
|
|
case EF_BENEDICTUM:
|
|
--offset;
|
|
break;
|
|
case EF_GALE_STORM_CAST:
|
|
--offset;
|
|
break;
|
|
case EF_POWERFUL_FAITH:
|
|
--offset;
|
|
break;
|
|
case EF_FIRM_FAITH:
|
|
--offset;
|
|
break;
|
|
case EF_FIRST_BRAND:
|
|
case EF_FIRST_BRAND_START:
|
|
case EF_SECOND_FAITH:
|
|
case EF_SECOND_FAITH_START:
|
|
case EF_FROM_THE_ABYSS:
|
|
case EF_ABYSS_STRIKE_HIT_2:
|
|
offset -= 5;
|
|
break;
|
|
case EF_CHAIN_REACTION_SHOT_CAST:
|
|
case EF_CHAIN_REACTION_SHOT_CAST_BOTTOM:
|
|
++offset;
|
|
break;
|
|
case EF_20TH_FIREWORK:
|
|
offset += 16;
|
|
break;
|
|
}
|
|
|
|
if (id >= 0x9B5) {
|
|
int position = 0;
|
|
g_session.m_hotkeyScript->Call("GetHatEfPos", "d>d", id - 0x9B5, &position);
|
|
offset += position;
|
|
}
|
|
|
|
return offset - 7;
|
|
}
|
|
|
|
// OFFSET: 0x00B56210
|
|
// FUNCTION: fn_19041
|
|
bool CEZ2STRScreenEffect::IsAttachedToHead() const {
|
|
switch (this->id) {
|
|
case EF_C_MAKER:
|
|
case EF_D_TAIL:
|
|
case EF_MARKING_USE_CHANGEMONSTER:
|
|
case EF_ACH_COMPLETE:
|
|
case EF_FRESHSHRIMP:
|
|
case EF_SU_TUNABELLY:
|
|
case EF_SU_SCRATCH:
|
|
case EF_SU_BITE:
|
|
case EF_SU_SCAROFTAROU:
|
|
case EF_SU_ARCLOUSEDASH:
|
|
case EF_SU_PICKYPECK:
|
|
case EF_SU_BUNCHOFSHRIMP:
|
|
case EF_BITE_SCAR:
|
|
case EF_SU_GROOMING:
|
|
case EF_SU_CHATTERING:
|
|
case EF_SU_POWEROFFLOCK:
|
|
case EF_FIREDANCE:
|
|
case EF_RICHS_COIN_A:
|
|
case EF_RL_ANTI_MATERIAL_BLAST:
|
|
case EF_HEAT_BARREL:
|
|
case EF_H_MINE:
|
|
case EF_WE_ONEFOREVER:
|
|
case EF_WE_CHEERUP:
|
|
case EF_SOLARBURST:
|
|
case EF_SJ_DOCUMENT:
|
|
case EF_FALLING_STAR:
|
|
case EF_FLASH_KICK:
|
|
case EF_SOUL_GOLEM:
|
|
case EF_NEWMOON_KICK:
|
|
case EF_FULLMOON_KICK:
|
|
case EF_SOUL_CURSE:
|
|
case EF_PROMINENCE_KICK:
|
|
case EF_SOUL_REVOLVE:
|
|
case EF_NEW_ADORAMUS:
|
|
case EF_NEW_ADORAMUS_BOTTOM:
|
|
case EF_TETRA_VORTEX_CAST:
|
|
case EF_TETRA_VORTEX_CORE:
|
|
case EF_TETRA_VORTEX_BALL_1:
|
|
case EF_TETRA_VORTEX_BALL_2:
|
|
case EF_TETRA_VORTEX_BALL_3:
|
|
case EF_TETRA_VORTEX_BALL_4:
|
|
case EF_TETRA_VORTEX_FIRE_EXP:
|
|
case EF_TETRA_VORTEX_WATER_EXP:
|
|
case EF_TETRA_VORTEX_WIND_EXP:
|
|
case EF_TETRA_VORTEX_EARTH_EXP:
|
|
case EF_TETRA_VORTEX_FIRE_GROUND:
|
|
case EF_TETRA_VORTEX_WATER_GROUND:
|
|
case EF_TETRA_VORTEX_WIND_GROUND:
|
|
case EF_TETRA_VORTEX_EARTH_GROUND:
|
|
case EF_NEW_CRIMSONROCK:
|
|
case EF_NEW_CRIMSONROCK_BOTTOM:
|
|
case EF_TETRA_VORTEX_CORE_GROUND:
|
|
case EF_NEW_CROSSRIPPERSLASHER:
|
|
case EF_NEW_ARMSCANNON_01_UP:
|
|
case EF_NEW_ARMSCANNON_01_DOWN:
|
|
case EF_NEW_ARMSCANNON_05_UP:
|
|
case EF_NEW_ARMSCANNON_05_DOWN:
|
|
case EF_NEW_ARMSCANNON_07_UP:
|
|
case EF_NEW_ARMSCANNON_07_DOWN:
|
|
case EF_NEW_ARMSCANNON_11_UP:
|
|
case EF_NEW_ARMSCANNON_11_DOWN:
|
|
case EF_QSCARABA_VISUAL:
|
|
case EF_NEW_RAYOFGENESIS:
|
|
case EF_NEW_RAYOFGENESIS_CAST:
|
|
case EF_NEW_RAYOFGENESIS_CAST_BOTTOM:
|
|
case EF_NEW_RAYOFGENESIS_HIT:
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER:
|
|
case EF_MINEFFECT_ARMSCANNON_01:
|
|
case EF_MINEFFECT_ARMSCANNON_05:
|
|
case EF_MINEFFECT_ARMSCANNON_07:
|
|
case EF_MINEFFECT_ARMSCANNON_11:
|
|
case EF_NEW_METALLICSOUND:
|
|
case EF_NEW_METALLICSOUND_BOTTOM:
|
|
case EF_NEW_METALLICSOUND_HIT:
|
|
case EF_NEW_REPRODUCE:
|
|
case EF_NEW_REPRODUCE_BOTTOM:
|
|
case EF_NEW_SOULEXPANSION_CAST:
|
|
case EF_NEW_SOULEXPANSION_CAST_BOTTOM:
|
|
case EF_NEW_SOULEXPANSION_LOOP:
|
|
case EF_NEW_SOULEXPANSION_LOOP_BOTTOM:
|
|
case EF_NEW_SOULEXPANSION_HIT:
|
|
case EF_NEW_SOULEXPANSION_HIT_BOTTOM:
|
|
case EF_NEW_REVERBERATION_HIT:
|
|
case EF_NEW_AROMAOIL:
|
|
case EF_NEW_AROMAOIL_BOTTOM:
|
|
case EF_NEW_BATHFOAM:
|
|
case EF_NEW_BATHFOAM_BOTTOM:
|
|
case EF_TETRA_VORTEX_CORE_REUSE:
|
|
case EF_BLUE_WAVE_1:
|
|
case EF_BLUE_WAVE_2:
|
|
case EF_BLUE_WAVE_3:
|
|
case EF_RED_WAVE_1:
|
|
case EF_RED_WAVE_2:
|
|
case EF_RED_WAVE_3:
|
|
case EF_NEW_EARTHGRAVE_HIT:
|
|
case EF_NEW_IGNITIONBREAK:
|
|
case EF_NEW_IGNITIONBREAK_BOTTOM:
|
|
case EF_NEW_IGNITIONBREAK_CAST:
|
|
case EF_NEW_JUDEX_CAST:
|
|
case EF_NEW_JUDEX_CAST_BOTTOM:
|
|
case EF_NEW_JUDEX_CAST_LOOP:
|
|
case EF_NEW_JUDEX_CAST_LOOP_BOTTOM:
|
|
case EF_NEW_JUDEX_TARGET:
|
|
case EF_NEW_JUDEX_TARGET_BOTTOM:
|
|
case EF_NEW_CHAINLIGHTNING_CAST:
|
|
case EF_NEW_CHAINLIGHTNING_CAST_BOTTOM:
|
|
case EF_NEW_CHAINLIGHTNING_LOCKON:
|
|
case EF_NEW_CHAINLIGHTNING_TARGET:
|
|
case EF_NEW_MANDRAGORA:
|
|
case EF_NEW_MANDRAGORA_BOTTOM:
|
|
case EF_NEW_MANDRAGORA_CAST:
|
|
case EF_NEW_SOUNDOFDESTRUCTION_CAST:
|
|
case EF_NEW_SOUNDOFDESTRUCTION_CAST_BOTTOM:
|
|
case EF_NEW_SOUNDOFDESTRUCTION_TARGET:
|
|
case EF_NEW_AIMEDBOLT_01:
|
|
case EF_NEW_AIMEDBOLT_05:
|
|
case EF_NEW_AIMEDBOLT_07:
|
|
case EF_NEW_AIMEDBOLT_11:
|
|
case EF_NEW_AIMEDBOLT_CAST_BOTTOM:
|
|
case EF_NEW_AIMEDBOLT_END:
|
|
case EF_NEW_AIMEDBOLT_TARGET_LOOP:
|
|
case EF_NEW_UNLIMIT:
|
|
case EF_NEW_UNLIMIT_BOTTOM:
|
|
case EF_NEW_EPICLESIS:
|
|
case EF_STORMSLASH_1:
|
|
case EF_STORMSLASH_2:
|
|
case EF_STORMSLASH_3:
|
|
case EF_STORMSLASH_4:
|
|
case EF_STORMSLASH_5:
|
|
case EF_NEW_POWERSWING_01:
|
|
case EF_NEW_POWERSWING_05:
|
|
case EF_NEW_POWERSWING_07:
|
|
case EF_NEW_POWERSWING_11:
|
|
case EF_NEW_POWERSWING_BOTTOM:
|
|
case EF_NEW_VULCANARM:
|
|
case EF_NEW_VULCANARM_BOTTOM:
|
|
case EF_NEW_VULCANARM_SHOTHOLE:
|
|
case EF_NEW_EARTHDRIVE_TARGET:
|
|
case EF_SERVANT_SIGN:
|
|
case EF_SERVANT_SIGN_DOWN:
|
|
case EF_SERVANT_SIGN_DOWN_BOTTOM:
|
|
case EF_SERVANT_PHANTOM_DOWN:
|
|
case EF_SERVANT_PHANTOM_HIT:
|
|
case EF_SERVANT_PHANTOM_HIT_BOTTOM:
|
|
case EF_SERVANT_PHANTOM_SUB:
|
|
case EF_SERVANT_PHANTOM_SUB_BOTTOM:
|
|
case EF_SERVANT_DEMOLITION_COLLECT:
|
|
case EF_SERVANT_DEMOLITION_HIT:
|
|
case EF_SERVANT_DEMOLITION_LEFTDOWN:
|
|
case EF_SERVANT_DEMOLITION_RIGHTDOWN:
|
|
case EF_DRAGONIC_AURA:
|
|
case EF_DRAGONIC_AURA_BOTTOM:
|
|
case EF_DRAGONIC_AURA_HIT:
|
|
case EF_DRAGONIC_AURA_HIT_BOTTOM:
|
|
case EF_DRAGONIC_AURA_BUFF:
|
|
case EF_DRAGONIC_AURA_BUFF_BOTTOM:
|
|
case EF_MADNESS_CRUSHER:
|
|
case EF_MADNESS_CRUSHER_BOTTOM:
|
|
case EF_NEW_AUTOSHADOWSPELL:
|
|
case EF_NEW_AUTOSHADOWSPELL_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE:
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE_CAST:
|
|
case EF_DESTRUCTIVE_HURRICANE_CAST_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE_CLIMAX:
|
|
case EF_DESTRUCTIVE_HURRICANE_HIT:
|
|
case EF_DEADLY_PROJECTION_CAST:
|
|
case EF_DEADLY_PROJECTION_CAST_BOTTOM:
|
|
case EF_DEADLY_PROJECTION_HIT:
|
|
case EF_DEADLY_PROJECTION:
|
|
case EF_SOUL_VC_STRIKE_CAST:
|
|
case EF_SOUL_VC_STRIKE_CAST_BOTTOM:
|
|
case EF_SOUL_VC_STRIKE_HIT:
|
|
case EF_ROCKDOWN:
|
|
case EF_ROCKDOWN_BOTTOM:
|
|
case EF_ROCKDOWN_CAST:
|
|
case EF_ROCKDOWN_CAST_BOTTOM:
|
|
case EF_ROCKDOWN_HIT:
|
|
case EF_VIGOR_CAST:
|
|
case EF_VIGOR_BUFF:
|
|
case EF_RAIN_OF_CRYSTAL:
|
|
case EF_RAIN_OF_CRYSTAL_BOTTOM:
|
|
case EF_CRIMSON_ARROW_CAST:
|
|
case EF_CRIMSON_ARROW_CAST_BOTTOM:
|
|
case EF_CRIMSON_ARROW_HIT:
|
|
case EF_VIOLENT_QUAKE_CAST:
|
|
case EF_VIOLENT_QUAKE_CAST_BOTTOM:
|
|
case EF_VIOLENT_QUAKE_HIT:
|
|
case EF_ASTRAL_STRIKE_CAST:
|
|
case EF_ASTRAL_STRIKE_CAST_BOTTOM:
|
|
case EF_MYSTERY_ILLUSION:
|
|
case EF_MYSTERY_ILLUSION_BOTTOM:
|
|
case EF_MYSTERY_ILLUSION_CAST:
|
|
case EF_MYSTERY_ILLUSION_CAST_BOTTOM:
|
|
case EF_MYSTERY_ILLUSION_HIT:
|
|
case EF_TORNADO_STORM:
|
|
case EF_TORNADO_STORM_BOTTOM:
|
|
case EF_TORNADO_STORM_CAST:
|
|
case EF_TORNADO_STORM_CAST_BOTTOM:
|
|
case EF_TORNADO_STORM_HIT:
|
|
case EF_FROZEN_SLASH:
|
|
case EF_FROZEN_SLASH_CAST:
|
|
case EF_FROZEN_SLASH_CAST_BOTTOM:
|
|
case EF_FROZEN_SLASH_HIT:
|
|
case EF_FROZEN_SLASH_ICE_01:
|
|
case EF_FROZEN_SLASH_ICE_02:
|
|
case EF_FROZEN_SLASH_ICE_03:
|
|
case EF_FROZEN_SLASH_ICE_04:
|
|
case EF_FROZEN_SLASH_ICE_05:
|
|
case EF_FROZEN_SLASH_ICE_06:
|
|
case EF_FROZEN_SLASH_ICE_07:
|
|
case EF_FROZEN_SLASH_ICE_08:
|
|
case EF_VIOLENT_QUAKE_BOTTOM:
|
|
case EF_ALL_BLOOM:
|
|
case EF_ALL_BLOOM_BOTTOM:
|
|
case EF_ALL_BLOOM_CAST:
|
|
case EF_ALL_BLOOM_CAST_BOTTOM:
|
|
case EF_ALL_BLOOM_HIT:
|
|
case EF_CLIMAX_LIGHT:
|
|
case EF_CLIMAX_CAST:
|
|
case EF_CLIMAX_CAST_LOOP:
|
|
case EF_FLORAL_FLARE_ROAD_CAST:
|
|
case EF_FLORAL_FLARE_ROAD_CAST_BOTTOM:
|
|
case EF_FLORAL_FLARE_ROAD_HIT:
|
|
case EF_MEDIALE_VOTUM:
|
|
case EF_MEDIALE_VOTUM_CAST:
|
|
case EF_MEDIALE_VOTUM_LOOP:
|
|
case EF_ARGUTUS_VITA_CAST:
|
|
case EF_ARGUTUS_TELUM_CAST:
|
|
case EF_PRESENS_ACIES_CAST:
|
|
case EF_NEW_D_MACHINE:
|
|
case EF_NEW_D_MACHINE_CAST:
|
|
case EF_NEW_D_MACHINE_CAST_BOTTOM:
|
|
case EF_NEW_D_MACHINE_START:
|
|
case EF_NEW_D_MACHINE_END:
|
|
case EF_ARBITRIUM_CAST:
|
|
case EF_ARBITRIUM_CAST_BOTTOM:
|
|
case EF_ARBITRIUM:
|
|
case EF_ARBITRIUM_BOTTOM:
|
|
case EF_ARBITRIUM_HIT:
|
|
case EF_DANCING_KNIFE_CAST:
|
|
case EF_DANCING_KNIFE_CAST_BOTTOM:
|
|
case EF_ABYSS_DAGGER_HIT_1830:
|
|
case EF_NEW_REPARATIO_CAST:
|
|
case EF_NEW_REPARATIO_CAST_BOTTOM:
|
|
case EF_NEW_REPARATIO:
|
|
case EF_NEW_REPARATIO_BOTTOM:
|
|
case EF_NEW_REPARATIO_TARGET:
|
|
case EF_NEW_REPARATIO_TARGET_BOTTOM:
|
|
case EF_ETERNAL_SLASH_HIT_1:
|
|
case EF_UNK_1839:
|
|
case EF_A_MACHINE_CAST:
|
|
case EF_A_MACHINE_HIT:
|
|
case EF_EFFLIGO:
|
|
case EF_EFFLIGO_BOTTOM:
|
|
case EF_EFFLIGO_HIT:
|
|
case EF_COMPETENTIA:
|
|
case EF_COMPETENTIA_BOTTOM:
|
|
case EF_COMPETENTIA_LOOP:
|
|
case EF_COMPETENTIA_LOOP_BOTTOM:
|
|
case EF_CRYSTAL_IMPACT:
|
|
case EF_CRYSTAL_IMPACT_BOTTOM:
|
|
case EF_CRYSTAL_IMPACT_CAST:
|
|
case EF_CRYSTAL_IMPACT_CAST_BOTTOM:
|
|
case EF_CRYSTAL_IMPACT_HIT:
|
|
case EF_CRYSTAL_IMPACT_BUFF:
|
|
case EF_RELIGIO:
|
|
case EF_RELIGIO_CAST:
|
|
case EF_NEW_ENCHANTING_SHADOW:
|
|
case EF_NEW_ENCHANTING_SHADOW_BOTTOM:
|
|
case EF_FATAL_SHADOW_CROW:
|
|
case EF_FATAL_SHADOW_CROW_BOTTOM:
|
|
case EF_FATAL_SHADOW_CROW_HIT:
|
|
case EF_DEEP_BLIND_TRAP_CAST:
|
|
case EF_DEEP_BLIND_TRAP:
|
|
case EF_DEEP_BLIND_TRAP_HIT:
|
|
case EF_SWIFT_TRAP_CAST:
|
|
case EF_SWIFT_TRAP:
|
|
case EF_SWIFT_TRAP_HIT:
|
|
case EF_SOLID_TRAP_CAST:
|
|
case EF_SOLID_TRAP_CAST_BOTTOM:
|
|
case EF_SOLID_TRAP:
|
|
case EF_SOLID_TRAP_HIT:
|
|
case EF_NEW_RUSH_QUAKE:
|
|
case EF_NEW_RUSH_QUAKE_BOTTOM:
|
|
case EF_NEW_RUSH_QUAKE_HIT:
|
|
case EF_BENEDICTUM:
|
|
case EF_BENEDICTUM_CAST:
|
|
case EF_BENEDICTUM_CAST_BOTTOM:
|
|
case EF_STRATUM_TREMOR_CAST:
|
|
case EF_STRATUM_TREMOR_CAST_BOTTOM:
|
|
case EF_STRATUM_TREMOR_HIT:
|
|
case EF_STRATUM_TREMOR:
|
|
case EF_STRATUM_TREMOR_BOTTOM:
|
|
case EF_IMPACT_CRATER:
|
|
case EF_IMPACT_CRATER_BOTTOM:
|
|
case EF_IMPACT_CRATER_HIT:
|
|
case EF_WIND_SIGN:
|
|
case EF_WIND_SIGN_LOOP:
|
|
case EF_ABR_MOTHER_CAST:
|
|
case EF_ABR_MOTHER_01:
|
|
case EF_ABR_MOTHER_02:
|
|
case EF_HAWK_RUSH:
|
|
case EF_ABR_INFINITY:
|
|
case EF_ABR_INFINITY_BOTTOM:
|
|
case EF_ABR_INFINITY_CAST:
|
|
case EF_ABR_INFINITY_HIT:
|
|
case EF_ETERNAL_SLASH_HIT_2:
|
|
case EF_NEW_D_CANNON:
|
|
case EF_NEW_D_CANNON_CAST:
|
|
case EF_NEW_D_CANNON_HIT:
|
|
case EF_FLAME_TRAP:
|
|
case EF_FLAME_TRAP_HIT:
|
|
case EF_NEW_DILECTIO_HEAL:
|
|
case EF_NEW_DILECTIO_HEAL_CAST:
|
|
case EF_NEW_DILECTIO_HEAL_CAST_BOTTOM:
|
|
case EF_NEW_DILECTIO_HEAL_TARGET:
|
|
case EF_NEW_DILECTIO_HEAL_TARGET_BOTTOM:
|
|
case EF_NEW_PRAMEN_BOTTOM:
|
|
case EF_NEW_PRAMEN_CAST:
|
|
case EF_NEW_PRAMEN:
|
|
case EF_NEW_BATTLE_W:
|
|
case EF_NEW_BATTLE_W_CAST:
|
|
case EF_NEW_BATTLE_W_BOTTOM:
|
|
case EF_NEW_BATTLE_W_HIT:
|
|
case EF_NEW_AXE_STOMP_HIT:
|
|
case EF_NEW_AXE_STOMP_BOTTOM:
|
|
case EF_NEW_AXE_STOMP:
|
|
case EF_NEW_AXE_STOMP_12:
|
|
case EF_NEW_AXE_STOMP_01:
|
|
case EF_NEW_AXE_STOMP_03:
|
|
case EF_NEW_AXE_STOMP_05:
|
|
case EF_NEW_AXE_STOMP_06:
|
|
case EF_NEW_AXE_STOMP_08:
|
|
case EF_NEW_AXE_STOMP_09:
|
|
case EF_NEW_AXE_STOMP_11:
|
|
case EF_CRESCIVEBOLT_CAST:
|
|
case EF_CRESCIVEBOLT_HIT:
|
|
case EF_SHADOW_STAB:
|
|
case EF_ETERNAL_SLASH_HIT:
|
|
case EF_SHADOW_STAB_HIT2:
|
|
case EF_SINCERE_FAITH:
|
|
case EF_SINCERE_FAITH_BOTTOM:
|
|
case EF_ABYSS_DAGGER:
|
|
case EF_ABYSS_DAGGER_HIT:
|
|
case EF_HAWK_BOOMERANG_CAST:
|
|
case EF_HAWK_BOOMERANG_HIT:
|
|
case EF_HAWK_BOOMERANG_START:
|
|
case EF_GALE_STORM_CAST:
|
|
case EF_GALE_STORM_HIT:
|
|
case EF_FIRST_FAITH_POWER:
|
|
case EF_FIRST_FAITH_POWER_CAST:
|
|
case EF_FIRST_FAITH_POWER_START:
|
|
case EF_JUDGE:
|
|
case EF_JUDGE_CAST:
|
|
case EF_JUDGE_START:
|
|
case EF_JUDGE_AURA:
|
|
case EF_THIRD_EXOR_FLAME:
|
|
case EF_THIRD_EXOR_FLAME_CAST:
|
|
case EF_THIRD_EXOR_FLAME_START:
|
|
case EF_THIRD_EXOR_FLAME_AURA:
|
|
case EF_POWERFUL_FAITH:
|
|
case EF_OLEUM_SANCTUM:
|
|
case EF_OLEUM_SANCTUM_BOTTOM:
|
|
case EF_OLEUM_SANCTUM_HIT:
|
|
case EF_OLEUM_SANCTUM_LOOP:
|
|
case EF_INCREASING_ACTIVITY:
|
|
case EF_INCREASING_ACTIVITY_CAST:
|
|
case EF_INCREASING_ACTIVITY_CAST_BOTTOM:
|
|
case EF_EXPLOSION_BLASTER:
|
|
case EF_EXPLOSION_BLASTER_BOTTOM:
|
|
case EF_EXPLOSION_BLASTER_HIT:
|
|
case EF_FIRM_FAITH:
|
|
case EF_MYSTICSYMPHONY:
|
|
case EF_MYSTICSYMPHONY_CAST:
|
|
case EF_MYSTICSYMPHONY_NOTE:
|
|
case EF_ACTIVITY_BURN:
|
|
case EF_ACTIVITY_BURN_CAST:
|
|
case EF_ACTIVITY_BURN_CAST_BOTTOM:
|
|
case EF_KVASIRSONATA:
|
|
case EF_KVASIRSONATA_CAST:
|
|
case EF_KVASIRSONATA_CAST_BOTTOM:
|
|
case EF_SERPENS_BOTTOM:
|
|
case EF_SERPENS_CAST:
|
|
case EF_SERPENS_CAST_BOTTOM:
|
|
case EF_SERPENS_HIT:
|
|
case EF_SERPENS_SHIELD:
|
|
case EF_CHAIN_REACTION_SHOT_CAST:
|
|
case EF_CHAIN_REACTION_SHOT_CAST_BOTTOM:
|
|
case EF_ETERNAL_SLASH_HIT_3:
|
|
case EF_CHAIN_REACTION_SHOT_HITSUB:
|
|
case EF_CHAIN_REACTION_SHOT:
|
|
case EF_DILUVIO_ICE:
|
|
case EF_DILUVIO_ICE_BOTTOM:
|
|
case EF_DILUVIO_CAST:
|
|
case EF_DILUVIO_CAST_BOTTOM:
|
|
case EF_DILUVIO_HIT:
|
|
case EF_DILUVIO_ARMOR:
|
|
case EF_SPELL_ENCHANTING:
|
|
case EF_DIAMOND_STORM_BOTTOM:
|
|
case EF_DIAMOND_STORM_CAST:
|
|
case EF_DIAMOND_STORM_CAST_BOTTOM:
|
|
case EF_DIAMOND_STORM_HIT:
|
|
case EF_VENOM_SWAMP_BOTTOM:
|
|
case EF_VENOM_SWAMP_CAST:
|
|
case EF_VENOM_SWAMP_CAST_BOTTOM:
|
|
case EF_VENOM_SWAMP_HIT:
|
|
case EF_ARDOR:
|
|
case EF_ARDOR_BOTTOM:
|
|
case EF_ARDOR_CAST:
|
|
case EF_ARDOR_CAST_BOTTOM:
|
|
case EF_ARDOR_HIT:
|
|
case EF_ARDOR_FLAMEARMOR:
|
|
case EF_LIGHTNING_LAND:
|
|
case EF_LIGHTNING_LAND_BOTTOM:
|
|
case EF_LIGHTNING_LAND_CAST:
|
|
case EF_LIGHTNING_LAND_CAST_BOTTOM:
|
|
case EF_LIGHTNING_LAND_HIT:
|
|
case EF_ROSEBLOSSOM_CAST:
|
|
case EF_ROSEBLOSSOM_CAST_BOTTOM:
|
|
case EF_ROSEBLOSSOM_HIT:
|
|
case EF_ROSEBLOSSOM_ROSE:
|
|
case EF_ROSEBLOSSOM_SHOT:
|
|
case EF_FIRST_BRAND:
|
|
case EF_FIRST_BRAND_AURA:
|
|
case EF_FIRST_BRAND_HIT:
|
|
case EF_FIRST_BRAND_START:
|
|
case EF_CONFLAGRATION:
|
|
case EF_CONFLAGRATION_BOTTOM:
|
|
case EF_CONFLAGRATION_CAST:
|
|
case EF_CONFLAGRATION_CAST_BOTTOM:
|
|
case EF_CONFLAGRATION_HIT:
|
|
case EF_SOUND_BLEND:
|
|
case EF_SOUND_BLEND_CAST:
|
|
case EF_SOUND_BLEND_CAST_BOTTOM:
|
|
case EF_SOUND_BLEND_RED:
|
|
case EF_METALLIC_FURY:
|
|
case EF_JAWAII_SERENADE:
|
|
case EF_JAWAII_SERENADE_CAST:
|
|
case EF_JAWAII_SERENADE_CAST_BOTTOM:
|
|
case EF_PRONMARCH:
|
|
case EF_PRONMARCH_CAST:
|
|
case EF_PRONMARCH_CAST_BOTTOM:
|
|
case EF_RHYTHMSHOOTING_CAST:
|
|
case EF_RHYTHMSHOOTING_CAST_BOTTOM:
|
|
case EF_RHYTHMSHOOTING_HIT:
|
|
case EF_NIFLHEIM:
|
|
case EF_NIFLHEIM_CAST:
|
|
case EF_SECOND_FAITH:
|
|
case EF_SECOND_FAITH_AURA:
|
|
case EF_SECOND_FAITH_START:
|
|
case EF_SECOND_FLAME:
|
|
case EF_SECOND_FLAME_BOTTOM:
|
|
case EF_THIRD_FLAME_BOMB:
|
|
case EF_THIRD_FLAME_BOMB_BOTTOM:
|
|
case EF_ABYSS_STRIKE:
|
|
case EF_ABYSS_STRIKE_BOTTOM:
|
|
case EF_ABYSS_STRIKE_CAST:
|
|
case EF_ABYSS_STRIKE_CAST_BOTTOM:
|
|
case EF_ABYSS_STRIKE_GROUND:
|
|
case EF_ABYSS_STRIKE_GROUND_BOTTOM:
|
|
case EF_ABYSS_STRIKE_HIT:
|
|
case EF_MASSIVE_FLAME_BLASTER:
|
|
case EF_MASSIVE_FLAME_BLASTER_HIT:
|
|
case EF_MASSIVE_FLAME_BLASTER_HIT_BOTTOM:
|
|
case EF_THIRD_CONSECRATION:
|
|
case EF_PROCELLA:
|
|
case EF_PROCELLA_BOTTOM:
|
|
case EF_PROCELLA_CAST:
|
|
case EF_PROCELLA_CAST_BOTTOM:
|
|
case EF_PROCELLA_HIT:
|
|
case EF_PROCELLA_STORM:
|
|
case EF_TERREMOTUS:
|
|
case EF_TERREMOTUS_CAST:
|
|
case EF_TERREMOTUS_CAST_BOTTOM:
|
|
case EF_TERREMOTUS_HIT:
|
|
case EF_TERREMOTUS_PROTECT:
|
|
case EF_FROM_THE_ABYSS:
|
|
case EF_ABYSS_STRIKE_HIT_2:
|
|
case EF_THIRD_PUNISH:
|
|
case EF_THIRD_PUNISH_BOTTOM:
|
|
case EF_FRENZY_SHOT_HIT:
|
|
case EF_GEF_NOCTURN:
|
|
case EF_GEF_NOCTURN_CAST:
|
|
case EF_GEF_NOCTURN_CAST_BOTTOM:
|
|
case EF_ROKI_CAPRICCIO:
|
|
case EF_ROKI_CAPRICCIO_CAST:
|
|
case EF_ROKI_CAPRICCIO_CAST_BOTTOM:
|
|
case EF_MUSICAL_INTERLUDE:
|
|
case EF_MUSICAL_INTERLUDE_CAST:
|
|
case EF_AIN_RHAPSODY:
|
|
case EF_AIN_RHAPSODY_CAST:
|
|
case EF_ABYSS_SLAYER:
|
|
case EF_ABYSS_SLAYER_CAST:
|
|
case EF_ABYSS_SLAYER_CAST_BOTTOM:
|
|
case EF_ABYSS_SQUARE:
|
|
case EF_ABYSS_SQUARE_BOTTOM:
|
|
case EF_ABYSS_DAGGER_HIT_2:
|
|
case EF_DEFT_STAB:
|
|
case EF_TERRA_DRIVE:
|
|
case EF_TERRA_DRIVE_BOTTOM:
|
|
case EF_TERRA_DRIVE_CAST:
|
|
case EF_TERRA_DRIVE_CAST_BOTTOM:
|
|
case EF_TERRA_DRIVE_HIT:
|
|
case EF_ELEMENTAL_BUSTER_CAST:
|
|
case EF_ELEMENTAL_BUSTER_FIRE:
|
|
case EF_ELEMENTAL_BUSTER_FIRE_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_FIRE_HIT:
|
|
case EF_ELEMENTAL_BUSTER_LAND:
|
|
case EF_ELEMENTAL_BUSTER_LAND_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_LAND_HIT:
|
|
case EF_ELEMENTAL_BUSTER_POISON:
|
|
case EF_ELEMENTAL_BUSTER_POISON_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_POISON_HIT:
|
|
case EF_ELEMENTAL_BUSTER_WATER:
|
|
case EF_ELEMENTAL_BUSTER_WATER_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_WATER_HIT:
|
|
case EF_ELEMENTAL_BUSTER_WIND:
|
|
case EF_ELEMENTAL_BUSTER_WIND_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_WIND_HIT:
|
|
case EF_UNLUCKY_RUSH_CAST:
|
|
case EF_ABYSS_DAGGER_HIT_3:
|
|
case EF_OVERSLASH:
|
|
case EF_OVERSLASH_BOTTOM:
|
|
case EF_OVERSLASH_CAST:
|
|
case EF_OVERSLASH_HIT:
|
|
case EF_ADVANCED_PROTECTION:
|
|
case EF_ADVANCED_PROTECTION_BOTTOM:
|
|
case EF_ADVANCED_PROTECTION_CAST:
|
|
case EF_ADVANCED_PROTECTION_CAST_BOTTOM:
|
|
case EF_CROSS_RAIN_BOTTOM:
|
|
case EF_CROSS_RAIN_CAST:
|
|
case EF_CROSS_RAIN_CAST_BOTTOM:
|
|
case EF_GUARD_STANCE:
|
|
case EF_GUARD_STANCE_CAST:
|
|
case EF_GUARD_STANCE_CAST_BOTTOM:
|
|
case EF_ATTACK_STANCE:
|
|
case EF_ATTACK_STANCE_CAST:
|
|
case EF_ATTACK_STANCE_CAST_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT:
|
|
case EF_GRAND_JUDGEMENT_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT_BUFF:
|
|
case EF_GRAND_JUDGEMENT_CAST:
|
|
case EF_GRAND_JUDGEMENT_CAST_BOTTOM:
|
|
case EF_HOLY_SHIELD_CAST:
|
|
case EF_HOLY_SHIELD:
|
|
case EF_HOLY_SHIELD_LOOP:
|
|
case EF_SHIELD_SHOOTING_CAST:
|
|
case EF_SHIELD_SHOOTING_HIT:
|
|
case EF_THE_W_PROTECTION:
|
|
case EF_THE_W_PROTECTION_CAST:
|
|
case EF_GUARDIANSHIELD:
|
|
case EF_GUARDIANSHIELD_BOTTOM:
|
|
case EF_GUARDIANSHIELD_SUB:
|
|
case EF_JUDGEMENT_CROSS:
|
|
case EF_JUDGEMENT_CROSS_BOTTOM:
|
|
case EF_JUDGEMENT_CROSS_CAST:
|
|
case EF_JUDGEMENT_CROSS_CAST_BOTTOM:
|
|
case EF_REBOUND_SHIELD:
|
|
case EF_REBOUND_SHIELD_BOTTOM:
|
|
case EF_REBOUND_SHIELD_CAST:
|
|
case EF_REBOUND_SHIELD_CAST_BOTTOM:
|
|
case EF_ULTIMATESACRIFICE:
|
|
case EF_ULTIMATESACRIFICE_BOTTOM:
|
|
case EF_ULTIMATESACRIFICE_SHINE:
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST:
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_FIRE_HIT:
|
|
case EF_ACIDIFIED_ZONE_FIRE_START:
|
|
case EF_ACIDIFIED_ZONE_FIRE_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST:
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_HIT:
|
|
case EF_ACIDIFIED_ZONE_WATER_START:
|
|
case EF_ACIDIFIED_ZONE_WATER_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST:
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_HIT:
|
|
case EF_ACIDIFIED_ZONE_WIND_START:
|
|
case EF_ACIDIFIED_ZONE_WIND_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST:
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_HIT:
|
|
case EF_ACIDIFIED_ZONE_GROUND_START:
|
|
case EF_ACIDIFIED_ZONE_GROUND_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP_BOTTOM:
|
|
case EF_HELLTREE_CAST:
|
|
case EF_HELLTREE_CAST_BOTTOM:
|
|
case EF_HELLTREE_DUSTY:
|
|
case EF_HELLTREE_HOWLING:
|
|
case EF_RESEARCH_REPORT:
|
|
case EF_RESEARCH_REPORT_CAST:
|
|
case EF_RESEARCH_REPORT_CAST_BOTTOM:
|
|
case EF_STATE_LASSITUDE:
|
|
case EF_STATE_SWOONING:
|
|
case EF_STATE_HOLYFLAME:
|
|
case EF_WOODEN_WARRIOR_CAST:
|
|
case EF_WOODEN_WARRIOR_CAST_BOTTOM:
|
|
case EF_WOODEN_WARRIOR_ATTACK:
|
|
case EF_WOODEN_WARRIOR_ATTACK_HIT:
|
|
case EF_WOODEN_WARRIOR_THROWROCK:
|
|
case EF_WOODEN_WARRIOR_THROWROCK_HIT:
|
|
case EF_WOODEN_FAIRY_CAST:
|
|
case EF_WOODEN_FAIRY_CAST_BOTTOM:
|
|
case EF_WOODEN_FAIRY_DUSTY:
|
|
case EF_SERPENS_DEEP_POISONING:
|
|
case EF_SERPENS_DEEP_POISONING_BOTTOM:
|
|
case EF_DILUVIO_COLD_FORCE:
|
|
case EF_DILUVIO_COLD_FORCE_BOTTOM:
|
|
case EF_ARDOR_FLAMETECHNIC:
|
|
case EF_ARDOR_FLAMETECHNIC_BOTTOM:
|
|
case EF_PROCELLA_GRACE_BREEZE:
|
|
case EF_PROCELLA_GRACE_BREEZE_BOTTOM:
|
|
case EF_TERREMOTUS_EARTH_CARE:
|
|
case EF_TERREMOTUS_EARTH_CARE_BOTTOM:
|
|
case EF_STATE_LIGHTNINGSTRIKE:
|
|
case EF_STATE_CONFLAGRATION:
|
|
case EF_STATE_FROSTBITE:
|
|
case EF_STATE_FROSTBITE_FINISH:
|
|
case EF_STATE_CRYSTALLIZATION:
|
|
case EF_STATE_DEADLYPOISON:
|
|
case EF_THIRD_CONSECRATION_BOTTOM:
|
|
case EF_SERVANT_SIGN_BOTTOM:
|
|
case EF_NPC_KILLING_AURA_HIT:
|
|
case EF_NPC_CANE_OF_EVIL_EYE:
|
|
case EF_TOXIN_OF_MANDARA_BOMB:
|
|
case EF_TOXIN_OF_MANDARA_BOMB_BOTTOM:
|
|
case EF_TOXIN_OF_MANDARA_SHOCK:
|
|
case EF_NEEDLE_STINGER:
|
|
case EF_NEEDLE_STINGER_BOTTOM:
|
|
case EF_NEEDLE_STINGER_HIT:
|
|
case EF_ABSOLUTE_ZEPHYR:
|
|
case EF_ABSOLUTE_ZEPHYR_BOTTOM:
|
|
case EF_ABSOLUTE_ZEPHYR_HIT:
|
|
case EF_TWISTER_CUTTER:
|
|
case EF_TWISTER_CUTTER_HIT:
|
|
case EF_HEILIGE_PFERD:
|
|
case EF_HEILIGE_PFERD_BOTTOM:
|
|
case EF_HEILIGE_PFERD_CAST:
|
|
case EF_GOLDENE_TONE:
|
|
case EF_GLANZEN_SPIES:
|
|
case EF_GLANZEN_SPIES_HIT:
|
|
case EF_BLAZING_AND_FURIOUS:
|
|
case EF_THE_ONE_FIGHTER_RISES_BOTTOM:
|
|
case EF_TEMPERING:
|
|
case EF_BLAST_FORGE_HIT:
|
|
case EF_TETRA_VORTEX_WATER_SUB_2:
|
|
case EF_TETRA_VORTEX_EARTH_SUB_2:
|
|
case EF_NPC_20TH_CRYSTAL_S:
|
|
case EF_NPC_20TH_CRYSTAL_M:
|
|
case EF_NPC_20TH_CRYSTAL_L:
|
|
case EF_NPC_GATE_GREEN_1:
|
|
case EF_NPC_GATE_PURPLE_1:
|
|
case EF_NPC_GATE_RED_1:
|
|
case EF_20TH_FIREWORK:
|
|
case EF_NPC_GATE_GREEN_2:
|
|
case EF_NPC_GATE_PURPLE_2:
|
|
case EF_NPC_GATE_RED_2:
|
|
case EF_NPC_GATE_GREEN_3:
|
|
case EF_NPC_GATE_PURPLE_3:
|
|
case EF_NPC_GATE_RED_3:
|
|
case EF_NPC_GATE_SKYBLUE:
|
|
case EF_RUNE_ACTIVE_FINISH:
|
|
case EF_RUNESET_ACTIVE:
|
|
case EF_RUNESET_UPGRADE_SUCCESS:
|
|
case EF_RUNESET_UPGRADE_FAIL:
|
|
case EF_RUNE_BROKEN:
|
|
case EF_NEW_BATTLE_W_HIT_2:
|
|
case EF_NEW_PRAMEN_REUSE:
|
|
case EF_THE_W_PROTECTION_REUSE:
|
|
case EF_ELEMENTAL_BUSTER_FIRE_REUSE:
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM_REUSE:
|
|
case EF_CRYSTAL_IMPACT_BOTTOM_REUSE:
|
|
case EF_NEW_JUDEX_TARGET_REUSE:
|
|
case EF_RUNE_SLOT_SMALL:
|
|
case EF_RUNE_SLOT_BIG:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B51A60
|
|
// FUNCTION: fn_19032
|
|
bool CEZ2STRScreenEffect::ApplyHeadOffset(CEZ2STRParticle* particle) {
|
|
if (this->headAttached != 1 && this->IsAttachedToHead() != true) {
|
|
return false;
|
|
}
|
|
|
|
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
|
if (!actor) {
|
|
return false;
|
|
}
|
|
|
|
float offsetX = GetHatEffectOffsetX(this->id, particle->m_name.c_str());
|
|
float offsetY = static_cast<float>(GetHatEffectOffsetY(this->id, actor));
|
|
if (this->jobScaled == 1 && g_session.IsDoramJob(actor->GetEffectiveJob(-1)) == true) {
|
|
offsetY -= 3.0f;
|
|
}
|
|
|
|
float factor = GetSkillFactor(actor->GetEffectiveJob(-1));
|
|
if (((actor->render.flags >> 4) & 1) != 0 && this->fadePulse == 1) {
|
|
float scale = 1.0f;
|
|
actor->ScaleByFadePulse(scale);
|
|
factor = scale * factor;
|
|
}
|
|
|
|
float shiftX = offsetX * factor;
|
|
float shiftY = factor * offsetY;
|
|
if (!(shiftX >= 0.0f || shiftY >= 0.0f)) {
|
|
return false;
|
|
}
|
|
|
|
vector3d position = particle->position;
|
|
const matrix& view = static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view;
|
|
const matrix& inverse = static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.inverse;
|
|
|
|
float x = position.y * view.values[3] + position.x * view.values[0] + position.z * view.values[6] + view.values[9] + shiftX;
|
|
float y = position.y * view.values[4] + position.x * view.values[1] + position.z * view.values[7] + view.values[10] - shiftY;
|
|
float z = position.y * view.values[5] + position.x * view.values[2] + position.z * view.values[8] + view.values[11];
|
|
|
|
float worldX = y * inverse.values[3] + x * inverse.values[0] + z * inverse.values[6] + inverse.values[9];
|
|
float worldY = y * inverse.values[4] + x * inverse.values[1] + z * inverse.values[7] + inverse.values[10];
|
|
float worldZ = y * inverse.values[5] + x * inverse.values[2] + z * inverse.values[8] + inverse.values[11];
|
|
particle->position.x = worldX;
|
|
particle->position.y = worldY;
|
|
particle->position.z = worldZ;
|
|
return true;
|
|
}
|
|
|
|
// OFFSET: 0x00B51CC0
|
|
// FUNCTION: fn_19033
|
|
void CEZ2STRScreenEffect::Close() {
|
|
FreeParticle(this->particle);
|
|
}
|
|
|
|
// OFFSET: 0x00B51CD0
|
|
// FUNCTION: fn_19034
|
|
vector3d CEZ2STRScreenEffect::GetWindowOffset() {
|
|
if (CEZ2STRParticle* particle = this->particle) {
|
|
return particle->m_windowOffset;
|
|
}
|
|
|
|
vector3d zero;
|
|
zero.x = 0.0f;
|
|
zero.y = 0.0f;
|
|
zero.z = 0.0f;
|
|
return zero;
|
|
}
|
|
|
|
// OFFSET: 0x00B51D20
|
|
// FUNCTION: fn_19035
|
|
bool CEZ2STRScreenEffect::IsVisible() {
|
|
if (this->id != 0x76C) {
|
|
return CEffect::IsVisible();
|
|
}
|
|
|
|
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
|
if (!actor) {
|
|
return false;
|
|
}
|
|
|
|
if (actor->hpGaugeFlags > 0) {
|
|
return actor->EffectVisible();
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
// OFFSET: 0x00B56790
|
|
// FUNCTION: fn_19042
|
|
bool CEZ2STRScreenEffect::IsAlive() {
|
|
int id = this->id;
|
|
if (this->headAttached == 1) {
|
|
return this->ActorExists();
|
|
}
|
|
|
|
switch (id) {
|
|
case EF_PNEUMA:
|
|
case EF_RED_CROSS:
|
|
case EF_BITE_SCAR:
|
|
case EF_RL_ANTI_MATERIAL_BLAST:
|
|
case EF_H_MINE:
|
|
case EF_FLASH_KICK:
|
|
case EF_TETRA_VORTEX_BALL_1:
|
|
case EF_TETRA_VORTEX_BALL_2:
|
|
case EF_TETRA_VORTEX_BALL_3:
|
|
case EF_TETRA_VORTEX_BALL_4:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_01:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_02:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_03:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_04:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_05:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_06:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_07:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_08:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_09:
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_10:
|
|
case EF_QSCARABA_VISUAL:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_01:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_02:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_03:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_04:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_05:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_06:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_07:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_08:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_09:
|
|
case EF_MINEFFECT_ROLLINGCUTTER_10:
|
|
case EF_TETRA_VORTEX_CORE_REUSE:
|
|
case EF_BLUE_WAVE_1:
|
|
case EF_BLUE_WAVE_2:
|
|
case EF_BLUE_WAVE_3:
|
|
case EF_RED_WAVE_1:
|
|
case EF_RED_WAVE_2:
|
|
case EF_RED_WAVE_3:
|
|
case EF_NEW_EPICLESIS:
|
|
case EF_SERVANT_SIGN:
|
|
case EF_DRAGONIC_AURA_BUFF:
|
|
case EF_DRAGONIC_AURA_BUFF_BOTTOM:
|
|
case EF_DEADLY_PROJECTION:
|
|
case EF_VIGOR_BUFF:
|
|
case EF_MYSTERY_ILLUSION:
|
|
case EF_MYSTERY_ILLUSION_BOTTOM:
|
|
case EF_TORNADO_STORM:
|
|
case EF_TORNADO_STORM_BOTTOM:
|
|
case EF_VIOLENT_QUAKE_BOTTOM:
|
|
case EF_ALL_BLOOM:
|
|
case EF_ALL_BLOOM_BOTTOM:
|
|
case EF_NEW_D_MACHINE:
|
|
case EF_UNK_1839:
|
|
case EF_DEEP_BLIND_TRAP:
|
|
case EF_SWIFT_TRAP:
|
|
case EF_SOLID_TRAP:
|
|
case EF_STRATUM_TREMOR:
|
|
case EF_STRATUM_TREMOR_BOTTOM:
|
|
case EF_WIND_SIGN_LOOP:
|
|
case EF_FLAME_TRAP:
|
|
case EF_CALUMITYGALE_LOOP:
|
|
case EF_FIRST_FAITH_POWER:
|
|
case EF_JUDGE:
|
|
case EF_JUDGE_AURA:
|
|
case EF_THIRD_EXOR_FLAME:
|
|
case EF_THIRD_EXOR_FLAME_AURA:
|
|
case EF_OLEUM_SANCTUM_LOOP:
|
|
case EF_MYSTICSYMPHONY_NOTE:
|
|
case EF_VENOM_SWAMP_BOTTOM:
|
|
case EF_LIGHTNING_LAND:
|
|
case EF_LIGHTNING_LAND_BOTTOM:
|
|
case EF_FIRST_BRAND:
|
|
case EF_FIRST_BRAND_AURA:
|
|
case EF_CONFLAGRATION:
|
|
case EF_CONFLAGRATION_BOTTOM:
|
|
case EF_SOUND_BLEND:
|
|
case EF_SECOND_FAITH:
|
|
case EF_SECOND_FAITH_AURA:
|
|
case EF_ABYSS_SLAYER:
|
|
case EF_ABYSS_SQUARE:
|
|
case EF_ABYSS_SQUARE_BOTTOM:
|
|
case EF_CROSS_RAIN_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT_BUFF:
|
|
case EF_HOLY_SHIELD_LOOP:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP_BOTTOM:
|
|
case EF_STATE_LIGHTNINGSTRIKE:
|
|
case EF_STATE_CONFLAGRATION:
|
|
case EF_STATE_FROSTBITE:
|
|
case EF_STATE_CRYSTALLIZATION:
|
|
case EF_SERVANT_SIGN_BOTTOM:
|
|
case EF_NPC_KILLING_AURA:
|
|
case EF_NPC_20TH_CRYSTAL_S:
|
|
case EF_NPC_20TH_CRYSTAL_M:
|
|
case EF_NPC_20TH_CRYSTAL_L:
|
|
case EF_NPC_GATE_GREEN_1:
|
|
case EF_NPC_GATE_PURPLE_1:
|
|
case EF_NPC_GATE_RED_1:
|
|
case EF_NPC_GATE_GREEN_2:
|
|
case EF_NPC_GATE_PURPLE_2:
|
|
case EF_NPC_GATE_RED_2:
|
|
case EF_NPC_GATE_GREEN_3:
|
|
case EF_NPC_GATE_PURPLE_3:
|
|
case EF_NPC_GATE_RED_3:
|
|
case EF_NPC_GATE_SKYBLUE:
|
|
case EF_NEW_BATTLE_W_HIT_2:
|
|
return this->ActorExists();
|
|
}
|
|
|
|
CEZ2STRParticle* particle = this->particle;
|
|
if (0.0f == particle->life) {
|
|
return true;
|
|
}
|
|
|
|
return particle->life * 60.0f > static_cast<float>(particle->elapsedFrames);
|
|
}
|
|
|
|
// OFFSET: 0x00B56D30
|
|
// FUNCTION: fn_19043
|
|
void CEZ2STRScreenEffect::InitParticle(CEZ2STRParticle* particle, int id) {
|
|
switch (id) {
|
|
case EF_POTION1:
|
|
particle->Open("빨간포션.str");
|
|
break;
|
|
case EF_POTION2:
|
|
particle->Open("주홍포션.str");
|
|
break;
|
|
case EF_POTION3:
|
|
particle->Open("노란포션.str");
|
|
break;
|
|
case EF_POTION4:
|
|
particle->Open("하얀포션.str");
|
|
break;
|
|
case EF_POTION5:
|
|
particle->Open("파란포션.str");
|
|
break;
|
|
case EF_POTION6:
|
|
particle->Open("초록포션.str");
|
|
break;
|
|
case EF_POTION7:
|
|
particle->Open("fruit.str");
|
|
break;
|
|
case EF_POTION8:
|
|
particle->Open("fruit_.str");
|
|
break;
|
|
case EF_STORMGUST:
|
|
particle->Open("StormGust.str");
|
|
break;
|
|
case EF_KO_JYUMONJIKIRI:
|
|
particle->Open("jyumonjikiri.str");
|
|
break;
|
|
case EF_KO_SETSUDAN:
|
|
particle->Open("setsudan.str");
|
|
break;
|
|
case EF_RED_CROSS:
|
|
particle->Open("red_cross.str");
|
|
break;
|
|
case EF_KO_IZAYOI:
|
|
particle->Open("ez_cure.str");
|
|
break;
|
|
case EF_KAIHOU1:
|
|
particle->Open("술식해방.str");
|
|
break;
|
|
case EF_AKAITSUKI:
|
|
particle->Open("불길한붉은달빛.str");
|
|
break;
|
|
case EF_ZANGETSU:
|
|
particle->Open("초승달2.str");
|
|
break;
|
|
case EF_KO_ZENKAI_WATER:
|
|
particle->Open("술식전개3.str");
|
|
break;
|
|
case EF_KO_ZENKAI_LAND:
|
|
particle->Open("술식전개4.str");
|
|
break;
|
|
case EF_KO_ZENKAI_FIRE:
|
|
particle->Open("술식전개2.str");
|
|
break;
|
|
case EF_KO_ZENKAI_WIND:
|
|
particle->Open("술식전개5.str");
|
|
break;
|
|
case EF_KG_KYOMU:
|
|
particle->Open("허무의그림자.str");
|
|
break;
|
|
case EF_GENSOU:
|
|
particle->Open("흐린달빛환상2.str");
|
|
break;
|
|
case EF_GLASSWALL:
|
|
particle->Open("SafetyWall.str");
|
|
break;
|
|
case EF_HAT_EFFECT:
|
|
particle->Open("cloudh.str");
|
|
break;
|
|
case EF_MOONSTAR:
|
|
particle->Open("moonstar.str");
|
|
break;
|
|
case EF_MUSIC_HAT:
|
|
particle->Open("EFST_DECORATION_OF_MUSIC\\note_1.str");
|
|
break;
|
|
case EF_HAPPINESSSTAR:
|
|
particle->Open("efst_happiness_star\\moonstar2.str");
|
|
break;
|
|
case EF_STRANGELIGHTS:
|
|
particle->Open("strangelights.str");
|
|
break;
|
|
case EF_SUPER_STAR:
|
|
particle->Open("superstar.str");
|
|
break;
|
|
case EF_HAMMER_OF_GOD:
|
|
particle->Open("RL_HAMER_GOD\\hogg2.str");
|
|
break;
|
|
case EF_MASS_SPIRAL:
|
|
particle->Open("RL_MESS_SPIRAL\\S5.str");
|
|
break;
|
|
case EF_FIRE_RAIN:
|
|
particle->Open("RL_FIRE_RAIN\\fire_rain.str");
|
|
break;
|
|
case EF_BANISHING_BUSTER:
|
|
particle->Open("RL_BANISHING_BUSTER\\vanishing1.str");
|
|
break;
|
|
case EF_SLUGSHOT:
|
|
particle->Open("RL_SLUGSHOT\\slug.str");
|
|
break;
|
|
case EF_D_TAIL:
|
|
particle->Open("RL_d_tail\\dtdt.str");
|
|
break;
|
|
case EF_RL_EXPLOSION:
|
|
particle->Open("RL_EXPLOSION\\boom.str");
|
|
break;
|
|
case EF_C_MAKER:
|
|
particle->Open("RL_C_MAKER\\deffender.str");
|
|
break;
|
|
case EF_C_MAKER_1:
|
|
particle->Open("RL_C_MAKER\\cm.str");
|
|
break;
|
|
case EF_QD_SHOT:
|
|
particle->Open("RL_QUICK_DRAW\\qd2.str");
|
|
break;
|
|
case EF_P_ALTER:
|
|
particle->Open("RL_P_ALTER\\platinum.str");
|
|
break;
|
|
case EF_S_STORM:
|
|
particle->Open("RL_STORM\\S_STORM.str");
|
|
break;
|
|
case EF_FLOWERSMOKE:
|
|
particle->Open("efst_flowersmoke\\flowersmoke.str");
|
|
break;
|
|
case EF_FSTONE:
|
|
particle->Open("efst_fstone\\fstone.str");
|
|
break;
|
|
case EF_QSCARABA:
|
|
particle->Open("efst_qscaraba\\qscaraba.str");
|
|
break;
|
|
case EF_LJOSALFAR:
|
|
particle->Open("efst_ljosalfar\\ljosalfar.str");
|
|
break;
|
|
case EF_MAPLE_FALLS:
|
|
particle->Open("efst_maple_falls\\maple_falls.str");
|
|
break;
|
|
case EF_MARKING_USE_CHANGEMONSTER:
|
|
particle->Open("Arrows_Effect_finish\\pol.str");
|
|
break;
|
|
case EF_MAGICAL_FEATHER:
|
|
particle->Open("efst_magical_feather\\magical_feather.str");
|
|
break;
|
|
case EF_MERMAID_LONGING:
|
|
particle->Open("efst_mermaid_loging\\bubblebubble.str");
|
|
break;
|
|
case EF_ACH_COMPLETE:
|
|
particle->Open("ach_complete\\ppring3.str");
|
|
break;
|
|
case EF_TIME_ACCESSORY:
|
|
particle->Open("efst_time_accessory\\time_accessory.str");
|
|
break;
|
|
case EF_FRESHSHRIMP:
|
|
particle->Open("su_freshshrimp\\su_freshshrimp.str");
|
|
break;
|
|
case EF_SU_TUNABELLY:
|
|
particle->Open("su_tunabelly\\su_tunabelly.str");
|
|
break;
|
|
case EF_SU_SV_STEMSPEAR:
|
|
particle->Open("su_sv_stemspear\\su_sv_stemspear.str");
|
|
break;
|
|
case EF_SU_SCRATCH:
|
|
particle->Open("su_scratch\\su_scratch.str");
|
|
break;
|
|
case EF_SU_BITE:
|
|
particle->Open("su_bite\\su_bite.str");
|
|
break;
|
|
case EF_SU_SCAROFTAROU:
|
|
particle->Open("su_scaroftarou\\su_scaroftarou.str");
|
|
break;
|
|
case EF_SU_ARCLOUSEDASH:
|
|
particle->Open("su_arclousedash\\su_arclousedash.str");
|
|
break;
|
|
case EF_SU_PICKYPECK:
|
|
particle->Open("su_pickypeck\\su_pickypeck.str");
|
|
break;
|
|
case EF_SU_BUNCHOFSHRIMP:
|
|
particle->Open("su_bunchofshrimp\\su_bunchofshrimp.str");
|
|
break;
|
|
case EF_BITE_SCAR:
|
|
particle->Open("bite_scar\\bite_scar.str");
|
|
break;
|
|
case EF_WIDE_CRITICAL_WOUND:
|
|
particle->Open("wide_critical_wound\\wide_critical_wound.str");
|
|
break;
|
|
case EF_SU_GROOMING:
|
|
particle->Open("su_grooming\\su_grooming.str");
|
|
break;
|
|
case EF_SU_CHATTERING:
|
|
particle->Open("su_chattering\\su_chattering.str");
|
|
break;
|
|
case EF_SU_LOPE:
|
|
particle->Open("su_nyanggrass\\su_nyanggrass.str");
|
|
break;
|
|
case EF_SU_HISS:
|
|
particle->Open("su_hiss\\su_hiss.str");
|
|
break;
|
|
case EF_SU_POWEROFFLOCK:
|
|
particle->Open("su_powerofflock\\su_powerofflock.str");
|
|
break;
|
|
case EF_SU_SVG_SPIRIT:
|
|
particle->Open("su_svg_spirit\\su_svg_spirit.str");
|
|
break;
|
|
case EF_PNEUMA: {
|
|
int index = rand() % 3;
|
|
index = index < 0 ? 0 : index;
|
|
particle->Open(FormatOwnedString("Pneuma%d.str", index + 1));
|
|
break;
|
|
}
|
|
case EF_FIREDANCE:
|
|
particle->Open("RL_fire_dance\\firedance.str");
|
|
break;
|
|
case EF_RICHS_COIN_A:
|
|
particle->Open("RL_richs_coin_A\\reachs.str");
|
|
break;
|
|
case EF_RL_ANTI_MATERIAL_BLAST:
|
|
particle->Open("RL_anti_material\\anti.str");
|
|
break;
|
|
case EF_E_CHAIN:
|
|
particle->Open("RL_e_chain\\eternal.str");
|
|
break;
|
|
case EF_HEAT_BARREL:
|
|
particle->Open("RL_heat_barrel\\htb.str");
|
|
break;
|
|
case EF_H_MINE:
|
|
particle->Open("RL_h_mine\\mine.str");
|
|
break;
|
|
case EF_WE_ONEFOREVER:
|
|
particle->Open("we_oneforever\\we_oneforever.str");
|
|
break;
|
|
case EF_WE_CHEERUP:
|
|
particle->Open("we_cheerup\\we_cheerup.str");
|
|
break;
|
|
case EF_QUAGMIRE_VISUAL:
|
|
particle->Open("Quagmire\\Quagmire.str");
|
|
break;
|
|
case EF_LORD_OF_VERMILLION_VISUAL:
|
|
particle->Open("lord_of_vermillion\\lord_of_vermillion.str");
|
|
break;
|
|
case EF_METEOR_STORM_VISUAL:
|
|
{
|
|
int index = rand() % 3;
|
|
index = index < 0 ? 0 : index;
|
|
particle->Open(FormatOwnedString("MeteorStorm\\meteor%d.str", index + 1).c_str());
|
|
break;
|
|
}
|
|
case EF_SOLARBURST:
|
|
particle->Open("solar_burst\\solar_burst.str");
|
|
break;
|
|
case EF_SJ_DOCUMENT:
|
|
particle->Open("sj_document\\sj_document.str");
|
|
break;
|
|
case EF_FALLING_STAR:
|
|
particle->Open("falling_star\\falling_star.str");
|
|
break;
|
|
case EF_FLASH_KICK:
|
|
particle->Open("flash_kick\\flash_kick.str");
|
|
break;
|
|
case EF_SOUL_GOLEM:
|
|
particle->Open("soul_golem\\soul_golem.str");
|
|
break;
|
|
case EF_NEWMOON_KICK:
|
|
particle->Open("newmoon_kick\\newmoon_kick.str");
|
|
break;
|
|
case EF_FULLMOON_KICK:
|
|
particle->Open("fullmoon_kick\\fullmoon_kick.str");
|
|
break;
|
|
case EF_SOUL_CURSE:
|
|
particle->Open("soul_curse\\soul_curse.str");
|
|
break;
|
|
case EF_PROMINENCE_KICK:
|
|
particle->Open("prominence_kick\\prominence_kick.str");
|
|
break;
|
|
case EF_SOUL_REVOLVE:
|
|
particle->Open("soul_revolve\\soul_revolve.str");
|
|
break;
|
|
case EF_TEST_EFFECT_00:
|
|
case EF_TEST_EFFECT_01:
|
|
case EF_TEST_EFFECT_02:
|
|
case EF_TEST_EFFECT_03:
|
|
case EF_TEST_EFFECT_04:
|
|
case EF_TEST_EFFECT_05:
|
|
case EF_TEST_EFFECT_06:
|
|
case EF_TEST_EFFECT_07:
|
|
case EF_TEST_EFFECT_08:
|
|
case EF_TEST_EFFECT_09:
|
|
particle->Open(FormatOwnedString("test_effect\\%02d\\%02d.str", id - 0x4DC, id - 0x4DC));
|
|
break;
|
|
case EF_NEW_METEORSTORM:
|
|
particle->Open("new_meteostorm\\new_meteostorm\\new_meteostorm.str");
|
|
break;
|
|
case EF_NEW_METEORSTORM_BOTTOM:
|
|
particle->Open("new_meteostorm\\new_meteostorm_bottom\\new_meteostorm_bottom.str");
|
|
break;
|
|
case EF_NEW_ADORAMUS:
|
|
particle->Open("new_adoramus\\new_adoramus\\new_adoramus.str");
|
|
break;
|
|
case EF_NEW_ADORAMUS_BOTTOM:
|
|
particle->Open("new_adoramus\\new_adoramus_bottom\\new_adoramus_bottom.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_CAST:
|
|
particle->Open("tetravortex\\tetra_cast\\tetra_cast.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_CORE:
|
|
particle->Open("tetravortex\\tetra_ball_00_core\\tetra_ball_00_core.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_BALL_1:
|
|
particle->Open("tetravortex\\tetra_ball_01_fire\\tetra_01_fire.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_BALL_2:
|
|
particle->Open("tetravortex\\tetra_ball_04_water\\tetra_04_water.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_BALL_3:
|
|
particle->Open("tetravortex\\tetra_ball_02_wind\\tetra_02_wind.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_BALL_4:
|
|
particle->Open("tetravortex\\tetra_ball_03_earth\\tetra_03_earth.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_FIRE_EXP:
|
|
particle->Open("tetravortex\\tetra_01_fire_explosion\\tetra_01_fire_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_WATER_EXP:
|
|
particle->Open("tetravortex\\tetra_04_water_explosion\\tetra_04_water_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_WIND_EXP:
|
|
particle->Open("tetravortex\\tetra_02_wind_explosion\\tetra_02_wind_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_EARTH_EXP:
|
|
particle->Open("tetravortex\\tetra_03_earth_explosion\\tetra_03_earth_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_FIRE_GROUND:
|
|
particle->Open("tetravortex\\tetra_01_fire_ground\\tetra_01_fire_grd.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_WATER_GROUND:
|
|
particle->Open("tetravortex\\tetra_04_water_ground\\tetra_04_water_grd.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_WIND_GROUND:
|
|
particle->Open("tetravortex\\tetra_02_wind_ground\\tetra_02_wind_grd.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_EARTH_GROUND:
|
|
particle->Open("tetravortex\\tetra_03_earth_ground\\tetra_03_earth_grd.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_CORE_GROUND:
|
|
particle->Open("tetravortex\\tetra_ball_00_core_ground\\tetra_ball_00_core_grd.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_FIRE_SUB:
|
|
particle->Open("tetravortex\\tetra_01_fire_sub_explosion\\tetra_01_fire_sub_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_WATER_SUB:
|
|
particle->Open("tetravortex\\tetra_04_water_sub_explosion\\tetra_04_water_sub_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_WIND_SUB:
|
|
particle->Open("tetravortex\\tetra_02_wind_sub_explosion\\tetra_02_wind_sub_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_EARTH_SUB:
|
|
particle->Open("tetravortex\\tetra_03_earth_sub_explosion\\tetra_03_earth_sub_expn.str");
|
|
break;
|
|
case EF_NEW_CRIMSONROCK:
|
|
particle->Open("new_crimsonrock\\new_crimsonrock\\new_crimsonrock.str");
|
|
break;
|
|
case EF_NEW_CRIMSONROCK_BOTTOM:
|
|
particle->Open("new_crimsonrock\\new_crimsonrock_bottom\\new_crimsonrock_bottom.str");
|
|
break;
|
|
case EF_NEW_CRIMSONROCK_SUB:
|
|
particle->Open("new_crimsonrock\\new_crimsonrock_sub_explosion\\new_crimsonrock_sub_explosion.str");
|
|
break;
|
|
case EF_NEW_DIAMONDDUST:
|
|
particle->Open("new_diamonddust\\new_diamonddust\\new_diamonddust.str");
|
|
break;
|
|
case EF_NEW_DIAMONDDUST_BOTTOM:
|
|
particle->Open("new_diamonddust\\new_diamonddust_bottom\\new_diamonddust_bottom.str");
|
|
break;
|
|
case EF_NEW_DIAMONDDUST_CAST:
|
|
particle->Open("new_diamonddust\\new_diamonddust_cast\\new_diamonddust_cast.str");
|
|
break;
|
|
case EF_NEW_SEVERERAINSTORM_CAST:
|
|
particle->Open("new_severerainstorm\\new_severerainstorm_cast\\new_severerainstorm_cast.str");
|
|
break;
|
|
case EF_NEW_SECRAMENT:
|
|
particle->Open("new_secrament\\new_secrament\\new_secrament.str");
|
|
break;
|
|
case EF_NEW_SECRAMENT_AURA:
|
|
particle->Open("new_secrament\\new_secrament_aura\\new_secrament_aura.str");
|
|
break;
|
|
case EF_NEW_PSYCHICWAVE:
|
|
particle->Open("new_psychicwave\\new_psychicwave\\new_psychicwave.str");
|
|
break;
|
|
case EF_NEW_PSYCHICWAVE_BOTTOM:
|
|
particle->Open("new_psychicwave\\new_psychicwave_bottom\\new_psychicwave_bottom.str");
|
|
break;
|
|
case EF_NEW_PSYCHICWAVE_CAST:
|
|
particle->Open("new_psychicwave\\new_psychicwave_cast\\new_psychicwave_cast.str");
|
|
break;
|
|
case EF_NEW_ARROWSTORM_00:
|
|
particle->Open("new_arrowstorm\\new_arrowstorm_00\\new_arrowstorm_00.str");
|
|
break;
|
|
case EF_NEW_ARROWSTORM_01:
|
|
particle->Open("new_arrowstorm\\new_arrowstorm_01\\new_arrowstorm_01.str");
|
|
break;
|
|
case EF_NEW_TRIANGLESHOT:
|
|
particle->Open("new_triangleshot\\new_triangleshot\\new_triangleshot.str");
|
|
break;
|
|
case EF_NEW_TRIANGLESHOT_BOTTOM:
|
|
particle->Open("new_triangleshot\\new_triangleshot_bottom\\new_triangleshot_bottom.str");
|
|
break;
|
|
case EF_NEW_RAMPAGEBLASTER:
|
|
particle->Open("new_rampageblaster\\new_rampageblaster\\new_rampageblaster.str");
|
|
break;
|
|
case EF_NEW_RAMPAGEBLASTER_BOTTOM:
|
|
particle->Open("new_rampageblaster\\new_rampageblaster_bottom\\new_rampageblaster_bottom.str");
|
|
break;
|
|
case EF_NEW_FEINTBOMB:
|
|
particle->Open("new_peintbomb\\new_peintbomb\\new_peintbomb.str");
|
|
break;
|
|
case EF_NEW_FEINTBOMB_BOTTOM:
|
|
particle->Open("new_peintbomb\\new_peintbomb_bottom\\new_peintbomb_bottom.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter\\new_rollingcutter.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_01:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_01\\new_rollingcutter_count_01.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_02:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_02\\new_rollingcutter_count_02.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_03:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_03\\new_rollingcutter_count_03.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_04:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_04\\new_rollingcutter_count_04.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_05:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_05\\new_rollingcutter_count_05.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_06:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_06\\new_rollingcutter_count_06.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_07:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_07\\new_rollingcutter_count_07.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_08:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_08\\new_rollingcutter_count_08.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_09:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_09\\new_rollingcutter_count_09.str");
|
|
break;
|
|
case EF_NEW_ROLLINGCUTTER_COUNT_10:
|
|
particle->Open("new_rollingcutter\\new_rollingcutter_count_10\\new_rollingcutter_count_10.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher\\new_crossripperslasher.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_00:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_00\\new_crossripperslasher_clock_00.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_01:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_01\\new_crossripperslasher_clock_01.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_03:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_03\\new_crossripperslasher_clock_03.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_05:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_05\\new_crossripperslasher_clock_05.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_06:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_06\\new_crossripperslasher_clock_06.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_07:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_07\\new_crossripperslasher_clock_07.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_09:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_09\\new_crossripperslasher_clock_09.str");
|
|
break;
|
|
case EF_NEW_CROSSRIPPERSLASHER_11:
|
|
particle->Open("new_crossripperslasher\\new_crossripperslasher_clock_11\\new_crossripperslasher_clock_11.str");
|
|
break;
|
|
case EF_NEW_TIGERCANNON:
|
|
particle->Open("new_tigercannon\\new_tigercannon.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_01_DOWN:
|
|
particle->Open("new_armscannon\\new_armscannon_01_clock_down\\new_armscannon_01_clock_down.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_01_UP:
|
|
particle->Open("new_armscannon\\new_armscannon_01_clock_up\\new_armscannon_01_clock_up.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_05_DOWN:
|
|
particle->Open("new_armscannon\\new_armscannon_05_clock_down\\new_armscannon_05_clock_down.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_05_UP:
|
|
particle->Open("new_armscannon\\new_armscannon_05_clock_up\\new_armscannon_05_clock_up.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_07_DOWN:
|
|
particle->Open("new_armscannon\\new_armscannon_07_clock_down\\new_armscannon_07_clock_down.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_07_UP:
|
|
particle->Open("new_armscannon\\new_armscannon_07_clock_up\\new_armscannon_07_clock_up.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_11_DOWN:
|
|
particle->Open("new_armscannon\\new_armscannon_11_clock_down\\new_armscannon_11_clock_down.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_11_UP:
|
|
particle->Open("new_armscannon\\new_armscannon_11_clock_up\\new_armscannon_11_clock_up.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_EXPLOSION:
|
|
particle->Open("new_armscannon\\new_armscannon_explosion\\new_armscannon_explosion.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_EXPLOSION_BOTTOM:
|
|
particle->Open("new_armscannon\\new_armscannon_explosion_bottom\\new_armscannon_explosion_bottom.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_CAST:
|
|
particle->Open("new_armscannon\\new_armscannon_cast\\new_armscannon_cast.str");
|
|
break;
|
|
case EF_NEW_ARMSCANNON_CAST_BOTTOM:
|
|
particle->Open("new_armscannon\\new_armscannon_cast_bottom\\new_armscannon_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_CART_CANNON_EXPLOSION:
|
|
particle->Open("new_cart_cannon\\new_cart_cannon_explosion\\new_cart_cannon_explosion.str");
|
|
break;
|
|
case EF_NEW_CART_CANNON_EXPLOSION_BOTTOM:
|
|
particle->Open("new_cart_cannon\\new_cart_cannon_explosion_bottom\\new_cart_cannon_explosion_bottom.str");
|
|
break;
|
|
case EF_NEW_CART_CANNON_FIRE:
|
|
particle->Open("new_cart_cannon\\new_cart_cannon_fire\\new_cart_cannon_fire.str");
|
|
break;
|
|
case EF_NEW_CART_CANNON_FIRE_BOTTOM:
|
|
particle->Open("new_cart_cannon\\new_cart_cannon_fire_bottom\\new_cart_cannon_fire_bottom.str");
|
|
break;
|
|
case EF_NEW_CART_CANNON_CAST:
|
|
particle->Open("new_cart_cannon\\new_cart_cannon_cast\\new_cart_cannon_cast.str");
|
|
break;
|
|
case EF_NEW_CART_CANNON_CAST_BOTTOM:
|
|
particle->Open("new_cart_cannon\\new_cart_cannon_cast_bottom\\new_cart_cannon_cast_bottom.str");
|
|
break;
|
|
case EF_QSCARABA_VISUAL:
|
|
particle->Open("efst_qscaraba\\qscaraba.str");
|
|
break;
|
|
case EF_NEW_AXETORNADO:
|
|
particle->Open("new_axetornado\\new_axetornado\\new_axetornado.str");
|
|
break;
|
|
case EF_NEW_AXETORNADO_BOTTOM:
|
|
particle->Open("new_axetornado\\new_axetornado_bottom\\new_axetornado_bottom.str");
|
|
break;
|
|
case EF_NEW_CART_TORNADO:
|
|
particle->Open("new_cart_tornado\\new_cart_tornado\\new_cart_tornado.str");
|
|
break;
|
|
case EF_NEW_CART_TORNADO_BOTTOM:
|
|
particle->Open("new_cart_tornado\\new_cart_tornado_bottom\\new_cart_tornado_bottom.str");
|
|
break;
|
|
case EF_HELP_ANGEL:
|
|
particle->Open("help_angel\\help_angel\\help_angel.str");
|
|
break;
|
|
case EF_HELP_ANGEL_BOTTOM:
|
|
particle->Open("help_angel\\help_angel_bottom\\help_angel_bottom.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_TARGET:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_target\\new_banishingpoint_target.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_TARGET_BOTTOM:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_target_bottom\\new_banishingpoint_target_bottom.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_CAST:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_cast\\new_banishingpoint_cast.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_CAST_BOTTOM:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_cast_bottom\\new_banishingpoint_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_01:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_01\\new_banishingpoint_01.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_05:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_05\\new_banishingpoint_05.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_07:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_07\\new_banishingpoint_07.str");
|
|
break;
|
|
case EF_NEW_BANISHINGPOINT_11:
|
|
particle->Open("new_banishingpoint\\new_banishingpoint_11\\new_banishingpoint_11.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_BOMB:
|
|
particle->Open("new_dragonbreath\\new_dragonbreath_bomb\\new_dragonbreath_bomb.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_BOMB_BOTTOM:
|
|
particle->Open("new_dragonbreath\\new_dragonbreath_bomb_bottom\\new_dragonbreath_bomb_bottom.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_01:
|
|
particle->Open("new_dragonbreath\\new_dragonbreath_01_clock\\new_dragonbreath_01_clock.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_05:
|
|
particle->Open("new_dragonbreath\\new_dragonbreath_05_clock\\new_dragonbreath_05_clock.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_07:
|
|
particle->Open("new_dragonbreath\\new_dragonbreath_07_clock\\new_dragonbreath_07_clock.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_11:
|
|
particle->Open("new_dragonbreath\\new_dragonbreath_11_clock\\new_dragonbreath_11_clock.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_WATER_BOMB:
|
|
particle->Open("new_dragonbreath_water\\new_dragonbreath_water_bomb\\new_dragonbreath_water_bomb.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_WATER_BOMB_BOTTOM:
|
|
particle->Open("new_dragonbreath_water\\new_dragonbreath_water_bomb_bottom\\new_dragonbreath_water_bomb_bottom.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_WATER_01:
|
|
particle->Open("new_dragonbreath_water\\new_dragonbreath_water_01_clock\\new_dragonbreath_water_01_clock.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_WATER_05:
|
|
particle->Open("new_dragonbreath_water\\new_dragonbreath_water_05_clock\\new_dragonbreath_water_05_clock.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_WATER_07:
|
|
particle->Open("new_dragonbreath_water\\new_dragonbreath_water_07_clock\\new_dragonbreath_water_07_clock.str");
|
|
break;
|
|
case EF_NEW_DRAGONBREATH_WATER_11:
|
|
particle->Open("new_dragonbreath_water\\new_dragonbreath_water_11_clock\\new_dragonbreath_water_11_clock.str");
|
|
break;
|
|
case EF_NEW_COUNTER_SLASH:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_counter_slash\\new_counter_slash\\new_counter_slash.str");
|
|
} else {
|
|
particle->Open("new_counter_slash\\new_counter_slash\\new_counter_slash.str");
|
|
}
|
|
break;
|
|
case EF_NEW_COUNTER_SLASH_BOTTOM:
|
|
particle->Open("new_counter_slash\\new_counter_slash_bottom\\new_counter_slash_bottom.str");
|
|
break;
|
|
case EF_NEW_FATAL_MENACE:
|
|
particle->Open("new_fatal_menace\\new_fatal_menace\\new_fatal_menace.str");
|
|
break;
|
|
case EF_NEW_FATAL_MENACE_BOTTOM:
|
|
particle->Open("new_fatal_menace\\new_fatal_menace_bottom\\new_fatal_menace_bottom.str");
|
|
break;
|
|
case EF_NEW_FATAL_MENACE_CAST:
|
|
particle->Open("new_fatal_menace\\new_fatal_menace_cast\\new_fatal_menace_cast.str");
|
|
break;
|
|
case EF_NEW_FATAL_MENACE_CAST_BOTTOM:
|
|
particle->Open("new_fatal_menace\\new_fatal_menace_cast_bottom\\new_fatal_menace_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_12:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_12_clock\\new_cannon_spear_12_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_01:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_01_clock\\new_cannon_spear_01_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_03:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_03_clock\\new_cannon_spear_03_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_05:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_05_clock\\new_cannon_spear_05_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_06:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_06_clock\\new_cannon_spear_06_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_07:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_07_clock\\new_cannon_spear_07_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_09:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_09_clock\\new_cannon_spear_09_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_11:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_11_clock\\new_cannon_spear_11_clock.str");
|
|
break;
|
|
case EF_NEW_CANNON_SPEAR_BOTTOM:
|
|
particle->Open("new_cannon_spear\\new_cannon_spear_bottom\\new_cannon_spear_bottom.str");
|
|
break;
|
|
case EF_NEW_BASICATTACK:
|
|
particle->Open("new_hit\\new_basicattack\\new_basicattack.str");
|
|
break;
|
|
case EF_NEW_CRITICALATTACK:
|
|
particle->Open("new_hit\\new_criticalattack\\new_criticalattack.str");
|
|
break;
|
|
case EF_NEW_RANGEDATTACK:
|
|
particle->Open(this->name);
|
|
break;
|
|
case EF_NEW_COMET:
|
|
particle->Open("new_comet\\new_comet\\new_comet.str");
|
|
break;
|
|
case EF_NEW_COMET_BOTTOM:
|
|
particle->Open("new_comet\\new_comet_bottom\\new_comet_bottom.str");
|
|
break;
|
|
case EF_NEW_COMET_CAST_BOTTOM:
|
|
particle->Open("new_comet\\new_comet_cast_bottom\\new_comet_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_COMET_SUB_EXP:
|
|
particle->Open("new_comet\\new_comet_sub_explosion\\new_comet_sub_explosion.str");
|
|
break;
|
|
case EF_NEW_COMET_SUB_EXP_BOTTOM:
|
|
particle->Open("new_comet\\new_comet_sub_explosion_bottom\\new_comet_sub_explosion_bottom.str");
|
|
break;
|
|
case EF_NEW_COMET_CAST:
|
|
particle->Open("new_comet\\new_comet_cast\\new_comet_cast.str");
|
|
break;
|
|
case EF_NEW_RAYOFGENESIS:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_rayofgenesis\\new_rayofgenesis\\new_rayofgenesis.str");
|
|
} else {
|
|
particle->Open("new_rayofgenesis\\new_rayofgenesis\\new_rayofgenesis.str");
|
|
}
|
|
break;
|
|
case EF_NEW_RAYOFGENESIS_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_rayofgenesis\\new_rayofgenesis_cast\\new_rayofgenesis_cast.str");
|
|
} else {
|
|
particle->Open("new_rayofgenesis\\new_rayofgenesis_cast\\new_rayofgenesis_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_RAYOFGENESIS_CAST_BOTTOM:
|
|
particle->Open("new_rayofgenesis\\new_rayofgenesis_cast_bottom\\new_rayofgenesis_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_RAYOFGENESIS_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_rayofgenesis\\new_rayofgenesis_hit\\new_rayofgenesis_hit.str");
|
|
} else {
|
|
particle->Open("new_rayofgenesis\\new_rayofgenesis_hit\\new_rayofgenesis_hit.str");
|
|
}
|
|
break;
|
|
case EF_MINEFFECT_ADORAMUS:
|
|
particle->Open("mineffect\\new_adoramus\\new_adoramus\\new_adoramus.str");
|
|
break;
|
|
case EF_MINEFFECT_ADORAMUS_BOTTOM:
|
|
particle->Open("mineffect\\new_adoramus\\new_adoramus_bottom\\new_adoramus_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_CAST:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_cast\\new_tetravortex_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_CORE:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_ball_core\\new_tetravortex_ball_core.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_FIRE:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_fire\\new_tetravortex_fire.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_WATER:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_water\\new_tetravortex_water.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_WIND:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_wind\\new_tetravortex_wind.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_EARTH:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_earth\\new_tetravortex_earth.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_FIRE_BOTTOM:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_fire_bottom\\new_tetravortex_fire_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_WATER_BOTTOM:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_water_bottom\\new_tetravortex_water_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_WIND_BOTTOM:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_wind_bottom\\new_tetravortex_wind_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_EARTH_BOTTOM:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_earth_bottom\\new_tetravortex_earth_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_TETRA_CORE_BOTTOM:
|
|
particle->Open("mineffect\\new_tetravortex\\new_tetravortex_ball_core_bottom\\new_tetravortex_ball_core_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_CRIMSONROCK:
|
|
particle->Open("mineffect\\new_crimsonrock\\new_crimsonrock\\new_crimsonrock.str");
|
|
break;
|
|
case EF_MINEFFECT_CRIMSONROCK_BOTTOM:
|
|
particle->Open("mineffect\\new_crimsonrock\\new_crimsonrock_bottom\\new_crimsonrock_bottom.str");
|
|
break;
|
|
case EF_NEW_JACKFROST_00:
|
|
particle->Open("new_jackfrost\\new_jackfrost\\new_jackfrost_00.str");
|
|
break;
|
|
case EF_NEW_JACKFROST_01:
|
|
particle->Open("new_jackfrost\\new_jackfrost\\new_jackfrost_01.str");
|
|
break;
|
|
case EF_NEW_JACKFROST_02:
|
|
particle->Open("new_jackfrost\\new_jackfrost\\new_jackfrost_02.str");
|
|
break;
|
|
case EF_NEW_JACKFROST_CAST:
|
|
particle->Open("new_jackfrost\\new_jackfrost_cast\\new_jackfrost_cast.str");
|
|
break;
|
|
case EF_NEW_JACKFROST_RUNE:
|
|
particle->Open("new_jackfrost\\new_jackfrost_magicrune\\new_jackfrost_frost.str");
|
|
break;
|
|
case EF_MINEFFECT_DIAMONDDUST:
|
|
particle->Open("mineffect\\new_diamonddust\\new_diamonddust\\new_diamonddust.str");
|
|
break;
|
|
case EF_MINEFFECT_DIAMONDDUST_BOTTOM:
|
|
particle->Open("mineffect\\new_diamonddust\\new_diamonddust_bottom\\new_diamonddust_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_DIAMONDDUST_CAST:
|
|
particle->Open("mineffect\\new_diamonddust\\new_diamonddust_cast\\new_diamonddust_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_SECRAMENT:
|
|
particle->Open("mineffect\\new_secrament\\new_secrament\\new_secrament.str");
|
|
break;
|
|
case EF_MINEFFECT_PSYCHICWAVE:
|
|
particle->Open("mineffect\\new_psychicwave\\new_psychicwave\\new_psychicwave.str");
|
|
break;
|
|
case EF_MINEFFECT_PSYCHICWAVE_BOTTOM:
|
|
particle->Open("mineffect\\new_psychicwave\\new_psychicwave_bottom\\new_psychicwave_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_PSYCHICWAVE_CAST:
|
|
particle->Open("mineffect\\new_psychicwave\\new_psychicwave_cast\\new_psychicwave_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_ARROWSTORM_00:
|
|
particle->Open("mineffect\\new_arrowstorm\\new_arrowstorm_00\\new_arrowstorm_00.str");
|
|
break;
|
|
case EF_MINEFFECT_ARROWSTORM_01:
|
|
particle->Open("mineffect\\new_arrowstorm\\new_arrowstorm_01\\new_arrowstorm_01.str");
|
|
break;
|
|
case EF_MINEFFECT_TRIANGLESHOT:
|
|
particle->Open("mineffect\\new_triangleshot\\new_triangleshot\\new_triangleshot.str");
|
|
break;
|
|
case EF_MINEFFECT_TRIANGLESHOT_BOTTOM:
|
|
particle->Open("mineffect\\new_triangleshot\\new_triangleshot_bottom\\new_triangleshot_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_RAMPAGEBLASTER:
|
|
particle->Open("mineffect\\new_rampageblaster\\new_rampageblaster\\new_rampageblaster_exp.str");
|
|
break;
|
|
case EF_MINEFFECT_RAMPAGEBLASTER_BOTTOM:
|
|
particle->Open("mineffect\\new_rampageblaster\\new_rampageblaster_bottom\\new_rampageblaster_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_FEINTBOMB:
|
|
particle->Open("mineffect\\new_peintbomb\\new_peintbomb\\new_peintbomb.str");
|
|
break;
|
|
case EF_MINEFFECT_FEINTBOMB_BOTTOM:
|
|
particle->Open("mineffect\\new_peintbomb\\new_peintbomb_bottom\\new_peintbomb_bottom.str");
|
|
break;
|
|
case EF_NEW_EARTHGRAVE_VISUAL:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_earthgrave\\new_earthgrave\\new_earthgrave.str");
|
|
} else {
|
|
particle->Open("new_earthgrave\\new_earthgrave\\new_earthgrave.str");
|
|
}
|
|
break;
|
|
case EF_NEW_EARTHGRAVE_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_earthgrave\\new_earthgrave_bottom\\new_earthgrave_bottom.str");
|
|
} else {
|
|
particle->Open("new_earthgrave\\new_earthgrave_bottom\\new_earthgrave_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_EARTHGRAVE_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_earthgrave\\new_earthgrave_hit\\new_earthgrave_hit.str");
|
|
} else {
|
|
particle->Open("new_earthgrave\\new_earthgrave_hit\\new_earthgrave_hit.str");
|
|
}
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_CAST:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter\\new_rollingcutter_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_01:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_01\\new_rollingcutter_count_01.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_02:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_02\\new_rollingcutter_count_02.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_03:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_03\\new_rollingcutter_count_03.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_04:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_04\\new_rollingcutter_count_04.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_05:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_05\\new_rollingcutter_count_05.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_06:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_06\\new_rollingcutter_count_06.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_07:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_07\\new_rollingcutter_count_07.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_08:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_08\\new_rollingcutter_count_08.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_09:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_09\\new_rollingcutter_count_09.str");
|
|
break;
|
|
case EF_MINEFFECT_ROLLINGCUTTER_10:
|
|
particle->Open("mineffect\\new_rollingcutter\\new_rollingcutter_count_10\\new_rollingcutter_count_10.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher\\new_crossripperslasher.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_12:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_12\\new_crossripperslasher_12.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_01:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_01\\new_crossripperslasher_01.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_03:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_03\\new_crossripperslasher_03.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_05:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_05\\new_crossripperslasher_05.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_06:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_06\\new_crossripperslasher_06.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_07:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_07\\new_crossripperslasher_07.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_09:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_09\\new_crossripperslasher_09.str");
|
|
break;
|
|
case EF_MINEFFECT_CROSSRIPPERSLASHER_11:
|
|
particle->Open("mineffect\\new_crossripperslasher\\new_crossripperslasher_11\\new_crossripperslasher_11.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_01:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_01\\new_armscannon_01.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_05:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_05\\new_armscannon_05.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_07:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_07\\new_armscannon_07.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_11:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_11\\new_armscannon_11.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_EXPLOSION:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_explosion\\armscannon_explosion.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_EXPLOSION_BOTTOM:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_explosion_bottom\\armscannon_explosion_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_CAST:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_cast\\new_armscannon_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_ARMSCANNON_CAST_BOTTOM:
|
|
particle->Open("mineffect\\new_armscannon\\new_armscannon_cast_bottom\\new_armscannon_cast_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_AXETORNADO:
|
|
particle->Open("mineffect\\new_axetornado\\new_axetornado\\new_axetornado.str");
|
|
break;
|
|
case EF_MINEFFECT_AXETORNADO_BOTTOM:
|
|
particle->Open("mineffect\\new_axetornado\\new_axetornado_bottom\\new_axetornado_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_CART_CANNON_EXPLOSION:
|
|
particle->Open("mineffect\\new_cart_cannon\\new_cart_cannon_explosion\\armscannon_explosion.str");
|
|
break;
|
|
case EF_MINEFFECT_CART_CANNON_EXPLOSION_BOTTOM:
|
|
particle->Open("mineffect\\new_cart_cannon\\new_cart_cannon_explosion_bottom\\armscannon_explosion_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_CART_CANNON_FIRE_BOTTOM:
|
|
particle->Open("mineffect\\new_cart_cannon\\new_cart_cannon_fire_bottom\\new_cartcannon_cast_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_CART_CANNON_CAST:
|
|
particle->Open("mineffect\\new_cart_cannon\\new_cart_cannon_cast\\new_cart_cannon_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_CART_CANNON_CAST_BOTTOM:
|
|
particle->Open("mineffect\\new_cart_cannon\\new_cart_cannon_cast_bottom\\new_cart_cannon_cast_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_CART_TORNADO:
|
|
particle->Open("mineffect\\new_cart_tornado\\new_cart_tornado\\new_carttornado.str");
|
|
break;
|
|
case EF_MINEFFECT_CART_TORNADO_BOTTOM:
|
|
particle->Open("mineffect\\new_cart_tornado\\new_cart_tornado_bottom\\new_carttornado_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_TARGET:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_target\\new_banishingpoint_target.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_TARGET_BOTTOM:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_target_bottom\\new_banishingpoint_target_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_CAST:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_cast\\new_banishingpoint_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_CAST_BOTTOM:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_cast_bottom\\new_banishingpoint_cast_combine.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_01:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_01\\new_banishingpoint_01.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_05:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_05\\new_banishingpoint_05.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_07:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_07\\new_banishingpoint_07.str");
|
|
break;
|
|
case EF_MINEFFECT_BANISHINGPOINT_11:
|
|
particle->Open("mineffect\\new_banishingpoint\\new_banishingpoint_11\\new_banishingpoint_11.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_12:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_12\\new_cannonspear_12.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_01:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_01\\new_cannonspear_01.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_03:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_03\\new_cannonspear_03.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_05:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_05\\new_cannonspear_05.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_06:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_06\\new_cannonspear_06.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_07:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_07\\new_cannonspear_07.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_09:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_09\\new_cannonspear_09.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_11:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_11\\new_cannonspear_11.str");
|
|
break;
|
|
case EF_MINEFFECT_CANNON_SPEAR_BOTTOM:
|
|
particle->Open("mineffect\\new_cannonspear\\new_cannonspear_bottom\\new_cannonspear_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_BOMB:
|
|
particle->Open("mineffect\\new_dragonbreath\\new_dragonbreath_fire_bomb\\new_dragonbreath_fire_bomb.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_01:
|
|
particle->Open("mineffect\\new_dragonbreath\\new_dragonbreath_fire_01\\new_dragonbreath_fire_01.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_05:
|
|
particle->Open("mineffect\\new_dragonbreath\\new_dragonbreath_fire_05\\new_dragonbreath_fire_05.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_07:
|
|
particle->Open("mineffect\\new_dragonbreath\\new_dragonbreath_fire_07\\new_dragonbreath_fire_07.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_11:
|
|
particle->Open("mineffect\\new_dragonbreath\\new_dragonbreath_fire_11\\new_dragonbreath_fire_11.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_WATER_BOMB:
|
|
particle->Open("mineffect\\new_dragonbreath_water\\new_dragonbreath_water_bomb\\new_dragonbreath_water_bomb.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_WATER_01:
|
|
particle->Open("mineffect\\new_dragonbreath_water\\new_dragonbreath_water_01\\new_dragonbreath_water_01.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_WATER_05:
|
|
particle->Open("mineffect\\new_dragonbreath_water\\new_dragonbreath_water_05\\new_dragonbreath_water_05.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_WATER_07:
|
|
particle->Open("mineffect\\new_dragonbreath_water\\new_dragonbreath_water_07\\new_dragonbreath_water_07.str");
|
|
break;
|
|
case EF_MINEFFECT_DRAGONBREATH_WATER_11:
|
|
particle->Open("mineffect\\new_dragonbreath_water\\new_dragonbreath_water_11\\new_dragonbreath_water_11.str");
|
|
break;
|
|
case EF_MINEFFECT_TIGERCANNON:
|
|
particle->Open("mineffect\\new_tigercannon\\new_tigercannon.str");
|
|
break;
|
|
case EF_MINEFFECT_SEVERERAINSTORM_CAST:
|
|
particle->Open("mineffect\\new_severerainstorm\\new_severerainstorm_cast\\new_severerainstorm_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_COMET:
|
|
particle->Open("mineffect\\new_comet\\new_comet\\new_comet.str");
|
|
break;
|
|
case EF_MINEFFECT_COMET_BOTTOM:
|
|
particle->Open("mineffect\\new_comet\\new_comet_bottom\\new_comet_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_COMET_CAST_BOTTOM:
|
|
particle->Open("mineffect\\new_comet\\new_comet_cast_bottom\\new_comet_cast_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_COMET_SUB_EXP:
|
|
particle->Open("mineffect\\new_comet\\new_comet_sub_explosion\\new_comet_sub_explosion.str");
|
|
break;
|
|
case EF_MINEFFECT_COMET_SUB_EXP_BOTTOM:
|
|
particle->Open("mineffect\\new_comet\\new_comet_sub_explosion_bottom\\new_comet_sub_explosion_bottom.str");
|
|
break;
|
|
case EF_MINEFFECT_COMET_CAST:
|
|
particle->Open("mineffect\\new_comet\\new_comet_cast\\new_comet_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_JACKFROST_00:
|
|
particle->Open("mineffect\\new_jackfrost\\new_jackfrost_ice\\new_jackfrost_00.str");
|
|
break;
|
|
case EF_MINEFFECT_JACKFROST_01:
|
|
particle->Open("mineffect\\new_jackfrost\\new_jackfrost_ice\\new_jackfrost_01.str");
|
|
break;
|
|
case EF_MINEFFECT_JACKFROST_02:
|
|
particle->Open("mineffect\\new_jackfrost\\new_jackfrost_ice\\new_jackfrost_02.str");
|
|
break;
|
|
case EF_MINEFFECT_JACKFROST_CAST:
|
|
particle->Open("mineffect\\new_jackfrost\\new_jackfrost_cast\\new_jackfrost_cast.str");
|
|
break;
|
|
case EF_MINEFFECT_JACKFROST_RUNE:
|
|
particle->Open("mineffect\\new_jackfrost\\new_jackfrost_magicrune\\new_jackfrost_frost.str");
|
|
break;
|
|
case EF_NEW_POISONSMOKE_1:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_poisonsmoke\\new_poisonsmoke\\new_poisonsmoke_1.str");
|
|
} else {
|
|
particle->Open("new_poisonsmoke\\new_poisonsmoke\\new_poisonsmoke_1.str");
|
|
}
|
|
break;
|
|
case EF_NEW_POISONSMOKE_2:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_poisonsmoke\\new_poisonsmoke\\new_poisonsmoke_2.str");
|
|
} else {
|
|
particle->Open("new_poisonsmoke\\new_poisonsmoke\\new_poisonsmoke_2.str");
|
|
}
|
|
break;
|
|
case EF_NEW_POISONSMOKE_CAST:
|
|
particle->Open("new_poisonsmoke\\new_poisonsmoke_cast\\new_poisonsmoke_cast.str");
|
|
break;
|
|
case EF_NEW_FEARBREEZE:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_fearbreeze\\new_fearbreeze.str");
|
|
} else {
|
|
particle->Open("new_fearbreeze\\new_fearbreeze.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HELLINFERNO:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_hellInferno\\new_hellInferno\\new_hellInferno.str");
|
|
} else {
|
|
particle->Open("new_hellInferno\\new_hellInferno\\new_hellInferno.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HELLINFERNO_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_hellInferno\\new_hellInferno_bottom\\new_hellInferno_bottom.str");
|
|
} else {
|
|
particle->Open("new_hellInferno\\new_hellInferno_bottom\\new_hellInferno_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HELLINFERNO_CAST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_hellInferno\\new_hellInferno_cast_bottom\\new_hellInferno_cast_bottom.str");
|
|
} else {
|
|
particle->Open("new_hellInferno\\new_hellInferno_cast_bottom\\new_hellInferno_cast_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HELLINFERNO_SUB:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_hellInferno\\new_hellInferno_sub\\new_hellInferno_sub.str");
|
|
} else {
|
|
particle->Open("new_hellInferno\\new_hellInferno_sub\\new_hellInferno_sub.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HELLINFERNO_SUB_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_hellInferno\\new_hellInferno_sub_bottom\\new_hellInferno_sub_bottom.str");
|
|
} else {
|
|
particle->Open("new_hellInferno\\new_hellInferno_sub_bottom\\new_hellInferno_sub_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CLEARANCE:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_clearence\\new_clearence\\new_clearence.str");
|
|
} else {
|
|
particle->Open("new_clearence\\new_clearence\\new_clearence.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CLEARANCE_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_clearence\\new_clearence_bottom\\new_clearence_bottom.str");
|
|
} else {
|
|
particle->Open("new_clearence\\new_clearence_bottom\\new_clearence_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CLEARANCE_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_clearence\\new_clearence_cast\\new_clearence_cast.str");
|
|
} else {
|
|
particle->Open("new_clearence\\new_clearence_cast\\new_clearence_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_VARETYRSPEAR:
|
|
particle->Open("new_varetyrspear\\new_varetyrspear\\new_varetyrspear.str");
|
|
break;
|
|
case EF_NEW_VARETYRSPEAR_BOTTOM:
|
|
particle->Open("new_varetyrspear\\new_varetyrspear_bottom\\new_varetyrspear_bottom.str");
|
|
break;
|
|
case EF_NEW_VARETYRSPEAR_CAST:
|
|
particle->Open("new_varetyrspear\\new_varetyrspear_cast\\new_varetyrspear_cast.str");
|
|
break;
|
|
case EF_NEW_VARETYRSPEAR_CAST_BOTTOM:
|
|
particle->Open("new_varetyrspear\\new_varetyrspear_cast_bottom\\new_varetyrspear_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_CROSSIMPACT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_crossimpact\\new_crossimpact\\new_crossimpact.str");
|
|
} else {
|
|
particle->Open("new_crossimpact\\new_crossimpact\\new_crossimpact.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CROSSIMPACT_TARGET:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_crossimpact\\new_crossimpact_target\\new_crossimpact_target.str");
|
|
} else {
|
|
particle->Open("new_crossimpact\\new_crossimpact_target\\new_crossimpact_target.str");
|
|
}
|
|
break;
|
|
case EF_NEW_REVERBERATION_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_reverberation\\new_reverberation_hit\\new_reverberation_hit.str");
|
|
} else {
|
|
particle->Open("new_reverberation\\new_reverberation_hit\\new_reverberation_hit.str");
|
|
}
|
|
break;
|
|
case EF_NEW_FALLENEMPIRE:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_fallenempire\\new_fallenempire\\new_fallenempire.str");
|
|
} else {
|
|
particle->Open("new_fallenempire\\new_fallenempire\\new_fallenempire.str");
|
|
}
|
|
break;
|
|
case EF_NEW_FALLENEMPIRE_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_fallenempire\\new_fallenempire_bottom\\new_fallenempire_bottom.str");
|
|
} else {
|
|
particle->Open("new_fallenempire\\new_fallenempire_bottom\\new_fallenempire_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_FALLENEMPIRE_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_fallenempire\\new_fallenempire_hit\\new_fallenempire_hit.str");
|
|
} else {
|
|
particle->Open("new_fallenempire\\new_fallenempire_hit\\new_fallenempire_hit.str");
|
|
}
|
|
break;
|
|
case EF_NEW_GATEOFHELL_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_gateofhell\\new_gateofhell_cast\\new_gateofhell_cast.str");
|
|
} else {
|
|
particle->Open("new_gateofhell\\new_gateofhell_cast\\new_gateofhell_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_GATEOFHELL_TARGET:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_gateofhell\\new_gateofhell_target\\new_gateofhell_target.str");
|
|
} else {
|
|
particle->Open("new_gateofhell\\new_gateofhell_target\\new_gateofhell_target.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HOWLINGOFLION:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_howlingoflion\\new_howlingoflion\\new_howlingoflion.str");
|
|
} else {
|
|
particle->Open("new_howlingoflion\\new_howlingoflion\\new_howlingoflion.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HOWLINGOFLION_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_howlingoflion\\new_howlingoflion_bottom\\new_howlingoflion_bottom.str");
|
|
} else {
|
|
particle->Open("new_howlingoflion\\new_howlingoflion_bottom\\new_howlingoflion_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HOWLINGOFLION_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_howlingoflion\\new_howlingoflion_cast\\new_howlingoflion_cast.str");
|
|
} else {
|
|
particle->Open("new_howlingoflion\\new_howlingoflion_cast\\new_howlingoflion_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HOWLINGOFLION_CAST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_howlingoflion\\new_howlingoflion_cast_bottom\\new_howlingoflion_cast_bottom.str");
|
|
} else {
|
|
particle->Open("new_howlingoflion\\new_howlingoflion_cast_bottom\\new_howlingoflion_cast_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_HOWLINGOFLION_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_howlingoflion\\new_howlingoflion_hit\\new_howlingoflion_hit.str");
|
|
} else {
|
|
particle->Open("new_howlingoflion\\new_howlingoflion_hit\\new_howlingoflion_hit.str");
|
|
}
|
|
break;
|
|
case EF_NEW_METALLICSOUND:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_metalicsound\\new_metalicsound\\new_metalicsound.str");
|
|
} else {
|
|
particle->Open("new_metalicsound\\new_metalicsound\\new_metalicsound.str");
|
|
}
|
|
break;
|
|
case EF_NEW_METALLICSOUND_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_metalicsound\\new_metalicsound_bottom\\new_metalicsound_bottom.str");
|
|
} else {
|
|
particle->Open("new_metalicsound\\new_metalicsound_bottom\\new_metalicsound_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_METALLICSOUND_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_metalicsound\\new_metalicsound_hit\\new_metalicsound_hit.str");
|
|
} else {
|
|
particle->Open("new_metalicsound\\new_metalicsound_hit\\new_metalicsound_hit.str");
|
|
}
|
|
break;
|
|
case EF_NEW_REPRODUCE:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_reproduce\\new_reproduce\\new_reproduce.str");
|
|
} else {
|
|
particle->Open("new_reproduce\\new_reproduce\\new_reproduce.str");
|
|
}
|
|
break;
|
|
case EF_NEW_REPRODUCE_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_reproduce\\new_reproduce_bottom\\new_reproduce_bottom.str");
|
|
} else {
|
|
particle->Open("new_reproduce\\new_reproduce_bottom\\new_reproduce_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOULEXPANSION_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soulexpansion\\new_soulexpansion_cast\\new_soulexpansion_cast.str");
|
|
} else {
|
|
particle->Open("new_soulexpansion\\new_soulexpansion_cast\\new_soulexpansion_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOULEXPANSION_CAST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soulexpansion\\new_soulexpansion_cast_bottom\\new_soulexpansion_cast_bottom.str");
|
|
} else {
|
|
particle->Open("new_soulexpansion\\new_soulexpansion_cast_bottom\\new_soulexpansion_cast_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOULEXPANSION_LOOP:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soulexpansion\\new_soulexpansion_loop\\new_soulexpansion_loop.str");
|
|
} else {
|
|
particle->Open("new_soulexpansion\\new_soulexpansion_loop\\new_soulexpansion_loop.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOULEXPANSION_LOOP_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soulexpansion\\new_soulexpansion_loop_bottom\\new_soulexpansion_loop_bottom.str");
|
|
} else {
|
|
particle->Open("new_soulexpansion\\new_soulexpansion_loop_bottom\\new_soulexpansion_loop_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOULEXPANSION_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soulexpansion\\new_soulexpansion_hit\\new_soulexpansion_hit.str");
|
|
} else {
|
|
particle->Open("new_soulexpansion\\new_soulexpansion_hit\\new_soulexpansion_hit.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOULEXPANSION_HIT_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soulexpansion\\new_soulexpansion_hit_bottom\\new_soulexpansion_hit_bottom.str");
|
|
} else {
|
|
particle->Open("new_soulexpansion\\new_soulexpansion_hit_bottom\\new_soulexpansion_hit_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AROMAOIL:
|
|
particle->Open("new_aromaoil\\new_aromaoil\\new_aromaoil_combine.str");
|
|
break;
|
|
case EF_NEW_AROMAOIL_BOTTOM:
|
|
particle->Open("new_aromaoil\\new_aromaoil_bottom\\new_aromaoil_bottom.str");
|
|
break;
|
|
case EF_NEW_BATHFOAM:
|
|
particle->Open("new_bathfoam\\new_bathfoam\\new_bathfoam.str");
|
|
break;
|
|
case EF_NEW_BATHFOAM_BOTTOM:
|
|
particle->Open("new_bathfoam\\new_bathfoam_bottom\\new_bathfoam_bottom.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_CORE_REUSE:
|
|
particle->Open("tetravortex\\tetra_ball_00_core\\tetra_ball_00_core.str");
|
|
break;
|
|
case EF_GRADE_ENCHANT_INTRO:
|
|
particle->Open("grade_enchant\\new_intro\\new_intro.str");
|
|
break;
|
|
case EF_GRADE_ENCHANT_SUCCESS:
|
|
particle->Open("grade_enchant\\new_success\\new_success.str");
|
|
break;
|
|
case EF_GRADE_ENCHANT_FAILED:
|
|
particle->Open("grade_enchant\\new_failed\\new_failed.str");
|
|
break;
|
|
case EF_BLUE_WAVE_1:
|
|
particle->Open("blue_wave\\ef_mon_electric.str");
|
|
break;
|
|
case EF_BLUE_WAVE_2:
|
|
particle->Open("blue_wave\\ef_mon_electric2.str");
|
|
break;
|
|
case EF_BLUE_WAVE_3:
|
|
particle->Open("blue_wave\\ef_mon_electric3.str");
|
|
break;
|
|
case EF_RED_WAVE_1:
|
|
particle->Open("red_wave\\ef_mon_explodngwave.str");
|
|
break;
|
|
case EF_RED_WAVE_2:
|
|
particle->Open("red_wave\\ef_mon_explodngwave2.str");
|
|
break;
|
|
case EF_RED_WAVE_3:
|
|
particle->Open("red_wave\\ef_mon_explodngwave3.str");
|
|
break;
|
|
case EF_NEW_WALLOFTHORN_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_wallofthorn\\new_wallofthorn_cast\\new_wallofthorn_cast.str");
|
|
} else {
|
|
particle->Open("new_wallofthorn\\new_wallofthorn_cast\\new_wallofthorn_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_WALLOFTHORN_CAST_BOTTOM:
|
|
particle->Open("new_wallofthorn\\new_wallofthorn_cast_bottom\\new_wallofthorn_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_IGNITIONBREAK:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_ignitionbreak\\new_ignitionbreak\\new_ignitionbreak.str");
|
|
} else {
|
|
particle->Open("new_ignitionbreak\\new_ignitionbreak\\new_ignitionbreak.str");
|
|
}
|
|
break;
|
|
case EF_NEW_IGNITIONBREAK_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_ignitionbreak\\new_ignitionbreak_bottom\\new_ignitionbreak_bottom.str");
|
|
} else {
|
|
particle->Open("new_ignitionbreak\\new_ignitionbreak_bottom\\new_ignitionbreak_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_IGNITIONBREAK_CAST:
|
|
particle->Open("new_ignitionbreak\\new_ignitionbreak_cast\\new_ignitionbreak_cast.str");
|
|
break;
|
|
case EF_NEW_JUDEX_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_cast\\new_judex_cast.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_cast\\new_judex_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_JUDEX_CAST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_cast_bottom\\new_judex_cast_bottom.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_cast_bottom\\new_judex_cast_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_JUDEX_CAST_LOOP:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_cast_loop\\new_judex_cast_loop.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_cast_loop\\new_judex_cast_loop.str");
|
|
}
|
|
break;
|
|
case EF_NEW_JUDEX_CAST_LOOP_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_cast_loop_bottom\\new_judex_cast_loop_bottom.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_cast_loop_bottom\\new_judex_cast_loop_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_JUDEX_TARGET:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_target\\new_judex_target.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_target\\new_judex_target.str");
|
|
}
|
|
break;
|
|
case EF_NEW_JUDEX_TARGET_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_target_bottom\\new_judex_target_bottom.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_target_bottom\\new_judex_target_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_JUDEX_LIGHT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_light\\new_judex_light.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_light\\new_judex_light.str");
|
|
}
|
|
break;
|
|
case EF_NEW_JUDEX_LIGHT_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_judex\\new_judex_light_bottom\\new_judex_light_bottom.str");
|
|
} else {
|
|
particle->Open("new_judex\\new_judex_light_bottom\\new_judex_light_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CHAINLIGHTNING_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_chainlightning\\new_chainlightning_cast\\new_chainlightning_cast.str");
|
|
} else {
|
|
particle->Open("new_chainlightning\\new_chainlightning_cast\\new_chainlightning_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CHAINLIGHTNING_CAST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_chainlightning\\new_chainlightning_cast_bottom\\new_chainlightning_cast_bottom.str");
|
|
} else {
|
|
particle->Open("new_chainlightning\\new_chainlightning_cast_bottom\\new_chainlightning_cast_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CHAINLIGHTNING_LOCKON:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_chainlightning\\new_chainlightning_lockon\\new_chainlightning_lockon.str");
|
|
} else {
|
|
particle->Open("new_chainlightning\\new_chainlightning_lockon\\new_chainlightning_lockon.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CHAINLIGHTNING_TARGET:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_chainlightning\\new_chainlightning_target\\new_chainlightning_target.str");
|
|
} else {
|
|
particle->Open("new_chainlightning\\new_chainlightning_target\\new_chainlightning_target.str");
|
|
}
|
|
break;
|
|
case EF_NEW_MANDRAGORA:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_mandragora\\new_mandragora\\new_mandragora.str");
|
|
} else {
|
|
particle->Open("new_mandragora\\new_mandragora\\new_mandragora.str");
|
|
}
|
|
break;
|
|
case EF_NEW_MANDRAGORA_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_mandragora\\new_mandragora_bottom\\new_mandragora_bottom.str");
|
|
} else {
|
|
particle->Open("new_mandragora\\new_mandragora_bottom\\new_mandragora_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_MANDRAGORA_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_mandragora\\new_mandragora_cast\\new_mandragora_cast.str");
|
|
} else {
|
|
particle->Open("new_mandragora\\new_mandragora_cast\\new_mandragora_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOUNDOFDESTRUCTION_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soundofdestruction\\new_soundofdestruction_cast\\new_soundofdestruction_cast.str");
|
|
} else {
|
|
particle->Open("new_soundofdestruction\\new_soundofdestruction_cast\\new_soundofdestruction_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOUNDOFDESTRUCTION_CAST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soundofdestruction\\new_soundofdestruction_cast_bottom\\new_soundofdestruction_cast_bottom.str");
|
|
} else {
|
|
particle->Open("new_soundofdestruction\\new_soundofdestruction_cast_bottom\\new_soundofdestruction_cast_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SOUNDOFDESTRUCTION_TARGET:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_soundofdestruction\\new_soundofdestruction_target\\new_soundofdestruction_target.str");
|
|
} else {
|
|
particle->Open("new_soundofdestruction\\new_soundofdestruction_target\\new_soundofdestruction_target.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_01:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_aimedbolt\\new_aimedbolt_attack_01clock\\new_aimedbolt_attack_01clock.str");
|
|
} else {
|
|
particle->Open("new_aimedbolt\\new_aimedbolt_attack_01clock\\new_aimedbolt_attack_01clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_05:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_aimedbolt\\new_aimedbolt_attack_05clock\\new_aimedbolt_attack_05clock.str");
|
|
} else {
|
|
particle->Open("new_aimedbolt\\new_aimedbolt_attack_05clock\\new_aimedbolt_attack_05clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_07:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_aimedbolt\\new_aimedbolt_attack_07clock\\new_aimedbolt_attack_07clock.str");
|
|
} else {
|
|
particle->Open("new_aimedbolt\\new_aimedbolt_attack_07clock\\new_aimedbolt_attack_07clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_11:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_aimedbolt\\new_aimedbolt_attack_11clock\\new_aimedbolt_attack_11clock.str");
|
|
} else {
|
|
particle->Open("new_aimedbolt\\new_aimedbolt_attack_11clock\\new_aimedbolt_attack_11clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_CAST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_aimedbolt\\new_aimedbolt_cast_bottom\\new_aimedbolt_cast_bottom.str");
|
|
} else {
|
|
particle->Open("new_aimedbolt\\new_aimedbolt_cast_bottom\\new_aimedbolt_cast_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_END:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_aimedbolt\\new_aimedbolt_target_end\\new_aimedbolt_end.str");
|
|
} else {
|
|
particle->Open("new_aimedbolt\\new_aimedbolt_target_end\\new_aimedbolt_end.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AIMEDBOLT_TARGET_LOOP:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_aimedbolt\\new_aimedbolt_target_loop\\new_aimedbolt_target_loop.str");
|
|
} else {
|
|
particle->Open("new_aimedbolt\\new_aimedbolt_target_loop\\new_aimedbolt_target_loop.str");
|
|
}
|
|
break;
|
|
case EF_NEW_UNLIMIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_unlimit\\new_unlimit\\new_unlimit.str");
|
|
} else {
|
|
particle->Open("new_unlimit\\new_unlimit\\new_unlimit.str");
|
|
}
|
|
break;
|
|
case EF_NEW_UNLIMIT_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_unlimit\\new_unlimit_bottom\\new_unlimit_bottom.str");
|
|
} else {
|
|
particle->Open("new_unlimit\\new_unlimit_bottom\\new_unlimit_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_EPICLESIS:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_epiclesis\\new_epiclesis_combine.str");
|
|
} else {
|
|
particle->Open("new_epiclesis\\new_epiclesis_combine\\new_epiclesis_combine.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AXEBOOMERANG_CAST:
|
|
particle->Open("new_axeboomerang\\new_axeboomerang_cast\\new_axeboomerang_cast.str");
|
|
break;
|
|
case EF_NEW_AXEBOOMERANG_CAST_BOTTOM:
|
|
particle->Open("new_axeboomerang\\new_axeboomerang_cast_bottom\\new_axeboomerang_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_AXEBOOMERANG_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_axeboomerang\\new_axeboomerang_hit\\new_axeboomerang_hit.str");
|
|
} else {
|
|
particle->Open("new_axeboomerang\\new_axeboomerang_hit\\new_axeboomerang_hit.str");
|
|
}
|
|
break;
|
|
case EF_HACKANDSLASH:
|
|
particle->Load("hackandslash\\hackandslash\\hackandslash.str");
|
|
break;
|
|
case EF_HACKANDSLASH_BOTTOM:
|
|
particle->Load("hackandslash\\hackandslash_bottom\\hackandslash_bottom.str");
|
|
break;
|
|
case EF_HACKANDSLASH_HIT:
|
|
particle->Load("hackandslash\\hackandslash_hit\\hackandslash_hit.str");
|
|
break;
|
|
case EF_NEW_SPELLFIST_FIRE:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_spellfist\\new_spellfist_fire\\new_spellfist_fire.str");
|
|
} else {
|
|
particle->Open("new_spellfist\\new_spellfist_fire\\new_spellfist_fire.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SPELLFIST_FIRE_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_spellfist\\new_spellfist_fire_bottom\\new_spellfist_fire_bottom.str");
|
|
} else {
|
|
particle->Open("new_spellfist\\new_spellfist_fire_bottom\\new_spellfist_fire_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SPELLFIST_WATER:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_spellfist\\new_spellfist_water\\new_spellfist_water.str");
|
|
} else {
|
|
particle->Open("new_spellfist\\new_spellfist_water\\new_spellfist_water.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SPELLFIST_WATER_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_spellfist\\new_spellfist_water_bottom\\new_spellfist_water_bottom.str");
|
|
} else {
|
|
particle->Open("new_spellfist\\new_spellfist_water_bottom\\new_spellfist_water_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SPELLFIST_WIND:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_spellfist\\new_spellfist_wind\\new_spellfist_wind.str");
|
|
} else {
|
|
particle->Open("new_spellfist\\new_spellfist_wind\\new_spellfist_wind.str");
|
|
}
|
|
break;
|
|
case EF_STORMSLASH_1:
|
|
particle->Load("stormslash\\stormslash\\stormslash_1.str");
|
|
break;
|
|
case EF_STORMSLASH_2:
|
|
particle->Load("stormslash\\stormslash\\stormslash_2.str");
|
|
break;
|
|
case EF_STORMSLASH_3:
|
|
particle->Load("stormslash\\stormslash\\stormslash_3.str");
|
|
break;
|
|
case EF_STORMSLASH_4:
|
|
particle->Load("stormslash\\stormslash\\stormslash_4.str");
|
|
break;
|
|
case EF_STORMSLASH_5:
|
|
particle->Load("stormslash\\stormslash\\stormslash_5.str");
|
|
break;
|
|
case EF_NEW_CARTBOOST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_cartboost\\new_cartboost\\new_cartboost.str");
|
|
} else {
|
|
particle->Open("new_cartboost\\new_cartboost\\new_cartboost.str");
|
|
}
|
|
break;
|
|
case EF_NEW_CARTBOOST_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_cartboost\\new_cartboost_bottom\\new_cartboost_bottom.str");
|
|
} else {
|
|
particle->Open("new_cartboost\\new_cartboost_bottom\\new_cartboost_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_01:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_01_clock\\new_overbrand_01_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_01_clock\\new_overbrand_01_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_03:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_03_clock\\new_overbrand_03_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_03_clock\\new_overbrand_03_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_05:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_05_clock\\new_overbrand_05_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_05_clock\\new_overbrand_05_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_06:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_06_clock\\new_overbrand_06_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_06_clock\\new_overbrand_06_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_07:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_07_clock\\new_overbrand_07_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_07_clock\\new_overbrand_07_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_09:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_09_clock\\new_overbrand_09_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_09_clock\\new_overbrand_09_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_11:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_11_clock\\new_overbrand_11_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_11_clock\\new_overbrand_11_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_12:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_12_clock\\new_overbrand_12_clock.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_12_clock\\new_overbrand_12_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_CAST:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_cast\\new_overbrand_cast.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_cast\\new_overbrand_cast.str");
|
|
}
|
|
break;
|
|
case EF_NEW_OVERBRAND_CAST_BOTTOM:
|
|
particle->Open("new_overbrand\\new_overbrand_cast_bottom\\new_overbrand_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_OVERBRAND_HIT:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_overbrand\\new_overbrand_hit\\new_overbrand_hit.str");
|
|
} else {
|
|
particle->Open("new_overbrand\\new_overbrand_hit\\new_overbrand_hit.str");
|
|
}
|
|
break;
|
|
case EF_NEW_WINDCUTTER:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_windcutter\\new_windcutter\\new_windcutter.str");
|
|
} else {
|
|
particle->Open("new_windcutter\\new_windcutter\\new_windcutter.str");
|
|
}
|
|
break;
|
|
case EF_NEW_WINDCUTTER_BOTTOM_01:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_windcutter\\new_windcutter_bottom_01clock\\new_windcutter_bottom_01clock.str");
|
|
} else {
|
|
particle->Open("new_windcutter\\new_windcutter_bottom_01clock\\new_windcutter_bottom_01clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_WINDCUTTER_BOTTOM_05:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_windcutter\\new_windcutter_bottom_05clock\\new_windcutter_bottom_05clock.str");
|
|
} else {
|
|
particle->Open("new_windcutter\\new_windcutter_bottom_05clock\\new_windcutter_bottom_05clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_WINDCUTTER_TARGET:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_windcutter\\new_windcutter_target\\new_windcutter_target.str");
|
|
} else {
|
|
particle->Open("new_windcutter\\new_windcutter_target\\new_windcutter_target.str");
|
|
}
|
|
break;
|
|
case EF_NEW_SERVANTWEAPON_HIT:
|
|
particle->Load("new_servantweapon\\new_servantweapon_hit\\new_servantweapon_hit.str");
|
|
break;
|
|
case EF_NEW_SERVANTWEAPON_HIT_BOTTOM:
|
|
particle->Load("new_servantweapon\\new_servantweapon_hit_bottom\\new_servantweapon_hit_bottom.str");
|
|
break;
|
|
case EF_NEW_SERVANTWEAPON_SHOOT_BOTTOM:
|
|
particle->Load("new_servantweapon\\new_servantweapon_shoot_bottom\\new_servantweapon_shoot_bottom.str");
|
|
break;
|
|
case EF_NEW_POWERSWING_01:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_powerswing\\new_powerswing_01_clock\\new_powerswing_01_clock.str");
|
|
} else {
|
|
particle->Open("new_powerswing\\new_powerwing_01_clock\\new_powerwing_01_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_POWERSWING_05:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_powerswing\\new_powerswing_05_clock\\new_powerswing_05_clock.str");
|
|
} else {
|
|
particle->Open("new_powerswing\\new_powerwing_05_clock\\new_powerwing_05_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_POWERSWING_07:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_powerswing\\new_powerswing_07_clock\\new_powerswing_07_clock.str");
|
|
} else {
|
|
particle->Open("new_powerswing\\new_powerwing_07_clock\\new_powerwing_07_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_POWERSWING_11:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_powerswing\\new_powerswing_11_clock\\new_powerswing_11_clock.str");
|
|
} else {
|
|
particle->Open("new_powerswing\\new_powerwing_11_clock\\new_powerwing_11_clock.str");
|
|
}
|
|
break;
|
|
case EF_NEW_POWERSWING_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_powerswing\\new_powerswing_bottom\\new_powerswing_bottom.str");
|
|
} else {
|
|
particle->Open("new_powerswing\\new_powerswing_bottom\\new_powerswing_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_VULCANARM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_vulcanarm\\new_vulcanarm\\new_vulcanarm.str");
|
|
} else {
|
|
particle->Open("new_vulcanarm\\new_vulcanarm\\new_vulcanarm.str");
|
|
}
|
|
break;
|
|
case EF_NEW_VULCANARM_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_vulcanarm\\new_vulcanarm_bottom\\new_vulcanarm_bottom.str");
|
|
} else {
|
|
particle->Open("new_vulcanarm\\new_vulcanarm_bottom\\new_vulcanarm_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_VULCANARM_SHOTHOLE:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_vulcanarm\\new_vulcanarm_shothole\\new_vulcanarm_shothole.str");
|
|
} else {
|
|
particle->Open("new_vulcanarm\\new_vulcanarm_shothole\\new_vulcanarm_shothole.str");
|
|
}
|
|
break;
|
|
case EF_NEW_EARTHDRIVE:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_earthdrive\\new_earthdrive\\new_earthdrive.str");
|
|
} else {
|
|
particle->Open("new_earthdrive\\new_earthdrive\\new_earthdrive.str");
|
|
}
|
|
break;
|
|
case EF_NEW_EARTHDRIVE_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_earthdrive\\new_earthdrive_bottom\\new_earthdrive_bottom.str");
|
|
} else {
|
|
particle->Open("new_earthdrive\\new_earthdrive_bottom\\new_earthdrive_bottom.str");
|
|
}
|
|
break;
|
|
case EF_NEW_EARTHDRIVE_TARGET:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_earthdrive\\new_earthdrive_target\\new_earthdrive_target.str");
|
|
} else {
|
|
particle->Open("new_earthdrive\\new_earthdrive_target\\new_earthdrive_target.str");
|
|
}
|
|
break;
|
|
case EF_SERVANT_SIGN:
|
|
particle->Load("servant_sign\\servant_sign\\servant_sign.str");
|
|
break;
|
|
case EF_SERVANT_SIGN_BOTTOM:
|
|
particle->Load("servant_sign\\servant_sign_bottom\\servant_sign_bottom.str");
|
|
break;
|
|
case EF_SERVANT_SIGN_DOWN:
|
|
particle->Load("servant_sign\\servant_sign_down\\servant_sign_down.str");
|
|
break;
|
|
case EF_SERVANT_SIGN_DOWN_BOTTOM:
|
|
particle->Load("servant_sign\\servant_sign_down_bottom\\servant_sign_down_bottom.str");
|
|
break;
|
|
case EF_SERVANT_PHANTOM_DOWN:
|
|
particle->Load("servant_phantom\\servant_phantom_down\\servant_phantom_down.str");
|
|
break;
|
|
case EF_SERVANT_PHANTOM_HIT:
|
|
particle->Load("servant_phantom\\servant_phantom_hit\\servant_phantom_hit.str");
|
|
break;
|
|
case EF_SERVANT_PHANTOM_HIT_BOTTOM:
|
|
particle->Load("servant_phantom\\servant_phantom_hit_bottom\\servant_phantom_hit_bottom.str");
|
|
break;
|
|
case EF_SERVANT_PHANTOM_SUB:
|
|
particle->Load("servant_phantom\\servant_phantom_sub\\servant_phantom_sub.str");
|
|
break;
|
|
case EF_SERVANT_PHANTOM_SUB_BOTTOM:
|
|
particle->Load("servant_phantom\\servant_phantom_sub_bottom\\servant_phantom_sub_bottom.str");
|
|
break;
|
|
case EF_SERVANT_DEMOLITION_COLLECT:
|
|
particle->Load("servant_demolition\\servant_demolition_collect\\servant_demolition_collect.str");
|
|
break;
|
|
case EF_SERVANT_DEMOLITION_HIT:
|
|
particle->Load("servant_demolition\\servant_demolition_hit\\servant_demolition_hit.str");
|
|
break;
|
|
case EF_SERVANT_DEMOLITION_LEFTDOWN:
|
|
particle->Load("servant_demolition\\servant_demolition_leftdown\\servant_demolition_leftdown.str");
|
|
break;
|
|
case EF_SERVANT_DEMOLITION_RIGHTDOWN:
|
|
particle->Load("servant_demolition\\servant_demolition_rightdown\\servant_demolition_rightdown.str");
|
|
break;
|
|
case EF_DRAGONIC_AURA:
|
|
particle->Load("dragonnic_ora\\dragonnic_ora\\dragonnic_ora.str");
|
|
break;
|
|
case EF_DRAGONIC_AURA_BOTTOM:
|
|
particle->Load("dragonnic_ora\\dragonnic_ora_bottom\\dragonnic_ora_bottom.str");
|
|
break;
|
|
case EF_DRAGONIC_AURA_HIT:
|
|
particle->Load("dragonnic_ora\\dragonnic_ora_hit\\dragonnic_ora_hit.str");
|
|
break;
|
|
case EF_DRAGONIC_AURA_HIT_BOTTOM:
|
|
particle->Load("dragonnic_ora\\dragonnic_ora_hit_bottom\\dragonnic_ora_hit_bottom.str");
|
|
break;
|
|
case EF_DRAGONIC_AURA_BUFF:
|
|
particle->Load("dragonnic_ora\\dragonnic_ora_buff\\dragonnic_ora_buff.str");
|
|
break;
|
|
case EF_DRAGONIC_AURA_BUFF_BOTTOM:
|
|
particle->Load("dragonnic_ora\\dragonnic_ora_buff_bottom\\dragonnic_ora_buff_bottom.str");
|
|
break;
|
|
case EF_MADNESS_CRUSHER:
|
|
particle->Load("madness_crusher\\madness_crusher\\madness_crusher.str");
|
|
break;
|
|
case EF_MADNESS_CRUSHER_BOTTOM:
|
|
particle->Load("madness_crusher\\madness_crusher_bottom\\madness_crusher_bottom.str");
|
|
break;
|
|
case EF_VIGOR_CAST:
|
|
particle->Load("vigor\\vigor_cast\\vigor_cast.str");
|
|
break;
|
|
case EF_VIGOR_BUFF:
|
|
particle->Load("vigor\\vigor_buff\\vigor_buff.str");
|
|
break;
|
|
case EF_NEW_AUTOSHADOWSPELL:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_autoshadowspell\\new_autoshadowspell\\new_autoshadowspell.str");
|
|
} else {
|
|
particle->Open("new_autoshadowspell\\new_autoshadowspell\\new_autoshadowspell.str");
|
|
}
|
|
break;
|
|
case EF_NEW_AUTOSHADOWSPELL_BOTTOM:
|
|
if (g_serviceOptions.Get(229)) {
|
|
particle->Open("mineffect\\new_autoshadowspell\\new_autoshadowspell_bottom\\new_autoshadowspell_bottom.str");
|
|
} else {
|
|
particle->Open("new_autoshadowspell\\new_autoshadowspell_bottom\\new_autoshadowspell_bottom.str");
|
|
}
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE:
|
|
particle->Load("destructive_hurricane\\destructive_hurricane\\destructive_hurricane.str");
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM:
|
|
particle->Load("destructive_hurricane\\destructive_hurricane_bottom\\destructive_hurricane_bottom.str");
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_CAST:
|
|
particle->Load("destructive_hurricane\\destructive_hurricane_cast\\destructive_hurricane_cast.str");
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_CAST_BOTTOM:
|
|
particle->Load("destructive_hurricane\\destructive_hurricane_cast_bottom\\destructive_hurricane_cast_bottom.str");
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_CLIMAX:
|
|
particle->Load("destructive_hurricane\\destructive_hurricane_climax\\destructive_hurricane_climax.str");
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_HIT:
|
|
particle->Load("destructive_hurricane\\destructive_hurricane_hit\\destructive_hurricane_hit.str");
|
|
break;
|
|
case EF_DEADLY_PROJECTION_CAST:
|
|
particle->Load("deadly_projection\\deadly_projection_cast\\deadly_projection_cast.str");
|
|
break;
|
|
case EF_DEADLY_PROJECTION_CAST_BOTTOM:
|
|
particle->Load("deadly_projection\\deadly_projection_cast_bottom\\deadly_projection_cast_bottom.str");
|
|
break;
|
|
case EF_DEADLY_PROJECTION_HIT:
|
|
particle->Load("deadly_projection\\deadly_projection_hit\\deadly_projection_hit.str");
|
|
break;
|
|
case EF_DEADLY_PROJECTION:
|
|
particle->Load("deadly_projection\\efst_deadly_defeasance\\efst_deadly_defeasance.str");
|
|
break;
|
|
case EF_SOUL_VC_STRIKE_CAST:
|
|
particle->Load("soul_vc_strike\\soul_vc_strike_cast\\soul_vc_strike_cast.str");
|
|
break;
|
|
case EF_SOUL_VC_STRIKE_CAST_BOTTOM:
|
|
particle->Load("soul_vc_strike\\soul_vc_strike_cast_bottom\\soul_vc_strike_cast_bottom.str");
|
|
break;
|
|
case EF_SOUL_VC_STRIKE_HIT:
|
|
particle->Load("soul_vc_strike\\soul_vc_strike_hit\\soul_vc_strike_hit.str");
|
|
break;
|
|
case EF_ROCKDOWN:
|
|
particle->Load("rockdown\\rockdown\\rockdown.str");
|
|
break;
|
|
case EF_ROCKDOWN_BOTTOM:
|
|
particle->Load("rockdown\\rockdown_bottom\\rockdown_bottom.str");
|
|
break;
|
|
case EF_ROCKDOWN_CAST:
|
|
particle->Load("rockdown\\rockdown_cast\\rockdown_cast.str");
|
|
break;
|
|
case EF_ROCKDOWN_CAST_BOTTOM:
|
|
particle->Load("rockdown\\rockdown_cast_bottom\\rockdown_cast_bottom.str");
|
|
break;
|
|
case EF_ROCKDOWN_HIT:
|
|
particle->Load("rockdown\\rockdown_hit\\rockdown_hit.str");
|
|
break;
|
|
case EF_RAIN_OF_CRYSTAL:
|
|
particle->Load("rain_of_crystal\\rain_of_crystal_casting\\rain_of_crystal_casting.str");
|
|
break;
|
|
case EF_RAIN_OF_CRYSTAL_BOTTOM:
|
|
particle->Load("rain_of_crystal\\rain_of_crystal_casting_bottom\\rain_of_crystal_casting_bottom.str");
|
|
break;
|
|
case EF_CRIMSON_ARROW_CAST:
|
|
particle->Load("crimsonarrow\\crimsonarrow_cast\\crimsonarrow_cast.str");
|
|
break;
|
|
case EF_CRIMSON_ARROW_CAST_BOTTOM:
|
|
particle->Load("crimsonarrow\\crimsonarrow_cast_bottom\\crimsonarrow_cast_bottom.str");
|
|
break;
|
|
case EF_CRIMSON_ARROW_HIT:
|
|
particle->Load("crimsonarrow\\crimsonarrow_hit\\crimsonarrow_hit.str");
|
|
break;
|
|
case EF_VIOLENT_QUAKE_CAST:
|
|
particle->Load("violentquake\\violentquake_cast\\violentquake_cast.str");
|
|
break;
|
|
case EF_VIOLENT_QUAKE_CAST_BOTTOM:
|
|
particle->Load("violentquake\\violentquake_cast_bottom\\violentquake_cast_bottom.str");
|
|
break;
|
|
case EF_VIOLENT_QUAKE_HIT:
|
|
particle->Load("violentquake\\violentquake_hit\\violentquake_hit.str");
|
|
break;
|
|
case EF_VIOLENT_QUAKE_BOTTOM:
|
|
particle->Load("violentquake\\violentquake_bottom\\violentquake_bottom.str");
|
|
break;
|
|
case EF_NEW_CHARGINGPIERCE_CAST:
|
|
particle->Load("new_chargingpierce\\new_chargingpierce_cast\\new_chargingpierce_cast.str");
|
|
break;
|
|
case EF_NEW_CHARGINGPIERCE_CAST_BOTTOM:
|
|
particle->Load("new_chargingpierce\\new_chargingpierce_cast_bottom\\new_chargingpierce_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_CHARGINGPIERCE_HIT:
|
|
particle->Load("new_chargingpierce\\new_chargingpierce_hit\\new_chargingpierce_hit.str");
|
|
break;
|
|
case EF_ASTRAL_STRIKE_CAST:
|
|
particle->Load("astralstrike\\astralstrike_cast\\astralstrike_cast.str");
|
|
break;
|
|
case EF_ASTRAL_STRIKE_CAST_BOTTOM:
|
|
particle->Load("astralstrike\\astralstrike_cast_bottom\\astralstrike_cast_bottom.str");
|
|
break;
|
|
case EF_MYSTERY_ILLUSION:
|
|
particle->Load("mystery_illusion\\mystery_illusion\\mystery_illusion.str");
|
|
break;
|
|
case EF_MYSTERY_ILLUSION_BOTTOM:
|
|
particle->Load("mystery_illusion\\mystery_illusion_bottom\\mystery_illusion_bottom.str");
|
|
break;
|
|
case EF_MYSTERY_ILLUSION_CAST:
|
|
particle->Load("mystery_illusion\\mystery_illusion_cast\\mystery_illusion_cast.str");
|
|
break;
|
|
case EF_MYSTERY_ILLUSION_CAST_BOTTOM:
|
|
particle->Load("mystery_illusion\\mystery_illusion_cast_bottom\\mystery_illusion_cast_bottom.str");
|
|
break;
|
|
case EF_MYSTERY_ILLUSION_HIT:
|
|
particle->Load("mystery_illusion\\mystery_illusion_hit\\mystery_illusion_hit.str");
|
|
break;
|
|
case EF_TORNADO_STORM:
|
|
particle->Load("tornadostorm\\tornadostorm\\tornadostorm.str");
|
|
break;
|
|
case EF_TORNADO_STORM_BOTTOM:
|
|
particle->Load("tornadostorm\\tornadostorm_bottom\\tornadostorm_bottom.str");
|
|
break;
|
|
case EF_TORNADO_STORM_CAST:
|
|
particle->Load("tornadostorm\\tornadostorm_cast\\tornadostorm_cast.str");
|
|
break;
|
|
case EF_TORNADO_STORM_CAST_BOTTOM:
|
|
particle->Load("tornadostorm\\tornadostorm_cast_bottom\\tornadostorm_cast_bottom.str");
|
|
break;
|
|
case EF_TORNADO_STORM_HIT:
|
|
particle->Load("tornadostorm\\tornadostorm_hit\\tornadostorm_hit.str");
|
|
break;
|
|
case EF_FROZEN_SLASH:
|
|
particle->Load("frozen_slash\\frozen_slash\\frozen_slash.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_CAST:
|
|
particle->Load("frozen_slash\\frozen_slash_casting\\frozen_slash_cast.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_CAST_BOTTOM:
|
|
particle->Load("frozen_slash\\frozen_slash_casting_bottom\\frozen_slash_cast_bottom.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_HIT:
|
|
particle->Load("frozen_slash\\frozen_slash_hit\\frozen_slash_hit.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_01:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_01.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_02:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_02.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_03:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_03.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_04:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_04.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_05:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_05.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_06:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_06.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_07:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_07.str");
|
|
break;
|
|
case EF_FROZEN_SLASH_ICE_08:
|
|
particle->Load("frozen_slash\\frozen_slash_ice\\frozen_slash_ice_08.str");
|
|
break;
|
|
case EF_ALL_BLOOM:
|
|
particle->Load("allbloom\\allbloom\\allbloom.str");
|
|
break;
|
|
case EF_ALL_BLOOM_BOTTOM:
|
|
particle->Load("allbloom\\allbloom_bottom\\allbloom_bottom.str");
|
|
break;
|
|
case EF_ALL_BLOOM_CAST:
|
|
particle->Load("allbloom\\allbloom_cast\\allbloom_cast.str");
|
|
break;
|
|
case EF_ALL_BLOOM_CAST_BOTTOM:
|
|
particle->Load("allbloom\\allbloom_cast_bottom\\allbloom_cast_bottom.str");
|
|
break;
|
|
case EF_ALL_BLOOM_HIT:
|
|
particle->Load("allbloom\\allbloom_hit\\allbloom_hit.str");
|
|
break;
|
|
case EF_CLIMAX_LIGHT:
|
|
particle->Load("climax\\climax_light\\climax_light.str");
|
|
break;
|
|
case EF_CLIMAX_CAST:
|
|
particle->Load("climax\\climax_cast\\climax_cast.str");
|
|
break;
|
|
case EF_CLIMAX_CAST_LOOP:
|
|
particle->Load("climax\\climax_cast_loop\\climax_cast_loop.str");
|
|
break;
|
|
case EF_FLORAL_FLARE_ROAD_CAST:
|
|
particle->Load("froral_flareroad\\froral_flareroad_cast\\froral_flareroad_cast.str");
|
|
break;
|
|
case EF_FLORAL_FLARE_ROAD_CAST_BOTTOM:
|
|
particle->Load("froral_flareroad\\froral_flareroad_cast_bottom\\froral_flareroad_cast_bottom.str");
|
|
break;
|
|
case EF_FLORAL_FLARE_ROAD_HIT:
|
|
particle->Load("froral_flareroad\\froral_flareroad_hit\\froral_flareroad_hit.str");
|
|
break;
|
|
case EF_MEDIALE_VOTUM:
|
|
particle->Load("medialevotum\\medialevotum\\medialevotum.str");
|
|
break;
|
|
case EF_MEDIALE_VOTUM_CAST:
|
|
particle->Load("medialevotum\\medialevotum_cast\\medialevotum_cast.str");
|
|
break;
|
|
case EF_MEDIALE_VOTUM_LOOP:
|
|
particle->Open("medialevotum\\medialevotum_loop\\medialevotum_loop.str");
|
|
break;
|
|
case EF_ARGUTUS_VITA:
|
|
particle->Load("argutusvita\\argutusvita\\argutusvita.str");
|
|
break;
|
|
case EF_ARGUTUS_VITA_CAST:
|
|
particle->Load("argutusvita\\argutusvita_cast\\argutusvita_cast.str");
|
|
break;
|
|
case EF_ARGUTUS_TELUM:
|
|
particle->Load("argutustelum\\argutustelum\\argutustelum.str");
|
|
break;
|
|
case EF_ARGUTUS_TELUM_CAST:
|
|
particle->Load("argutustelum\\argutustelum_cast\\argutustelum_cast.str");
|
|
break;
|
|
case EF_PRESENS_ACIES:
|
|
particle->Load("presensacies\\presensacies\\presensacies.str");
|
|
break;
|
|
case EF_PRESENS_ACIES_CAST:
|
|
particle->Load("presensacies\\presensacies_cast\\presensacies_cast.str");
|
|
break;
|
|
case EF_ABR_MOTHER_CAST:
|
|
particle->Load("new_abr_mother\\new_abr_mother_cast\\new_abr_mother_cast.str");
|
|
break;
|
|
case EF_ABR_MOTHER_01:
|
|
particle->Load("new_abr_mother\\new_abr_mother_01\\new_abr_mother_01.str");
|
|
break;
|
|
case EF_ABR_MOTHER_02:
|
|
particle->Load("new_abr_mother\\new_abr_mother_02\\new_abr_mother_02.str");
|
|
break;
|
|
case EF_NEW_D_MACHINE:
|
|
particle->Load("new_d_machine\\new_d_machine\\new_d_machine.str");
|
|
break;
|
|
case EF_NEW_D_MACHINE_CAST:
|
|
particle->Load("new_d_machine\\new_d_machine_cast\\new_d_machine_cast.str");
|
|
break;
|
|
case EF_NEW_D_MACHINE_CAST_BOTTOM:
|
|
particle->Load("new_d_machine\\new_d_machine_cast_bottom\\new_d_machine_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_D_MACHINE_START:
|
|
particle->Load("new_d_machine\\new_d_machine_start_end\\new_d_machine_start.str");
|
|
break;
|
|
case EF_NEW_D_MACHINE_END:
|
|
particle->Load("new_d_machine\\new_d_machine_start_end\\new_d_machine_end.str");
|
|
break;
|
|
case EF_A_MACHINE_CAST:
|
|
particle->Load("a_machine\\a_machine_cast\\a_machine_cast.str");
|
|
break;
|
|
case EF_A_MACHINE_HIT:
|
|
particle->Load("a_machine\\a_machine_hit\\a_machine_hit.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp\\new_axe_stomp.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_HIT:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_hit\\new_axe_stomp_hit.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_BOTTOM:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_bottom\\new_axe_stomp_bottom.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_12:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_12c\\new_axe_stomp_12c.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_01:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_01c\\new_axe_stomp_01c.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_03:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_03c\\new_axe_stomp_03.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_05:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_05c\\new_axe_stomp_05c.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_06:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_06c\\new_axe_stomp_06c.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_08:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_08c\\new_axe_stomp_08c.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_09:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_09c\\new_axe_stomp_09c.str");
|
|
break;
|
|
case EF_NEW_AXE_STOMP_11:
|
|
particle->Load("new_axe_stomp\\new_axe_stomp_11c\\new_axe_stomp_11c.str");
|
|
break;
|
|
case EF_NEW_RUSH_QUAKE:
|
|
particle->Load("new_rush_quake\\new_rush_quake\\new_rush_quake.str");
|
|
break;
|
|
case EF_NEW_RUSH_QUAKE_BOTTOM:
|
|
particle->Load("new_rush_quake\\new_rush_quake_bottom\\new_rush_quake.str");
|
|
break;
|
|
case EF_NEW_RUSH_QUAKE_HIT:
|
|
particle->Load("new_rush_quake\\new_rush_quake_hit\\new_rush_quake_hit.str");
|
|
break;
|
|
case EF_ARBITRIUM:
|
|
particle->Load("arbitrium\\arbitrium\\arbitrium.str");
|
|
break;
|
|
case EF_ARBITRIUM_BOTTOM:
|
|
particle->Load("arbitrium\\arbitrium_bottom\\arbitrium_bottom.str");
|
|
break;
|
|
case EF_ARBITRIUM_CAST:
|
|
particle->Open("arbitrium\\arbitrium_cast\\arbitrium_cast.str");
|
|
break;
|
|
case EF_ARBITRIUM_CAST_BOTTOM:
|
|
particle->Load("arbitrium\\arbitrium_cast_bottom\\arbitrium_cast_bottom.str");
|
|
break;
|
|
case EF_ARBITRIUM_HIT:
|
|
particle->Load("arbitrium\\arbitrium_hit\\arbitrium_hit.str");
|
|
break;
|
|
case EF_DANCING_KNIFE_CAST:
|
|
particle->Load("dancing_knife\\dancing_knife_cast\\dancing_knife_cast.str");
|
|
break;
|
|
case EF_DANCING_KNIFE_CAST_BOTTOM:
|
|
particle->Load("dancing_knife\\dancing_knife_cast_bottom\\dancing_knife_cast_bottom.str");
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT_1830:
|
|
particle->Load("abyss_dagger\\abyss_dagger_hit\\abyss_dagger_hit.str");
|
|
break;
|
|
case EF_ETERNAL_SLASH_HIT_1:
|
|
particle->Load("eternal_slash\\eternal_slash_hit\\eternal_slash_hit.str");
|
|
break;
|
|
case EF_NEW_REPARATIO_CAST:
|
|
particle->Open("new_reparatio\\new_reparatio_cast\\new_reparatio_cast.str");
|
|
break;
|
|
case EF_NEW_REPARATIO_CAST_BOTTOM:
|
|
particle->Load("new_reparatio\\new_reparatio_cast_bottom\\new_reparatio_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_REPARATIO:
|
|
particle->Load("new_reparatio\\new_reparatio\\new_reparatio.str");
|
|
break;
|
|
case EF_NEW_REPARATIO_BOTTOM:
|
|
particle->Load("new_reparatio\\new_reparatio_bottom\\new_reparatio_bottom.str");
|
|
break;
|
|
case EF_NEW_REPARATIO_TARGET:
|
|
particle->Load("new_reparatio\\new_reparatio_target\\new_reparatio_target.str");
|
|
break;
|
|
case EF_NEW_REPARATIO_TARGET_BOTTOM:
|
|
particle->Open("new_reparatio\\new_reparatio_target_bottom\\new_reparatio_target_bottom.str");
|
|
break;
|
|
case EF_EFFLIGO:
|
|
particle->Load("effligo\\effligo\\effligo.str");
|
|
break;
|
|
case EF_EFFLIGO_BOTTOM:
|
|
particle->Load("effligo\\effligo_bottom\\effligo_bottom.str");
|
|
break;
|
|
case EF_EFFLIGO_HIT:
|
|
particle->Load("effligo\\effligo_hit\\effligo_hit.str");
|
|
break;
|
|
case EF_COMPETENTIA:
|
|
particle->Load("competentia\\competentia\\competentia.str");
|
|
break;
|
|
case EF_COMPETENTIA_BOTTOM:
|
|
particle->Open("competentia\\competentia_bottom\\competentia_bottom.str");
|
|
break;
|
|
case EF_COMPETENTIA_LOOP:
|
|
particle->Open("competentia\\competentia_loop\\competentia_loop.str");
|
|
break;
|
|
case EF_COMPETENTIA_LOOP_BOTTOM:
|
|
particle->Load("competentia\\competentia_loop_bottom\\competentia_loop_bottom.str");
|
|
break;
|
|
case EF_PNEUMATICUS_PROCELLA_CAST:
|
|
particle->Load("pneumaticusprocella\\pneumaticusprocella_cast\\pneumaticusprocella_cast.str");
|
|
break;
|
|
case EF_NEW_PRAMEN_BOTTOM:
|
|
particle->Load("new_pramen\\new_pramen_bottom\\new_pramen_bottom.str");
|
|
break;
|
|
case EF_NEW_PRAMEN_CAST:
|
|
particle->Load("new_pramen\\new_pramen_cast\\new_pramen_cast.str");
|
|
break;
|
|
case EF_NEW_PRAMEN:
|
|
particle->Load("new_pramen\\new_pramen\\new_pramen.str");
|
|
break;
|
|
case EF_NEW_DILECTIO_HEAL:
|
|
particle->Load("new_dilectioheal\\new_dilectioheal\\new_dilectioheal.str");
|
|
break;
|
|
case EF_NEW_DILECTIO_HEAL_CAST:
|
|
particle->Open("new_dilectioheal\\new_dilectioheal_cast\\new_dilectioheal_cast.str");
|
|
break;
|
|
case EF_NEW_DILECTIO_HEAL_CAST_BOTTOM:
|
|
particle->Load("new_dilectioheal\\new_dilectioheal_cast_bottom\\new_dilectioheal_cast_bottom.str");
|
|
break;
|
|
case EF_NEW_DILECTIO_HEAL_TARGET:
|
|
particle->Load("new_dilectioheal\\new_dilectioheal_target\\new_dilectioheal_target.str");
|
|
break;
|
|
case EF_NEW_DILECTIO_HEAL_TARGET_BOTTOM:
|
|
particle->Load("new_dilectioheal\\new_dilectioheal_target_bottom\\new_dilectioheal_target_bottom.str");
|
|
break;
|
|
case EF_CRYSTAL_IMPACT:
|
|
particle->Load("crystal_impact\\crystal_impact\\crystal_impact.str");
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_BOTTOM:
|
|
particle->Load("crystal_impact\\crystal_impact_bottom\\crystal_impact_bottom.str");
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_CAST:
|
|
particle->Load("crystal_impact\\crystal_impact_cast\\crystal_impact_cast.str");
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_CAST_BOTTOM:
|
|
particle->Load("crystal_impact\\crystal_impact_cast_bottom\\crystal_impact_cast_bottom.str");
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_HIT:
|
|
particle->Load("crystal_impact\\crystal_impact_hit\\crystal_impact_hit.str");
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_BUFF:
|
|
particle->Load("crystal_impact\\crystal_impact_buff\\crystal_impact_buff.str");
|
|
break;
|
|
case EF_NEW_ENCHANTING_SHADOW:
|
|
particle->Load("enchanting_shadow\\enchanting_shadow\\new_enchanting_shadow.str");
|
|
break;
|
|
case EF_NEW_ENCHANTING_SHADOW_BOTTOM:
|
|
particle->Load("enchanting_shadow\\enchanting_shadow_bottom\\new_enchanting_shadow_bottom.str");
|
|
break;
|
|
case EF_FLAME_TRAP_HIT:
|
|
particle->Load("flametrap\\flametrap_hit\\flametrap_hit.str");
|
|
break;
|
|
case EF_FLAME_TRAP_CAST:
|
|
particle->Load("flametrap\\flametrap_cast\\flametrap_cast.str");
|
|
break;
|
|
case EF_FLAME_TRAP:
|
|
particle->Load("flametrap\\flametrap\\flametrap.str");
|
|
break;
|
|
case EF_RELIGIO:
|
|
particle->Load("religio\\religio\\religio.str");
|
|
break;
|
|
case EF_RELIGIO_CAST:
|
|
particle->Load("religio\\religio_cast\\religio_cast.str");
|
|
break;
|
|
case EF_FATAL_SHADOW_CROW:
|
|
particle->Load("fatal_shadow_crow\\fatal_shadow_crow\\fatal_shadow_crow.str");
|
|
break;
|
|
case EF_FATAL_SHADOW_CROW_BOTTOM:
|
|
particle->Load("fatal_shadow_crow\\fatal_shadow_crow_bottom\\fatal_shadow_crow_bottom.str");
|
|
break;
|
|
case EF_FATAL_SHADOW_CROW_HIT:
|
|
particle->Load("fatal_shadow_crow\\fatal_shadow_crow_hit\\fatal_shadow_crow_hit.str");
|
|
break;
|
|
case EF_SHADOW_EXCEED_CAST:
|
|
particle->Load("shadow_exceed\\shadow_exceed_cast\\shadow_exceed_cast.str");
|
|
break;
|
|
case EF_DEEP_BLIND_TRAP:
|
|
particle->Load("deepblindtrap\\deepblindtrap\\deepblindtrap.str");
|
|
break;
|
|
case EF_DEEP_BLIND_TRAP_CAST:
|
|
particle->Load("deepblindtrap\\deepblindtrap_cast\\deepblindtrap_cast.str");
|
|
break;
|
|
case EF_DEEP_BLIND_TRAP_HIT:
|
|
particle->Load("deepblindtrap\\deepblindtrap_hit\\deepblindtrap_hit.str");
|
|
break;
|
|
case EF_CALUMITYGALE:
|
|
particle->Load("4wh_calumitygale\\calumitygale\\calumitygale.str");
|
|
break;
|
|
case EF_CALUMITYGALE_CAST:
|
|
particle->Load("4wh_calumitygale\\calumitygale_cast\\calumitygale_cast.str");
|
|
break;
|
|
case EF_CALUMITYGALE_LOOP:
|
|
particle->Load("4wh_calumitygale\\calumitygale_loop\\calumitygale_loop.str");
|
|
break;
|
|
case EF_SWIFT_TRAP:
|
|
particle->Load("swifttrap\\swifttrap\\swifttrap.str");
|
|
break;
|
|
case EF_SWIFT_TRAP_CAST:
|
|
particle->Load("swifttrap\\swifttrap_cast\\swifttrap_cast.str");
|
|
break;
|
|
case EF_SWIFT_TRAP_HIT:
|
|
particle->Load("swifttrap\\swifttrap_hit\\swifttrap_hit.str");
|
|
break;
|
|
case EF_SOLID_TRAP:
|
|
particle->Load("solidtrap\\solidtrap\\solidtrap.str");
|
|
break;
|
|
case EF_SOLID_TRAP_CAST:
|
|
particle->Load("solidtrap\\solidtrap_cast\\solidtrap_cast.str");
|
|
break;
|
|
case EF_SOLID_TRAP_CAST_BOTTOM:
|
|
particle->Load("solidtrap\\solidtrap_cast_bottom\\solidtrap_cast_bottom.str");
|
|
break;
|
|
case EF_SOLID_TRAP_HIT:
|
|
particle->Load("solidtrap\\solidtrap_hit\\solidtrap_hit.str");
|
|
break;
|
|
case EF_BENEDICTUM:
|
|
particle->Load("benedictum\\benedictum\\benedictum.str");
|
|
break;
|
|
case EF_BENEDICTUM_CAST:
|
|
particle->Open("benedictum\\benedictum_cast\\benedictum_cast.str");
|
|
break;
|
|
case EF_BENEDICTUM_CAST_BOTTOM:
|
|
particle->Load("benedictum\\benedictum_cast_bottom\\benedictum_cast_bottom.str");
|
|
break;
|
|
case EF_STRATUM_TREMOR_CAST:
|
|
particle->Load("strantumtremor\\strantumtremor_cast\\strantumtremor_cast.str");
|
|
break;
|
|
case EF_STRATUM_TREMOR_CAST_BOTTOM:
|
|
particle->Load("strantumtremor\\strantumtremor_cast_bottom\\strantumtremor_cast_bottom.str");
|
|
break;
|
|
case EF_STRATUM_TREMOR_HIT:
|
|
particle->Load("strantumtremor\\strantumtremor_hit\\strantumtremor_hit.str");
|
|
break;
|
|
case EF_STRATUM_TREMOR:
|
|
particle->Load("strantumtremor\\strantumtremor\\strantumtremor.str");
|
|
break;
|
|
case EF_STRATUM_TREMOR_BOTTOM:
|
|
particle->Load("strantumtremor\\strantumtremor_bottom\\strantumtremor_bottom.str");
|
|
break;
|
|
case EF_IMPACT_CRATER:
|
|
particle->Load("impact_crater\\impact_crater\\impact_crater.str");
|
|
break;
|
|
case EF_IMPACT_CRATER_BOTTOM:
|
|
particle->Load("impact_crater\\impact_crater_bottom\\impact_crater_bottom.str");
|
|
break;
|
|
case EF_IMPACT_CRATER_HIT:
|
|
particle->Load("impact_crater\\impact_crater_hit\\impact_crater_hit.str");
|
|
break;
|
|
case EF_WIND_SIGN:
|
|
particle->Load("windsign\\windsign\\windsign.str");
|
|
break;
|
|
case EF_WIND_SIGN_LOOP:
|
|
particle->Load("windsign\\windsign_loop\\windsign_loop.str");
|
|
break;
|
|
case EF_ABR_INFINITY:
|
|
particle->Load("new_abr_infinity\\new_abr_infinity\\new_abr_infinity.str");
|
|
break;
|
|
case EF_ABR_INFINITY_BOTTOM:
|
|
particle->Load("new_abr_infinity\\new_abr_infinity_bottom\\new_abr_infinity_bottom.str");
|
|
break;
|
|
case EF_ABR_INFINITY_CAST:
|
|
particle->Load("new_abr_infinity\\new_abr_infinity_cast\\new_abr_infinity_cast.str");
|
|
break;
|
|
case EF_ABR_INFINITY_HIT:
|
|
particle->Load("new_abr_infinity\\new_abr_infinity_hit\\new_abr_infinity_hit.str");
|
|
break;
|
|
case EF_NEW_BATTLE_W:
|
|
particle->Load("new_battle_w\\new_battle_w\\new_battle_w.str");
|
|
break;
|
|
case EF_NEW_BATTLE_W_CAST:
|
|
particle->Load("new_battle_w\\new_battle_w_cast\\new_battle_w_cast.str");
|
|
break;
|
|
case EF_NEW_BATTLE_W_BOTTOM:
|
|
particle->Load("new_battle_w\\new_battle_w_bottom\\new_battle_w_bottom.str");
|
|
break;
|
|
case EF_NEW_BATTLE_W_HIT:
|
|
particle->Load("new_battle_w\\new_battle_w_hit\\new_battle_w_hit.str");
|
|
break;
|
|
case EF_NEW_D_CANNON:
|
|
particle->Load("new_d_cannon\\new_d_cannon\\new_d_cannon.str");
|
|
break;
|
|
case EF_NEW_D_CANNON_CAST:
|
|
particle->Load("new_d_cannon\\new_d_cannon_cast\\new_d_cannon_cast.str");
|
|
break;
|
|
case EF_NEW_D_CANNON_HIT:
|
|
particle->Load("new_d_cannon\\new_d_cannon_hit\\new_d_cannon_hit.str");
|
|
break;
|
|
case EF_HAWK_RUSH:
|
|
particle->Load("hawkrush\\hawkrush\\hawkrush.str");
|
|
break;
|
|
case EF_ETERNAL_SLASH_HIT_2:
|
|
particle->Load("eternal_slash\\eternal_slash_hit\\eternal_slash_hit.str");
|
|
break;
|
|
case EF_NEW_POTENT_VENOM:
|
|
particle->Load("new_potent_venom\\new_potent_venom.str");
|
|
break;
|
|
case EF_CRESCIVEBOLT_CAST:
|
|
particle->Load("crescivebolt\\crescivebolt_cast\\crescivebolt_cast.str");
|
|
break;
|
|
case EF_CRESCIVEBOLT_HIT:
|
|
particle->Load("crescivebolt\\crescivebolt_hit\\crescivebolt_hit.str");
|
|
break;
|
|
case EF_SHADOW_STAB:
|
|
particle->Load("shadow_stab\\shadow_stab\\shadow_stab.str");
|
|
break;
|
|
case EF_ETERNAL_SLASH_HIT:
|
|
particle->Load("eternal_slash\\eternal_slash_hit\\eternal_slash_hit.str");
|
|
break;
|
|
case EF_SHADOW_STAB_HIT2:
|
|
particle->Load("shadow_stab\\shadow_stab_hit2\\shadow_stab_hit2.str");
|
|
break;
|
|
case EF_FIRST_FAITH_POWER:
|
|
particle->Load("4ig_firstfaithpower\\firstfaithpower\\firstfaithpower.str");
|
|
break;
|
|
case EF_FIRST_FAITH_POWER_CAST:
|
|
particle->Load("4ig_firstfaithpower\\firstfaithpower_cast\\firstfaithpower_cast.str");
|
|
break;
|
|
case EF_FIRST_FAITH_POWER_START:
|
|
particle->Load("4ig_firstfaithpower\\firstfaithpower_start\\firstfaithpower_start.str");
|
|
break;
|
|
case EF_JUDGE:
|
|
particle->Load("4ig_judge\\judge\\judge.str");
|
|
break;
|
|
case EF_JUDGE_CAST:
|
|
particle->Load("4ig_judge\\judge_cast\\judge_cast.str");
|
|
break;
|
|
case EF_JUDGE_START:
|
|
particle->Load("4ig_judge\\judge_start\\judge_start.str");
|
|
break;
|
|
case EF_JUDGE_AURA:
|
|
if (!g_serviceOptions.Get(229)) {
|
|
particle->Open("4ig_judge\\judge_aura\\judge_aura.str");
|
|
}
|
|
break;
|
|
case EF_THIRD_EXOR_FLAME:
|
|
particle->Load("4ig_thirdexorflame\\thirdexorflame\\thirdexorflame.str");
|
|
break;
|
|
case EF_THIRD_EXOR_FLAME_CAST:
|
|
particle->Load("4ig_thirdexorflame\\thirdexorflame_cast\\thirdexorflame_cast.str");
|
|
break;
|
|
case EF_THIRD_EXOR_FLAME_START:
|
|
particle->Load("4ig_thirdexorflame\\thirdexorflame_start\\thirdexorflame_start.str");
|
|
break;
|
|
case EF_THIRD_EXOR_FLAME_AURA:
|
|
particle->Load("4ig_thirdexorflame\\thirdexorflame_aura\\thirdexorflame_aura.str");
|
|
break;
|
|
case EF_OLEUM_SANCTUM:
|
|
particle->Load("4ig_oleumsanctum\\oleumsanctum\\oleumsanctum.str");
|
|
break;
|
|
case EF_OLEUM_SANCTUM_BOTTOM:
|
|
particle->Load("4ig_oleumsanctum\\oleumsanctum_bottom\\oleumsanctum_bottom.str");
|
|
break;
|
|
case EF_OLEUM_SANCTUM_HIT:
|
|
particle->Load("4ig_oleumsanctum\\oleumsanctum_hit\\oleumsanctum_hit.str");
|
|
break;
|
|
case EF_OLEUM_SANCTUM_LOOP:
|
|
particle->Load("4ig_oleumsanctum\\oleumsanctum_loop\\oleumsanctum_loop.str");
|
|
break;
|
|
case EF_EXPLOSION_BLASTER:
|
|
particle->Load("4ig_explosionblaster\\explosionblaster\\explosionblaster.str");
|
|
break;
|
|
case EF_EXPLOSION_BLASTER_BOTTOM:
|
|
particle->Load("4ig_explosionblaster\\explosionblaster_bottom\\explosionblaster_bottom.str");
|
|
break;
|
|
case EF_EXPLOSION_BLASTER_HIT:
|
|
particle->Load("4ig_explosionblaster\\explosionblaster_hit\\explosionblaster_hit.str");
|
|
break;
|
|
case EF_FIRST_BRAND:
|
|
particle->Load("4ig_firstbrand\\firstbrand\\firstbrand.str");
|
|
break;
|
|
case EF_FIRST_BRAND_AURA:
|
|
if (!g_serviceOptions.Get(229)) {
|
|
particle->Open("4ig_firstbrand\\firstbrand_aura\\firstbrand_aura.str");
|
|
}
|
|
break;
|
|
case EF_FIRST_BRAND_HIT:
|
|
particle->Load("4ig_firstbrand\\firstbrand_hit\\firstbrand_hit.str");
|
|
break;
|
|
case EF_FIRST_BRAND_START:
|
|
particle->Load("4ig_firstbrand\\firstbrand_start\\firstbrand_start.str");
|
|
break;
|
|
case EF_SECOND_FAITH:
|
|
particle->Load("4ig_secondfalth\\secondfalth\\secondfalth.str");
|
|
break;
|
|
case EF_SECOND_FAITH_AURA:
|
|
particle->Load("4ig_secondfalth\\secondfalth_aura\\secondfalth_aura.str");
|
|
break;
|
|
case EF_SECOND_FAITH_START:
|
|
particle->Load("4ig_secondfalth\\secondfalth_start\\secondfalth_start.str");
|
|
break;
|
|
case EF_THIRD_FLAME_BOMB:
|
|
particle->Load("4iq_thirdflamebomb\\thirdflamebomb\\thirdflamebomb.str");
|
|
break;
|
|
case EF_THIRD_FLAME_BOMB_BOTTOM:
|
|
particle->Load("4iq_thirdflamebomb\\thirdflamebomb_bottom\\thirdflamebomb_bottom.str");
|
|
break;
|
|
case EF_SECOND_FLAME:
|
|
particle->Load("4iq_secondflame\\secondflame\\secondflame.str");
|
|
break;
|
|
case EF_SECOND_FLAME_BOTTOM:
|
|
particle->Load("4iq_secondflame\\secondflame_bottom\\secondflame_bottom.str");
|
|
break;
|
|
case EF_SINCERE_FAITH:
|
|
particle->Load("sincerefaith\\sincerefaith\\sincerefaith.str");
|
|
break;
|
|
case EF_SINCERE_FAITH_BOTTOM:
|
|
if (!g_serviceOptions.Get(229)) {
|
|
particle->Open("sincerefaith\\sincerefaith_bottom\\sincerefaith_bottom.str");
|
|
}
|
|
break;
|
|
case EF_THIRD_CONSECRATION:
|
|
particle->Load("4iq_thirdconsecration\\thirdconsecration\\thirdconsecration.str");
|
|
break;
|
|
case EF_THIRD_CONSECRATION_BOTTOM:
|
|
particle->Load("4iq_thirdconsecration\\thirdconsecration_bottom\\thirdconsecration_bottom.str");
|
|
break;
|
|
case EF_THIRD_PUNISH:
|
|
particle->Load("4iq_thirdpunish\\thirdpunish\\thirdpunish.str");
|
|
break;
|
|
case EF_THIRD_PUNISH_BOTTOM:
|
|
particle->Load("4iq_thirdpunish\\thirdpunish_bottom\\thirdpunish_bottom.str");
|
|
break;
|
|
case EF_MASSIVE_FLAME_BLASTER:
|
|
particle->Load("4iq_massivefblaster\\massivefblaster\\massivefblaster.str");
|
|
break;
|
|
case EF_MASSIVE_FLAME_BLASTER_HIT:
|
|
particle->Load("4iq_massivefblaster\\massivefblaster_hit\\massivefblaster_hit.str");
|
|
break;
|
|
case EF_MASSIVE_FLAME_BLASTER_HIT_BOTTOM:
|
|
particle->Load("4iq_massivefblaster\\massivefblaster_hit_bottom\\massivefblaster_hit_bottom.str");
|
|
break;
|
|
case EF_ABYSS_DAGGER:
|
|
particle->Load("abyss_dagger\\abyss_dagger\\abyss_dagger.str");
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT:
|
|
particle->Load("abyss_dagger\\abyss_dagger_hit\\abyss_dagger_hit.str");
|
|
break;
|
|
case EF_ABYSS_SLAYER:
|
|
particle->Load("4abc_abyss_slayer\\abyss_slayer\\abyss_slayer.str");
|
|
break;
|
|
case EF_ABYSS_SLAYER_CAST:
|
|
particle->Load("4abc_abyss_slayer\\abyss_slayer_cast\\abyss_slayer_cast.str");
|
|
break;
|
|
case EF_ABYSS_SLAYER_CAST_BOTTOM:
|
|
particle->Load("4abc_abyss_slayer\\abyss_slayer_cast_bottom\\abyss_slayer_cast_bottom.str");
|
|
break;
|
|
case EF_HAWK_BOOMERANG_CAST:
|
|
particle->Load("hawkvumerang\\hawkvumerang_cast\\hawkvumerang_cast.str");
|
|
break;
|
|
case EF_HAWK_BOOMERANG_HIT:
|
|
particle->Load("hawkvumerang\\hawkvumerang_hit\\hawkvumerang_hit.str");
|
|
break;
|
|
case EF_HAWK_BOOMERANG_START:
|
|
particle->Load("hawkvumerang\\hawkvumerang_start\\hawkvumerang_start.str");
|
|
break;
|
|
case EF_GALE_STORM_CAST:
|
|
particle->Load("galestorm\\galestorm_cast\\galestorm_cast.str");
|
|
break;
|
|
case EF_GALE_STORM_HIT:
|
|
particle->Load("galestorm\\galestorm_hit\\galestorm_hit.str");
|
|
break;
|
|
case EF_KVASIRSONATA:
|
|
particle->Load("4tr_kvasirsonata\\kvasirsonata\\kvasirsonata.str");
|
|
break;
|
|
case EF_KVASIRSONATA_CAST:
|
|
particle->Load("4tr_kvasirsonata\\kvasirsonata_cast\\kvasirsonata_cast.str");
|
|
break;
|
|
case EF_KVASIRSONATA_CAST_BOTTOM:
|
|
particle->Load("4tr_kvasirsonata\\kvasirsonata_cast_bottom\\kvasirsonata_cast_bottom.str");
|
|
break;
|
|
case EF_POWERFUL_FAITH:
|
|
particle->Load("powerfulfaith\\powerfulfaith\\powerfulfaith.str");
|
|
break;
|
|
case EF_INCREASING_ACTIVITY:
|
|
particle->Load("increasing_activity\\increasing_activity\\increasing_activity.str");
|
|
break;
|
|
case EF_INCREASING_ACTIVITY_CAST:
|
|
particle->Load("increasing_activity\\increasing_activity_cast\\increasing_activity_cast.str");
|
|
break;
|
|
case EF_INCREASING_ACTIVITY_CAST_BOTTOM:
|
|
particle->Load("increasing_activity\\increasing_activity_cast_bottom\\increasing_activity_cast_bottom.str");
|
|
break;
|
|
case EF_FIRM_FAITH:
|
|
particle->Load("firmfaith\\firmfaith\\firmfaith.str");
|
|
break;
|
|
case EF_MYSTICSYMPHONY:
|
|
particle->Load("mysticsymphony\\mysticsymphony\\mysticsymphony.str");
|
|
break;
|
|
case EF_MYSTICSYMPHONY_CAST:
|
|
particle->Load("mysticsymphony\\mysticsymphony_cast\\mysticsymphony_cast.str");
|
|
break;
|
|
case EF_MYSTICSYMPHONY_NOTE:
|
|
particle->Load("mysticsymphony\\mysticsymphony_note\\mysticsymphony_note.str");
|
|
break;
|
|
case EF_ACTIVITY_BURN:
|
|
particle->Load("activity_burn\\activity_burn\\activity_burn.str");
|
|
break;
|
|
case EF_ACTIVITY_BURN_CAST:
|
|
particle->Load("activity_burn\\activity_burn_cast\\activity_burn_cast.str");
|
|
break;
|
|
case EF_ACTIVITY_BURN_CAST_BOTTOM:
|
|
particle->Load("activity_burn\\activity_burn_cast_bottom\\activity_burn_cast_bottom.str");
|
|
break;
|
|
case EF_CHAIN_REACTION_SHOT_CAST:
|
|
particle->Load("chain_reaction_shot\\chain_reaction_shot_cast\\chain_reaction_shot_cast.str");
|
|
break;
|
|
case EF_CHAIN_REACTION_SHOT_CAST_BOTTOM:
|
|
particle->Load("chain_reaction_shot\\chain_reaction_shot_cast_bottom\\chain_reaction_shot_cast_bottom.str");
|
|
break;
|
|
case EF_ETERNAL_SLASH_HIT_3:
|
|
particle->Load("eternal_slash\\eternal_slash_hit\\eternal_slash_hit.str");
|
|
break;
|
|
case EF_CHAIN_REACTION_SHOT_HITSUB:
|
|
particle->Load("chain_reaction_shot\\chain_reaction_shot_hitsub\\chain_reaction_shot_hitsub.str");
|
|
break;
|
|
case EF_CHAIN_REACTION_SHOT:
|
|
particle->Load("chain_reaction_shot\\chain_reaction_shot\\chain_reaction_shot.str");
|
|
break;
|
|
case EF_SERPENS_BOTTOM:
|
|
particle->Load("serpens\\serpens_bottom\\serpens_bottom.str");
|
|
break;
|
|
case EF_SERPENS_CAST:
|
|
particle->Load("serpens\\serpens_cast\\serpens_cast.str");
|
|
break;
|
|
case EF_SERPENS_CAST_BOTTOM:
|
|
particle->Load("serpens\\serpens_cast_bottom\\serpens_cast_bottom.str");
|
|
break;
|
|
case EF_SERPENS_HIT:
|
|
particle->Load("serpens\\serpens_hit\\serpens_hit.str");
|
|
break;
|
|
case EF_SERPENS_SHIELD:
|
|
particle->Load("serpens\\serpens_shield\\serpens_shield.str");
|
|
break;
|
|
case EF_SERPENS_DEEP_POISONING:
|
|
particle->Load("serpens\\serpens_deep_poisoning\\serpens_deep_poisoning.str");
|
|
break;
|
|
case EF_SERPENS_DEEP_POISONING_BOTTOM:
|
|
particle->Load("serpens\\serpens_deep_poisoning_bottom\\serpens_deep_poisoning_bottom.str");
|
|
break;
|
|
case EF_DILUVIO_ICE:
|
|
particle->Load("diluvio\\diluvio_ice\\diluvio_ice.str");
|
|
break;
|
|
case EF_DILUVIO_ICE_BOTTOM:
|
|
particle->Load("diluvio\\diluvio_ice_bottom\\diluvio_ice_bottom.str");
|
|
break;
|
|
case EF_DILUVIO_CAST:
|
|
particle->Load("diluvio\\diluvio_cast\\diluvio_cast.str");
|
|
break;
|
|
case EF_DILUVIO_CAST_BOTTOM:
|
|
particle->Load("diluvio\\diluvio_cast_bottom\\diluvio_cast_bottom.str");
|
|
break;
|
|
case EF_DILUVIO_HIT:
|
|
particle->Load("diluvio\\diluvio_hit\\diluvio_hit.str");
|
|
break;
|
|
case EF_DILUVIO_ARMOR:
|
|
particle->Load("diluvio\\diluvio_armor\\diluvio_armor.str");
|
|
break;
|
|
case EF_DILUVIO_COLD_FORCE:
|
|
particle->Load("diluvio\\diluvio_cold_force\\diluvio_cold_force.str");
|
|
break;
|
|
case EF_DILUVIO_COLD_FORCE_BOTTOM:
|
|
particle->Load("diluvio\\diluvio_cold_force _bottom\\diluvio_cold_force _bottom.str");
|
|
break;
|
|
case EF_SPELL_ENCHANTING:
|
|
particle->Load("spell_enchanting\\spell_enchanting\\spell_enchanting.str");
|
|
break;
|
|
case EF_DIAMOND_STORM_BOTTOM:
|
|
particle->Load("diamond_storm\\diamond_storm_bottom\\diamond_storm_bottom.str");
|
|
break;
|
|
case EF_DIAMOND_STORM_CAST:
|
|
particle->Load("diamond_storm\\diamond_storm_cast\\diamond_storm_cast.str");
|
|
break;
|
|
case EF_DIAMOND_STORM_CAST_BOTTOM:
|
|
particle->Load("diamond_storm\\diamond_storm_cast_bottom\\diamond_storm_cast_bottom.str");
|
|
break;
|
|
case EF_DIAMOND_STORM_HIT:
|
|
particle->Load("diamond_storm\\diamond_storm_hit\\diamond_storm_hit.str");
|
|
break;
|
|
case EF_ROSEBLOSSOM_CAST:
|
|
particle->Load("roseblossom\\roseblossom_cast\\roseblossom_cast.str");
|
|
break;
|
|
case EF_ROSEBLOSSOM_CAST_BOTTOM:
|
|
particle->Load("roseblossom\\roseblossom_cast_bottom\\roseblossom_cast_bottom.str");
|
|
break;
|
|
case EF_ROSEBLOSSOM_HIT:
|
|
particle->Load("roseblossom\\roseblossom_hit\\roseblossom_hit.str");
|
|
break;
|
|
case EF_ROSEBLOSSOM_ROSE:
|
|
particle->Load("roseblossom\\roseblossom_rose\\roseblossom_rose.str");
|
|
break;
|
|
case EF_ROSEBLOSSOM_SHOT:
|
|
particle->Load("roseblossom\\roseblossom_shot\\roseblossom_shot.str");
|
|
break;
|
|
case EF_VENOM_SWAMP_BOTTOM:
|
|
particle->Load("venom_swamp\\venom_swamp_bottom\\venom_swamp_bottom.str");
|
|
break;
|
|
case EF_VENOM_SWAMP_CAST:
|
|
particle->Load("venom_swamp\\venom_swamp_cast\\venom_swamp_cast.str");
|
|
break;
|
|
case EF_VENOM_SWAMP_CAST_BOTTOM:
|
|
particle->Load("venom_swamp\\venom_swamp_cast_bottom\\venom_swamp_cast_bottom.str");
|
|
break;
|
|
case EF_VENOM_SWAMP_HIT:
|
|
particle->Load("venom_swamp\\venom_swamp_hit\\venom_swamp_hit.str");
|
|
break;
|
|
case EF_ARDOR:
|
|
particle->Load("ardor\\ardor\\ardor.str");
|
|
break;
|
|
case EF_ARDOR_BOTTOM:
|
|
particle->Load("ardor\\ardor_bottom\\ardor_bottom.str");
|
|
break;
|
|
case EF_ARDOR_CAST:
|
|
particle->Load("ardor\\ardor_cast\\ardor_cast.str");
|
|
break;
|
|
case EF_ARDOR_CAST_BOTTOM:
|
|
particle->Load("ardor\\ardor_cast_bottom\\ardor_cast_bottom.str");
|
|
break;
|
|
case EF_ARDOR_HIT:
|
|
particle->Load("ardor\\ardor_hit\\ardor_hit.str");
|
|
break;
|
|
case EF_ARDOR_FLAMEARMOR:
|
|
particle->Load("ardor\\ardor_flamearmor\\ardor_flamearmor.str");
|
|
break;
|
|
case EF_ARDOR_FLAMETECHNIC:
|
|
particle->Load("ardor\\ardor_flametechnic\\ardor_flametechnic.str");
|
|
break;
|
|
case EF_ARDOR_FLAMETECHNIC_BOTTOM:
|
|
particle->Load("ardor\\ardor_flametechnic_bottom\\ardor_flametechnic_bottom.str");
|
|
break;
|
|
case EF_LIGHTNING_LAND:
|
|
particle->Load("lightning_land\\lightning_land\\lightning_land.str");
|
|
break;
|
|
case EF_LIGHTNING_LAND_BOTTOM:
|
|
particle->Load("lightning_land\\lightning_land_bottom\\lightning_land_bottom.str");
|
|
break;
|
|
case EF_LIGHTNING_LAND_CAST:
|
|
particle->Load("lightning_land\\lightning_land_cast\\lightning_land_cast.str");
|
|
break;
|
|
case EF_LIGHTNING_LAND_CAST_BOTTOM:
|
|
particle->Load("lightning_land\\lightning_land_cast_bottom\\lightning_land_cast_bottom.str");
|
|
break;
|
|
case EF_LIGHTNING_LAND_HIT:
|
|
particle->Load("lightning_land\\lightning_land_hit\\lightning_land_hit.str");
|
|
break;
|
|
case EF_CONFLAGRATION:
|
|
particle->Load("conflagration\\conflagration\\conflagration.str");
|
|
break;
|
|
case EF_CONFLAGRATION_BOTTOM:
|
|
particle->Load("conflagration\\conflagration_bottom\\conflagration_bottom.str");
|
|
break;
|
|
case EF_CONFLAGRATION_CAST:
|
|
particle->Load("conflagration\\conflagration_cast\\conflagration_cast.str");
|
|
break;
|
|
case EF_CONFLAGRATION_CAST_BOTTOM:
|
|
particle->Load("conflagration\\conflagration_cast_bottom\\conflagration_cast_bottom.str");
|
|
break;
|
|
case EF_CONFLAGRATION_HIT:
|
|
particle->Load("conflagration\\conflagration_hit\\conflagration_hit.str");
|
|
break;
|
|
case EF_SOUND_BLEND:
|
|
particle->Load("soundblend\\soundblend\\soundblend.str");
|
|
break;
|
|
case EF_SOUND_BLEND_CAST:
|
|
particle->Load("soundblend\\soundblend_cast\\soundblend_cast.str");
|
|
break;
|
|
case EF_SOUND_BLEND_CAST_BOTTOM:
|
|
particle->Load("soundblend\\soundblend_cast_bottom\\soundblend_cast_bottom.str");
|
|
break;
|
|
case EF_SOUND_BLEND_RED:
|
|
particle->Load("soundblend\\soundblend_red\\soundblend_red.str");
|
|
break;
|
|
case EF_METALLIC_FURY:
|
|
particle->Load("metalicfury\\metalicfury\\metalicfury.str");
|
|
break;
|
|
case EF_JAWAII_SERENADE:
|
|
particle->Load("jawaii_serenade\\jawaii_serenade\\jawaii_serenade.str");
|
|
break;
|
|
case EF_JAWAII_SERENADE_CAST:
|
|
particle->Load("jawaii_serenade\\jawaii_serenade_cast\\jawaii_serenade_cast.str");
|
|
break;
|
|
case EF_JAWAII_SERENADE_CAST_BOTTOM:
|
|
particle->Load("jawaii_serenade\\jawaii_serenade_cast_bottom\\jawaii_serenade_cast_bottom.str");
|
|
break;
|
|
case EF_PRONMARCH:
|
|
particle->Load("pronmarch\\pronmarch\\pronmarch.str");
|
|
break;
|
|
case EF_PRONMARCH_CAST:
|
|
particle->Load("pronmarch\\pronmarch_cast\\pronmarch_cast.str");
|
|
break;
|
|
case EF_PRONMARCH_CAST_BOTTOM:
|
|
particle->Load("pronmarch\\pronmarch_cast_bottom\\pronmarch_cast_bottom.str");
|
|
break;
|
|
case EF_RHYTHMSHOOTING_CAST:
|
|
particle->Load("rhythmshooting\\rhythmshooting_cast\\rhythmshooting_cast.str");
|
|
break;
|
|
case EF_RHYTHMSHOOTING_CAST_BOTTOM:
|
|
particle->Load("rhythmshooting\\rhythmshooting_cast_bottom\\rhythmshooting_cast_bottom.str");
|
|
break;
|
|
case EF_RHYTHMSHOOTING_HIT:
|
|
particle->Load("rhythmshooting\\rhythmshooting_hit\\rhythmshooting_hit.str");
|
|
break;
|
|
case EF_NIFLHEIM:
|
|
particle->Load("nipelheim\\nipelheim\\nipelheim.str");
|
|
break;
|
|
case EF_NIFLHEIM_CAST:
|
|
particle->Load("nipelheim\\nipelheim_cast\\nipelheim_cast.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE:
|
|
particle->Load("abyss_strike\\abyss_strike\\abyss_strike.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE_BOTTOM:
|
|
particle->Load("abyss_strike\\abyss_strike_bottom\\abyss_strike_bottom.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE_CAST:
|
|
particle->Load("abyss_strike\\abyss_strike_cast\\abyss_strike_cast.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE_CAST_BOTTOM:
|
|
particle->Load("abyss_strike\\abyss_strike_cast_bottom\\abyss_strike_cast_bottom.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE_GROUND:
|
|
particle->Load("abyss_strike\\abyss_strike_ground\\abyss_strike_ground.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE_GROUND_BOTTOM:
|
|
particle->Load("abyss_strike\\abyss_strike_ground_bottom\\abyss_strike_ground_bottom.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE_HIT:
|
|
particle->Load("abyss_strike\\abyss_strike_hit\\abyss_strike_hit.str");
|
|
break;
|
|
case EF_PROCELLA:
|
|
particle->Load("procella\\procella\\procella.str");
|
|
break;
|
|
case EF_PROCELLA_BOTTOM:
|
|
particle->Load("procella\\procella_bottom\\procella_bottom.str");
|
|
break;
|
|
case EF_PROCELLA_CAST:
|
|
particle->Load("procella\\procella_cast\\procella_cast.str");
|
|
break;
|
|
case EF_PROCELLA_CAST_BOTTOM:
|
|
particle->Load("procella\\procella_cast_bottom\\procella_cast_bottom.str");
|
|
break;
|
|
case EF_PROCELLA_HIT:
|
|
particle->Load("procella\\procella_hit\\procella_hit.str");
|
|
break;
|
|
case EF_PROCELLA_STORM:
|
|
particle->Load("procella\\procella_storm\\procella_storm.str");
|
|
break;
|
|
case EF_PROCELLA_GRACE_BREEZE:
|
|
particle->Load("procella\\procella_grace_breeze\\procella_grace_breeze.str");
|
|
break;
|
|
case EF_PROCELLA_GRACE_BREEZE_BOTTOM:
|
|
particle->Load("procella\\procella_grace_breeze_bottom\\procella_grace_breeze_bottom.str");
|
|
break;
|
|
case EF_TERREMOTUS:
|
|
particle->Load("terremotus\\terremotus\\terremotus.str");
|
|
break;
|
|
case EF_TERREMOTUS_CAST:
|
|
particle->Load("terremotus\\terremotus_cast\\terremotus_cast.str");
|
|
break;
|
|
case EF_TERREMOTUS_CAST_BOTTOM:
|
|
particle->Load("terremotus\\terremotus_cast_bottom\\terremotus_cast_bottom.str");
|
|
break;
|
|
case EF_TERREMOTUS_HIT:
|
|
particle->Load("terremotus\\terremotus_hit\\terremotus_hit.str");
|
|
break;
|
|
case EF_TERREMOTUS_PROTECT:
|
|
particle->Load("terremotus\\terremotus_protect\\terremotus_protect.str");
|
|
break;
|
|
case EF_TERREMOTUS_EARTH_CARE:
|
|
particle->Load("terremotus\\terremotus_earth_care\\terremotus_earth_care.str");
|
|
break;
|
|
case EF_TERREMOTUS_EARTH_CARE_BOTTOM:
|
|
particle->Load("terremotus\\terremotus_earth_care_bottom\\terremotus_earth_care_bottom.str");
|
|
break;
|
|
case EF_FROM_THE_ABYSS:
|
|
particle->Load("from_the_abyss\\from_the_abyss_shadow\\from_the_abyss_shadow.str");
|
|
break;
|
|
case EF_ABYSS_STRIKE_HIT_2:
|
|
particle->Load("abyss_strike\\abyss_strike_hit\\abyss_strike_hit.str");
|
|
break;
|
|
case EF_DEFT_STAB:
|
|
particle->Load("deft_stab\\deft_stab\\deft_stab.str");
|
|
break;
|
|
case EF_ABYSS_SQUARE:
|
|
particle->Load("abyss_square\\abyss_square\\abyss_square.str");
|
|
break;
|
|
case EF_ABYSS_SQUARE_BOTTOM:
|
|
particle->Load("abyss_square\\abyss_square_bottom\\abyss_square_bottom.str");
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT_2:
|
|
particle->Load("abyss_dagger\\abyss_dagger_hit\\abyss_dagger_hit.str");
|
|
break;
|
|
case EF_FRENZY_SHOT_HIT:
|
|
particle->Load("frenzy_shot\\frenzy_shot_hit\\frenzy_shot_hit.str");
|
|
break;
|
|
case EF_GEF_NOCTURN:
|
|
particle->Load("gef_nocturn\\gef_nocturn\\gef_nocturn.str");
|
|
break;
|
|
case EF_GEF_NOCTURN_CAST:
|
|
particle->Load("gef_nocturn\\gef_nocturn_cast\\gef_nocturn_cast.str");
|
|
break;
|
|
case EF_GEF_NOCTURN_CAST_BOTTOM:
|
|
particle->Load("gef_nocturn\\gef_nocturn_cast_bottom\\gef_nocturn_cast_bottom.str");
|
|
break;
|
|
case EF_ROKI_CAPRICCIO:
|
|
particle->Load("roki_capriccio\\roki_capriccio\\roki_capriccio.str");
|
|
break;
|
|
case EF_ROKI_CAPRICCIO_CAST:
|
|
particle->Load("roki_capriccio\\roki_capriccio_cast\\roki_capriccio_cast.str");
|
|
break;
|
|
case EF_ROKI_CAPRICCIO_CAST_BOTTOM:
|
|
particle->Load("roki_capriccio\\roki_capriccio_cast_bottom\\roki_capriccio_cast_bottom.str");
|
|
break;
|
|
case EF_MUSICAL_INTERLUDE:
|
|
particle->Load("musical_interlude\\musical_interlude\\musical_interlude.str");
|
|
break;
|
|
case EF_MUSICAL_INTERLUDE_CAST:
|
|
particle->Load("musical_interlude\\musical_interlude_cast\\musical_interlude_cast.str");
|
|
break;
|
|
case EF_AIN_RHAPSODY:
|
|
particle->Load("ain_rhapsody\\ain_rhapsody\\ain_rhapsody.str");
|
|
break;
|
|
case EF_AIN_RHAPSODY_CAST:
|
|
particle->Load("ain_rhapsody\\ain_rhapsody_cast\\ain_rhapsody_cast.str");
|
|
break;
|
|
case EF_TERRA_DRIVE:
|
|
particle->Load("terradrive\\terradrive\\terradrive.str");
|
|
break;
|
|
case EF_TERRA_DRIVE_BOTTOM:
|
|
particle->Load("terradrive\\terradrive_bottom\\terradrive_bottom.str");
|
|
break;
|
|
case EF_TERRA_DRIVE_CAST:
|
|
particle->Load("terradrive\\terradrive_cast\\terradrive_cast.str");
|
|
break;
|
|
case EF_TERRA_DRIVE_CAST_BOTTOM:
|
|
particle->Load("terradrive\\terradrive_cast_bottom\\terradrive_cast_bottom.str");
|
|
break;
|
|
case EF_TERRA_DRIVE_HIT:
|
|
particle->Load("terradrive\\terradrive_hit\\terradrive_hit.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_CAST:
|
|
particle->Load("elemental_buster\\elemental_buster_cast\\elemental_buster_cast.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_FIRE:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_fire\\elemental_buster_fire.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_FIRE_BOTTOM:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_fire_bottom\\elemental_buster_fire_bottom.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_FIRE_HIT:
|
|
particle->Load("elemental_buster\\elemental_buster_hit\\elemental_buster_fire_hit\\elemental_buster_fire_hit.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_LAND:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_land\\elemental_buster_land.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_LAND_BOTTOM:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_land_bottom\\elemental_buster_land_bottom.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_LAND_HIT:
|
|
particle->Load("elemental_buster\\elemental_buster_hit\\elemental_buster_land_hit\\elemental_buster_land_hit.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_POISON:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_poison\\elemental_buster_poison.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_POISON_BOTTOM:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_poison_bottom\\elemental_buster_poison_bottom.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_POISON_HIT:
|
|
particle->Load("elemental_buster\\elemental_buster_hit\\elemental_buster_poison_hit\\elemental_buster_poison_hit.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_WATER:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_water\\elemental_buster_water.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_WATER_BOTTOM:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_water_bottom\\elemental_buster_water_bottom.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_WATER_HIT:
|
|
particle->Load("elemental_buster\\elemental_buster_hit\\elemental_buster_water_hit\\elemental_buster_water_hit.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_WIND:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_wind\\elemental_buster_wind.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_WIND_BOTTOM:
|
|
particle->Load("elemental_buster\\elemental_buster\\elemental_buster_wind_bottom\\elemental_buster_wind_bottom.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_WIND_HIT:
|
|
particle->Load("elemental_buster\\elemental_buster_hit\\elemental_buster_wind_hit\\elemental_buster_wind_hit.str");
|
|
break;
|
|
case EF_UNLUCKY_RUSH_CAST:
|
|
particle->Load("unlucky_rush\\unlucky_rush_cast\\unlucky_rush_cast.str");
|
|
break;
|
|
case EF_ABYSS_DAGGER_HIT_3:
|
|
particle->Load("abyss_dagger\\abyss_dagger_hit\\abyss_dagger_hit.str");
|
|
break;
|
|
case EF_OVERSLASH:
|
|
particle->Load("overslash\\overslash\\overslash.str");
|
|
break;
|
|
case EF_OVERSLASH_BOTTOM:
|
|
particle->Load("overslash\\overslash_bottom\\overslash_bottom.str");
|
|
break;
|
|
case EF_OVERSLASH_CAST:
|
|
particle->Load("overslash\\overslash_cast\\overslash_cast.str");
|
|
break;
|
|
case EF_OVERSLASH_HIT:
|
|
particle->Load("overslash\\overslash_hit\\overslash_hit.str");
|
|
break;
|
|
case EF_ADVANCED_PROTECTION:
|
|
particle->Load("adv_protection\\adv_protection\\adv_protection.str");
|
|
break;
|
|
case EF_ADVANCED_PROTECTION_BOTTOM:
|
|
particle->Load("adv_protection\\adv_protection_bottom\\adv_protection_bottom.str");
|
|
break;
|
|
case EF_ADVANCED_PROTECTION_CAST:
|
|
particle->Load("adv_protection\\adv_protection_cast\\adv_protection_cast.str");
|
|
break;
|
|
case EF_ADVANCED_PROTECTION_CAST_BOTTOM:
|
|
particle->Load("adv_protection\\adv_protection_cast_bottom\\adv_protection_cast_bottom.str");
|
|
break;
|
|
case EF_CROSS_RAIN_BOTTOM:
|
|
particle->Load("crossrain\\cross_rain_bottom\\cross_rain_bottom.str");
|
|
break;
|
|
case EF_CROSS_RAIN_CAST:
|
|
particle->Load("crossrain\\cross_rain_cast\\cross_rain_cast.str");
|
|
break;
|
|
case EF_CROSS_RAIN_CAST_BOTTOM:
|
|
particle->Load("crossrain\\cross_rain_cast_bottom\\cross_rain_cast_bottom.str");
|
|
break;
|
|
case EF_GUARD_STANCE:
|
|
particle->Load("guard_stance\\guard_stance\\guard_stance.str");
|
|
break;
|
|
case EF_GUARD_STANCE_CAST:
|
|
particle->Load("guard_stance\\guard_stance_cast\\guard_stance_cast.str");
|
|
break;
|
|
case EF_GUARD_STANCE_CAST_BOTTOM:
|
|
particle->Load("guard_stance\\guard_stance_cast_bottom\\guard_stance_cast_bottom.str");
|
|
break;
|
|
case EF_ATTACK_STANCE:
|
|
particle->Load("attack_stance\\attack_stance\\attack_stance.str");
|
|
break;
|
|
case EF_ATTACK_STANCE_CAST:
|
|
particle->Load("attack_stance\\attack_stance_cast\\attack_stance_cast.str");
|
|
break;
|
|
case EF_ATTACK_STANCE_CAST_BOTTOM:
|
|
particle->Load("attack_stance\\attack_stance_cast_bottom\\attack_stance_cast_bottom.str");
|
|
break;
|
|
case EF_GRAND_JUDGEMENT:
|
|
particle->Load("grand_judgement\\grand_judgement\\grand_judgement.str");
|
|
break;
|
|
case EF_GRAND_JUDGEMENT_BOTTOM:
|
|
particle->Load("grand_judgement\\grand_judgement_bottom\\grand_judgement_bottom.str");
|
|
break;
|
|
case EF_GRAND_JUDGEMENT_BUFF:
|
|
particle->Load("grand_judgement\\grand_judgement_buff\\grand_judgement_buff.str");
|
|
break;
|
|
case EF_GRAND_JUDGEMENT_CAST:
|
|
particle->Load("grand_judgement\\grand_judgement_cast\\grand_judgement_cast.str");
|
|
break;
|
|
case EF_GRAND_JUDGEMENT_CAST_BOTTOM:
|
|
particle->Load("grand_judgement\\grand_judgement_cast_bottom\\grand_judgement_cast_bottom.str");
|
|
break;
|
|
case EF_HOLY_SHIELD:
|
|
particle->Load("holy_shield\\holy_shield\\holy_shield.str");
|
|
break;
|
|
case EF_HOLY_SHIELD_CAST:
|
|
particle->Load("holy_shield\\holy_shield_cast\\holy_shield_cast.str");
|
|
break;
|
|
case EF_HOLY_SHIELD_LOOP:
|
|
particle->Load("holy_shield\\holy_shield_loop\\holy_shield_loop.str");
|
|
break;
|
|
case EF_SHIELD_SHOOTING_CAST:
|
|
particle->Load("shield_shooting\\shield_shooting_cast\\shield_shooting_cast.str");
|
|
break;
|
|
case EF_SHIELD_SHOOTING_HIT:
|
|
particle->Load("shield_shooting\\shield_shooting_hit\\shield_shooting_hit.str");
|
|
break;
|
|
case EF_THE_W_PROTECTION:
|
|
particle->Load("the_w_protection\\the_w_protection\\the_w_protection.str");
|
|
break;
|
|
case EF_THE_W_PROTECTION_CAST:
|
|
particle->Load("the_w_protection\\the_w_protection_cast\\the_w_protection_cast.str");
|
|
break;
|
|
case EF_GUARDIANSHIELD:
|
|
particle->Load("guardianshield\\guardianshield\\guardianshield.str");
|
|
break;
|
|
case EF_GUARDIANSHIELD_BOTTOM:
|
|
particle->Load("guardianshield\\guardianshield_bottom\\guardianshield_bottom.str");
|
|
break;
|
|
case EF_GUARDIANSHIELD_SUB:
|
|
particle->Load("guardianshield\\guardianshield_sub\\guardianshield_sub.str");
|
|
break;
|
|
case EF_JUDGEMENT_CROSS:
|
|
particle->Load("judgement_cross\\judgement_cross\\judgement_cross.str");
|
|
break;
|
|
case EF_JUDGEMENT_CROSS_BOTTOM:
|
|
particle->Load("judgement_cross\\judgement_cross_bottom\\judgement_cross_bottom.str");
|
|
break;
|
|
case EF_JUDGEMENT_CROSS_CAST:
|
|
particle->Load("judgement_cross\\judgement_cross_cast\\judgement_cross_cast.str");
|
|
break;
|
|
case EF_JUDGEMENT_CROSS_CAST_BOTTOM:
|
|
particle->Load("judgement_cross\\judgement_cross_cast_bottom\\judgement_cross_cast_bottom.str");
|
|
break;
|
|
case EF_REBOUND_SHIELD:
|
|
particle->Load("rebound_shield\\rebound_shield\\rebound_shield.str");
|
|
break;
|
|
case EF_REBOUND_SHIELD_BOTTOM:
|
|
particle->Load("rebound_shield\\rebound_shield_bottom\\rebound_shield_bottom.str");
|
|
break;
|
|
case EF_REBOUND_SHIELD_CAST:
|
|
particle->Load("rebound_shield\\rebound_shield_cast\\rebound_shield_cast.str");
|
|
break;
|
|
case EF_REBOUND_SHIELD_CAST_BOTTOM:
|
|
particle->Load("rebound_shield\\rebound_shield_cast_bottom\\rebound_shield_cast_bottom.str");
|
|
break;
|
|
case EF_ULTIMATESACRIFICE:
|
|
particle->Load("ultimate_sacrifice\\ultimatesacrifice\\ultimatesacrifice.str");
|
|
break;
|
|
case EF_ULTIMATESACRIFICE_BOTTOM:
|
|
particle->Load("ultimate_sacrifice\\ultimatesacrifice_bottom\\ultimatesacrifice_bottom.str");
|
|
break;
|
|
case EF_ULTIMATESACRIFICE_SHINE:
|
|
particle->Load("ultimate_sacrifice\\ultimatesacrifice_shine\\ultimatesacrifice_shine.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST:
|
|
particle->Load("acidified_zone_fire\\acidified_zone_fire_cast\\acidified_zone_fire_cast.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST_BOTTOM:
|
|
particle->Load("acidified_zone_fire\\acidified_zone_fire_cast_bottom\\acidified_zone_fire_cast_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_FIRE_HIT:
|
|
particle->Load("acidified_zone_fire\\acidified_zone_fire_hit\\acidified_zone_fire_hit.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_FIRE_START:
|
|
particle->Load("acidified_zone_fire\\acidified_zone_fire_a_start\\acidified_zone_fire_a_start.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_FIRE_START_BOTTOM:
|
|
particle->Load("acidified_zone_fire\\acidified_zone_fire_a_start_bottom\\acidified_zone_fire_a_start_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP:
|
|
particle->Load("acidified_zone_fire\\acidified_zone_fire_a_loop\\acidified_zone_fire_a_loop.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP_BOTTOM:
|
|
particle->Load("acidified_zone_fire\\acidified_zone_fire_a_loop_bottom\\acidified_zone_fire_a_loop_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST:
|
|
particle->Load("acidified_zone_water\\acidified_zone_water_cast\\acidified_zone_water_cast.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST_BOTTOM:
|
|
particle->Load("acidified_zone_water\\acidified_zone_water_cast_bottom\\acidified_zone_water_cast_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WATER_HIT:
|
|
particle->Load("acidified_zone_water\\acidified_zone_water_hit\\acidified_zone_water_hit.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WATER_START:
|
|
particle->Load("acidified_zone_water\\acidified_zone_water_a_start\\acidified_zone_water_a_start.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WATER_START_BOTTOM:
|
|
particle->Load("acidified_zone_water\\acidified_zone_water_a_start_bottom\\acidified_zone_water_a_start_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP:
|
|
particle->Load("acidified_zone_water\\acidified_zone_water_a_loop\\acidified_zone_water_a_loop.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP_BOTTOM:
|
|
particle->Load("acidified_zone_water\\acidified_zone_water_a_loop_bottom\\acidified_zone_water_a_loop_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST:
|
|
particle->Load("acidified_zone_wind\\acidified_zone_wind_cast\\acidified_zone_wind_cast.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST_BOTTOM:
|
|
particle->Load("acidified_zone_wind\\acidified_zone_wind_cast_bottom\\acidified_zone_wind_cast_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WIND_HIT:
|
|
particle->Load("acidified_zone_wind\\acidified_zone_wind_hit\\acidified_zone_wind_hit.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WIND_START:
|
|
particle->Load("acidified_zone_wind\\acidified_zone_wind_a_start\\acidified_zone_wind_a_start.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WIND_START_BOTTOM:
|
|
particle->Load("acidified_zone_wind\\acidified_zone_wind_a_start_bottom\\acidified_zone_wind_a_start_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP:
|
|
particle->Load("acidified_zone_wind\\acidified_zone_wind_a_loop\\acidified_zone_wind_a_loop.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP_BOTTOM:
|
|
particle->Load("acidified_zone_wind\\acidified_zone_wind_a_loop_bottom\\acidified_zone_wind_a_loop_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST:
|
|
particle->Load("acidified_zone_ground\\acidified_zone_ground_cast\\acidified_zone_ground_cast.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST_BOTTOM:
|
|
particle->Load("acidified_zone_ground\\acidified_zone_ground_cast_bottom\\acidified_zone_ground_cast_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_GROUND_HIT:
|
|
particle->Load("acidified_zone_ground\\acidified_zone_ground_hit\\acidified_zone_ground_hit.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_GROUND_START:
|
|
particle->Load("acidified_zone_ground\\acidified_zone_ground_a_start\\acidified_zone_ground_a_start.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_GROUND_START_BOTTOM:
|
|
particle->Load("acidified_zone_ground\\acidified_zone_ground_a_start_bottom\\acidified_zone_ground_a_start_bottom.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP:
|
|
particle->Load("acidified_zone_ground\\acidified_zone_ground_a_loop\\acidified_zone_ground_a_loop.str");
|
|
break;
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP_BOTTOM:
|
|
particle->Load("acidified_zone_ground\\acidified_zone_ground_a_loop_bottom\\acidified_zone_ground_a_loop_bottom.str");
|
|
break;
|
|
case EF_HELLTREE_CAST:
|
|
particle->Load("helltree\\helltree_cast\\helltree_cast.str");
|
|
break;
|
|
case EF_HELLTREE_CAST_BOTTOM:
|
|
particle->Load("helltree\\helltree_cast_bottom\\helltree_cast_bottom.str");
|
|
break;
|
|
case EF_HELLTREE_DUSTY:
|
|
particle->Load("helltree\\hell_dusty\\hell_dusty.str");
|
|
break;
|
|
case EF_HELLTREE_HOWLING:
|
|
particle->Load("helltree\\hell_howling\\hell_howling.str");
|
|
break;
|
|
case EF_RESEARCH_REPORT:
|
|
particle->Load("research_report\\researchreport\\researchreport.str");
|
|
break;
|
|
case EF_RESEARCH_REPORT_CAST:
|
|
particle->Load("research_report\\researchreport_cast\\researchreport_cast.str");
|
|
break;
|
|
case EF_RESEARCH_REPORT_CAST_BOTTOM:
|
|
particle->Load("research_report\\researchreport_cast_bottom\\researchreport_cast_bottom.str");
|
|
break;
|
|
case EF_WOODEN_WARRIOR_CAST:
|
|
particle->Load("wooden_warrior\\wooden_warrior_cast\\wooden_warrior_cast.str");
|
|
break;
|
|
case EF_WOODEN_WARRIOR_CAST_BOTTOM:
|
|
particle->Load("wooden_warrior\\wooden_warrior_cast_bottom\\wooden_warrior_cast_bottom.str");
|
|
break;
|
|
case EF_WOODEN_WARRIOR_ATTACK:
|
|
particle->Load("wooden_warrior\\wooden_attack\\wooden_attack\\wooden_attack.str");
|
|
break;
|
|
case EF_WOODEN_WARRIOR_ATTACK_HIT:
|
|
particle->Load("wooden_warrior\\wooden_attack\\wooden_attack_hit\\wooden_attack_hit.str");
|
|
break;
|
|
case EF_WOODEN_WARRIOR_THROWROCK:
|
|
particle->Load("wooden_warrior\\throwrock\\throwrock\\throwrock.str");
|
|
break;
|
|
case EF_WOODEN_WARRIOR_THROWROCK_HIT:
|
|
particle->Load("wooden_warrior\\throwrock\\throwrock_hit\\throwrock_hit.str");
|
|
break;
|
|
case EF_WOODEN_FAIRY_CAST:
|
|
particle->Load("wooden_fairy\\wooden_cast\\wooden_cast.str");
|
|
break;
|
|
case EF_WOODEN_FAIRY_CAST_BOTTOM:
|
|
particle->Load("wooden_fairy\\wooden_cast_bottom\\wooden_cast_bottom.str");
|
|
break;
|
|
case EF_WOODEN_FAIRY_DUSTY:
|
|
particle->Load("wooden_fairy\\fairy_dusty\\fairy_dusty.str");
|
|
break;
|
|
case EF_STATE_LASSITUDE:
|
|
particle->Open("state_effect\\lassitude\\lassitude.str");
|
|
break;
|
|
case EF_STATE_SWOONING:
|
|
particle->Open("state_effect\\swooning\\swooning.str");
|
|
break;
|
|
case EF_STATE_HOLYFLAME:
|
|
particle->Open("state_effect\\holyflame\\holyflame.str");
|
|
break;
|
|
case EF_STATE_LIGHTNINGSTRIKE:
|
|
particle->Open("state_effect\\lightningstrike\\lightningstrike.str");
|
|
break;
|
|
case EF_STATE_CONFLAGRATION:
|
|
particle->Open("state_effect\\conflagration\\conflagration.str");
|
|
break;
|
|
case EF_STATE_FROSTBITE:
|
|
particle->Open("state_effect\\frostbite\\frostbite\\frostbite.str");
|
|
break;
|
|
case EF_STATE_FROSTBITE_FINISH:
|
|
particle->Open("state_effect\\frostbite\\frostbite_finish\\frostbite_finish.str");
|
|
break;
|
|
case EF_STATE_DEADLYPOISON:
|
|
particle->Open("state_effect\\deadlypoison\\deadlypoison.str");
|
|
break;
|
|
case EF_STATE_CRYSTALLIZATION:
|
|
particle->Open("state_effect\\crystallization\\crystallization.str");
|
|
break;
|
|
case EF_NPC_KILLING_AURA:
|
|
particle->Open("NPC_KILLING_AURA\\npc_killing_aura_bottom\\killing_aura.str");
|
|
break;
|
|
case EF_NPC_KILLING_AURA_END:
|
|
particle->Open("NPC_KILLING_AURA\\npc_killing_aura_bottom\\killing_aura_end.str");
|
|
break;
|
|
case EF_NPC_KILLING_AURA_HIT:
|
|
particle->Open("NPC_KILLING_AURA\\npc_killing_aura_hit\\killing_aura_hit.str");
|
|
break;
|
|
case EF_NPC_CANE_OF_EVIL_EYE:
|
|
particle->Open("NPC_CANE_OF_EVIL_EYE\\npc_cane_of_evil_eye_hit\\npc_cane_of_evil_eye_hit.str");
|
|
break;
|
|
case EF_UI_ENCHANT_INTRO_YELLOW:
|
|
particle->Open("ui_enchant\\ui_intro_yellow\\ui_intro_yellow.str");
|
|
break;
|
|
case EF_UI_ENCHANT_SUCCESS:
|
|
particle->Open("ui_enchant\\ui_enchant_success\\ui_enchant_success.str");
|
|
break;
|
|
case EF_UI_ENCHANT_FAIL:
|
|
particle->Open("ui_enchant\\ui_fail\\ui_enchant_fail.str");
|
|
break;
|
|
case EF_UI_ENCHANT_INTRO_BLUE:
|
|
particle->Open("ui_enchant\\ui_intro_blue\\ui_intro_blue.str");
|
|
break;
|
|
case EF_UI_LEVELUP_SUCCESS:
|
|
particle->Open("ui_enchant\\ui_levelup_success\\ui_levelup_success.str");
|
|
break;
|
|
case EF_UI_LEVELUP_FAIL:
|
|
particle->Open("ui_enchant\\ui_fail\\ui_levelup_fail.str");
|
|
break;
|
|
case EF_UI_ENCHANT_INTRO_GREEN:
|
|
particle->Open("ui_enchant\\ui_intro_green\\ui_intro_green.str");
|
|
break;
|
|
case EF_UI_RESET_SUCCESS:
|
|
particle->Open("ui_enchant\\ui_reset_success\\ui_reset_success.str");
|
|
break;
|
|
case EF_UI_RESET_FAIL:
|
|
particle->Open("ui_enchant\\ui_fail\\ui_reset_fail.str");
|
|
break;
|
|
case EF_RUNE_ACTIVE_FINISH:
|
|
particle->Open("runesystem\\rune_active\\ui_finish.str");
|
|
break;
|
|
case EF_RUNESET_ACTIVE:
|
|
particle->Open("runesystem\\runeset_active\\ui_activate.str");
|
|
break;
|
|
case EF_RUNESET_UPGRADE_SUCCESS:
|
|
particle->Open("runesystem\\runeset_upgrade_success\\rune_upgrade_succecss.str");
|
|
break;
|
|
case EF_RUNESET_UPGRADE_FAIL:
|
|
particle->Open("runesystem\\runeset_upgrade_fail\\rune_upgrade_fail.str");
|
|
break;
|
|
case EF_RUNE_BROKEN:
|
|
particle->Open("runesystem\\decom_broken\\ui_broken.str");
|
|
break;
|
|
case EF_RUNE_SLOT_SMALL:
|
|
particle->Open("runesystem\\rune_slot_small\\rune_slot_small.str");
|
|
break;
|
|
case EF_RUNE_SLOT_BIG:
|
|
particle->Open("runesystem\\rune_slot_big\\rune_slot_big.str");
|
|
break;
|
|
case EF_TOXIN_OF_MANDARA_BOMB:
|
|
particle->Open("toxin_of_mandara\\toxin_of_mandara_bomb\\toxin_of_mandara_bomb.str");
|
|
break;
|
|
case EF_TOXIN_OF_MANDARA_BOMB_BOTTOM:
|
|
particle->Open("toxin_of_mandara\\toxin_of_mandara_bomb_bottom\\toxin_of_mandara_bomb_bottom.str");
|
|
break;
|
|
case EF_TOXIN_OF_MANDARA_SHOCK:
|
|
particle->Open("toxin_of_mandara\\toxin_of_mandara_shock\\toxin_of_mandara_shock.str");
|
|
break;
|
|
case EF_NEEDLE_STINGER:
|
|
particle->Open("needle_stinger\\needle_stinger\\needle_stinger.str");
|
|
break;
|
|
case EF_NEEDLE_STINGER_BOTTOM:
|
|
particle->Open("needle_stinger\\needle_stinger_bottom\\needle_stinger_bottom.str");
|
|
break;
|
|
case EF_NEEDLE_STINGER_HIT:
|
|
particle->Open("needle_stinger\\needle_stinger_hit\\needle_stinger_hit.str");
|
|
break;
|
|
case EF_ABSOLUTE_ZEPHYR:
|
|
particle->Open("absolute_zephyr\\absolute_zephyr\\absolute_zephyr.str");
|
|
break;
|
|
case EF_ABSOLUTE_ZEPHYR_BOTTOM:
|
|
particle->Open("absolute_zephyr\\absolute_zephyr_bottom\\absolute_zephyr_bottom.str");
|
|
break;
|
|
case EF_ABSOLUTE_ZEPHYR_HIT:
|
|
particle->Open("absolute_zephyr\\absolute_zephyr_hit\\absolute_zephyr_hit.str");
|
|
break;
|
|
case EF_TWISTER_CUTTER:
|
|
particle->Open("twister_cutter\\twister_cutter\\twister_cutter.str");
|
|
break;
|
|
case EF_TWISTER_CUTTER_HIT:
|
|
particle->Open("twister_cutter\\twister_cutter_hit\\twister_cutter_hit.str");
|
|
break;
|
|
case EF_HEILIGE_PFERD:
|
|
particle->Open("heilige_pferd\\heilige_pferd\\heilige_pferd.str");
|
|
break;
|
|
case EF_HEILIGE_PFERD_BOTTOM:
|
|
particle->Open("heilige_pferd\\heilige_pferd_bottom\\heilige_pferd_bottom.str");
|
|
break;
|
|
case EF_HEILIGE_PFERD_CAST:
|
|
particle->Open("heilige_pferd\\heilige_pferd_cast\\heilige_pferd_cast.str");
|
|
break;
|
|
case EF_GOLDENE_TONE:
|
|
particle->Open("goldene_tone\\goldene_tone\\goldene_tone.str");
|
|
break;
|
|
case EF_GLANZEN_SPIES:
|
|
particle->Open("glanzen_spies\\glanzen_spies\\glanzen_spies.str");
|
|
break;
|
|
case EF_GLANZEN_SPIES_HIT:
|
|
particle->Open("glanzen_spies\\glanzen_spies_hit\\glanzen_spies_hit.str");
|
|
break;
|
|
case EF_BLAZING_AND_FURIOUS:
|
|
particle->Open("blazing_and_furious\\blazing_and_furious\\blazing_and_furious.str");
|
|
break;
|
|
case EF_THE_ONE_FIGHTER_RISES_BOTTOM:
|
|
particle->Open("the_one_fighter_rises\\the_one_fighter_rises_bottom\\the_one_fighter_rises_bottom.str");
|
|
break;
|
|
case EF_TEMPERING:
|
|
particle->Open("tempering\\tempering\\tempering.str");
|
|
break;
|
|
case EF_BLAST_FORGE_HIT:
|
|
particle->Open("blast_forge\\blast_forge_hit\\blast_forge_hit.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_WATER_SUB_2:
|
|
particle->Open("tetravortex\\tetra_04_water_sub_explosion\\tetra_04_water_sub_expn.str");
|
|
break;
|
|
case EF_TETRA_VORTEX_EARTH_SUB_2:
|
|
particle->Open("tetravortex\\tetra_03_earth_sub_explosion\\tetra_03_earth_sub_expn.str");
|
|
break;
|
|
case EF_NPC_20TH_CRYSTAL_S:
|
|
particle->Open("npc_20th_crystal\\npc_20th_crystal_s.str");
|
|
break;
|
|
case EF_NPC_20TH_CRYSTAL_M:
|
|
particle->Open("npc_20th_crystal\\npc_20th_crystal_m.str");
|
|
break;
|
|
case EF_NPC_20TH_CRYSTAL_L:
|
|
particle->Open("npc_20th_crystal\\npc_20th_crystal_l.str");
|
|
break;
|
|
case EF_NPC_GATE_GREEN_1:
|
|
case EF_NPC_GATE_GREEN_2:
|
|
case EF_NPC_GATE_GREEN_3:
|
|
particle->Open("npc_gate\\npc_gate_green\\npc_gate_green.str");
|
|
break;
|
|
case EF_NPC_GATE_PURPLE_1:
|
|
case EF_NPC_GATE_PURPLE_2:
|
|
case EF_NPC_GATE_PURPLE_3:
|
|
particle->Open("npc_gate\\npc_gate_purple\\npc_gate_purple.str");
|
|
break;
|
|
case EF_NPC_GATE_RED_1:
|
|
case EF_NPC_GATE_RED_2:
|
|
case EF_NPC_GATE_RED_3:
|
|
particle->Open("npc_gate\\npc_gate_red\\npc_gate_red.str");
|
|
break;
|
|
case EF_20TH_FIREWORK:
|
|
particle->Open("20th_firework\\20th_firework.str");
|
|
break;
|
|
case EF_NPC_GATE_SKYBLUE:
|
|
particle->Open("npc_gate_skyblue\\npc_gate_skyblue\\npc_gate_skyblue.str");
|
|
break;
|
|
case EF_NEW_BATTLE_W_HIT_2:
|
|
particle->Open("new_battle_w\\new_battle_w_hit\\new_battle_w_hit.str");
|
|
break;
|
|
case EF_NEW_PRAMEN_REUSE:
|
|
particle->Open("new_pramen\\new_pramen\\new_pramen.str");
|
|
break;
|
|
case EF_THE_W_PROTECTION_REUSE:
|
|
particle->Open("the_w_protection\\the_w_protection\\the_w_protection.str");
|
|
break;
|
|
case EF_ELEMENTAL_BUSTER_FIRE_REUSE:
|
|
particle->Open("elemental_buster\\elemental_buster\\elemental_buster_fire\\elemental_buster_fire.str");
|
|
break;
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM_REUSE:
|
|
particle->Open("destructive_hurricane\\destructive_hurricane_bottom\\destructive_hurricane_bottom.str");
|
|
break;
|
|
case EF_CRYSTAL_IMPACT_BOTTOM_REUSE:
|
|
particle->Open("crystal_impact\\crystal_impact_bottom\\crystal_impact_bottom.str");
|
|
break;
|
|
case EF_NEW_JUDEX_TARGET_REUSE:
|
|
particle->Open("new_judex\\new_judex_target\\new_judex_target.str");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (id >= 0x9B5) {
|
|
const char* name = nullptr;
|
|
g_session.m_hotkeyScript->Call("GetHatEfResName", "d>s", id - 0x9B5, &name);
|
|
if (name != nullptr) {
|
|
particle->Open(name);
|
|
}
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B65EE0
|
|
// FUNCTION: fn_19044
|
|
void CEZ2STRScreenEffect::OnProcess() {
|
|
if (this->followCamera == 1 && this->particle) {
|
|
double yaw = static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->camera.yaw;
|
|
if (yaw != this->cameraAngle) {
|
|
CEZ2STRParticle* particle = this->particle;
|
|
double angle = this->cameraAngle - yaw + particle->m_angle;
|
|
if (angle < 0.0) {
|
|
angle += 360.0;
|
|
} else if (angle > 360.0) {
|
|
angle -= 360.0;
|
|
}
|
|
particle->m_angle = static_cast<float>(angle);
|
|
this->cameraAngle = yaw;
|
|
}
|
|
}
|
|
|
|
CEZ2STRParticle* target = this->particle;
|
|
target->position.x = this->position[0];
|
|
target->position.y = this->position[1];
|
|
target->position.z = this->position[2];
|
|
|
|
if (CEZ2STRParticle* particle = this->particle) {
|
|
if (this->ApplyHeadOffset(particle) || this->id == 0x584) {
|
|
particle->Process(0.0f, 0.0f, 0.0f);
|
|
} else {
|
|
particle->Process(0.0f, -80.0f, 0.0f);
|
|
}
|
|
}
|
|
|
|
++this->particle->elapsedFrames;
|
|
if (this->id == 0x851) {
|
|
int frame = this->particle->elapsedFrames - 30;
|
|
if (frame >= 0 && frame % 64 == 0) {
|
|
CRenderObject* player = reinterpret_cast<CRenderObject*>(static_cast<CGameMode*>(g_modeMgr.GetGameMode())->scene->player);
|
|
g_soundMgr->PlayWave(
|
|
"effect\\ABC_ABYSS_SQUARE.wav", player->render.position.x - this->position[0], 0.0f, player->render.position.z - this->position[2], 250, 40, 1.0f, 0
|
|
);
|
|
}
|
|
}
|
|
|
|
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
|
if (!actor) {
|
|
return;
|
|
}
|
|
|
|
if (this->jobScaled == 1 && actor->GetMonsterTransformJob() <= 0) {
|
|
float factor = GetSkillFactor(actor->GetEffectiveJob(-1));
|
|
if (this->fadePulse == 1) {
|
|
actor->ScaleByFadePulse(factor);
|
|
}
|
|
CEZ2STRParticle* particle = this->particle;
|
|
float extent[2];
|
|
const float* shift = actor->GetExtent(extent);
|
|
float shiftX = factor * shift[0];
|
|
float shiftY = factor * shift[1];
|
|
particle->m_shiftX = shiftX;
|
|
particle->m_shiftY = shiftY;
|
|
}
|
|
|
|
this->particle->m_lift = *reinterpret_cast<const long long*>(&actor->render.hoverOffsetLow);
|
|
}
|
|
|
|
// OFFSET: 0x00B661B0
|
|
// FUNCTION: fn_19045
|
|
void CEZ2STRScreenEffect::Render() {
|
|
CEZ2STRParticle* particle = this->particle;
|
|
if (!particle) {
|
|
return;
|
|
}
|
|
|
|
switch (this->id) {
|
|
case EF_GRADE_ENCHANT_INTRO:
|
|
case EF_UI_ENCHANT_INTRO_YELLOW:
|
|
case EF_UI_ENCHANT_SUCCESS:
|
|
case EF_UI_ENCHANT_FAIL:
|
|
case EF_UI_ENCHANT_INTRO_BLUE:
|
|
case EF_UI_LEVELUP_SUCCESS:
|
|
case EF_UI_ENCHANT_INTRO_GREEN:
|
|
case EF_UI_RESET_SUCCESS:
|
|
case EF_UI_RESET_FAIL:
|
|
this->overlayColor += 0x2000000;
|
|
break;
|
|
case EF_RUNE_ACTIVE_FINISH:
|
|
case EF_RUNESET_ACTIVE:
|
|
case EF_RUNE_BROKEN:
|
|
this->overlayColor += 0x10000000;
|
|
break;
|
|
default:
|
|
goto draw;
|
|
}
|
|
|
|
if (this->overlayColor >= 0xAA000000u) {
|
|
this->overlayColor = 0xAA000000u;
|
|
}
|
|
|
|
DrawBlendedRectangle(0, 0, g_renderer->viewport.width, g_renderer->viewport.height, this->overlayColor);
|
|
|
|
draw:
|
|
particle->DrawScreen(static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view);
|
|
}
|
|
|
|
// OFFSET: 0x00B66460
|
|
// FUNCTION: fn_19046
|
|
void CEZ2STRScreenEffect::SetRenderFunc(int argument) {
|
|
this->particle->submit = reinterpret_cast<ParticleSubmit>(argument);
|
|
}
|
|
|
|
// OFFSET: 0x00B66480
|
|
// FUNCTION: fn_19047
|
|
void CEZ2STRScreenEffect::SetAlpha(float argument) {
|
|
if (this->particle) {
|
|
this->particle->m_alpha = argument;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B664A0
|
|
// FUNCTION: fn_19048
|
|
void CEZ2STRScreenEffect::SetId(int id) {
|
|
CEffect::SetId(id);
|
|
switch (id) {
|
|
case EF_HAT_EFFECT:
|
|
case EF_MOONSTAR:
|
|
case EF_STRANGELIGHTS:
|
|
case EF_SUPER_STAR:
|
|
case EF_C_MAKER_1:
|
|
case EF_MUSIC_HAT:
|
|
case EF_FLOWERSMOKE:
|
|
case EF_FSTONE:
|
|
case EF_QSCARABA:
|
|
case EF_LJOSALFAR:
|
|
case EF_HAPPINESSSTAR:
|
|
case EF_MAPLE_FALLS:
|
|
case EF_MAGICAL_FEATHER:
|
|
case EF_MERMAID_LONGING:
|
|
case EF_GIFT_OF_SNOW:
|
|
case EF_TIME_ACCESSORY:
|
|
this->headAttached = 1;
|
|
break;
|
|
default:
|
|
if (id >= 0x9B5) {
|
|
this->headAttached = 1;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B66540
|
|
// FUNCTION: fn_19049
|
|
void CEZ2STRScreenEffect::SetWindowOffset(int argument1, int argument2, int argument3, int argument4, int argument5) {
|
|
CEZ2STRParticle* particle = this->particle;
|
|
if (!particle) {
|
|
return;
|
|
}
|
|
|
|
const vector3d offset = *reinterpret_cast<const vector3d*>(&argument1);
|
|
particle->m_windowOffset.x = offset.x;
|
|
particle->m_windowOffset.y = offset.y;
|
|
particle->m_windowOffset.z = offset.z;
|
|
if (static_cast<unsigned char>(argument4) == 1) {
|
|
this->particle->m_attachToWindow = true;
|
|
this->particle->m_windowId = argument5;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B665B0
|
|
// FUNCTION: fn_19050
|
|
void CEZ2STRScreenEffect::SetFlags(int argument) {
|
|
this->particle->flags = argument;
|
|
}
|
|
|
|
// OFFSET: 0x00B665D0
|
|
// FUNCTION: fn_19051
|
|
void CEZ2STRScreenEffect::SetRepeat(int argument) {
|
|
if (this->particle) {
|
|
this->particle->m_repeat = argument - 1;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B665F0
|
|
// FUNCTION: fn_19052
|
|
void CEZ2STRScreenEffect::SetLifeTime(int argument) {
|
|
if (this->particle) {
|
|
this->particle->m_lifeTime = argument;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B66610
|
|
// FUNCTION: fn_19053
|
|
void CEZ2STRScreenEffect::SetAngle(float argument) {
|
|
if (this->particle) {
|
|
this->particle->m_angle = argument;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B66630
|
|
// FUNCTION: fn_19054
|
|
void CEZ2STRScreenEffect::SetScale(float argument) {
|
|
if (this->particle) {
|
|
this->particle->m_scale = argument;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B66650
|
|
// FUNCTION: fn_19055
|
|
void CEZ2STRScreenEffect::AdvanceFrame(int argument) {
|
|
if (this->particle) {
|
|
this->particle->Advance(*reinterpret_cast<float*>(&argument));
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B66680
|
|
// FUNCTION: fn_19056
|
|
void CEZ2STRScreenEffect::SetDelay(int argument) {
|
|
if (this->particle) {
|
|
this->particle->m_delay = argument;
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B666A0
|
|
// FUNCTION: fn_19057
|
|
void CEZ2STRScreenEffect::SetResource(int argument) {
|
|
this->name = reinterpret_cast<const char*>(argument);
|
|
FreeParticle(this->particle);
|
|
this->Open();
|
|
}
|
|
|
|
// OFFSET: 0x00B52970
|
|
// FUNCTION: fn_19038
|
|
int CEZ2STRScreenEffect::GetFrame() {
|
|
return this->particle->m_frame;
|
|
}
|
|
|
|
// OFFSET: 0x00B52980
|
|
// FUNCTION: fn_19039
|
|
void CEZ2STRScreenEffect::Open() {
|
|
CEZ2STRParticle* particle = static_cast<CEZ2STRParticle*>(
|
|
CreateEZ2STRParticle(reinterpret_cast<const vector3d*>(this->position), 5)
|
|
);
|
|
if (!particle) {
|
|
return;
|
|
}
|
|
|
|
particle->m_actorId = this->actor;
|
|
|
|
if (this->headAttached == 1) {
|
|
this->retained = 1;
|
|
particle->m_loop = true;
|
|
bool adjustSize = false;
|
|
g_session.m_hotkeyScript->Call("IsAdjustSizeWhenShrinkState", "d>b", this->id - 0x9B5, &adjustSize);
|
|
particle->m_followActor = adjustSize;
|
|
bool adjustPosition = false;
|
|
g_session.m_hotkeyScript->Call("IsAdjustPositionWhenShrinkState", "d>b", this->id - 0x9B5, &adjustPosition);
|
|
this->fadePulse = adjustPosition;
|
|
}
|
|
|
|
switch (this->id) {
|
|
case EF_RED_CROSS:
|
|
case EF_MARKING_USE_CHANGEMONSTER:
|
|
case EF_BITE_SCAR:
|
|
case EF_RL_ANTI_MATERIAL_BLAST:
|
|
case EF_H_MINE:
|
|
case EF_FLASH_KICK:
|
|
case EF_TEST_EFFECT_00:
|
|
case EF_TEST_EFFECT_01:
|
|
case EF_TEST_EFFECT_02:
|
|
case EF_TEST_EFFECT_03:
|
|
case EF_TEST_EFFECT_04:
|
|
case EF_TEST_EFFECT_05:
|
|
case EF_TEST_EFFECT_06:
|
|
case EF_TEST_EFFECT_07:
|
|
case EF_TEST_EFFECT_08:
|
|
case EF_TEST_EFFECT_09:
|
|
case EF_TETRA_VORTEX_BALL_1:
|
|
case EF_TETRA_VORTEX_BALL_2:
|
|
case EF_TETRA_VORTEX_BALL_3:
|
|
case EF_TETRA_VORTEX_BALL_4:
|
|
particle->m_loop = true;
|
|
break;
|
|
|
|
case EF_QSCARABA_VISUAL:
|
|
case EF_NEW_RANGEDATTACK:
|
|
case EF_NEW_JACKFROST_CAST:
|
|
case EF_MINEFFECT_JACKFROST_CAST:
|
|
case EF_TETRA_VORTEX_CORE_REUSE:
|
|
case EF_BLUE_WAVE_1:
|
|
case EF_BLUE_WAVE_2:
|
|
case EF_BLUE_WAVE_3:
|
|
case EF_RED_WAVE_1:
|
|
case EF_RED_WAVE_2:
|
|
case EF_RED_WAVE_3:
|
|
case EF_NEW_EPICLESIS:
|
|
case EF_SERVANT_SIGN:
|
|
case EF_DRAGONIC_AURA_BUFF:
|
|
case EF_DRAGONIC_AURA_BUFF_BOTTOM:
|
|
case EF_DEADLY_PROJECTION:
|
|
case EF_VIGOR_BUFF:
|
|
case EF_MYSTERY_ILLUSION:
|
|
case EF_TORNADO_STORM_BOTTOM:
|
|
case EF_VIOLENT_QUAKE_BOTTOM:
|
|
case EF_ALL_BLOOM:
|
|
case EF_ALL_BLOOM_BOTTOM:
|
|
case EF_MEDIALE_VOTUM_LOOP:
|
|
case EF_NEW_D_MACHINE:
|
|
case EF_UNK_1839:
|
|
case EF_COMPETENTIA_LOOP:
|
|
case EF_COMPETENTIA_LOOP_BOTTOM:
|
|
case EF_DEEP_BLIND_TRAP:
|
|
case EF_SWIFT_TRAP:
|
|
case EF_SOLID_TRAP:
|
|
case EF_STRATUM_TREMOR:
|
|
case EF_STRATUM_TREMOR_BOTTOM:
|
|
case EF_WIND_SIGN_LOOP:
|
|
case EF_FLAME_TRAP:
|
|
case EF_CALUMITYGALE_LOOP:
|
|
case EF_FIRST_FAITH_POWER:
|
|
case EF_JUDGE:
|
|
case EF_JUDGE_AURA:
|
|
case EF_THIRD_EXOR_FLAME:
|
|
case EF_THIRD_EXOR_FLAME_AURA:
|
|
case EF_OLEUM_SANCTUM_LOOP:
|
|
case EF_MYSTICSYMPHONY_NOTE:
|
|
case EF_VENOM_SWAMP_BOTTOM:
|
|
case EF_LIGHTNING_LAND:
|
|
case EF_LIGHTNING_LAND_BOTTOM:
|
|
case EF_FIRST_BRAND:
|
|
case EF_FIRST_BRAND_AURA:
|
|
case EF_CONFLAGRATION:
|
|
case EF_CONFLAGRATION_BOTTOM:
|
|
case EF_SOUND_BLEND:
|
|
case EF_SECOND_FAITH:
|
|
case EF_SECOND_FAITH_AURA:
|
|
case EF_ABYSS_SLAYER:
|
|
case EF_ABYSS_SQUARE:
|
|
case EF_ABYSS_SQUARE_BOTTOM:
|
|
case EF_CROSS_RAIN_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT_BUFF:
|
|
case EF_HOLY_SHIELD_LOOP:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP_BOTTOM:
|
|
case EF_STATE_LIGHTNINGSTRIKE:
|
|
case EF_STATE_CONFLAGRATION:
|
|
case EF_STATE_FROSTBITE:
|
|
case EF_STATE_CRYSTALLIZATION:
|
|
case EF_SERVANT_SIGN_BOTTOM:
|
|
case EF_NPC_KILLING_AURA:
|
|
case EF_NPC_20TH_CRYSTAL_S:
|
|
case EF_NPC_20TH_CRYSTAL_M:
|
|
case EF_NPC_20TH_CRYSTAL_L:
|
|
case EF_NPC_GATE_GREEN_1:
|
|
case EF_NPC_GATE_PURPLE_1:
|
|
case EF_NPC_GATE_RED_1:
|
|
case EF_NPC_GATE_GREEN_2:
|
|
case EF_NPC_GATE_PURPLE_2:
|
|
case EF_NPC_GATE_RED_2:
|
|
case EF_NPC_GATE_GREEN_3:
|
|
case EF_NPC_GATE_PURPLE_3:
|
|
case EF_NPC_GATE_RED_3:
|
|
case EF_NPC_GATE_SKYBLUE:
|
|
case EF_NEW_BATTLE_W_HIT_2:
|
|
this->retained = 1;
|
|
particle->m_loop = true;
|
|
break;
|
|
|
|
case EF_MYSTERY_ILLUSION_BOTTOM:
|
|
this->AddEvent(0, "effect\\AG_MYSTERY_ILLUSION.wav", 0, 0);
|
|
this->retained = 1;
|
|
particle->m_loop = true;
|
|
break;
|
|
|
|
case EF_TORNADO_STORM:
|
|
this->AddEvent(0, "effect\\AG_TORNADO_STORM.wav", 0, 0);
|
|
this->retained = 1;
|
|
particle->m_loop = true;
|
|
break;
|
|
|
|
case EF_MEDIALE_VOTUM:
|
|
this->AddEvent(0, "effect\\CD_MEDIALE_VOTUM.wav", 0, 0);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (this->instanceId > 0) {
|
|
particle->m_loop = true;
|
|
}
|
|
|
|
InitParticleQuad(particle->vertices);
|
|
this->particle = particle;
|
|
this->InitParticle(particle, this->id);
|
|
|
|
CGameMode* mode = static_cast<CGameMode*>(g_modeMgr.GetGameMode());
|
|
this->cameraAngle = static_cast<double>(mode->camera->camera.yaw);
|
|
|
|
if (this->id >= 0x9B5) {
|
|
g_session.m_hotkeyScript->Call("IsAttachedToHead", "d>b", this->id - 0x9B5, &this->jobScaled);
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x00B531E0
|
|
// FUNCTION: fn_19040
|
|
void CEZ2STRScreenEffect::InitEvents() {
|
|
switch (this->id) {
|
|
case EF_POTION1:
|
|
case EF_POTION2:
|
|
case EF_POTION3:
|
|
case EF_POTION4:
|
|
case EF_POTION7:
|
|
this->AddEvent(0, "_heal_effect.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_POTION5:
|
|
case EF_POTION6:
|
|
case EF_POTION8:
|
|
this->AddEvent(0, "effect\\흡기.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_HAMMER_OF_GOD:
|
|
this->AddEvent(0, "effect\\RL_HAMMER_OF_GOD.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_TUNABELLY:
|
|
this->AddEvent(0, "effect\\su_tunabelly.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_SV_STEMSPEAR:
|
|
this->AddEvent(0, "effect\\su_stemspear.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_SCRATCH:
|
|
this->AddEvent(0, "effect\\su_scratch.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_SCAROFTAROU:
|
|
this->AddEvent(0, "effect\\su_scaroftarou.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_PICKYPECK:
|
|
this->AddEvent(0, "effect\\su_pickypeck.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_BUNCHOFSHRIMP:
|
|
this->AddEvent(0, "effect\\su_brunchofshrimp.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_GROOMING:
|
|
this->AddEvent(0, "effect\\su_grooming.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_CHATTERING:
|
|
this->AddEvent(0, "effect\\su_chattering.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_HISS:
|
|
this->AddEvent(0, "effect\\su_hiss.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_POWEROFFLOCK:
|
|
this->AddEvent(0, "effect\\su_powerofflock.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SU_SVG_SPIRIT:
|
|
this->AddEvent(0, "effect\\su_svg_spirit.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_QUAGMIRE_VISUAL: {
|
|
int random = rand() % 12;
|
|
random = random < 0 ? 0 : random;
|
|
if (random == 0) {
|
|
this->AddEvent(0, "effect\\wizard_quagmire.wav", 0, std::bit_cast<int>(-100.0f));
|
|
}
|
|
break;
|
|
}
|
|
|
|
case EF_LORD_OF_VERMILLION_VISUAL:
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0, 0);
|
|
this->AddEvent(0, "effect\\hunter_blastmine.wav", 0, 0);
|
|
this->AddEvent(0, "effect\\hunter_blastmine.wav", 0xa, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0x14, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0x32, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0x50, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0x64, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0x82, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0x8c, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0xb4, 0);
|
|
this->AddEvent(0, "effect\\wizard_meteo.wav", 0xc8, 0);
|
|
this->AddEvent(1, nullptr, 0x32, 0);
|
|
this->AddEvent(1, nullptr, 0x64, 0);
|
|
this->AddEvent(1, nullptr, 0x96, 0);
|
|
this->AddEvent(1, nullptr, 0xc8, 0);
|
|
this->AddEvent(1, nullptr, 0xfa, 0);
|
|
break;
|
|
|
|
case EF_METEOR_STORM_VISUAL:
|
|
this->AddEvent(0, "effect\\wizard_meteor.wav", 0, 0);
|
|
this->AddEvent(1, nullptr, 0x28, 0);
|
|
break;
|
|
|
|
case EF_NEW_CART_CANNON_CAST_BOTTOM:
|
|
case EF_NEW_RAYOFGENESIS_CAST_BOTTOM:
|
|
case EF_MINEFFECT_CART_CANNON_CAST_BOTTOM:
|
|
case EF_NEW_HELLINFERNO_CAST_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE_CAST_BOTTOM:
|
|
case EF_ROCKDOWN_CAST_BOTTOM:
|
|
case EF_VIOLENT_QUAKE_CAST_BOTTOM:
|
|
case EF_MYSTERY_ILLUSION_CAST_BOTTOM:
|
|
case EF_TORNADO_STORM_CAST_BOTTOM:
|
|
case EF_ALL_BLOOM_CAST_BOTTOM:
|
|
case EF_CLIMAX_CAST:
|
|
case EF_CRYSTAL_IMPACT_CAST:
|
|
case EF_STRATUM_TREMOR_CAST_BOTTOM:
|
|
case EF_DILUVIO_CAST_BOTTOM:
|
|
case EF_VENOM_SWAMP_CAST_BOTTOM:
|
|
case EF_LIGHTNING_LAND_CAST_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_CAST:
|
|
this->AddEvent(0, "effect\\EF_BeginSpell.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_NEW_AXETORNADO_BOTTOM:
|
|
case EF_MINEFFECT_AXETORNADO_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "ice_titan_attack.wav", 5, 0);
|
|
break;
|
|
|
|
case EF_NEW_FATAL_MENACE_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\EF_Bash.wav", 0, 0);
|
|
this->AddEvent(0, "effect\\rog_intimidate.wav", 0x23, 0);
|
|
break;
|
|
|
|
case EF_NEW_CANNON_SPEAR_BOTTOM:
|
|
case EF_MINEFFECT_CANNON_SPEAR_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\EF_hit2.wav", 0xa, 0);
|
|
this->AddEvent(0, "effect\\EF_hit4.wav", 0x14, 0);
|
|
break;
|
|
|
|
case EF_NEW_CRITICALATTACK:
|
|
this->AddEvent(0, "effect\\EF_hit2.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_RAYOFGENESIS:
|
|
this->AddEvent(0, "effect\\mon_맹룡과강.wav", 5, 0);
|
|
this->AddEvent(0, "effect\\mon_맹룡과강.wav", 5, 0);
|
|
this->AddEvent(0, "effect\\mon_맹룡과강.wav", 5, 0);
|
|
break;
|
|
|
|
case EF_NEW_COMET:
|
|
case EF_MINEFFECT_COMET:
|
|
this->AddEvent(0, "effect\\g크레이지위드.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_POISONSMOKE_1:
|
|
case EF_NEW_POISONSMOKE_2:
|
|
case EF_BLUE_WAVE_1:
|
|
case EF_BLUE_WAVE_2:
|
|
case EF_BLUE_WAVE_3:
|
|
case EF_RED_WAVE_1:
|
|
case EF_RED_WAVE_2:
|
|
case EF_RED_WAVE_3:
|
|
this->particle->flags = 5;
|
|
break;
|
|
|
|
case EF_NEW_FEARBREEZE:
|
|
this->AddEvent(0, "effect\\EF_Bash.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_HELLINFERNO:
|
|
this->AddEvent(0, "hell_in.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_CLEARANCE:
|
|
this->AddEvent(0, "effect\\샤프슈팅.wav", 0, 0);
|
|
this->AddEvent(0, "effect\\흡기.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_VARETYRSPEAR:
|
|
this->AddEvent(0, "effect\\프레셔.wav", 3, 0);
|
|
this->AddEvent(0, "effect\\S바레티르스피어.wav", 0x16, 0);
|
|
this->AddEvent(1, nullptr, 0x16, 0);
|
|
break;
|
|
|
|
case EF_NEW_CROSSIMPACT:
|
|
this->AddEvent(0, "effect\\EF_StoneCurse.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_SOULEXPANSION_HIT_BOTTOM:
|
|
this->AddEvent(0, "effect\\매직 크래쉬.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_GRADE_ENCHANT_INTRO:
|
|
case EF_GRADE_ENCHANT_SUCCESS:
|
|
case EF_UI_ENCHANT_INTRO_YELLOW:
|
|
case EF_UI_ENCHANT_SUCCESS:
|
|
case EF_UI_ENCHANT_INTRO_BLUE:
|
|
case EF_UI_LEVELUP_SUCCESS:
|
|
case EF_UI_ENCHANT_INTRO_GREEN:
|
|
case EF_UI_RESET_SUCCESS:
|
|
case EF_RUNE_ACTIVE_FINISH:
|
|
case EF_RUNESET_ACTIVE:
|
|
case EF_RUNESET_UPGRADE_SUCCESS:
|
|
case EF_RUNESET_UPGRADE_FAIL:
|
|
case EF_RUNE_BROKEN:
|
|
case EF_RUNE_SLOT_SMALL:
|
|
case EF_RUNE_SLOT_BIG:
|
|
this->particle->flags = 517;
|
|
break;
|
|
|
|
case EF_GRADE_ENCHANT_FAILED:
|
|
this->particle->flags = 517;
|
|
this->AddEvent(1, nullptr, 0xb4, 0);
|
|
break;
|
|
|
|
case EF_NEW_CHAINLIGHTNING_TARGET:
|
|
this->AddEvent(0, "chainlight.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_SOUNDOFDESTRUCTION_TARGET:
|
|
this->AddEvent(0, "effect\\priest_lexaeterna.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_AIMEDBOLT_CAST_BOTTOM:
|
|
case EF_DEADLY_PROJECTION_CAST_BOTTOM:
|
|
case EF_SOUL_VC_STRIKE_CAST_BOTTOM:
|
|
case EF_RAIN_OF_CRYSTAL_BOTTOM:
|
|
case EF_CRIMSON_ARROW_CAST_BOTTOM:
|
|
case EF_ASTRAL_STRIKE_CAST_BOTTOM:
|
|
case EF_FROZEN_SLASH_CAST_BOTTOM:
|
|
case EF_FLORAL_FLARE_ROAD_CAST_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\EF_BeginSpell.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_EPICLESIS:
|
|
this->AddEvent(0, "effect\\EF_GlassWall.wav", 0x1e, 0);
|
|
break;
|
|
|
|
case EF_HACKANDSLASH_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\DK_HACKANDSLASHER.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_WINDCUTTER:
|
|
this->AddEvent(0, "effect\\wl_siennaexecrate.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_POWERSWING_BOTTOM:
|
|
case EF_NEW_RUSH_QUAKE_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\wizard_fire_pillar_b.wav", 0xf, 0);
|
|
this->AddEvent(1, nullptr, 0x14, 0);
|
|
break;
|
|
|
|
case EF_NEW_EARTHDRIVE:
|
|
this->AddEvent(0, "effect\\wizard_earthspike.wav", 0x14, 0);
|
|
this->AddEvent(1, nullptr, 0x14, 0);
|
|
break;
|
|
|
|
case EF_SERVANT_SIGN_DOWN_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\DK_SERVANT_W_SIGN.wav", 0x28, 0);
|
|
break;
|
|
|
|
case EF_SERVANT_PHANTOM_HIT:
|
|
this->AddEvent(0, "effect\\DK_SERVANT_W_PHANTOM.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DRAGONIC_AURA:
|
|
this->AddEvent(0, "effect\\DK_DRAGONIC_AURA1.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DRAGONIC_AURA_HIT:
|
|
this->AddEvent(0, "effect\\DK_DRAGONIC_AURA2.wav", 1, 0);
|
|
break;
|
|
|
|
case EF_MADNESS_CRUSHER:
|
|
this->AddEvent(0, "effect\\DK_MADNESS_CRUSHER.wav", 1, 0);
|
|
break;
|
|
|
|
case EF_DESTRUCTIVE_HURRICANE:
|
|
this->AddEvent(0, "effect\\AG_DESTRUCTIVE_HURRICANE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DEADLY_PROJECTION_HIT: {
|
|
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
|
if (actor && actor->bodyState == 0 && actor->effectState == 0) {
|
|
this->AddEvent(0, "effect\\AG_DEADLY_PROJECTION.wav", 0, 0);
|
|
}
|
|
break;
|
|
}
|
|
|
|
case EF_ROCKDOWN:
|
|
this->AddEvent(0, "effect\\AG_ROCK_DOWN.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_CHARGINGPIERCE_HIT:
|
|
this->AddEvent(0, "effect\\DK_CHARGINGPIERCE1.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_FROZEN_SLASH:
|
|
this->AddEvent(0, "effect\\AG_FROZEN_SLASH.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_VIGOR_CAST:
|
|
this->AddEvent(0, "effect\\DK_VIGOR.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SERVANT_DEMOLITION_HIT:
|
|
this->AddEvent(0, "effect\\DK_SERVANT_W_DEMOL.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_STORMSLASH_1:
|
|
case EF_STORMSLASH_2:
|
|
case EF_STORMSLASH_3:
|
|
case EF_STORMSLASH_4:
|
|
case EF_STORMSLASH_5:
|
|
for (int i = 0; i <= this->id - 0x686; ++i) {
|
|
this->AddEvent(0, FormatOwnedString("effect\\DK_STORMSLASH%d.wav", rand() % 4 + 1).c_str(), i * 15, 0);
|
|
}
|
|
break;
|
|
|
|
case EF_ABR_MOTHER_01:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\MT_ABR_NET_REPAIR.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ABR_MOTHER_02:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\MT_ABR_NET_SUPPORT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_D_MACHINE_START:
|
|
this->AddEvent(0, "effect\\MT_D_MACHINE.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_NEW_AXE_STOMP_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(1, nullptr, 0x14, 0);
|
|
break;
|
|
|
|
case EF_SECOND_FLAME_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\wizard_fire_pillar_b.wav", 0xf, 0);
|
|
this->AddEvent(1, nullptr, 0x28, 0);
|
|
break;
|
|
|
|
case EF_ARBITRIUM_BOTTOM:
|
|
this->AddEvent(0, "effect\\CD_ARBITRIUM.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_NEW_DILECTIO_HEAL_TARGET_BOTTOM:
|
|
this->AddEvent(0, "effect\\CD_DILECTIO_HEAL.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_COMPETENTIA_BOTTOM:
|
|
this->AddEvent(0, "effect\\CD_COMPETENTIA.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_CRYSTAL_IMPACT:
|
|
this->AddEvent(0, "effect\\AG_CRYSTAL_IMPACT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_CALUMITYGALE_CAST:
|
|
case EF_INCREASING_ACTIVITY_CAST_BOTTOM:
|
|
case EF_ACTIVITY_BURN_CAST_BOTTOM:
|
|
case EF_SERPENS_CAST_BOTTOM:
|
|
case EF_ARDOR_CAST_BOTTOM:
|
|
case EF_PROCELLA_CAST_BOTTOM:
|
|
case EF_TERREMOTUS_CAST_BOTTOM:
|
|
case EF_TERRA_DRIVE_CAST_BOTTOM:
|
|
case EF_GUARD_STANCE_CAST_BOTTOM:
|
|
case EF_ATTACK_STANCE_CAST_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT_CAST_BOTTOM:
|
|
case EF_HELLTREE_CAST_BOTTOM:
|
|
case EF_WOODEN_WARRIOR_CAST_BOTTOM:
|
|
case EF_WOODEN_FAIRY_CAST_BOTTOM:
|
|
this->particle->flags = 13;
|
|
[[fallthrough]];
|
|
|
|
case EF_NEW_GATEOFHELL_CAST:
|
|
case EF_NEW_HOWLINGOFLION_CAST:
|
|
case EF_NEW_METALLICSOUND:
|
|
case EF_NEW_SOULEXPANSION_CAST:
|
|
case EF_NEW_WALLOFTHORN_CAST:
|
|
case EF_NEW_JUDEX_CAST_LOOP:
|
|
case EF_NEW_CHAINLIGHTNING_CAST:
|
|
case EF_NEW_MANDRAGORA_CAST:
|
|
case EF_NEW_SOUNDOFDESTRUCTION_CAST:
|
|
case EF_NEW_SPELLFIST_FIRE:
|
|
case EF_NEW_SPELLFIST_WATER:
|
|
case EF_NEW_SPELLFIST_WIND:
|
|
case EF_MEDIALE_VOTUM_CAST:
|
|
case EF_ARGUTUS_VITA_CAST:
|
|
case EF_ARGUTUS_TELUM_CAST:
|
|
case EF_PRESENS_ACIES_CAST:
|
|
case EF_ARBITRIUM_CAST:
|
|
case EF_DANCING_KNIFE_CAST:
|
|
case EF_RELIGIO_CAST:
|
|
case EF_NEW_ENCHANTING_SHADOW:
|
|
case EF_SHADOW_EXCEED_CAST:
|
|
case EF_SOLID_TRAP_CAST:
|
|
case EF_BENEDICTUM_CAST:
|
|
case EF_NEW_DILECTIO_HEAL_CAST:
|
|
case EF_CRESCIVEBOLT_CAST:
|
|
case EF_PNEUMATICUS_PROCELLA_CAST:
|
|
case EF_HAWK_BOOMERANG_CAST:
|
|
case EF_GALE_STORM_CAST:
|
|
case EF_FIRST_FAITH_POWER_CAST:
|
|
case EF_JUDGE_CAST:
|
|
case EF_THIRD_EXOR_FLAME_CAST:
|
|
case EF_OVERSLASH_CAST:
|
|
case EF_CROSS_RAIN_CAST:
|
|
case EF_HOLY_SHIELD_CAST:
|
|
case EF_SHIELD_SHOOTING_CAST:
|
|
case EF_JUDGEMENT_CROSS_CAST:
|
|
case EF_REBOUND_SHIELD_CAST:
|
|
this->AddEvent(0, "effect\\EF_BeginSpell.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_MASSIVE_FLAME_BLASTER:
|
|
this->AddEvent(0, "effect\\IQ_MASSIVE_F_BLASTER.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_THIRD_FLAME_BOMB_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\IQ_THIRD_FLAME_BOMB.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_THIRD_PUNISH_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\IQ_THIRD_PUNISH.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_KVASIRSONATA_CAST_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\TR_KVASIR_SONATA.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_STRATUM_TREMOR:
|
|
this->AddEvent(0, "effect\\AG_STRANTUM_TREMOR1.wav", 0, 0);
|
|
[[fallthrough]];
|
|
|
|
case EF_STRATUM_TREMOR_BOTTOM:
|
|
this->particle->flags = 13;
|
|
switch (this->effectLevel) {
|
|
case 1:
|
|
this->SetScale(0.7f);
|
|
break;
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
case 5:
|
|
this->SetScale(1.25f);
|
|
break;
|
|
}
|
|
break;
|
|
|
|
case EF_SHADOW_STAB: {
|
|
float fromReciprocalDepth = 0.0f;
|
|
float toReciprocalDepth = 0.0f;
|
|
float fromX;
|
|
float fromY;
|
|
float toX;
|
|
float toY;
|
|
g_renderer->ProjectViewport(this->position, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values, &fromX, &fromY, &fromReciprocalDepth);
|
|
g_renderer->ProjectViewport(this->sourcePosition, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values, &toX, &toY, &toReciprocalDepth);
|
|
|
|
const float dx = toX - fromX;
|
|
const float dy = toY - fromY;
|
|
double angle = static_cast<float>(std::acos(static_cast<double>(dx / SquareRoot(dy * dy + dx * dx)))) / 3.141592f * 180.0f;
|
|
if (fromY > toY) {
|
|
angle = 360.0 - angle;
|
|
}
|
|
|
|
if (this->particle) {
|
|
this->particle->m_angle = static_cast<float>(angle);
|
|
}
|
|
break;
|
|
}
|
|
|
|
case EF_SINCERE_FAITH:
|
|
this->particle->flags = 13;
|
|
[[fallthrough]];
|
|
|
|
case EF_POWERFUL_FAITH:
|
|
case EF_FIRM_FAITH:
|
|
this->AddEvent(0, "effect\\IQ_FAITH.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_INCREASING_ACTIVITY:
|
|
this->particle->m_repeat = 2;
|
|
this->AddEvent(0, "effect\\EM_INCREASING_ACTIVITY.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_CHAIN_REACTION_SHOT: {
|
|
float fromReciprocalDepth = 0.0f;
|
|
float toReciprocalDepth = 0.0f;
|
|
float fromX;
|
|
float fromY;
|
|
float toX;
|
|
float toY;
|
|
g_renderer->ProjectViewport(this->position, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values, &fromX, &fromY, &fromReciprocalDepth);
|
|
g_renderer->ProjectViewport(this->sourcePosition, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values, &toX, &toY, &toReciprocalDepth);
|
|
|
|
const float dx = toX - fromX;
|
|
const float dy = toY - fromY;
|
|
double angle = static_cast<float>(std::acos(static_cast<double>(-dx / SquareRoot(dy * dy + dx * dx)))) / 3.141592f * 180.0f;
|
|
if (toY > fromY) {
|
|
angle = 360.0 - angle;
|
|
}
|
|
|
|
if (this->particle) {
|
|
this->particle->m_angle = static_cast<float>(angle);
|
|
}
|
|
break;
|
|
}
|
|
|
|
case EF_MYSTICSYMPHONY_CAST:
|
|
this->particle->flags = 13;
|
|
[[fallthrough]];
|
|
|
|
case EF_KVASIRSONATA_CAST:
|
|
case EF_CHAIN_REACTION_SHOT_CAST:
|
|
case EF_ROSEBLOSSOM_CAST:
|
|
case EF_SOUND_BLEND_CAST:
|
|
case EF_JAWAII_SERENADE_CAST:
|
|
case EF_PRONMARCH_CAST:
|
|
case EF_RHYTHMSHOOTING_CAST:
|
|
case EF_NIFLHEIM_CAST:
|
|
case EF_ABYSS_STRIKE_CAST:
|
|
case EF_GEF_NOCTURN_CAST:
|
|
case EF_ROKI_CAPRICCIO_CAST:
|
|
case EF_MUSICAL_INTERLUDE_CAST:
|
|
case EF_AIN_RHAPSODY_CAST:
|
|
case EF_ABYSS_SLAYER_CAST:
|
|
case EF_UNLUCKY_RUSH_CAST:
|
|
case EF_ADVANCED_PROTECTION_CAST:
|
|
case EF_THE_W_PROTECTION_CAST:
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST:
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST:
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST:
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST:
|
|
case EF_RESEARCH_REPORT_CAST:
|
|
this->AddEvent(0, "effect\\ef_beginspell.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SERPENS_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\EM_SUMMON_ELEMENTAL_SERPENS_2.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_RELIGIO:
|
|
this->AddEvent(0, "effect\\CD_RELIGIO.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_BENEDICTUM:
|
|
this->AddEvent(0, "effect\\CD_BENEDICTUM.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ARGUTUS_VITA:
|
|
case EF_ARGUTUS_TELUM:
|
|
this->AddEvent(0, "effect\\CD_ARGUTUS_VITA.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_EFFLIGO_BOTTOM:
|
|
this->AddEvent(0, "effect\\CD_EFFLIGO.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_PRESENS_ACIES:
|
|
this->AddEvent(0, "effect\\CD_PRESENS_ACIES.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_PRAMEN_BOTTOM:
|
|
this->AddEvent(0, "effect\\CD_FRAMEN.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DILUVIO_ICE:
|
|
this->AddEvent(0, "effect\\EM_SUMMON_ELEMENTAL_DILUVIO_2.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DIAMOND_STORM_BOTTOM:
|
|
this->particle->life = static_cast<float>(EffectLifetime(0x7EB)) / 60.0f;
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\EM_DIAMOND_STORM.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DIAMOND_STORM_CAST_BOTTOM:
|
|
case EF_CONFLAGRATION_CAST_BOTTOM:
|
|
this->AddEvent(0, "effect\\ef_beginspell.wav", 0, 0);
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
case EF_VENOM_SWAMP_BOTTOM:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\EM_VENOM_SWAMP.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ARDOR:
|
|
this->AddEvent(0, "effect\\EM_SUMMON_ELEMENTAL_ARDOR_2.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_LIGHTNING_LAND:
|
|
this->AddEvent(0, "effect\\EM_LIGHTNING_LAND.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ROSEBLOSSOM_SHOT: {
|
|
float fromReciprocalDepth = 0.0f;
|
|
float toReciprocalDepth = 0.0f;
|
|
float fromX;
|
|
float fromY;
|
|
float toX;
|
|
float toY;
|
|
g_renderer->ProjectViewport(this->position, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values, &fromX, &fromY, &fromReciprocalDepth);
|
|
g_renderer->ProjectViewport(this->sourcePosition, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values, &toX, &toY, &toReciprocalDepth);
|
|
|
|
const float dx = toX - fromX;
|
|
const float dy = toY - fromY;
|
|
double angle = static_cast<float>(std::acos(static_cast<double>(-dx / SquareRoot(dy * dy + dx * dx)))) / 3.141592f * 180.0f;
|
|
if (toY > fromY) {
|
|
angle = 360.0 - angle;
|
|
}
|
|
|
|
if (this->particle) {
|
|
this->particle->m_angle = static_cast<float>(angle);
|
|
}
|
|
|
|
this->AddEvent(0, "effect\\TR_ROSEBLOSSOM_SHOT.wav", 0, 0);
|
|
break;
|
|
}
|
|
|
|
case EF_CONFLAGRATION:
|
|
this->AddEvent(0, "effect\\EM_CONFLAGRATION.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_JAWAII_SERENADE:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\TR_JAWAII_SERENADE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_PROCELLA:
|
|
this->AddEvent(0, "effect\\EM_SUMMON_ELEMENTAL_PROCELLA_2.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_TERREMOTUS:
|
|
this->AddEvent(0, "effect\\EM_SUMMON_ELEMENTAL_TERREMOTUS_2.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_FROM_THE_ABYSS:
|
|
this->particle->flags = 13;
|
|
this->AddEvent(0, "effect\\ABC_FROM_THE_ABYSS.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_HAWK_RUSH:
|
|
this->AddEvent(0, "effect\\WH_HAWKRUSH.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_WIND_SIGN:
|
|
this->AddEvent(0, "effect\\WH_WIND_SIGN.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_CALUMITYGALE:
|
|
this->AddEvent(0, "effect\\WH_CALAMITYGALE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DEEP_BLIND_TRAP:
|
|
case EF_SWIFT_TRAP:
|
|
case EF_SOLID_TRAP:
|
|
case EF_FLAME_TRAP:
|
|
this->AddEvent(0, "effect\\WH_TRAP.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DEEP_BLIND_TRAP_HIT:
|
|
this->AddEvent(0, "effect\\WH_DEEP_BLIND_TRAP_HIT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SOLID_TRAP_HIT:
|
|
this->AddEvent(0, "effect\\WH_SOLID_TRAP_HIT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SWIFT_TRAP_HIT:
|
|
this->AddEvent(0, "effect\\WH_SWIFT_TRAP_HIT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_FLAME_TRAP_HIT:
|
|
this->AddEvent(0, "effect\\WH_FLAMETRAP_HIT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_TERRA_DRIVE:
|
|
this->AddEvent(0, "effect\\EM_TERRA_DRIVE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ETERNAL_SLASH_HIT:
|
|
this->AddEvent(0, "effect\\SHC_SHADOW_STAB.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ETERNAL_SLASH_HIT_2:
|
|
this->AddEvent(0, "effect\\SHC_ETERNAL_SLASH.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_IMPACT_CRATER_HIT:
|
|
this->AddEvent(0, "effect\\SHC_IMPACT_CRATER.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_FATAL_SHADOW_CROW:
|
|
this->AddEvent(0, "effect\\SHC_FATAL_SHADOW_CROW.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_POTENT_VENOM:
|
|
this->AddEvent(0, "effect\\SHC_POTENT_VENOM.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_AXE_STOMP:
|
|
this->AddEvent(0, "effect\\MT_AXE_STOMP.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NEW_RUSH_QUAKE_HIT:
|
|
this->AddEvent(0, "effect\\MT_RUSH_QUAKE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_WOODEN_WARRIOR_THROWROCK:
|
|
this->particle->m_angle = static_cast<float>(ScreenAngle(*reinterpret_cast<const vector3d*>(this->position), *reinterpret_cast<const vector3d*>(this->sourcePosition)) + 180.0);
|
|
this->AddEvent(0, "effect\\BO_THROWROCK.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_WOODEN_WARRIOR_ATTACK:
|
|
this->particle->m_angle = static_cast<float>(ScreenAngle(*reinterpret_cast<const vector3d*>(this->position), *reinterpret_cast<const vector3d*>(this->sourcePosition)) + 180.0);
|
|
this->AddEvent(0, "effect\\BO_WOODEN_ATTACK.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ROSEBLOSSOM_ROSE:
|
|
this->AddEvent(0, "effect\\TR_ROSEBLOSSOM_ROSE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SOUND_BLEND:
|
|
this->AddEvent(0, "effect\\TR_SOUNDBLEND_SHOT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SOUND_BLEND_RED:
|
|
this->AddEvent(0, "effect\\TR_SOUNDBLEND_HIT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_METALLIC_FURY:
|
|
this->AddEvent(0, "effect\\TR_METALIC_FURY.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_GEF_NOCTURN:
|
|
this->AddEvent(0, "effect\\TR_GEF_NOCTURN.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ROKI_CAPRICCIO:
|
|
this->AddEvent(0, "effect\\TR_ROKI_CAPRICCIO.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_AIN_RHAPSODY:
|
|
this->AddEvent(0, "effect\\TR_AIN_RHAPSODY.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_MUSICAL_INTERLUDE:
|
|
this->AddEvent(0, "effect\\TR_MUSICAL_INTERLUDE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NIFLHEIM:
|
|
this->AddEvent(0, "effect\\TR_NIPELHEIM_REQUIEM.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_PRONMARCH:
|
|
this->AddEvent(0, "effect\\TR_PRON_MARCH.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_MYSTICSYMPHONY:
|
|
this->AddEvent(0, "effect\\TR_MYSTIC_SYMPHONY.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_OLEUM_SANCTUM:
|
|
this->AddEvent(0, "effect\\IQ_OLEUM_SANCTUM.wav", 0x32, 0);
|
|
break;
|
|
|
|
case EF_EXPLOSION_BLASTER:
|
|
this->AddEvent(0, "effect\\IQ_EXPOSION_BLASTER.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_FIRST_FAITH_POWER_START:
|
|
this->AddEvent(0, "effect\\IQ_FIRST_FAITH_POWER.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_JUDGE_START:
|
|
this->AddEvent(0, "effect\\IQ_JUDGE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_THIRD_EXOR_FLAME_START:
|
|
this->AddEvent(0, "effect\\IQ_THIRD_EXOR_FLAME.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_FIRST_BRAND_START:
|
|
this->AddEvent(0, "effect\\IQ_FIRST_BRAND.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SECOND_FAITH:
|
|
this->AddEvent(0, "effect\\IQ_SECOND_FAITH.wav", 0x14, 0);
|
|
break;
|
|
|
|
case EF_SECOND_FLAME:
|
|
this->AddEvent(0, "effect\\IQ_SECOND_FLAME.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_THIRD_CONSECRATION:
|
|
this->AddEvent(0, "effect\\IQ_THIRD_CONSECRATION.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_THE_W_PROTECTION:
|
|
this->AddEvent(0, "apocalips_attack.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ADVANCED_PROTECTION:
|
|
this->AddEvent(0, "effect\\BO_ADVANCE_PROTECTION.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_WOODEN_FAIRY_DUSTY:
|
|
this->AddEvent(0, "effect\\BO_FAIRY_DUSTY.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_RESEARCH_REPORT:
|
|
this->AddEvent(0, "effect\\BO_RESEARCHREPORT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_HELLTREE_HOWLING:
|
|
this->AddEvent(0, "effect\\BO_HELL_HOWLING.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ABYSS_DAGGER:
|
|
this->AddEvent(0, "effect\\ABC_ABYSS_DAGGER.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ABYSS_STRIKE:
|
|
this->AddEvent(0, "effect\\ABC_ABYSS_STRIKE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_DEFT_STAB:
|
|
this->AddEvent(0, "effect\\ABC_DEFT_STAB1.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_SPELL_ENCHANTING:
|
|
this->AddEvent(0, "effect\\EM_SPELL_ENCHANTING.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ACTIVITY_BURN:
|
|
this->AddEvent(0, "effect\\EM_ACTIVITY_BURN.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ELEMENTAL_BUSTER_FIRE:
|
|
this->AddEvent(0, "effect\\EM_ELEMETAL_BUSTER_FIRE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ELEMENTAL_BUSTER_WATER:
|
|
this->AddEvent(0, "effect\\EM_ELEMETAL_BUSTER_WATER.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ELEMENTAL_BUSTER_POISON:
|
|
this->AddEvent(0, "effect\\EM_ELEMETAL_BUSTER_POISON.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ELEMENTAL_BUSTER_LAND:
|
|
this->AddEvent(0, "effect\\EM_ELEMETAL_BUSTER_GROUND.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ELEMENTAL_BUSTER_WIND:
|
|
this->AddEvent(0, "effect\\EM_ELEMETAL_BUSTER_WIND.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ARDOR_FLAMETECHNIC:
|
|
this->AddEvent(0, "effect\\EF_FireArrow1.wav", 0, 0);
|
|
this->AddEvent(1, nullptr, 0, 0);
|
|
break;
|
|
|
|
case EF_DILUVIO_COLD_FORCE:
|
|
this->AddEvent(0, "effect\\EF_IceArrow1.wav", 0, 0);
|
|
this->AddEvent(1, nullptr, 0, 0);
|
|
break;
|
|
|
|
case EF_PROCELLA_GRACE_BREEZE:
|
|
this->AddEvent(0, "effect\\EF_LightBolt3.wav", 0, 0);
|
|
this->AddEvent(1, nullptr, 0, 0);
|
|
break;
|
|
|
|
case EF_TERREMOTUS_EARTH_CARE:
|
|
this->AddEvent(0, "effect\\wizard_earthspike.wav", 0, 0);
|
|
this->AddEvent(1, nullptr, 0, 0);
|
|
break;
|
|
|
|
case EF_SERPENS_DEEP_POISONING:
|
|
this->AddEvent(0, "effect\\ef_detoxication.wav", 0, 0);
|
|
this->AddEvent(1, nullptr, 0, 0);
|
|
break;
|
|
|
|
case EF_GUARD_STANCE:
|
|
case EF_ATTACK_STANCE:
|
|
this->AddEvent(0, "effect\\IG_GUARD_STANCE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_GUARDIANSHIELD_SUB:
|
|
this->AddEvent(0, "effect\\IG_GUARDIAN_SHIELD.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_REBOUND_SHIELD:
|
|
this->AddEvent(0, "effect\\IG_REBOUND_SHIELD.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_ULTIMATESACRIFICE:
|
|
this->AddEvent(0, "effect\\IG_ULTIMATE_SACRIFICE.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_HOLY_SHIELD:
|
|
this->AddEvent(0, "effect\\IG_HOLY_SHIELD1.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_HOLY_SHIELD_LOOP:
|
|
this->AddEvent(0, "effect\\IG_HOLY_SHIELD2.wav", 0x22, 0);
|
|
break;
|
|
|
|
case EF_GRAND_JUDGEMENT:
|
|
this->AddEvent(0, "effect\\IG_GRAND_JUDGEMENT.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_OVERSLASH:
|
|
this->AddEvent(0, "effect\\IG_OVERSLASH.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_UI_ENCHANT_FAIL:
|
|
case EF_UI_LEVELUP_FAIL:
|
|
case EF_UI_RESET_FAIL:
|
|
this->particle->flags = 0x205;
|
|
this->AddEvent(1, nullptr, 0, 0);
|
|
break;
|
|
|
|
case EF_TETRA_VORTEX_WATER_SUB_2:
|
|
this->AddEvent(0, "effect\\drop_effect_1.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_TETRA_VORTEX_EARTH_SUB_2:
|
|
this->AddEvent(0, "effect\\drop_effect_2.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_20TH_FIREWORK:
|
|
this->AddEvent(0, "effect\\pokjuk_jap.wav", 0, 0);
|
|
break;
|
|
|
|
case EF_NPC_GATE_GREEN_2:
|
|
case EF_NPC_GATE_PURPLE_2:
|
|
case EF_NPC_GATE_RED_2:
|
|
this->particle->m_scale = 0.6f;
|
|
break;
|
|
|
|
case EF_NPC_GATE_GREEN_3:
|
|
case EF_NPC_GATE_PURPLE_3:
|
|
case EF_NPC_GATE_RED_3:
|
|
this->particle->m_scale = 0.35f;
|
|
break;
|
|
|
|
case EF_NEW_METEORSTORM_BOTTOM:
|
|
case EF_NEW_ADORAMUS_BOTTOM:
|
|
case EF_TETRA_VORTEX_FIRE_GROUND:
|
|
case EF_TETRA_VORTEX_WATER_GROUND:
|
|
case EF_TETRA_VORTEX_WIND_GROUND:
|
|
case EF_TETRA_VORTEX_EARTH_GROUND:
|
|
case EF_NEW_CRIMSONROCK_BOTTOM:
|
|
case EF_TETRA_VORTEX_CORE_GROUND:
|
|
case EF_NEW_DIAMONDDUST_BOTTOM:
|
|
case EF_NEW_DIAMONDDUST_CAST:
|
|
case EF_NEW_SECRAMENT:
|
|
case EF_NEW_PSYCHICWAVE_BOTTOM:
|
|
case EF_NEW_PSYCHICWAVE_CAST:
|
|
case EF_NEW_TRIANGLESHOT_BOTTOM:
|
|
case EF_NEW_RAMPAGEBLASTER_BOTTOM:
|
|
case EF_NEW_FEINTBOMB_BOTTOM:
|
|
case EF_NEW_ARMSCANNON_01_DOWN:
|
|
case EF_NEW_ARMSCANNON_11_DOWN:
|
|
case EF_NEW_ARMSCANNON_EXPLOSION_BOTTOM:
|
|
case EF_NEW_CART_CANNON_EXPLOSION_BOTTOM:
|
|
case EF_NEW_CART_CANNON_FIRE_BOTTOM:
|
|
case EF_NEW_CART_TORNADO_BOTTOM:
|
|
case EF_HELP_ANGEL_BOTTOM:
|
|
case EF_NEW_BANISHINGPOINT_TARGET_BOTTOM:
|
|
case EF_NEW_BANISHINGPOINT_CAST_BOTTOM:
|
|
case EF_NEW_DRAGONBREATH_BOMB_BOTTOM:
|
|
case EF_NEW_ARMSCANNON_CAST_BOTTOM:
|
|
case EF_NEW_DRAGONBREATH_WATER_BOMB_BOTTOM:
|
|
case EF_NEW_COUNTER_SLASH_BOTTOM:
|
|
case EF_NEW_FATAL_MENACE_CAST_BOTTOM:
|
|
case EF_NEW_COMET_BOTTOM:
|
|
case EF_NEW_COMET_CAST_BOTTOM:
|
|
case EF_NEW_COMET_SUB_EXP_BOTTOM:
|
|
case EF_MINEFFECT_ADORAMUS_BOTTOM:
|
|
case EF_MINEFFECT_TETRA_FIRE_BOTTOM:
|
|
case EF_MINEFFECT_TETRA_WATER_BOTTOM:
|
|
case EF_MINEFFECT_TETRA_WIND_BOTTOM:
|
|
case EF_MINEFFECT_TETRA_EARTH_BOTTOM:
|
|
case EF_MINEFFECT_TETRA_CORE_BOTTOM:
|
|
case EF_MINEFFECT_CRIMSONROCK_BOTTOM:
|
|
case EF_MINEFFECT_DIAMONDDUST_BOTTOM:
|
|
case EF_MINEFFECT_DIAMONDDUST_CAST:
|
|
case EF_MINEFFECT_SECRAMENT:
|
|
case EF_MINEFFECT_PSYCHICWAVE_BOTTOM:
|
|
case EF_MINEFFECT_PSYCHICWAVE_CAST:
|
|
case EF_MINEFFECT_TRIANGLESHOT_BOTTOM:
|
|
case EF_MINEFFECT_RAMPAGEBLASTER_BOTTOM:
|
|
case EF_MINEFFECT_FEINTBOMB_BOTTOM:
|
|
case EF_MINEFFECT_ARMSCANNON_01:
|
|
case EF_MINEFFECT_ARMSCANNON_11:
|
|
case EF_MINEFFECT_ARMSCANNON_EXPLOSION_BOTTOM:
|
|
case EF_MINEFFECT_ARMSCANNON_CAST_BOTTOM:
|
|
case EF_MINEFFECT_CART_CANNON_EXPLOSION_BOTTOM:
|
|
case EF_MINEFFECT_CART_CANNON_FIRE_BOTTOM:
|
|
case EF_MINEFFECT_CART_TORNADO_BOTTOM:
|
|
case EF_MINEFFECT_BANISHINGPOINT_TARGET_BOTTOM:
|
|
case EF_MINEFFECT_BANISHINGPOINT_CAST_BOTTOM:
|
|
case EF_MINEFFECT_COMET_BOTTOM:
|
|
case EF_MINEFFECT_COMET_CAST_BOTTOM:
|
|
case EF_MINEFFECT_COMET_SUB_EXP_BOTTOM:
|
|
case EF_NEW_POISONSMOKE_CAST:
|
|
case EF_NEW_HELLINFERNO_BOTTOM:
|
|
case EF_NEW_HELLINFERNO_SUB_BOTTOM:
|
|
case EF_NEW_CLEARANCE_BOTTOM:
|
|
case EF_NEW_VARETYRSPEAR_BOTTOM:
|
|
case EF_NEW_VARETYRSPEAR_CAST_BOTTOM:
|
|
case EF_NEW_FALLENEMPIRE_BOTTOM:
|
|
case EF_NEW_HOWLINGOFLION_BOTTOM:
|
|
case EF_NEW_HOWLINGOFLION_CAST_BOTTOM:
|
|
case EF_NEW_METALLICSOUND_BOTTOM:
|
|
case EF_NEW_REPRODUCE_BOTTOM:
|
|
case EF_NEW_SOULEXPANSION_CAST_BOTTOM:
|
|
case EF_NEW_SOULEXPANSION_LOOP_BOTTOM:
|
|
case EF_NEW_AROMAOIL_BOTTOM:
|
|
case EF_NEW_BATHFOAM_BOTTOM:
|
|
case EF_NEW_WALLOFTHORN_CAST_BOTTOM:
|
|
case EF_NEW_EARTHGRAVE_BOTTOM:
|
|
case EF_NEW_IGNITIONBREAK_BOTTOM:
|
|
case EF_NEW_JUDEX_CAST_BOTTOM:
|
|
case EF_NEW_JUDEX_CAST_LOOP_BOTTOM:
|
|
case EF_NEW_JUDEX_TARGET_BOTTOM:
|
|
case EF_NEW_JUDEX_LIGHT_BOTTOM:
|
|
case EF_NEW_CHAINLIGHTNING_CAST_BOTTOM:
|
|
case EF_NEW_CHAINLIGHTNING_LOCKON:
|
|
case EF_NEW_MANDRAGORA_BOTTOM:
|
|
case EF_NEW_SOUNDOFDESTRUCTION_CAST_BOTTOM:
|
|
case EF_NEW_UNLIMIT_BOTTOM:
|
|
case EF_NEW_AXEBOOMERANG_CAST_BOTTOM:
|
|
case EF_NEW_SPELLFIST_FIRE_BOTTOM:
|
|
case EF_NEW_SPELLFIST_WATER_BOTTOM:
|
|
case EF_NEW_CARTBOOST_BOTTOM:
|
|
case EF_NEW_OVERBRAND_CAST_BOTTOM:
|
|
case EF_NEW_WINDCUTTER_BOTTOM_01:
|
|
case EF_NEW_WINDCUTTER_BOTTOM_05:
|
|
case EF_NEW_SERVANTWEAPON_HIT_BOTTOM:
|
|
case EF_NEW_SERVANTWEAPON_SHOOT_BOTTOM:
|
|
case EF_NEW_VULCANARM_BOTTOM:
|
|
case EF_NEW_EARTHDRIVE_BOTTOM:
|
|
case EF_SERVANT_PHANTOM_HIT_BOTTOM:
|
|
case EF_SERVANT_PHANTOM_SUB_BOTTOM:
|
|
case EF_DRAGONIC_AURA_BOTTOM:
|
|
case EF_DRAGONIC_AURA_HIT_BOTTOM:
|
|
case EF_DRAGONIC_AURA_BUFF_BOTTOM:
|
|
case EF_MADNESS_CRUSHER_BOTTOM:
|
|
case EF_NEW_AUTOSHADOWSPELL_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM:
|
|
case EF_ROCKDOWN_BOTTOM:
|
|
case EF_NEW_CHARGINGPIERCE_CAST_BOTTOM:
|
|
case EF_MYSTERY_ILLUSION_BOTTOM:
|
|
case EF_TORNADO_STORM_BOTTOM:
|
|
case EF_VIOLENT_QUAKE_BOTTOM:
|
|
case EF_ALL_BLOOM_BOTTOM:
|
|
case EF_CLIMAX_CAST_LOOP:
|
|
case EF_NEW_D_MACHINE_CAST_BOTTOM:
|
|
case EF_ARBITRIUM_CAST_BOTTOM:
|
|
case EF_COMPETENTIA_LOOP_BOTTOM:
|
|
case EF_CRYSTAL_IMPACT_CAST_BOTTOM:
|
|
case EF_NEW_ENCHANTING_SHADOW_BOTTOM:
|
|
case EF_IMPACT_CRATER_BOTTOM:
|
|
case EF_ABR_INFINITY_BOTTOM:
|
|
case EF_ABR_INFINITY_CAST:
|
|
case EF_NEW_DILECTIO_HEAL_CAST_BOTTOM:
|
|
case EF_NEW_PRAMEN_CAST:
|
|
case EF_NEW_BATTLE_W_BOTTOM:
|
|
case EF_FIRST_FAITH_POWER:
|
|
case EF_JUDGE:
|
|
case EF_JUDGE_AURA:
|
|
case EF_THIRD_EXOR_FLAME:
|
|
case EF_THIRD_EXOR_FLAME_AURA:
|
|
case EF_CHAIN_REACTION_SHOT_CAST_BOTTOM:
|
|
case EF_DILUVIO_ICE_BOTTOM:
|
|
case EF_ARDOR_BOTTOM:
|
|
case EF_LIGHTNING_LAND_BOTTOM:
|
|
case EF_ROSEBLOSSOM_CAST_BOTTOM:
|
|
case EF_FIRST_BRAND_AURA:
|
|
case EF_CONFLAGRATION_BOTTOM:
|
|
case EF_SOUND_BLEND_CAST_BOTTOM:
|
|
case EF_JAWAII_SERENADE_CAST_BOTTOM:
|
|
case EF_PRONMARCH_CAST_BOTTOM:
|
|
case EF_RHYTHMSHOOTING_CAST_BOTTOM:
|
|
case EF_SECOND_FAITH_AURA:
|
|
case EF_ABYSS_STRIKE_BOTTOM:
|
|
case EF_ABYSS_STRIKE_CAST_BOTTOM:
|
|
case EF_ABYSS_STRIKE_GROUND_BOTTOM:
|
|
case EF_MASSIVE_FLAME_BLASTER_HIT_BOTTOM:
|
|
case EF_PROCELLA_BOTTOM:
|
|
case EF_GEF_NOCTURN_CAST_BOTTOM:
|
|
case EF_ROKI_CAPRICCIO_CAST_BOTTOM:
|
|
case EF_ABYSS_SLAYER_CAST_BOTTOM:
|
|
case EF_ABYSS_SQUARE_BOTTOM:
|
|
case EF_TERRA_DRIVE_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_FIRE_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_LAND_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_POISON_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_WATER_BOTTOM:
|
|
case EF_ELEMENTAL_BUSTER_WIND_BOTTOM:
|
|
case EF_OVERSLASH_BOTTOM:
|
|
case EF_ADVANCED_PROTECTION_BOTTOM:
|
|
case EF_ADVANCED_PROTECTION_CAST_BOTTOM:
|
|
case EF_CROSS_RAIN_BOTTOM:
|
|
case EF_CROSS_RAIN_CAST_BOTTOM:
|
|
case EF_GRAND_JUDGEMENT_BOTTOM:
|
|
case EF_GUARDIANSHIELD_BOTTOM:
|
|
case EF_JUDGEMENT_CROSS_BOTTOM:
|
|
case EF_JUDGEMENT_CROSS_CAST_BOTTOM:
|
|
case EF_REBOUND_SHIELD_BOTTOM:
|
|
case EF_REBOUND_SHIELD_CAST_BOTTOM:
|
|
case EF_ULTIMATESACRIFICE_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_FIRE_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_FIRE_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_FIRE_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WATER_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_WIND_LOOP_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_CAST_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_START_BOTTOM:
|
|
case EF_ACIDIFIED_ZONE_GROUND_LOOP_BOTTOM:
|
|
case EF_RESEARCH_REPORT_CAST_BOTTOM:
|
|
case EF_SERPENS_DEEP_POISONING_BOTTOM:
|
|
case EF_DILUVIO_COLD_FORCE_BOTTOM:
|
|
case EF_ARDOR_FLAMETECHNIC_BOTTOM:
|
|
case EF_PROCELLA_GRACE_BREEZE_BOTTOM:
|
|
case EF_TERREMOTUS_EARTH_CARE_BOTTOM:
|
|
case EF_THIRD_CONSECRATION_BOTTOM:
|
|
case EF_SERVANT_SIGN_BOTTOM:
|
|
case EF_NPC_KILLING_AURA:
|
|
case EF_TOXIN_OF_MANDARA_BOMB_BOTTOM:
|
|
case EF_NEEDLE_STINGER_BOTTOM:
|
|
case EF_ABSOLUTE_ZEPHYR_BOTTOM:
|
|
case EF_HEILIGE_PFERD_BOTTOM:
|
|
case EF_HEILIGE_PFERD_CAST:
|
|
case EF_THE_ONE_FIGHTER_RISES_BOTTOM:
|
|
case EF_DESTRUCTIVE_HURRICANE_BOTTOM_REUSE:
|
|
this->particle->flags = 13;
|
|
break;
|
|
|
|
default:
|
|
if (this->id >= 0x9B5) {
|
|
bool renderBefore = false;
|
|
g_session.m_hotkeyScript->Call("IsRenderBeforeCharacter", "d>b", this->id - 0x9B5, &renderBefore);
|
|
if (renderBefore) {
|
|
this->particle->flags = 13;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|