#ifndef __INC_AFFECT_H #define __INC_AFFECT_H class CAffect { public: DWORD dwType; BYTE bApplyOn; long lApplyValue; DWORD dwFlag; long lDuration; long lSPCost; static CAffect* Acquire(); static void Release(CAffect* p); }; enum EAffectTypes { AFFECT_NONE, AFFECT_MOV_SPEED = 200, AFFECT_ATT_SPEED, AFFECT_ATT_GRADE, AFFECT_INVISIBILITY, AFFECT_STR, AFFECT_DEX, // 205 AFFECT_CON, AFFECT_INT, AFFECT_FISH_MIND_PILL, AFFECT_POISON, AFFECT_STUN, // 210 AFFECT_SLOW, AFFECT_DUNGEON_READY, AFFECT_DUNGEON_UNIQUE, AFFECT_BUILDING, AFFECT_REVIVE_INVISIBLE, // 215 AFFECT_FIRE, AFFECT_CAST_SPEED, AFFECT_HP_RECOVER_CONTINUE, AFFECT_SP_RECOVER_CONTINUE, AFFECT_POLYMORPH, // 220 AFFECT_MOUNT, AFFECT_WAR_FLAG, // 222 AFFECT_BLOCK_CHAT, // 223 AFFECT_CHINA_FIREWORK, AFFECT_BOW_DISTANCE, // 225 AFFECT_DEF_GRADE, // 226 AFFECT_PREMIUM_START = 500, AFFECT_EXP_BONUS = 500, // °æÇèÀÇ ¹ÝÁö AFFECT_ITEM_BONUS = 501, // µµµÏÀÇ Àå°© AFFECT_SAFEBOX = 502, // PREMIUM_SAFEBOX, AFFECT_AUTOLOOT = 503, // PREMIUM_AUTOLOOT, AFFECT_FISH_MIND = 504, // PREMIUM_FISH_MIND, AFFECT_MARRIAGE_FAST = 505, // ¿ø¾ÓÀÇ ±êÅÐ AFFECT_GOLD_BONUS = 506, // µ· µå·ÓÈ®·ü 50%Áõ°¡ AFFECT_PREMIUM_END = 509, AFFECT_MALL = 510, // ¸ô ¾ÆÀÌÅÛ ¿¡ÆåÆ® AFFECT_NO_DEATH_PENALTY = 511, // ¿ë½ÅÀÇ °¡È£ (°æÇèÄ¡°¡ ÆгÎƼ¸¦ Çѹø ¸·¾ÆÁØ´Ù) AFFECT_SKILL_BOOK_BONUS = 512, // ¼±ÀÎÀÇ ±³ÈÆ (Ã¥ ¼ö·Ã ¼º°ø È®·üÀÌ 50% Áõ°¡) AFFECT_SKILL_NO_BOOK_DELAY = 513, // Á־ȼú¼­ AFFECT_HAIR = 514, // Çì¾î È¿°ú AFFECT_COLLECT = 515, //¼öÁýÄù½ºÆ® AFFECT_EXP_BONUS_EURO_FREE = 516, // °æÇèÀÇ ¹ÝÁö (À¯·´ ¹öÀü 14 ·¹º§ ÀÌÇÏ ±âº» È¿°ú) AFFECT_EXP_BONUS_EURO_FREE_UNDER_15 = 517, AFFECT_UNIQUE_ABILITY = 518, AFFECT_CUBE_1, AFFECT_CUBE_2, AFFECT_CUBE_3, AFFECT_CUBE_4, AFFECT_CUBE_5, AFFECT_CUBE_6, AFFECT_CUBE_7, AFFECT_CUBE_8, AFFECT_CUBE_9, AFFECT_CUBE_10, AFFECT_CUBE_11, AFFECT_CUBE_12, AFFECT_BLEND, AFFECT_HORSE_NAME, AFFECT_MOUNT_BONUS, AFFECT_AUTO_HP_RECOVERY = 534, AFFECT_AUTO_SP_RECOVERY = 535, AFFECT_DRAGON_SOUL_QUALIFIED = 540, AFFECT_DRAGON_SOUL_DECK_0 = 541, AFFECT_DRAGON_SOUL_DECK_1 = 542, AFFECT_RAMADAN_ABILITY = 300, AFFECT_RAMADAN_RING = 301, AFFECT_NOG_ABILITY = 302, AFFECT_HOLLY_STONE_POWER = 303, AFFECT_QUEST_START_IDX = 1000 }; enum EAffectBits { AFF_NONE, AFF_YMIR, AFF_INVISIBILITY, AFF_SPAWN, AFF_POISON, AFF_SLOW, AFF_STUN, AFF_DUNGEON_READY, // ´øÀü¿¡¼­ Áغñ »óÅ AFF_DUNGEON_UNIQUE, // ´øÀü À¯´ÏÅ© (Ŭ¶óÀ̾ðÆ®¿¡¼­ ÄøµµÇÁö¾ÊÀ½) AFF_BUILDING_CONSTRUCTION_SMALL, AFF_BUILDING_CONSTRUCTION_LARGE, AFF_BUILDING_UPGRADE, AFF_MOV_SPEED_POTION, AFF_ATT_SPEED_POTION, AFF_FISH_MIND, AFF_JEONGWIHON, // Àü±ÍÈ¥ AFF_GEOMGYEONG, // °Ë°æ AFF_CHEONGEUN, // õ±ÙÃß AFF_GYEONGGONG, // °æ°ø¼ú AFF_EUNHYUNG, // ÀºÇü¹ý AFF_GWIGUM, // ±Í°Ë AFF_TERROR, // °øÆ÷ AFF_JUMAGAP, // ÁÖ¸¶°© AFF_HOSIN, // È£½Å AFF_BOHO, // º¸È£ AFF_KWAESOK, // Äè¼Ó AFF_MANASHIELD, // ¸¶³ª½¯µå AFF_MUYEONG, // ¹«¿µÁø affect AFF_REVIVE_INVISIBLE, // ºÎÈ°½Ã Àá½Ãµ¿¾È ¹«Àû AFF_FIRE, // Áö¼Ó ºÒ µ¥¹ÌÁö AFF_GICHEON, // ±âõ´ë°ø AFF_JEUNGRYEOK, // Áõ·Â¼ú AFF_TANHWAN_DASH, // źȯ°Ý¿ë ´Þ¸®±â¾îÆåÆ® AFF_PABEOP, // ÆĹý¼ú AFF_CHEONGEUN_WITH_FALL, // õ±ÙÃß AFF_POLYMORPH, AFF_WAR_FLAG1, AFF_WAR_FLAG2, AFF_WAR_FLAG3, AFF_CHINA_FIREWORK, AFF_HAIR, // Çì¾î AFF_GERMANY, // µ¶ÀÏ AFF_BITS_MAX }; extern void SendAffectAddPacket(LPDESC d, CAffect * pkAff); // AFFECT_DURATION_BUG_FIX enum AffectVariable { // Affect°¡ ¹«ÇÑ´ë·Î µé¾î°¡ ÀÖ¾î¾ß ÇÒ °æ¿ì »ç¿ë. // ½Ã°£À» °è¼Ó ÁÙÀ̱⠶§¹®¿¡ ¸Å¿ì Å«°ªÀ¸·Î ¹«ÇѴ븦 ¿¡¹Ä·¹À̼ÇÇÔ. //// 24ºñÆ®´Â ÀûÀ¸¹Ç·Î 25ºñÆ®¸¦ »ç¿ë. // ... 25ºñÆ® »ç¿ëÇÑ´Ù°í Çسõ°í¼± 29bit »ç¿ëÇÏ°í ÀÖ´Â ¾öû³­ ÁÖ¼®À̶õ... // collect quest¿¡¼­ ¹«ÇÑ ½Ã°£À» 60³âÀ¸·Î »ç¿ëÇÏ°í ÀÖÀ¸¹Ç·Î, ¿©±âµµ 60³âÀ¸·Î ÇÏÀÚ. INFINITE_AFFECT_DURATION = 60 * 365 * 24 * 60 * 60 }; // END_AFFECT_DURATION_BUG_FIX #endif