Refactored directory structure, added game files from TMP
This commit is contained in:
@ -1,59 +0,0 @@
|
||||
#ifndef __HEADER_VNUM_HELPER__
|
||||
#define __HEADER_VNUM_HELPER__
|
||||
|
||||
/**
|
||||
<09>̹<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰų<CFB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD> <20>ĺ<EFBFBD><C4BA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
<09>ĺ<EFBFBD><C4BA><EFBFBD>(<28><><EFBFBD><EFBFBD>=VNum)<29><> <20>ϵ<EFBFBD><CFB5>ڵ<EFBFBD><DAB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE>־ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ſ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>
|
||||
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD> <20>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Ȥ<><C8A4> <20><>)<29><><EFBFBD><EFBFBD> <20><> <20><> <20>ְ<EFBFBD> <20><><EFBFBD>ڴ<EFBFBD> <20><>ö<EFBFBD><C3B6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD>.
|
||||
|
||||
* <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵµ<C7B4> PCH<43><48> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ü <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؾ<EFBFBD><D8BE>ϴ<EFBFBD>
|
||||
<09>ϴ<EFBFBD><CFB4><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> cpp<70><70><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> include <20>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
|
||||
* cpp<70><70><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ~ <20><>ũ<EFBFBD>ؾ<EFBFBD><D8BE>ϴ<EFBFBD> <20>׳<EFBFBD> common<6F><6E> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD>. (game, db<64><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
|
||||
@date 2011. 8. 29.
|
||||
*/
|
||||
|
||||
|
||||
class CItemVnumHelper
|
||||
{
|
||||
public:
|
||||
/// <20><><EFBFBD><EFBFBD> DVD<56><44> <20>һ<EFBFBD><D2BB><EFBFBD> <20><>ȯ<EFBFBD><C8AF>
|
||||
static const bool IsPhoenix(DWORD vnum) { return 53001 == vnum; } // NOTE: <20>һ<EFBFBD><D2BB><EFBFBD> <20><>ȯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 53001 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mob-vnum<75><6D> 34001 <20>Դϴ<D4B4>.
|
||||
|
||||
/// <20><EFBFBD> <20>̺<EFBFBD>Ʈ <20>ʽ´<CABD><C2B4><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> Ư<><C6AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȱ<EFBFBD><C8B0><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ٰ<EFBFBD> <20><>)
|
||||
static const bool IsRamadanMoonRing(DWORD vnum) { return 71135 == vnum; }
|
||||
|
||||
/// <20>ҷ<EFBFBD><D2B7><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʽ´<CABD><C2B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
static const bool IsHalloweenCandy(DWORD vnum) { return 71136 == vnum; }
|
||||
|
||||
/// ũ<><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ູ<EFBFBD><E0BAB9> <20><><EFBFBD><EFBFBD>
|
||||
static const bool IsHappinessRing(DWORD vnum) { return 71143 == vnum; }
|
||||
|
||||
/// <20>߷<EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD>Ʈ
|
||||
static const bool IsLovePendant(DWORD vnum) { return 71145 == vnum; }
|
||||
};
|
||||
|
||||
class CMobVnumHelper
|
||||
{
|
||||
public:
|
||||
/// <20><><EFBFBD><EFBFBD> DVD<56><44> <20>һ<EFBFBD><D2BB><EFBFBD> <20><> <20><>ȣ
|
||||
static bool IsPhoenix(DWORD vnum) { return 34001 == vnum; }
|
||||
static bool IsIcePhoenix(DWORD vnum) { return 34003 == vnum; }
|
||||
/// PetSystem<65><6D> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD>ΰ<EFBFBD>?
|
||||
static bool IsPetUsingPetSystem(DWORD vnum) { return (IsPhoenix(vnum) || IsReindeerYoung(vnum)) || IsIcePhoenix(vnum); }
|
||||
|
||||
/// 2011<31><31> ũ<><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20><> (<28>Ʊ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
static bool IsReindeerYoung(DWORD vnum) { return 34002 == vnum; }
|
||||
|
||||
/// <20><EFBFBD> <20>̺<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>渶(20119) .. <20>ҷ<EFBFBD><D2B7><EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20><EFBFBD> <20>渶 Ŭ<><C5AC>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 20219)
|
||||
static bool IsRamadanBlackHorse(DWORD vnum) { return 20119 == vnum || 20219 == vnum || 22022 == vnum; }
|
||||
};
|
||||
|
||||
class CVnumHelper
|
||||
{
|
||||
};
|
||||
|
||||
|
||||
#endif //__HEADER_VNUM_HELPER__
|
@ -1,335 +0,0 @@
|
||||
#ifndef __INC_AUCTION_TABLES_H__
|
||||
#define __INC_AUCTION_TABLES_H__
|
||||
|
||||
#include "tables.h"
|
||||
|
||||
typedef struct _base_auction
|
||||
{
|
||||
public:
|
||||
DWORD item_num;
|
||||
TItemTable* item_proto;
|
||||
int offer_price;
|
||||
int price;
|
||||
DWORD offer_id;
|
||||
char shown_name[CHARACTER_NAME_MAX_LEN + 1];
|
||||
BYTE empire;
|
||||
time_t expired_time;
|
||||
|
||||
DWORD get_item_num () { return item_num; }
|
||||
DWORD get_offer_id () { return offer_id; }
|
||||
BYTE get_empire () { return empire; }
|
||||
time_t get_expired_time () { return expired_time; }
|
||||
bool is_expired ()
|
||||
{
|
||||
return (time(NULL) > expired_time);
|
||||
}
|
||||
int get_price () { return offer_price; }
|
||||
} TAuctionSimpleItemInfo;
|
||||
|
||||
// <20><> auction <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
// primary key (item_id)
|
||||
typedef struct _auction : public _base_auction
|
||||
{
|
||||
public:
|
||||
DWORD item_id;
|
||||
DWORD bidder_id;
|
||||
|
||||
_auction (){}
|
||||
_auction (DWORD _item_num, int _offer_price, int _price, DWORD _offer_id,
|
||||
char* _shown_name, time_t _expired_time, DWORD _item_id, DWORD _bidder_id, BYTE _empire)
|
||||
{
|
||||
item_num = _item_num;
|
||||
offer_price= _offer_price;
|
||||
price = _price;
|
||||
offer_id = _offer_id;
|
||||
memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
|
||||
expired_time = _expired_time;
|
||||
item_id = _item_id;
|
||||
bidder_id = _bidder_id;
|
||||
empire = _empire;
|
||||
}
|
||||
|
||||
// <20><> <20>ҵ<DEBC><D2B5><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auction<6F><6E><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD><CFB4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD>.
|
||||
// by rtsummit
|
||||
DWORD get_item_id () { return item_id; }
|
||||
DWORD get_bidder_id () { return bidder_id; }
|
||||
int get_bid_price () { return offer_price; }
|
||||
void set_bid_price (int new_price)
|
||||
{
|
||||
offer_price = new_price;
|
||||
}
|
||||
int get_impur_price () { return price; }
|
||||
|
||||
const char* get_bidder_name () { return shown_name; }
|
||||
void set_bidder_name (const char* new_bidder_name)
|
||||
{
|
||||
memcpy(shown_name, new_bidder_name, strlen(new_bidder_name) + 1);
|
||||
}
|
||||
} TAuctionItemInfo;
|
||||
|
||||
// primary key (item_id)
|
||||
typedef struct _sale : public _base_auction
|
||||
{
|
||||
_sale (){}
|
||||
|
||||
_sale (DWORD _item_num, int _offer_price, DWORD _offer_id,
|
||||
char* _shown_name, DWORD _item_id, DWORD _wisher_id)
|
||||
{
|
||||
item_num = _item_num;
|
||||
offer_price= _offer_price;
|
||||
offer_id = _offer_id;
|
||||
memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
|
||||
item_id = _item_id;
|
||||
wisher_id = _wisher_id;
|
||||
}
|
||||
|
||||
DWORD item_id;
|
||||
DWORD wisher_id;
|
||||
|
||||
} TSaleItemInfo;
|
||||
|
||||
// wish<73><68> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
// primary key (item_num, wisher_id)
|
||||
typedef struct _wish : public _base_auction
|
||||
{
|
||||
_wish (){}
|
||||
|
||||
_wish (DWORD _item_num, int _offer_price, DWORD _offer_id,
|
||||
char* _shown_name, time_t _expired_time, BYTE _empire)
|
||||
{
|
||||
item_num = _item_num;
|
||||
offer_price= _offer_price;
|
||||
offer_id = _offer_id;
|
||||
memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
|
||||
expired_time = _expired_time;
|
||||
empire = _empire;
|
||||
}
|
||||
} TWishItemInfo;
|
||||
|
||||
enum AuctionType {_AUCTION, _WISH_AUCTION, _MY_AUCTION, _MY_WISH_AUCTION, _AUCTION_MAX};
|
||||
|
||||
enum AuctionCmd {OPEN_AUCTION, OPEN_WISH_AUCTION, OPEN_MY_AUCTION, OPEN_MY_WISH_AUCTION,
|
||||
AUCTION_BID, AUCTION_IMME_PUR, AUCTION_ENR_AUC, AUCTION_ENR_WISH, AUCTION_ENR_SALE,
|
||||
AUCTION_GET_AUC, AUCTION_BUY_SOLD,
|
||||
AUCTION_CANCEL_AUC, AUCTION_CANCEL_WISH, AUCTION_CANCEL_SALE,
|
||||
AUCTION_DELETE_AUCTION_ITEM, AUCTION_DELETE_SALE_ITEM,
|
||||
AUCTION_CHANGING_MONEY,
|
||||
AUCTION_REBID, AUCTION_BID_CANCEL,
|
||||
};
|
||||
|
||||
// <20>ݵ<EFBFBD><DDB5><EFBFBD> FAIL <20>տ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20>;<EFBFBD><CDBE>Ѵ<EFBFBD>.
|
||||
// <20>ֳ<EFBFBD>, <= AUCTION_FAIL <20>̷<EFBFBD> CHECK<43><4B> <20><> <20>Űŵ<C5B0>
|
||||
// <20>ݴ<EFBFBD><DDB4><EFBFBD> SUCCESS <20>ڿ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20>;<EFBFBD><CDBE>Ѵ<EFBFBD>. <20>ٵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֱ<EFBFBD> <20>Ϸ<EFBFBD><CFB7><EFBFBD>...
|
||||
|
||||
enum AuctionResult { AUCTION_EXPIRED, AUCTION_NOT_EXPIRED, AUCTION_NOT_ENOUGH_MONEY,
|
||||
AUCTION_SOLD, AUCTION_CANCEL, AUCTION_ALREADY_IN, AUCTION_NOT_IN, AUCTION_FAIL, AUCTION_SUCCESS };
|
||||
|
||||
enum AuctionSort { AUCTION_NO_ORDER,
|
||||
AUCTION_ITEM_NAME_AC, AUCTION_ITEM_NAME_DC,
|
||||
AUCTION_CATEGORY_AC, AUCTION_CATEGORY_DC,
|
||||
AUCTION_TIME_AC, AUCTION_TIME_DC,
|
||||
AUCTION_CHAR_NAME_AC, AUCTION_CHAR_NAME_DC,
|
||||
AUCTION_PRICE_AC, AUCTION_PRICE_DC,
|
||||
};
|
||||
|
||||
typedef struct command_get_auction_list
|
||||
{
|
||||
AuctionCmd cmd;
|
||||
DWORD start_idx;
|
||||
BYTE size;
|
||||
} TPacketGDGetAuctionList;
|
||||
|
||||
typedef struct command_auction
|
||||
{
|
||||
void enroll_product (DWORD _item_id, BYTE _empire, int _bidPrice, int _impurPrice)
|
||||
{
|
||||
cmd = AUCTION_ENR_AUC;
|
||||
item = _item_id;
|
||||
empire = _empire;
|
||||
price1 = _bidPrice;
|
||||
price2 = _impurPrice;
|
||||
}
|
||||
void enroll_sale (DWORD _item_id, DWORD _wisher_id, int _salePrice)
|
||||
{
|
||||
cmd = AUCTION_ENR_SALE;
|
||||
item = _item_id;
|
||||
price1 = _salePrice;
|
||||
player_id = _wisher_id;
|
||||
}
|
||||
void enroll_wish (DWORD _item_num, BYTE _empire, int _wishPrice)
|
||||
{
|
||||
cmd = AUCTION_ENR_WISH;
|
||||
item = _item_num;
|
||||
empire = _empire;
|
||||
price1 = _wishPrice;
|
||||
}
|
||||
void bid (DWORD _item_id, int _bidPrice)
|
||||
{
|
||||
cmd = AUCTION_BID;
|
||||
item = _item_id;
|
||||
price1 = _bidPrice;
|
||||
}
|
||||
void impur (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_IMME_PUR;
|
||||
item = _item_id;
|
||||
}
|
||||
void get_auctioned_item (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_GET_AUC;
|
||||
item = _item_id;
|
||||
}
|
||||
void buy_sold_item (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_BUY_SOLD;
|
||||
item = _item_id;
|
||||
}
|
||||
void cancel_auction (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_CANCEL_AUC;
|
||||
item = _item_id;
|
||||
}
|
||||
void cancel_wish (DWORD _item_num)
|
||||
{
|
||||
cmd = AUCTION_CANCEL_WISH;
|
||||
item = _item_num;
|
||||
}
|
||||
void cancel_sale (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_CANCEL_SALE;
|
||||
item = _item_id;
|
||||
}
|
||||
|
||||
void delete_auction_item (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_DELETE_AUCTION_ITEM;
|
||||
item = _item_id;
|
||||
}
|
||||
|
||||
void delete_sale_item (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_DELETE_SALE_ITEM;
|
||||
item = _item_id;
|
||||
}
|
||||
|
||||
void changing_money (int _money)
|
||||
{
|
||||
cmd = AUCTION_CHANGING_MONEY;
|
||||
price1 = _money;
|
||||
}
|
||||
// bid<69><64> cmd<6D><64> <20>ٸ<EFBFBD><D9B8><EFBFBD>.
|
||||
void rebid (DWORD _item_id, int _bidPrice)
|
||||
{
|
||||
cmd = AUCTION_REBID;
|
||||
item = _item_id;
|
||||
price1 = _bidPrice;
|
||||
}
|
||||
void bid_cancel (DWORD _item_id)
|
||||
{
|
||||
cmd = AUCTION_BID_CANCEL;
|
||||
item = _item_id;
|
||||
}
|
||||
DWORD get_item () { return item; }
|
||||
|
||||
protected:
|
||||
AuctionCmd cmd;
|
||||
DWORD player_id;
|
||||
DWORD item;
|
||||
BYTE empire;
|
||||
int price1;
|
||||
int price2;
|
||||
|
||||
public:
|
||||
AuctionCmd get_cmd() { return cmd; }
|
||||
BYTE get_empire () { return empire; }
|
||||
} TPacketGDCommnadAuction;
|
||||
|
||||
typedef struct result_auction
|
||||
{
|
||||
AuctionCmd cmd;
|
||||
BYTE result;
|
||||
DWORD target;
|
||||
} TPacketDGResultAuction;
|
||||
|
||||
// wrapper struct
|
||||
typedef struct auction_enroll_product : public command_auction
|
||||
{
|
||||
DWORD get_item_id() { return item; }
|
||||
int get_bid_price() { return price1; }
|
||||
int get_impur_price() { return price2; }
|
||||
} AuctionEnrollProductInfo;
|
||||
|
||||
typedef struct auction_enroll_sale : public command_auction
|
||||
{
|
||||
DWORD get_item_id() { return item; }
|
||||
DWORD get_wisher_id() { return player_id; }
|
||||
int get_sale_price() { return price1; }
|
||||
} AuctionEnrollSaleInfo;
|
||||
|
||||
typedef struct auction_enroll_wish : public command_auction
|
||||
{
|
||||
DWORD get_item_num() { return item; }
|
||||
int get_wish_price() { return price1; }
|
||||
} AuctionEnrollWishInfo;
|
||||
|
||||
typedef struct auction_bid : public command_auction
|
||||
{
|
||||
DWORD get_item_id() { return item; }
|
||||
int get_bid_price() { return price1; }
|
||||
} AuctionBidInfo;
|
||||
|
||||
typedef struct auction_impur : public command_auction
|
||||
{
|
||||
DWORD get_item_id() { return item; }
|
||||
} AuctionImpurInfo;
|
||||
|
||||
|
||||
//typedef struct get_auction_list
|
||||
//
|
||||
//bid
|
||||
//{
|
||||
// item_id;
|
||||
// bidder_id;
|
||||
// price;
|
||||
//}
|
||||
//impur
|
||||
//{
|
||||
// item_id;
|
||||
// purchaser_id;
|
||||
//}
|
||||
//enroll_wish
|
||||
//{
|
||||
// item_num;
|
||||
// wisher_id;
|
||||
// wish_price;
|
||||
//}
|
||||
//enroll_sale
|
||||
//{
|
||||
// item_id;
|
||||
// seller_id;
|
||||
// sale_price;
|
||||
//}
|
||||
//
|
||||
//return_packet
|
||||
//{
|
||||
// isSuccess;
|
||||
//}
|
||||
//
|
||||
//
|
||||
//get_auction_simple_item_info_list
|
||||
//{
|
||||
// auction_type;
|
||||
// start_idx;
|
||||
// size;
|
||||
// conditions; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ö<EFBFBD>Բ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>.<2E><><EFBFBD><EFBFBD>
|
||||
//}
|
||||
//
|
||||
//get_auction_detail_item_info
|
||||
//{
|
||||
// item_id;
|
||||
//}
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -1,15 +0,0 @@
|
||||
#ifndef __INC_METIN_II_COMMON_BILLING_H__
|
||||
#define __INC_METIN_II_COMMON_BILLING_H__
|
||||
|
||||
enum EBillingTypes
|
||||
{
|
||||
BILLING_NONE,
|
||||
BILLING_IP_FREE,
|
||||
BILLING_FREE,
|
||||
BILLING_IP_TIME,
|
||||
BILLING_IP_DAY,
|
||||
BILLING_TIME,
|
||||
BILLING_DAY,
|
||||
};
|
||||
|
||||
#endif
|
@ -1,63 +0,0 @@
|
||||
#ifndef __METIN_II_COMMON_BUILDING_H__
|
||||
#define __METIN_II_COMMON_BUILDING_H__
|
||||
|
||||
namespace building
|
||||
{
|
||||
enum
|
||||
{
|
||||
OBJECT_MATERIAL_MAX_NUM = 5,
|
||||
};
|
||||
|
||||
typedef struct SLand
|
||||
{
|
||||
DWORD dwID;
|
||||
int lMapIndex;
|
||||
int x, y;
|
||||
int width, height;
|
||||
DWORD dwGuildID;
|
||||
BYTE bGuildLevelLimit;
|
||||
DWORD dwPrice;
|
||||
} TLand;
|
||||
|
||||
typedef struct SObjectMaterial
|
||||
{
|
||||
DWORD dwItemVnum;
|
||||
DWORD dwCount;
|
||||
} TObjectMaterial;
|
||||
|
||||
typedef struct SObjectProto
|
||||
{
|
||||
DWORD dwVnum;
|
||||
DWORD dwPrice;
|
||||
|
||||
TObjectMaterial kMaterials[OBJECT_MATERIAL_MAX_NUM];
|
||||
|
||||
DWORD dwUpgradeVnum;
|
||||
DWORD dwUpgradeLimitTime;
|
||||
int lLife;
|
||||
int lRegion[4];
|
||||
|
||||
DWORD dwNPCVnum;
|
||||
int lNPCX;
|
||||
int lNPCY;
|
||||
|
||||
DWORD dwGroupVnum; // <20><><EFBFBD><EFBFBD> <20><EFBFBD><D7B7><EFBFBD> <20>ϳ<EFBFBD><CFB3><EFBFBD> <20>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
DWORD dwDependOnGroupVnum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><EFBFBD>
|
||||
} TObjectProto;
|
||||
|
||||
typedef struct SObject
|
||||
{
|
||||
DWORD dwID;
|
||||
DWORD dwLandID;
|
||||
DWORD dwVnum;
|
||||
int lMapIndex;
|
||||
int x, y;
|
||||
|
||||
float xRot;
|
||||
float yRot;
|
||||
float zRot;
|
||||
int lLife;
|
||||
} TObject;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,69 +0,0 @@
|
||||
#ifndef __INC_COMMON_CACHE_H__
|
||||
#define __INC_COMMON_CACHE_H__
|
||||
|
||||
template <typename T> class cache
|
||||
{
|
||||
public:
|
||||
cache()
|
||||
: m_bNeedQuery(false), m_expireTime(600), m_lastUpdateTime(0)
|
||||
{
|
||||
m_lastFlushTime = time(0);
|
||||
|
||||
memset( &m_data, 0, sizeof(m_data) );
|
||||
}
|
||||
|
||||
T * Get(bool bUpdateTime = true)
|
||||
{
|
||||
if (bUpdateTime)
|
||||
m_lastUpdateTime = time(0);
|
||||
|
||||
return &m_data;
|
||||
}
|
||||
|
||||
void Put(T * pNew, bool bSkipQuery = false)
|
||||
{
|
||||
memcpy(&m_data, pNew, sizeof(T));
|
||||
m_lastUpdateTime = time(0);
|
||||
|
||||
if (!bSkipQuery)
|
||||
m_bNeedQuery = true;
|
||||
}
|
||||
|
||||
bool CheckFlushTimeout()
|
||||
{
|
||||
if (m_bNeedQuery && time(0) - m_lastFlushTime > m_expireTime)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CheckTimeout()
|
||||
{
|
||||
if (time(0) - m_lastUpdateTime > m_expireTime)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Flush()
|
||||
{
|
||||
if (!m_bNeedQuery)
|
||||
return;
|
||||
|
||||
OnFlush();
|
||||
m_bNeedQuery = false;
|
||||
m_lastFlushTime = time(0);
|
||||
}
|
||||
|
||||
virtual void OnFlush() = 0;
|
||||
|
||||
|
||||
protected:
|
||||
T m_data;
|
||||
bool m_bNeedQuery;
|
||||
time_t m_expireTime;
|
||||
time_t m_lastUpdateTime;
|
||||
time_t m_lastFlushTime;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,40 +0,0 @@
|
||||
#ifndef __INC_METIN_II_D3DTYPE_H__
|
||||
#define __INC_METIN_II_D3DTYPE_H__
|
||||
|
||||
typedef struct D3DXVECTOR2
|
||||
{
|
||||
float x, y;
|
||||
} D3DXVECTOR2, *LPD3DXVECTOR2;
|
||||
|
||||
typedef struct D3DXVECTOR3
|
||||
{
|
||||
float x, y, z;
|
||||
} D3DXVECTOR3, *LPD3DXVECTOR3;
|
||||
|
||||
typedef struct D3DXVECTOR4
|
||||
{
|
||||
float x, y, z, w;
|
||||
} D3DXVECTOR4, *LPD3DXVECTOR4;
|
||||
|
||||
typedef struct D3DXQUATERNION
|
||||
{
|
||||
float x, y, z, w;
|
||||
} D3DXQUATERNION, *LPD3DXQUATERNION;
|
||||
|
||||
typedef struct D3DXCOLOR
|
||||
{
|
||||
float r, g, b, a;
|
||||
} D3DXCOLOR, *LPD3DXCOLOR;
|
||||
|
||||
typedef struct _D3DCOLORVALUE
|
||||
{
|
||||
float r;
|
||||
float g;
|
||||
float b;
|
||||
float a;
|
||||
} D3DCOLORVALUE;
|
||||
|
||||
typedef D3DXVECTOR3 D3DVECTOR;
|
||||
|
||||
#endif
|
||||
|
@ -1,371 +0,0 @@
|
||||
#ifndef __INC_METIN2_ITEM_LENGTH_H__
|
||||
#define __INC_METIN2_ITEM_LENGTH_H__
|
||||
|
||||
enum EItemMisc
|
||||
{
|
||||
ITEM_NAME_MAX_LEN = 24,
|
||||
ITEM_VALUES_MAX_NUM = 6,
|
||||
ITEM_SMALL_DESCR_MAX_LEN = 256,
|
||||
ITEM_LIMIT_MAX_NUM = 2,
|
||||
ITEM_APPLY_MAX_NUM = 3,
|
||||
ITEM_SOCKET_MAX_NUM = 3,
|
||||
ITEM_MAX_COUNT = 200,
|
||||
ITEM_ATTRIBUTE_MAX_NUM = 7,
|
||||
ITEM_ATTRIBUTE_MAX_LEVEL = 5,
|
||||
ITEM_AWARD_WHY_MAX_LEN = 50,
|
||||
|
||||
REFINE_MATERIAL_MAX_NUM = 5,
|
||||
|
||||
ITEM_ELK_VNUM = 50026,
|
||||
};
|
||||
|
||||
const BYTE ITEM_SOCKET_REMAIN_SEC = 0;
|
||||
enum EItemValueIdice
|
||||
{
|
||||
ITEM_VALUE_DRAGON_SOUL_POLL_OUT_BONUS_IDX = 0,
|
||||
ITEM_VALUE_CHARGING_AMOUNT_IDX = 0,
|
||||
ITEM_VALUE_SECONDARY_COIN_UNIT_IDX = 0,
|
||||
};
|
||||
enum EItemDragonSoulSockets
|
||||
{
|
||||
ITEM_SOCKET_DRAGON_SOUL_ACTIVE_IDX = 2,
|
||||
ITEM_SOCKET_CHARGING_AMOUNT_IDX = 2,
|
||||
};
|
||||
// <20><> <20>̰<EFBFBD> <20><>ģ<EFBFBD><C4A3> <20>ƴϾ<C6B4>?
|
||||
// <20><><EFBFBD>߿<EFBFBD> <20><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD>ϸ<EFBFBD> <20><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -_-;;;
|
||||
enum EItemUniqueSockets
|
||||
{
|
||||
ITEM_SOCKET_UNIQUE_SAVE_TIME = ITEM_SOCKET_MAX_NUM - 2,
|
||||
ITEM_SOCKET_UNIQUE_REMAIN_TIME = ITEM_SOCKET_MAX_NUM - 1
|
||||
};
|
||||
|
||||
enum EItemTypes
|
||||
{
|
||||
ITEM_NONE, //0
|
||||
ITEM_WEAPON, //1//<2F><><EFBFBD><EFBFBD>
|
||||
ITEM_ARMOR, //2//<2F><><EFBFBD><EFBFBD>
|
||||
ITEM_USE, //3//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_AUTOUSE, //4
|
||||
ITEM_MATERIAL, //5
|
||||
ITEM_SPECIAL, //6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TOOL, //7
|
||||
ITEM_LOTTERY, //8//<2F><><EFBFBD><EFBFBD>
|
||||
ITEM_ELK, //9//<2F><>
|
||||
ITEM_METIN, //10
|
||||
ITEM_CONTAINER, //11
|
||||
ITEM_FISH, //12//<2F><><EFBFBD><EFBFBD>
|
||||
ITEM_ROD, //13
|
||||
ITEM_RESOURCE, //14
|
||||
ITEM_CAMPFIRE, //15
|
||||
ITEM_UNIQUE, //16
|
||||
ITEM_SKILLBOOK, //17
|
||||
ITEM_QUEST, //18
|
||||
ITEM_POLYMORPH, //19
|
||||
ITEM_TREASURE_BOX, //20//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TREASURE_KEY, //21//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_SKILLFORGET, //22
|
||||
ITEM_GIFTBOX, //23
|
||||
ITEM_PICK, //24
|
||||
ITEM_HAIR, //25//<2F>Ӹ<EFBFBD>
|
||||
ITEM_TOTEM, //26//<2F><><EFBFBD><EFBFBD>
|
||||
ITEM_BLEND, //27//<2F><><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20>ٴ<EFBFBD> <20>
|
||||
ITEM_COSTUME, //28//<2F>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2011<31><31> 8<><38> <20>߰<EFBFBD><DFB0><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>ý<EFBFBD><C3BD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
ITEM_DS, //29 //<2F><>ȥ<EFBFBD><C8A5>
|
||||
ITEM_SPECIAL_DS, //30 // Ư<><C6AF><EFBFBD><EFBFBD> <20><>ȥ<EFBFBD><C8A5> (DS_SLOT<4F><54> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> UNIQUE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><>)
|
||||
ITEM_EXTRACT, //31 <20><><EFBFBD><EFBFBD><E2B5B5>.
|
||||
ITEM_SECONDARY_COIN, //32 ?? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>??
|
||||
ITEM_RING, //33 <20><><EFBFBD><EFBFBD>
|
||||
ITEM_BELT, //34 <20><>Ʈ
|
||||
};
|
||||
|
||||
enum EMetinSubTypes
|
||||
{
|
||||
METIN_NORMAL,
|
||||
METIN_GOLD,
|
||||
};
|
||||
|
||||
enum EWeaponSubTypes
|
||||
{
|
||||
WEAPON_SWORD,
|
||||
WEAPON_DAGGER,
|
||||
WEAPON_BOW,
|
||||
WEAPON_TWO_HANDED,
|
||||
WEAPON_BELL,
|
||||
WEAPON_FAN,
|
||||
WEAPON_ARROW,
|
||||
WEAPON_MOUNT_SPEAR,
|
||||
WEAPON_NUM_TYPES,
|
||||
};
|
||||
|
||||
enum EArmorSubTypes
|
||||
{
|
||||
ARMOR_BODY,
|
||||
ARMOR_HEAD,
|
||||
ARMOR_SHIELD,
|
||||
ARMOR_WRIST,
|
||||
ARMOR_FOOTS,
|
||||
ARMOR_NECK,
|
||||
ARMOR_EAR,
|
||||
ARMOR_NUM_TYPES
|
||||
};
|
||||
|
||||
enum ECostumeSubTypes
|
||||
{
|
||||
COSTUME_BODY = ARMOR_BODY, // [<5B>߿<EFBFBD>!!] ECostumeSubTypes enum value<75><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EArmorSubTypes<65><73> <20>װͰ<D7B0> <20><><EFBFBD>ƾ<EFBFBD> <20><>.
|
||||
COSTUME_HAIR = ARMOR_HEAD, // <20>̴<EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20>߰<EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD>̰ڴٴ<DAB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
COSTUME_NUM_TYPES,
|
||||
};
|
||||
|
||||
enum EDragonSoulSubType
|
||||
{
|
||||
DS_SLOT1,
|
||||
DS_SLOT2,
|
||||
DS_SLOT3,
|
||||
DS_SLOT4,
|
||||
DS_SLOT5,
|
||||
DS_SLOT6,
|
||||
DS_SLOT_MAX,
|
||||
};
|
||||
|
||||
enum EDragonSoulGradeTypes
|
||||
{
|
||||
DRAGON_SOUL_GRADE_NORMAL,
|
||||
DRAGON_SOUL_GRADE_BRILLIANT,
|
||||
DRAGON_SOUL_GRADE_RARE,
|
||||
DRAGON_SOUL_GRADE_ANCIENT,
|
||||
DRAGON_SOUL_GRADE_LEGENDARY,
|
||||
DRAGON_SOUL_GRADE_MAX,
|
||||
|
||||
};
|
||||
|
||||
enum EDragonSoulStepTypes
|
||||
{
|
||||
DRAGON_SOUL_STEP_LOWEST,
|
||||
DRAGON_SOUL_STEP_LOW,
|
||||
DRAGON_SOUL_STEP_MID,
|
||||
DRAGON_SOUL_STEP_HIGH,
|
||||
DRAGON_SOUL_STEP_HIGHEST,
|
||||
DRAGON_SOUL_STEP_MAX,
|
||||
};
|
||||
#define DRAGON_SOUL_STRENGTH_MAX 7
|
||||
|
||||
enum EDSInventoryMaxNum
|
||||
{
|
||||
DRAGON_SOUL_INVENTORY_MAX_NUM = DS_SLOT_MAX * DRAGON_SOUL_GRADE_MAX * DRAGON_SOUL_BOX_SIZE,
|
||||
};
|
||||
|
||||
enum EFishSubTypes
|
||||
{
|
||||
FISH_ALIVE,
|
||||
FISH_DEAD,
|
||||
};
|
||||
|
||||
enum EResourceSubTypes
|
||||
{
|
||||
RESOURCE_FISHBONE,
|
||||
RESOURCE_WATERSTONEPIECE,
|
||||
RESOURCE_WATERSTONE,
|
||||
RESOURCE_BLOOD_PEARL,
|
||||
RESOURCE_BLUE_PEARL,
|
||||
RESOURCE_WHITE_PEARL,
|
||||
RESOURCE_BUCKET,
|
||||
RESOURCE_CRYSTAL,
|
||||
RESOURCE_GEM,
|
||||
RESOURCE_STONE,
|
||||
RESOURCE_METIN,
|
||||
RESOURCE_ORE,
|
||||
};
|
||||
|
||||
enum EUniqueSubTypes
|
||||
{
|
||||
UNIQUE_NONE,
|
||||
UNIQUE_BOOK,
|
||||
UNIQUE_SPECIAL_RIDE,
|
||||
UNIQUE_SPECIAL_MOUNT_RIDE,
|
||||
};
|
||||
|
||||
enum EUseSubTypes
|
||||
{
|
||||
USE_POTION, // 0
|
||||
USE_TALISMAN,
|
||||
USE_TUNING,
|
||||
USE_MOVE,
|
||||
USE_TREASURE_BOX,
|
||||
USE_MONEYBAG,
|
||||
USE_BAIT,
|
||||
USE_ABILITY_UP,
|
||||
USE_AFFECT,
|
||||
USE_CREATE_STONE,
|
||||
USE_SPECIAL, // 10
|
||||
USE_POTION_NODELAY,
|
||||
USE_CLEAR,
|
||||
USE_INVISIBILITY,
|
||||
USE_DETACHMENT,
|
||||
USE_BUCKET,
|
||||
USE_POTION_CONTINUE,
|
||||
USE_CLEAN_SOCKET,
|
||||
USE_CHANGE_ATTRIBUTE,
|
||||
USE_ADD_ATTRIBUTE,
|
||||
USE_ADD_ACCESSORY_SOCKET, // 20
|
||||
USE_PUT_INTO_ACCESSORY_SOCKET,
|
||||
USE_ADD_ATTRIBUTE2,
|
||||
USE_RECIPE,
|
||||
USE_CHANGE_ATTRIBUTE2,
|
||||
USE_BIND,
|
||||
USE_UNBIND,
|
||||
USE_TIME_CHARGE_PER,
|
||||
USE_TIME_CHARGE_FIX, // 28
|
||||
USE_PUT_INTO_BELT_SOCKET, // 29 <20><>Ʈ <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USE_PUT_INTO_RING_SOCKET, // 30 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>ũ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
};
|
||||
|
||||
enum EExtractSubTypes
|
||||
{
|
||||
EXTRACT_DRAGON_SOUL,
|
||||
EXTRACT_DRAGON_HEART,
|
||||
};
|
||||
|
||||
enum EAutoUseSubTypes
|
||||
{
|
||||
AUTOUSE_POTION,
|
||||
AUTOUSE_ABILITY_UP,
|
||||
AUTOUSE_BOMB,
|
||||
AUTOUSE_GOLD,
|
||||
AUTOUSE_MONEYBAG,
|
||||
AUTOUSE_TREASURE_BOX
|
||||
};
|
||||
|
||||
enum EMaterialSubTypes
|
||||
{
|
||||
MATERIAL_LEATHER,
|
||||
MATERIAL_BLOOD,
|
||||
MATERIAL_ROOT,
|
||||
MATERIAL_NEEDLE,
|
||||
MATERIAL_JEWEL,
|
||||
MATERIAL_DS_REFINE_NORMAL,
|
||||
MATERIAL_DS_REFINE_BLESSED,
|
||||
MATERIAL_DS_REFINE_HOLLY,
|
||||
};
|
||||
|
||||
enum ESpecialSubTypes
|
||||
{
|
||||
SPECIAL_MAP,
|
||||
SPECIAL_KEY,
|
||||
SPECIAL_DOC,
|
||||
SPECIAL_SPIRIT,
|
||||
};
|
||||
|
||||
enum EToolSubTypes
|
||||
{
|
||||
TOOL_FISHING_ROD
|
||||
};
|
||||
|
||||
enum ELotterySubTypes
|
||||
{
|
||||
LOTTERY_TICKET,
|
||||
LOTTERY_INSTANT
|
||||
};
|
||||
|
||||
enum EItemFlag
|
||||
{
|
||||
ITEM_FLAG_REFINEABLE = (1 << 0),
|
||||
ITEM_FLAG_SAVE = (1 << 1),
|
||||
ITEM_FLAG_STACKABLE = (1 << 2), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĥ <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_FLAG_COUNT_PER_1GOLD = (1 << 3),
|
||||
ITEM_FLAG_SLOW_QUERY = (1 << 4),
|
||||
ITEM_FLAG_UNUSED01 = (1 << 5), // UNUSED
|
||||
ITEM_FLAG_UNIQUE = (1 << 6),
|
||||
ITEM_FLAG_MAKECOUNT = (1 << 7),
|
||||
ITEM_FLAG_IRREMOVABLE = (1 << 8),
|
||||
ITEM_FLAG_CONFIRM_WHEN_USE = (1 << 9),
|
||||
ITEM_FLAG_QUEST_USE = (1 << 10),
|
||||
ITEM_FLAG_QUEST_USE_MULTIPLE = (1 << 11),
|
||||
ITEM_FLAG_QUEST_GIVE = (1 << 12),
|
||||
ITEM_FLAG_LOG = (1 << 13),
|
||||
ITEM_FLAG_APPLICABLE = (1 << 14),
|
||||
};
|
||||
|
||||
enum EItemAntiFlag
|
||||
{
|
||||
ITEM_ANTIFLAG_FEMALE = (1 << 0), // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_MALE = (1 << 1), // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_WARRIOR = (1 << 2), // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_ASSASSIN = (1 << 3), // <20>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_SURA = (1 << 4), // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_SHAMAN = (1 << 5), // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_GET = (1 << 6), // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_DROP = (1 << 7), // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_SELL = (1 << 8), // <20><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_EMPIRE_A = (1 << 9), // A <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_EMPIRE_B = (1 << 10), // B <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_EMPIRE_C = (1 << 11), // C <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_SAVE = (1 << 12), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_GIVE = (1 << 13), // <20>ŷ<EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_PKDROP = (1 << 14), // PK<50><4B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_STACK = (1 << 15), // <20><>ĥ <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_MYSHOP = (1 << 16), // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_SAFEBOX = (1 << 17), // â<><C3A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
enum EItemWearableFlag
|
||||
{
|
||||
WEARABLE_BODY = (1 << 0),
|
||||
WEARABLE_HEAD = (1 << 1),
|
||||
WEARABLE_FOOTS = (1 << 2),
|
||||
WEARABLE_WRIST = (1 << 3),
|
||||
WEARABLE_WEAPON = (1 << 4),
|
||||
WEARABLE_NECK = (1 << 5),
|
||||
WEARABLE_EAR = (1 << 6),
|
||||
WEARABLE_UNIQUE = (1 << 7),
|
||||
WEARABLE_SHIELD = (1 << 8),
|
||||
WEARABLE_ARROW = (1 << 9),
|
||||
WEARABLE_HAIR = (1 << 10),
|
||||
WEARABLE_ABILITY = (1 << 11),
|
||||
WEARABLE_COSTUME_BODY = (1 << 12),
|
||||
};
|
||||
|
||||
enum ELimitTypes
|
||||
{
|
||||
LIMIT_NONE,
|
||||
|
||||
LIMIT_LEVEL,
|
||||
LIMIT_STR,
|
||||
LIMIT_DEX,
|
||||
LIMIT_INT,
|
||||
LIMIT_CON,
|
||||
LIMIT_PCBANG,
|
||||
|
||||
/// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ǽð<C7BD><C3B0><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD> <20><><EFBFBD><EFBFBD> (socket0<74><30> <20>Ҹ<EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD>: unix_timestamp Ÿ<><C5B8>)
|
||||
LIMIT_REAL_TIME,
|
||||
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ó<><C3B3> <20><><EFBFBD><EFBFBD>(Ȥ<><C8A4> <20><><EFBFBD><EFBFBD>) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> Ÿ<≯<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
/// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket0<74><30> <20><><EFBFBD>밡<EFBFBD>ɽð<C9BD>(<28>ʴ<EFBFBD><CAB4><EFBFBD>, 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> limit value<75><65> <20><><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ִٰ<D6B4>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket1<74><31> <20><><EFBFBD><EFBFBD> Ƚ<><C8BD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket0<74><30> unix_timestamp Ÿ<><C5B8><EFBFBD><EFBFBD> <20>Ҹ<EFBFBD><D2B8>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
LIMIT_REAL_TIME_START_FIRST_USE,
|
||||
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// socket0<74><30> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20>ʴ<EFBFBD><CAB4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> limit value<75><65><EFBFBD><EFBFBD> socket0<74><30> <20><><EFBFBD><EFBFBD>)
|
||||
LIMIT_TIMER_BASED_ON_WEAR,
|
||||
|
||||
LIMIT_MAX_NUM
|
||||
};
|
||||
|
||||
enum EAttrAddonTypes
|
||||
{
|
||||
ATTR_ADDON_NONE,
|
||||
// positive values are reserved for set
|
||||
ATTR_DAMAGE_ADDON = -1,
|
||||
};
|
||||
|
||||
enum ERefineType
|
||||
{
|
||||
REFINE_TYPE_NORMAL,
|
||||
REFINE_TYPE_NOT_USED1,
|
||||
REFINE_TYPE_SCROLL,
|
||||
REFINE_TYPE_HYUNIRON,
|
||||
REFINE_TYPE_MONEY_ONLY,
|
||||
REFINE_TYPE_MUSIN,
|
||||
REFINE_TYPE_BDRAGON,
|
||||
};
|
||||
|
||||
#endif
|
783
common/length.h
783
common/length.h
@ -1,783 +0,0 @@
|
||||
#ifndef __INC_METIN_II_LENGTH_H__
|
||||
#define __INC_METIN_II_LENGTH_H__
|
||||
|
||||
#define WORD_MAX 0xffff
|
||||
enum EMisc
|
||||
{
|
||||
MAX_HOST_LENGTH = 253,
|
||||
IP_ADDRESS_LENGTH = INET6_ADDRSTRLEN > INET_ADDRSTRLEN ? INET6_ADDRSTRLEN : INET_ADDRSTRLEN,
|
||||
LOGIN_MAX_LEN = 30,
|
||||
PASSWD_MAX_LEN = 16,
|
||||
PLAYER_PER_ACCOUNT = 4,
|
||||
ACCOUNT_STATUS_MAX_LEN = 8,
|
||||
CHARACTER_NAME_MAX_LEN = 24,
|
||||
SHOP_SIGN_MAX_LEN = 32,
|
||||
INVENTORY_MAX_NUM = 90,
|
||||
ABILITY_MAX_NUM = 50,
|
||||
EMPIRE_MAX_NUM = 4,
|
||||
BANWORD_MAX_LEN = 24,
|
||||
SMS_MAX_LEN = 80,
|
||||
MOBILE_MAX_LEN = 32,
|
||||
SOCIAL_ID_MAX_LEN = 18,
|
||||
|
||||
GUILD_NAME_MAX_LEN = 12,
|
||||
|
||||
SHOP_HOST_ITEM_MAX_NUM = 40, /* ȣ<><C8A3>Ʈ<EFBFBD><C6AE> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||
SHOP_GUEST_ITEM_MAX_NUM = 18, /* <20>Խ<EFBFBD>Ʈ<EFBFBD><C6AE> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||
|
||||
SHOP_PRICELIST_MAX_NUM = 40, ///< <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
CHAT_MAX_LEN = 512,
|
||||
|
||||
QUICKSLOT_MAX_NUM = 36,
|
||||
|
||||
JOURNAL_MAX_NUM = 2,
|
||||
|
||||
QUERY_MAX_LEN = 8192,
|
||||
|
||||
FILE_MAX_LEN = 128,
|
||||
|
||||
PLAYER_EXP_TABLE_MAX = 120,
|
||||
PLAYER_MAX_LEVEL_CONST = 120,
|
||||
|
||||
GUILD_MAX_LEVEL = 20,
|
||||
MOB_MAX_LEVEL = 100,
|
||||
|
||||
ATTRIBUTE_MAX_VALUE = 20,
|
||||
CHARACTER_PATH_MAX_NUM = 64,
|
||||
SKILL_MAX_NUM = 255,
|
||||
SKILLBOOK_DELAY_MIN = 64800,
|
||||
SKILLBOOK_DELAY_MAX = 108000,
|
||||
SKILL_MAX_LEVEL = 40,
|
||||
|
||||
APPLY_NAME_MAX_LEN = 32,
|
||||
EVENT_FLAG_NAME_MAX_LEN = 32,
|
||||
|
||||
MOB_SKILL_MAX_NUM = 5,
|
||||
|
||||
POINT_MAX_NUM = 255,
|
||||
DRAGON_SOUL_BOX_SIZE = 32,
|
||||
DRAGON_SOUL_BOX_COLUMN_NUM = 8,
|
||||
DRAGON_SOUL_BOX_ROW_NUM = DRAGON_SOUL_BOX_SIZE / DRAGON_SOUL_BOX_COLUMN_NUM,
|
||||
DRAGON_SOUL_REFINE_GRID_SIZE = 15,
|
||||
MAX_AMOUNT_OF_MALL_BONUS = 20,
|
||||
|
||||
WEAR_MAX_NUM = 32,
|
||||
|
||||
//LIMIT_GOLD
|
||||
GOLD_MAX = 2000000000,
|
||||
|
||||
//END_LIMIT_GOLD
|
||||
|
||||
SHOP_TAB_NAME_MAX = 32,
|
||||
SHOP_TAB_COUNT_MAX = 3,
|
||||
|
||||
BELT_INVENTORY_SLOT_WIDTH = 4,
|
||||
BELT_INVENTORY_SLOT_HEIGHT= 4,
|
||||
|
||||
BELT_INVENTORY_SLOT_COUNT = BELT_INVENTORY_SLOT_WIDTH * BELT_INVENTORY_SLOT_HEIGHT,
|
||||
|
||||
|
||||
/**
|
||||
**** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (DB<44><42> Item Position) ****
|
||||
+------------------------------------------------------+ 0
|
||||
| ij<><C4B3><EFBFBD><EFBFBD> <20>⺻ <20>κ<EFBFBD><CEBA>丮 (45ĭ * 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) 90ĭ |
|
||||
+------------------------------------------------------+ 90 = INVENTORY_MAX_NUM(90)
|
||||
| ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> â (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) 32ĭ |
|
||||
+------------------------------------------------------+ 122 = INVENTORY_MAX_NUM(90) + WEAR_MAX_NUM(32)
|
||||
| <20><>ȥ<EFBFBD><C8A5> <20><><EFBFBD><EFBFBD> â (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȥ<EFBFBD><C8A5>) 12ĭ |
|
||||
+------------------------------------------------------+ 134 = 122 + DS_SLOT_MAX(6) * DRAGON_SOUL_DECK_MAX_NUM(2)
|
||||
| <20><>ȥ<EFBFBD><C8A5> <20><><EFBFBD><EFBFBD> â <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20>̻<EFBFBD><CCBB><EFBFBD>) 18ĭ |
|
||||
+------------------------------------------------------+ 152 = 134 + DS_SLOT_MAX(6) * DRAGON_SOUL_DECK_RESERVED_MAX_NUM(3)
|
||||
| <20><>Ʈ <20>κ<EFBFBD><CEBA>丮 (<28><>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD> <20><>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȱ<><C8B0>)|
|
||||
+------------------------------------------------------+ 168 = 152 + BELT_INVENTORY_SLOT_COUNT(16) = INVENTORY_AND_EQUIP_CELL_MAX
|
||||
| <20>̻<EFBFBD><CCBB><EFBFBD> |
|
||||
+------------------------------------------------------+ ??
|
||||
*/
|
||||
};
|
||||
|
||||
enum EMatrixCard
|
||||
{
|
||||
MATRIX_CODE_MAX_LEN = 192,
|
||||
MATRIX_ANSWER_MAX_LEN = 8,
|
||||
};
|
||||
|
||||
enum EWearPositions
|
||||
{
|
||||
WEAR_BODY, // 0
|
||||
WEAR_HEAD, // 1
|
||||
WEAR_FOOTS, // 2
|
||||
WEAR_WRIST, // 3
|
||||
WEAR_WEAPON, // 4
|
||||
WEAR_NECK, // 5
|
||||
WEAR_EAR, // 6
|
||||
WEAR_UNIQUE1, // 7
|
||||
WEAR_UNIQUE2, // 8
|
||||
WEAR_ARROW, // 9
|
||||
WEAR_SHIELD, // 10
|
||||
WEAR_ABILITY1, // 11
|
||||
WEAR_ABILITY2, // 12
|
||||
WEAR_ABILITY3, // 13
|
||||
WEAR_ABILITY4, // 14
|
||||
WEAR_ABILITY5, // 15
|
||||
WEAR_ABILITY6, // 16
|
||||
WEAR_ABILITY7, // 17
|
||||
WEAR_ABILITY8, // 18
|
||||
WEAR_COSTUME_BODY, // 19
|
||||
WEAR_COSTUME_HAIR, // 20
|
||||
|
||||
WEAR_RING1, // 21 : <20>ű<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 (<28><><EFBFBD><EFBFBD>)
|
||||
WEAR_RING2, // 22 : <20>ű<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
WEAR_BELT, // 23 : <20>ű<EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD>
|
||||
|
||||
WEAR_MAX = 32 //
|
||||
};
|
||||
|
||||
enum EDragonSoulDeckType
|
||||
{
|
||||
DRAGON_SOUL_DECK_0,
|
||||
DRAGON_SOUL_DECK_1,
|
||||
DRAGON_SOUL_DECK_MAX_NUM = 2,
|
||||
|
||||
DRAGON_SOUL_DECK_RESERVED_MAX_NUM = 3, // NOTE: <20>߿<EFBFBD>! <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>з<EFBFBD><D0B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>. DS DECK<43><4B> <20>ø<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݵ<EFBFBD><DDB5><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ŭ RESERVED<45><44><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20><>!
|
||||
};
|
||||
|
||||
enum ESex
|
||||
{
|
||||
SEX_MALE,
|
||||
SEX_FEMALE
|
||||
};
|
||||
|
||||
enum EDirection
|
||||
{
|
||||
DIR_NORTH,
|
||||
DIR_NORTHEAST,
|
||||
DIR_EAST,
|
||||
DIR_SOUTHEAST,
|
||||
DIR_SOUTH,
|
||||
DIR_SOUTHWEST,
|
||||
DIR_WEST,
|
||||
DIR_NORTHWEST,
|
||||
DIR_MAX_NUM
|
||||
};
|
||||
|
||||
#define ABILITY_MAX_LEVEL 10 /* <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||
|
||||
enum EAbilityDifficulty
|
||||
{
|
||||
DIFFICULTY_EASY,
|
||||
DIFFICULTY_NORMAL,
|
||||
DIFFICULTY_HARD,
|
||||
DIFFICULTY_VERY_HARD,
|
||||
DIFFICULTY_NUM_TYPES
|
||||
};
|
||||
|
||||
enum EAbilityCategory
|
||||
{
|
||||
CATEGORY_PHYSICAL, /* <20><>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ */
|
||||
CATEGORY_MENTAL, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ */
|
||||
CATEGORY_ATTRIBUTE, /* <20>ɷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ */
|
||||
CATEGORY_NUM_TYPES
|
||||
};
|
||||
|
||||
enum EJobs
|
||||
{
|
||||
JOB_WARRIOR,
|
||||
JOB_ASSASSIN,
|
||||
JOB_SURA,
|
||||
JOB_SHAMAN,
|
||||
JOB_MAX_NUM
|
||||
};
|
||||
|
||||
enum ESkillGroups
|
||||
{
|
||||
SKILL_GROUP_MAX_NUM = 2,
|
||||
};
|
||||
|
||||
enum ERaceFlags
|
||||
{
|
||||
RACE_FLAG_ANIMAL = (1 << 0),
|
||||
RACE_FLAG_UNDEAD = (1 << 1),
|
||||
RACE_FLAG_DEVIL = (1 << 2),
|
||||
RACE_FLAG_HUMAN = (1 << 3),
|
||||
RACE_FLAG_ORC = (1 << 4),
|
||||
RACE_FLAG_MILGYO = (1 << 5),
|
||||
RACE_FLAG_INSECT = (1 << 6),
|
||||
RACE_FLAG_FIRE = (1 << 7),
|
||||
RACE_FLAG_ICE = (1 << 8),
|
||||
RACE_FLAG_DESERT = (1 << 9),
|
||||
RACE_FLAG_TREE = (1 << 10),
|
||||
RACE_FLAG_ATT_ELEC = (1 << 11),
|
||||
RACE_FLAG_ATT_FIRE = (1 << 12),
|
||||
RACE_FLAG_ATT_ICE = (1 << 13),
|
||||
RACE_FLAG_ATT_WIND = (1 << 14),
|
||||
RACE_FLAG_ATT_EARTH = (1 << 15),
|
||||
RACE_FLAG_ATT_DARK = (1 << 16),
|
||||
};
|
||||
|
||||
enum ELoads
|
||||
{
|
||||
LOAD_NONE,
|
||||
LOAD_LIGHT,
|
||||
LOAD_NORMAL,
|
||||
LOAD_HEAVY,
|
||||
LOAD_MASSIVE
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
QUICKSLOT_TYPE_NONE,
|
||||
QUICKSLOT_TYPE_ITEM,
|
||||
QUICKSLOT_TYPE_SKILL,
|
||||
QUICKSLOT_TYPE_COMMAND,
|
||||
QUICKSLOT_TYPE_MAX_NUM,
|
||||
};
|
||||
|
||||
enum EParts
|
||||
{
|
||||
PART_MAIN,
|
||||
PART_WEAPON,
|
||||
PART_HEAD,
|
||||
PART_HAIR,
|
||||
|
||||
PART_MAX_NUM,
|
||||
PART_WEAPON_SUB,
|
||||
};
|
||||
|
||||
enum EChatType
|
||||
{
|
||||
CHAT_TYPE_TALKING, /* <20>׳<EFBFBD> ä<><C3A4> */
|
||||
CHAT_TYPE_INFO, /* <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>) */
|
||||
CHAT_TYPE_NOTICE, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
CHAT_TYPE_PARTY, /* <20><>Ƽ<EFBFBD><C6BC> */
|
||||
CHAT_TYPE_GUILD, /* <20><><EFBFBD>帻 */
|
||||
CHAT_TYPE_COMMAND, /* <20>Ϲ<EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||
CHAT_TYPE_SHOUT, /* <20><>ġ<EFBFBD><C4A1> */
|
||||
CHAT_TYPE_WHISPER,
|
||||
CHAT_TYPE_BIG_NOTICE,
|
||||
CHAT_TYPE_MONARCH_NOTICE,
|
||||
CHAT_TYPE_MAX_NUM
|
||||
};
|
||||
|
||||
enum EWhisperType
|
||||
{
|
||||
WHISPER_TYPE_NORMAL = 0,
|
||||
WHISPER_TYPE_NOT_EXIST = 1,
|
||||
WHISPER_TYPE_TARGET_BLOCKED = 2,
|
||||
WHISPER_TYPE_SENDER_BLOCKED = 3,
|
||||
WHISPER_TYPE_ERROR = 4,
|
||||
WHISPER_TYPE_GM = 5,
|
||||
WHISPER_TYPE_SYSTEM = 0xFF
|
||||
};
|
||||
|
||||
enum ECharacterPosition
|
||||
{
|
||||
POSITION_GENERAL,
|
||||
POSITION_BATTLE,
|
||||
POSITION_DYING,
|
||||
POSITION_SITTING_CHAIR,
|
||||
POSITION_SITTING_GROUND,
|
||||
POSITION_INTRO,
|
||||
POSITION_MAX_NUM
|
||||
};
|
||||
|
||||
enum EGMLevels
|
||||
{
|
||||
GM_PLAYER,
|
||||
GM_LOW_WIZARD,
|
||||
GM_WIZARD,
|
||||
GM_HIGH_WIZARD,
|
||||
GM_GOD,
|
||||
GM_IMPLEMENTOR
|
||||
};
|
||||
|
||||
enum EMobRank
|
||||
{
|
||||
MOB_RANK_PAWN,
|
||||
MOB_RANK_S_PAWN,
|
||||
MOB_RANK_KNIGHT,
|
||||
MOB_RANK_S_KNIGHT,
|
||||
MOB_RANK_BOSS,
|
||||
MOB_RANK_KING,
|
||||
MOB_RANK_MAX_NUM
|
||||
};
|
||||
|
||||
enum ECharType
|
||||
{
|
||||
CHAR_TYPE_MONSTER,
|
||||
CHAR_TYPE_NPC,
|
||||
CHAR_TYPE_STONE,
|
||||
CHAR_TYPE_WARP,
|
||||
CHAR_TYPE_DOOR,
|
||||
CHAR_TYPE_BUILDING,
|
||||
CHAR_TYPE_PC,
|
||||
CHAR_TYPE_POLYMORPH_PC,
|
||||
CHAR_TYPE_HORSE,
|
||||
CHAR_TYPE_GOTO
|
||||
};
|
||||
|
||||
enum EBattleType
|
||||
{
|
||||
BATTLE_TYPE_MELEE,
|
||||
BATTLE_TYPE_RANGE,
|
||||
BATTLE_TYPE_MAGIC,
|
||||
BATTLE_TYPE_SPECIAL,
|
||||
BATTLE_TYPE_POWER,
|
||||
BATTLE_TYPE_TANKER,
|
||||
BATTLE_TYPE_SUPER_POWER,
|
||||
BATTLE_TYPE_SUPER_TANKER,
|
||||
BATTLE_TYPE_MAX_NUM
|
||||
};
|
||||
|
||||
enum EApplyTypes
|
||||
{
|
||||
APPLY_NONE, // 0
|
||||
APPLY_MAX_HP, // 1
|
||||
APPLY_MAX_SP, // 2
|
||||
APPLY_CON, // 3
|
||||
APPLY_INT, // 4
|
||||
APPLY_STR, // 5
|
||||
APPLY_DEX, // 6
|
||||
APPLY_ATT_SPEED, // 7
|
||||
APPLY_MOV_SPEED, // 8
|
||||
APPLY_CAST_SPEED, // 9
|
||||
APPLY_HP_REGEN, // 10
|
||||
APPLY_SP_REGEN, // 11
|
||||
APPLY_POISON_PCT, // 12
|
||||
APPLY_STUN_PCT, // 13
|
||||
APPLY_SLOW_PCT, // 14
|
||||
APPLY_CRITICAL_PCT, // 15
|
||||
APPLY_PENETRATE_PCT, // 16
|
||||
APPLY_ATTBONUS_HUMAN, // 17
|
||||
APPLY_ATTBONUS_ANIMAL, // 18
|
||||
APPLY_ATTBONUS_ORC, // 19
|
||||
APPLY_ATTBONUS_MILGYO, // 20
|
||||
APPLY_ATTBONUS_UNDEAD, // 21
|
||||
APPLY_ATTBONUS_DEVIL, // 22
|
||||
APPLY_STEAL_HP, // 23
|
||||
APPLY_STEAL_SP, // 24
|
||||
APPLY_MANA_BURN_PCT, // 25
|
||||
APPLY_DAMAGE_SP_RECOVER, // 26
|
||||
APPLY_BLOCK, // 27
|
||||
APPLY_DODGE, // 28
|
||||
APPLY_RESIST_SWORD, // 29
|
||||
APPLY_RESIST_TWOHAND, // 30
|
||||
APPLY_RESIST_DAGGER, // 31
|
||||
APPLY_RESIST_BELL, // 32
|
||||
APPLY_RESIST_FAN, // 33
|
||||
APPLY_RESIST_BOW, // 34
|
||||
APPLY_RESIST_FIRE, // 35
|
||||
APPLY_RESIST_ELEC, // 36
|
||||
APPLY_RESIST_MAGIC, // 37
|
||||
APPLY_RESIST_WIND, // 38
|
||||
APPLY_REFLECT_MELEE, // 39
|
||||
APPLY_REFLECT_CURSE, // 40
|
||||
APPLY_POISON_REDUCE, // 41
|
||||
APPLY_KILL_SP_RECOVER, // 42
|
||||
APPLY_EXP_DOUBLE_BONUS, // 43
|
||||
APPLY_GOLD_DOUBLE_BONUS, // 44
|
||||
APPLY_ITEM_DROP_BONUS, // 45
|
||||
APPLY_POTION_BONUS, // 46
|
||||
APPLY_KILL_HP_RECOVER, // 47
|
||||
APPLY_IMMUNE_STUN, // 48
|
||||
APPLY_IMMUNE_SLOW, // 49
|
||||
APPLY_IMMUNE_FALL, // 50
|
||||
APPLY_SKILL, // 51
|
||||
APPLY_BOW_DISTANCE, // 52
|
||||
APPLY_ATT_GRADE_BONUS, // 53
|
||||
APPLY_DEF_GRADE_BONUS, // 54
|
||||
APPLY_MAGIC_ATT_GRADE, // 55
|
||||
APPLY_MAGIC_DEF_GRADE, // 56
|
||||
APPLY_CURSE_PCT, // 57
|
||||
APPLY_MAX_STAMINA, // 58
|
||||
APPLY_ATTBONUS_WARRIOR, // 59
|
||||
APPLY_ATTBONUS_ASSASSIN, // 60
|
||||
APPLY_ATTBONUS_SURA, // 61
|
||||
APPLY_ATTBONUS_SHAMAN, // 62
|
||||
APPLY_ATTBONUS_MONSTER, // 63
|
||||
APPLY_MALL_ATTBONUS, // 64 <20><><EFBFBD>ݷ<EFBFBD> +x%
|
||||
APPLY_MALL_DEFBONUS, // 65 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
||||
APPLY_MALL_EXPBONUS, // 66 <20><><EFBFBD><EFBFBD>ġ +x%
|
||||
APPLY_MALL_ITEMBONUS, // 67 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
||||
APPLY_MALL_GOLDBONUS, // 68 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
||||
APPLY_MAX_HP_PCT, // 69 <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
||||
APPLY_MAX_SP_PCT, // 70 <20>ִ<EFBFBD> <20><><EFBFBD>ŷ<EFBFBD> +x%
|
||||
APPLY_SKILL_DAMAGE_BONUS, // 71 <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * (100+x)%
|
||||
APPLY_NORMAL_HIT_DAMAGE_BONUS, // 72 <20><>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * (100+x)%
|
||||
APPLY_SKILL_DEFEND_BONUS, // 73 <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> * (100-x)%
|
||||
APPLY_NORMAL_HIT_DEFEND_BONUS, // 74 <20><>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> * (100-x)%
|
||||
APPLY_PC_BANG_EXP_BONUS, // 75 PC<50><43> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EXP <20><><EFBFBD>ʽ<EFBFBD>
|
||||
APPLY_PC_BANG_DROP_BONUS, // 76 PC<50><43> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ʽ<EFBFBD>
|
||||
|
||||
APPLY_EXTRACT_HP_PCT, // 77 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HP <20>Ҹ<EFBFBD>
|
||||
|
||||
APPLY_RESIST_WARRIOR, // 78 <20><><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_ASSASSIN, // 79 <20>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_SURA, // 80 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_SHAMAN, // 81 <20><><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_ENERGY, // 82 <20><><EFBFBD><EFBFBD>
|
||||
APPLY_DEF_GRADE, // 83 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. DEF_GRADE_BONUS<55><53> Ŭ<><EFBFBD> <20>ι<EFBFBD><CEB9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǵ<EFBFBD><C7B5><EFBFBD> <20><><EFBFBD><EFBFBD>(...)<29><> <20>ִ<EFBFBD>.
|
||||
APPLY_COSTUME_ATTR_BONUS, // 84 <20>ڽ<EFBFBD>Ƭ <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD>ġ <20><><EFBFBD>ʽ<EFBFBD>
|
||||
APPLY_MAGIC_ATTBONUS_PER, // 85 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ݷ<EFBFBD> +x%
|
||||
APPLY_MELEE_MAGIC_ATTBONUS_PER, // 86 <20><><EFBFBD><EFBFBD> + <20>и<EFBFBD> <20><><EFBFBD>ݷ<EFBFBD> +x%
|
||||
|
||||
APPLY_RESIST_ICE, // 87 <20>ñ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_EARTH, // 88 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_DARK, // 89 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
APPLY_ANTI_CRITICAL_PCT, //90 ũ<><C5A9>Ƽ<EFBFBD><C6BC> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_ANTI_PENETRATE_PCT, //91 <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
MAX_APPLY_NUM, //
|
||||
};
|
||||
|
||||
enum EOnClickEvents
|
||||
{
|
||||
ON_CLICK_NONE,
|
||||
ON_CLICK_SHOP,
|
||||
ON_CLICK_TALK,
|
||||
ON_CLICK_MAX_NUM
|
||||
};
|
||||
|
||||
enum EOnIdleEvents
|
||||
{
|
||||
ON_IDLE_NONE,
|
||||
ON_IDLE_GENERAL,
|
||||
ON_IDLE_MAX_NUM
|
||||
};
|
||||
|
||||
enum EWindows
|
||||
{
|
||||
RESERVED_WINDOW,
|
||||
INVENTORY,
|
||||
EQUIPMENT,
|
||||
SAFEBOX,
|
||||
MALL,
|
||||
DRAGON_SOUL_INVENTORY,
|
||||
BELT_INVENTORY,
|
||||
#ifdef __AUCTION__
|
||||
AUCTION,
|
||||
#endif
|
||||
GROUND
|
||||
};
|
||||
|
||||
enum EMobSizes
|
||||
{
|
||||
MOBSIZE_RESERVED,
|
||||
MOBSIZE_SMALL,
|
||||
MOBSIZE_MEDIUM,
|
||||
MOBSIZE_BIG
|
||||
};
|
||||
|
||||
enum EAIFlags
|
||||
{
|
||||
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 EMobStatType
|
||||
{
|
||||
MOB_STATTYPE_POWER,
|
||||
MOB_STATTYPE_TANKER,
|
||||
MOB_STATTYPE_SUPER_POWER,
|
||||
MOB_STATTYPE_SUPER_TANKER,
|
||||
MOB_STATTYPE_RANGE,
|
||||
MOB_STATTYPE_MAGIC,
|
||||
MOB_STATTYPE_MAX_NUM
|
||||
};
|
||||
|
||||
enum EImmuneFlags
|
||||
{
|
||||
IMMUNE_STUN = (1 << 0),
|
||||
IMMUNE_SLOW = (1 << 1),
|
||||
IMMUNE_FALL = (1 << 2),
|
||||
IMMUNE_CURSE = (1 << 3),
|
||||
IMMUNE_POISON = (1 << 4),
|
||||
IMMUNE_TERROR = (1 << 5),
|
||||
IMMUNE_REFLECT = (1 << 6),
|
||||
};
|
||||
|
||||
enum EMobEnchants
|
||||
{
|
||||
MOB_ENCHANT_CURSE,
|
||||
MOB_ENCHANT_SLOW,
|
||||
MOB_ENCHANT_POISON,
|
||||
MOB_ENCHANT_STUN,
|
||||
MOB_ENCHANT_CRITICAL,
|
||||
MOB_ENCHANT_PENETRATE,
|
||||
MOB_ENCHANTS_MAX_NUM
|
||||
};
|
||||
|
||||
enum EMobResists
|
||||
{
|
||||
MOB_RESIST_SWORD,
|
||||
MOB_RESIST_TWOHAND,
|
||||
MOB_RESIST_DAGGER,
|
||||
MOB_RESIST_BELL,
|
||||
MOB_RESIST_FAN,
|
||||
MOB_RESIST_BOW,
|
||||
MOB_RESIST_FIRE,
|
||||
MOB_RESIST_ELECT,
|
||||
MOB_RESIST_MAGIC,
|
||||
MOB_RESIST_WIND,
|
||||
MOB_RESIST_POISON,
|
||||
MOB_RESISTS_MAX_NUM
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SKILL_ATTR_TYPE_NORMAL = 1,
|
||||
SKILL_ATTR_TYPE_MELEE,
|
||||
SKILL_ATTR_TYPE_RANGE,
|
||||
SKILL_ATTR_TYPE_MAGIC
|
||||
/*
|
||||
SKILL_ATTR_TYPE_FIRE,
|
||||
SKILL_ATTR_TYPE_ICE,
|
||||
SKILL_ATTR_TYPE_ELEC,
|
||||
SKILL_ATTR_TYPE_DARK,
|
||||
*/
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SKILL_NORMAL,
|
||||
SKILL_MASTER,
|
||||
SKILL_GRAND_MASTER,
|
||||
SKILL_PERFECT_MASTER,
|
||||
};
|
||||
|
||||
enum EGuildWarType
|
||||
{
|
||||
GUILD_WAR_TYPE_FIELD,
|
||||
GUILD_WAR_TYPE_BATTLE,
|
||||
GUILD_WAR_TYPE_FLAG,
|
||||
GUILD_WAR_TYPE_MAX_NUM
|
||||
};
|
||||
|
||||
enum EGuildWarState
|
||||
{
|
||||
GUILD_WAR_NONE,
|
||||
GUILD_WAR_SEND_DECLARE,
|
||||
GUILD_WAR_REFUSE,
|
||||
GUILD_WAR_RECV_DECLARE,
|
||||
GUILD_WAR_WAIT_START,
|
||||
GUILD_WAR_CANCEL,
|
||||
GUILD_WAR_ON_WAR,
|
||||
GUILD_WAR_END,
|
||||
GUILD_WAR_OVER,
|
||||
GUILD_WAR_RESERVE,
|
||||
|
||||
GUILD_WAR_DURATION = 30*60, // 1<>ð<EFBFBD>
|
||||
GUILD_WAR_WIN_POINT = 1000,
|
||||
GUILD_WAR_LADDER_HALF_PENALTY_TIME = 12*60*60,
|
||||
};
|
||||
|
||||
enum EAttributeSet
|
||||
{
|
||||
ATTRIBUTE_SET_WEAPON,
|
||||
ATTRIBUTE_SET_BODY,
|
||||
ATTRIBUTE_SET_WRIST,
|
||||
ATTRIBUTE_SET_FOOTS,
|
||||
ATTRIBUTE_SET_NECK,
|
||||
ATTRIBUTE_SET_HEAD,
|
||||
ATTRIBUTE_SET_SHIELD,
|
||||
ATTRIBUTE_SET_EAR,
|
||||
ATTRIBUTE_SET_MAX_NUM
|
||||
};
|
||||
|
||||
enum EPrivType
|
||||
{
|
||||
PRIV_NONE,
|
||||
PRIV_ITEM_DROP,
|
||||
PRIV_GOLD_DROP,
|
||||
PRIV_GOLD10_DROP,
|
||||
PRIV_EXP_PCT,
|
||||
MAX_PRIV_NUM,
|
||||
};
|
||||
|
||||
enum EMoneyLogType
|
||||
{
|
||||
MONEY_LOG_RESERVED,
|
||||
MONEY_LOG_MONSTER,
|
||||
MONEY_LOG_SHOP,
|
||||
MONEY_LOG_REFINE,
|
||||
MONEY_LOG_QUEST,
|
||||
MONEY_LOG_GUILD,
|
||||
MONEY_LOG_MISC,
|
||||
MONEY_LOG_MONSTER_KILL,
|
||||
MONEY_LOG_DROP,
|
||||
MONEY_LOG_TYPE_MAX_NUM,
|
||||
};
|
||||
|
||||
enum EPremiumTypes
|
||||
{
|
||||
PREMIUM_EXP, // <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> 1.2<EFBFBD><EFBFBD>
|
||||
PREMIUM_ITEM, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<><32>
|
||||
PREMIUM_SAFEBOX, // â<><C3A2><EFBFBD><EFBFBD> 1ĭ<31><C4AD><EFBFBD><EFBFBD> 3ĭ
|
||||
PREMIUM_AUTOLOOT, // <20><> <20>ڵ<EFBFBD> <20>ݱ<EFBFBD>
|
||||
PREMIUM_FISH_MIND, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȯ<><C8AE> <20><><EFBFBD><EFBFBD>
|
||||
PREMIUM_MARRIAGE_FAST, // <20>ݽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
PREMIUM_GOLD, // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.5<EFBFBD><EFBFBD>
|
||||
PREMIUM_MAX_NUM = 9
|
||||
};
|
||||
|
||||
enum SPECIAL_EFFECT
|
||||
{
|
||||
SE_NONE,
|
||||
|
||||
SE_HPUP_RED,
|
||||
SE_SPUP_BLUE,
|
||||
SE_SPEEDUP_GREEN,
|
||||
SE_DXUP_PURPLE,
|
||||
SE_CRITICAL,
|
||||
SE_PENETRATE,
|
||||
SE_BLOCK,
|
||||
SE_DODGE,
|
||||
SE_CHINA_FIREWORK,
|
||||
SE_SPIN_TOP,
|
||||
SE_SUCCESS,
|
||||
SE_FAIL,
|
||||
SE_FR_SUCCESS,
|
||||
SE_LEVELUP_ON_14_FOR_GERMANY,
|
||||
SE_LEVELUP_UNDER_15_FOR_GERMANY,
|
||||
SE_PERCENT_DAMAGE1,
|
||||
SE_PERCENT_DAMAGE2,
|
||||
SE_PERCENT_DAMAGE3,
|
||||
|
||||
SE_AUTO_HPUP,
|
||||
SE_AUTO_SPUP,
|
||||
|
||||
SE_EQUIP_RAMADAN_RING, // <20><EFBFBD> <20>ʽ´<CABD><C2B4><EFBFBD> <20><><EFBFBD><EFBFBD>(71135) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
||||
SE_EQUIP_HALLOWEEN_CANDY, // <20>ҷ<EFBFBD><D2B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(-_-;)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
||||
SE_EQUIP_HAPPINESS_RING, // ũ<><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ູ<EFBFBD><E0BAB9> <20><><EFBFBD><EFBFBD>(71143) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
||||
SE_EQUIP_LOVE_PENDANT, // <20>߷<EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD>Ʈ(71145) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
||||
} ;
|
||||
|
||||
enum ETeenFlags
|
||||
{
|
||||
TEENFLAG_NONE = 0,
|
||||
TEENFLAG_1HOUR,
|
||||
TEENFLAG_2HOUR,
|
||||
TEENFLAG_3HOUR,
|
||||
TEENFLAG_4HOUR,
|
||||
TEENFLAG_5HOUR,
|
||||
};
|
||||
|
||||
#include "item_length.h"
|
||||
|
||||
// inventory<72><79> position<6F><6E> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
// int<6E><74><EFBFBD><EFBFBD> <20>Ͻ<EFBFBD><CFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
// <20>κ<EFBFBD> <20><><EFBFBD>õ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> window_type<70><65> <20><><EFBFBD><EFBFBD> <20>ʰ<EFBFBD>, cell <20>ϳ<EFBFBD><CFB3><EFBFBD> <20>ұ<DEBE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> <20>ϳ<EFBFBD> <20><><EFBFBD>̾ inventory type<70>̶<EFBFBD><CCB6><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,)
|
||||
// <20>κ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD> ȣ<><C8A3><EFBFBD>κ<EFBFBD><CEBA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> ??<3F><><EFBFBD>̴<EFBFBD>.
|
||||
|
||||
enum EDragonSoulRefineWindowSize
|
||||
{
|
||||
DRAGON_SOUL_REFINE_GRID_MAX = 15,
|
||||
};
|
||||
|
||||
enum EMisc2
|
||||
{
|
||||
DRAGON_SOUL_EQUIP_SLOT_START = INVENTORY_MAX_NUM + WEAR_MAX_NUM,
|
||||
DRAGON_SOUL_EQUIP_SLOT_END = DRAGON_SOUL_EQUIP_SLOT_START + (DS_SLOT_MAX * DRAGON_SOUL_DECK_MAX_NUM),
|
||||
DRAGON_SOUL_EQUIP_RESERVED_SLOT_END = DRAGON_SOUL_EQUIP_SLOT_END + (DS_SLOT_MAX * DRAGON_SOUL_DECK_RESERVED_MAX_NUM),
|
||||
|
||||
BELT_INVENTORY_SLOT_START = DRAGON_SOUL_EQUIP_RESERVED_SLOT_END,
|
||||
BELT_INVENTORY_SLOT_END = BELT_INVENTORY_SLOT_START + BELT_INVENTORY_SLOT_COUNT,
|
||||
|
||||
INVENTORY_AND_EQUIP_SLOT_MAX = BELT_INVENTORY_SLOT_END,
|
||||
};
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct SItemPos
|
||||
{
|
||||
BYTE window_type;
|
||||
WORD cell;
|
||||
SItemPos ()
|
||||
{
|
||||
window_type = INVENTORY;
|
||||
cell = WORD_MAX;
|
||||
}
|
||||
|
||||
SItemPos (BYTE _window_type, WORD _cell)
|
||||
{
|
||||
window_type = _window_type;
|
||||
cell = _cell;
|
||||
}
|
||||
|
||||
bool IsValidItemPosition() const
|
||||
{
|
||||
switch (window_type)
|
||||
{
|
||||
case RESERVED_WINDOW:
|
||||
return false;
|
||||
case INVENTORY:
|
||||
case EQUIPMENT:
|
||||
case BELT_INVENTORY:
|
||||
return cell < INVENTORY_AND_EQUIP_SLOT_MAX;
|
||||
case DRAGON_SOUL_INVENTORY:
|
||||
return cell < (DRAGON_SOUL_INVENTORY_MAX_NUM);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<>Ⱑ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> window<6F><77> valid üũ<C3BC><C5A9> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
case SAFEBOX:
|
||||
case MALL:
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsEquipPosition() const
|
||||
{
|
||||
return ((INVENTORY == window_type || EQUIPMENT == window_type) && cell >= INVENTORY_MAX_NUM && cell < INVENTORY_MAX_NUM + WEAR_MAX_NUM)
|
||||
|| IsDragonSoulEquipPosition();
|
||||
}
|
||||
|
||||
bool IsDragonSoulEquipPosition() const
|
||||
{
|
||||
return (DRAGON_SOUL_EQUIP_SLOT_START <= cell) && (DRAGON_SOUL_EQUIP_SLOT_END > cell);
|
||||
}
|
||||
|
||||
bool IsBeltInventoryPosition() const
|
||||
{
|
||||
return (BELT_INVENTORY_SLOT_START <= cell) && (BELT_INVENTORY_SLOT_END > cell);
|
||||
}
|
||||
|
||||
bool IsDefaultInventoryPosition() const
|
||||
{
|
||||
return INVENTORY == window_type && cell < INVENTORY_MAX_NUM;
|
||||
}
|
||||
|
||||
bool operator==(const struct SItemPos& rhs) const
|
||||
{
|
||||
return (window_type == rhs.window_type) && (cell == rhs.cell);
|
||||
}
|
||||
bool operator<(const struct SItemPos& rhs) const
|
||||
{
|
||||
return (window_type < rhs.window_type) || ((window_type == rhs.window_type) && (cell < rhs.cell));
|
||||
}
|
||||
} TItemPos;
|
||||
|
||||
const TItemPos NPOS (RESERVED_WINDOW, WORD_MAX);
|
||||
|
||||
typedef enum
|
||||
{
|
||||
SHOP_COIN_TYPE_GOLD, // DEFAULT VALUE
|
||||
SHOP_COIN_TYPE_SECONDARY_COIN,
|
||||
} EShopCoinType;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
@ -1,15 +0,0 @@
|
||||
#ifndef INC_METIN_II_COMMON_NONCOPYABLE_TEMPLATE
|
||||
#define INC_METIN_II_COMMON_NONCOPYABLE_TEMPLATE
|
||||
|
||||
class noncopyable
|
||||
{
|
||||
protected:
|
||||
noncopyable() {}
|
||||
~noncopyable() {}
|
||||
|
||||
private:
|
||||
noncopyable(const noncopyable &);
|
||||
noncopyable& operator = (const noncopyable &);
|
||||
};
|
||||
|
||||
#endif
|
185
common/pool.h
185
common/pool.h
@ -1,185 +0,0 @@
|
||||
#ifndef __INC_METIN_II_COMMON_POOL_H__
|
||||
#define __INC_METIN_II_COMMON_POOL_H__
|
||||
|
||||
#include <assert.h>
|
||||
#include <string>
|
||||
|
||||
template<typename T>
|
||||
class CPoolNode : public T
|
||||
{
|
||||
public:
|
||||
CPoolNode()
|
||||
{
|
||||
m_pNext = NULL;
|
||||
m_pPrev = NULL;
|
||||
}
|
||||
|
||||
virtual ~CPoolNode()
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
CPoolNode<T> * m_pNext;
|
||||
CPoolNode<T> * m_pPrev;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
class CDynamicPool
|
||||
{
|
||||
public:
|
||||
typedef CPoolNode<T> TNode;
|
||||
|
||||
public:
|
||||
CDynamicPool()
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
virtual ~CDynamicPool()
|
||||
{
|
||||
assert(m_pFreeList==NULL && "CDynamicPool::~CDynamicPool() - NOT Clear");
|
||||
assert(m_pUsedList==NULL && "CDynamicPool::~CDynamicPool() - NOT Clear");
|
||||
Clear();
|
||||
}
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
m_nodes = NULL;
|
||||
m_nodeCount = 0;
|
||||
|
||||
m_pFreeList = NULL;
|
||||
m_pUsedList = NULL;
|
||||
}
|
||||
|
||||
void SetName(const char* c_szName)
|
||||
{
|
||||
m_stName = c_szName;
|
||||
}
|
||||
|
||||
DWORD GetCapacity()
|
||||
{
|
||||
return m_nodeCount;
|
||||
}
|
||||
|
||||
T* Alloc()
|
||||
{
|
||||
TNode* pnewNode;
|
||||
|
||||
if (m_pFreeList)
|
||||
{
|
||||
pnewNode = m_pFreeList;
|
||||
m_pFreeList = m_pFreeList->m_pNext;
|
||||
}
|
||||
else
|
||||
{
|
||||
pnewNode = AllocNode();
|
||||
}
|
||||
|
||||
if (!pnewNode)
|
||||
return NULL;
|
||||
|
||||
if (!m_pUsedList)
|
||||
{
|
||||
m_pUsedList = pnewNode;
|
||||
m_pUsedList->m_pPrev = m_pUsedList->m_pNext = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pUsedList->m_pPrev = pnewNode;
|
||||
pnewNode->m_pNext = m_pUsedList;
|
||||
pnewNode->m_pPrev = NULL;
|
||||
m_pUsedList = pnewNode;
|
||||
}
|
||||
//Tracef("%s Pool Alloc %p\n", m_stName.c_str(), pnewNode);
|
||||
return (T*) pnewNode;
|
||||
}
|
||||
|
||||
void Free(T * pdata)
|
||||
{
|
||||
TNode* pfreeNode = (TNode*) pdata;
|
||||
|
||||
if (pfreeNode == m_pUsedList)
|
||||
{
|
||||
if (NULL != (m_pUsedList = m_pUsedList->m_pNext))
|
||||
m_pUsedList->m_pPrev = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pfreeNode->m_pNext)
|
||||
pfreeNode->m_pNext->m_pPrev = pfreeNode->m_pPrev;
|
||||
|
||||
if (pfreeNode->m_pPrev)
|
||||
pfreeNode->m_pPrev->m_pNext = pfreeNode->m_pNext;
|
||||
}
|
||||
|
||||
pfreeNode->m_pPrev = NULL;
|
||||
pfreeNode->m_pNext = m_pFreeList;
|
||||
m_pFreeList = pfreeNode;
|
||||
//Tracef("%s Pool Free\n", m_stName.c_str());
|
||||
}
|
||||
|
||||
void FreeAll()
|
||||
{
|
||||
TNode * pcurNode;
|
||||
TNode * pnextNode;
|
||||
|
||||
pcurNode = m_pUsedList;
|
||||
|
||||
while (pcurNode)
|
||||
{
|
||||
pnextNode = pcurNode->m_pNext;
|
||||
Free(pcurNode);
|
||||
pcurNode = pnextNode;
|
||||
}
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
TNode* pcurNode;
|
||||
TNode* pnextNode;
|
||||
|
||||
DWORD count = 0;
|
||||
|
||||
pcurNode = m_pFreeList;
|
||||
while (pcurNode)
|
||||
{
|
||||
pnextNode = pcurNode->m_pNext;
|
||||
delete pcurNode;
|
||||
pcurNode = pnextNode;
|
||||
++count;
|
||||
}
|
||||
m_pFreeList = NULL;
|
||||
|
||||
pcurNode = m_pUsedList;
|
||||
while (pcurNode)
|
||||
{
|
||||
pnextNode = pcurNode->m_pNext;
|
||||
delete pcurNode;
|
||||
pcurNode = pnextNode;
|
||||
++count;
|
||||
}
|
||||
|
||||
m_pUsedList = NULL;
|
||||
|
||||
assert(count==m_nodeCount && "CDynamicPool::Clear()");
|
||||
|
||||
m_nodeCount=0;
|
||||
}
|
||||
|
||||
protected:
|
||||
TNode* AllocNode()
|
||||
{
|
||||
++m_nodeCount;
|
||||
return new TNode;
|
||||
}
|
||||
|
||||
protected:
|
||||
TNode * m_nodes;
|
||||
TNode * m_pFreeList;
|
||||
TNode * m_pUsedList;
|
||||
|
||||
DWORD m_nodeCount;
|
||||
std::string m_stName;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,6 +0,0 @@
|
||||
#ifndef __INC_SERVICE_H__
|
||||
#define __INC_SERVICE_H__
|
||||
|
||||
//#define __AUCTION__
|
||||
#define __PET_SYSTEM__
|
||||
#endif
|
@ -1,44 +0,0 @@
|
||||
#ifndef __INC_SINGLETON_H__
|
||||
#define __INC_SINGLETON_H__
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
template <typename T> class singleton
|
||||
{
|
||||
public:
|
||||
static T * ms_singleton;
|
||||
|
||||
singleton()
|
||||
{
|
||||
assert(!ms_singleton);
|
||||
long offset = (long) (T*) 1 - (long) (singleton <T>*) (T*) 1;
|
||||
ms_singleton = (T*) ((long) this + offset);
|
||||
}
|
||||
|
||||
virtual ~singleton()
|
||||
{
|
||||
assert(ms_singleton);
|
||||
ms_singleton = 0;
|
||||
}
|
||||
|
||||
static T & instance()
|
||||
{
|
||||
assert(ms_singleton);
|
||||
return (*ms_singleton);
|
||||
}
|
||||
|
||||
static T & Instance()
|
||||
{
|
||||
assert(ms_singleton);
|
||||
return (*ms_singleton);
|
||||
}
|
||||
|
||||
static T * instance_ptr()
|
||||
{
|
||||
return (ms_singleton);
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T> T * singleton <T>::ms_singleton = NULL;
|
||||
|
||||
#endif
|
136
common/stl.h
136
common/stl.h
@ -1,136 +0,0 @@
|
||||
#ifndef __INC_METIN_II_STL_H__
|
||||
#define __INC_METIN_II_STL_H__
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include <list>
|
||||
#include <functional>
|
||||
#include <stack>
|
||||
#include <set>
|
||||
#ifdef __GNUC__
|
||||
#include <ext/functional>
|
||||
#endif
|
||||
|
||||
#ifndef itertype
|
||||
#define itertype(v) typeof((v).begin())
|
||||
#endif
|
||||
|
||||
inline void stl_lowers(std::string& rstRet)
|
||||
{
|
||||
for (size_t i = 0; i < rstRet.length(); ++i)
|
||||
rstRet[i] = tolower(rstRet[i]);
|
||||
}
|
||||
|
||||
struct stringhash
|
||||
{
|
||||
size_t operator () (const std::string & str) const
|
||||
{
|
||||
const unsigned char * s = (const unsigned char*) str.c_str();
|
||||
const unsigned char * end = s + str.size();
|
||||
size_t h = 0;
|
||||
|
||||
while (s < end)
|
||||
{
|
||||
h *= 16777619;
|
||||
h ^= *(s++);
|
||||
}
|
||||
|
||||
return h;
|
||||
}
|
||||
};
|
||||
|
||||
// code from tr1/functional_hash.h
|
||||
template<typename T>
|
||||
struct hash;
|
||||
|
||||
template<typename _Tp>
|
||||
struct hash<_Tp*>
|
||||
: public std::unary_function<_Tp*, std::size_t>
|
||||
{
|
||||
std::size_t
|
||||
operator()(_Tp* __p) const
|
||||
{ return reinterpret_cast<std::size_t>(__p); }
|
||||
};
|
||||
|
||||
namespace std
|
||||
{
|
||||
template <class container, class Pred>
|
||||
void erase_if (container & a, typename container::iterator first, typename container::iterator past, Pred pred)
|
||||
{
|
||||
while (first != past)
|
||||
if (pred(*first))
|
||||
a.erase(first++);
|
||||
else
|
||||
++first;
|
||||
}
|
||||
|
||||
template <class container>
|
||||
void wipe(container & a)
|
||||
{
|
||||
typename container::iterator first, past;
|
||||
|
||||
first = a.begin();
|
||||
past = a.end();
|
||||
|
||||
while (first != past)
|
||||
delete *(first++);
|
||||
|
||||
a.clear();
|
||||
}
|
||||
|
||||
template <class container>
|
||||
void wipe_second(container & a)
|
||||
{
|
||||
typename container::iterator first, past;
|
||||
|
||||
first = a.begin();
|
||||
past = a.end();
|
||||
|
||||
while (first != past)
|
||||
{
|
||||
delete first->second;
|
||||
++first;
|
||||
}
|
||||
|
||||
a.clear();
|
||||
}
|
||||
|
||||
template <class _Ty>
|
||||
class void_mem_fun_t : public unary_function<_Ty *, void>
|
||||
{
|
||||
public:
|
||||
explicit void_mem_fun_t(void (_Ty::*_Pm)()) : _Ptr(_Pm)
|
||||
{
|
||||
}
|
||||
|
||||
void operator()(_Ty* p) const
|
||||
{
|
||||
((p->*_Ptr)());
|
||||
}
|
||||
|
||||
private:
|
||||
void (_Ty::*_Ptr)();
|
||||
};
|
||||
|
||||
template<class _Ty> inline
|
||||
void_mem_fun_t<_Ty> void_mem_fun(void (_Ty::*_Pm)())
|
||||
{ return (void_mem_fun_t<_Ty>(_Pm)); }
|
||||
|
||||
template<class _Ty>
|
||||
class void_mem_fun_ref_t : public unary_function<_Ty, void>
|
||||
{
|
||||
public:
|
||||
explicit void_mem_fun_ref_t(void (_Ty::*_Pm)()) : _Ptr(_Pm) {}
|
||||
void operator()(_Ty& x) const
|
||||
{ return ((x.*_Ptr)()); }
|
||||
private:
|
||||
void (_Ty::*_Ptr)();
|
||||
};
|
||||
|
||||
template<class _Ty> inline
|
||||
void_mem_fun_ref_t<_Ty> void_mem_fun_ref(void (_Ty::*_Pm)())
|
||||
{ return (void_mem_fun_ref_t< _Ty>(_Pm)); }
|
||||
};
|
||||
|
||||
#endif
|
1452
common/tables.h
1452
common/tables.h
File diff suppressed because it is too large
Load Diff
@ -1,20 +0,0 @@
|
||||
/*********************************************************************
|
||||
* date : 2007.06.07
|
||||
* file : teen_packet.h
|
||||
* author : mhh
|
||||
* description :
|
||||
*/
|
||||
|
||||
#ifndef _teen_packet_h_
|
||||
#define _teen_packet_h_
|
||||
|
||||
#define HEADER_GT_LOGIN 0x10
|
||||
#define HEADER_GT_LOGOUT 0x11
|
||||
|
||||
|
||||
#define HEADER_TG_TEEN_NOTICE 0x12
|
||||
#define HEADER_TG_FORCE_LOGOUT 0x13
|
||||
#define HEADER_TG_LOGIN_NOTICE 0x14
|
||||
|
||||
#endif /* _teen_packet_h_ */
|
||||
|
@ -1,74 +0,0 @@
|
||||
/*----- atoi function -----*/
|
||||
inline bool str_to_number (bool& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (strtol(in, NULL, 10) != 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (char& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (char) strtol(in, NULL, 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (unsigned char& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (unsigned char) strtoul(in, NULL, 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (short& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (short) strtol(in, NULL, 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (unsigned short& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (unsigned short) strtoul(in, NULL, 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (int& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (int) strtol(in, NULL, 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (unsigned int& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (unsigned int) strtoul(in, NULL, 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (int64_t& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (int64_t) strtoull(in, NULL, 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool str_to_number (float& out, const char *in)
|
||||
{
|
||||
if (0==in || 0==in[0]) return false;
|
||||
|
||||
out = (float) strtof(in, NULL);
|
||||
return true;
|
||||
}
|
||||
|
||||
/*----- atoi function -----*/
|
@ -1,15 +0,0 @@
|
||||
#ifndef __INC_METIN_II_VERSION_H__
|
||||
#define __INC_METIN_II_VERSION_H__
|
||||
|
||||
#include <ostream>
|
||||
|
||||
#define __REVISION__ "@METIN2_REVISION@"
|
||||
#define __COMMIT_DATE__ @METIN2_LAST_CHANGED_DATE@
|
||||
#define __COMMIT_TAG__ "@METIN2_LATEST_TAG@"
|
||||
#define __OS_NAME__ "@METIN2_OS_NAME@"
|
||||
#define __COMPILER__ "@METIN2_COMPILER@"
|
||||
#define __CPU_TARGET__ "@METIN2_CPU_TARGET@"
|
||||
|
||||
void WriteVersion(std::ostream& out);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user