refactor
This commit is contained in:
parent
0a6148c73f
commit
e8f1d1db1e
60 changed files with 2417 additions and 612 deletions
|
|
@ -22,11 +22,7 @@
|
|||
ant_corpse: { label: "\u30a2\u30ea\u306e\u6b7b\u9ab8", nutrition: 0.62, hungerRelief: 0.62, interest: "corpse", decayRateMultiplier: 1.0, hygienePenalty: 0.065 }
|
||||
};
|
||||
|
||||
class FoodRegistry {
|
||||
constructor(defs) { this.defs = new Map(Object.entries(defs || {})); }
|
||||
get(type = "") { return this.defs.get(String(type || "")) || null; }
|
||||
has(type = "") { return this.defs.has(String(type || "")); }
|
||||
label(type = "") { return this.get(type)?.label || type || ""; }
|
||||
class FoodRegistry extends global.TarinaiRegistryBase {
|
||||
servingTypes() {
|
||||
return [...this.defs.entries()]
|
||||
.filter(([, def]) => def.interest && !["grass_like", "water", "corpse"].includes(def.interest))
|
||||
|
|
@ -41,9 +37,18 @@
|
|||
paramEffectTypes() {
|
||||
return [...this.defs.entries()].filter(([, def]) => def.effectId && !def.effectId.endsWith("_mochi") && def.effectId !== "sleep_drug").map(([id]) => id);
|
||||
}
|
||||
nutrition(type = "", fallback = 0) {
|
||||
const value = this.get(type)?.nutrition;
|
||||
return Number.isFinite(value) ? value : fallback;
|
||||
}
|
||||
hungerRelief(type = "", fallback = 0) {
|
||||
const value = this.get(type)?.hungerRelief;
|
||||
return Number.isFinite(value) ? value : fallback;
|
||||
}
|
||||
effectId(type = "") { return this.get(type)?.effectId || ""; }
|
||||
passiveDecayMultiplier(type = "") { return this.get(type)?.decayRateMultiplier ?? 1; }
|
||||
hygienePenalty(type = "") { return this.get(type)?.hygienePenalty ?? 0.055; }
|
||||
debugSnapshot() { return [...this.defs.entries()].map(([id, def]) => ({ id, label: def.label, interest: def.interest, effectId: def.effectId || "" })); }
|
||||
debugSnapshot() { return super.debugSnapshot((id, def) => ({ id, label: def.label, interest: def.interest, effectId: def.effectId || "" })); }
|
||||
}
|
||||
|
||||
const registry = new FoodRegistry(rawDefinitions);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue