Pastebin
API
tools
faq
paste
Login
Sign up
Please fix the following errors:
New Paste
Syntax Highlighting
#pragma once #include "../gamelib/RaceData.h" #include "../gamelib/ActorInstance.h" #ifdef ENABLE_SASH_SYSTEM #include "../eterlib/GrpObjectInstance.h" #endif #include "AffectFlagContainer.h" class CInstanceBase { public: struct SCreateData { BYTE m_bType; DWORD m_dwStateFlags; DWORD m_dwEmpireID; DWORD m_dwGuildID; DWORD m_dwLevel; #if defined(WJ_SHOW_MOB_INFO) DWORD m_dwAIFlag; #endif DWORD m_dwVID; DWORD m_dwRace; DWORD m_dwMovSpd; DWORD m_dwAtkSpd; LONG m_lPosX; LONG m_lPosY; FLOAT m_fRot; DWORD m_dwArmor; DWORD m_dwWeapon; DWORD m_dwHair; //DWORD m_dwAcce; #ifdef ENABLE_SASH_SYSTEM DWORD m_dwSash; #endif #ifdef WJ_QUIVER_SYSTEM DWORD m_dwArrowType; #endif DWORD m_dwMountVnum; BYTE m_dwNewIsGuildName; DWORD m_dwWeaponEvolution; short m_sAlignment; #ifdef ENABLE_TITLE_SYSTEM short m_sPrestige; #endif #ifdef ENABLE_REBORN_SYSTEM short m_sReborn; #endif BYTE m_byPKMode; #if defined(WJ_COMBAT_ZONE) BYTE combat_zone_rank; DWORD combat_zone_points; #endif //DWORD m_dwCostumEvo; CAffectFlagContainer m_kAffectFlags; std::string m_stName; bool m_isMain; }; public: typedef DWORD TType; enum EMobAIFlags { AIFLAG_AGGRESSIVE = (1 << 0), AIFLAG_NOMOVE = (1 << 1), AIFLAG_COWARD = (1 << 2), AIFLAG_NOATTACKSHINSU = (1 << 3), AIFLAG_NOATTACKJINNO = (1 << 4), AIFLAG_NOATTACKCHUNJO = (1 << 5), AIFLAG_ATTACKMOB = (1 << 6), AIFLAG_BERSERK = (1 << 7), AIFLAG_STONESKIN = (1 << 8), AIFLAG_GODSPEED = (1 << 9), AIFLAG_DEATHBLOW = (1 << 10), AIFLAG_REVIVE = (1 << 11), }; enum EDirection { DIR_NORTH, DIR_NORTHEAST, DIR_EAST, DIR_SOUTHEAST, DIR_SOUTH, DIR_SOUTHWEST, DIR_WEST, DIR_NORTHWEST, DIR_MAX_NUM, }; enum { FUNC_WAIT, FUNC_MOVE, FUNC_ATTACK, FUNC_COMBO, FUNC_MOB_SKILL, FUNC_EMOTION, FUNC_SKILL = 0x80, }; enum { AFFECT_YMIR, AFFECT_INVISIBILITY, AFFECT_SPAWN, AFFECT_POISON, AFFECT_SLOW, AFFECT_STUN, AFFECT_DUNGEON_READY, // ´øÀü¿¡¼ Áغñ »óÅ AFFECT_SHOW_ALWAYS, // AFFECT_DUNGEON_UNIQUE ¿¡¼ º¯°æ(Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÄøµµÇÁö¾ÊÀ½) AFFECT_BUILDING_CONSTRUCTION_SMALL, AFFECT_BUILDING_CONSTRUCTION_LARGE, AFFECT_BUILDING_UPGRADE, AFFECT_MOV_SPEED_POTION, // 11 AFFECT_ATT_SPEED_POTION, // 12 AFFECT_FISH_MIND, // 13 AFFECT_JEONGWI, // 14 Àü±ÍÈ¥ AFFECT_GEOMGYEONG, // 15 °Ë°æ AFFECT_CHEONGEUN, // 16 õ±ÙÃß AFFECT_GYEONGGONG, // 17 °æ°ø¼ú AFFECT_EUNHYEONG, // 18 ÀºÇü¹ý AFFECT_GWIGEOM, // 19 ±Í°Ë AFFECT_GONGPO, // 20 °øÆ÷ AFFECT_JUMAGAP, // 21 ÁÖ¸¶°© AFFECT_HOSIN, // 22 È£½Å AFFECT_BOHO, // 23 º¸È£ AFFECT_KWAESOK, // 24 Äè¼Ó AFFECT_HEUKSIN, // 25 Èæ½Å¼öÈ£ AFFECT_MUYEONG, // 26 ¹«¿µÁø AFFECT_REVIVE_INVISIBILITY, // 27 ºÎȰ ¹«Àû AFFECT_FIRE, // 28 Áö¼Ó ºÒ AFFECT_GICHEON, // 29 ±âõ ´ë°ø AFFECT_JEUNGRYEOK, // 30 Áõ·Â¼ú AFFECT_DASH, // 31 ´ë½¬ AFFECT_PABEOP, // 32 ÆÄ¹ý¼ú AFFECT_FALLEN_CHEONGEUN, // 33 ´Ù¿î ±×·¹À̵å õ±ÙÃß AFFECT_POLYMORPH, // 34 Æú¸®¸ðÇÁ AFFECT_WAR_FLAG1, // 35 AFFECT_WAR_FLAG2, // 36 AFFECT_WAR_FLAG3, // 37 AFFECT_CHINA_FIREWORK, // 38 AFFECT_PREMIUM_SILVER, // 39 AFFECT_PREMIUM_GOLD, // 40 AFFECT_RAMADAN_RING, // 41 ÃÊ½Â´Þ ¹ÝÁö Âø¿ë Affect AFFECT_BLEEDING, // 42 AFFECT_RED_POSSESION, // 43 AFFECT_BLUE_POSSESION, // 44 AFFECT_JEOKRANG, // 45 AFFECT_CHEONGRANG, // 46 //AFFECT_ACCE, // 47 #ifdef ENABLE_MELEY_LAIR_DUNGEON AFFECT_STATUE1, AFFECT_STATUE2, AFFECT_STATUE3, AFFECT_STATUE4, #endif #ifdef DRAGON_SOUL_ACTIVE_EFFECT AFFECT_DS, #endif #ifdef ENABLE_GM_AFFECTS AFFECT_YMIR_MOD, AFFECT_YMIR_SGM, AFFECT_YMIR_GA, #endif AFFECT_NUM = 64, AFFECT_HWAYEOM = AFFECT_GEOMGYEONG, }; enum { NEW_AFFECT_MOV_SPEED = 200, NEW_AFFECT_ATT_SPEED, NEW_AFFECT_ATT_GRADE, NEW_AFFECT_INVISIBILITY, NEW_AFFECT_STR, NEW_AFFECT_DEX, // 205 NEW_AFFECT_CON, NEW_AFFECT_INT, NEW_AFFECT_FISH_MIND_PILL, NEW_AFFECT_POISON, NEW_AFFECT_STUN, // 210 NEW_AFFECT_SLOW, NEW_AFFECT_DUNGEON_READY, NEW_AFFECT_DUNGEON_UNIQUE, NEW_AFFECT_BUILDING, NEW_AFFECT_REVIVE_INVISIBLE, // 215 NEW_AFFECT_FIRE, NEW_AFFECT_CAST_SPEED, NEW_AFFECT_HP_RECOVER_CONTINUE, NEW_AFFECT_SP_RECOVER_CONTINUE, NEW_AFFECT_POLYMORPH, // 220 NEW_AFFECT_MOUNT, NEW_AFFECT_WAR_FLAG, // 222 NEW_AFFECT_BLOCK_CHAT, // 223 NEW_AFFECT_CHINA_FIREWORK, NEW_AFFECT_BOW_DISTANCE, // 225 NEW_AFFECT_EXP_BONUS = 500, // °æÇèÀÇ ¹ÝÁö NEW_AFFECT_ITEM_BONUS = 501, // µµµÏÀÇ Àå°© NEW_AFFECT_SAFEBOX = 502, // PREMIUM_SAFEBOX, NEW_AFFECT_AUTOLOOT = 503, // PREMIUM_AUTOLOOT, NEW_AFFECT_FISH_MIND = 504, // PREMIUM_FISH_MIND, NEW_AFFECT_MARRIAGE_FAST = 505, // ¿ø¾ÓÀÇ ±êÅÐ (±Ý½½), NEW_AFFECT_GOLD_BONUS = 506, NEW_AFFECT_MALL = 510, // ¸ô ¾ÆÀÌÅÛ ¿¡ÆåÆ® NEW_AFFECT_NO_DEATH_PENALTY = 511, // ¿ë½ÅÀÇ °¡È£ (°æÇèÄ¡ ÆÐ³ÎƼ¸¦ Çѹø ¸·¾ÆÁØ´Ù) NEW_AFFECT_SKILL_BOOK_BONUS = 512, // ¼±ÀÎÀÇ ±³ÈÆ (Ã¥ ¼ö·Ã ¼º°ø È®·üÀÌ 50% Áõ°¡) NEW_AFFECT_SKILL_BOOK_NO_DELAY = 513, // ÁÖ¾È ¼ú¼ (Ã¥ ¼ö·Ã µô·¹ÀÌ ¾øÀ½) NEW_AFFECT_EXP_BONUS_EURO_FREE = 516, // °æÇèÀÇ ¹ÝÁö (À¯·´ ¹öÀü 14 ·¹º§ ÀÌÇÏ ±âº» È¿°ú) NEW_AFFECT_EXP_BONUS_EURO_FREE_UNDER_15 = 517, NEW_AFFECT_AUTO_HP_RECOVERY = 534, // ÀÚµ¿¹°¾à HP NEW_AFFECT_AUTO_SP_RECOVERY = 535, // ÀÚµ¿¹°¾à SP NEW_AFFECT_DRAGON_SOUL_QUALIFIED = 540, NEW_AFFECT_DRAGON_SOUL_DECK1 = 541, NEW_AFFECT_DRAGON_SOUL_DECK2 = 542, NEW_AFFECT_RAMADAN_ABILITY = 300, NEW_AFFECT_RAMADAN_RING = 301, // ¶ó¸¶´Ü À̺¥Æ®¿ë Ư¼ö¾ÆÀÌÅÛ Ãʽ´ÞÀÇ ¹ÝÁö Âø¿ë À¯¹« NEW_AFFECT_NOG_POCKET_ABILITY = 302, #ifdef ENABLE_NEW_AFFECT_POTION AFFECT_POTION_1 = 303, AFFECT_POTION_2 = 304, AFFECT_POTION_3 = 305, AFFECT_POTION_4 = 306, AFFECT_POTION_5 = 307, AFFECT_POTION_6 = 308, #endif NEW_AFFECT_BLEEDING = 309, NEW_AFFECT_QUEST_START_IDX = 1000, }; enum { STONE_SMOKE1 = 0, // 99% STONE_SMOKE2 = 1, // 85% STONE_SMOKE3 = 2, // 80% STONE_SMOKE4 = 3, // 60% STONE_SMOKE5 = 4, // 45% STONE_SMOKE6 = 5, // 40% STONE_SMOKE7 = 6, // 20% STONE_SMOKE8 = 7, // 10% STONE_SMOKE_NUM = 4, }; enum EBuildingAffect { BUILDING_CONSTRUCTION_SMALL = 0, BUILDING_CONSTRUCTION_LARGE = 1, BUILDING_UPGRADE = 2, }; enum { WEAPON_DUALHAND, WEAPON_ONEHAND, WEAPON_TWOHAND, WEAPON_NUM, }; enum { EMPIRE_NONE, EMPIRE_A, EMPIRE_B, EMPIRE_C, EMPIRE_NUM, }; enum { NAMECOLOR_MOB, NAMECOLOR_NPC, NAMECOLOR_PC, NAMECOLOR_PC_END = NAMECOLOR_PC + EMPIRE_NUM, NAMECOLOR_NORMAL_MOB, NAMECOLOR_NORMAL_NPC, NAMECOLOR_NORMAL_PC, NAMECOLOR_NORMAL_PC_END = NAMECOLOR_NORMAL_PC + EMPIRE_NUM, NAMECOLOR_EMPIRE_MOB, NAMECOLOR_EMPIRE_NPC, NAMECOLOR_EMPIRE_PC, NAMECOLOR_EMPIRE_PC_END = NAMECOLOR_EMPIRE_PC + EMPIRE_NUM, NAMECOLOR_FUNC, NAMECOLOR_PK, NAMECOLOR_PVP, NAMECOLOR_PARTY, NAMECOLOR_WARP, NAMECOLOR_WAYPOINT, #ifdef TOURNAMENT_PVP_SYSTEM NAMECOLOR_TOURNAMENT_TEAM_A, NAMECOLOR_TOURNAMENT_TEAM_B, #endif NAMECOLOR_METIN, NAMECOLOR_OFFLINESHOP, NAMECOLOR_SUPPORT, NAMECOLOR_EXTRA = NAMECOLOR_FUNC + 10, NAMECOLOR_NUM = NAMECOLOR_EXTRA + 10, }; enum { ALIGNMENT_TYPE_WHITE, ALIGNMENT_TYPE_NORMAL, ALIGNMENT_TYPE_DARK, }; enum { EMOTICON_EXCLAMATION = 1, EMOTICON_FISH = 11, EMOTICON_NUM = 128, #ifdef ENABLE_TITLE_SYSTEM TITLE_NUM_PRESTIGE = 20, TITLE_NONE_PRESTIGE = 19, #endif #ifdef ENABLE_REBORN_SYSTEM TITLE_NUM_REBORN = 5, TITLE_NONE_REBORN = 3, #endif TITLE_NUM = 9, TITLE_NONE = 4, }; enum //¾Æ·¡ ¹øÈ£°¡ ¹Ù²î¸é registerEffect Âʵµ ¹Ù²Ù¾î Áà¾ß ÇÑ´Ù. { EFFECT_REFINED_NONE, EFFECT_SWORD_REFINED7, EFFECT_SWORD_REFINED8, EFFECT_SWORD_REFINED9, EFFECT_BOW_REFINED7, EFFECT_BOW_REFINED8, EFFECT_BOW_REFINED9, EFFECT_FANBELL_REFINED7, EFFECT_FANBELL_REFINED8, EFFECT_FANBELL_REFINED9, EFFECT_SMALLSWORD_REFINED7, EFFECT_SMALLSWORD_REFINED8, EFFECT_SMALLSWORD_REFINED9, EFFECT_SMALLSWORD_REFINED7_LEFT, EFFECT_SMALLSWORD_REFINED8_LEFT, EFFECT_SMALLSWORD_REFINED9_LEFT, EFFECT_BODYARMOR_REFINED7, EFFECT_BODYARMOR_REFINED8, EFFECT_BODYARMOR_REFINED9, EFFECT_BODYARMOR_SPECIAL, // °©¿Ê 4-2-1 EFFECT_BODYARMOR_SPECIAL2, // °©¿Ê 4-2-2 #ifdef VERSION_162_ENABLED EFFECT_BODYARMOR_SPECIAL3, #endif #ifdef ENABLE_SASH_SYSTEM EFFECT_SASH, #endif EFFECT_BODYARMOR_NEW_DEAMON, EFFECT_COSTUMEBODY_SPECIAL, EFFECT_COSTUMEBODY_SPECIAL2, EFFECT_COSTUMEBODY_SPECIAL3, EFFECT_COSTUMEBODY_SPECIAL4, EFFECT_COSTUMEBODY_SPECIAL5, EFFECT_BODYARMOR_ELECTRIC, EFFECT_SWORD_EVOLUTION1, EFFECT_SWORD_EVOLUTION2, EFFECT_SWORD_EVOLUTION3, EFFECT_SWORD_EVOLUTION4, EFFECT_BOW_EVOLUTION1, EFFECT_BOW_EVOLUTION2, EFFECT_BOW_EVOLUTION3, EFFECT_BOW_EVOLUTION4, EFFECT_FANBELL_EVOLUTION1, EFFECT_FANBELL_EVOLUTION2, EFFECT_FANBELL_EVOLUTION3, EFFECT_FANBELL_EVOLUTION4, EFFECT_SMALLSWORD_EVOLUTION1, EFFECT_SMALLSWORD_EVOLUTION2, EFFECT_SMALLSWORD_EVOLUTION3, EFFECT_SMALLSWORD_EVOLUTION4, EFFECT_SMALLSWORD_EVOLUTION1_LEFT, EFFECT_SMALLSWORD_EVOLUTION2_LEFT, EFFECT_SMALLSWORD_EVOLUTION3_LEFT, EFFECT_SMALLSWORD_EVOLUTION4_LEFT, EFFECT_CLAW_EVOLUTION1, EFFECT_CLAW_EVOLUTION2, EFFECT_CLAW_EVOLUTION3, EFFECT_CLAW_EVOLUTION4, EFFECT_CLAW_EVOLUTION1_LEFT, EFFECT_CLAW_EVOLUTION2_LEFT, EFFECT_CLAW_EVOLUTION3_LEFT, EFFECT_CLAW_EVOLUTION4_LEFT, EFFECT_CLAW_REFINED7, EFFECT_CLAW_REFINED8, EFFECT_CLAW_REFINED9, EFFECT_CLAW_REFINED7_LEFT, EFFECT_CLAW_REFINED8_LEFT, EFFECT_CLAW_REFINED9_LEFT, //EFFECT_YOUTUBER, EFFECT_COSTUME_YOUTUBER, EFFECT_COSTUME_TWITCH, /*EFFECT_COSTUME_SYSTEM_SPECIAL1, EFFECT_COSTUME_SYSTEM_SPECIAL2, EFFECT_COSTUME_SYSTEM_SPECIAL3, EFFECT_COSTUME_SYSTEM_SPECIAL4, EFFECT_COSTUME_SYSTEM_SPECIAL5, EFFECT_COSTUME_SYSTEM_SPECIAL6, EFFECT_COSTUME_SYSTEM_SPECIAL7,*/ EFFECT_REFINED_NUM, }; enum DamageFlag { DAMAGE_NORMAL = (1<<0), DAMAGE_POISON = (1<<1), DAMAGE_DODGE = (1<<2), DAMAGE_BLOCK = (1<<3), DAMAGE_PENETRATE= (1<<4), DAMAGE_CRITICAL = (1<<5), DAMAGE_BLEEDING = (1 << 6), DAMAGE_FIRE = (1 << 7), // ¹Ý-_-»ç }; enum { EFFECT_DUST, EFFECT_STUN, EFFECT_HIT, EFFECT_FLAME_ATTACK, EFFECT_FLAME_HIT, EFFECT_FLAME_ATTACH, EFFECT_ELECTRIC_ATTACK, EFFECT_ELECTRIC_HIT, EFFECT_ELECTRIC_ATTACH, EFFECT_SPAWN_APPEAR, EFFECT_SPAWN_DISAPPEAR, EFFECT_LEVELUP, EFFECT_SKILLUP, EFFECT_HPUP_RED, EFFECT_SPUP_BLUE, EFFECT_SPEEDUP_GREEN, EFFECT_DXUP_PURPLE, EFFECT_CRITICAL, EFFECT_PENETRATE, EFFECT_BLOCK, EFFECT_DODGE, EFFECT_FIRECRACKER, EFFECT_SPIN_TOP, EFFECT_WEAPON, EFFECT_WEAPON_END = EFFECT_WEAPON + WEAPON_NUM, EFFECT_AFFECT, EFFECT_AFFECT_GYEONGGONG = EFFECT_AFFECT + AFFECT_GYEONGGONG, EFFECT_AFFECT_KWAESOK = EFFECT_AFFECT + AFFECT_KWAESOK, EFFECT_AFFECT_END = EFFECT_AFFECT + AFFECT_NUM, EFFECT_EMOTICON, EFFECT_EMOTICON_END = EFFECT_EMOTICON + EMOTICON_NUM, EFFECT_MONSTER, EFFECT_STONE, EFFECT_SHINSOO, EFFECT_CHUNJO, EFFECT_JINNOS, EFFECT_TARGET_SHINSOO, EFFECT_TARGET_JINNOS, EFFECT_TARGET_CHUNJO, EFFECT_TARGET_MONSTER, EFFECT_TARGET_STONE, EFFECT_SELECT, EFFECT_TARGET, EFFECT_EMPIRE, EFFECT_EMPIRE_END = EFFECT_EMPIRE + EMPIRE_NUM, EFFECT_HORSE_DUST, EFFECT_REFINED, EFFECT_REFINED_END = EFFECT_REFINED + EFFECT_REFINED_NUM, EFFECT_DAMAGE_TARGET, EFFECT_DAMAGE_NOT_TARGET, EFFECT_DAMAGE_SELFDAMAGE, EFFECT_DAMAGE_SELFDAMAGE2, EFFECT_DAMAGE_POISON, EFFECT_DAMAGE_MISS, EFFECT_DAMAGE_TARGETMISS, EFFECT_DAMAGE_CRITICAL, EFFECT_SUCCESS, EFFECT_FAIL, EFFECT_FR_SUCCESS, EFFECT_LEVELUP_ON_14_FOR_GERMANY, //·¹º§¾÷ 14À϶§ ( µ¶ÀÏÀü¿ë ) EFFECT_LEVELUP_UNDER_15_FOR_GERMANY,//·¹º§¾÷ 15À϶§ ( µ¶ÀÏÀü¿ë ) EFFECT_PERCENT_DAMAGE1, EFFECT_PERCENT_DAMAGE2, EFFECT_PERCENT_DAMAGE3, EFFECT_AUTO_HPUP, EFFECT_AUTO_SPUP, EFFECT_RAMADAN_RING_EQUIP, // ÃÊ½Â´Þ ¹ÝÁö Âø¿ë ¼ø°£¿¡ ¹ßµ¿ÇÏ´Â ÀÌÆåÆ® EFFECT_HALLOWEEN_CANDY_EQUIP, // ÇÒ·ÎÀ© »çÅÁ Âø¿ë ¼ø°£¿¡ ¹ßµ¿ÇÏ´Â ÀÌÆåÆ® EFFECT_HAPPINESS_RING_EQUIP, // ÇູÀÇ ¹ÝÁö Âø¿ë ¼ø°£¿¡ ¹ßµ¿ÇÏ´Â ÀÌÆåÆ® EFFECT_LOVE_PENDANT_EQUIP, // ÇູÀÇ ¹ÝÁö Âø¿ë ¼ø°£¿¡ ¹ßµ¿ÇÏ´Â ÀÌÆåÆ® #ifdef VERSION_162_ENABLED EFFECT_HEALER, #endif EFFECT_EQUIP_RUZGAR, EFFECT_DUEL_VICTIM, EFFECT_DUEL_KILLER, EFFECT_DUEL_SENDER, EFFECT_DUEL_RECEIVER, EFFECT_DUEL_5, EFFECT_DUEL_4, EFFECT_DUEL_3, EFFECT_DUEL_2, EFFECT_DUEL_1, EFFECT_DUEL_0, #ifdef ENABLE_SASH_SYSTEM EFFECT_SASH_SUCCEDED, EFFECT_SASH_EQUIP, #endif EFFECT_TEMP, #ifdef ENABLE_MOUNT_SYSTEM EFFECT_MOUNT_1, EFFECT_MOUNT_2, EFFECT_MOUNT_3, EFFECT_MOUNT_4, EFFECT_MOUNT_5, EFFECT_MOUNT_6, EFFECT_MOUNT_7, EFFECT_MOUNT_8, EFFECT_MOUNT_9, EFFECT_MOUNT_10, EFFECT_MOUNT_11, EFFECT_MOUNT_12, EFFECT_MOUNT_13, EFFECT_MOUNT_14, EFFECT_MOUNT_15, EFFECT_MOUNT_16, EFFECT_MOUNT_17, EFFECT_MOUNT_18, EFFECT_MOUNT_19, EFFECT_MOUNT_20, EFFECT_MOUNT_21, EFFECT_MOUNT_22, EFFECT_MOUNT_23, EFFECT_MOUNT_24, EFFECT_MOUNT_25, EFFECT_MOUNT_26, EFFECT_MOUNT_27, EFFECT_MOUNT_28, EFFECT_MOUNT_29, EFFECT_MOUNT_30, EFFECT_MOUNT_31, EFFECT_MOUNT_32, EFFECT_MOUNT_33, EFFECT_MOUNT_34, EFFECT_MOUNT_35, EFFECT_MOUNT_36, EFFECT_MOUNT_37, EFFECT_MOUNT_38, EFFECT_MOUNT_39, EFFECT_MOUNT_40, EFFECT_MOUNT_41, EFFECT_MOUNT_42, EFFECT_MOUNT_43, EFFECT_MOUNT_44, EFFECT_MOUNT_45, EFFECT_MOUNT_46, EFFECT_MOUNT_47, EFFECT_MOUNT_48, EFFECT_MOUNT_49, EFFECT_MOUNT_50, EFFECT_MOUNT_51, EFFECT_MOUNT_52, EFFECT_MOUNT_53, EFFECT_MOUNT_54, EFFECT_MOUNT_55, EFFECT_MOUNT_56, EFFECT_MOUNT_57, EFFECT_MOUNT_58, EFFECT_MOUNT_59, EFFECT_MOUNT_60, EFFECT_MOUNT_61, #endif EFFECT_DAMAGE_BLEEDING, EFFECT_DAMAGE_FIRE, #if defined(WJ_COMBAT_ZONE) EFFECT_COMBAT_ZONE_POTION, #endif EFEKT_BOSSA, #ifdef ENABLE_AGGREGATE_MONSTER_EFFECT EFFECT_AGGREGATE_MONSTER, #endif EFFECT_NUM, }; enum { DUEL_NONE, DUEL_CANNOTATTACK, DUEL_START, }; public: static void DestroySystem(); static void CreateSystem(UINT uCapacity); static bool RegisterEffect(UINT eEftType, const char* c_szEftAttachBone, const char* c_szEftName, bool isCache); static void RegisterTitleName(int iIndex, const char * c_szTitleName); #ifdef ENABLE_TITLE_SYSTEM static void RegisterTitlePrestigeName(int iIndex, const char * c_szTitlePrestigeName); #endif #ifdef ENABLE_REBORN_SYSTEM static void RegisterTitleRebornName(int iIndex, const char * c_szTitleRebornName); #endif static bool RegisterNameColor(UINT uIndex, UINT r, UINT g, UINT b); static bool RegisterTitleColor(UINT uIndex, UINT r, UINT g, UINT b); #ifdef ENABLE_TITLE_SYSTEM static bool RegisterTitlePrestigeColor(UINT uIndex, UINT r, UINT g, UINT b); #endif #ifdef ENABLE_REBORN_SYSTEM static bool RegisterTitleRebornColor(UINT uIndex, UINT r, UINT g, UINT b); #endif static bool ChangeEffectTexture(UINT eEftType, const char* c_szSrcFileName, const char* c_szDstFileName); static void SetDustGap(float fDustGap); static void SetHorseDustGap(float fDustGap); static void SetEmpireNameMode(bool isEnable); static const D3DXCOLOR& GetIndexedNameColor(UINT eNameColor); public: void SetMainInstance(); void OnSelected(); void OnUnselected(); void OnTargeted(); void OnUntargeted(); protected: bool __IsExistMainInstance(); bool __IsMainInstance(); bool __MainCanSeeHiddenThing(); float __GetBowRange(); protected: DWORD __AttachEffect(UINT eEftType); DWORD __AttachEffect(char filename[128]); void __DetachEffect(DWORD dwEID); public: void CreateSpecialEffect(DWORD iEffectIndex); void AttachSpecialEffect(DWORD effect); protected: static std::string ms_astAffectEffectAttachBone[EFFECT_NUM]; static DWORD ms_adwCRCAffectEffect[EFFECT_NUM]; static float ms_fDustGap; static float ms_fHorseDustGap; public: CInstanceBase(); virtual ~CInstanceBase(); bool LessRenderOrder(CInstanceBase* pkInst); void MountHorse(UINT eRace); void DismountHorse(); // ½ºÅ©¸³Æ®¿ë Å×½ºÆ® ÇÔ¼ö. ³ªÁß¿¡ ¾ø¿¡ÀÚ void SCRIPT_SetAffect(UINT eAffect, bool isVisible); float CalculateDistanceSq3d(const TPixelPosition& c_rkPPosDst); // Instance Data bool IsFlyTargetObject(); void ClearFlyTargetInstance(); void SetFlyTargetInstance(CInstanceBase& rkInstDst); void AddFlyTargetInstance(CInstanceBase& rkInstDst); void AddFlyTargetPosition(const TPixelPosition& c_rkPPosDst); float GetFlyTargetDistance(); void SetAlpha(float fAlpha); void DeleteBlendOut(); void AttachTextTail(); void DetachTextTail(); void UpdateTextTailLevel(DWORD level); void RefreshTextTail(); void RefreshTextTailTitle(); bool Create(const SCreateData& c_rkCreateData); bool CreateDeviceObjects(); void DestroyDeviceObjects(); void Destroy(); void Update(); bool UpdateDeleting(); void Transform(); void Deform(); void Render(); void RenderTrace(); void RenderToShadowMap(); void RenderCollision(); void RegisterBoundingSphere(); // Temporary void GetBoundBox(D3DXVECTOR3 * vtMin, D3DXVECTOR3 * vtMax); void SetNameString(const char* c_szName, int len); bool SetRace(DWORD dwRaceIndex); void SetVirtualID(DWORD wVirtualNumber); void SetVirtualNumber(DWORD dwVirtualNumber); void SetInstanceType(int iInstanceType); void SetAlignment(short sAlignment); #ifdef ENABLE_TITLE_SYSTEM void SetPrestige(short sPrestige); #endif #ifdef ENABLE_REBORN_SYSTEM void SetReborn(short sReborn); #endif void SetLevelText(int mLevel); void SetLevel(DWORD level); void SetPKMode(BYTE byPKMode); void SetKiller(bool bFlag); void SetPartyMemberFlag(bool bFlag); void SetStateFlags(DWORD dwStateFlags); void SetArmor(DWORD dwArmor); void SetShape(DWORD eShape, float fSpecular=0.0f); void SetHair(DWORD eHair); /*void SetAcce(DWORD eAcce); void ChangeAcce(DWORD eAcce);*/ #ifdef ENABLE_SASH_SYSTEM void SetSash(DWORD dwSash); void ChangeSash(DWORD dwSash); #endif bool SetWeapon(DWORD eWeapon, DWORD dwEvolution, DWORD eArrow = 0); void SetWeaponEvolution(DWORD dwEvolution); //void SetCostumEvo(DWORD dwCostumEvo); bool ChangeArmor(DWORD dwArmor); void ChangeWeapon(DWORD eWeapon, DWORD dwEvolution, DWORD eArrow = 0); void ChangeHair(DWORD eHair); void ChangeGuild(DWORD dwGuildID, DWORD dwNewIsGuildName); DWORD GetWeaponType(); void SetComboType(UINT uComboType); void SetAttackSpeed(UINT uAtkSpd); void SetMoveSpeed(UINT uMovSpd); void SetRotationSpeed(float fRotSpd); const char * GetNameString(); #if defined(WJ_COMBAT_ZONE) bool IsCombatZoneMap(); void SetCombatZonePoints(DWORD dwValue); DWORD GetCombatZonePoints(); void SetCombatZoneRank(BYTE bValue); BYTE GetCombatZoneRank(); #endif int GetInstanceType(); #ifdef ENABLE_NEW_EXCHANGE_WINDOW DWORD GetLevel(); #endif DWORD GetPart(CRaceData::EParts part); DWORD GetShape(); DWORD GetRace(); DWORD GetVirtualID(); DWORD GetVirtualNumber(); DWORD GetEmpireID(); DWORD GetGuildID(); #ifdef WJ_SHOW_MOB_INFO DWORD GetAIFlag(); #endif BYTE GetNewIsGuildName(); int GetAlignment(); UINT GetAlignmentGrade(); int GetAlignmentType(); #ifdef ENABLE_TITLE_SYSTEM int GetPrestige(); UINT GetPrestigeGrade(); #endif #ifdef ENABLE_REBORN_SYSTEM int GetReborn(); UINT GetRebornGrade(); #endif BYTE GetPKMode(); bool IsKiller(); bool IsPartyMember(); #ifdef TOURNAMENT_PVP_SYSTEM bool IsTournamentMap(); #endif void ActDualEmotion(CInstanceBase & rkDstInst, WORD dwMotionNumber1, WORD dwMotionNumber2); void ActEmotion(DWORD dwMotionNumber); void LevelUp(); void SkillUp(); void UseSpinTop(); void Revive(); void Stun(); void Die(); void Hide(); void Show(); bool CanAct(); bool CanMove(); bool CanAttack(); bool CanUseSkill(); bool CanFishing(); bool IsConflictAlignmentInstance(CInstanceBase& rkInstVictim); bool IsAttackableInstance(CInstanceBase& rkInstVictim); bool IsTargetableInstance(CInstanceBase& rkInstVictim); bool IsPVPInstance(CInstanceBase& rkInstVictim); bool CanChangeTarget(); bool CanPickInstance(); bool CanViewTargetHP(CInstanceBase& rkInstVictim); // Movement BOOL IsGoing(); bool NEW_Goto(const TPixelPosition& c_rkPPosDst, float fDstRot); void EndGoing(); void SetRunMode(); void SetWalkMode(); bool IsAffect(UINT uAffect); BOOL IsInvisibility(); BOOL IsParalysis(); BOOL IsGameMaster(); BOOL IsSameEmpire(CInstanceBase& rkInstDst); BOOL IsBowMode(); BOOL IsHandMode(); BOOL IsFishingMode(); BOOL IsFishing(); BOOL IsWearingDress(); BOOL IsHoldingPickAxe(); BOOL IsMountingHorse(); BOOL IsNewMount(); BOOL IsForceVisible(); BOOL IsInSafe(); #ifdef NEW_PET_SYSTEM BOOL IsNewPet(); #endif BOOL IsEnemy(); BOOL IsStone(); BOOL IsResource(); BOOL IsNPC(); BOOL IsPC(); BOOL IsPoly(); BOOL IsWarp(); BOOL IsGoto(); BOOL IsObject(); BOOL IsDoor(); BOOL IsBuilding(); BOOL IsWoodenDoor(); BOOL IsStoneDoor(); BOOL IsFlag(); BOOL IsGuildWall(); BOOL IsOfflineShop(); BOOL IsSupport(); BOOL IsDead(); BOOL IsStun(); BOOL IsSleep(); BOOL __IsSyncing(); BOOL IsWaiting(); BOOL IsWalking(); BOOL IsPushing(); BOOL IsAttacking(); BOOL IsActingEmotion(); BOOL IsAttacked(); BOOL IsKnockDown(); BOOL IsUsingSkill(); BOOL IsUsingMovingSkill(); BOOL CanCancelSkill(); BOOL CanAttackHorseLevel(); #ifdef __MOVIE_MODE__ BOOL IsMovieMode(); // ¿î¿µÀÚ¿ë ¿ÏÀüÈ÷ ¾Èº¸À̴°Š#endif bool NEW_CanMoveToDestPixelPosition(const TPixelPosition& c_rkPPosDst); void NEW_SetAdvancingRotationFromPixelPosition(const TPixelPosition& c_rkPPosSrc, const TPixelPosition& c_rkPPosDst); void NEW_SetAdvancingRotationFromDirPixelPosition(const TPixelPosition& c_rkPPosDir); bool NEW_SetAdvancingRotationFromDestPixelPosition(const TPixelPosition& c_rkPPosDst); void SetAdvancingRotation(float fRotation); void EndWalking(float fBlendingTime=0.15f); void EndWalkingWithoutBlending(); // Battle void SetEventHandler(CActorInstance::IEventHandler* pkEventHandler); void PushUDPState(DWORD dwCmdTime, const TPixelPosition& c_rkPPosDst, float fDstRot, UINT eFunc, UINT uArg); void PushTCPState(DWORD dwCmdTime, const TPixelPosition& c_rkPPosDst, float fDstRot, UINT eFunc, UINT uArg); void PushTCPStateExpanded(DWORD dwCmdTime, const TPixelPosition& c_rkPPosDst, float fDstRot, UINT eFunc, UINT uArg, UINT uTargetVID); void NEW_Stop(); bool NEW_UseSkill(UINT uSkill, UINT uMot, UINT uMotLoopCount, bool isMovingSkill); void NEW_Attack(); void NEW_Attack(float fDirRot); void NEW_AttackToDestPixelPositionDirection(const TPixelPosition& c_rkPPosDst); bool NEW_AttackToDestInstanceDirection(CInstanceBase& rkInstDst, IFlyEventHandler* pkFlyHandler); bool NEW_AttackToDestInstanceDirection(CInstanceBase& rkInstDst); bool NEW_MoveToDestPixelPositionDirection(const TPixelPosition& c_rkPPosDst); void NEW_MoveToDestInstanceDirection(CInstanceBase& rkInstDst); void NEW_MoveToDirection(float fDirRot); float NEW_GetDistanceFromDirPixelPosition(const TPixelPosition& c_rkPPosDir); float NEW_GetDistanceFromDestPixelPosition(const TPixelPosition& c_rkPPosDst); float NEW_GetDistanceFromDestInstance(CInstanceBase& rkInstDst); float NEW_GetRotation(); float NEW_GetRotationFromDestPixelPosition(const TPixelPosition& c_rkPPosDst); float NEW_GetRotationFromDirPixelPosition(const TPixelPosition& c_rkPPosDir); float NEW_GetRotationFromDestInstance(CInstanceBase& rkInstDst); float NEW_GetAdvancingRotationFromDirPixelPosition(const TPixelPosition& c_rkPPosDir); float NEW_GetAdvancingRotationFromDestPixelPosition(const TPixelPosition& c_rkPPosDst); float NEW_GetAdvancingRotationFromPixelPosition(const TPixelPosition& c_rkPPosSrc, const TPixelPosition& c_rkPPosDst); BOOL NEW_IsClickableDistanceDestPixelPosition(const TPixelPosition& c_rkPPosDst); BOOL NEW_IsClickableDistanceDestInstance(CInstanceBase& rkInstDst); bool NEW_GetFrontInstance(CInstanceBase ** ppoutTargetInstance, float fDistance); void NEW_GetRandomPositionInFanRange(CInstanceBase& rkInstTarget, TPixelPosition* pkPPosDst); bool NEW_GetInstanceVectorInFanRange(float fSkillDistance, CInstanceBase& rkInstTarget, std::vector<CInstanceBase*>* pkVct_pkInst); bool NEW_GetInstanceVectorInCircleRange(float fSkillDistance, std::vector<CInstanceBase*>* pkVct_pkInst); void NEW_SetOwner(DWORD dwOwnerVID); void NEW_SyncPixelPosition(long & nPPosX, long & nPPosY); void NEW_SyncCurrentPixelPosition(); void NEW_SetPixelPosition(const TPixelPosition& c_rkPPosDst); bool NEW_IsLastPixelPosition(); const TPixelPosition& NEW_GetLastPixelPositionRef(); // Battle BOOL isNormalAttacking(); BOOL isComboAttacking(); MOTION_KEY GetNormalAttackIndex(); DWORD GetComboIndex(); float GetAttackingElapsedTime(); void InputNormalAttack(float fAtkDirRot); void InputComboAttack(float fAtkDirRot); void RunNormalAttack(float fAtkDirRot); void RunComboAttack(float fAtkDirRot, DWORD wMotionIndex); CInstanceBase* FindNearestVictim(); BOOL CheckAdvancing(); bool AvoidObject(const CGraphicObjectInstance& c_rkBGObj); bool IsBlockObject(const CGraphicObjectInstance& c_rkBGObj); void BlockMovement(); public: BOOL CheckAttacking(CInstanceBase& rkInstVictim); void ProcessHitting(DWORD dwMotionKey, CInstanceBase * pVictimInstance); void ProcessHitting(DWORD dwMotionKey, BYTE byEventIndex, CInstanceBase * pVictimInstance); void GetBlendingPosition(TPixelPosition * pPixelPosition); void SetBlendingPosition(const TPixelPosition & c_rPixelPosition); // Fishing void StartFishing(float frot); void StopFishing(); void ReactFishing(); void CatchSuccess(); void CatchFail(); BOOL GetFishingRot(int * pirot); // Render Mode void RestoreRenderMode(); void SetAddRenderMode(); void SetModulateRenderMode(); void SetRenderMode(int iRenderMode); void SetAddColor(const D3DXCOLOR & c_rColor); // Position void SCRIPT_SetPixelPosition(float fx, float fy); void NEW_GetPixelPosition(TPixelPosition * pPixelPosition); // Rotation void NEW_LookAtFlyTarget(); void NEW_LookAtDestInstance(CInstanceBase& rkInstDst); void NEW_LookAtDestPixelPosition(const TPixelPosition& c_rkPPosDst); float GetRotation(); float GetAdvancingRotation(); void SetRotation(float fRotation); void BlendRotation(float fRotation, float fBlendTime = 0.1f); void SetDirection(int dir); void BlendDirection(int dir, float blendTime); float GetDegreeFromDirection(int dir); // Motion // Motion Deque BOOL isLock(); void SetMotionMode(int iMotionMode); int GetMotionMode(DWORD dwMotionIndex); // Motion // Pushing Motion void ResetLocalTime(); void SetLoopMotion(WORD wMotion, float fBlendTime=0.1f, float fSpeedRatio=1.0f); void PushOnceMotion(WORD wMotion, float fBlendTime=0.1f, float fSpeedRatio=1.0f); void PushLoopMotion(WORD wMotion, float fBlendTime=0.1f, float fSpeedRatio=1.0f); void SetEndStopMotion(); // Intersect bool IntersectDefendingSphere(); bool IntersectBoundingBox(); // Part //void SetParts(const WORD * c_pParts); void Refresh(DWORD dwMotIndex, bool isLoop); //void AttachEffectByID(DWORD dwParentPartIndex, const char * c_pszBoneName, DWORD dwEffectID, int dwLife = CActorInstance::EFFECT_LIFE_INFINITE ); // ¼ö¸íÀº ms´ÜÀ§ÀÔ´Ï´Ù. //void AttachEffectByName(DWORD dwParentPartIndex, const char * c_pszBoneName, const char * c_pszEffectName, int dwLife = CActorInstance::EFFECT_LIFE_INFINITE ); // ¼ö¸íÀº ms´ÜÀ§ÀÔ´Ï´Ù. float GetDistance(CInstanceBase * pkTargetInst); float GetDistance(const TPixelPosition & c_rPixelPosition); #ifdef ENABLE_RACE_HEIGHT float GetBaseHeight(); #endif // ETC CActorInstance& GetGraphicThingInstanceRef(); CActorInstance* GetGraphicThingInstancePtr(); bool __Background_IsWaterPixelPosition(const TPixelPosition& c_rkPPos); bool __Background_GetWaterHeight(const TPixelPosition& c_rkPPos, float* pfHeight); // 2004.07.25.myevan.ÀÌÆåÆ® ¾È³ª¿À´Â ¹®Á¦ ///////////////////////////////////////////////////////////// void __ClearAffectFlagContainer(); void __ClearAffects(); ///////////////////////////////////////////////////////////// void __SetAffect(UINT eAffect, bool isVisible); void SetAffectFlagContainer(const CAffectFlagContainer& c_rkAffectFlagContainer); void __SetNormalAffectFlagContainer(const CAffectFlagContainer& c_rkAffectFlagContainer); void __SetStoneSmokeFlagContainer(const CAffectFlagContainer& c_rkAffectFlagContainer); void SetEmoticon(UINT eEmoticon); void SetFishEmoticon(); bool IsPossibleEmoticon(); protected: UINT __LessRenderOrder_GetLODLevel(); void __Initialize(); void __InitializeRotationSpeed(); void __Create_SetName(const SCreateData& c_rkCreateData); void __Create_SetWarpName(const SCreateData& c_rkCreateData); CInstanceBase* __GetMainInstancePtr(); CInstanceBase* __FindInstancePtr(DWORD dwVID); bool __FindRaceType(DWORD dwRace, BYTE* pbType); DWORD __GetRaceType(); bool __IsShapeAnimalWear(); BOOL __IsChangableWeapon(int iWeaponID); void __EnableSkipCollision(); void __DisableSkipCollision(); void __ClearMainInstance(); void __Shaman_SetParalysis(bool isParalysis); void __Warrior_SetGeomgyeongAffect(bool isVisible); void __Assassin_SetEunhyeongAffect(bool isVisible); void __SetReviveInvisibilityAffect(bool isVisible); BOOL __CanProcessNetworkStatePacket(); bool __IsInDustRange(); // Emotion void __ProcessFunctionEmotion(DWORD dwMotionNumber, DWORD dwTargetVID, const TPixelPosition & c_rkPosDst); void __EnableChangingTCPState(); void __DisableChangingTCPState(); BOOL __IsEnableTCPProcess(UINT eCurFunc); // 2004.07.17.levites.isShow¸¦ ViewFrustumCheck·Î º¯°æ bool __CanRender(); bool __IsInViewFrustum(); // HORSE void __AttachHorseSaddle(); void __DetachHorseSaddle(); struct SHORSE { bool m_isMounting; CActorInstance* m_pkActor; SHORSE(); ~SHORSE(); void Destroy(); void Create(const TPixelPosition& c_rkPPos, UINT eRace, UINT eHitEffect); void SetAttackSpeed(UINT uAtkSpd); void SetMoveSpeed(UINT uMovSpd); void Deform(); void Render(); CActorInstance& GetActorRef(); CActorInstance* GetActorPtr(); bool IsMounting(); bool CanAttack(); bool CanUseSkill(); UINT GetLevel(); bool IsNewMount(); void __Initialize(); } m_kHorse; protected: // Blend Mode void __SetBlendRenderingMode(); void __SetAlphaValue(float fAlpha); float __GetAlphaValue(); void __ComboProcess(); void MovementProcess(); void TodoProcess(); void StateProcess(); void AttackProcess(); void StartWalking(); float GetLocalTime(); void RefreshState(DWORD dwMotIndex, bool isLoop); void RefreshActorInstance(); protected: void OnSyncing(); void OnWaiting(); void OnMoving(); void NEW_SetCurPixelPosition(const TPixelPosition& c_rkPPosDst); void NEW_SetSrcPixelPosition(const TPixelPosition& c_rkPPosDst); void NEW_SetDstPixelPosition(const TPixelPosition& c_rkPPosDst); void NEW_SetDstPixelPositionZ(FLOAT z); const TPixelPosition& NEW_GetCurPixelPositionRef(); const TPixelPosition& NEW_GetSrcPixelPositionRef(); public: const TPixelPosition& NEW_GetDstPixelPositionRef(); protected: BOOL m_isTextTail; // Instance Data std::string m_stName; DWORD m_awPart[CRaceData::PART_MAX_NUM]; DWORD m_dwLevel; #if defined(WJ_SHOW_MOB_INFO) DWORD m_dwAIFlag; #endif DWORD m_dwWeaponEvolution; //DWORD m_dwCostumEvo; DWORD m_dwEmpireID; DWORD m_dwGuildID; BYTE m_dwNewIsGuildName; bool m_bIsHidden; public: bool IsHidden(); protected: CAffectFlagContainer m_kAffectFlagContainer; DWORD m_adwCRCAffectEffect[AFFECT_NUM]; UINT __GetRefinedEffect(CItemData* pItem, DWORD dwEvolution = 0); void __ClearWeaponRefineEffect(); void __ClearArmorRefineEffect(); //void __ClearAcceRefineEffect(); #ifdef ENABLE_SASH_SYSTEM void ClearSashEffect(); #endif protected: void __AttachSelectEffect(); void __DetachSelectEffect(); void __AttachTargetEffect(); void __DetachTargetEffect(); void __AttachTargetEffectMonster(); void __DetachTargetEffectMonster(); void __AttachSelectEffectMonster(); void __DetachSelectEffectMonster(); void __AttachTargetEffectStone(); void __DetachTargetEffectStone(); void __AttachSelectEffectStone(); void __DetachSelectEffectStone(); void __AttachTargetEffectShinsoo(); void __DetachTargetEffectShinsoo(); void __AttachSelectEffectShinsoo(); void __DetachSelectEffectShinsoo(); void __AttachTargetEffectJinnos(); void __DetachTargetEffectJinnos(); void __AttachSelectEffectJinnos(); void __DetachSelectEffectJinnos(); void __AttachTargetEffectChunjo(); void __DetachTargetEffectChunjo(); void __AttachSelectEffectChunjo(); void __DetachSelectEffectChunjo(); void __AttachEmpireEffect(DWORD eEmpire); protected: struct SEffectContainer { typedef std::map<DWORD, DWORD> Dict; Dict m_kDct_dwEftID; } m_kEffectContainer; void __EffectContainer_Initialize(); void __AttachEfektBossa(); void __EffectContainer_Destroy(); void __EffectContainer_Suspend(); void __EffectContainer_Continue(); DWORD __EffectContainer_AttachEffect(DWORD eEffect); void __EffectContainer_DetachEffect(DWORD eEffect); SEffectContainer::Dict& __EffectContainer_GetDict(); protected: struct SStoneSmoke { DWORD m_dwEftID; } m_kStoneSmoke; void __StoneSmoke_Inialize(); void __StoneSmoke_Destroy(); void __StoneSmoke_Create(DWORD eSmoke); protected: // Emoticon //DWORD m_adwCRCEmoticonEffect[EMOTICON_NUM]; BYTE m_eType; BYTE m_eRaceType; DWORD m_eShape; DWORD m_dwRace; DWORD m_dwVirtualNumber; short m_sAlignment; #ifdef ENABLE_TITLE_SYSTEM short m_sPrestige; #endif #ifdef ENABLE_REBORN_SYSTEM short m_sReborn; #endif BYTE m_byPKMode; #if defined(WJ_COMBAT_ZONE) BYTE combat_zone_rank; DWORD combat_zone_points; #endif bool m_isKiller; bool m_isPartyMember; // Movement int m_iRotatingDirection; DWORD m_dwAdvActorVID; DWORD m_dwLastDmgActorVID; LONG m_nAverageNetworkGap; DWORD m_dwNextUpdateHeightTime; bool m_isGoing; TPixelPosition m_kPPosDust; DWORD m_dwLastComboIndex; DWORD m_swordRefineEffectRight; DWORD m_swordRefineEffectLeft; DWORD m_armorRefineEffect; //DWORD m_acceEffect; #ifdef ENABLE_SASH_SYSTEM DWORD m_dwSashEffect; #endif struct SMoveAfterFunc { UINT eFunc; UINT uArg; // For Emotion Function UINT uArgExpanded; TPixelPosition kPosDst; }; SMoveAfterFunc m_kMovAfterFunc; float m_fDstRot; float m_fAtkPosTime; float m_fRotSpd; float m_fMaxRotSpd; BOOL m_bEnableTCPState; // Graphic Instance CActorInstance m_GraphicThingInstance; protected: struct SCommand { DWORD m_dwChkTime; DWORD m_dwCmdTime; float m_fDstRot; UINT m_eFunc; UINT m_uArg; UINT m_uTargetVID; TPixelPosition m_kPPosDst; }; typedef std::list<SCommand> CommandQueue; DWORD m_dwBaseChkTime; DWORD m_dwBaseCmdTime; DWORD m_dwSkipTime; CommandQueue m_kQue_kCmdNew; BOOL m_bDamageEffectType; struct SEffectDamage { DWORD damage; BYTE flag; BOOL bSelf; BOOL bTarget; }; typedef std::list<SEffectDamage> CommandDamageQueue; CommandDamageQueue m_DamageQueue; void ProcessDamage(); public: void AddDamageEffect(DWORD damage,BYTE flag,BOOL bSelf,BOOL bTarget); protected: struct SWarrior { DWORD m_dwGeomgyeongEffect; }; SWarrior m_kWarrior; void __Warrior_Initialize(); public: static void ClearPVPKeySystem(); static void InsertPVPKey(DWORD dwSrcVID, DWORD dwDstVID); static void InsertPVPReadyKey(DWORD dwSrcVID, DWORD dwDstVID); static void RemovePVPKey(DWORD dwSrcVID, DWORD dwDstVID); static void InsertGVGKey(DWORD dwSrcGuildVID, DWORD dwDstGuildVID); static void RemoveGVGKey(DWORD dwSrcGuildVID, DWORD dwDstGuildVID); static void InsertDUELKey(DWORD dwSrcVID, DWORD dwDstVID); UINT GetNameColorIndex(); const D3DXCOLOR& GetNameColor(); const D3DXCOLOR& GetTitleColor(); #ifdef ENABLE_TITLE_SYSTEM const D3DXCOLOR& GetTitlePrestigeColor(); #endif #ifdef ENABLE_REBORN_SYSTEM const D3DXCOLOR& GetTitleRebornColor(); #endif protected: static DWORD __GetPVPKey(DWORD dwSrcVID, DWORD dwDstVID); static bool __FindPVPKey(DWORD dwSrcVID, DWORD dwDstVID); static bool __FindPVPReadyKey(DWORD dwSrcVID, DWORD dwDstVID); static bool __FindGVGKey(DWORD dwSrcGuildID, DWORD dwDstGuildID); static bool __FindDUELKey(DWORD dwSrcGuildID, DWORD dwDstGuildID); protected: CActorInstance::IEventHandler* GetEventHandlerPtr(); CActorInstance::IEventHandler& GetEventHandlerRef(); protected: static float __GetBackgroundHeight(float x, float y); static DWORD __GetShadowMapColor(float x, float y); public: static void ResetPerformanceCounter(); static void GetInfo(std::string* pstInfo); public: static CInstanceBase* New(); static void Delete(CInstanceBase* pkInst); static CDynamicPool<CInstanceBase> ms_kPool; protected: static DWORD ms_dwUpdateCounter; static DWORD ms_dwRenderCounter; static DWORD ms_dwDeformCounter; public: DWORD GetDuelMode(); void SetDuelMode(DWORD type); protected: DWORD m_dwDuelMode; DWORD m_dwEmoticonTime; }; inline int RaceToJob(int race) { switch (race) { case 0: case 4: return 0; case 1: case 5: return 1; case 2: case 6: return 2; case 3: case 7: return 3; case 8: return 4; default: return 0; } return 0; } inline int RaceToSex(int race) { switch (race) { case 0: case 2: case 5: case 7: case 8: return 1; case 1: case 3: case 4: case 6: return 0; } return 0; }
Optional Paste Settings
Category:
None
Cryptocurrency
Cybersecurity
Fixit
Food
Gaming
Haiku
Help
History
Housing
Jokes
Legal
Money
Movies
Music
Pets
Photo
Science
Software
Source Code
Spirit
Sports
Travel
TV
Writing
Tags:
Syntax Highlighting:
None
Bash
C
C#
C++
CSS
HTML
JSON
Java
JavaScript
Lua
Markdown (PRO members only)
Objective C
PHP
Perl
Python
Ruby
Swift
4CS
6502 ACME Cross Assembler
6502 Kick Assembler
6502 TASM/64TASS
ABAP
AIMMS
ALGOL 68
APT Sources
ARM
ASM (NASM)
ASP
ActionScript
ActionScript 3
Ada
Apache Log
AppleScript
Arduino
Asymptote
AutoIt
Autohotkey
Avisynth
Awk
BASCOM AVR
BNF
BOO
Bash
Basic4GL
Batch
BibTeX
Blitz Basic
Blitz3D
BlitzMax
BrainFuck
C
C (WinAPI)
C Intermediate Language
C for Macs
C#
C++
C++ (WinAPI)
C++ (with Qt extensions)
C: Loadrunner
CAD DCL
CAD Lisp
CFDG
CMake
COBOL
CSS
Ceylon
ChaiScript
Chapel
Clojure
Clone C
Clone C++
CoffeeScript
ColdFusion
Cuesheet
D
DCL
DCPU-16
DCS
DIV
DOT
Dart
Delphi
Delphi Prism (Oxygene)
Diff
E
ECMAScript
EPC
Easytrieve
Eiffel
Email
Erlang
Euphoria
F#
FO Language
Falcon
Filemaker
Formula One
Fortran
FreeBasic
FreeSWITCH
GAMBAS
GDB
GDScript
Game Maker
Genero
Genie
GetText
Go
Godot GLSL
Groovy
GwBasic
HQ9 Plus
HTML
HTML 5
Haskell
Haxe
HicEst
IDL
INI file
INTERCAL
IO
ISPF Panel Definition
Icon
Inno Script
J
JCL
JSON
Java
Java 5
JavaScript
Julia
KSP (Kontakt Script)
KiXtart
Kotlin
LDIF
LLVM
LOL Code
LScript
Latex
Liberty BASIC
Linden Scripting
Lisp
Loco Basic
Logtalk
Lotus Formulas
Lotus Script
Lua
M68000 Assembler
MIX Assembler
MK-61/52
MPASM
MXML
MagikSF
Make
MapBasic
Markdown (PRO members only)
MatLab
Mercury
MetaPost
Modula 2
Modula 3
Motorola 68000 HiSoft Dev
MySQL
Nagios
NetRexx
Nginx
Nim
NullSoft Installer
OCaml
OCaml Brief
Oberon 2
Objeck Programming Langua
Objective C
Octave
Open Object Rexx
OpenBSD PACKET FILTER
OpenGL Shading
Openoffice BASIC
Oracle 11
Oracle 8
Oz
PARI/GP
PCRE
PHP
PHP Brief
PL/I
PL/SQL
POV-Ray
ParaSail
Pascal
Pawn
Per
Perl
Perl 6
Phix
Pic 16
Pike
Pixel Bender
PostScript
PostgreSQL
PowerBuilder
PowerShell
ProFTPd
Progress
Prolog
Properties
ProvideX
Puppet
PureBasic
PyCon
Python
Python for S60
QBasic
QML
R
RBScript
REBOL
REG
RPM Spec
Racket
Rails
Rexx
Robots
Roff Manpage
Ruby
Ruby Gnuplot
Rust
SAS
SCL
SPARK
SPARQL
SQF
SQL
SSH Config
Scala
Scheme
Scilab
SdlBasic
Smalltalk
Smarty
StandardML
StoneScript
SuperCollider
Swift
SystemVerilog
T-SQL
TCL
TeXgraph
Tera Term
TypeScript
TypoScript
UPC
Unicon
UnrealScript
Urbi
VB.NET
VBScript
VHDL
VIM
Vala
Vedit
VeriLog
Visual Pro Log
VisualBasic
VisualFoxPro
WHOIS
WhiteSpace
Winbatch
XBasic
XML
XPP
Xojo
Xorg Config
YAML
YARA
Z80 Assembler
ZXBasic
autoconf
jQuery
mIRC
newLISP
q/kdb+
thinBasic
Paste Expiration:
Never
Burn after read
10 Minutes
1 Hour
1 Day
1 Week
2 Weeks
1 Month
6 Months
1 Year
Paste Exposure:
Public
Unlisted
Private
Folder:
(members only)
Password
NEW
Enabled
Disabled
Burn after read
NEW
Paste Name / Title:
Create New Paste
Hello
Guest
Sign Up
or
Login
Sign in with Facebook
Sign in with Twitter
Sign in with Google
You are currently not logged in, this means you can not edit or delete anything you paste.
Sign Up
or
Login
Public Pastes
Free Crypto Method
CSS | 22 min ago | 0.72 KB
Crypto admin access
23 min ago | 0.43 KB
+12,000$ in 2 days
CSS | 23 min ago | 0.72 KB
Documents
24 min ago | 0.43 KB
OG OLDHAM CODE
7 hours ago | 27.75 KB
remove current bid and bid now button from au...
PHP | 16 hours ago | 0.80 KB
AppUseUA
JSON | 20 hours ago | 0.27 KB
Notices blood
1 day ago | 0.81 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the
Cookies Policy
.
OK, I Understand
Not a member of Pastebin yet?
Sign Up
, it unlocks many cool features!