Geld, XP, Besitz, Rechnungen und Strom
Geld wird als Integer-Cent, Kryptowährungen als 10⁻⁸-Units und Erfahrung als Integer geführt. Jede Geldänderung erhält zusätzlich eine monotone Sequenz im Audit-Journal.
Progression
Die reine Funktion grantXpToState() kann in einem Commit mehrere Level überspringen. Auf Level 100 wird verbleibende XP auf 0 gesetzt.
Besitz und Kaufpfade
| Art | Key im Economy-State | Kaufmethode | Bemerkung |
|---|---|---|---|
| Raumslot / Objekt | slot_{id}_{name}_isOwned | ECONOMY_SERVICE.purchase({kind:"slot"}) | Level, Geld, XP in einem Commit |
| Menüzugang | menu_{id}_isOwned | MENU_ACCESS.purchase() | delegiert an Economy Service |
| Item | economy.items[id] | buyItem() | nur Katalog-IDs 4–7 sind kaufbar |
| Kapazität | economy.capacity | upgradeCapacity() | Weed berücksichtigt Canis-Boni |
| Canis-Perk | state.canis | CANIS_SERVICE.spendCanis() | eigener Beleg-Namespace |
Aktive Abrechnungsperiode
| Verbraucher | Maximal je Periode | Berechnung |
|---|---|---|
| Lampe 1–6 | 12 $ je Lampe | linear nach aktiver Millisekunden-Laufzeit, auf Periodenlänge begrenzt |
| Mining-Rig | 80 $ | linear nach aktiver Millisekunden-Laufzeit, auf Periodenlänge begrenzt |
| Nebenkosten | 0 $ | Konfigurationsfeld vorbereitet |
Rechnungs-Lifecycle
| Status | Bedingung |
|---|---|
| OPEN | Restbetrag > 0, Fälligkeitsgrenze noch nicht erreicht, noch keine Teilzahlung |
| PARTIAL | Teilbetrag gezahlt, Rest offen, noch nicht überfällig |
| OVERDUE | periodNumber >= gracePeriod |
| PAID | outstandingCents === 0 |
Zahlungsreihenfolge und Stromsperre
Einzelrechnung
payBill(billId) nimmt maximal den vorhandenen Geldbetrag. Innerhalb einer Rechnung wird zuerst Miete, dann Strom, dann Nebenkosten getilgt.
Alle offenen Rechnungen
payOutstanding() arbeitet chronologisch von der ältesten Rechnung und stoppt, wenn kein Geld mehr vorhanden ist.
Sperrfrist
Strom darf erst gesperrt werden, wenn eine Rechnung noch Stromanteil besitzt und zwei weitere Abrechnungsperioden seit Erstellung erreicht sind.
Entsperrung
Nach Zahlungen wird entsperrt, sobald keine sperrberechtigte Rechnung mit offenem Stromanteil mehr existiert. Geräte bleiben aus und müssen bewusst wieder eingeschaltet werden.
Canis-Testwirtschaft
| Produkt | Demo-Preis | Canis / Effekt |
|---|---|---|
| Small | 1,99 € | 100 Canis |
| Medium | 8,99 € | 550 Canis |
| Large | 17,99 € | 1.200 Canis |
| Laboratory Theme | 75 Canis | Theme besitzen/aktivieren, Level 20 |
| Chemistry Queue | 150 Canis | +1 Warteschlangenplatz, Chemietisch erforderlich |
| Weed Storage | 200 Canis | +2.500 g, maximal zweimal |
purchaseTestPack() verarbeitet Testbeleg-UUIDs; es existiert kein Echtgeld-Zahlungsanbieter im Snapshot.