JavaScript
/*****SETTINGS*****/
const cryptid_types = [
{
name:"Big",
max:200, min:50, active_count:5, passive_count:3, squads_allowed:2,runs_rallies:true,
march_to_rally:{min:5, max:30},
march_home:{min:5, max:15},
squads:[
{ max_percent:100, min_percent:100 },
{ max_percent:4, min_percent:1 },
{ max_percent:1, min_percent:0.5 },
{ max_percent:0.5, min_percent:0.25 }
],
},
{
name:"Medium",
max:50, min:10, active_count:10, passive_count:10, squads_allowed:2,runs_rallies:true,
march_to_rally:{min:5, max:30},
march_home:{min:5, max:15},
squads:[
{ max_percent:100, min_percent:100 },
{ max_percent:4, min_percent:1 },
{ max_percent:1, min_percent:0.5 },
{ max_percent:0.5, min_percent:0.25 }
]
},
{
name:"Small",
max:10, min:2, active_count:5, passive_count:10, squads_allowed:2,runs_rallies:true,
march_to_rally:{min:5, max:30},
march_home:{min:5, max:15},
squads:[
{ max_percent:100, min_percent:100 },
{ max_percent:4, min_percent:1 },
{ max_percent:1, min_percent:0.5 },
{ max_percent:0.5, min_percent:0.25 }
]
},
];
const alliance_rewards_value = [10,12,15,19,25];
const individual_rewards_value = [10,12,15,19,25];
const human_delay = 2;
let run_time = 30*60;
/***DO NOT TOUCH BELOW******/
let rallies = {
open:[],
full:[],
attacking:[],
returning:[],
};
let attackers = {
waiting:[],
returning:[],
passive:[]
}
let alliance_damage = 0;
let active_damage = 0;
let cryptid_damage = [];
let inits = {};
inits['calculate_damage'] = function(args){
let cryptid_type = args['cryptid_type'];
let max = cryptid_type['max'];
let min = cryptid_type['min'];
let base = Math.floor((Math.random() * (max - min) + min) * 10) / 10;
let percent_max = cryptid_type['squads'][args['squad_index']]['max_percent'];
let percent_min = cryptid_type['squads'][args['squad_index']]['max_percent'];
let percent =...