Files
mir_server/server/LogicServer/config/AiConfig.h

52 lines
2.1 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#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;