160 lines
4.1 KiB
C
160 lines
4.1 KiB
C
|
|
#ifndef _DB_RANK_H_
|
|||
|
|
#define _DB_RANK_H_
|
|||
|
|
|
|||
|
|
#include "container/static_array_list.h"
|
|||
|
|
#include "common/datalist.h"
|
|||
|
|
#include "common/gem_def.h"
|
|||
|
|
#include "item_data.h"
|
|||
|
|
#include "wing_data.h"
|
|||
|
|
#include "achieve_data.h"
|
|||
|
|
|
|||
|
|
using namespace container;
|
|||
|
|
|
|||
|
|
#define MAX_USER_EQUIP 19
|
|||
|
|
#define MAX_PET_SKILL 16
|
|||
|
|
#define MAX_PET_BASE 8
|
|||
|
|
#define MAX_FIGHT 40
|
|||
|
|
#define NEED_REMEMBER_PROPERTY 20
|
|||
|
|
#define MAX_PET_EQUIP 4
|
|||
|
|
enum RankType
|
|||
|
|
{
|
|||
|
|
rtNone = 0,
|
|||
|
|
rtFightVal = 1, // ս<><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
rtLevel = 2, // <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
rtCharmWeek = 3,// ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
rtAchieve = 4, // <20>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
rtPet = 5, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>
|
|||
|
|
rtMount = 6, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
rtWing = 7, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>
|
|||
|
|
rtSpirit = 8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
rtCharm = 9, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
|
|||
|
|
rtRoot = 10, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>ã<EFBFBD>
|
|||
|
|
rtMax,
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#pragma pack(push, 1)
|
|||
|
|
struct RankDbItem
|
|||
|
|
{
|
|||
|
|
ActorId actorId_;
|
|||
|
|
int rankId_; // <20><><EFBFBD>а<EFBFBD><D0B0>ı<EFBFBD><C4B1><EFBFBD>
|
|||
|
|
int point_; // <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵȼ<C7B5><C8BC><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵȼ<C7B5><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ)
|
|||
|
|
int camp_; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
|
|||
|
|
int level_; // <20>ȼ<EFBFBD>
|
|||
|
|
int job_; // ְҵ
|
|||
|
|
int sex_; // <20>Ա<EFBFBD>
|
|||
|
|
int fightVal_; // ս<><D5BD><EFBFBD><EFBFBD>
|
|||
|
|
int mount_id_;// <20><><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ڿͻ<DABF><CDBB><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int spirit_id_; // <20><><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>磬<EFBFBD><E7A3AC><EFBFBD>ڿͻ<DABF><CDBB><EFBFBD>ȡ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>ע<EFBFBD>⣬<EFBFBD><E2A3AC>Щ<EFBFBD>ֶ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int wing_; // <20><><EFBFBD><EFBFBD>id
|
|||
|
|
int pet_type_; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
|
|||
|
|
int pet_id_; // <20><><EFBFBD><EFBFBD>id
|
|||
|
|
int qq_vip_; // qqvip<69>ȼ<EFBFBD>
|
|||
|
|
int weapon_; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int model_; // <20>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int hair_; // ͷ<><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int stone_effect_;//<2F><>ʯ<EFBFBD><CAAF>Ч
|
|||
|
|
int stage_effect_;//<2F><EFBFBD><D7BC><EFBFBD>Ч
|
|||
|
|
int wing_model_;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int last_rank_; // <20><>һ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int like_; //<2F><><EFBFBD><EFBFBD><DEB4><EFBFBD>
|
|||
|
|
int srvid_; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
|
|||
|
|
char actorName_[32]; //<2F><>ɫ<EFBFBD><C9AB>
|
|||
|
|
char guild_[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
char petName_[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
static const int MAX_COUNT = 100;
|
|||
|
|
|
|||
|
|
RankDbItem() : actorId_(0), rankId_(0), point_(0), camp_(0), level_(1), job_(0), sex_(0), fightVal_(0), mount_id_(0),
|
|||
|
|
spirit_id_(0), wing_(0), pet_type_(0), pet_id_(0), qq_vip_(0), weapon_(0), model_(0), hair_(0), stone_effect_(0), stage_effect_(0), wing_model_(0), last_rank_(0), like_(0), srvid_(0)
|
|||
|
|
{
|
|||
|
|
actorName_[0] = 0;
|
|||
|
|
guild_[0] = 0;
|
|||
|
|
petName_[0] = 0;
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
#pragma pack(pop)
|
|||
|
|
|
|||
|
|
|
|||
|
|
#pragma pack(push, 1)
|
|||
|
|
struct PetRankDbItem
|
|||
|
|
{
|
|||
|
|
ActorId actorId_;
|
|||
|
|
int jingjie_; //<2F><><EFBFBD>ᄈ<EFBFBD><EFBEB3>
|
|||
|
|
int nature_; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD>
|
|||
|
|
short pet_type_; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idx
|
|||
|
|
short skill_count_; //<2F><><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
|
|||
|
|
int skill_list_[MAX_PET_SKILL]; //һ<><D2BB>int<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id<69>͵ȼ<CDB5> (<28><>16 <20><><EFBFBD><EFBFBD>id <20><>16 <20>ȼ<EFBFBD>)
|
|||
|
|
StaticDataList<ItemData, MAX_PET_EQUIP> items_;//<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
|
|||
|
|
|
|||
|
|
static const int MAX_COUNT = 100;
|
|||
|
|
|
|||
|
|
PetRankDbItem() : actorId_(0), jingjie_(0), nature_(0), pet_type_(0), skill_count_(0)
|
|||
|
|
{
|
|||
|
|
memset(skill_list_, 0, sizeof(skill_list_));
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
#pragma pack(pop)
|
|||
|
|
|
|||
|
|
typedef StaticArrayList<RankDbItem, RankDbItem::MAX_COUNT> RankList;
|
|||
|
|
typedef StaticArrayList<PetRankDbItem, PetRankDbItem::MAX_COUNT> PetRankList;
|
|||
|
|
|
|||
|
|
typedef StaticHashTable<int, RankDbItem::MAX_COUNT> LastRankList;
|
|||
|
|
typedef StaticDataList<RankList, rtMax> AllRankList;
|
|||
|
|
typedef StaticDataList<LastRankList, rtMax> AllLastRankList;
|
|||
|
|
|
|||
|
|
#pragma pack(push, 1)
|
|||
|
|
struct RankData
|
|||
|
|
{
|
|||
|
|
int property_[NEED_REMEMBER_PROPERTY]; //<2F><><EFBFBD><EFBFBD>ֵ
|
|||
|
|
int fight_list_[MAX_FIGHT]; //ս<><D5BD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|
|||
|
|
RankData()
|
|||
|
|
{
|
|||
|
|
memset(property_, (int)0, sizeof(property_));
|
|||
|
|
memset(fight_list_, (int)-1, sizeof(fight_list_));
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
#pragma pack(pop)
|
|||
|
|
|
|||
|
|
|
|||
|
|
struct ActorRankData
|
|||
|
|
{
|
|||
|
|
ActorId actorId_; //<2F><>ɫid
|
|||
|
|
int dragon_; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ(<28><><EFBFBD><EFBFBD>)
|
|||
|
|
int hasMount_; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//MountDataDb mount_data_;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
StaticDataList<ItemData, MAX_USER_EQUIP> items_;//<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
|
|||
|
|
int hasWing_; //<2F>Ƿ<EFBFBD><C7B7>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WingRankDbData wing_data_;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int hasSpirit_; //<2F>Ƿ<EFBFBD><C7B7>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SpiritRankData spirit_data_; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
AchieveRankData achieve_data_; //<2F>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
RankData rank_data_; //<2F><><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
uint8_t rankNum_[rtMax]; // <20><>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>0
|
|||
|
|
|
|||
|
|
ActorRankData() : actorId_(0), dragon_(0), hasMount_(0), hasWing_(0), hasSpirit_(0)
|
|||
|
|
{
|
|||
|
|
memset(rankNum_, 0, sizeof(rankNum_));
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct ActorRankDataEx
|
|||
|
|
{
|
|||
|
|
ActorRankData base_;
|
|||
|
|
char guild_[32]; // <20><><EFBFBD>࣬<EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int mount_id_; // <20><><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ڿͻ<DABF><CDBB><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int spirit_id_; // <20><><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>磬<EFBFBD><E7A3AC><EFBFBD>ڿͻ<DABF><CDBB><EFBFBD>ȡ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>ע<EFBFBD>⣬<EFBFBD><E2A3AC>Щ<EFBFBD>ֶ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int root_; // <20><><EFBFBD><EFBFBD><EFBFBD>ĵȼ<C4B5><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int wing_; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
ActorRankDataEx() : mount_id_(0), spirit_id_(0), root_(0), wing_(0)
|
|||
|
|
{
|
|||
|
|
guild_[0] = 0;
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|