Log inGet started
World

Science-Based 100% Dragon MMO

Branchmain
Branchesmain
Commit4c69d78227

README.md

Fauna

Herd, raptors and wolves — one component, role picked by kind.

  • kind = "manager" — one instance on a scene entity. Keeps ~8 aurochs, 2 raptors and 2 wolves alive, spawn-guarded to the lowest peer id so N peers never spawn N herds. Replacements spawn one per tick so simultaneous managers converge.
  • kind = "aurochs" — grazes around a herd anchor at true scale (~700 kg, 420 kg usable meat via a sibling Prey component). A dragon within ~40 m and overhead reads as a stoop: the WHOLE herd bolts together (the panic record lives on the dragon.game singleton — component module locals are per-instance, so shared state crosses instances through the require-cached module). A grounded, slow dragon inside 6 m gets gored: the gore check runs on every peer against that peer's own dragon, costing kcal and stamina through Game.say. When the sibling Prey flips isCarrion, the body swaps to the carcass mesh and rots away over ~2 game days.
  • kind = "raptor" / "wolf" — egg thieves denned near the nest caves. They watch the nest (Game.hoards) and commit only after it has been unguarded — no dragon within 30 m — for a sustained window, then take an egg via the Hoard's stealEgg() method.

Animal entities are synced (setSynced(true)); AI runs only on the owning peer (entity.isLocal()), other peers render the replicated transforms. Meshes come from dragon.fauna (aurochs / wolf / raptor / carcass).