#include "Client/Session.h" #include "Script/LuaScript.h" #include // INLINED static __forceinline bool IsTaekwonDisplayJob() { return (g_session.GetDisplayJob() >= 4046 && g_session.GetDisplayJob() <= 4049) || g_session.GetDisplayJob() == 4225 || g_session.GetDisplayJob() == 4226 || g_session.GetDisplayJob() == 4238 || g_session.GetDisplayJob() == 4227 || (g_session.GetDisplayJob() >= 4239 && g_session.GetDisplayJob() <= 4244) || g_session.GetDisplayJob() == 4302 || g_session.GetDisplayJob() == 4303 || g_session.GetDisplayJob() == 4316; } // OFFSET: 0x00E166E0 // FUNCTION: fn_23833 const char* CSession::GetEFSTImgFileName(int efstId, int type) { const char* fileName = nullptr; this->m_hotkeyScript->Call("GetEFSTImgFileName", "dd>s", efstId, type, &fileName); if (strcmp(fileName, "") != 0) { return fileName; } switch (type) { case 0: switch (efstId) { case 762: return "effect\\SWORDCLAN.TGA"; case 763: return "effect\\ARCWANDCLAN.TGA"; case 764: return "effect\\GOLDENMACECLAN.TGA"; case 765: return "effect\\CROSSBOWCLAN.TGA"; } break; case 1: switch (efstId) { case 8: return "effect\\콰그마이어.tga"; case 13: return "effect\\민첩성감소.tga"; case 32: return "effect\\갑옷파괴.tga"; case 33: return "effect\\무기파괴.tga"; case 34: return "effect\\환각.tga"; case 35: return "effect\\무게50이상.tga"; case 36: return "effect\\무게90이상.tga"; case 50: return "effect\\스트립웨폰.tga"; case 51: return "effect\\스트립쉴드.tga"; case 52: return "effect\\스트립아머.tga"; case 53: return "effect\\스트립헬름.tga"; case 90: return IsTaekwonDisplayJob() ? "effect\\i_p_FIRE.tga" : "effect\\프레임런쳐.tga"; case 241: return "effect\\Str_gogi.tga"; case 242: return "effect\\Agi_gogi.tga"; case 243: return "effect\\Vit_gogi.tga"; case 244: return "effect\\Dex_gogi.tga"; case 245: return "effect\\Int_gogi.tga"; case 246: return "effect\\Luk_gogi.tga"; case 247: case 248: case 249: return "effect\\gogi.tga"; case 250: return "effect\\exp.tga"; case 251: return "effect\\death.tga"; case 252: return "effect\\item.tga"; case 271: return "effect\\Str_gogi.tga"; case 272: return "effect\\Agi_gogi.tga"; case 273: return "effect\\Vit_gogi.tga"; case 274: return "effect\\Dex_gogi.tga"; case 275: return "effect\\Int_gogi.tga"; case 276: return "effect\\Luk_gogi.tga"; case 298: return "effect\\멘탈포션.tga"; case 312: return "effect\\job.tga"; case 313: return "effect\\gogi.tga"; case 401: return "effect\\민첩성감소.tga"; case 476: return "effect\\npc_hellpower.tga"; case 491: return "effect\\Str_gogi.tga"; case 492: return "effect\\Int_gogi.tga"; case 493: return "effect\\Vit_gogi.tga"; case 494: return "effect\\Dex_gogi.tga"; case 495: return "effect\\Agi_gogi.tga"; case 496: return "effect\\Luk_gogi.tga"; case 621: return "effect\\변신.tga"; case 636: return "effect\\job.tga"; case 637: return "effect\\NORECOVER.TGA"; case 662: case 663: return "effect\\icon02.tga"; case 664: return "effect\\rwcscroll.tga"; case 721: return "effect\\REBOUND.tga"; case 730: return "effect\\darkcrow.tga"; } break; case 2: switch (efstId) { case 0: return "effect\\프로보크.tga"; case 1: return "effect\\인듀어.tga"; case 2: return "effect\\투핸드퀴큰.tga"; case 4: return "effect\\하이딩.tga"; case 5: return "effect\\클로킹.tga"; case 6: return "effect\\인찬트포이즌.tga"; case 7: return "effect\\포이즌리액트.tga"; case 23: return "effect\\아드레날린러쉬.tga"; case 24: return "effect\\웨폰퍼펙션.tga"; case 25: return "effect\\오버트러스트.tga"; case 26: return "effect\\맥시마이즈파워.tga"; case 58: return "effect\\오토가드.tga"; case 59: return "effect\\리플렉트쉴드.tga"; case 62: return "effect\\디펜더.tga"; case 65: return "effect\\오토스펠.tga"; case 68: return "effect\\스피어퀴큰.tga"; case 91: return IsTaekwonDisplayJob() ? "effect\\i_p_WATER.tga" : "effect\\프로스트웨폰.tga"; case 92: return IsTaekwonDisplayJob() ? "effect\\i_p_WIND.tga" : "effect\\라이트닝로더.tga"; case 97: return "effect\\글로리아.tga"; case 104: return "effect\\ICON10.tga"; case 106: return "effect\\ICON08.tga"; case 110: return "effect\\ICON05.tga"; case 112: return "effect\\I_장판.tga"; case 114: return "effect\\I_치독.tga"; case 115: return "effect\\ICON09.tga"; case 116: return "effect\\ICON06.tga"; case 117: return "effect\\ICON03.tga"; case 118: return "effect\\ICON07.tga"; case 120: return "effect\\ICON04.tga"; case 121: case 122: return "effect\\ICON01.tga"; case 124: return "effect\\출혈상태.tga"; case 125: return "effect\\관절공격.tga"; case 130: return "effect\\엄마아빠사랑해요.tga"; case 132: return "effect\\금강불괴.tga"; case 135: return "effect\\i_STORMKICK.tga"; case 137: return "effect\\i_DOWNKICK.tga"; case 139: return "effect\\i_TURNKICK.tga"; case 141: return "effect\\i_COUNTER.tga"; case 143: return "effect\\i_DODGE.tga"; case 145: return "effect\\i_RUN.tga"; case 146: return "effect\\i_p_DARK.tga"; case 147: return "effect\\아드레날린러쉬.tga"; case 148: return "effect\\i_p_TELE.tga"; case 150: return "effect\\PLUSATTACKPOWER.tga"; case 156: return "effect\\i_KAIZEL.tga"; case 157: return "effect\\i_KAAHI.tga"; case 158: return "effect\\i_KAUPE.tga"; case 161: return "effect\\i_ONEHAND.tga"; case 169: return "effect\\i_SUNCOMFORT.tga"; case 170: return "effect\\i_MOONCOMFORT.tga"; case 171: return "effect\\i_STARCOMFORT.tga"; case 181: return "effect\\I_프리저브.tga"; case 182: return "effect\\I_체이스힘.tga"; case 186: return "effect\\I_더블캐스팅.tga"; case 188: return "effect\\I_오버맥스.tga"; case 191: return "effect\\I_타로카드.tga"; case 197: return "effect\\i_shrink.tga"; case 198: return "effect\\i_sightblaster.tga"; case 200: case 201: return "effect\\i_closeconfine.tga"; case 203: return "effect\\i_MADNESS.tga"; case 204: return "effect\\i_FEVER.tga"; case 205: return "effect\\글로리아.tga"; case 206: return "effect\\i_MAEMI.tga"; case 207: return "effect\\i_BUNSIN.tga"; case 208: return "effect\\i_NEN.tga"; case 209: return "effect\\i_ADJUSTMENT.tga"; case 210: return "effect\\i_ACCURACY.tga"; case 212: case 213: case 214: case 215: case 216: case 217: case 218: case 219: case 220: case 221: case 222: case 223: case 224: case 225: case 226: case 227: case 228: case 229: case 230: case 231: case 232: case 233: case 234: case 235: case 236: case 239: case 240: case 254: case 255: case 256: case 257: case 258: case 259: case 260: case 261: case 262: return "effect\\글로리아.tga"; case 263: return "effect\\죽은척하기.tga"; case 264: case 265: case 266: case 267: case 268: case 269: case 270: return "effect\\글로리아.tga"; case 282: return "effect\\slowcast.tga"; case 286: return "effect\\criticalwound.tga"; case 290: return "effect\\물리방어포션.tga"; case 291: return "effect\\마법방어포션.tga"; case 292: return "effect\\회복력향상포션.tga"; case 293: return "effect\\소형생명수.tga"; case 294: return "effect\\중형생명수.tga"; case 295: return "effect\\연마제.tga"; case 296: return "effect\\환영의술잔.tga"; case 297: return "effect\\대환단.tga"; case 299: return "effect\\태청단.tga"; case 300: return "effect\\SP소모량감소포션.tga"; case 301: return "effect\\올상태저항포션.tga"; case 302: return "effect\\캐시갑옷속성부여.tga"; case 304: return "effect\\npc_hellpower.tga"; case 314: return "effect\\엄마아빠사랑해요.tga"; case 316: return "effect\\RK_ENCHANT.tga"; case 318: return "effect\\RK_NAUTHIZ.tga"; case 319: return "effect\\RK_TURISUSS.tga"; case 320: return "effect\\RK_HAGALAZ.tga"; case 321: return "effect\\RK_ISHA.tga"; case 322: return "effect\\RK_EISIR.tga"; case 323: return "effect\\RK_URUZ.tga"; case 333: return "effect\\포이즈닝웨폰.tga"; case 334: return "effect\\할루시네이션워크.tga"; case 336: return "effect\\레노바티오.tga"; case 337: return "effect\\웨폰블로킹.tga"; case 341: return "effect\\감각마비독.tga"; case 342: return "effect\\신경마비독.tga"; case 343: return "effect\\감각마비독.tga"; case 344: return "effect\\쇠약독.tga"; case 345: return "effect\\웃음버섯.tga"; case 346: return "effect\\상처오염독.tga"; case 347: return "effect\\열병독.tga"; case 348: return "effect\\망각의재.tga"; case 349: return "effect\\거머리.tga"; case 351: return "effect\\FROSTMISTY.tga"; case 352: return "effect\\RA_FEARBREEZE.tga"; case 354: return "effect\\MARSHOFABYSS.tga"; case 355: return "effect\\RECOGNIZEDSPELL.tga"; case 361: return "effect\\엑셀레이션.tga"; case 362: return "effect\\호버링.tga"; case 368: return "effect\\MVPCARD_TAOGUNKA.tga"; case 369: return "effect\\MVPCARD_MISTRESS.tga"; case 370: return "effect\\MVPCARD_ORCHERO.tga"; case 371: return "effect\\MVPCARD_ORCLORD.tga"; case 373: return "effect\\오버히트.tga"; case 374: return "effect\\셰이프쉬프트.tga"; case 375: return "effect\\인프라레드스캔.tga"; case 377: return "effect\\뉴트럴배리어.tga"; case 379: return "effect\\스텔스필드.tga"; case 381: return "effect\\EFST_ATK.tga"; case 382: return "effect\\EFST_DEF.tga"; case 383: return "effect\\EFST_ATK.tga"; case 384: return "effect\\EFST_DEF.tga"; case 385: return "effect\\리프로듀스.tga"; case 386: case 387: return "effect\\EFST_MATK.tga"; case 388: return "effect\\str_gogi.tga"; case 389: return "effect\\int_gogi.tga"; case 390: return "effect\\LG_REFLECTDAMAGE.tga"; case 391: return "effect\\포스오브뱅가드.tga"; case 393: return "effect\\오토쉐도우스펠.tga"; case 394: return "effect\\쉐도우폼.tga"; case 396: return "effect\\LG_SHIELDSPELL_방.tga"; case 397: return "effect\\LG_SHIELDSPELL_마.tga"; case 398: return "effect\\LG_SHIELDSPELL_연.tga"; case 399: return "effect\\바디페인팅.tga"; case 402: return "effect\\LG_PRESTIGE.tga"; case 403: return "effect\\인비지빌리티.tga"; case 404: return "effect\\데들리인펙트.tga"; case 405: return "effect\\LG_BANDING.tga"; case 407: return "effect\\LG_INSPIRATION.tga"; case 408: return "effect\\Masquerade_ENERVATION.tga"; case 409: return "effect\\Masquerade_GROOMY.tga"; case 410: return "effect\\잠룡승천.tga"; case 411: return "effect\\Masquerade_IGNORANCE.tga"; case 412: return "effect\\Masquerade_LAZINESS.tga"; case 413: return "effect\\섬전보.tga"; case 414: return "effect\\i_ONEHAND.tga"; case 415: return "effect\\Masquerade_UNLUCKY.tga"; case 418: return "effect\\Masquerade_WEAKNESS.tga"; case 421: return "effect\\스트립액세서리.tga"; case 423: return "effect\\ICON02.tga"; case 425: return "effect\\점혈구.tga"; case 426: return "effect\\점혈반.tga"; case 427: return "effect\\점혈활.tga"; case 429: return "effect\\스윙댄스.tga"; case 430: return "effect\\연인들을위한심포니.tga"; case 435: return "effect\\안식의자장가.tga"; case 436: return "effect\\순환하는자연의소리.tga"; case 437: return "effect\\다이아몬드더스트.tga"; case 438: return "effect\\수줍은하루의우울.tga"; case 439: return "effect\\마나의노래.tga"; case 440: return "effect\\클라우드킬.tga"; case 441: return "effect\\워그와함께춤을.tga"; case 442: return "effect\\풍차를향해돌격.tga"; case 443: return "effect\\메아리의노래.tga"; case 444: return "effect\\하모나이즈.tga"; case 445: return "effect\\스트라이킹.tga"; case 446: return "effect\\워머.tga"; case 447: return "effect\\달빛의세레나데.tga"; case 448: return "effect\\새터데이나이트피버.tga"; case 450: return "effect\\애널라이즈.tga"; case 451: return "effect\\레라드의이슬.tga"; case 452: return "effect\\멜로디오브싱크.tga"; case 453: return "effect\\비욘드오브워크라이.tga"; case 454: return "effect\\언리미티드허밍보이스.tga"; case 461: return "effect\\카트부스트.tga"; case 463: return "effect\\가시나무덫.tga"; case 472: return "effect\\세크라멘트.tga"; case 473: return "effect\\ICON05.tga"; case 573: return "effect\\I_타로카드.tga"; case 578: return "effect\\중형생명수.tga"; case 579: return "effect\\ICON02.tga"; case 583: return "effect\\all_odins_power.tga"; case 611: return "effect\\EFST_MATK.tga"; case 622: return "effect\\앉기.tga"; case 632: case 633: case 634: case 635: return "effect\\ICON08.tga"; case 638: case 640: return "effect\\SETDEF.TGA"; case 670: return "effect\\소형생명수.tga"; case 695: return "effect\\ArrowN.tga"; case 697: return "effect\\EFST_ATK.tga"; case 698: return "effect\\EFST_MATK.tga"; case 699: return "effect\\EFST_DEF.tga"; case 700: return "effect\\EXP.tga"; case 869: return "effect\\할루시네이션워크.tga"; case 1121: return "effect\\ICON05.tga"; } break; case 3: switch (efstId) { case 3: return "effect\\집중력향상.tga"; case 27: return "effect\\라이딩.tga"; case 28: return "effect\\팔콘.tga"; case 29: return "effect\\죽은척하기.tga"; case 30: return "effect\\고성지르기.tga"; case 31: return "effect\\에너지코트.tga"; case 37: case 38: case 39: case 40: return "effect\\공속물약.tga"; case 54: return "effect\\케미컬프로텍션[웨폰].tga"; case 55: return "effect\\케미컬프로텍션[쉴드].tga"; case 56: return "effect\\케미컬프로텍션[아머].tga"; case 57: return "effect\\케미컬프로텍션[헬름].tga"; case 93: return IsTaekwonDisplayJob() ? "effect\\i_p_EARTH.tga" : "effect\\사이즈믹웨폰.tga"; case 151: return "effect\\PLUSMAGICPOWER.tga"; case 357: return "effect\\wolfmount.tga"; case 613: return "effect\\라이딩.tga"; case 639: case 641: return "effect\\SETMDEF.TGA"; case 647: return "effect\\ASPDCASH.TGA"; case 650: return "effect\\ELDICASTES.TGA"; } break; case 4: switch (efstId) { case 9: return "effect\\안젤루스.tga"; case 10: return "effect\\블레싱.tga"; case 11: return "effect\\시그넘크루시스.tga"; case 12: return "effect\\민첩성증가.tga"; case 14: return "effect\\슬로우포이즌.tga"; case 15: return "effect\\임포시티오마누스.tga"; case 16: return "effect\\수프라기움.tga"; case 17: return IsTaekwonDisplayJob() ? "effect\\i_p_SAINT.tga" : "effect\\아스페르시오.tga"; case 18: return "effect\\성체강복.tga"; case 19: return "effect\\기리에엘레이손.tga"; case 20: return "effect\\마니피캇.tga"; case 21: return "effect\\글로리아.tga"; case 22: return "effect\\렉스에테르나.tga"; case 41: case 42: return "effect\\민첩성증가.tga"; case 61: return "effect\\신의뜻.tga"; case 64: return IsTaekwonDisplayJob() ? "effect\\i_p_SAINT.tga" : "effect\\아스페르시오.tga"; case 87: return "effect\\STEELBODY.tga"; case 289: return "effect\\민첩성증가.tga"; case 577: return "effect\\세라4.tga"; case 580: return "effect\\에이라1.tga"; case 581: return "effect\\에이라2.tga"; case 584: return "effect\\에레노아1_1.tga"; case 605: return "effect\\디이터1.tga"; case 606: return "effect\\디이터2.tga"; case 607: return "effect\\디이터4.tga"; case 608: return "effect\\디이터5.tga"; case 618: return "effect\\exp_말랑도_고양이캔.tga"; case 658: return "effect\\PHIDEMON.tga"; case 715: return "effect\\FRIGG_SONG.tga"; case 716: return "effect\\OFFERTORIUM.tga"; case 717: return "effect\\TELEKINESIS_INTENSE.tga"; case 720: return "effect\\FULL_THROTTLE.tga"; case 723: return "effect\\KINGS_GRACE.tga"; } break; } return nullptr; }