Skip to main content
Euca’s combat layer (euca-gameplay) is genre-neutral: entities carry Health, Team, and optional combat stats; damage and healing flow through events applied each tick; projectiles and trigger zones add spatial interactions. It’s the substrate the MOBA layer and your own rules build on.
Fully headless. All combat runs on the :3917 server — no GPU.

What it does

  • Health & deathHealth { current, max }; apply_damage_system drains health from queued DamageEvents each tick; death_check_system marks entities Dead and emits DeathEvent.
  • Damage & healingPOST /entity/damage and POST /entity/heal take an entity_id and an amount; the change is queued as an event and applied on the next tick. The internal DamageEvent model also carries a damage type (Physical / Magical / Pure / HpRemoval) used by the ability and combat layer, but this HTTP endpoint applies untyped damage.
  • Stats & mitigation — incoming damage is resolved through stat_resolution_system / combat_math: Armor mitigates Physical and MagicResistances mitigates Magical damage before it reaches Health. DamageEvent also carries a free-form category: String, so games can classify damage as data alongside the fixed DamageType enum.
  • More genre-neutral systems — the same layer ships stamina_system (Stamina), weapon_system (Weapon — cooldown / ammo / reload / hitscan resolution), and perception_system (line-of-sight awareness) as opt-in components a game attaches where it needs them.
  • ProjectilesPOST /projectile/spawn (direction, speed, damage, lifetime, radius); the projectile system moves and collides them.
  • Trigger zonesPOST /trigger/create AABB volumes that damage, heal, or teleport on overlap, once or repeatedly.
  • Teams & rolesTeam and EntityRole (Minion / Hero / Tower / Structure) drive targeting and scoring.

Example — damage an entity

Damage flows through an event applied during the tick — step after injecting it. Drive damage from data instead of by hand with rules (when health-below:30 do …).

Endpoints

Status

  • Shipped — health/death, damage and healing events, projectiles, trigger zones, teams, roles, and scoring. All headless.
  • The richer ability and crowd-control layer is on Abilities & status effects.

Gameplay endpoints

Damage, heal, projectile, and trigger endpoints with schemas.