Advertisement
CommanderC

Untitled

Apr 1st, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.83 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. my @evocation_sample = qw(2 5 10 15 20 25);
  7.  
  8.  
  9. # DCSS 0.10 -- evoke.cc: _ball_of_energy
  10.  
  11. print <<HEADER;
  12. {| border="1"
  13. ! Evocations !! Minimum MP% for Max Success Rate !! Max Success Rate !! MP Restored (Average)
  14. HEADER
  15.  
  16. foreach (@evocation_sample) {
  17.     my $evoc = $_;
  18.  
  19. # first roll
  20.     my $ran1 = $evoc * 6;
  21.     my $max_roll1 = $ran1 - 1;
  22.     my $success1 = ($max_roll1 - 10) * 1.0 / $ran1;
  23. #second roll
  24.     my $success2 = 24.0/25;
  25. #third roll
  26.     my $ran3 = 77 - $evoc * 2 - 1; # min mp% for max success rate
  27. # max success rate
  28.     my $max_success = $success1 * $success2;
  29.     my $mp_recovered_avg = 5 + $evoc/2.0;
  30.  
  31.     print "|-\n";
  32.     printf "! %d\n", $evoc;
  33.     printf "| %d%% || %.2f%% || %.2f\n", $ran3, $max_success*100, $mp_recovered_avg;
  34. }
  35.  
  36. print "|}\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement