Zorothegallade

Untitled

Jul 9th, 2022
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1.  
  2. module Dice
  3.  
  4.  
  5. def self.roll_the_dice(dice,value)
  6. rolls = []
  7. if value == nil
  8. n = dice.index(/d/i)
  9. x = dice.slice!(0, n)
  10. dice.slice!("d")
  11. y = dice
  12. else
  13. x = dice
  14. y = value
  15. end
  16.  
  17. if x.is_a?(String) and x.slice(/v/i) != nil
  18. x = $game_variables[x.slice(1,x.size - 1).to_i]
  19. else
  20. x = x.to_i
  21. end
  22.  
  23. if y.is_a?(String) and y.slice(/v/i) != nil
  24. y = $game_variables[y.slice(1,y.size - 1).to_i]
  25. else
  26. y = y.to_i
  27. end
  28.  
  29.  
  30. if x == 0
  31. x = 1
  32. end
  33. while x > 0
  34. roll = y == 0 ? 0 : rand(y) + 1
  35. rolls.push(roll)
  36. x-=1
  37. end
  38. return rolls
  39. end
  40.  
  41.  
  42. def self.roll(dice, value = nil)
  43. result = 0
  44. rolls = roll_the_dice(dice,value)
  45. return rolls.inject{|sum, n| sum + n}
  46. end
  47.  
  48.  
  49. def self.rolls(dice, value = nil)
  50. return roll_the_dice(dice,value)
  51. end
  52.  
  53.  
  54. def self.saverolls(var, dice, value = nil)
  55. rolls = roll_the_dice(dice,value)
  56. z = var
  57. rolls.each do |i|
  58. $game_variables[z] = i
  59. z +=1
  60. end
  61. end
  62. end
  63.  
  64.  
  65. class Game_Battler < Game_BattlerBase
  66.  
  67.  
  68. def weaponroll
  69. if !actor?
  70. dicedamage1 = $data_enemies[enemy_id].note.to_s.slice(/^DiceDamage:v?[0-9]+dv?[0-9]+$/i)
  71. dicedamage1 = dicedamage1.slice(/v?[0-9]+dv?[0-9]+/i)
  72. dicedamage1 = Dice.roll(dicedamage1)
  73. return dicedamage1
  74. end
  75. if actor?
  76. if weapons[0] != nil
  77. dicedamage1 = weapons[0].note.to_s.slice(/^DiceDamage:v?[0-9]+dv?[0-9]+$/i)
  78. dicedamage1 = dicedamage1.slice(/v?[0-9]+dv?[0-9]+/i)
  79. dicedamage1 = Dice.roll(dicedamage1)
  80. else
  81. dicedamage1 = 0
  82. end
  83. if weapons[1] != nil
  84. dicedamage2 = weapons[1].note.to_s.slice(/^DiceDamage:[0-9]+d[0-9]+$/i)
  85. dicedamage2 = dicedamage2.slice(/v?[0-9]+dv?[0-9]+/i)
  86. dicedamage2 = Dice.roll(dicedamage2)
  87. else
  88. dicedamage2 = 0
  89. end
  90. return dicedamage1 + dicedamage2
  91. end
  92. end
  93. end
Advertisement
Add Comment
Please, Sign In to add comment