Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //lots of assumptions are made in this script.
- //It should not be trusted.
- boolean name;
- int candles;
- boolean scroll;
- int random_number;
- int roll_limit;
- float turns;
- float[int] turns_array;
- float total_turns;
- float average_turns;
- float variance;
- for i from 1 to 100000{
- name = false;
- candles = 0;
- scroll = false;
- turns = 0;
- while(!scroll || candles <3 || !name){
- //expected turns to encounter eldritch horror.
- //This implementation reduces variance relative to
- //how things actually work. We'll compensate for that later.
- //maybe.
- //turns += 5;
- // cleeshing all non-horror things:
- // 1/(1/5 + 4/5 * 1/5) = 5/(1+4/5) = 25/9;
- //turns += 2.7777;
- // cleeshing all non-horror, non-bacon things:
- // 1/(1/5 + 3/5 * 1/5) = 5/(1+3/5) = 25/8;
- //turns += 3.125;
- //this implementation won't mess with variance:
- random_number = random(5);
- turns += 1;
- if(random_number == 0){
- //4 for candles, 12 for demonname, 1 for scroll.
- roll_limit = 17;
- //adjust for daily caps.
- if(scroll){
- roll_limit -= 1;
- }
- if(candles >= 6){
- roll_limit -= 4;
- }
- random_number = random(roll_limit);
- if((random_number >= 4 && random_number < 7 && candles < 6) || (random_number < 4 && candles >= 6)){
- name = true;
- }
- if(random_number < 4 && candles < 6){
- candles++;
- }
- if(!scroll && random_number == (roll_limit-1)){
- scroll = true;
- }
- }
- }
- turns_array[i] = turns;
- }
- foreach i in turns_array{
- total_turns+= turns_array[i];
- }
- average_turns = total_turns.to_float() / turns_array.count().to_float();
- foreach i in turns_array{
- variance += (turns_array[i].to_float() - average_turns)**2;
- }
- variance = variance / turns_array.count().to_float();
- print("getting a gnat demon summon takes "+average_turns+" on average, with standard deviation "+(variance**(0.5)));
- //"getting a gnat demon summon takes 103.04625 on average, with standard deviation 63.37605597493195"
Advertisement
Add Comment
Please, Sign In to add comment