forked from metin2/server
184 lines
3.8 KiB
C
184 lines
3.8 KiB
C
|
#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, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
AFFECT_ITEM_BONUS = 501, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>尩
|
|||
|
AFFECT_SAFEBOX = 502, // PREMIUM_SAFEBOX,
|
|||
|
AFFECT_AUTOLOOT = 503, // PREMIUM_AUTOLOOT,
|
|||
|
AFFECT_FISH_MIND = 504, // PREMIUM_FISH_MIND,
|
|||
|
AFFECT_MARRIAGE_FAST = 505, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
AFFECT_GOLD_BONUS = 506, // <20><> <20><><EFBFBD><EFBFBD>Ȯ<EFBFBD><C8AE> 50%<25><><EFBFBD><EFBFBD>
|
|||
|
AFFECT_PREMIUM_END = 509,
|
|||
|
|
|||
|
AFFECT_MALL = 510, // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
|||
|
AFFECT_NO_DEATH_PENALTY = 511, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȣ (<28><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20>г<EFBFBD>Ƽ<EFBFBD><C6BC> <20>ѹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>)
|
|||
|
AFFECT_SKILL_BOOK_BONUS = 512, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (å <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> 50% <20><><EFBFBD><EFBFBD>)
|
|||
|
AFFECT_SKILL_NO_BOOK_DELAY = 513, // <20>־ȼ<D6BE><C8BC><EFBFBD>
|
|||
|
|
|||
|
AFFECT_HAIR = 514, // <20><><EFBFBD><EFBFBD> ȿ<><C8BF>
|
|||
|
AFFECT_COLLECT = 515, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
|||
|
AFFECT_EXP_BONUS_EURO_FREE = 516, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 14 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⺻ ȿ<><C8BF>)
|
|||
|
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, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>غ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
AFF_DUNGEON_UNIQUE, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ũ (Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
|||
|
AFF_BUILDING_CONSTRUCTION_SMALL,
|
|||
|
AFF_BUILDING_CONSTRUCTION_LARGE,
|
|||
|
AFF_BUILDING_UPGRADE,
|
|||
|
|
|||
|
AFF_MOV_SPEED_POTION,
|
|||
|
AFF_ATT_SPEED_POTION,
|
|||
|
|
|||
|
AFF_FISH_MIND,
|
|||
|
|
|||
|
AFF_JEONGWIHON, // <20><><EFBFBD><EFBFBD>ȥ
|
|||
|
AFF_GEOMGYEONG, // <20>˰<EFBFBD>
|
|||
|
AFF_CHEONGEUN, // õ<><C3B5><EFBFBD><EFBFBD>
|
|||
|
AFF_GYEONGGONG, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
AFF_EUNHYUNG, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
AFF_GWIGUM, // <20>Ͱ<EFBFBD>
|
|||
|
AFF_TERROR, // <20><><EFBFBD><EFBFBD>
|
|||
|
AFF_JUMAGAP, // <20>ָ<EFBFBD><D6B8><EFBFBD>
|
|||
|
AFF_HOSIN, // ȣ<><C8A3>
|
|||
|
AFF_BOHO, // <20><>ȣ
|
|||
|
AFF_KWAESOK, // <20><><EFBFBD><EFBFBD>
|
|||
|
AFF_MANASHIELD, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
AFF_MUYEONG, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> affect
|
|||
|
AFF_REVIVE_INVISIBLE, // <20><>Ȱ<EFBFBD><C8B0> <20><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
AFF_FIRE, // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
AFF_GICHEON, // <20><>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>
|
|||
|
AFF_JEUNGRYEOK, // <20><><EFBFBD>¼<EFBFBD>
|
|||
|
AFF_TANHWAN_DASH, // źȯ<C5BA>ݿ<EFBFBD> <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
|||
|
AFF_PABEOP, // <20>Ĺ<EFBFBD><C4B9><EFBFBD>
|
|||
|
AFF_CHEONGEUN_WITH_FALL, // õ<><C3B5><EFBFBD><EFBFBD>
|
|||
|
AFF_POLYMORPH,
|
|||
|
AFF_WAR_FLAG1,
|
|||
|
AFF_WAR_FLAG2,
|
|||
|
AFF_WAR_FLAG3,
|
|||
|
|
|||
|
AFF_CHINA_FIREWORK,
|
|||
|
AFF_HAIR, // <20><><EFBFBD><EFBFBD>
|
|||
|
AFF_GERMANY, // <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
AFF_BITS_MAX
|
|||
|
};
|
|||
|
|
|||
|
extern void SendAffectAddPacket(LPDESC d, CAffect * pkAff);
|
|||
|
|
|||
|
// AFFECT_DURATION_BUG_FIX
|
|||
|
enum AffectVariable
|
|||
|
{
|
|||
|
// Affect<63><74> <20><><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD> <20><><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
// <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̱<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ſ<EFBFBD> ū<><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ѵ븦 <20><><EFBFBD>ķ<EFBFBD><C4B7>̼<EFBFBD><CCBC><EFBFBD>.
|
|||
|
//// 24<32><34>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> 25<32><35>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD>.
|
|||
|
// ... 25<32><35>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>Ѵٰ<D1B4> <20>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD> 29bit <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ִ<EFBFBD> <20><>û<EFBFBD><C3BB> <20>ּ<EFBFBD><D6BC>̶<EFBFBD>...
|
|||
|
// collect quest<73><74><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> 60<36><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>, <20><><EFBFBD> 60<36><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
|||
|
INFINITE_AFFECT_DURATION = 60 * 365 * 24 * 60 * 60
|
|||
|
};
|
|||
|
// END_AFFECT_DURATION_BUG_FIX
|
|||
|
|
|||
|
#endif
|