2015年4月—2024年4月,论坛已建立9周年,欢迎加入QQ群讨论:419848937

【DP】技能/物品中xml标签中的order属性解释

主要是游戏中一些经典任务、游戏资料的科普.
回复
头像
hagcse
Mr.GL
Mr.GL
帖子: 151
注册时间: 2018-02-25 15:50

【DP】技能/物品中xml标签中的order属性解释

帖子 hagcse » 2018-03-10 16:03

以下面标签为例

<add stat="pAtk" order="0x40" val="1000"/>

其中 add 表示使用的计算方法, add为加法,mul为乘法,sub为减法,div为除法
stat 要处理的状态名,pAtk是物理攻击的含义,具体可以参考Stats.java文档
order 计算的次序,值为16进制数字,计算次序越小的会在公式越靠前
val 计算的值


order详细解释:
首先假设有一个人物有基础攻击力1000,身上有2个buff
buff1:加攻击力30%
buff2:增加攻击力1000
在游戏里,无论你先加哪个buff,人物的属性都应该保持一致,人物的属性不会因为buff的次序改变而改变是我们期望的结果
但是实际上你会发现如果按不同的次序执行2个buff,会得到2个结果


1000x1.3+1000 = 2300

(1000+1000)x1.3 = 2600

这不是我们期望的结果,所以我们在技能或物品的xml标签中会强制增加一个order来表示运算次序
通常mul标签,也就是乘法标签会给于0x30的次序,而加法标签通常给0x40,这样无论状态谁先谁后,我们永远计算乘法优先,然后才是加法,游戏里人物的属性才会保持一直。
图片

回复