合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
>[danger] 配置的`damage-types`节点是控制这个职业/怪物能否造成哪些伤害的 例如: 雪球(抛物),抛物, 射箭, 普通攻击,skillapi技能,mythicmobs技能等 配置的`formula.fight`节点是控制职业造成的伤害等内容的公式 职业文件夹: Modules\Occupation\Occupation 怪物文件夹: Modules\Mob\Data [TOC] <br><br><br> ## 这里以玩家职业为例(Modules\Occupation\Occupation): >[danger] 节点 damage-types 支持的攻击对象类型(留有接口后续待开发pet等任意类型) ``` damage-types: mob: player: ``` `damage-types.player` 因为职业是隶属于玩家的, 所以这个相当于控制PVP `damage-types.mob` 因为职业是隶属于玩家的, 所以这个相当于控制PVE `damage-types.pet` 如果开发了宠物的,这里就是pet <br> 每个对象类型下面都支持 [攻击类型](%E6%94%BB%E5%87%BB%E7%B1%BB%E5%9E%8B%E5%88%97%E8%A1%A8.md) <br><br><br> ## 以攻击类型 `damage`(普通攻击)为例 ``` damage-types: mob: damage: 伤害: true ``` 在mob下添加`damage`攻击类型并加上 [自定义伤害类型](%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BC%A4%E5%AE%B3%E7%B1%BB%E5%9E%8B.md) 的`伤害`设置为true 这样就开启了这个职业对怪物的左键普通攻击伤害 这里也是支持java代码的 <br><br><br> ## 再针对普通攻击配置职业的伤害公式 >[danger] 节点 formula.fight 在公式内pr传递下来的参数可以参考 [传递参数和类型的常用方法(重要)](../4_3_0%E6%96%B0%E7%89%88%E6%88%98%E6%96%97%E5%85%AC%E5%BC%8F%E6%95%99%E7%A8%8B/%E4%BC%A0%E9%80%92%E7%9A%84%E5%90%84%E9%A1%B9%E5%8F%82%E6%95%B0.md) ``` formula: fight: mob: damage: 伤害: damage: hit: true value: 100 crit: hit: |- UMap attacker = data.get("attacker"); //攻击方的数据 Att a_att = attacker.get("att"); double 暴击概率 = a_att.s("暴击概率"); return Math.random() <= 暴击概率; //这里简单的做一个随机值比较 value: |- UMap attacker = data.get("attacker"); //攻击方的数据 Att a_att = attacker.get("att"); double 暴击伤害加成 = a_att.s("暴击伤害加成"); UMap fight_data = data.get("fight_data"); double damage的结果 = fight_data.get("this_damage_value",0); //这个地方可以拿到 damage 机制的值结果 return damage的结果 * (0.5+暴击伤害加成); //简单的做一个默认暴击倍率为0.5+攻击方爆伤加成 ``` `formula.fight.mob.damage.伤害.damage` 和 `formula.fight.mob.damage.伤害.crit` 是 [伤害机制](%E4%BC%A4%E5%AE%B3%E6%9C%BA%E5%88%B6.md) <br><br><br> ## 配置带有附加参数的公式 <br><br><br> ### 抛物: 箭 ``` damage-types: mob: #填上抛物的攻击类型 projectile: #arrow是抛物类型的附加参数 箭, 雪球啥的也可以在这里写 arrow: 伤害: true formula: fight: mob: #注意层级关系不要错了 projectile: arrow: 伤害: damage: hit: true value: 100 ``` <br><br><br> ### skillapi技能 ![](https://img.kancloud.cn/ed/d0/edd0318395071ab67630181769a548f3_1135x397.png) ``` damage-types: mob: skillapi: #skillapi的技能名字 跳劈: #skillapi技能伤害(damage)组件内的 Classifier 第一段: 伤害: true #skillapi技能伤害(damage)组件内的 Classifier ,一个技能内有多少个Classifier就可以写多少个 第二段: 伤害: true #这里一转职业不开放 false, 二转职业开放 true, 可以做很多不同的效果 formula: fight: mob: skillapi: 跳劈: 第一段: 伤害: damage: hit: true value: 100 第二段: 伤害: damage: hit: true value: 150 ``` <br><br><br> ### 其他类型同理