【脚本】固定增减伤效果
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]