1
0
forked from metin2/server
server/game/src/cube.h
2022-03-05 12:44:06 +02:00

66 lines
1.3 KiB
C++

/*********************************************************************
* date : 2006.11.20
* file : cube.h
* author : mhh
* description : 큐브시스템
*/
#ifndef _cube_h_
#define _cube_h_
#define CUBE_MAX_NUM 24 // OLD:INVENTORY_MAX_NUM
#define CUBE_MAX_DISTANCE 1000
struct CUBE_VALUE
{
DWORD vnum;
int count;
bool operator == (const CUBE_VALUE& b)
{
return (this->count == b.count) && (this->vnum == b.vnum);
}
};
struct CUBE_DATA
{
std::vector<WORD> npc_vnum;
std::vector<CUBE_VALUE> item;
std::vector<CUBE_VALUE> reward;
int percent;
unsigned int gold; // 제조시 필요한 금액
CUBE_DATA();
bool can_make_item (LPITEM *items, WORD npc_vnum);
CUBE_VALUE* reward_value ();
void remove_material (LPCHARACTER ch);
};
void Cube_init ();
bool Cube_load (const char *file);
bool Cube_make (LPCHARACTER ch);
void Cube_clean_item (LPCHARACTER ch);
void Cube_open (LPCHARACTER ch);
void Cube_close (LPCHARACTER ch);
void Cube_show_list (LPCHARACTER ch);
void Cube_add_item (LPCHARACTER ch, int cube_index, int inven_index);
void Cube_delete_item (LPCHARACTER ch, int cube_index);
void Cube_request_result_list(LPCHARACTER ch);
void Cube_request_material_info(LPCHARACTER ch, int request_start_index, int request_count = 1);
// test print code
void Cube_print();
bool Cube_InformationInitialize();
#endif /* _cube_h_ */