じ☆ve冰风 发表于 昨天 20:57

【脚本】固定增减伤效果

RUBY 代码
#==============================================================================
# $SDrop$
# 固定增减伤效果 By猫易箱
#------------------------------------------------------------------------------
# 在 角色、职业、武器、护甲、敌人、状态 备注添加使用:
#
# 公式
#
# 例如:
# 50 受到伤害时,固定增加50点伤害
#
# 公式
#
# 例如:
# a.def * 1 按自身100%的防御力,减少受到伤害
#==============================================================================

$imported = {}if$imported.nil?
$imported["SDrop_FixedDamage"] = true

#==============================================================================
# ■ RPG::BaseItem
#------------------------------------------------------------------------------
#  为所有基础物品类添加备注解析方法
#==============================================================================

classRPG::BaseItem
#--------------------------------------------------------------------------
# ● 获取固定减伤公式
#--------------------------------------------------------------------------
def fixed_damage_reduce
    @fixed_damage_reduce ||= load_fixed_damage_reduce
end

def load_fixed_damage_reduce
    self.note =~ /(.+?)/m ? $1.strip : nil
end

#--------------------------------------------------------------------------
# ● 获取固定增伤公式
#--------------------------------------------------------------------------
def fixed_damage_increase
    @fixed_damage_increase ||= load_fixed_damage_increase
end

def load_fixed_damage_increase
    self.note =~ /(.+?)/m ? $1.strip : nil
end
end

#==============================================================================
# ■ Game_BattlerBase
#------------------------------------------------------------------------------
#  收集固定增减伤公式
#==============================================================================

class Game_BattlerBase
#--------------------------------------------------------------------------
# ● 获取所有固定减伤公式
#--------------------------------------------------------------------------
def fixed_reduce_formulas
    result = []
    feature_objects.eachdo |obj|
      if obj.respond_to?(:fixed_damage_reduce) && obj.fixed_damage_reduce
      result0 && @result.hp_drain == 0
      reduce_total = calc_fixed_reduce(user, item)
      increase_total = calc_fixed_increase(user, item)
      net_mod = increase_total - reduce_total

      if net_mod != 0
      old_damage = @result.hp_damage
      new_damage = old_damage + net_mod
      new_damage = 1if new_damage < 1
      @result.hp_damage = new_damage
      end
    end
end
end

在 角色、职业、武器、护甲、敌人、状态 备注添加使用:

公式                                 #固定增加,受到的伤害

公式                                 #固定减少,受到的伤害

示例:

100                                  #固定减少100点

rand(50) + 50                   #固定增加,50-99之间的随机伤害

rand(100) < 50 ? 30 : 10    #50%几率减伤30,否则10

a.atk * 2                           #固定增加,持有者 攻击力 × 2 的伤害

$game_actors.def          #根据5号角色 防御力 10%,固定减少伤害

, v, v].sample   #在 变量1 变量5 变量8 之间随机

            本帖来自P1论坛作者SmallDrop,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=498708若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 【脚本】固定增减伤效果