| @@ -571,13 +571,12 @@ function updateEntityElement(entity, element) { | |||||
| let ratioInfo | let ratioInfo | ||||
| function updateRatios() { | function updateRatios() { | ||||
| let text = "" | |||||
| if (config.showRatios) { | if (config.showRatios) { | ||||
| if (selectedEntity !== null && prevSelectedEntity !== null && selectedEntity !== prevSelectedEntity) { | if (selectedEntity !== null && prevSelectedEntity !== null && selectedEntity !== prevSelectedEntity) { | ||||
| let first = selectedEntity.currentView.height; | let first = selectedEntity.currentView.height; | ||||
| let second = prevSelectedEntity.currentView.height; | let second = prevSelectedEntity.currentView.height; | ||||
| let text = "" | |||||
| if (first.toNumber("meters") < second.toNumber("meters")) { | if (first.toNumber("meters") < second.toNumber("meters")) { | ||||
| text += selectedEntity.name + " is " + math.format(math.divide(second, first), { precision: 5 }) + " times smaller than " + prevSelectedEntity.name; | text += selectedEntity.name + " is " + math.format(math.divide(second, first), { precision: 5 }) + " times smaller than " + prevSelectedEntity.name; | ||||
| } else { | } else { | ||||
| @@ -592,23 +591,35 @@ function updateRatios() { | |||||
| apparentHeight = apparentHeight.to("meters"); | apparentHeight = apparentHeight.to("meters"); | ||||
| } | } | ||||
| text += prevSelectedEntity.name + " looks " + math.format(apparentHeight, { precision: 3}) + " tall to " + selectedEntity.name; | |||||
| text += prevSelectedEntity.name + " looks " + math.format(apparentHeight, { precision: 3}) + " tall to " + selectedEntity.name + "\n"; | |||||
| if (selectedEntity.currentView.capacity && prevSelectedEntity.currentView.weight) { | if (selectedEntity.currentView.capacity && prevSelectedEntity.currentView.weight) { | ||||
| const containCount = math.divide(selectedEntity.currentView.capacity, math.divide(prevSelectedEntity.currentView.weight, math.unit("80kg/people"))); | const containCount = math.divide(selectedEntity.currentView.capacity, math.divide(prevSelectedEntity.currentView.weight, math.unit("80kg/people"))); | ||||
| if (containCount > 0.1) { | if (containCount > 0.1) { | ||||
| text += "\n" | |||||
| text += selectedEntity.name + " can fit " + math.format(containCount, { precision: 1 }) + " of " + prevSelectedEntity.name + " inside them" | |||||
| text += selectedEntity.name + " can fit " + math.format(containCount, { precision: 1 }) + " of " + prevSelectedEntity.name + " inside them" + "\n" | |||||
| } | } | ||||
| } | } | ||||
| ratioInfo.innerText = text; | |||||
| } else { | |||||
| //ratioInfo.innerText = ""; | |||||
| } | } | ||||
| } | } | ||||
| if (config.showHorizon) { | |||||
| if (selectedEntity !== null) { | |||||
| const R = math.unit(1.27560e+7, "meters") | |||||
| const h = selectedEntity.currentView.height | |||||
| const first = math.multiply(2, math.multiply(R, h)) | |||||
| const second = math.multiply(h, h) | |||||
| const sightline = math.sqrt(math.add(first, second)).to(config.height.units[0].unit.name) | |||||
| text += selectedEntity.name + " could see for " + math.format(sightline, { precision: 3 }) | |||||
| } | |||||
| } | |||||
| ratioInfo.innerText = text; | |||||
| } | } | ||||
| @@ -2752,11 +2763,20 @@ const settingsData = { | |||||
| }, | }, | ||||
| set value(param) { | set value(param) { | ||||
| config.showRatios = param; | config.showRatios = param; | ||||
| if (param) { | |||||
| document.body.querySelector(".ratio-info").style.display = "block"; | |||||
| } else { | |||||
| document.body.querySelector(".ratio-info").style.display = "none"; | |||||
| } | |||||
| updateRatios(); | |||||
| } | |||||
| }, | |||||
| "show-horizon": { | |||||
| name: "Show Horizon", | |||||
| desc: "Show how far the horizon would be for the selected character", | |||||
| type: "toggle", | |||||
| default: false, | |||||
| get value() { | |||||
| return config.showHorizon; | |||||
| }, | |||||
| set value(param) { | |||||
| config.showHorizon = param; | |||||
| updateRatios(); | |||||
| } | } | ||||
| }, | }, | ||||
| "attach-rulers": { | "attach-rulers": { | ||||