// Requires:
// - common.js

/////////////////
// Traps & Bases //
/////////////////

var traptypes=["", "Physical", "Shadow", "Tactical", "Arcane", "Hydro", "Forgotten", "Draconic", "Parental"];

// traps_raw allows us to insert and modify traps easily and position them alphabetically or as we see fit
var traps_raw=[
// Name, traptype, power, power bonus, att, luck, freshness, title_req, ronza
  ["Select : ",0,0,0,0,0,0,0,0],
  ["2010 Blastoff Trap",3,2600,15,0,25,5,1,1],
  ["500 Pound Spiked Crusher",1,250,10,0,1,7,1,0],
  ["Ambrosial Portal",2,1025,0,5,0,8,4,0],
  ["Ambush",3,3000,5,0,12,8,5,0],
  ["Ancient Box Trap",6,4300,10,0,4,7,7,0],
  ["Ancient Spear Gun",5,3600,5,10,12,8,6,0],
  ["Arcane Capturing Rod of Never Yielding Mystery",4,3800,12,0,18,3,6,0],
  ["Bottomless Grave",2,1500,0,0,5,7,4,0],
  ["Christmas Cracker Trap",1,3000,15,5,24,9,1,1],
  ["Chrome Drillbot",1,3900,20,0,26,3,1,1],
  ["Chrome Nannybot",2,1200,5,5,6,8,0,1],
  ["Clockapult of Time",2,2275,10,5,10,10,6,0],
  ["DeathBot (Chrome Edition)",1,2800,20,15,30,5,1,1],
  ["Digby DrillBot",1,3200,18,0,5,7,4,0],
  ["Giant Speaker",3,2850,5,5,22,7,1,1],
  ["Gingerbread House Surprise",3,2200,10,10,8,13,1,1],
  ["Gorgon Trap",2,2000,5,5,7,5,6,0],
  ["Harpoon Gun",5,3000,7,0,0,6,6,0],
  ["High Tension Spring",1,75,5,20,2,7,1,0],
  ["HitGrab Horsey",1,550,2,0,20,9,1,1],
  ["HitGrab Rainbow Rockin' Horse",1,1250,2,10,25,9,1,1],
  ["HitGrab Rockin' Horse",1,1250,2,10,25,7,1,1],
  ["Horrific Venus Mouse Trap",3,3400,12,1,16,7,6,0],
  ["Ice Maiden",7,5200,12,0,8,7,6,0],
  ["Kraken Chaos",5,3400,0,0,18,5,1,1],
  ["Mouse DeathBot",1,2400,15,10,2,6,1,0],
  ["Mouse Mary O'Nette",1,250,0,6,5,8,1,0],
  ["Mouse Rocketine",1,650,6,0,0,5,1,0],
  ["Mouse Trebuchet",1,600,2,4,1,9,1,0],
  ["Mutated Venus Mouse Trap",3,2300,15,0,8,3,4,0],
  ["Nannybot",8,525,5,0,5,7,0,1],
  ["Net Cannon",5,3000,0,3,5,6,6,0],
  ["NVMRC Forcefield Trap",1,2350,12,10,12,7,1,0],
  ["Obelisk of Incineration",4,2150,10,0,1,3,6,0],
  ["Obelisk of Slumber",4,2100,0,10,0,10,6,0],
  ["Onyx Mallet",1,3800,12,0,6,6,1,0],
  ["PartyBot",1,2850,15,15,25,6,1,1],
  ["RhinoBot",1,4950,0,0,8,5,6,0],
  ["Sinister Portal",2,1025,5,0,0,6,4,0],
  ["Snow Barrage",3,1450,20,20,28,9,1,1],
  ["Snowglobe Trap",1,2350,12,10,16,7,1,1],
  ["Swiss Army Mouse Trap",1,1200,2,2,10,7,1,0],
  ["Tacky Glue Trap",1,70,0,40,2,6,1,0],
  ["Thorned Venus Mouse Trap",3,3400,5,2,14,9,6,0],
  ["Venus Mouse Trap",3,1900,0,5,5,10,4,0],
  ["Zugzwang's Last Move",3,2200,15,0,7,8,5,0]
];

// Populate trap related arrays
var n_traps=traps_raw.length;
var traps=new Array(n_traps);
var traptype=new Array(n_traps);
var trappow=new Array(n_traps);
var trappowbonus=new Array(n_traps);
var trapatt=new Array(n_traps);
var trapluck=new Array(n_traps);
var trapfresh=new Array(n_traps);
var traps_title_req=new Array(n_traps);
var ronza_traps=[];
for (i=0; i<n_traps; i++) {
  traps[i]=traps_raw[i][0];
  traptype[i]=traps_raw[i][1];
  trappow[i]=traps_raw[i][2];
  trappowbonus[i]=traps_raw[i][3];
  trapatt[i]=traps_raw[i][4];
  trapluck[i]=traps_raw[i][5];
  trapfresh[i]=traps_raw[i][6];
  traps_title_req[i]=traps_raw[i][7];
  if (traps_raw[i][8]>0) ronza_traps.push(i);
}

// bases_raw allows us to insert and modify bases easily and position them alphabetically or as we see fit
var bases_raw=[
// Name, power, power bonus, att, luck, freshness, title_req, ronza
  ["Select : ",0,0,0,0,0,0,0],
  ["Aqua Base",230,0,0,8,7,6,0],
  ["Bamboozler Base",200,10,5,0,9,5,0],
  ["Birthday Cake Base",175,11,5,0,7,1,1],
  ["Candy Cane Base",300,0,0,8,8,1,1],
  ["Chocolate Birthday Cake Base",175,8,5,1,7,1,0],
  ["Dehydration Base",225,0,5,4,11,3,0],
  ["Explosive Base",300,5,5,0,6,1,0],
  ["Firecracker Base",300,5,5,4,6,1,1],
  ["Gingerbread Base",225,8,0,4,11,1,0],
  ["Magma Base",300,8,5,10,3,1,1],
  ["Molten Shrapnel Base",300,12,5,8,4,7,0],
  ["Monolith Base",300,12,0,0,7,1,0],
  ["Polar Base",200,10,0,4,11,1,1],
  ["Stone Base",150,10,0,0,8,1,0],
  ["Tribal Base",175,18,2,0,8,6,0],
  ["Wooden Base",35,0,0,0,9,1,0],
  ["Wooden Base with Target",75,0,20,0,7,1,0]
];

// Populate base related arrays
var n_bases=bases_raw.length;
var bases=new Array(n_bases);
var basepow=new Array(n_bases);
var basepowbonus=new Array(n_bases);
var baseatt=new Array(n_bases);
var baseluck=new Array(n_bases);
var basefresh=new Array(n_bases);
var bases_title_req=new Array(n_bases);
var ronza_bases=[];
for (i=0; i<n_bases; i++) {
  bases[i]=bases_raw[i][0];
  basepow[i]=bases_raw[i][1];
  basepowbonus[i]=bases_raw[i][2];
  baseatt[i]=bases_raw[i][3];
  baseluck[i]=bases_raw[i][4];
  basefresh[i]=bases_raw[i][5];
  bases_title_req[i]=bases_raw[i][6];
  if (bases_raw[i][7]>0) ronza_bases.push(i);
}

/////////////
// Freshness //
/////////////

var freshness=["&Uuml;ber Stale", "&Uuml;ber Stale", "Ultimately Stale", "Insanely Stale", "Extremely Stale", "Very Stale", "Stale", "No Effect", "Fresh", "Very Fresh", "Extremely Fresh", "Insanely Fresh", "Ultimately Fresh", "&Uuml;ber Fresh", "&Uuml;ber Fresh", "&Uuml;ber Fresh", "&Uuml;ber Fresh", "&Uuml;ber Fresh"];
var stalerate=[1, 1, 1, 1, 1, 0.5, 0.333333, 0.25, 0.2, 0.166667, 0.142857, 0.125, 0.111111, 0.1, 0.090909, 0.090909, 0.090909, 0.090909]

function getTrapId(trapName) {
  return getIndexFromStringArray(trapName, traps);
}

function getBaseId(baseName) {
  return getIndexFromStringArray(baseName, bases);
}
