mob_db中的mode字段可选值

我们在《剖析mob_db各个字段的含义以及作用》中已经学习了关于mob_db的主要格式,但是里面有一个字段比较特殊,那就是Mode字段,这个字段可选值比较多,而且对魔物的行为也至关重要,我们单独把它拿出来讲一讲。

这里要讲解的内容主要都来自于rAthena自带的说明文件:doc\mob_db_mode_list.txt 我在这里整理并翻译给大家参考,大家也可以动手试着改一下看看效果。

在本文我们将Mode称之为魔物的行为特性,只需要把下面你想要的特性的16进制值相加,然后填写到mob_dbmode字段的位置即可。如果不知道十六进制应该怎么运算的话,那也可以用10进制来相加,最后再转成16进制的方式,本文下方会提供计算方法。

Mode可选值列表

 名称  十六进制  十进制
 MD_CANMOVE  0x000001  1
 MD_LOOTER  0x000002  2
 MD_AGGRESSIVE  0x000004  4
 MD_ASSIST  0x000008  8
 MD_CASTSENSOR_IDLE  0x000010  16
 MD_BOSS  0x000020  32
 MD_PLANT  0x000040  64
 MD_CANATTACK  0x000080  128
 MD_DETECTOR  0x000100  256
 MD_CASTSENSOR_CHASE  0x000200  512
 MD_CHANGECHASE  0x000400  1024
 MD_ANGRY  0x000800  2048
 MD_CHANGETARGET_MELEE  0x001000  4096
 MD_CHANGETARGET_CHASE  0x002000  8192
 MD_TARGETWEAK  0x004000  16384
 MD_RANDOMTARGET  0x008000  32768
 MD_IGNOREMELEE  0x010000  65536
 MD_IGNOREMAGIC  0x020000  131072
 MD_IGNORERANGED  0x040000  262144
 MD_MVP  0x080000  524288
 MD_IGNOREMISC  0x100000  1048576
 MD_KNOCKBACK_IMMUNE  0x200000  2097152

各个特性的说明

先声明,有一些特性小克也是千年不用,说的可能不一定准确(只能按照rAthena的英文翻译过来),如果有问题的话,还请留言赐教,以便我修正一下本文中的内容,先行谢过!

————————————————

MD_CANMOVE

用来控制一个魔物是否可移动和追逐玩家,如果不带上这个特性的话,那么他会类似植物一样禁止移动并且无法追逐玩家。

————————————————

MD_LOOTER

用来控制魔物在空闲的时候(所谓空闲,就是魔物不在战斗期间,或者随便走来走去的时候),是否会自动拾取自己附近地面上的物品,比如我们的吉祥物,萌萌的波利就是带着这个特性。

————————————————

MD_AGGRESSIVE

用来控制魔物是否主动攻击,如果带上这个特性的话,那么此魔物就是很普通的主动攻击型魔物,它会发现周围的玩家并主动对玩家进行攻击。

————————————————

MD_ASSIST

用来控制魔物是否会相互帮助,如果带上这个特性的话,当附近有同类型的魔物在和玩家战斗,那么他们也会主动的参与到和此玩家的战斗中去~ 感觉魔物之间满满的友爱互助啊!

————————————————

MD_CASTSENSOR_IDLE

魔物空闲的时候,如果有玩家对携带此特性的魔物使用技能,那么在咏唱的时候魔物就能感觉到,并且根据其他特性决定是否对你发起攻击之类。

————————————————

MD_BOSS

带上这个特性的话,那么说明这个魔物是一个BOSS魔物,他能够免疫一些声明对BOSS魔物无效的技能或者状态。大家要注意,这里带上BOSS特性的话,并不代表这是一个MVP魔物,一个魔物是否打死后玩家角色的头上是否会有MVP动画,只取决于mob_db中的MEXP是否有配置(不过一般情况下,MVP魔物肯定会带着BOSS特性)!

————————————————

MD_PLANT

带上这个特性的话,说明这个魔物是一种植物,无论玩家的伤害多高,打到这种特性的魔物始终只会对它造成1点伤害,比如绿草、红草等~ 你可千万别把这个特性和“植物”种族混淆,把邪恶向日葵改成MD_PLANT那就惨了(因为邪恶向日葵有几千的HP,而玩家攻击一次只能造成1点伤害……)!

————————————————

MD_CANATTACK

这个特性可以控制魔物是否可以发起攻击,就算魔物是主动攻击类型,但是不配置本特性的话,那么他也不会对玩家造成任何物理攻击,只会呆呆的被玩家打。

————————————————

MD_DETECTOR

这个魔物是否携带高科技探测器,带上此特性说明魔物可以侦测到隐匿或伪装的玩家(如果需要的话攻击,也能对隐匿玩家发起攻击,具体是否攻击也取决于这个魔物是否携带主动攻击特性,或者你在隐匿之前是否打了魔物一下)。

————————————————

MD_CASTSENSOR_CHASE

魔物正在追踪某个玩家的时候,如果有玩家对携带此特性的魔物使用技能,那么在咏唱的时候魔物就能感觉到,并且根据其他特性决定是否对你发起攻击之类。

————————————————

MD_CHANGECHASE

带上此特性的话,当有玩家进入魔物的攻击范围时,允许魔物将攻击目标切换到他身上(主要用来对付远程攻击的玩家)。

感谢:逍遥老迪、★╮喵玲兒〃☆提供翻译支持

————————————————

MD_ANGRY

带上此特性的话,表示魔物属于高度亢奋的生气状态(或者说狂暴状态?),在这种状态下,当它在追踪一个玩家时,任何靠近它的玩家都会自动成为攻击目标(俗称:神挡杀神,佛挡杀佛)。并且,在生气状态下,无论你是否配置了主动攻击特性“MD_AGGRESSIVE”,魔物无论如何都会主动攻击!

————————————————

MD_CHANGETARGET_MELEE

带上此特性的话,当魔物在报复某个玩家时(所谓的报复,就是魔物本身是不主动攻击的,但是被玩家打之后,开始反击,这个状态称之为报复某个玩家),如果被其他人攻击,则允许魔物改变攻击目标来攻击其他玩家。

感谢:逍遥老迪、★╮喵玲兒〃☆提供翻译支持

————————————————

MD_CHANGETARGET_CHASE

带上此特性的话,当魔物已经追逐到并且正在攻击某个玩家时,如果被其他人攻击,则允许魔物改变目标来攻击其他玩家。若不带此特性的话,魔物会专注攻击目前的玩家,直到这个玩家阵亡或者消失在视野。

感谢:逍遥老迪、★╮喵玲兒〃☆提供翻译支持

————————————————

MD_TARGETWEAK

带上此特性的话,可以让会主动攻击的魔物,只攻击比自己等级低5级以上的玩家。比如一个104级的魔物,是不会主动攻击99级以及99级以上的玩家的,只会对1至98级的玩家主动发难。

————————————————

MD_RANDOMTARGET

带上此特性的话,魔物每次使用技能或者攻击的时候,都会在符合mob_db设定的攻击范围中,随机挑选一个玩家作为攻击目标,而不会固定只打一个玩家。

————————————————

MD_IGNOREMELEE

带上此特性的话,说明此魔物无视物理攻击,所有物理攻击伤害只会对其造成1点伤害。

————————————————

MD_IGNOREMAGIC

带上此特性的话,说明此魔物无视魔法攻击,所有魔法攻击伤害只会对其造成1点伤害。

————————————————

MD_IGNORERANGED

带上此特性的话,说明此魔物无视任何远程攻击,所有远程攻击只会对其造成1点伤害。

————————————————

MD_MVP

这个特性名字看着好犀利,好像和MVP相关,但是实际上他和MVP没什么关系。只要魔物携带这个特性,那么他就不会被玩家攻击到昏迷或者昏眩。

————————————————

MD_IGNOREMISC

带上此特性的话,说明此魔物无视任何攻击类型为none的伤害,所有此类型攻击只会对其造成1点伤害。

在这里先预先普及一下,每一个技能都有他自己的攻击类型,攻击类型的可选值有“none, weapon, magic, misc”,它们配置在技能数据库skill_db.txt文件中,回头我们讲到技能数据库的时候再展开讲解。

————————————————

MD_KNOCKBACK_IMMUNE

带上此特性的魔物,不会由于任何原因被击退。因此带有击退效果的技能(比如怪物互击或者阿修罗霸凰拳)只会对其造成伤害,而不会导致魔物被击退。

————————————————

Mode值的计算方法

在文章的开头我们已经讲了如何进行计算,下面我们来实战演练一下~ 如果我们想要配置出一个“可以攻击,能主动攻击、又会吃东西、可以移动的魔物”,那么我们需要查到他们对应的特性,然后把他们的10进制值相加。

在这里个例子中,可以攻击的十进制值是128,能主动攻击的十进制值是4,会吃东西的十进制值是2,可以移动的十进制值是1,他们相加就是128+4+2+1=135,至此我们已经得到了Mode值的10进制。

接下来我们要把10进制转换成16进制,请打开计算器,点击“查看”然后切换到“程序员”:

然后点击左侧的“十进制”,然后输入我们要转换的十进制数:135,如下图所示:

然后此时再点击一下“十六进制”,可以看到135的十六进制数值是:87,如下图所示:

然后我们需要在87的前面加上0x,变成0x87(这里是数字0,和字母x!不是字母O和x哈,别弄错!),然后把0x87填写到mob_db的mode字段即可。

魔物行为代码计算器

看完上面的计算方法,会不会觉得……天那,实在是太复杂了,要人命啊?哈哈,有不少人都这么觉得,所以有人就制作出来了魔物行为代码计算器啦,在这里提供给大家下载(感谢★╮喵玲兒〃☆ 分享):

下载魔物行为代码计算器

下载好后,只需要打开里面的“mode.html”文件,然后点击你想使用的特性,就可以输出对应的行为代码(看不清楚图片的话,可以点击一下图片,就可以看到原图了):

或者可以直接贴进去一个代码,然后回车,就可以看到这个代码表示什么意思(看不清楚图片的话,可以点击一下图片,就可以看到原图了):

怎么样,很方便吧??大家可以动手对每一个魔物的行为特性都做一下测试,看看不同的特性会发生什么不同的事情!