spansh road to riches to edtools
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.0/papaparse.min.js"></script>
<label>
Paste https://spansh.co.uk/riches/ csv
<textarea id="input"></textarea>
</label>
<hr>
<label>
https://edtools.cc/expl.php equivalent
<textarea id="output" rows="15"></textarea>
</label>
JavaScript
var input = document.getElementById("input");
var output = document.getElementById("output");
function setOutput(t) {
output.value = t;
}
function parseSubType(subtype, terraformable) {
let result = terraformable ? 'T' : '';
switch (subtype) {
case 'Earth-like world':
return 'ELW';
case 'High metal content world':
return 'HMC';
case 'Water world':
return result + 'WW';
default:
return result + subtype;
}
}
function handleInput() {
var csv = Papa.parse(input.value.trim(), {
header: true
})
if (csv.errors.length !== 0) {
setOutput('Error parsing csv\n' + JSON.stringify(csv.errors));
return;
}
let result = " # Jump System/Planets\n" +
"--- ------ ---------------\n";
for (const [k, row] of Object.entries(csv.data)) {
result += ` ${parseInt(k)+1} 30.00 ${row["System Name"]}\n`;
result += ` ${row["Body Name"].replace(row["System Name"] + ' ', "")} (${row["Distance To Arrival"]}) ${parseSubType(row["Body Subtype"], row["Is Terraformable"])}\n`
}
setOutput(result);
}
input.addEventListener('input', handleInput);
input.addEventListener('change', handleInput);