((b.hp_rate <= 0.15)&&(b.state_rate(1)!=0))?b.add_state(1):(a.mat-b.mdf)
在公示栏设置加命中的状态公式,发觉有时候会无法增加状态,而有时候可以
when 22
user.agi > self.agi + 20
……
另外,关于法力燃烧,我想我们之间的理解不一样吧。我的意思是这样的。
技能A=======》造成MP伤害
如果对象B附带某状态C时。
技能A======》造成MP伤害+HP伤害。
我是希望,这两个伤害都可以通过各自公式确定。
救世小树 发表于 2013-5-24 10:51
这样就好做了,首先新建一个技能
然后脚本Game_Battler
成功,28号状态和145号技能自己设定吧;
相关脚本:
def make_damage_value(user, item)
value = item.damage.eval(user, self, $game_variables)
if item.is_a?(RPG::Skill)
case item.id
when 145
if self.state?(28)
make_damage_extra(user,item)
end
end
end
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)
@result.make_damage(value.to_i, item)
end
def make_damage_extra(user,item)
if item.is_a?(RPG::Skill)
case item.id
when 145
value = user.mat - self.mdf
#↑↑↑↑↑↑↑↑写hp伤害的公式,底下的各种修正很据情况可删可留
#user→a self→b
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)
end
@result.hp_damage = value.to_i
end
end
def make_damage_value(user, item) value = item.damage.eval(user, self, $game_variables) if item.is_a?(RPG::Skill) case item.id when 101,102 if user.armors.include?($data_armors[50]) value 101= 1.5 end if user.weapons.include?($data_weapons[51]) value 102 = 2.5 end when 999 end end #判断武器防具 #################### when 235 if self.state?(57) make_damage_extra(user,item) end #################### when 232 if self.state?(57) make_damage_extra(user,item) end #################### end end 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) @result.make_damage(value.to_i, item) end def make_damage_extra(user,item) if item.is_a?(RPG::Skill) case item.id when 235 value = user.mat * 10 when 232 value = ( a.atk* 5 + a.mat * 9 ) * 1.5 #↑↑↑↑↑↑↑↑写hp伤害的公式,底下的各种修正很据情况可删可留 #user→a self→b end 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) @result.hp_damage = value.to_i end end
lirn 发表于 2013-9-15 21:00
对了,回复该怎么做?
我想做一个消耗道具回复的技能。虽然有技能消耗物品的脚本,但是我怕脚本太多会冲突 ...
造小梦 发表于 2019-7-17 15:40
我想做一个技能,当敌人处于0号状态时技能必定暴击,这种技能该怎么做?
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |