本帖最后由 y967 于 2019-11-28 11:26 编辑
我设想用变量存储血量,伤害和这个变量挂钩,只要某个状态下,这个就生效。当状态存在时,不扣血,只扣变量,当变量小于0,状态消失。这样做的好处就是不用另外写脚本,就在Battlle3里写,我想想怎么写。
1,第一种不需要变量,直接用状态,伤害除以一个数,达到比例减伤的效果
if self.states.include?(37) self.damage /= 1.3 self.damage = self.damage.to_i
if self.states.include?(37)
self.damage /= 1.3
self.damage = self.damage.to_i
2,第二种,也不需要变量,伤害超过一定数值,减伤固定数值
if self.states.include?(41) if self.damage > 200 self.damage -= 200 end
if self.states.include?(41)
if self.damage > 200
self.damage -= 200
end
3,第三种就是要变量,battle3 里这样写
if self.states.include?(66) $game_variables[30] = self.damage $game_variables[29] -= $game_variables[30] if $game_variables[29] <= 0 self.damage = self.damage else self.damage = 1 end end
if self.states.include?(66)
$game_variables[30] = self.damage
$game_variables[29] -= $game_variables[30]
if $game_variables[29] <= 0
self.damage = self.damage
else
self.damage = 1
end
end
66号状态为盾状态,29号变量为存储盾的血量,30号变量存储当前一次伤害值,设置一个公共事件:
当29号变量小于等于0时,赋予29号变量值 =1000 (盾的血量,要多少写多少),护盾技能带上这个公共事件,亲测有用
|