JSFiddle - React, Tailwind, and code Playground

by Travis Harris

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 =...