|
|
|
@@ -2373,34 +2373,51 @@ const filterDefs = { |
|
|
|
id: "allSizes", |
|
|
|
name: "Possible Size", |
|
|
|
extract: maker => maker.sizes ? Array.from(maker.sizes.reduce((set, size) => { |
|
|
|
let meters = size.height.toNumber("meters"); |
|
|
|
if (meters < 1e-1) { |
|
|
|
set.add("micro"); |
|
|
|
} else if (meters < 1e1) { |
|
|
|
set.add("moderate"); |
|
|
|
} else { |
|
|
|
set.add("macro"); |
|
|
|
} |
|
|
|
|
|
|
|
const height = size.height; |
|
|
|
|
|
|
|
let result = Object.entries(sizeCategories).reduce((result, [name, value]) => { |
|
|
|
if (result) { |
|
|
|
return result; |
|
|
|
} else { |
|
|
|
if (math.compare(height, value) <= 0) { |
|
|
|
return name; |
|
|
|
} |
|
|
|
} |
|
|
|
}, null); |
|
|
|
|
|
|
|
set.add(result ? result : "infinite"); |
|
|
|
|
|
|
|
return set; |
|
|
|
}, new Set())) : [], |
|
|
|
render: tag => { return { |
|
|
|
"micro": "Micro", |
|
|
|
"moderate": "Moderate", |
|
|
|
"macro": "Macro" |
|
|
|
}[tag]}, |
|
|
|
render: tag => tag[0].toUpperCase() + tag.slice(1), |
|
|
|
sort: (tag1, tag2) => { |
|
|
|
const order = { |
|
|
|
"micro": 0, |
|
|
|
"moderate": 1, |
|
|
|
"macro": 2 |
|
|
|
}; |
|
|
|
const order = [ |
|
|
|
"atomic", "microscopic", "tiny", "small", "moderate", "large", "macro", "megamacro", "planetary", "stellar", |
|
|
|
"galactic", "universal", "omniversal", "infinite" |
|
|
|
] |
|
|
|
|
|
|
|
return order[tag1[0]] - order[tag2[0]]; |
|
|
|
return order.indexOf(tag1[0]) - order.indexOf(tag2[0]); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const sizeCategories = { |
|
|
|
"atomic": math.unit(100, "angstroms"), |
|
|
|
"microscopic": math.unit(100, "micrometers"), |
|
|
|
"tiny": math.unit(100, "millimeters"), |
|
|
|
"small": math.unit(1, "meter"), |
|
|
|
"moderate": math.unit(3, "meters"), |
|
|
|
"large": math.unit(10, "meters"), |
|
|
|
"macro": math.unit(300, "meters"), |
|
|
|
"megamacro": math.unit(1000, "kilometers"), |
|
|
|
"planetary": math.unit(10, "earths"), |
|
|
|
"stellar": math.unit(10, "solarradii"), |
|
|
|
"galactic": math.unit(10, "galaxies"), |
|
|
|
"universal": math.unit(10, "universes"), |
|
|
|
"omniversal": math.unit(10, "multiverses") |
|
|
|
}; |
|
|
|
|
|
|
|
function prepareEntities() { |
|
|
|
availableEntities["buildings"] = makeBuildings(); |
|
|
|
availableEntities["characters"] = makeCharacters(); |
|
|
|
|