⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datatypes.h.svn-base

📁 ROSE的源代码。了解的自己研究,编译通过
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
/*
    Rose Online Server Emulator
    Copyright (C) 2006,2007 OSRose Team http://www.osrose.net
    
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

    depeloped with Main erose/hrose source server + some change from the original eich source        
*/
#ifndef __ROSE_DATATYPES__
#define __ROSE_DATATYPES__

//*upgraded status
//#define NULL 2
#define STRENGTH 10
#define DEXTERY 11
#define INTELIGENCE 12
#define CONCENTRATION 13
#define CHARM 14
#define SENSE 15
#define C_HP 16
#define C_MP 17
#define ATTACK_POWER 18
#define ACCURY 20
#define MAGIC_RESISTENCE 21
#define DODGE 22
#define MOVE_SPEED 23
#define ATTACK_SPEED 24
#define INV_CAPACITY 25
#define CRITICAL 26
#define ONE_HAND_WEAP_AP 42
#define TWO_HAND_WEAP_AP 43
#define MOV_SPEED 52
#define DEFENSE 53
#define MAX_HP 54
#define MAX_MP 55
#define HP_REC_AMONT 56
#define MP_REC_RATE 57
#define BAGPACK_CAPACITY 58
#define MP_COST_RED 61
#define SUMMON_GAUGE 62
#define ATK_ACCURACY 99
#define SHIELD_DEFENSE 102
#define ONE_HAND_SWORD_AP 104
#define ONE_HAND_MELEE_AP 105
#define TWO_HAND_SWORD_AP 106
#define TWO_HAND_SPEAR_AP 107
#define TWO_HAND_AXE_AP 108
#define BOW_AP 109
#define GUN_AP 110
#define LAUNCHER_AP 111
#define STAFF_POWER 113
#define WAND_POWER 114
#define KATAR_AP 115
#define DUALSWORD_AP 116
#define BOW_ATK_SPD 123
#define GUN_ATK_SPD 124
#define LAUNCHER_ATK_SPD 125
#define KATAR_ATK_SPD 129 
#define DUALSWORD_ATK_SPD 130

//*status/condition
#define A_STR 10
#define A_DEX 11
#define A_INT 12
#define A_CON 13
#define A_CHA 14
#define A_SEN 15
#define A_HP 16 
#define A_MP 17
#define A_ATTACK 18 
#define A_DEFENSE 19
#define A_ACCUR 20 
#define A_MRESIST 21
#define A_DODGE 22
#define A_DASH 23 
#define A_HASTE 24 
#define A_INVENTORY_CAPACITY 25
#define A_CRITICAL 26
#define A_HP_REC_RATE 27
#define A_MP_REC_RATE 28
#define A_MP_CONSUMATION 29
#define A_MAX_HP 38
#define A_MAX_MP 39
#define A_STUN 40
#define A_MUTE 41
#define A_POISON 42


//*spawn values
//BYTE1
#define UNK1 0x01
#define MAX_HP_MP 0x02//revizar
#define POISED 0x04
#define UNK2 0x08
#define MP_UP 0x10//revizar
#define HP_UP 0x20//revizar
#define DASH_UP 0x40
#define DASH_DOWN 0x80
//BYTE2
#define HASTE_UP 0x01
#define HASTE_DOWN 0x02
#define ATTACK_UP 0x04
#define ATTACK_DOWN 0x08
#define DEFENSE_UP 0x10
#define DEFENSE_DOWN 0x20
#define MDEFENSE_UP 0x40
#define MDEFENSE_DOWN 0x80
//BYTE3
#define HITRATE_UP 0x01
#define HITRATE_DOWN 0x02
#define CRITICAL_UP 0x04
#define CRITICAL_DOWN 0x08
#define DODGE_UP 0x10
#define SUMMON 0x20
#define MUTED 0x40
#define SLEEPING 0x80
//BYTE4
#define STUN 0x01
#define INVISIBLE_1 0x02
#define INVISIBLE_2 0x04
#define UNK3 0x08
#define DAMAGE_UP 0x10
#define SUMMON 0x20 
#define UNK4 0x40
#define UNK5 0x80

//Stance
#define ATTACKING 1
#define WALKING 2
#define RUNNING 3
#define DRIVING 4

//Target Type
#define T_MONSTER 1
#define T_PLAYER 2
#define T_SELF 3
#define T_PARTY 4
#define T_OTHER 5

// attack type
#define NORMAL_ATTACK 1
#define SKILL_ATTACK 2
#define SKILL_BUFF 3
#define SKILL_AOE 4
#define SKILL_SELF 5
#define BUFF_SELF 6
#define BUFF_AOE 7
#define AOE_TARGET 8

// other constants
#define MAX_SKILL 60
#define SKILL_DELAY 500 //ms

// weapon type
#define ONE_HAND_SWORD 211
#define ONE_HAND_BUNT_SWORD 212
#define TWO_HAND_SWORD 221
#define SPEAR 222
#define TWO_HAND_AXE 223
#define BOW 231
#define GUN 232
#define LAUNCHER 233
#define STAFF 241
#define WAND 242
#define KATAR 251
#define DOUBLE_SWORD 252
#define DUAL_GUN 253
#define CROSSBOW 271

//equip type
#define MASK 1
#define CAP 2
#define BODY 3
#define GLOVE 4
#define SHOE 5
#define BACK 6
#define JEWEL 7
#define WEAPON 8
#define SUBWEAPON 9
#define CONSUMIBLE 10
#define JEM 11
#define NATURAL 12
#define QUEST 13
#define PAT 14

//time
#define DAY 0
#define MORNING 1
#define EVENING 2
#define NIGHT 3

#include "../common/sockets.h"

// Hold party experience when kill a moster
struct CPartyExp
{
    class CParty* thisparty;
    UINT exp;        
    UINT num;
    UINT partymember[50];
    UINT maxlevel;
    bool flag;
};

// Equip information
struct CEquip
{
    UINT id;
    UINT equiptype;
    UINT type;
    UINT price;
    UINT pricerate;
    UINT weight;
    UINT quality;
    UINT level;
    UINT material;
    UINT occupation[3];
    UINT condition1[3];
    UINT condition2[3];
    UINT stat1[2];
    UINT stat2[2];
    UINT defense;
    UINT magicresistence;
    UINT attackdistance;
    UINT attackpower;
    UINT attackspeed;
    UINT itemgrade;
    UINT movespeed;
};

// Jem Data
struct CJemData
{
    UINT id;
    UINT type;
    UINT price;
    UINT pricerate;
    UINT weight;
    UINT quality;
    UINT material;
    UINT stat1[2];/**/
    UINT stat2[2];/**/
};

// natural data
struct CNaturalData
{
    UINT id;
    UINT type;
    UINT price;
    UINT pricerate;
    UINT weight;
    UINT quality;
    UINT pricevalue; 
};

// pat data
struct CPatData
{
    UINT id;
    UINT type;
    UINT price;
    UINT pricerate;
    UINT weight;
    UINT quality;
    UINT material;
    UINT partversion;
    UINT maxfuel;
    UINT fuelcons;
    UINT speed;
    UINT attackdistance;
    UINT attackpower;
    UINT attackspeed;  
};

struct CProductData
{
    UINT id;
    UINT item[50];
    UINT amount[50];
};

struct CCSellData
{
    UINT id;
    UINT item[48];
};

struct CUseData
{
    UINT id;;
    UINT restriction;
    UINT type;
    UINT price;
    UINT pricerate;
    UINT weight;
    UINT quality;
    UINT usecondition[2];
    UINT useeffect[2];
    UINT pricevalue;
};

// List Mob Data
struct CNPCData {  
    UINT id;
    UINT life;
    UINT wspeed;
    UINT rspeed;
    UINT dspeed;
    UINT weapon;
    UINT subweapon;
    UINT level;
    UINT hp;
    UINT atkpower;
    UINT hitrate;
    UINT defense;
    UINT magicdefense;
    UINT dodge;
    float atkspeed;
    UINT AI;
    UINT exp;
  	UINT dropid;    
  	UINT money;
  	UINT item;
  	UINT tab1;
  	UINT tab2;
  	UINT tab3;
  	UINT specialtab;
    float atkdistance;
    UINT aggresive;
    UINT shp;
    UINT dialogid;
};

// Store the damage for monster to give exp
struct MonsterDamage
{
    UINT charid;
    long int damage;
};

struct CDropInfo
{
    BYTE type;
    DWORD item;
    QWORD prob;
};

// For store the drops info
struct CMDrops
{
    UINT id; 
    UINT zuly;
    UINT zulyprob;
    vector<CDropInfo*> Drops;
    UINT level_min;//for map drops
    UINT level_max;//for map drops
    UINT level_boss;//for map drops
    UINT probmax;
};

// For store the Buff info
struct CBuff
{
    unsigned int Buff;//store the buff type
    unsigned int value1;//buff value 1 (direct)
    unsigned int value2;//buff value 2 (%)
    unsigned int Evalue;//Extra value 1 (buffer int +)
    unsigned int Duration; //Skill Duration
    clock_t bufftime;//Buff Time
};

// -----------------------------------------------------------------------------------------
// For store the Buff info
// -----------------------------------------------------------------------------------------
struct CBuffValue
{
    int value1;
    int value2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -