Project1

标题: !!攻击附加属性 [打印本页]

作者: neverstop    时间: 2015-6-14 10:25
标题: !!攻击附加属性
本帖最后由 neverstop 于 2015-6-14 11:40 编辑

就是关于,技能的属性设置里的,“普通攻击”。

技能设置了“普通攻击”的属性,才可以通过改变“攻击附加属性”来改变技能的属性。

问题就是,如何设定一个技能属性,使得其可以和“普通攻击”属性相同,也可以通过改变“攻击附加属性”来改变技能的属性

表达不清楚。。

  栗子。

    技能:炮击  属性:物理

    然后,想要把,“炮击”这技能的属性附加个“火”属性。

    设定状态1:“攻击附加属性” => “火”

    有状态1后技能炮击在战斗中的属性就会附加“火”属性

但是,实际却不可以这样,只有“炮击”的属性设定为“普通攻击”时,才能达到效果

    所以,就是问,怎么把“物理”这个属性设定起来后,可达到和“普通攻击”属性相同效果

麻烦了~
作者: howhow1314    时间: 2015-6-14 12:52
本帖最后由 howhow1314 于 2015-6-14 12:56 编辑

RUBY 代码复制
  1. class Game_Battler
  2.   def item_element_rate(user, item)
  3.     if item.damage.element_id < 0
  4.       user.atk_elements.empty? ? 1.0 : elements_max_rate(user.atk_elements)
  5.     ####################################
  6.     elsif ["挖鼻屎","炮擊"].include?(item.name)
  7.       user.atk_elements.empty? ? element_rate(item.damage.element_id) : elements_max_rate(user.atk_elements)
  8.     ####################################
  9.     else
  10.       element_rate(item.damage.element_id)
  11.     end
  12.   end
  13. end


[line]2[/line]
再看一遍 你好像是要所有物理屬性的技能都這樣處理?

那就

RUBY 代码复制
  1. class Game_Battler
  2.   def item_element_rate(user, item)
  3.     if item.damage.element_id < 0
  4.       user.atk_elements.empty? ? 1.0 : elements_max_rate(user.atk_elements)
  5.     ####################################
  6.     elsif item.damage.element_id == 1
  7.       user.atk_elements.empty? ? element_rate(1) : elements_max_rate(user.atk_elements)
  8.     ####################################
  9.     else
  10.       element_rate(item.damage.element_id)
  11.     end
  12.   end
  13. end


[line]2[/line]

不過再看你1樓的點評你想要的好像又是前者...算了
作者: duoduo1009215    时间: 2015-6-14 20:31
本帖最后由 duoduo1009215 于 2015-6-14 20:57 编辑

技能公式后面加*(b.element_rate(属性id) if a.state?(状态id))
可以用脚本编辑器搜索计算伤害,在函数里加上value*=这句话,这样一个状态一句话不是很麻烦




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