作者yinsheng (总是被忽略...)
看板RPGMaker
标题[分享] 中毒-连续伤害修改(RMXP)
时间Tue Mar 16 03:23:51 2010
在板上没有看到类似的内容
想说来分享一下我寒假修改出来的内容
中毒 我想应该会有人想像我一样 希望中毒不会毒死
就有点像是魔兽里面的毒一样 掉到1滴血以後
毒状态还在 但是不会死 持续保持一滴血的状态
下面是我的修改内容
Game_Battler 3里面
在" 应用连续伤害效果 "
修改内容
def slip_damage_effect
# 设定伤害
self.damage = self.maxhp / 10
# 分散
if self.damage.abs > 0
amp = [self.damage.abs * 15 / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# HP 的伤害减法运算
# 血量小於等於0的扣血法
if self.hp - self.damage <= 0
self.damage = self.hp-1
self.hp = 1
# 血量大於0的扣血法
else
self.hp -= self.damage
end
# 过程结束
return true
end
主要就是把原先的判断修改
改成当血量低於0後 会将血量判断为1
并从这之後 每一次的扣血量都为hp-1 也就是0
但中毒状态会持续
除了这边的修改以外 地图上的连续伤害设定也要修改
不然一回到大地图 一样会毒死
Game_Party里面
在" 检查连续伤害 (地图用) "
修改内容
def check_map_slip_damage
for actor in @actors
if actor.slip_damage?
actor.hp -= [[actor.maxhp / 100, 1].max , actor.hp - 1].min
$game_screen.start_flash(Color.new(255,0,0,128), 4)
$game_temp.gameover = $game_party.all_dead?
end
end
end
先取扣血值跟1的大值 再取大值跟脚色hp-1的小值
这样的话如果在扣血值小於hp时 会一直照扣血值扣血
但如果扣血值大於hp 则会扣hp-1 脚色hp就会变成1
考虑到如果有某诡异角色初始血量低於100(好像不太可能)
所以多加了前面取大值的判断来防止bug产生
这样中毒毒不死的修改就完成了
或许会有人问为什麽第二部份不用跟第一部份的方式用判断的去给值
因为我如果这样用 当血量扣到1以後 中毒状态就会自动消失
我花了一个寒假找不出为什麽 Orz
待高手说明了
谢谢收看XDDD
--
╭╮ ☆ ╭──╮ ★
│ ★ │ ☆
│ │┬ ╭╮│╰──╮╮ │┌─╮╭╮│╭─╮
╰─┬╯│ ││││ │├─┤├─ ││││ ┬
┴ ┴ ┴╰╯╰──╯┴ ┴└─╯┴╰╯╰─╯
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.36.230.105