Files
mir_server/server/LogicServer/base/EntityAttriFlag.h
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

67 lines
3.8 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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;
}
};