让伤害变成20-1=19的数据化,简单的新手修改,编辑高手见笑
#--------------------------------------------------------------------------# ● 应用通常攻击效果# attacker : 攻击者 (battler)#--------------------------------------------------------------------------def attack_effect(attacker) # 清除会心一击标志 self.critical = false # 第一命中判定 hit_result = (rand(100) < attacker.hit)这是命意思很简单的,命中率(100)可以修改为1000或者其他, 0 # 会心一击修正 if rand(100) < 4 * attacker.dex / self.agi 这和命中一样,100的比率假如X指*你设置的属性小,则是暴击,后面可以设置暴击抵抗力率 self.damage *= 2暴击后的伤害,简单说就是,20攻击-10攻=10攻*暴击后2倍加成,假如对方防御大于你攻击,还是无法伤害假如在最小伤害设置1则可以显示暴击伤害2 self.critical = true这是条件成立后开关 end # 防御修正 if self.guarding? 回合时候选择防御 # self.damage /= 2 伤害减半#这两段感谢一个匿名回答的 end end # 分散 这是伤害分散程度,想0分散率,就可以整个删除 if self.damage.abs > 0 amp = .max self.damage += rand(amp+1) + rand(amp+1) - amp end以下略... # 第二命中判定 eva = 8 * self.agi / attacker.dex + self.eva hit = self.damage < 0 ? 100 : 100 - eva hit = self.cant_evade? ? 100 : hit hit_result = (rand(100) < hit) end # 命中的情况下 if hit_result == true # 状态冲击解除 remove_states_shock # HP 的伤害计算 self.hp -= self.damage # 状态变化 @state_changed = false states_plus(attacker.plus_state_set) states_minus(attacker.minus_state_set) # Miss 的情况下 else # 伤害设置为 "Miss" self.damage = "Miss" # 清除会心一击标志 self.critical = false end # 过程结束 return trueend复制代码双叶GL于2010-12-24 19:16补充以下内容:空手伤害修改 #--------------------------------------------------------------------------# ● 获取基本攻击力#--------------------------------------------------------------------------def base_atk weapon = $data_weapons[@weapon_id] atk1 = weapon != nil ? weapon.atk : 0 return atk1这里直接可以在后面+你需要加的效果,比方(base_str*0.8)+(base_dex*0.6)简单就是 return atk1+(base_str*0.8)+(base_dex*0.6)end复制代码原理很简单,ATK1的攻击力是=weapon != nil ? 装备或者装备ID为空时显示是0
那在后面+上你需要的东西atk1+base_str也就变成了0+力量
本帖来自P1论坛作者双叶GL,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=163781若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]