/** * Generates SWN Spike Drive Travel Times **/ let dialogue = new Dialog({ title: `Spike Drive Calculator`, content: `
`, buttons: { one: { icon: '', label: 'Submit', callback: (html) => { const input1 = html.find('#spikeDriveRating').val(); const input2 = html.find('#jumpDistance').val(); let spikeDriveRating = input1 ? parseInt(input1) : 1; let jumpDistance = input2 ? parseInt(input2) : 1; let jumpPrepTime = 30; let jumpDescription = "Hexes"; let jumpTravelTimeDescription = "Days"; let betweenRegionsTimeDescription = "Hours"; let intraRegionTimeDescription = "Hours"; let trimmedChkBox = html.find('#trimTheCourse'); let rushedChkBox = html.find('#rushPrep'); let trimmed = trimmedChkBox[0].checked; let rushed = rushedChkBox[0].checked; let trimmedColor = colorSetter(trimmed); let rushedColor = colorSetter(rushed); let trimmedModifier = 0; if(trimmed === true){ trimmedModifier = 1; } if(rushed === true){ jumpPrepTime = 15; } if(jumpDistance <= 1){ jumpDescription = "Hex"; } let spikeDriveModifier = spikeDriveRating + trimmedModifier; let jumpTravelTime = (jumpDistance * 6) / spikeDriveModifier; let betweenRegionsTime = 48 / spikeDriveModifier; let intraRegionTime = 6 / spikeDriveModifier; if(jumpTravelTime <= 1){ jumpTravelTimeDescription = "Day"; } if(betweenRegionsTime <= 1){ betweenRegionsTimeDescription = "Hour"; } if(intraRegionTime <= 1){ intraRegionTimeDescription = "Hour"; } console.log(spikeDriveRating, jumpDistance,jumpPrepTime,jumpTravelTime,betweenRegionsTime,intraRegionTime); let content = `

Spike Drive Travel Times

Drive Rating ${spikeDriveRating}
Course Trimmed ${trimmed}
Prep Rushed ${rushed}
Jump Prep Time ${jumpPrepTime} Minutes
Jump Distance ${jumpDistance} ${jumpDescription}
Jump Travel Time ${jumpTravelTime.toFixed(2)} ${jumpTravelTimeDescription}
Between Regions ${betweenRegionsTime.toFixed(2)} ${betweenRegionsTimeDescription}
Intra Region ${intraRegionTime.toFixed(2)} ${intraRegionTimeDescription}
`; ChatMessage.create({content}); } } } }) dialogue.render(true) function colorSetter(input) { if(input === true) return 'color:red'; return 'color:white'; }