Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Dice
- def self.roll_the_dice(dice,value)
- rolls = []
- if value == nil
- n = dice.index(/d/i)
- x = dice.slice!(0, n)
- dice.slice!("d")
- y = dice
- else
- x = dice
- y = value
- end
- if x.is_a?(String) and x.slice(/v/i) != nil
- x = $game_variables[x.slice(1,x.size - 1).to_i]
- else
- x = x.to_i
- end
- if y.is_a?(String) and y.slice(/v/i) != nil
- y = $game_variables[y.slice(1,y.size - 1).to_i]
- else
- y = y.to_i
- end
- if x == 0
- x = 1
- end
- while x > 0
- roll = y == 0 ? 0 : rand(y) + 1
- rolls.push(roll)
- x-=1
- end
- return rolls
- end
- def self.roll(dice, value = nil)
- result = 0
- rolls = roll_the_dice(dice,value)
- return rolls.inject{|sum, n| sum + n}
- end
- def self.rolls(dice, value = nil)
- return roll_the_dice(dice,value)
- end
- def self.saverolls(var, dice, value = nil)
- rolls = roll_the_dice(dice,value)
- z = var
- rolls.each do |i|
- $game_variables[z] = i
- z +=1
- end
- end
- end
- class Game_Battler < Game_BattlerBase
- def weaponroll
- if !actor?
- dicedamage1 = $data_enemies[enemy_id].note.to_s.slice(/^DiceDamage:v?[0-9]+dv?[0-9]+$/i)
- dicedamage1 = dicedamage1.slice(/v?[0-9]+dv?[0-9]+/i)
- dicedamage1 = Dice.roll(dicedamage1)
- return dicedamage1
- end
- if actor?
- if weapons[0] != nil
- dicedamage1 = weapons[0].note.to_s.slice(/^DiceDamage:v?[0-9]+dv?[0-9]+$/i)
- dicedamage1 = dicedamage1.slice(/v?[0-9]+dv?[0-9]+/i)
- dicedamage1 = Dice.roll(dicedamage1)
- else
- dicedamage1 = 0
- end
- if weapons[1] != nil
- dicedamage2 = weapons[1].note.to_s.slice(/^DiceDamage:[0-9]+d[0-9]+$/i)
- dicedamage2 = dicedamage2.slice(/v?[0-9]+dv?[0-9]+/i)
- dicedamage2 = Dice.roll(dicedamage2)
- else
- dicedamage2 = 0
- end
- return dicedamage1 + dicedamage2
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment