Files
mir_server/server/LogicServer/base/EntityAttriFlag.h

67 lines
3.8 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#pragma once
//实体的属性标志位
struct EntityFlags
{
union
{
Uint64 nValue;
struct
{
bool DenyMove :1; //不能移动(实现)
bool DenyBeMove:1; //不能被移动,比如牢门(实现)
bool DenyAttackActor:1; //不攻击玩家(实现)
bool DenyBeAttack:1; //不能被攻击(实现)
bool DenyAttackedByActor:1; //不能被玩家攻击(实现)
bool CanAttackMonster:1 ; //能够攻击怪物(实现)
bool DenyAutoAddHp:1; //不能自动添加HP(实现)
bool DenyAutoAddMp:1; //不能自动添加MP(实现)
bool CanSceneTelport:1; //能否跨场景传送(实现) 10
bool CanSeeHideActor:1; //能否看到隐身的玩家(实现)
bool DenyDieSubExp:1; //不进行经验衰减(实现)
bool TelByOwnerEntity:1; //传送的时候跟着归属者传送
bool MonsterLazyFollow:1; //懒惰跟随属性。惰性跟随距离远了会自动拉到被跟随者;非惰性跟随会检测跟随距离,距离符合会传送。(部分实现)
bool DenyUseNearAttack:1; //不使用肉搏
bool DenyDizzyBuff:1; //不能添加晕眩的buff
bool DenyMoveForbidBuff:1; //不能添加定身的Buff
bool DenyInnnerSkillForbidBuff:1; //不能添加封的buff
bool DenyOutSkillForbidBuff:1; //不能添加断的buff
bool DenyMoveSpeedSlowBuff:1; //禁止移动速度降低的buff 20
bool DenySee:1; //不能被看到
bool DenyInitiativeAttackActor:1; //不主动攻击玩家(针对主动怪)
bool DenyShowMasterName:1; //拒绝显示主人的名字
bool TelByOwnerEntityWhenNonePortal:1; //指定怪物下属是否在主人通过非传送门传送的时候也跟随传送,默认为不传送
bool CanGrowUp:1; //boss是否成长
bool AttackKiller:1; //只主动攻击红名玩家
bool ShowNameByNumber:1; //怪物最后不能显示为数字,默认可以
bool DenyBeCatch:1; //禁止被法师的诱惑技能抓取
bool CanAlwaysEnter:1; //怪物不管什么情况,都能进入场景
bool BeAttackNeedUseSkill:1; //被攻击需要释放技能
bool IdleUseSkill:1; //平时没什么事情也使用技能,主要用于一些特殊的怪物,这些怪物讲收到怪物的攻击
bool NeedSaveToLog:1; //是否需要保存到统计后台
bool PetNoAttact:1; //宠物不攻击
bool DenyAddNumber:1; //人数超过1千的时候不自动增加个数
bool AttackPet:1; //主动攻击道士宠物 40
bool DenyShowName:1; //不显示名称
bool CanReuse:1; //是否重用这里不读取配置如果怪物的刷新时间为0设置为可重用
bool MoveTelport:1; //移动就传送
bool NoUseAStar:1; //不使用A*算法
bool AttackSeeKill:1; //死亡见证攻击至少攻击1次且在视野范围之内才算参与击杀
bool noBeCrossed:1; //是否不能被穿0-可穿怪默认1-不可穿怪
bool noAttackBack:1; //被攻击了不还手
bool noReturnHome:1; //不回巢,默认都是回巢的
bool attackToScript:1; //被攻击了需要通知脚本
bool DenySetDir :1; //怪物生成后不能改变朝向.默认朝向用stditem->dir
bool bDeathTriggerScript: 1; //死亡触发脚本一般此处是通过脚本registerMonsterDeath设置为true
bool bMobTriggerScript :1; //刷新的时候触发脚本一般此处是通过脚本registerMonsterMob设置为true
bool bLiveTimeOutTriggerScript :1; //生命期到的时候触发脚本一般此处是通过脚本registerMonsterLiveTimeOut设置为true
bool boShowVestEntityName:1; //显示怪物归属人物名字
};
};
EntityFlags()
{
nValue =0;
}
};