#ifndef _SIEGE_CONSTANTS_H_ #define _SIEGE_CONSTANTS_H_ namespace Siege { enum SiegeObjectType { // ¸ó½ºÅÍ Kind ID ¸¦ »ç¿ëÇÑ´Ù. EMBLEM = 5000, // ¼º »ó¡¹° ( DESTORYING, CHANGING, DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) GATE = 5324, // ¼º¹® ( DESTORYING, CHANGING, DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) BACKDOOR = 5378, // µÞ¹® ( Only COMPLETE »óŸ¸ Á¸Àç ) CAMP = 5379, // ±æµå ¿ä»õ (Ä·ÇÁ) ( DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) CASTLE_ARMS_NPC = 5433, // º´±â °ü¸® NPC ( Only COMPLETE »óŸ¸ Á¸Àç ) GUARD = 5434, // °¡µå ( DESTORYING, CHANGING, DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) SHORT_RANGE_CASTLE_ARMS = 5488, // ±Ù°Å¸® ¼ö¼º º´±â ( DESTORYING, CHANGING, DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) LONG_RANGE_CASTLE_ARMS = 5542, // ¿ø°Å¸® ¼ö¼º º´±â ( DESTORYING, CHANGING, DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) SHORT_RANGE_SIEGE_ARMS = 5596, // ±Ù°Å¸¯ °ø¼º º´±â ( CHANGING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) LONG_RANGE_SIEGE_ARMS = 5650, // ¿ø°Å¸® °ø¼º º´±â ( CHANGING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) AIRSHIP = 5704, // ºñ°øÁ¤ ( CHANGING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) MINING_CAMP = 5758, // ä±¼±â (Ä·ÇÁ) ( DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) CAMP_SHOP = 5812, // »óÁ¡Å¸ÀÔ¿ä»õ (Ä·ÇÁ) ( DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) KARTERANT_WEAPON = 5866, // Ä«¸£Å×¶õÆ® ¿ùµå ¿þÆù (Ä·ÇÁ) ( DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) MERKADIA_WEAPON = 5920, // ¸Þ¸£Ä«µð¾Æ ¿ùµå ¿þÆù (Ä·ÇÁ) ( DEVELOPING, CANCELING, RESTORING, DESTROYED 1°³¸¸ Á¸Àç ) DEFAULT_TYPE = 0 // µðÆúÆ® Àü´ÞÀÎÀÚ¿ë }; enum State { // KID => SiegeObjectType // + (State * UPGRADE_KIND_NUM) // + UpgradeStep // KID (¼º »ó¡¹°) => SiegeObjectType // + (State * JEWEL_TYPE_NUM * UPGRADE_KIND_NUM) // + (JewelType * UPGRADE_KIND_NUM) // + UpgradeStep COMPLETE = 0, // ¼º »ó¡¹° ¼Òȯ ¿Ï·á, ±æµå ¿ä»õ ±¸Ãà ¿Ï·á, °¡µå, °æºñº´, ±Ù°Å¸®, ¿ø°Å¸®, ºñ°øÁ¤ °³¹ß ¿Ï·á UPGRADING = 1, // ¼º »ó¡¹°, ±æµå ¿ä»õ, ¼º¹®, °¡µå, ±Ù°Å¸®/¿ø°Å¸® ¼ö¼ºº´±â ¾÷±×·¹À̵å ÁßÀÎ »óÅ REPARING = 2, // ±æµå ¿ä»õ, ¼º¹®, ±Ù°Å¸®/¿ø°Å¸®, ºñ°øÁ¤ ¼ö¸® »óÅ DESTROYING = 3, // ±æµå ¿ä»õ, ±Ù°Å¸®/¿ø°Å¸®, ºñ°øÁ¤ ÆÄ±«Çؼ­ ½ºÅ¸Æ® ŶÀ¸·Î µ¹¸®´Â »óÅ CHANGING = 4, // ±æµå ¿ä»õ º¯ÇüÁß DEVELOPING = 5, // ¼º »ó¡¹° ¼ÒȯÁß, ±æµå ¿ä»õ ±¸ÃàÁß, °¡µå, °æºñº´, ±Ù°Å¸®, ¿ø°Å¸®, ºñ°øÁ¤ °³¹ßÁß CANCELING = 6, // ±æµå ¿ä»õ, ±Ù°Å¸®/¿ø°Å¸®, ºñ°øÁ¤ °³¹ßÀ» Ãë¼ÒÁßÀÎ »óÅ (½ºÅ¸Æ®Å¶ ¾ÆÀÌÅÛÀ¸·Î µ¹¾Æ°£´Ù.) RESTORING = 7, // ¼º¹® º¹±¸ »óÅ DESTROYED = 8, // ¼º¹® ÆÄ±« »óÅ // SubState NONE = 0, MINE = 1, // ¾Æ±º ¼º »ó¡¹° ENEMY = 2, // Àû±º ¼º »ó¡¹° OPENED = 1, // ¼º¹® ¿­¸° »óÅ CLOSED = 2, // ¼º¹® ´ÝÈù »óÅ MINING_OFF = 0, // ä±¼±â Á¤Áö »óÅ MINING_ON = 1, // ä±¼±â °¡µ¿ »óÅ MINING_READY = 2, // ä±¼±â °¡µ¿ Áغñ »óÅ WEAPON_EMPTY = 0, // ¿ùµå¿þÆù ¹«±â ºñÀåÀü »óÅ WEAPON_CHARGE = 1, // ¹«±â ÀåÀüÁß WEAPON_READY = 2, // ¹«±â ÀåÀüµÈ »óÅ WEAPON_FIRE = 3, // ¹«±â ¹ß»çÁß }; enum JewelType { // º¸¼® ¼ø¼­°¡ ¹Ù²î¸é ¾ÈµÊ!! // ¾ÆÀÌÅÛ ½ºÅ©¸³Æ®ÀÇ ¼ø¼­´ë·ÎÀÌ´Ù. NO_JEWEL = 0, // º¸¼® ¾øÀ½ RUBY = 1, // ·çºñ EMERALD = 2, // ¿¡¸Þ¶öµå SAPPHIRE = 3, // »çÆÄÀ̾î DIAMOND = 4, // ´ÙÀ̾Ƹóµå BLACKMOON = 5, // ºí·¢¹® JEWEL_PROTOTYPE_ID = 1900, JEWEL_KIND = 5, JEWEL_TYPE_NUM = 6, // »ó¡¹° ¾÷±×·¹ÀÌÆ® º¸¼® ŸÀÔ Á¾·ù¼ö (¾øÀ½ Æ÷ÇÔ) }; enum CampConst { CAMP_BUILDING_RADIUS = 315, // Ä·ÇÁ ±¸Ãà ¹Ý°æ (m) CAMP_REPAIR_GOLD_PER_HP = 10, // HP ´ÜÀ§´ç 10 °ñµå CAMP_UPGRADE_MATERIAL_NUM = 30, // ±æµå ¿ä»õ ÇÑ´Ü°è ¾÷±×·¹À̵å½Ã ÇÊ¿äÇÑ ÀÚÀç¼ö MINING_CAMP_UPGRADE_MATERIAL_NUM = 50, // ä±¼±â ÇÑ´Ü°è ¾÷±×·¹À̵å½Ã ÇÊ¿äÇÑ ÀÚÀç¼ö CAMP_SHOP_UPGRADE_MATERIAL_NUM = 40, // ±æµå ¿ä»õ »óÁ¡ ÇÑ´Ü°è ¾÷±×·¹À̵å½Ã ÇÊ¿äÇÑ ÀÚÀç¼ö WEAPON_CHARGE_MATERIAL_NUM = 50, // ¿ùµå ¿þÆù ¹«±â ÀåÀü¿¡ ÇÊ¿äÇÑ ÀÚÀç¼ö CAMP_REPAIR_HP_PER_MATERIAL = 5000, // ÀÚÀç Çϳª´ç ¼ö¸®µÇ´Â HP FAME_FOR_CAMP_BUILDING_TEST = 0,//1000, // ±æµå ¿ä»õ ±¸Ãà½Ã ±æµåÀÇ ÇÊ¿ä ¸í¼ºÄ¡ (Å×¼·¿ë) FAME_FOR_CAMP_BUILDING = 0,//2000, // ±æµå ¿ä»õ ±¸Ãà½Ã ±æµåÀÇ ÇÊ¿ä ¸í¼ºÄ¡ (Á¤¼·¿ë) FAME_FOR_WEAPON_BUILDING_TEST = 1000, // ¿ùµå ¿þÆù ±¸Ãà½Ã ±æµåÀÇ ÇÊ¿ä ¸í¼ºÄ¡ (Å×¼·¿ë) FAME_FOR_WEAPON_BUILDING = 2000, // ¿ùµå ¿þÆù ±¸Ãà½Ã ±æµåÀÇ ÇÊ¿ä ¸í¼ºÄ¡ (Á¤¼·¿ë) FAME_FOR_SELF_DESTROY_CAMP = -50, // ±æµå ¿ä»õ ÆÄ±«½Ã ±ïÀÌ´Â ¸í¼ºÄ¡ (ÀÚ½ÅÀÌ ÆÄ±«) FAME_FOR_DESTROYED_CAMP = -100, // ±æµå ¿ä»õ ÆÄ±«½Ã ±ïÀÌ´Â ¸í¼ºÄ¡ (´Ù¸¥ »ç¶÷ÀÌ ÆÄ±«) GOLD_FOR_SELF_DESTROY_CAMP = 500000, // ±æµå ¿ä»õ ÆÄ±«½Ã µ¹·ÁÁÖ´Â µ· (ÀÚ½ÅÀÌ ÆÄ±«) GOLD_FOR_CANCEL_CAMP = 1000000, // ±æµå ¿ä»õ ±¸Ãà ÇØÁ¦½Ã µ¹·ÁÁÖ´Â µ· CAMP_ATTACK_RANGE = 45, // ¿ä»õ °ø°Ý ¹üÀ§ (¹Ý°æ 45m) // ½Ã°£ ¾÷µ¥ÀÌÆ® ŸÀÔ TYPE_REMAIN_TIME = 0, // ½Ã°£ º¯¼ö ¾÷µ¥ÀÌÆ® TYPE_LAST_USE_TIME = 1, // ¸¶Áö¸· »ç¿ë ½Ã°£ ¾÷µ¥ÀÌÆ® // ä±¼ ¾ÆÀÌÅÛ Å¸ÀÔ Á¾·ù ACCUMULATED_MINERAL = 1, // ´©ÀûµÈ ±¤¹° ¾ÆÀÌÅÛ TEMPORARY_MINERAL = 2, // Àӽà º¸°üµÈ ±¤¹° ¾ÆÀÌÅÛ MAX_MINERAL_NUM = 1000, // ±¤¹° ÃÖ°í ½ºÅà °¹¼ö // »óÁ¡ ŸÀÔ °ü·Ã MAX_TAX = 100, // ÃÖ´ë ¼¼À² // ¿ùµå ¿þÆù °ü·Ã WEAPON_FIRE_WARNING_COUNT = 10, // ¿ùµå ¿þÆù ¹ß»ç °æ°í Ç¥½Ã Ƚ¼ö (10¹ø : 10ÃÊ) WEAPON_REBUILD_SIEGE_TIME_COUNT = 3, // °ø¼º ½Ã°£ÀÌ 3¹ø Áö³ª¾ß ´Ù½Ã ÁöÀ»¼ö ÀÖÀ½ (ºÎ¼­Áø ±¹°¡ÀÏ °æ¿ì) WEAPON_DAMAGE_RANGE = 256, // ¿ùµå ¿þÆù µ¥¹ÌÁö ¹Ý°æ (256m) WEAPON_DAMAGE = 10000 // ¿ùµå ¿þÆù Àý´ë µ¥¹ÌÁö }; enum EmblemConst { MAX_EMBLEM_UPGRADE = 3, // ¼º »ó¡¹° ¾÷±×·¹À̵å ÃÖ´ëÄ¡ // TODO : »óÀ§ º¸¼® 2Á¾·ù°¡ Ãß°¡µÇ¸é Const::MAX_UPGRADE_NUM ¸¦ »ç¿ëÇÑ´Ù. EMBLEM_ATTACK_HEIGHT_ERROR = 5, // ³ôÀÌÂ÷°¡ ÃÖ¼Ò 5m ¾È¿¡ ÀÖ´Â Àû¸¸ °ø°ÝÀÌ °¡´É }; enum GateConst { GATE_REPAIR_MIN_PER_HP = 1, // HP 1´ç 1ºÐÀÇ ¼ö¸® ½Ã°£ }; enum CastleArmsConst { CASTLE_ARMS_REPAIR_TIME = 1, // ¼ö¼º º´±â ¼ö¸® ½Ã°£ (1ºÐ) CASTLE_ARMS_REPAIR_GOLD_PER_UNIT = 10000, // ¼ö¸® ºñ¿ë ´ÜÀ§´ç 10000 °ñµå ( ´ÜÀ§´Â 10%´ç ) FAME_FOR_DESTROY_CASTLE_ARMS = -500, // ¼ö¼º º´±â¸¦ NPC ·Î º¯ÇüÇÒ¶§ ±ïÀÌ´Â ¸í¼ºÄ¡ }; enum SiegeArmsConst { SIEGE_ARMS_REPAIR_TIME = 1, // °ø¼º º´±â ¼ö¸® ½Ã°£ (1ºÐ). SIEGE_ARMS_UPGRADE_MATERIAL_NUM = 10, // °ø¼º º´±â ÇÑ´Ü°è ¾÷±×·¹À̵å½Ã ÇÊ¿äÇÑ ÀÚÀç¼ö SIEGE_ARMS_REPAIR_HP_PER_MATERIAL = 10, // ÀÚÀç Çϳª´ç 10% ÀÇ HP ¼ö¸® AIRSHIP_RIDER_NUM = 10, // ¼ö¼Û¼± ÃÖ´ë ž½Â Àοø AIRSHIP_PASSENGER_NUM = 9, // ¼ö¼Û¼± ½Â°´ ÃÖ´ë Àοø }; enum Const { INSIDE = 0, // µÞ¹® »ç¿ë( ¾ÈÀ¸·Î ) OUTSIDE = 1, // µÞ¹® »ç¿ë( ¹ÛÀ¸·Î ) MAX_UPGRADE_NUM = 5, // °ø¼º ¿ÀºêÁ§Æ® ¾÷±×·¹À̵å ÃÖ´ëÄ¡ UPGRADE_KIND_NUM = 6, // ¾÷±×·¹ÀÌÆ® Á¾·ù ¼ö (0 ~ 5) VIRTUAL_CID_START_NUM = 1000, // ±æµå ¿ä»õ, °ø¼º º´±âÀÇ °¡»ó CID À妽º ½ÃÀÛ ¹øÈ£ BROADCAST_CELL_SIZE = 5, // ºê·Îµåij½ºÆ® ¹Ý°æ (5¼¿) BROADCAST_RADIUS = 150, // ºê·Îµåij½ºÆ® ¹Ý°æ (150m) BROADCAST_SQUARED_RADIUS = 22500, // ºê·Îµåij½ºÆ® ¹Ý°æ Á¦°ö°ª (150 x 150) MAX_HP_UPDATE_COUNT = 5, // 5 ¹ø¿¡ ÇѹøÀº DB Áß°è¼­¹ö·Î HP Á¤º¸ °»½Å MAX_REPAIR_GOLD = 99999999, // ¼ö¸®¸¦ ÇÒ¼ö ¾ø´Â °´Ã¼¸¦ ¼ö¸®ÇÒ¶§ µå´Â µðÆúÆ® ºñ¿ë (¿¡·¯³ª°Ô ÇϱâÀ§ÇØ) MAX_SIEGE_OBJECT = 5, CREATE_LEVEL_LIMIT = 80 }; enum RiderValue { NOT_RIDER = 0, // ž½ÂÇÏÁö ¾Ê¾ÒÀ½ RIDER_FOR_OWNER = 1, // ÁÖÀÎÀ¸·Î ž½ÂÇÑ »óÅ RIDER_FOR_PASSENGER = 2 // ½Â°´À¸·Î ž½ÂÇÑ »óÅ }; enum TimeValue { /* // Test : ±æµå ¿ä»õ Å×½ºÆ®¿ë ½Ã°£ DEFAULT_TIME_VALUE = 1, // 1 ºÐ DEFAULT_REPAIR_TIME = 30, // 30 ÃÊ CAMP_ENCAMPING_TIME = 1, // 1 ºÐ CAMP_CANCELING_TIME = 1, // 1 ºÐ CAMP_REPAIR_TIME = 30, // 30 ÃÊ CAMP_TO_STARTKIT_TIME = 1, // 1 ºÐ CAMP_CHANGING_TIME = 1, // 1 ºÐ CAMP_LEAST_USE_TIME = 7, // 7 ÀÏ CAMP_ENCAMPING_INTERVAL = 10, // 10 ºÐ °£°ÝÀ¸·Î ±¸ÃàÁß ¸Þ¼¼Áö º¸³¿ CAMP_ATTACKED_INTERVAL = 60000, // 60000 ms (1ºÐ) MINING_CAMP_GAIN_COUNT = 1, // 1 ȸ CAMP_SHOP_TRANSFER_COUNT = 1, // 1 ȸ WEAPON_CHARGE_TIME = 1, // 1 ºÐ */ DEFAULT_TIME_VALUE = 10, // 10 ºÐ DEFAULT_REPAIR_TIME = 30, // 30 ÃÊ CAMP_ENCAMPING_TIME = 30, // 30 ºÐ CAMP_CANCELING_TIME = 20, // 20 ºÐ CAMP_REPAIR_TIME = 30, // 30 ÃÊ CAMP_TO_STARTKIT_TIME = 10, // 10 ºÐ CAMP_CHANGING_TIME = 10, // 10 ºÐ CAMP_LEAST_USE_TIME = 7, // 7 ÀÏ CAMP_ENCAMPING_INTERVAL = 10, // 10 ºÐ °£°ÝÀ¸·Î ±¸ÃàÁß ¸Þ¼¼Áö º¸³¿ CAMP_ATTACKED_INTERVAL = 60000, // 60000 ms (1ºÐ) MINING_CAMP_GAIN_COUNT = 1, // 1 ȸ CAMP_SHOP_TRANSFER_COUNT = 1, // 1 ȸ WEAPON_CHARGE_TIME = 10, // 10 ºÐ EMBLEM_SUMMON_TIME = 1, // 1 ºÐ EMBLEM_ATTACKED_INTERVAL = 60000, // 60000 ms (1ºÐ) SIEGE_ARMS_BUILDING_TIME = 3, // 3 ºÐ SIEGE_ARMS_TO_STARTKIT_TIME = 3, // 1 ºÐ SIEGE_ARMS_LEAST_USE_TIME = 10, // 10 ºÐ CASTLE_ARMS_LEAST_USE_TIME = 10, // 10 ºÐ }; enum eReturn { RET_OK = 0, RET_DESTROY_CAMP = 1, // ±æµå ¿ä»õ °´Ã¼ »èÁ¦ RET_DESTROY_SIEGE_ARMS = 2, // °ø¼º º´±â °´Ã¼ »èÁ¦ RET_CHANGE_TYPE = 3, // ±æµå ¿ä»õ ŸÀÔ º¯Çü }; enum eUpdateHPType { NOW_HP = 0, // ÇöÀç HP ±×´ë·Î UPGRADE_HP = 1, // ¾÷±×·¹À̵åµÈ HP ·Î REPAIR_HP = 2, // ¼ö¸®µÈ HP ·Î FULL_HP = 3, // Full HP ·Î }; static int GetKID(unsigned short wObjectType, unsigned char cState, unsigned char cUpgradeType, unsigned char cUpgradeStep) { int nKID = 0; if (Siege::EMBLEM == wObjectType) { nKID = wObjectType + (cState * Siege::JEWEL_TYPE_NUM * Siege::UPGRADE_KIND_NUM) + (cUpgradeType * Siege::UPGRADE_KIND_NUM) + cUpgradeStep; } else { nKID = wObjectType + (cState * Siege::UPGRADE_KIND_NUM) + cUpgradeStep; } return nKID; } static int GetUpgradeMaterialNum(unsigned short wObjectType) { int nNum = 0; switch (wObjectType) { case Siege::MINING_CAMP: nNum = Siege::MINING_CAMP_UPGRADE_MATERIAL_NUM; break; case Siege::CAMP_SHOP: nNum = Siege::CAMP_SHOP_UPGRADE_MATERIAL_NUM; break; case Siege::CAMP: case Siege::KARTERANT_WEAPON: case Siege::MERKADIA_WEAPON: nNum = Siege::CAMP_UPGRADE_MATERIAL_NUM; break; } return nNum; } static int GetChangingTypeMaterialNum(unsigned short wBeforeType, unsigned short wAfterType, unsigned char cUpgradeStep) { int nBeforeNum = GetUpgradeMaterialNum(wBeforeType); int nAfterNum = GetUpgradeMaterialNum(wAfterType); if (nBeforeNum < nAfterNum) { return ( (nAfterNum - nBeforeNum) * cUpgradeStep ); } return 0; } } #endif // _SIEGE_CONSTANTS_H_