Blood_Donors


var priority = 1000
var combatPower = 1.0
var attributeName = "法术攻击"
var attributeType = "ATTACK"
var placeholder = "MagicAttack"

function onLoad() {
        Utils.registerOtherAttribute("法术防御", 1.0, "MagicDefense")
        Utils.registerOtherAttribute("法术爆率", 1.0, "MagicCrit")
        Utils.registerOtherAttribute("法术爆伤", 1.0, "MagicCritRate")
        Utils.registerOtherAttribute("南陇の扩展属性v1.0", 1.0, "NanAttribute")
        return Attr
}

// 伤害计算公式
function runAttack(attacker, entity){
        // 设置基础值
        // 法术基础攻击伤害
        var MagicAttack = 0
        // 法术暴击几率加成
        var MagicCrit = 0
        // 法术暴击伤害加成
        var BSJC = 5
        // 法术基础防御
        var MagicDefense = 0
       
        // 声明变量
        var MagicAttack = Attr.getRandomValue(attacker, "法术攻击")
        var MagicCrit = Attr.getRandomValue(attacker, "法术爆率")
        var MagicCritRate = Attr.getRandomValue(attacker, "法术爆伤")
        var MagicDefense = Attr.getRandomValue(entity, "法术防御")
        var MZ = Attr.getRandomValue(attacker, "命中几率")-Attr.getRandomValue(entity, "闪避几率")
       
        // 检测触发几率
        var MagicCritOn = Attr.chance(MagicCrit)
        // 修改基础命中率加成 [0.5] 默认命中率是0%
        var MZL = Attr.chance(MZ)+0.5
       
        // 是否命中
        if (MZL) {
                // 是否暴击
                if (MagicCritOn) {
                        var damage = MagicAttack + MagicAttack * ((MagicCritRate+BSJC)/100)
                        if (damage > MagicDefense) {
                                var damages = damage - MagicDefense
                                attacker.sendMessage("§c[系统] §a你造成了§c§l" + damages + "点法术暴击伤害!")
                        } else {
                                attacker.sendMessage("§c[系统] §a对方抵消了你本次法术攻击!")
                                return false
                        }
                } else {
                        var damage = MagicAttack
                        if (damage > MagicDefense) {
                                var damages = damage - MagicDefense
                                attacker.sendMessage("§c[系统] §a你造成了§c§l" + damages + "点法术伤害!")
                        } else {
                                attacker.sendMessage("§c[系统] §a对方抵消了你本次法术攻击!")
                                return false
                        }
                }
                Attr.addDamage(attacker, damages)
        } else {
                attacker.sendMessage("§c[系统] §a对方闪避了你本次法术攻击!")
                entity.sendMessage("§c[系统] §a你闪避了对方本次法术攻击!")
                return false
        }
}

以上是添加的属性脚本


Neige
https://www.mcbbs.net/thread-1440637-1-1.html

夜雨晨风丶
  1. var priority = 1000
  2. var combatPower = 1.0
  3. var attributeName = "法术攻击"
  4. var attributeType = "ATTACK"
  5. var placeholder = "MagicAttack"

  6. function onLoad() {
  7.         Utils.registerOtherAttribute("法术防御", 1.0, "MagicDefense")
  8.         Utils.registerOtherAttribute("法术爆率", 1.0, "MagicCrit")
  9.         Utils.registerOtherAttribute("法术爆伤", 1.0, "MagicCritRate")
  10.         Utils.registerOtherAttribute("南陇の扩展属性v1.0", 1.0, "NanAttribute")
  11.         return Attr
  12. }

  13. function runAttack(attacker, entity){
  14.         // 设置基础值
  15.         // 法术基础攻击伤害
  16.         var MagicAttack = 0
  17.         // 法术暴击几率加成
  18.         var MagicCrit = 0
  19.         // 法术暴击伤害加成
  20.         var BSJC = 5
  21.         // 法术基础防御
  22.         var MagicDefense = 0
  23.         
  24.         // 声明变量
  25.         var MagicAttack = Attr.getRandomValue(attacker, "法术攻击")
  26.         var MagicCrit = Attr.getRandomValue(attacker, "法术爆率")
  27.         var MagicCritRate = Attr.getRandomValue(attacker, "法术爆伤")
  28.         var MagicDefense = Attr.getRandomValue(entity, "法术防御")
  29.         var MZ = Attr.getRandomValue(attacker, "命中几率")-Attr.getRandomValue(entity, "闪避几率")
  30.         
  31.         // 检测触发几率
  32.         var MagicCritOn = Attr.chance(MagicCrit)
  33.         // 修改基础命中率加成 [0.5] 默认命中率是0%
  34.         var MZL = Attr.chance(MZ)+0.5
  35.         
  36.         // 是否命中
  37.         if (MZL) {
  38.                         // 是否暴击
  39.                         if (MagicCritOn) {
  40.                                         var damage = MagicAttack + MagicAttack * ((MagicCritRate+BSJC)/100)
  41.                                         if (damage > MagicDefense) {
  42.                                                         var damages = damage - MagicDefense
  43.                                                         attacker.sendMessage("§c[系统] §a你造成了§c§l" + damages + "点法术暴击伤害!")
  44.                                         } else {
  45.                                                         attacker.sendMessage("§c[系统] §a对方抵消了你本次法术攻击!")
  46.                                         }
  47.                         } else {
  48.                                         var damage = MagicAttack
  49.                                         if (damage > MagicDefense) {
  50.                                                         var damages = damage - MagicDefense
  51.                                                         attacker.sendMessage("§c[系统] §a你造成了§c§l" + damages + "点法术伤害!")
  52.                                         } else {
  53.                                                         attacker.sendMessage("§c[系统] §a对方抵消了你本次法术攻击!")
  54.                                         }
  55.                         }
  56.                         Attr.addDamage(attacker, damages)
  57.         } else {
  58.                         attacker.sendMessage("§c[系统] §a对方闪避了你本次法术攻击!")
  59.                         entity.sendMessage("§c[系统] §a你闪避了对方本次法术攻击!")
  60.         }
  61.         return false
  62. }
复制代码