Project1

标题: 状态效果:受到攻击时,几率使攻击者陷入指定异常状态 [打印本页]

作者: 黯淡的流星    时间: 2017-7-10 16:31
标题: 状态效果:受到攻击时,几率使攻击者陷入指定异常状态
就是说当角色或敌人处于一个状态,受到攻击时,攻击角色或敌人的人有几率陷入一个指定的异常状态
作者: 午睡的风铃    时间: 2017-7-10 19:02
本帖最后由 午睡的风铃 于 2017-7-10 20:18 编辑
  1. #==============================================================================
  2. # ■ Game_Battler
  3. #==============================================================================
  4. class Game_Battler < Game_BattlerBase
  5.   #--------------------------------------------------------------------------
  6.   # ● 应用技能/物品的效果
  7.   #--------------------------------------------------------------------------
  8.   def item_apply(user, item)
  9.     @result.clear
  10.     @result.used = item_test(user, item)
  11.     @result.missed = (@result.used && rand >= item_hit(user, item))
  12.     @result.evaded = ([email protected] && rand < item_eva(user, item))
  13.     if @result.hit?
  14.       unless item.damage.none?
  15.         @result.critical = (rand < item_cri(user, item))
  16.         make_damage_value(user, item)
  17.         execute_damage(user)
  18.       end
  19.       make_special_effect(user, item)  #~
  20.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  21.       item_user_effect(user, item)
  22.     end
  23.   end
  24.   #---------------------------------------------------------------------------
  25.   # ● 技能/物品的特殊效果
  26.   #---------------------------------------------------------------------------
  27.   def make_special_effect(user, item)
  28.   
  29.     # 如果攻击命中目标,且目标处在x状态,那么攻击者有y几率陷入z状态。
  30.     if self.state?(x) && rand(100) < y
  31.       if self.actor? && user.enemy? or self.enemy? && user.actor?
  32.         user.add_state(z)
  33.       end
  34.     end
  35.    
  36.   end
  37. end
复制代码


需要在脚本30和32行设置
测试目前我能考虑到的可能性都没问题
一定还有更好方法的,一定还有更简单方法的,一定还有......
作者: 300英雄    时间: 2017-7-10 20:01
伤害公式是可以,但是缺点在你状态个数多了你复制粘贴也麻烦。
按照你的说法角色目标通用那就很简单大概得格式是
if self.state?(2)
user.add_state(1)
end
解释目标处于二号状态,攻击者附加1号状态
PS:伤害公式脚本请去别的地方询问。哦对了记得这里有个什么装备吸血反伤效果的那个帖子我发过伤害公式脚本的,你把他复制过来,然后用我这个格式去写即可,注意一个if跟一个end
但是缺点很明显,一次性只能判定一个。用while end加变量指定状态ID的话大部分电脑会因为
这样而卡顿很久也不是很好用。你就按照我的格式一个状态判定一个。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1