先上脚本
#============================================================================== # ★ RGSS3_メタルボディ Ver1.0 #============================================================================== =begin 作者:tomoaky webサイト:ひきも記は閉鎖しました。 (http://hikimoki.sakura.ne.jp/) 2013.06.06 Ver1.0 公開 在buff中备注↓ <最大受伤 5>受到的单段伤害不高于5 <最大受伤 self.mhp/10>单段伤害不高于角色hp的10% =end #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler < Game_BattlerBase def metal_body feature_objects.each do |object| if /<最大受伤\s*(.+)\s*>/ =~ object.note formula = $1 return eval(formula).to_i end end nil end #-------------------------------------------------------------------------- # ● 防御修正の適用 #-------------------------------------------------------------------------- alias tmmetalbody_game_battler_apply_guard apply_guard def apply_guard(damage) result = tmmetalbody_game_battler_apply_guard(damage) return (result > 0 && metal_body ? [result, metal_body].min : result) end end
#==============================================================================
# ★ RGSS3_メタルボディ Ver1.0
#==============================================================================
=begin
作者:tomoaky
webサイト:ひきも記は閉鎖しました。 (http://hikimoki.sakura.ne.jp/)
2013.06.06 Ver1.0
公開
在buff中备注↓
<最大受伤 5>受到的单段伤害不高于5
<最大受伤 self.mhp/10>单段伤害不高于角色hp的10%
=end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
def metal_body
feature_objects.each do |object|
if /<最大受伤\s*(.+)\s*>/ =~ object.note
formula = $1
return eval(formula).to_i
end
end
nil
end
#--------------------------------------------------------------------------
# ● 防御修正の適用
#--------------------------------------------------------------------------
alias tmmetalbody_game_battler_apply_guard apply_guard
def apply_guard(damage)
result = tmmetalbody_game_battler_apply_guard(damage)
return (result > 0 && metal_body ? [result, metal_body].min : result)
end
end
目前的情况为,该脚本的效果为,持有buff下,该角色(敌人)单次受到的伤害不会高于一定的数值。
假设为1000,那么攻击无穷大的情况下一个3段的攻击可以打BOSS扣1000*3=3000
如果有4*9=36段攻击,那么该BOSS就会被打36000血
因为这个脚本是锁单段不是技能…………现在我希望实现的效果为。
在持有xx状态下,我方单个技能(无论为1段还是999段伤害的),都只能打BOSS血量上限的一定比值。
辛苦大佬们看一下能不能通过改本脚本或者打补丁的方式实现这个效果
(因为游戏技能非常非常多有4位数以上,所以我只能通过脚本实现效果了)
|