www.pudn.com > back.rar > base.h
//_________________________________________________________________________________ // // Base.H // // header file include & define constant // // //_________________________________________________________________________________ // //#pragma once #ifndef _BASE_H_ #define _BASE_H_ //#include "bravonet.h" //network #include "../IOCPNet/IOCPNet.h" //#include "../ServerBase/ServerBase.h" #include#include #include #include #include #include #include #include #include #include "block.h" #include "item.h" #include "PrivateShop.h" //ÀÓâ¿ø Ãß°¡. #include "dungeon.h" //1117-LIM //#include "npc.h" #include "../protocol/Protocol.H" using namespace std; #define WM_TRAYICON_MSG (WM_USER+1) #ifdef _DEBUG #include #endif extern DWORD g_dwCurTickTime; extern DWORD g_dwUserCount; //µé¾î¿Ô´Ù ³ª°£ À¯Àú¼ö. extern DWORD g_dwAvgTime; //Æò±Õ °ÔÀÓ ÀÌ¿ë ½Ã°£. // 2Â÷ÀüÁ÷½ºÅ³ PASSIVESKILL // 2Â÷ÀüÁ÷½ºÅ³ BUFFSKILL // 2Â÷ÀüÁ÷½ºÅ³ STATUS // 2Â÷ÀüÁ÷½ºÅ³ ETC // ±¹°¡º° define #define KOREA // °æÇèÄ¡°è»ê½Ä µé¾î°£´Ù. //#define CHINA------------ÀÌ°Ç ¾È¾´´Ù..ÁÖ¼® Ç®Áö¸¶¼¼¿ä.. //#define HONGKONG //#define ENGLISH //#define ACCOUNTBILL //**ŸÀÌ¿ÏÇÒ¶§ Ç®¸é ¾ÈµÈ´Ù. //#define TAIWAN //**ŸÀÌ¿ÏÇÒ¶§ Ç®¾îÁÖ°í ³ª°£´Ù. // ´ë¸¸ÁÙ¶§ Process_Telepot() need to check. // ´ë¸¸ÁÙ¶§ skillpoint Byte or Int need to check. // ´ë¸¸ÁÙ¶§ except both ÀüÁ÷À̺¥Æ® and µÑµÑÀ̺¥Æ® // ´ë¸¸ÁÙ¶§ °æÇèÄ¡°è»ê½Ä? '°æÇèÄ¡º¯°æ' Ű¿öµå·Î °Ë»öÇÑµÚ °íÄ¡¼¼¿ä. //#define CHINA2 // Áß±¹ //#define NCASH // Áß±¹¿¡¼ ºô¸µ Æ÷ÇԽà Ǭ´Ù. //#define BILL_CHINA_USER_CHECK_TIME (60*1000) // Áß±¹¿¡¼ ºô¸µ Æ÷ÇԽà Ǭ´Ù. //#define JAPAN #define RICHEVENT // Æ÷ÀÎÆ®ÄíÆù À̺¥Æ® // Rich-Event 20050415~20050503 #define JENNIEVENT // 12¿ùÀüÁ÷À̺¥Æ® **ÁÖ¼®À» Ç®¸é ÀüÁ÷À̺¥Æ®°¡ ÁÖ¾îÁö°Ô µÈ´Ù. #define FULLMOON_IVENT #define SOONEUNG // 1108-LIM //#define SUNEUNG // 1111-LIM #define THIN_THIN_RO_DAY // 1108-LIM #define PROTECT_CHAT // ¹®¼ÇÊ¿ä. **ÁÖ¼®À» Ç®¸é äÆÃ¿¬¼Ó±ÝÁö°¡ µÈ´Ù. //#define EXP_EVENT // ¼³À̺¥Æ®°æÇèÄ¡30% **ÁÖ¼®À» Ç®¸é °æÇèÄ¡°¡ 30% ¿Ã¶ó°¡°Ô µÈ´Ù. #define EXP_SPECIAL // µÑµÑ À̺¥Æ® : ÀÌ´Â ÆÄƼ½Ã¿Í ÇÕü½Ã¿¡´Â °æÇèÄ¡¸¦ 20% ´õÁØ´Ù. **ÁÖ¼®À» Ç®¸é ÆÄƼ,ÇÕüÇÑ À¯Àú¿¡°Ô °æÇèÄ¡°¡ 20% ¿Ã¶ó°¡°Ô µÈ´Ù. #define ALL_LOG #define SERVER_GATE 1 struct CServerArray { int MYServer; int GateWayCount; int Info; int GameDB; int Log; //ncash int billingserver; int localnumber; }; #define BRAVO_GAMEDB_START 2 #define BRAVO_GAMEINFO_START 14 #define BRAVO_GAMESERVER_START 31 static const int MAX_USER = 2048; // ¼¹öÀÇ À¯Àú static const int MAX_WAIT = 256; // Á¢¼Ó ´ë±â À¯Àú static const int MAX_NPC = 3000; // Å×½ºÆ® ÇѸ¶¸®¸¸ static const int MAX_NPC_TEMP = 1500; // Å×½ºÆ® ÇѸ¶¸®¸¸ #define MAX_NPC_INFO 512 //#define MAX_NPC_INFO 187 #define REMAIN_POINT_KEY 8 #define START_FLOOR 0 //#define BRAVO_MYSERVER BRAVO_ZONE_SERVER1 extern HWND g_hwndList, g_hwndEdit, g_hwndEditNPC, g_hwndEditAdmin, g_hwndEditLimit, g_hwndWait, g_hwndLogin, g_hwndConnect, g_hwndItemUnique, g_hwndChennel; // ¼¹öÅëÇÕ¼öÁ¤ : ä³ÎÃß°¡ // warp °ü·Ã ±¸Á¶Ã¼¹× define const int MAXLINE = 512; #define MAX_MAP 101 // ÇöÀç100¹ø¸ÊÀÌ ÀÖ´Ù struct Map_Index { Map_Index() { m_Map_ID = -1; m_Server_No = -1; } int m_Map_ID; // 255¸¦ ³ÑÀ» ÀÏÀÌ ¾øÁö?? int m_Server_No; // 255¸¦ ³ÑÀ» ÀÏÀÌ ¾øÁö?? char m_Map_Name[16]; int m_Map_Size; }; // ¾ÆÀÌÅÛ °ü·Ã #define MAX_ITEM 2048 // 1108-LIM // //#define MAX_ITEM 980 #define MAX_MARKET 32 // ItemBill-LIM // #define MAX_SETITEM 128 #define MAX_ITEM_BILLING_COUNT 50 // 2Â÷ÀüÁ÷-LIM ½ÃÀÛ// #define MAX_2NDJOB 6 // 2Â÷ÀüÁ÷-LIM ³¡// #define MAX_DROPLIST_ITEM 500 //ÀιêÅ丮 °ü·Ã #define MAX_INVEN_X 8 #define MAX_INVEN_Y 18 #define MAX_FIELD_ITEM 1000 #define ITEM_DELETE_TIME0 60000 // ÀÓâ¿øÃß°¡. ¹ö¸° ¾ÆÀÌÅÛÀÌ ¾ø¾îÁö´Â ½Ã°£. #define ITEM_DELETE_TIME1 10000 // ¾ÆÀÌÅÛÀÌ º¯½ÅÇϰųª »ç¶÷ÀÌ ¹ö¸° ¾ÆÀÌÅÛÀÌ ¾ø¾îÁö´Â ½Ã°£ #define ITEM_DELETE_TIME2 300000 // ¸ó½ºÅÍ·Î º¯ÇÑ ¾ÆÀÌÅÛÀÌ ¾ø¾îÁö´Â ½Ã°£ 5ºì #define ITEM_DELETE_TIME3 60000 // ¹°¾à»ç¶óÁö´Â ½Ã°£1ºÐ #define ITEM_TICK_COUNT 5000 // ¾ÆÀÌÅÛ À̵¿Çϴ ƽ°£°Ý 5ÃÊ typedef vector< CItem > ItemVector; // °ÔÀÓ ¼¹ö°¡ °¡Áú ¾ÆÀÌÅÛ º¤ÅÍ typedef vector< CItem* > PItemVector; // xblockÀÌ °¡Áú ¾ÆÀÌÅÛ Æ÷ÀÎÅÍ º¤ÅÍ // extern ItemVector g_ItemVector; // ¼¹öÀÇ ¸ðµç ¸Ê¿¡ ¹ö·ÁÁø ¾ÆÀÌÅÛµé extern CItem g_ItemArray[MAX_FIELD_ITEM]; extern int g_Itemcount; #define MAX_EQUIP 10 // ³¯¾¾ °ü·Ã #define WEATHER_CLEAR 0 #define WEATHER_FOG 1 #define WEATHER_RAIN 2 #define WEATHER_SNOW 3 // npc·¹º§ Á¶°Ç #define NPC_CONDITION 3 // °Å¸® °è»ê½Ä extern int Distance( int sx, int sy, int ex, int ey ); extern int Distance2( DWORD pos1, DWORD pos2, int nMapsize ); // ·¹º§Å×ÀÌºí±¸Á¶Ã¼ #define MAX_LEVEL 170 struct Level_Struct { int m_lev; DWORD m_need_exp; DWORD m_total_exp; }; #define LIMIT_MONEY 4000000000 // drop item index structure #define MAX_DROP_ITEM 20 struct Drop_Item_Index { // DWORD m_Drop_Normal[MAX_DROP_ITEM]; long m_Drop_Normal[MAX_DROP_ITEM]; }; //itembill struct ItemBill { DWORD itemcode; DWORD itemindex; BYTE itemcount; DWORD limitlevel; }; struct HP_Index { int m_index; //¹°¾àÀ妽º int m_value; //¹°¾àÀÇ ¾ç }; // 2Â÷ÀüÁ÷-LIM ½ÃÀÛ// struct SecondJob_AddValues { int m_2ndjob; int m_Add_Hp; int m_Add_Mp; int m_Add_Chr_Att; int m_Add_Chr_AC; int m_Add_Chr_Magic_Att; int m_Add_Chr_Magic_AC; int m_Add_Chr_Succ_Rate; int m_Add_Chr_Evade_Rate; }; // 2Â÷ÀüÁ÷-LIM ³¡// // npc´ë»ç °ü·ÃÈ®·ü #define NPC_DIALOG_PERCENT 30 // ÇÕü½Ã ´É·ÂÄ¡ º¯ÈÀ² #define CHANGE_STAT_CONSTANT 0.01 // Åä±Û Á¦Çѽð£ #define TOGGLE_LIMIT 30000 // ÆÄƼ °ü·Ã #define NON_PARTY -1 #define MAX_SKILL 512 #define MAX_BASIC_SKILL 10 #define MAX_SPECIAL_SKILL 30 #define ANAMA_STICK 269484032 #define MAX_VECTOR 2000 #define MAX_LIVE_ITEM 1000000 #define MAX_RANDOM_ITEM 320 // 1117-LIM // 300±îÁö´Â ·£´ý¸ñ·Ï ³ª¸ÓÁö 20Àº 300Áß¿¡ ¾È³ª¿ÔÀ»½Ã¿¡ ¾²ÀδÙ. #define MAX_HORSE_INDEX 50 #define HORSEINDEX 5 #define HORSERISE 6 #define HORSEWHITE 19 #define HORSEBLACK 20 #define BROWNBEARINDEX 179 // ºê¶ó¿î º£¾î 2004.8.24 Donny ¼Ò¿ï¸¶½ºÅͽºÅ³ : npc À妽º #define BLACKBEARINDEX 180 // ºí·¢ º£¾î #define POLARBEARINDEX 181 // Æú¶ó º£¾î #define BEARRISE 182 // Ű¿ì´Â º£¾î #define TICK_TABLE_SIZE 50 // npc tick¹è¿ Å©±â #define POTION_LIMIT 1000 // µî·ÏµÇ´Â ¹°¾à ÃÖ´ë °¹¼ö #define CLIENT_TIME_CHECK 2000 // 10ÃÊ¿¡ 2ÃÊÀÌ»ó Â÷ÀÌ #define MAX_POTION 5 // ¹°¾àÀÇ ¾çÁ¾·ù #define GENERATE_NON_LOG //#define GENERATE_LOG_ALL //#define GENERATE_LOG_BROAD // ¹æ¼ÛºÎºÐ //#define GENERATE_LOG_NPC //#define GENERATE_LOG_ATTACK //#define GENERATE_LOG_SKILL //#define GENERATE_LOG_TRADE #define GENERATE_LOG_CHAT //#define GENERATE_LOG_ITEM // ¾ÆÀÌÅÛ °ü·Ã..ÀԱ⠹þ±â ¹ö¸®±â Áݱâ //#define GENERATE_LOG_MOVE //#define GENERATE_LOG_NPC_MOVE //#define GENERATE_LOG_NPC_ATTACK //#define GENERATE_LOG_PATH_FIND //#define GENERATE_LOG_UNITE // ÇÕü °ü·Ã extern SYSTEMTIME LogTime; // ½ºÅ³ ¹è¿ì±â define #define LEARN_SKILL 253 // -> ½ºÅ³ ¹è¿ï¶§´Â,³Ö¾î¼ ½ð´Ù. ÀüÁ÷½Ã¿¡´Â ±âÁ¸°ú °°ÀÌ ÀüÁ÷ÇϰíÀÚ ÇÏ´Â Á÷¾÷ ¹øÈ£ #define LEARN_SKILL_SUC 254 // -> ¼º°ø #define LEARN_SKILL_FAIL 255 // -> ½ÇÆÐ #define CHANGE_CLASS_SUC 251 // -> ÀüÁ÷ ¼º°ø #define CHANGE_CLASS_FAIL 252 // -> ÀüÁ÷ ½ÇÆÐ #define MAX_ITEM_UPGRADE_SLOT 5 #define MAX_JEWEL_COUNT 20 //6.1 ÀÓâ¿ø #define QUEST_MAX 256 //Äù½ºÆ® Á¾·ù¸¶´Ù ÃÖ´ë Äù½ºÆ® ¾ç #define SPECIAL_QUEST_START 256 // ½ºÆä¼È Äù½ºÆ® ½ÃÀÛ ¹øÈ£ #define SCENARIO_QUEST_START 500 // ½Ã³ª¸®¿À Äù½ºÆ® ½ÃÀÛ ¹øÈ£ #define MAX_QUEST_SLOT 5 #define MAX_QUEST 30 #define NON_QUEST_SLOT 10 #define MAX_PIECE 12 #define MAX_PUZZLE 256 // 9-22 #define USE_NECTA_TAR_TIME 5000 #define RESTART_POS 49321 // ÆÐÅÏ °ü·Ã #define MAX_NPC_PATTERN 27 // ÆÐÅÏ °¡Áþ¼ö //dungeon-LIM #define MAX_PATTERN 20 // ÆÐÅϳ»ÀÇ µ¿ÀÛ¼ö struct AI_ATTACK_PATTERN { BYTE m_byPattern[ MAX_PATTERN ]; }; extern AI_ATTACK_PATTERN g_Pattern[MAX_NPC_PATTERN]; // µ· À妽º #define MONEY_INDEX 1 #define HORSEPAPER_INDEX 268476195 #define BEARPAPER_INDEX 268476199 // 2004.8.24 Donny ¼Ò¿ï¸¶½ºÅͽºÅ³ : ¼Ò¿ïºñ½ºÆ® Áõ¼ // // ÅÚ·¹Æ÷Æ® °ü·Ã struct Teleport { Teleport() { m_nMapID = -1; m_dwPos = 0; m_nCost = 0; } int m_nMapID; // °¥ ¸Ê id DWORD m_dwPos; // À§Ä¡ int m_nCost; // °¡°Ý }; struct CJewelInfo { BYTE m_num; DWORD m_ItemIndex; DWORD m_caem; }; struct CHorseInfo { BYTE m_level; DWORD m_MaleAtt; // ¼ý¸» °ø°Ý·Â DWORD m_MaleDef; // ¼ý¸» ¹æ¾î·Â DWORD m_FemaleAtt; // ¾Ï¸» °ø°Ý·Â DWORD m_FemaleDef; // ¾Ï¸» ¹æ¾î·Â DWORD m_Maxexp; // °æÇèÄ¡ }; // 0126-LIM struct ChatProtect { BYTE m_byProctionCount; BYTE m_dwProctionTime; // x1000 ÃÊ´ÜÀ§. }; // Rich-Event struct Rich_Event { BYTE m_byCheckEvent; BYTE m_byMaxTwentyThouCount; // ÃÖ´ë 20000Æ÷ÀÎÆ® ÄíÆù °³¼ö BYTE m_byMaxTenThouCount; // ÃÖ´ë 10000Æ÷ÀÎÆ® ÄíÆù °³¼ö BYTE m_byMaxFiveThouCount; // ÃÖ´ë 5000Æ÷ÀÎÆ® ÄíÆù °³¼ö BYTE m_byMaxThouCount; // ÃÖ´ë 1000Æ÷ÀÎÆ® ÄíÆù °³¼ö BYTE m_byMaxFiveHundCount; // ÃÖ´ë 500Æ÷ÀÎÆ® ÄíÆù °³¼ö BYTE m_byMaxHundCount; // ÃÖ´ë 100Æ÷ÀÎÆ® ÄíÆù °³¼ö }; extern CHorseInfo g_HorseInfo[MAX_HORSE_INDEX]; extern CServerArray g_ServerArray; extern CJewelInfo g_JewelInfo[MAX_JEWEL_COUNT]; // ÅÚ·¹Æ÷Æ® °ü·Ã define struct Teleport_Info { int m_nNPC; // ÅÚ·¹Æ÷Æ® ½ÃŰ´Â NPCÀ妽º Teleport m_Teleport[10]; }; #define MAX_TELEPORT_INDEX 20 extern Teleport_Info g_Teleport[MAX_TELEPORT_INDEX]; extern HWND g_hMultiListWnd; // »óź¯È ½ºÅ³ °ü·Ã #define NONE_SKILL 0 // Á¤»ó»óÅ #define STELTH 1 // À¯Àú¸¸°¡´É... #define AIRWAVE 2 // npcµµ °¡´É #define DIEACTION 3 // À¯Àú¸¸ °¡´É,½ºÀ©µé #define SLEEP 4 // µÑ´Ù °¡´É #define TRANSFORM 5 // npc¸¸ °¡´É #define STUN 6 // µÑ´Ù °¡´É #define MANASHIELD 7 // ¸¶³ª½¯µå..º»Àθ¸ #define SOULSTRING 8 // ¼Ò¿ï½ºÆ®¸µ // 2Â÷ÀüÁ÷½ºÅ³ STATUS #define ICE 25 // ¾ÆÀ̽º : Æ®·£½ºÆû°ú °°Àº È¿°ú #define FIRESHIELD 26 // ºÒÀǺ¸È£¸· : ¸¶³ª½¯µå°ÈÆÇ -> FIREFRAMESHIELD #define ICESHIELD 27 // ¾óÀ½ÀǺ¸È£¸· : ¸¶³ª½¯µå°ÈÆÇ -> ICE #define SOULBOOSTER 28 // ¼Ò¿ïºÎ½ºÅÍ #define FIREFRAMESHIELD 29 // ¾÷±×·¹À̵åµÈ ÆÄÀ̾îÇÁ·¹ÀÓ»óÅ // 2004.10.27 Donny 2Â÷½ºÅ³ : »óź¯È #define FIREFRAME 21 // ÆÄÀ̾îÇÁ·¹ÀÓ : ºÒŸ¸é¼ µ¥¹ÌÁö ´Ù´Â »óÅ #define HORSECRAP 22 // È£½ºÅ©·¦ : »óÅ´ ½ºÅÏÀÌÁö¸¸ ±âÁ¸ ½ºÅϰú Â÷º°ÇÔ ( cos. Ŭ¶óÀÌ¾ðÆ® È¿°ú°¡ ´Ù¸£´Ù. ) // 2004.10.27 Donny 2Â÷½ºÅ³ : npc»óź¯È #define MAGICATTACK_ON 9 #define MAGICATTACK_OFF 10 #define MAGICDEFENCE_ON 11 #define MAGICDEFENCE_OFF 12 #define DARKNESS_ON 13 #define DARKNESS_OFF 14 #define WEAKNESS_ON 15 #define WEAKNESS_OFF 16 #define DISSTRENGTH_ON 17 #define DISSTRENGTH_OFF 18 #define DISBLESS_ON 19 #define DISBLESS_OFF 20 #define FIREFRAME_ON 23 // 2004.11.2 Donny 2Â÷½ºÅ³ : ±âÁ¸¿Ü »óÅ #define FIREFRAME_OFF 24 // 2Â÷ÀüÁ÷½ºÅ³ STATUS #define FIREFRAMESHIELD_ON 30 #define FIREFRAMESHIELD_OFF 31 // 2Â÷ÀüÁ÷½ºÅ³ º¯°æ #define HOLYWEAPON 32 #define HOLYSHIELD 33 #define HOLYLIFE 34 // << ±âÁ¸¿Ü »óÅÂ(Extra State)¿¡ ´ëÇÑ ¼³¸í >> // // ±âÁ¸ »óÅ·δ (¸¶³ª½¯µå), (¼Ò¿ï½ºÆ®¸µ), (½ºÅÏ) µîÀÌ ÀÖ´Ù. // ( PC ) ´Â ÆÄÀ̾îÇÁ·¹ÀÓ°°Àº °æ¿ì ¸¶³ª½¯µå¿Í µ¿½Ã¿¡ »óŰ¡ °É¸± ¼ö ÀÖÀ¸¸ç, ¼Ò¿ï½ºÆ®¸µ°úµµ µ¿½Ã¿¡ »óŰ¡ °É¸± ¼ö ÀÖ´Ù. // µû¶ó¼, µÎ°¡Áö »óŸ¦ ´Ù °¡Áö°í ÀÖ¾î¾ß ÇϹǷÎ, ÆÄÀ̾îÇÁ·¹ÀÓ°°Àº °æ¿ì ±âÁ¸(¿Ü) »óÅ·Π³ª´©¾ú´Ù. // ¹Ý¸é, ( NPC ) ´Â »óŽºÅ³°ú ÆÄÀ̾îÇÁ·¹ÀÓÀÌ °øÀ¯ µÉ¼ö ¾øÀ¸¹Ç·Î ±âÁ¸»óÅÂ¿Í ±âÁ¸¿Ü»óÅ·Π³ª´©Áö ¾Ê¾Ò´Ù. // 2004.10.27 Donny 2Â÷½ºÅ³ : ÆÐ½Ãºê½ºÅ³ #define MAX_PASSIVE 7 // 2Â÷ÀüÁ÷½ºÅ³ PASSIVESKILL #define LIFEUP 0 // Tean #define WEAPONMASTER 1 // Tean #define SHIELDMASTERY 2 // Tean ½¯µå¸¶½ºÅ͸® : ¹æÆÐÀÇ ¸ðµç´É·ÂÄ¡¸¦ »ó½Â½ÃÄÑÁØ´Ù. #define CAVALRYMASTERY 3 // Tean ±âº´¼ö·Ã : ¸»À» Ÿ¸é °ø°Ý·Â ¹× ¹æ¾î·ÂÀÌ »ó½ÂÇÑ´Ù. #define TWOHANDEDSWORD 4 // Tean ¾ç¼Õ°Ë¸¶½ºÅ͸® : Âø¿ëÇÑ ¾ç¼Õ°ËÀÇ ¸ðµç ´É·ÂÄ¡¸¦ ¿Ã·ÁÁØ´Ù. #define BOWMASTERY 5 // Tean º¸¿ì¸¶½ºÅ͸® : Âø¿ëÇÑ È°ÀÇ ´É·ÂÀ» % ·Î ¿Ã·ÁÁØ´Ù. #define CROSSBOWMASTERY 6 // Tean Å©·Î½ºº¸¿ì¸¶½ºÅ͸® : Âø¿ëÇÑ ¼®±ÃÀÇ ´É·ÂÀ» %·Î ¿Ã·ÁÁØ´Ù. #define MANAUP 0 // Fairy #define MAGICMASTER 1 // Fairy #define BEARATTACK 2 // Fairy #define STAFFMASTERY 3 // Fairy ÁöÆÎÀ̸¶½ºÅ͸® : Âø¿ëÇÑ ÁöÆÎÀÌÀÇ ´É·ÂÀ» %·Î ¿Ã·ÁÁØ´Ù. #define FIREMASTERY 4 // Fairy ºÒ¼Ó¼º¸¶½ºÅ͸® : ºÒ¼Ó¼º °ø°Ý½Ã ½ºÅ³ ¼º´ÉÀÌ Çâ»ó ¶Ç´Â µ¥¹ÌÁö°¡ Ãß°¡µÈ´Ù. #define ICEMASTERY 5 // Fairy ¾óÀ½¼Ó¼º¸¶½ºÅ͸® : ¹°¼Ó¼º °ø°Ý½Ã ½ºÅ³ ¼º´ÉÀÌ Çâ»ó ¶Ç´Â µ¥¹ÌÁö°¡ Ãß°¡µÈ´Ù. #define HOLYMASTERY 6 // Fairy ½Å¼º¸¶½ºÅ͸® : ½Å¼º ¸¶¹ý°ú °ü·ÃµÈ ´É·ÂÀ» %·Î ¿Ã·ÁÁØ´Ù. #define RIDING_INDEX 0 #define DEFENSE_INDEX 1 #define POWERBLOW_INDEX 2 #define SHIELDATTACK_INDEX 3 #define POWERSLASH_INDEX 4 #define DASH_INDEX 5 // 2004.10.27 Donny 2Â÷½ºÅ³ #define LIFEUP_INDEX 10 // ÆÐ½Ãºê ½ºÅ³·Î Ƽ¾ÈÀÇ ÃÖ´ë ü·ÂÀ» Áõ°¡½ÃŲ´Ù. (±âº»½ºÅ³) #define WEAPONMASTER_INDEX 7 // ÆÐ½Ãºê ½ºÅ³·Î Ƽ¾ÈÀÇ ±âº» ¹°¸®°ø°Ý·ÂÀ» Áõ°¡½ÃŲ´Ù. (±âº»½ºÅ³) #define HORSECRAP_INDEX 8 // ¸»ÀÇ °ø°ÝÇü ½ºÅ³·Î ÁÖº¯¿¡ ÀÖ´Â ¸ó½ºÅ͵éÀ» ½ºÅÏ »óÅ·Π¸¸µç´Ù. (±âº»½ºÅ³) #define WINDCRASH_INDEX 9 // 3Ãʰ£ ±â¸¦ ¸ðÀº ÈÄ ¿¬¼Ó º£±â½ºÅ³ (Ưº°½ºÅ³) #define BACKSTEP_INDEX 50 #define POWERSHOT_INDEX 51 #define STELTH_INDEX 52 #define AIRWAVE_INDEX 53 #define SOULSTRING_INDEX 54 #define POWERSTRIKE_INDEX 55 // 2004.10.27 Donny 2Â÷½ºÅ³ #define WINDSHOT_INDEX 56 // 3Ãʰ£ ±â¸¦ ¸ðÀº ÈÄ ¿¬¼Ó È»ì½î±â (Ưº°½ºÅ³) #define TWINKLE_INDEX 100 #define SLUFF_INDEX 101 #define FIREBALL_INDEX 102 #define ICEPE_INDEX 103 #define SERPENT_INDEX 104 #define BLESS_INDEX 105 #define MANA_SHIELD_INDEX 107 #define SERENITY 108 //ÀÓâ¿øÃß°¡.½Ã³ª¸®¿À Äù½ºÆ® °ü·Ã ¿äÁ¤ ½ºÅ³. #define SOULMASTER_SKILL 109 // 2004.8.30 Donny ¼Ò¿ï¸¶½ºÅͽºÅ³ : À妽º¹øÈ£ // 2004.10.27 Donny 2Â÷½ºÅ³ #define MANAUP_INDEX 110 // ÆÐ½Ãºê ½ºÅ³·Î ¿äÁ¤ÀÇ ÃÖ´ë ¸¶³ª¸¦ Áõ°¡ ½ÃŲ´Ù. (±âº»½ºÅ³) #define MAGICMASTER_INDEX 111 // ÆÐ½Ãºê ½ºÅ³·Î ¿äÁ¤ÀÇ ±âº» ¸¶¹ý°ø°Ý·ÂÀ» Áõ°¡½ÃŲ´Ù. (±âº»½ºÅ³) #define BEARATTACK_INDEX 112 // ÆÐ½Ãºê ½ºÅ³·Î °õ°ú ÇÕüÇÑ »óÅ¿¡¼¸¸ ¹ß»ýµÇ´Â ½ºÅ³ÀÌ´Ù. (±âº»½ºÅ³) #define MAGICATTACK_INDEX 113 // ¹öÇÁ ½ºÅ³·Î ¸ó½ºÅÍÀÇ ¸¶¹ý °ø°Ý·ÂÀ» ÀÏÁ¤½Ã°£ µ¿¾È Ç϶ô½ÃŲ´Ù. (±âº»½ºÅ³) #define MAGICDEFENCE_INDEX 114 // ¹öÇÁ ½ºÅ³·Î ¸ó½ºÅÍÀÇ ¸¶¹ý ¹æ¾î·ÂÀ» ÀÏÁ¤½Ã°£ µ¿¾È Ç϶ô½ÃŲ´Ù. (±âº»½ºÅ³) #define FIREFRAME_INDEX 115 // °ø°Ý ½ºÅ³·Î Çϴÿ¡¼ ¶³¾îÁö´Â ºÒ¿î¼®ÀÌ´Ù. (Ưº°½ºÅ³) #define ENERGYBOLT_INDEX 116 // 3Ãʰ£ ±â¸¦ ¸ðÀº ÈÄ ¿¬¼Ó °ø°Ý ½ºÅ³ (Ưº°½ºÅ³) #define DARKNESS_INDEX 117 // ¹öÇÁ½ºÅ³·Î ¸ó½ºÅÍÀÇ °ø°Ý ¼º°øÀ²À» °¨¼Ò½ÃŰ´Â ±â¼ú (Ưº°½ºÅ³) #define WEAKNESS_INDEX 118 // ¹öÇÁ½ºÅ³·Î ¸ó½ºÅÍÀÇ È¸ÇÇÀ²À» °¨¼Ò½ÃŰ´Â ±â¼ú (Ưº°½ºÅ³) #define DIEACTION_INDEX 106 #define LIGHTSHIELD_INDEX 150 #define LIGHTBOLT_INDEX 151 #define RESTORATION_INDEX 152 // 2004.12.27 Donny PVP : Ãß°¡ #define SLEEP_INDEX 153 #define TRANSFORM_INDEX 154 #define STR_INDEX 156 // 2004.10.27 Donny 2Â÷½ºÅ³ #define REFRESH_INDEX 157 // Èú°è¿·Î ÆÄƼ¿øµéÀÇ ÀÏÁ¤ ü·Â ȸº¹ ±â¼ú (Ưº°½ºÅ³) #define DISSTRENGTH_INDEX 158 // ¹öÇÁ°è¿·Î ¸ó½ºÅÍÀÇ ¹°¸®°ø°Ý·ÂÀ» ÀÏÁ¤ ½Ã°£µ¿¾È °¨¼Ò½ÃŰ´Â ±â¼ú (Ưº°½ºÅ³) #define DISBLESS_INDEX 159 // ¹öÇÁ°è¿·Î ¸ó½ºÅÍÀÇ ¹°¸®¹æ¾î·ÂÀ» ÀÏÁ¤ ½Ã°£µ¿¾È °¨¼Ò½ÃŰ´Â ±â¼ú (Ưº°½ºÅ³) #define JENNISWORD_INDEX 160 // Ÿ°ÙÁÖº¯ ¹üÀ§ °ø°ÝÀ¸·Î ¸ó½ºÅ͵鿡°Ô Ÿ°ÝÀ» ÁÖ´Â ÁÖº¯¹üÀ§°ø°Ý½ºÅ³(Ưº°½ºÅ³) // 2004-3-11 ºÒÀÇ°Ë Äù½ºÆ® º¸»ó°ü·Ã...¿ÀǽñîÁö ÀÛ¾÷¶§¸¸ ÁÖ¼® ¿¬´Ù #define SUMMON_DRAKE 200 // ³ªÁß¿¡ À妽º #define EARTHQUAKE_DRAKE 201 // dungeon-LIM #define BLAST_GAIL 202 // dungeon-LIM #define DIRUG_CELL 203 // dungeon-LIM // ¹Ì´Ï4´ëº¸¹° : ½ºÅ³¹øÈ£Áö¸¸ À¯Àú¿¡°Ô ½ºÅ³·Î µé¾î°¡Áö´Â ¾Ê´Â´Ù. ±×Àú ´øÀüÀ» ±¸º°Çϱâ À§ÇÑ °ªÀÌ´Ù. #define JENNI_SWORD 204 #define JENNI_SHIELD 205 #define JENNI_BOW 206 #define JENNI_STAFF 207 // ¹Ì´Ï4´ëº¸¹° : ÀϹݴøÀü°ú ¹Ì´Ï´øÀüÀ» ±¸º°Çϱâ À§ÇÑ ¹øÈ£ÀÌ´Ù. #define NORMAL_DUNGEON 0 #define MINI_DUNGEON 1 // 2Â÷ÀüÁ÷½ºÅ³ INDEX #define SHIELDMASTERY_INDEX 11 #define SHIELDPROTECT_INDEX 12 #define SHIELDCHARGE_INDEX 13 #define CAVALRYMASTERY_INDEX 14 #define HORSEDASH_INDEX 15 #define TWOHANDSMASTERY_INDEX 30 #define POWERSMASH_INDEX 31 #define BLADEDASH_INDEX 32 #define AURASWORD_INDEX 33 #define AURADEFENDER_INDEX 34 #define BOWMASTERY_INDEX 60 #define SOULBOOSTER_INDEX 61 #define DETECTING_A_INDEX 62 #define SOULHAWK_INDEX 63 #define CROSSBOWMASTERY_INDEX 80 #define DETECTING_B_INDEX 81 #define BACKSTEPDOUBLESHOT_INDEX 82 #define MORTALSHOT_INDEX 83 #define STAFFMASTERY_INDEX 120 #define TRUESIGHT_INDEX 121 #define FIREMASTERY_INDEX 122 #define ICEMASTERY_INDEX 123 #define FIRE_SHIELD_INDEX 124 #define ICE_SHIELD_INDEX 125 #define FIREBOLT_INDEX 126 #define ICESTRIKE_INDEX 127 #define EXPLOSION_INDEX 128 #define FROSTNOVA_INDEX 129 #define HOLYMASTERY_INDEX 170 #define HOLY_LIGHT_INDEX 171 #define HEAL_INDEX 172 #define HOLY_LIFE_INDEX 173 // 2Â÷ÀüÁ÷½ºÅ³ º¯°æ #define HOLY_WEAPON_INDEX 174 #define HOLY_SHIELD_INDEX 175 #define BLESS_SHIELD_INDEX 176 // Á÷¾÷ define #define NOVICE 0 #define KNIGHT 1 #define ARCHER 2 #define MAGICIAN 3 #define FAIRY 4 #define ELLIADEN 5 #define ROIEL 6 #define LORDKNIGHT 7 #define SWORDMASTER 8 #define TREASUREHUNTER 9 #define PHANTOMSNIPER 10 #define LEPRECHAUN 11 #define ERIESIS 12 #define ALL_JOB 255 //dungeon-LIM // 2004.10.27 Donny 2Â÷½ºÅ³ #define TEANRACE 0 #define FAIRYRACE 1 #define DADERACE 2 // ¸»»óÅ °ü·Ã define // m_bHave : 0->¾È°¡Áö°í ÀÖ´Ù 1->°¡Áö°í ÀÖ´Ù m_istatus : 0->Ÿ°íÀÖ´Ù 1->³»·È´Ù // HORSE_NOT_HAVE HORSE_HAVE HORSE_STATUS_RIDE HORSE_STATUS_DOWN #define HORSE_NOT_HAVE false #define HORSE_HAVE true #define HORSE_STATUS_RIDE 0 #define HORSE_STATUS_DOWN 1 #define HORSE_KEY_HELM 1 // ¸» Á¤º¸¿¡¼ ¸» Åõ±¸ ¹ÙÀÌÆ® #define HORSE_KEY_BACK 2 // ¸» Á¤º¸¿¡¼ ¸» ¾ÈÀå ¹ÙÀÌÆ® // 2004.11.30 Donny Æê¾ÆÀÌÅÛ¼öÁ¤ #define HORSE_EQUIP_NONE 0 #define SKILLBOOK_INDEX 268476186 // 5Á¡Â¥¸® #define ONESKILLBOOK_INDEX 268476197 // 1Á¡Â¥¸® //2004.8.2 Donny °æÇèÄ¡ºÏ #define EXPBOOK1_INDEX 268475392 // 10000 #define EXPBOOK2_INDEX 268475393 // 20000 #define EXPBOOK3_INDEX 268475394 // 30000 #define EXPBOOK4_INDEX 268475395 // 40000 #define EXPBOOK5_INDEX 268475396 // 50000 #define EXPBOOK6_INDEX 268475397 // 60000 #define EXPBOOK7_INDEX 268475398 // 70000 #define EXPBOOK8_INDEX 268475399 // 80000 #define EXPBOOK9_INDEX 268475400 // 90000 #define EXPBOOK10_INDEX 268475401 // 100000 // 2005.2.22 Donny ¸»°æÇèÄ¡ºÏ #define HEXPBOOK1_INDEX 268475403 // 7000 #define HEXPBOOK2_INDEX 268475404 // 12500 #define HEXPBOOK3_INDEX 268475405 // 15500 #define HEXPBOOK4_INDEX 268475406 // 17500 #define HEXPBOOK5_INDEX 268475407 // 20000 #define HEXPBOOK6_INDEX 268475408 // 23000 #define HEXPBOOK7_INDEX 268475409 // 100000 #define POINTCOUPON100_INDEX 268475955 // 100 #define POINTCOUPON500_INDEX 268475956 // 500 #define POINTCOUPON1000_INDEX 268475957 // 1000 #define POINTCOUPON5000_INDEX 268475958 // 5000 #define POINTCOUPON10000_INDEX 268475959 // 10000 #define POINTCOUPON20000_INDEX 268475960 // 20000 #define MOON_CAKE 268476201 // 10000, moon_cake // 2004.9.10 Donny Áß±¹PK½Ã½ºÅÛ #define TEAR_INDEX 268475944 // º´¾Æ¸® ´«¹° // 032_YS 6_24 À¯´ÏÄÜ °ü·Ã #define HORSE_RED_COLOR 0 #define HORSE_WHITE_COLOR 1 #define HORSE_BLACK_COLOR 2 #define HORSE_RED_UNICON 3 #define HORSE_WHITE_UNICON 4 #define HORSE_BLACK_UNICON 5 #define BROWN_BEAR 6 // ºê¶ó¿î º£¾î // 2004.8.24 Donny ¼Ò¿ï¸¶½ºÅͽºÅ³ : Color #define BLACK_BEAR 7 // ºí·¢ º£¾î #define POLAR_BEAR 8 // Æú¶ó º£¾î #define GRATE_BROWN_BEAR 9 // ±×·¹ÀÌÆ® ºê¶ó¿î º£¾î #define GRATE_BLACK_BEAR 10 // ±×·¹ÀÌÆ® ºí·¢ º£¾î #define GRATE_POLAR_BEAR 11 // ±×·¹ÀÌÆ® Æú¶ó º£¾î #define HORSE_PEGASUSU 12 // 2004.8.24 Donny ¼Ò¿ï¸¶½ºÅͽºÅ³ : Sex #define LIVE_BEAR_MALE 20 #define LIVE_BEAR_FEMALE 21 #define DEAD_BEAR_MALE 22 #define DEAD_BEAR_FEMALE 23 #define STABLE_BEAR_MALE 24 #define STABLE_BEAR_FEMALE 25 // 2004.9.2 Donny ÆêÁ¤º¸ #define NO_PET 0 #define LIVE_PET 1 #define DEAD_PET 2 #define STABLE_PET 3 // º¸¹°´øÀü°ü·Ã #define TREASURE_WARP 255 // cp_teleporter¿¡¼ º¸¹°´øÀü À§ÇÁÀÓÀ» ¾Ë¸°´Ù #define TREASURE_BOSS_NPC_WARP 254 // 1117-LIM struct Treasure_Index { int nMap; // ¸Ê¹øÈ£ DWORD dwTile; // ¿öÇÁÇÒ Å¸ÀϹøÈ£ }; // 2004-2-17..¿¡·¯ ¹®ÀÚ¿ °ü·Ã¹è¿ extern char szError[256][64]; // ¹Ì´Ï4´ëº¸¹° 4->8 #define MAX_UNIQUE 8 // À¯´ÏÅ©ÀÇ ÃÖ´ë Á¾·ù // 1117-LIM extern CDungeon g_UniqueSkillArray[MAX_UNIQUE]; // 1117-LIM // 1117-LIM // ¹Ì´Ï4´ëº¸¹° MAX_UNIQUE->4 struct RandomItem { int m_nRandomItemIndex[4]; // ³ª¿Ã ¾ÆÀÌÅÛÀ妽º int m_nRandomItemPer[4]; }; // 1117-LIM extern RandomItem g_RandomItem[MAX_RANDOM_ITEM]; // À¯´ÏÅ© °ü·Ã #define UNIQUE_NONE_SKILL -1 #define UNIQUE_NONE_ITEM 0 #define MAX_EXTACY 40000 // Á¸ ¿öÇÁ½Ã ÇÕü Á¤º¸...ÇÊ¿äÇÑ À¯ÀúÁ¤º¸ m_nArray...¼¹ö°¡ ¹Ù²î¸é¼´Â Á÷Á¢ ¾Ë·ÁÁÖÀÚ struct Unite_Ready { long m_lUnique; // long m_lUniteUnique; }; /* // Áß±¹·Î±× void WriteHTML( FILE* fp, int WQC, int UC, int FR ); { char tt[100]; sprintf( tt, " ", WQC, UC, FR ); fseek( fp, -22, SEEK_END ); fwrite( tt, strlen(tt), 1, fp ); sprintf( tt, " %d %d %d