Guest User

Untitled

a guest
Sep 26th, 2013
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.19 KB | None | 0 0
  1.       def density
  2.         if (@density.is_a?Density)
  3.           return @density
  4.         end
  5.         rerolls=(1..@size).to_a.select { |r| @reroll_modifiers.any? { |m| mod.reroll_with? r } }
  6.         if(@compounding)
  7.           temp=CompoundDieDensity.new(@size,rerolls)
  8.           @density=ModifiedDieDensity.new(temp,@count,@fun_modifiers)
  9.         elsif(@penetrating)
  10.           temp=PenetratingDieDensity.new(@size,rerolls)
  11.           @density=ModifiedDieDensity.new(temp,@count,@fun_modifiers)
  12.         # This is a rather special case....
  13.         elsif(@exploding)  
  14.           nomaxrolls=rerolls
  15.           if (not rerolls.include? @size)
  16.             nomaxrolls << @size
  17.           end
  18.           temp=DieDensity.new(@size,nomaxrolls)
  19.           count=ExplodingDieNumberDensity.new(@size,rerolls,@count)
  20.  
  21.           if (rerolls.include? @size)
  22.             @density=ModifiedDieDensity.new(temp,@count,@fun_modifiers)
  23.           else
  24.             @density=ExplodingDieDensity.new(temp,@size,@count,@fun_modifiers)
  25.           end
  26.         else
  27.           temp=DieDensity.new(@size,rerolls)
  28.           @density=ModifiedDieDensity.new(temp,@count,@fun_modifiers)
  29.         end  
  30.         return @density
  31.       end
Advertisement
Add Comment
Please, Sign In to add comment