Pflanzen, Slots, Erde, Licht und Ernte
Sechs Pflanzenzustände sind fest mit sechs Lampenkanälen gekoppelt. Wachstum wird nur während aktiv gezählter Lampenlaufzeit fortgeschrieben.
Slot- und Lampenzuordnung
| Pflanze | Pflanzslot | Lampe / Slot | Freischaltung | Kosten |
|---|---|---|---|---|
| 1 | 1 | Lampe 1 / Slot 4 | Level 0 | 0 $ |
| 2 | 2 | Lampe 2 / Slot 5 | Level 5 | 500 $ |
| 3 | 3 | Lampe 3 / Slot 6 | Level 10 | 1.000 $ |
| 4 | 14 | Lampe 4 / Slot 17 | Level 15 | 1.500 $ |
| 5 | 15 | Lampe 5 / Slot 18 | Level 20 | 2.000 $ |
| 6 | 16 | Lampe 6 / Slot 19 | Level 25 | 2.500 $ |
Die Zuordnung liegt doppelt explizit vor: PLANT_SLOTS beschreibt Käufe/Positionen, PLANT_LAMP_INDEX ordnet Pflanzenindex → Lampenindex.
Zustandsmaschine eines Pflanzzyklus
| Feld | Bedeutung |
|---|---|
seedPlaced | aktive Pflanze vorhanden |
varietyId / cycleId | Sorte und idempotente Zyklusidentität |
preparedSoilId | Erde liegt im leeren Topf bereit |
activeSoilId | Erde der laufenden Pflanze |
potDurability | Ernten bis zum Bruch; 0 erfordert Item 4 |
growthDurationMs | benötigte aktive Wachstumszeit |
growthElapsedMs | bereits gezählte aktive Lampenzeit |
growthState | GROWING, PAUSED_NO_LIGHT oder READY |
Dauerformel und Verbrauchsmaterial
Normale Erde · Item 5
Dauer: (breedtime − 1) × 7.000 ms. Preis: 40 $. Level 0.
Bessere Erde · Item 6
Dauer: (breedtime − 2) × 7.000 ms. Preis: 120 $. Level 5.
Dünger · Item 7
Reduziert growthDurationMs einmalig um 7.000 ms, Minimum 1.000 ms. Preis: 50 $. Level 3.
Ersatztopf · Item 4
Nur bei leerem, vollständig defektem Topf. Setzt Haltbarkeit auf 10. Preis: 40 $.
Ernte
Zufällige Grammzahl im Sortenbereich plus 20–30 XP. Danach verliert der Topf einen Haltbarkeitspunkt.
Lager
Ernte wird abgelehnt, wenn die Weed-Kapazität überschritten würde. Basiswert aus dem Save; Canis kann +2.500 g je Kauf gewähren.
Sortenkatalog
| ID | Sorte | Level | Breedtime | Ernte | Samen | Verkauf / g |
|---|---|---|---|---|---|---|
| 0 | Royal King Kush | 0 | 8 | 100–250 g | 8,50 $ | 5,80 $ |
| 1 | Purple Haze | 0 | 10 | 150–300 g | 4,70 $ | 7,40 $ |
| 2 | Blueberry | 0 | 9 | 200–350 g | 4,10 $ | 10,40 $ |
| 3 | Amnesia Haze | 0 | 11 | 250–350 g | 4,70 $ | 7,40 $ |
| 4 | Orange Blaze | 5 | 9 | 180–620 g | 6,20 $ | 11,80 $ |
| 5 | Crimson Fire | 10 | 12 | 250–760 g | 8,10 $ | 14,60 $ |
| 6 | Azure Dream | 10 | 10 | 220–690 g | 7,30 $ | 13,20 $ |
| 7 | Crystal Cyan | 15 | 13 | 320–900 g | 9,80 $ | 18,40 $ |
| 8 | Golden Banana | 20 | 8 | 170–560 g | 5,90 $ | 10,80 $ |
| 9 | Pine Titan | 25 | 15 | 420–1.200 g | 12,50 $ | 24,90 $ |
| 10 | Pink Paradise | 25 | 14 | 380–1.100 g | 11,40 $ | 22,10 $ |
Klassen und Methoden
PLANT.refreshFromEconomy()liest autoritativen Zustand und aktualisiert Legacy-Instanz/DOM
PLANT.buyVariety(id)delegiert Aussaat an ECONOMY_SERVICE
PLANT.harvest()erzeugt stabilen Roll und ruft atomare Ernte auf
PLANT.synchronizeGrowth()Legacy-Kompatibilität; neuer Pfad nutzt Operating Runtime
LAMP.refreshPower()liest Billing-Zustand und zeichnet echten Powerstatus
LAMP.clickEvent()schaltet über OPERATING_COST_SERVICE.setLampPower()
HOME_MATERIALS.render()zeigt Erde, Dünger und Topfaktionen je Pflanze
PLANT_SEED_SHOP.render()filtert/markiert Sorten anhand Spielerlevel