781 lines
24 KiB
C
781 lines
24 KiB
C
#ifndef __CHAR_H__
|
||
#define __CHAR_H__
|
||
|
||
#include "common.h"
|
||
#include "char_base.h"
|
||
#include "net.h"
|
||
#include "char_data.h"
|
||
|
||
|
||
/*------------------------------------------------------------
|
||
*겜핀숭旣섟羚섟읔症
|
||
*------------------------------------------------------------*/
|
||
typedef enum
|
||
{
|
||
CHAR_COLORWHITE,
|
||
CHAR_COLORCYAN,
|
||
CHAR_COLORPURPLE,
|
||
CHAR_COLORBLUE,
|
||
CHAR_COLORYELLOW,
|
||
CHAR_COLORGREEN,
|
||
CHAR_COLORRED,
|
||
CHAR_COLORGRAY,
|
||
CHAR_COLORBLUE2,
|
||
CHAR_COLORGREEN2,
|
||
CHAR_COLORBLACK,
|
||
}CHAR_COLOR;
|
||
/*====================틱텀력섟履纛긷橈豚墩橈今====================*/
|
||
void CHAR_createNewChar( int clifd, int dataplacenum,char* charname ,
|
||
int imgno,int faceimgno,
|
||
int vital,int str,int tgh,int dex,
|
||
int earth,int water,int fire,int wind,
|
||
int hometown , char *cdkey );
|
||
|
||
/*====================틱텀력섟뤼븍켈숭====================*/
|
||
|
||
void CHAR_login( int clifd, char* data, int saveindex );
|
||
|
||
#define CHAR_warpToSpecificPoint( cindex, fl, x, y) _CHAR_warpToSpecificPoint( __FILE__, __LINE__, cindex, fl, x, y)
|
||
BOOL _CHAR_warpToSpecificPoint( char *file, int line,
|
||
int charaindex, int fl, int x, int y);
|
||
|
||
|
||
/*====================틱텀력섟굶∋튄====================*/
|
||
/*====================틱텀력섟뤼븍呵劍旣====================*/
|
||
BOOL CHAR_charSaveFromConnectAndChar( int fd,Char* ch, int unlock );
|
||
BOOL CHAR_charSaveFromConnect( int charaindex,int unlock );
|
||
#define CHAR_logout( charindex, save) _CHAR_logout( __FILE__, __LINE__, charindex, save)
|
||
BOOL _CHAR_logout( char *file, int line, int charindex, BOOL save);
|
||
|
||
/*====================watch event ====================*/
|
||
void CHAR_sendWatchEvent( int objindex, int chac, int* opt,int optlen,BOOL myflg );
|
||
|
||
/*====================뎀틱삼====================*/
|
||
BOOL CHAR_Skillupsend(int charaindex );
|
||
void CHAR_SkillUp( int charaindex, int skillid );
|
||
void CHAR_useSkill( int charaindex, int dir ,int skindex );
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_WALKSUCCESSED, /* 纛 */
|
||
CHAR_WALKSYSTEMERROR, /* 팝뎀 馬앵력∋ 섟index췽콩湛盃긷
|
||
* 뤼焞쒜쒜焞禁敎쒜 */
|
||
CHAR_WALKEXTEND, /* 혐璘∋逕∋抹뺏衾놈덮敎抹禁[NPC긷섟懃*/
|
||
CHAR_WALKHITOBJECT, /* 擄쒜 긷周焞뺏}衾麥痲쒜焞禁 */
|
||
CHAR_WALKPREWALK, /* prewalk켈챙숭旣튈衾麥痲쒜焞禁( 祐셈 ) */
|
||
CHAR_WALKDIE, /* <20>幹튈櫓뺏衾麥痲櫓 */
|
||
CHAR_WALK1357, /* 깃빵 殞긷衾놈덮敎抹뺏衾麥痲쒜焞禁 */
|
||
}CHAR_WALKRET;
|
||
|
||
/*====================틱텀력섟舒 긷橈豚墩橈今====================*/
|
||
void CHAR_ctodirmode(char moji , int* dir , int* mode);
|
||
INLINE void CHAR_getDXDY( int dir , int* dx, int* dy );
|
||
INLINE int CHAR_getDX( int dir );
|
||
INLINE int CHAR_getDY( int dir );
|
||
int CHAR_getSameCoordinateObjects(int* objbuf, int siz,int ff, int fx, int fy);
|
||
void CHAR_walkcall( int index );
|
||
void CHAR_walk_start(int index, int x, int y, char* dir, BOOL mapsendmode);
|
||
void CHAR_walk_init( int fd, int x, int y, char *direction, BOOL mapsendmode);
|
||
|
||
CHAR_WALKRET CHAR_walk(int index, int dir, int mode);
|
||
|
||
#ifdef _CAX_LNS_NLGSUOXU
|
||
CHAR_WALKRET CHAR_walk_jjc( int index, int floor, int ox, int oy, int dir);
|
||
CHAR_WALKRET CHAR_walk_jc( int charaindex, int of, int ox, int oy, int dir );//쇱꿴품렘崍강
|
||
#endif
|
||
|
||
char* CHAR_makeOptionString( Char* ch );
|
||
char* CHAR_makeStatusString( int index, char* category );
|
||
|
||
#define CHAR_makeObjectCString( objindex, buf, buflen) _CHAR_makeObjectCString( __FILE__, __LINE__, objindex, buf, buflen)
|
||
BOOL _CHAR_makeObjectCString( char *file, int line, int objindex, char* buf, int buflen );
|
||
|
||
//BOOL CHAR_sendStatusString( int charaindex, char* category );
|
||
#define CHAR_sendStatusString( A, B) _CHAR_sendStatusString( A, B, __FILE__, __LINE__ )
|
||
BOOL _CHAR_sendStatusString( int charaindex, char* category, char* file, int line );
|
||
BOOL CHAR_sendItemData( int charaindex, int *itemgroup, int num);
|
||
BOOL CHAR_sendItemDataOne( int charaindex, int haveitemindex);
|
||
BOOL CHAR_send_P_StatusString( int charaindex, unsigned int indextable );
|
||
BOOL CHAR_send_N_StatusString( int charaindex, int num, unsigned int indextable );
|
||
BOOL CHAR_send_K_StatusString( int charaindex, int num, unsigned int indextable );
|
||
|
||
void CHAR_inputOwnTitle( int index ,char* name );
|
||
|
||
void CHAR_selectTitle( int index, int titleindex );
|
||
void CHAR_deleteTitle( int index, int titleindex );
|
||
|
||
#define CHAR_complianceParameter( index) _CHAR_complianceParameter( index, __FILE__, __LINE__)
|
||
int _CHAR_complianceParameter( int index, char *FILE, int LINE);
|
||
int CHAR_complianceParameter2( int index);
|
||
|
||
int CHAR_findSurplusItemBox( int index );
|
||
int CHAR_findEmptyItemBox( int index );
|
||
int CHAR_findEmptyPoolItemBox( int index );
|
||
int CHAR_findEmptyItemBoxNo( int index );
|
||
|
||
void CHAR_moveEquipItem( int index, int fromindex, int toindex );
|
||
#ifdef _PET_ITEM
|
||
void CHAR_movePetItem( int index, int petid, int fromindex, int toindex );
|
||
void CHAR_sendPetItemData( int charaindex, int petid);
|
||
#endif
|
||
void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex );
|
||
void CHAR_DropItem( int charaindex, int itemindex );
|
||
int CHAR_DropItemAbsolute( int itemindex, int floor, int x, int y,BOOL net);
|
||
BOOL CHAR_DropItemFXY( int charaindex, int itemcharaindex, int fl,
|
||
int x, int y, int* objindex );
|
||
int CHAR_addItemSpecificItemIndex( int charaindex, int itemindex );
|
||
|
||
void CHAR_PickUpItem( int charaindex, int dir );
|
||
void CHAR_DropMoney( int charaindex, int amount );
|
||
int CHAR_addItem( int charaindex, int itemid );
|
||
int CHAR_addItemToChar( Char* ch, int itemid );
|
||
|
||
int CHAR_pickupFollowPet( int charaindex, int petindex );
|
||
|
||
#ifdef _GAMBLE_ROULETTE
|
||
int NPC_MAPCLEANGOLD( int meindex , int floor);
|
||
#endif
|
||
|
||
#ifdef _DROPSTAKENEW
|
||
#define MAXSTAKENUM 5
|
||
int CasinoAccumulation(int charindex, int npcindex, int floor, int wincasinotype);
|
||
void CHAR_talkToFloor(int floor, int talkindex, char* message, CHAR_COLOR color);
|
||
int SetCasinoMap(int npcindex, int casinotype, int mapdropflag);
|
||
int CasinoPay(int npcindex, int wincasinotype);
|
||
#endif
|
||
|
||
void CHAR_sendCSpecifiedObjindex( int fd, int index);
|
||
void CHAR_sendSpecifiedobjindexCToCharaindex(int charaindex,int objindex);
|
||
|
||
void CHAR_sendCToArroundCharacter( int charaindex );
|
||
|
||
void CHAR_sendArroundCharaData( int charaindex );
|
||
|
||
void CHAR_sendCDArroundChar( int fl, int x, int y, int objindex );
|
||
void CHAR_sendCDArroundChar_Main( int fl, int x, int y, int objindex, BOOL mode );
|
||
|
||
|
||
void CHAR_Look( int charaindex, int dir );
|
||
|
||
void CHAR_initChatMagic(void);
|
||
|
||
char* CHAR_appendNameAndTitle( int charaindex, char* src, char* buf,
|
||
int buflen );
|
||
void CHAR_Talk( int fd, int index,char* message,int color, int area );
|
||
|
||
void CHAR_Loop( void );
|
||
|
||
#ifdef _PET_ITEM
|
||
void CHAR_sendPetItemData( int charaindex, int petid);
|
||
void CHAR_sendPetItemEmpty( int charaindex, int petid);
|
||
#endif
|
||
|
||
#define WINDOW_BUTTONTYPE_NONE (0)
|
||
#define WINDOW_BUTTONTYPE_OK (1 << 0)
|
||
#define WINDOW_BUTTONTYPE_CANCEL (1 << 1)
|
||
#define WINDOW_BUTTONTYPE_YES (1 << 2)
|
||
#define WINDOW_BUTTONTYPE_NO (1 << 3)
|
||
#define WINDOW_BUTTONTYPE_PREV (1 << 4)
|
||
#define WINDOW_BUTTONTYPE_NEXT (1 << 5)
|
||
|
||
#define WINDOW_BUTTONTYPE_OKCANCEL (WINDOW_BUTTONTYPE_OK | WINDOW_BUTTONTYPE_CANCEL)
|
||
#define WINDOW_BUTTONTYPE_YESNO (WINDOW_BUTTONTYPE_YES | WINDOW_BUTTONTYPE_NO)
|
||
|
||
|
||
typedef enum
|
||
{
|
||
WINDOW_MESSAGETYPE_MESSAGE,
|
||
WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT,
|
||
WINDOW_MESSAGETYPE_SELECT,
|
||
WINDOW_MESSAGETYPE_PETSELECT,
|
||
WINDOW_MESSAGETYPE_PARTYSELECT,
|
||
WINDOW_MESSAGETYPE_PETANDPARTYSELECT,
|
||
WINDOW_MESSAGETYPE_ITEMSHOPMENU,
|
||
WINDOW_MESSAGETYPE_ITEMSHOPMAIN,
|
||
WINDOW_MESSAGETYPE_LIMITITEMSHOPMAIN,
|
||
WINDOW_MESSAGETYPE_PETSKILLSHOP,
|
||
WINDOW_MESSAGETYPE_WIDEMESSAGE,
|
||
WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT,
|
||
WINDOW_MESSAGETYPE_POOLITEMSHOPMENU,
|
||
WINDOW_MESSAGETYPE_POOLITEMSHOPMAIN,
|
||
|
||
WINDOW_MESSAGETYPE_FAMILYADD,
|
||
WINDOW_MESSAGETYPE_FAMILYJOIN,
|
||
WINDOW_MESSAGETYPE_FAMILYOUT,
|
||
WINDOW_MESSAGETYPE_FAMILYEND,
|
||
//=======================================
|
||
// shan add
|
||
WINDOW_FMMESSAGETYPE_SELECT,
|
||
WINDOW_FMMESSAGETYPE_DENGON,
|
||
WINDOW_FMMESSAGETYPE_FMSDENGON,
|
||
WINDOW_FMMESSAGETYPE_POINTLIST,
|
||
#ifdef _FMVER21
|
||
WINDOW_FMMESSAGETYPE_TOP30DP,
|
||
#endif
|
||
WINDOW_FMMESSAGETYPE_DP,
|
||
WINDOW_MESSAGETYPE_BANK,
|
||
|
||
// Arminius 7.12 scheduleman
|
||
WINDOW_MESSAGETYPE_PKSCHEDULELIST,
|
||
WINDOW_MESSAGETYPE_PKSCHEDULESELECTFAMILY,
|
||
WINDOW_MESSAGETYPE_PKSCHEDULEDETAIL,
|
||
|
||
// Robin
|
||
WINDOW_MESSAGETYPE_LOGINMESSAGE,
|
||
WINDOW_MESSAGETYPE_FAMILYTAX,
|
||
WINDOW_MESSAGETYPE_SHOWRIDEPET,
|
||
WINDOW_MESSAGETYPE_FAMILYDETAIL,
|
||
|
||
WINDOW_MESSAGETYPE_LEADERSELECT,
|
||
WINDOW_MESSAGETYPE_LEADERSELECTQ,
|
||
WINDOW_MESSAGETYPE_LEADERSELECTA,
|
||
|
||
// Arminius 1.3 Auctioneer
|
||
WINDOW_MESSAGETYPE_AUCTIONNEW,
|
||
WINDOW_MESSAGETYPE_AUCTIONLIST_BUY,
|
||
WINDOW_MESSAGETYPE_AUCTIONSURVEY,
|
||
WINDOW_MESSAGETYPE_AUCTIONMODIFY,
|
||
WINDOW_MESSAGETYPE_AUCTIONLIST_MODIFY,
|
||
#ifdef _NPC_FUSION
|
||
WINDOWS_MESSAGETYPE_PETFUSION,
|
||
#endif
|
||
|
||
#ifdef _PETSKILL_CANNEDFOOD
|
||
WINDOWS_MESSAGETYPE_PETSKILLSHOW,
|
||
#endif
|
||
|
||
#ifdef _PROFESSION_SKILL // WON ADD 훙膠斂撚세콘
|
||
WINDOW_MESSAGETYPE_PROFESSIONSHOP,
|
||
#endif
|
||
|
||
#ifdef _NEW_MANOR_LAW
|
||
WINDOW_FMMESSAGETYPE_10_MEMONTUM, // 枷댕폭覺소痢
|
||
WINDOW_FMMESSAGETYPE_FM_MEMONTUM, // 菱성소痢폭覺탤츰
|
||
WINDOW_FMMESSAGETYPE_MANOR_SCHEDULE, // 鯨濫鏤蹈탤契
|
||
#endif
|
||
|
||
#ifdef _ANGEL_SUMMON
|
||
WINDOW_MESSAGETYPE_ANGELMESSAGE = 101,
|
||
WINDOW_MESSAGETYPE_ANGELASK,
|
||
#endif
|
||
|
||
#ifdef _MOUSE_DBL_CLICK
|
||
WINDOW_MESSAGETYPE_MOUSEGETNAME,
|
||
#endif
|
||
|
||
#ifdef _RACEMAN
|
||
WINDOW_MESSAGETYPE_RACEMAN_RANK,
|
||
#endif
|
||
|
||
WINDOW_MESSAGETYPE_RANDMSG_PIC=999,
|
||
|
||
}WINDOW_MESSAGETYPE;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_WINDOWTYPE_RETURNTOELDER=-1, /* 端 넹 墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_RESURRECTION=-2, /* 呻梏豚墩劍큰숭圖劍 */
|
||
|
||
CHAR_WINDOWTYPE_SELECTBATTLE = 1, /* 墩얽 챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTDUEL = 2, /* 墩DUEL챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTTRADECARD = 3, /* 階뫄쑨챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTPARTY = 4, /* 譚∋ 큰챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTBATTLEWATCH = 5, /* 펙얽챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_MICMESSAGE = 6, /* MICNPC챘陵焞뺏헝墩劍큰숭圖劍 */
|
||
|
||
// CoolFish: Trade 2001/4/18
|
||
CHAR_WINDOWTYPE_SELECTTRADE = 7, /* 슥弄 Window */
|
||
|
||
CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE1 = 10, /* 鏶챘 됨豚墩呵켈 馬챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE2 = 11, /* 鏶챘 됨豚墩呵켈 馬챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE3 = 12, /* 鏶챘 됨豚墩呵켈 馬챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE4 = 13, /* 鏶챘 됨豚墩呵켈 馬챘섶 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME = 14, /* 鏶챘 豚墩劍큰숭圖劍 */
|
||
CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME_ATTENTION = 15, /* 鏶챘 豚墩劍큰숭圖劍 */
|
||
|
||
CHAR_WINDOWTYPE_DENGON = 50, /* 炭苽 */
|
||
|
||
CHAR_WINDOWTYPE_WINDOWMAN_START = 100,
|
||
CHAR_WINDOWTYPE_WINDOWMAN_STARTMSG = CHAR_WINDOWTYPE_WINDOWMAN_START,
|
||
CHAR_WINDOWTYPE_WINDOWMAN_END = 200,
|
||
|
||
CHAR_WINDOWTYPE_JANKEN_START = 210,
|
||
CHAR_WINDOWTYPE_JANKEN_MAIN = 211,
|
||
CHAR_WINDOWTYPE_JANKEN_END = 212,
|
||
|
||
CHAR_WINDOWTYPE_TRANSMIGRATION_START = 213,
|
||
CHAR_WINDOWTYPE_TRANSMIGRATION_MAIN = 214,
|
||
CHAR_WINDOWTYPE_TRANSMIGRATION_END = 215,
|
||
CHAR_WINDOWTYPE_TRANSMIGRATION_NONE = 216,
|
||
|
||
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_START = 220,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_STARTMSG = CHAR_WINDOWTYPE_WINDOWHEALER_START,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_HPMSG = 221,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_OKHPMSG = 222,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_SPIRITMSG = 223,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_OKSPIRITMSG = 224,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_ALLMSG = 225,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_OKALLMSG = 226,
|
||
CHAR_WINDOWTYPE_WINDOWHEALER_END = 227,
|
||
|
||
CHAR_WINDOWTYPE_WINDOWSAVEPOINT_START = 230,
|
||
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG = 231,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_NOWEVENT = 232,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_ENDEVENT = 233,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_REQMAINMSG = 234,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_ACCMAINMSG = 235,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_NOMALMSG = 236,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_CLEANMSG = 237,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_REQTHANK = 238,
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANK = 239,
|
||
|
||
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_START = 240,
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_STARTMSG = CHAR_WINDOWTYPE_WINDOWITEMSHOP_START,
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_MENU = 241,
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_BUY_MSG = 242,
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_SELL_MSG = 243,
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_END = 244,
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_LIMIT = 245,
|
||
CHAR_WINDOWTYPE_WINDOWITEMSHOP_EXPRESS = 246,
|
||
|
||
CHAR_WINDOWTYPE_DUELRANKING_START = 250,
|
||
CHAR_WINDOWTYPE_DUELRANKING_TOPRANKING = 251,
|
||
CHAR_WINDOWTYPE_DUELRANKING_MYRANKING = 252,
|
||
CHAR_WINDOWTYPE_DUELRANKING_WAIT = 253,
|
||
CHAR_WINDOWTYPE_DEFEND_BILLDBOARD = 254,
|
||
|
||
CHAR_WINDOWTYPE_WINDOWPETSKILLSHOP = 260,
|
||
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_START = 261,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_PETSELECT = 262,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_MAIN = 263,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_GOLDOVER = 264,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_PETSELECT2 = 265,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_MAIN2 = 266,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_DRAWSELECT = 267,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_ASKDRAW = 268,
|
||
CHAR_WINDOWTYPE_WINDOWPETSHOP_END = 269,
|
||
|
||
CHAR_WINDOWTYPE_WINDOWWARPMAN_MAIN = 271,
|
||
CHAR_WINDOWTYPE_WINDOWWARPMAN_ERR = 272,
|
||
CHAR_WINDOWTYPE_WINDOWWARPMAN_END = 273,
|
||
|
||
CHAR_WINDOWTYPE_NPCENEMY_START = 281,
|
||
|
||
CHAR_WINDOWTYPE_CHARM_START = 282,
|
||
CHAR_WINDOWTYPE_CHARM_END = 283,
|
||
|
||
CHAR_WINDOWTYPE_QUIZ_START = 284,
|
||
CHAR_WINDOWTYPE_QUIZ_MAIN = 285,
|
||
CHAR_WINDOWTYPE_QUIZ_END = 286,
|
||
|
||
CHAR_WINDOWTYPE_CHECKMAN_START = 287,
|
||
CHAR_WINDOWTYPE_CHECKMAN_MAIN = 288,
|
||
CHAR_WINDOWTYPE_CHECKMAN_END = 289,
|
||
|
||
CHAR_WINDOWTYPE_FAMILYMAN_START = 320,
|
||
CHAR_WINDOWTYPE_FAMILYMAN_ADD = 321,
|
||
CHAR_WINDOWTYPE_FAMILYMAN_JOIN = 322,
|
||
CHAR_WINDOWTYPE_FAMILYMAN_OUT = 323,
|
||
CHAR_WINDOWTYPE_FAMILYMAN_BROKEN = 324,
|
||
|
||
CHAR_WINDOWTYPE_BANKMAN = 330,
|
||
|
||
// CoolFish: FMPKMan 2001/7/4
|
||
CHAR_WINDOWTYPE_FMPKMAN_START = 340,
|
||
CHAR_WINDOWTYPE_FMPKMAN_VIEW = 341,
|
||
CHAR_WINDOWTYPE_FMPKMAN_LEAVEPK = 342,
|
||
CHAR_WINDOWTYPE_FMPKCALLMAN_START = 345,
|
||
CHAR_WINDOWTYPE_FMPKCALLMAN_CALL = 346,
|
||
CHAR_WINDOWTYPE_FMPKCALLMAN_COME = 347,
|
||
CHAR_WINDOWTYPE_FMPKCALLMAN_LEAVE = 348,
|
||
|
||
// Arminius 7.13 scheduleman
|
||
CHAR_WINDOWTYPE_SCHEDULEMAN_START = 350,
|
||
CHAR_WINDOWTYPE_SCHEDULEMAN_SELECT = 351,
|
||
CHAR_WINDOWTYPE_SCHEDULEMAN_DETAIL = 352,
|
||
|
||
// Arminius 7.27
|
||
CHAR_WINDOWTYPE_MANORPK_START = 360,
|
||
CHAR_WINDOWTYPE_MANORPK_ASK = 361,
|
||
CHAR_WINDOWTYPE_MANORPK_END = 362,
|
||
|
||
// shan
|
||
CHAR_WINDOWTYPE_FM_DENGON = 370, // 소痢즛喇겼
|
||
CHAR_WINDOWTYPE_FM_FMSDENGON = 371, // 소痢裂쇌즛喇겼
|
||
CHAR_WINDOWTYPE_FM_MESSAGE1 = 372, // 綱츠柬눗(앴듐)
|
||
CHAR_WINDOWTYPE_FM_MESSAGE2 = 373, // 綱츠柬눗(냥逃)
|
||
CHAR_WINDOWTYPE_FM_SELECT = 374, // 朞淃柬눗
|
||
CHAR_WINDOWTYPE_FM_MEMBERLIST = 375, // 냥逃죗깊
|
||
CHAR_WINDOWTYPE_FM_POINTLIST = 376, // 앴듐죗깊
|
||
CHAR_WINDOWTYPE_FM_DPTOP = 377, // 퓻諒깊(품힝枷댕죗골)
|
||
CHAR_WINDOWTYPE_FM_DPME = 378, // 퓻諒깊(菱성돨죗골)
|
||
CHAR_WINDOWTYPE_FM_DPSELECT = 379, // 퓻諒깊돨朞淃柬눗
|
||
|
||
#ifdef _PET_TRANS
|
||
CHAR_WINDOWTYPE_PETTRANS_START = 384,
|
||
CHAR_WINDOWTYPE_PETTRANS_SELECT = 385,
|
||
CHAR_WINDOWTYPE_PETTRANS_SELPET = 386,
|
||
CHAR_WINDOWTYPE_PETTRANS_MAIN1 = 387,
|
||
CHAR_WINDOWTYPE_PETTRANS_END = 389,
|
||
#endif
|
||
|
||
#ifdef _GAMBLE_BANK
|
||
NPC_GambleBank_START = 390,
|
||
NPC_GambleBank_SELECT,
|
||
NPC_GambleBank_BANK,
|
||
NPC_GambleBank_CHANG1,
|
||
NPC_GambleBank_CHANG2,
|
||
NPC_GambleBank_END,
|
||
#endif
|
||
|
||
#ifdef _PETRACE
|
||
CHAR_WINDOWTYPE_PETRACEMASTER_START = 410,
|
||
CHAR_WINDOWTYPE_PETRACEMASTER_RULE,
|
||
CHAR_WINDOWTYPE_PETRACEMASTER_PET,
|
||
CHAR_WINDOWTYPE_PETRACEMASTER_LEAVE,
|
||
#endif
|
||
|
||
#ifdef _GAMBLE_ROULETTE
|
||
WINDOWTYPE_GAMBLEROULETTE_START = 415,
|
||
WINDOWTYPE_GAMBLEROULETTE_SELECT,
|
||
WINDOWTYPE_GAMBLEROULETTE_END,
|
||
#endif
|
||
|
||
#ifdef _NEWEVENT
|
||
CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANKNEW = 430,
|
||
#endif
|
||
|
||
#ifdef _TRANSER_MAN
|
||
NPC_TRANSERMAN_START = 440,
|
||
NPC_TRANSERMAN_SELECT,
|
||
NPC_TRANSERMAN_WARP,
|
||
NPC_TRANSERMAN_END,
|
||
#endif
|
||
#ifdef _ITEM_NPCCHANGE
|
||
NPC_ITEMCHANGE_START = 445,
|
||
NPC_ITEMCHANGE_SELECT,
|
||
NPC_ITEMCHANGE_MESSAGE,
|
||
NPC_ITEMCHANGE_END,
|
||
#endif
|
||
#ifdef _ADD_FAMILY_TAX // WON ADD 藤속鏤蹈江澗
|
||
CHAR_WINDOWTYPE_FAMILY_TAX = 450,
|
||
#endif
|
||
|
||
#ifdef _ALLDOMAN // (꼇옵역) Syu ADD 탤契골NPC
|
||
NPC_ALLDOMAN_START = 460,
|
||
NPC_ALLDOMAN_START2,
|
||
NPC_ALLDOMAN_START3,
|
||
NPC_ALLDOMAN_HEAL,
|
||
NPC_ALLDOMAN_GIVEMONEY,
|
||
NPC_ALLDOMAN_MAIN_WND ,
|
||
NPC_ALLDOMAN_SELECT_WND ,
|
||
NPC_ALLDOMAN_LIST_WND ,
|
||
#endif
|
||
|
||
#ifdef _PETSKILL_CANNEDFOOD
|
||
ITEM_WINDOWTYPE_SELECTPETSKILL_SELECT = 470,
|
||
ITEM_WINDOWTYPE_SELECTPETSKILL_END,
|
||
#endif
|
||
|
||
#ifdef _NPC_WELFARE
|
||
NPC_WELFARE_START = 480,
|
||
NPC_WELFARE_END,
|
||
#endif
|
||
|
||
#ifdef _NPC_DEPOTPET
|
||
CHAR_WINDOWTYPE_DEPOTPETSHOP_MENU = 510,
|
||
CHAR_WINDOWTYPE_DEPOTPETSHOP_HANDLE,
|
||
CHAR_WINDOWTYPE_DEPOTPETSHOP_ADD,
|
||
CHAR_WINDOWTYPE_DEPOTPETSHOP_GET,
|
||
CHAR_WINDOWTYPE_DEPOTPETSHOP_ASKADD,
|
||
CHAR_WINDOWTYPE_DEPOTPETSHOP_ASKGET,
|
||
#endif
|
||
|
||
#ifdef _ANGEL_SUMMON
|
||
CHAR_WINDOWTYPE_ANGEL_ASK = 520,
|
||
CHAR_WINDOWTYPE_ANGEL_CLEAN,
|
||
#endif
|
||
|
||
#ifdef _SAFE_PASSWORD
|
||
CHAR_WINDOWTYPE_SAFE_PASSWORD1 = 530,
|
||
CHAR_WINDOWTYPE_SAFE_PASSWORD2 = 540,
|
||
CHAR_WINDOWTYPE_SAFE_PASSWORD3,
|
||
#endif
|
||
|
||
#ifdef _POINT_CARD
|
||
CHAR_WINDOWTYPE_POINT_CARD = 550,
|
||
#endif
|
||
CHAR_WINDOWTYPE_RAND_WARP = 560,
|
||
CHAR_WINDOWTYPE_RAND_MSG = 561,
|
||
CHAR_WINDOWTYPE_ITEM_MSG = 562,
|
||
|
||
CHAR_STREETVENDOR_SELECT = 570,
|
||
CHAR_WINDOWTYPE_QUESTIONONLINE = 580,
|
||
#ifdef _SQL_BUY_FUNC
|
||
CHAR_WINDOWTYPE_ONLINE_BUY,
|
||
#endif
|
||
#ifdef _PET_RESET
|
||
CHAR_WINDOWTYPE_RESETPET,
|
||
CHAR_WINDOWTYPE_RESETBDPET,
|
||
#endif
|
||
#ifdef _ZHIPIAO_SYSTEM
|
||
CHAR_WINDOWTYPE_ZHIPIAO_1,
|
||
CHAR_WINDOWTYPE_ZHIPIAO_2,
|
||
CHAR_WINDOWTYPE_ZHIPIAO_3,
|
||
#endif
|
||
#ifdef _NO_DROPITEM
|
||
CHAR_WINDOWTYPE_DROPITEM,
|
||
#endif
|
||
#ifdef _NPC_ITEMUP
|
||
NPC_ITEMUP_START,
|
||
NPC_ITEMUP_SELECT1,
|
||
NPC_ITEMUP_SELECT2,
|
||
NPC_ITEMUP_MESSAGE,
|
||
NPC_ITEMUP_END,
|
||
#endif
|
||
#ifdef _ITEM_RESET
|
||
CHAR_WINDOWTYPE_RESETITEM,
|
||
CHAR_WINDOWTYPE_DELITEM,
|
||
#endif
|
||
CHAR_WINDOWTYPE_RAND1_EDITBASE,
|
||
CHAR_WINDOWTYPE_RAND2_EDITBASE,
|
||
CHAR_WINDOWTYPE_RAND3_EDITBASE,
|
||
CHAR_WINDOWTYPE_RAND4_EDITBASE,
|
||
#ifdef _MM_NO_JIAOBEN
|
||
CHAR_WINDOWTYPE_RAND1_DROPMM,
|
||
CHAR_WINDOWTYPE_RAND2_DROPMM,
|
||
CHAR_WINDOWTYPE_RAND3_DROPMM,
|
||
CHAR_WINDOWTYPE_RAND4_DROPMM,
|
||
CHAR_WINDOWTYPE_RAND1_FLLOWMM,
|
||
CHAR_WINDOWTYPE_RAND2_FLLOWMM,
|
||
CHAR_WINDOWTYPE_RAND3_FLLOWMM,
|
||
CHAR_WINDOWTYPE_RAND4_FLLOWMM,
|
||
#endif
|
||
#ifdef _FM_NPC_LOOK_WAR
|
||
NPC_FMLOOKWARMAN_START,
|
||
NPC_FMLOOKWARMAN_SELECT,
|
||
NPC_FMLOOKWARMAN_LOOK,
|
||
#endif
|
||
#ifdef _FM_NPC_LOOK_WAR1
|
||
NPC_FMLOOKWARMAN1_START,
|
||
NPC_FMLOOKWARMAN1_SELECT,
|
||
NPC_FMLOOKWARMAN1_LOOK,
|
||
#endif
|
||
#ifdef _DP_ZHIPIAO_ITEM
|
||
CHAR_WINDOWTYPE_DPZHIPIAO_1,
|
||
CHAR_WINDOWTYPE_DPZHIPIAO_2,
|
||
CHAR_WINDOWTYPE_DPZHIPIAO_3,
|
||
#endif
|
||
#ifdef _NPC_RAND_MSG
|
||
CHAR_WINDOWTYPE_NPC_RAND1_MSG,
|
||
CHAR_WINDOWTYPE_NPC_RAND2_MSG,
|
||
CHAR_WINDOWTYPE_NPC_RAND3_MSG,
|
||
CHAR_WINDOWTYPE_NPC_RAND4_MSG,
|
||
#endif
|
||
CHAR_WINDOWTYPE_NPCENEMY_RAND_MSG,
|
||
CHAR_WINDOWTYPE_LUANPC_RANDMSG,
|
||
#ifdef _NULL_CHECK_ITEM
|
||
CHAR_WINDOWTYPE_NULL_CHECK,
|
||
#endif
|
||
}CHAR_WINDOWTYPE;
|
||
|
||
#ifdef _GMRELOAD
|
||
typedef struct tagGMInfo
|
||
{
|
||
char cdkey[24];
|
||
int level;
|
||
}GMInfo;
|
||
#endif
|
||
|
||
|
||
#ifdef _ANGEL_SUMMON
|
||
|
||
#define MAXMISSION 100
|
||
#define MAXMISSIONTABLE 200
|
||
|
||
struct MissionInfo
|
||
{
|
||
int id;
|
||
char detail[1024];
|
||
int level;
|
||
char eventflag[1024];
|
||
//char bonus[1024];
|
||
int limittime;
|
||
};
|
||
|
||
struct MissionTable
|
||
{
|
||
char angelinfo[128];
|
||
char heroinfo[128];
|
||
int mission;
|
||
int flag;
|
||
int time;
|
||
int limittime;
|
||
};
|
||
|
||
extern struct MissionInfo missionlist[MAXMISSION];
|
||
extern struct MissionTable missiontable[MAXMISSIONTABLE];
|
||
|
||
#endif
|
||
|
||
#ifdef _JOBDAILY
|
||
|
||
#define MAXDAILYLIST 1000
|
||
#define MAXMISSIONFLAG 1000
|
||
typedef struct _DailyFileType
|
||
{
|
||
int jobid; //훨蛟긍뵀
|
||
char rule[64]; //係숭털뙤
|
||
char explain[64]; //훨蛟綱츠
|
||
char state[64]; //榴檄綱츠
|
||
}DailyFileType;
|
||
//extern struct DailyFileType dailyfile[MAXDAILYLIST];
|
||
|
||
#endif
|
||
|
||
BOOL CHAR_talkToCli( int talkedcharaindex,int talkcharaindex, char* message, CHAR_COLOR color );
|
||
void system_all_talk( char* data );
|
||
void player_all_talk( int charaindex, char* data );
|
||
void CHAR_talkToCliAndParty( int talkedcharaindex,int talkcharaindex,char* message, CHAR_COLOR color );
|
||
|
||
BOOL CHAR_talkToCharacter( int talkedcharaindex,int talkcharaindex, char* message );
|
||
void CHAR_getCoordinationDir( int dir , int x, int y ,int c,
|
||
int *xout , int *yout );
|
||
BOOL CHAR_createCharacter( int type, int floor, int x, int y, int dir,
|
||
int* charaindex, int* objindex, BOOL seemap );
|
||
void CHAR_CharaDelete( int charaindex );
|
||
void CHAR_ObjectDelete( int objindex );
|
||
int CHAR_makeDBKey( int charaindex, char *pszBuffer, int size );
|
||
int CHAR_getEmptyPartyArray( int charaindex);
|
||
int CHAR_getPartyNum( int charaindex);
|
||
BOOL CHAR_JoinParty( int charaindex );
|
||
BOOL CHAR_JoinParty_Main( int charaindex, int targetindex);
|
||
BOOL CHAR_DischargeParty( int charaindex, int flg);
|
||
BOOL CHAR_DischargePartyNoMsg( int charaindex);
|
||
BOOL CHAR_setMyPosition_main( int index, int x, int y, int setdir, BOOL CAFlg);
|
||
BOOL CHAR_setMyPosition( int index, int x, int y, BOOL CAFlg);
|
||
|
||
void CHAR_CharaDeleteHavePet( int charaindex);
|
||
int CHAR_sendAction( int charaindex, int action, int mode);
|
||
void CHAR_sendLeader( int objindex, int leader);
|
||
void CHAR_sendBattleWatch( int objindex, int onoff);
|
||
void CHAR_sendBattleEffect( int charaindex, int onoff);
|
||
|
||
// shan
|
||
void CHAR_sendTradeEffect( int charaindex, int onoff);
|
||
#ifdef _MIND_ICON
|
||
void CHAR_sendMindEffect( int charaindex, int onoff);
|
||
#endif
|
||
#ifdef _ITEM_CRACKER
|
||
void CHAR_sendCrackerEffect( int charaindex, int onoff);
|
||
#endif
|
||
|
||
void CHAR_inputUserPetName( int index , int havepetindex, char* name );
|
||
int CHAR_getPartyIndex( int index, int num);
|
||
void CHAR_processWindow(int charaindex, int seqno, int select,
|
||
int objindex, char* data );
|
||
void CHAR_AddCharm( int charaindex, int iValue );
|
||
void CHAR_PetAddVariableAi( int petindex, int iValue );
|
||
void CHAR_PartyUpdate( int charaindex, int senddata );
|
||
char *CHAR_getUseName( int charaindex );
|
||
char *CHAR_getUseID( int charaindex );
|
||
EXTERN int EnemyMoveNum; /* 줍긷 涎 麥墩냐섟今 */
|
||
|
||
#define DB_DUELPOINT "db_duel" // 렇磨앵삼뵤켈숭旣렇∋攣챙∋뎀
|
||
#define DB_ADDRESSBOOK "db_addressbook" // 呵圖怒뎀튄湛盃렇∋攣챙∋뎀
|
||
|
||
BOOL CHAR_send_DpDBUpdate( int charaindex );
|
||
BOOL CHAR_send_DpDBUpdate_AddressBook( int charaindex, int mode );
|
||
|
||
|
||
void CHAR_sendPMEToArroundCharacter( int charaindex, int petindex, int flg, int no );
|
||
void CHAR_sendPMEToArroundCharacterFLXY( int petindex,
|
||
int fl, int x, int y, int dir, int flg, int no );
|
||
|
||
void CHAR_sendSEoArroundCharacter( int fl, int x, int y, int senumber, int sw );
|
||
|
||
BOOL CHAR_initEffectSetting( char* filename );
|
||
void CHAR_checkEffect( int charaindex);
|
||
void CHAR_checkEffectLoop( void);
|
||
void CHAR_initDebugChatCdkey( void);
|
||
int CHAR_setChatMagicCDKey( int mode, char *cdkey);
|
||
|
||
|
||
float GetRecoveryRate( int charaindex );
|
||
int storeCharaData( void );
|
||
#ifdef _MAGIC_REHPAI //껸沂AI
|
||
int Magic_RideGetHP( int toindex, int petindex, int flg);
|
||
#endif
|
||
// CoolFish: Trade 2001/4/18
|
||
int CHAR_findTotalEmptyItem(int index);
|
||
|
||
|
||
#ifdef _FIX_METAMORIDE
|
||
int CHAR_CHECKJOINENEMY( int index);
|
||
#endif
|
||
|
||
#ifdef _SEND_EFFECT // WON ADD AC箇苟汽、苟黛된景槻
|
||
#define CHAR_EFFECT_SETTINGBUFFER 256
|
||
typedef struct tagCHAR_effectsetting
|
||
{
|
||
int floor; // 겜뤼呵
|
||
int effect; // <09>헝 캄
|
||
int level; // <09>헝섟怒챙삼[ 眞섟衿쏟[
|
||
int sendflg; // 謄앵겜콩盃旣챘岡焞禁쒜<E7A681>덮쒜[
|
||
char month[CHAR_EFFECT_SETTINGBUFFER]; // 득豚墩샛
|
||
char day[CHAR_EFFECT_SETTINGBUFFER]; // 득豚墩
|
||
char hour[CHAR_EFFECT_SETTINGBUFFER]; // 득豚墩줍춈
|
||
char min[CHAR_EFFECT_SETTINGBUFFER]; // 득豚墩裴
|
||
char expire[CHAR_EFFECT_SETTINGBUFFER]; // 득抹뺏櫓墩端쏟[(
|
||
|
||
}CHAR_effectsetting;
|
||
|
||
CHAR_effectsetting* CHAR_effect;
|
||
int CHAR_effectnum;
|
||
#endif
|
||
|
||
#ifdef _ITEM_PILENUMS
|
||
int CHAR_getMyMaxPilenum( int charaindex);
|
||
#endif
|
||
|
||
#ifdef _PET_LOSTPET
|
||
BOOL CHAR_CharSaveLostPet( int petindex, int type);
|
||
#endif
|
||
#ifdef _ALLDOMAN
|
||
void InitHeroList( void);
|
||
#endif
|
||
#endif
|
||
|
||
#ifdef _STREET_VENDOR
|
||
void CHAR_sendStreetVendor(int charaindex,char *message);
|
||
void CHAR_sendStreetVendorDataToCli(int charaindex,int toindex);
|
||
void CHAR_sendStreetVendorOneDataToCli(int charaindex,int toindex,int sendindex);
|
||
#endif
|
||
|
||
BOOL checkUnlawWarpFloor( int floor);
|
||
|
||
#ifdef _HELP_NEWHAND
|
||
void CHAR_loginAddItemForNew( int charaindex );
|
||
#endif
|
||
|
||
#ifdef _JOBDAILY
|
||
void CHAR_JobDaily(int charaindex,char *data);
|
||
#endif
|
||
|
||
#ifdef _TEACHER_SYSTEM
|
||
void CHAR_Teacher_system(int charaindex,char *data);
|
||
void CHAR_Teacher_system_View(int charaindex,int iOnLine,char *data);
|
||
#endif
|
||
|
||
#ifdef _TIME_TICKET
|
||
void check_TimeTicket();
|
||
int check_TimeTicketMap(int floor);
|
||
#endif
|
||
|
||
void CHAR_CheckItemTime( int charaindex );
|
||
void CHAR_loginCheckUserItem( int charaindex);
|