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

📄 px_ls_skill.h

📁 MMORPG游戏服务器端架构及函数
💻 H
字号:
#pragma	  once

/* must been first include begin */
#include "..\ProjectX_Common\ProjectX_Copyright.h"
#include "..\ProjectX_Common\ProjectX_Common.h"
/* must been first include end */

/* std and common include */
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>


//技能

//以下为定义技能类型
#define SKILL_TYPE_ACTIVE_DAMAGE		1		//主动伤害
#define SKILL_TYPE_PASSIVE_DAMAGE		2		//被动伤害
#define SKILL_TYPE_RECOVERY				3		//恢复
#define SKILL_TYPE_PLUS					4		//增益

typedef struct tagSkill {
	byte	skill_id;
	struct tagSkill * pNext;
}SKILL, * LPSKILL;

/************************************************************************
以下为角色或者类似主体可以使用的技能说明
约定:
1 技能在此ProjectX中,细分为几种类型技能(主动攻击型的,被动攻击型的,防御型的,增益型的,区域影响型的)
2 每一种技能可以同时对单一主体,也可能同时对多于一个主体,起作用

************************************************************************/
//主动技能
typedef struct tagSkill_Active_Damage {
	int		index;
	char	name[MAX_SKILL_NAME_LEN];
	byte	type;								//火系?冰系?毒系?电系?魔法系?物理系?
	int		level_req;							//需求最低等级
	int		strength_req;						//最低力量需求
	int		agility_req;						//最低敏捷需求
	int		wit_req;							//最低智力需求
	int		command_req;						//最低统率需求
	int		dmg_min;							//最小伤害
	int		dmg_max;							//最大伤害
	int		startup_frame_req;					//启动帧数
	int		persist_frame_req;					//持续帧数
	int		cooling_frame_req;					//冷却帧数
	int		delay_frame_req;					//延迟帧数
	int		risist_physics;						//抵抗物理伤害
	int		risist_cold;						//抵抗冰系伤害
	int		risist_fire;						//抵抗火系伤害
	int		risist_poison;						//抵抗毒系伤害
	int		risist_lighting;					//抵抗电系伤害	
	int		risist_magic;						//抵抗魔法伤害
	int		hp_consume;							//hp消耗
	int		mana_consume;						//mana消耗
	int		sp_consume;							//需要消耗掉的skill_point,即类似AG点数
	BOOL	region;								//是否是区域技能
	int		gender_req;							//性别专属
	BOOL	hunman_use;							//人类能否使用
	BOOL	hun_use;							//野蛮人
	BOOL	sorcer_use;							//法师
	BOOL	genius_use;							//精灵
	BOOL	bowman_use;							//弓弩手
	BOOL	taoist_use;							//道士
	BOOL	nodead_use;							//亡灵
	BOOL	craftsman_use;						//匠人
	BOOL	knight_use;							//骑士	
	struct tagSkill_Active_Damage * pNext;
}SKILL_ACTIVE_DAMAGE, * LPSKILL_ACTIVE_DAMAGE;

//被动技能
typedef struct tagSkill_Passive_Damage {
	int		index;								//序号
	char	name[MAX_SKILL_NAME_LEN];			//名称	
	int		level_req;							//需求最低等级
	int		strength_req;						//最低力量需求
	int		agility_req;						//最低敏捷需求
	int		wit_req;							//最低智力需求
	int		command_req;						//最低统率需求
	int		dmg_min;							//最小伤害
	int		dmg_max;							//最大伤害
	int		delay_frame_req;					//延迟帧数
	int		risist_physics;						//抵抗物理伤害
	int		risist_cold;						//抵抗冰系伤害
	int		risist_fire;						//抵抗火系伤害
	int		risist_poison;						//抵抗毒系伤害
	int		risist_lighting;					//抵抗电系伤害	
	int		risist_magic;						//抵抗魔法伤害
	float	evade_enhance;						//躲避几率提升
	float	hp_enhance;							//hp最大提升
	float	mana_enhance;						//mana最大提升
	float	defence_enhance;					//防御加强
	int		hp_consume;							//hp消耗
	int		mana_consume;						//mana消耗
	int		sp_consume;							//需要消耗掉的skill_point,即类似AG点数
	BOOL	region;								//是否是区域技能
	int		gender_req;							//性别专属
	BOOL	hunman_use;							//人类能否使用
	BOOL	hun_use;							//野蛮人
	BOOL	sorcer_use;							//法师
	BOOL	genius_use;							//精灵
	BOOL	bowman_use;							//弓弩手
	BOOL	taoist_use;							//道士
	BOOL	nodead_use;							//亡灵
	BOOL	craftsman_use;						//匠人
	BOOL	knight_use;							//骑士	
}SKILL_PASSIVE_DAMAGE, * LPSKILL_PASSIVE_DAMAGE;

//增益技能
typedef struct tagSkill_Plus {
	int		index;
	char	name[MAX_SKILL_NAME_LEN];
	int		level_req;							//需求最低等级
	int		strength_req;						//最低力量需求
	int		agility_req;						//最低敏捷需求
	int		wit_req;							//最低智力需求
	int		command_req;						//最低统率需求
	int		dmg_min;							//最小伤害
	int		dmg_max;							//最大伤害
	int		startup_frame_req;					//启动帧数
	int		persist_frame_req;					//持续帧数
	int		cooling_frame_req;					//冷却帧数
	int		delay_frame_req;					//延迟帧数
	float	physic_damage_enhance;				//物理伤害提升
	float	fire_damage_enhance;				//火系伤害提升
	float	cold_damage_enhance;				//冰系伤害提升
	float	posion_damage_enhance;				//毒系伤害提升
	float	lighting_damage_enhance;			//电系伤害提升
	float	physic_absorb_damage;				//物理伤害吸收
	float	fire_absorb_damage;					//火系伤害吸收
	float	cold_absorb_damage;					//冰系伤害吸收
	float	posion_absorb_damage;				//毒系伤害吸收
	float	lighting_absorb_damage;				//电系伤害吸收
	float	curse_got_persent;					//被诅咒几率提升
	float	double_damage_persent;				//双倍攻击几率提升
	float	deadliness_damage_persent;			//致命一击几率提升
	int		hp_consume;							//hp消耗
	int		mana_consume;						//mana消耗
	int		sp_consume;							//需要消耗掉的skill_point,即类似AG点数
	BOOL	region;								//是否是区域技能
	int		gender_req;							//性别专属
	BOOL	hunman_use;							//人类能否使用
	BOOL	hun_use;							//野蛮人
	BOOL	sorcer_use;							//法师
	BOOL	genius_use;							//精灵
	BOOL	bowman_use;							//弓弩手
	BOOL	taoist_use;							//道士
	BOOL	nodead_use;							//亡灵
	BOOL	craftsman_use;						//匠人
	BOOL	knight_use;							//骑士
}SKILL_PLUS, * LPSKILL_PLUS;

⌨️ 快捷键说明

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