52 lines
2.1 KiB
C++
52 lines
2.1 KiB
C++
#pragma once
|
||
|
||
using namespace wylib::container;
|
||
|
||
//使用技能的初始化的函数
|
||
enum MonsterSkillEvent
|
||
{
|
||
mSkillEventCommon=0 , //在普通的战斗中使用
|
||
mSkillEventDeath=1, //在死亡的时候 调用
|
||
mSkillEventBorn =2, //创建的时候调用
|
||
mSkillEventIdle = 3, //空闲的时候释放,主要用于一些拉怪的
|
||
mSkilleventBeAttacked = 4, //被攻击调用
|
||
mSkilleventAlive = 5, //复活被调用(其实没有死亡)
|
||
mSkilleventkill = 6, //杀死人掉用
|
||
};
|
||
|
||
// 怪物发言配置
|
||
typedef struct tagMonsterTalkConfig
|
||
{
|
||
unsigned int nIntervalLower; // 最小发言间隔
|
||
unsigned int nIntervalUpper; // 最大发言间隔
|
||
unsigned int nTalkRate; // 发言概率。百分比
|
||
}MonsterTalkConfig;
|
||
|
||
|
||
//AI的配置
|
||
typedef struct tagAiConfig
|
||
{
|
||
int nId;
|
||
BYTE nAIType; // AI类型: 主动、被动
|
||
BYTE patrolRadius; //巡逻半径
|
||
WORD pursuitDistance; //追击半径
|
||
|
||
BYTE watchDistance; //可视范围
|
||
BYTE returnHomeRenewRate; //怪物回归的时候,将按什么比例恢复自己的HP,MP,这里填百分数,100就是100%,0就是0%
|
||
BYTE bBattleFollowDis; //宠物离开主人超过这个距离,将向玩家移动
|
||
BYTE bTransferDis; //宠物离开主人的距离,超过这个将自动传送到主人的身边
|
||
|
||
int leftHomeMaxDistanceSquare; //离开巢位的最大的距离平方,一旦离开出生点超过这个距离就回归
|
||
int nCheckEnemyIntervalInCombat; // 战斗中检测敌人间隔时间
|
||
int nStopMinTime; // 停留最短时间
|
||
int nStopMaxTime; // 停留最长时间
|
||
int nMoveStopInterval; //移动之间的停留,单位ms
|
||
DataList<int> pathPoints; //怪物寻路径点
|
||
|
||
int petFollowMasterTime; //宠物离开战斗后多少时间以后将往主人方向走,单位ms
|
||
int hitSetTargetRate; //被攻击的时候,设置攻击自己的实体为目标概率,0-100有效,0表示不切换目标,100表示必定切换目标
|
||
|
||
MonsterTalkConfig m_nonCombatTalkConfig; // 未进入战斗发言配置
|
||
MonsterTalkConfig m_combatTalkConfig; // 进入战斗配置
|
||
}AICONFIG,*PAICONFIG;
|