[分享] 中毒-連續傷害修改(RMXP)

看板RPGMaker作者 (總是被忽略...)時間14年前 (2010/03/16 03:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
在板上沒有看到類似的內容 想說來分享一下我寒假修改出來的內容 中毒 我想應該會有人想像我一樣 希望中毒不會毒死 就有點像是魔獸裡面的毒一樣 掉到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
文章代碼(AID): #1BdebC4z (RPGMaker)