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

📄 px_ls_discharge_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>


/************************************************************************
以下为定义角色向地图上任意点或者任一主体施放物理+元素+魔法攻击或者
类似增益时使用的记录结构,数据在计算时使用frame作为是否需要计算或者
是否可以被别的施放代替,并使用targetType作为此施放的类别,所有目的都
认同所属区域怪物默认为被施放目标
************************************************************************/
/************************************************************************
说明:
一	:对于处于地图上的任一可以产生施放动作的主体(如玩家+怪物+NPC+...),其可
以施放的动作主要为以下几种:
1	带攻击型动作
2	带恢复或者治愈型动作
3	带增益型动作
4	带中立型动作
二	:各种施放动作被施放目标可以分为以下几种
1	明显对立,即永久处于对立状态,如玩家与怪物之间
2	在某一种特定状态下,才处于对立状态,如玩家与玩家之间的pk
3	处于友好状态,其中施放目标为自身,为其特殊状态
4	被施放目标可以为单独一个目标,也可以为群体目标
三	:只有在被施放目标不能在默认规则下被确认时,被施放目标才会单独由targetID指示
四	:大多数施放动作都由其特定的施放启动,施放持续,施放冷却,施放延迟所需要的时间,
即需要相应的nFrame作为其前提支持,单为了简单,此处在计算时需参考施放主体
五	:为了节约内存等关键资源的利用,在提供了施放类别之后,可能在某一些特定施放类别
上,对各具体结构成员的实现上有一定偏差,具体参考实现即附带解释
************************************************************************/

//以下为定义施放动作的产生类别,并可选提供一定解释
#define DISCHARGE_SKILL_TYPE_CURE_TARGET		1			LS_NOTE(此施放动作为向target提供治疗)

typedef struct tagDischarge_Skill {
	int		frame_start;		//此施放发生时的帧数
	int		frame_persist;		//持续帧数
	int		skillID;			//施放技能id,physic_acctack == 0 got TRUE
	int		targetID;			//被施放目标id
	byte	targetType;			//被施放目标type
	byte	posX;				//被施放目标位置X
	byte	posY;				//被施放目标位置Y	
	struct tagDischarge_Skill * pNext;
}DISCHARGE_SKILL, * LPDISCHARGE_SKILL;


⌨️ 快捷键说明

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