查看: 2219|回复: 3

[已经解决] 【技能研究】请教风险分担技能的设置方法

[复制链接]
梦石
0
星屑
50
在线时间
86 小时
注册时间
2009-12-2
回帖
113
发表于 2016-10-21 11:23:59 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
当主角使用了一个名为”风险分担“的技能后,自身会附加一个”风险分担“的状态。
状态存在时,如果受到伤害,伤害的50%会分摊在其余3名或指定1名的队员头上。
这种技能该如何达到?
梦石
0
星屑
6891
在线时间
7027 小时
注册时间
2013-11-2
回帖
1263

开拓者剧作品鉴家

发表于 2016-10-21 12:57:27 | 显示全部楼层
我不知道你的战斗系统是啥,所以我基于默认的来写。

[pre lang="ruby"]
class Game_Battler < Game_BattlerBase
  
  attr_reader :result
  
  def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)
    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
    if self.state?(30) && item.damage.to_hp? #把30换成状态ID
        value *= 0.5
        $disperse_value = true
        $disperse_params = [value, self, user, item]
    end
    @result.make_damage(value.to_i, item)
  end
  
end  

class Scene_Battle
  attr_reader :log_window
   
  def disperse_value
    return if !$disperse_value || !$disperse_params
    params = $disperse_params
    arr = $game_party.alive_members.clone
    arr.delete(params[1])
    value = params[0]
    value /= arr.size
    value = value.to_i
    arr.each{|a|
      a.result.clear
      a.result.make_damage(value, params[3])
      a.execute_damage(params[2])
      a.result.used = true
      refresh_status
      @log_window.display_action_results(a, params[3])
    }
    $disperse_value = nil
    $disperse_params = nil
  end
  
  alias :dpv_apply_item_effects :apply_item_effects
  def apply_item_effects(target, item)
    dpv_apply_item_effects(target,item)
    disperse_value if $disperse_value
  end
end
[/pre]

这是插件脚本。伤害的50%会平分到活着的队友身上。

点评

666666,大赞一个,很给力啊!谢谢  发表于 2016-10-21 13:08

评分

参与人数 2星屑 +260 梦石 +1 收起 理由
怪蜀黍 + 250 + 1 楼主认可的解答
QQ蚊子湯 + 10 路過偷學~

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2019
在线时间
940 小时
注册时间
2015-10-26
回帖
293

开拓者

发表于 2016-10-21 16:20:15 | 显示全部楼层
本帖最后由 踢腿水上飘 于 2016-10-21 16:26 编辑
RaidenInfinity 发表于 2016-10-21 12:57
我不知道你的战斗系统是啥,所以我基于默认的来写。


确实厉害
看懂了看懂了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部