mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 07:03:16 +00:00
34 lines
775 B
Markdown
34 lines
775 B
Markdown
# Capabilities
|
|
|
|
Capabilities allow several systems provide same functionality in different ways. Exactly one capability implementation should be active.
|
|
|
|
Capabilities are registered by having an entry in `ctx.cap` table.
|
|
|
|
# List of capabilities
|
|
|
|
## `health` capability
|
|
|
|
Functions:
|
|
- `health() -> num`
|
|
- `max_health() -> num`
|
|
- `set_health(hp: num)`
|
|
- `set_max_health(hp: num)`
|
|
- `inflict_damage(dmg: num)`
|
|
- `do_game_over(msg: str)`
|
|
- `on_poly_death(msg: str)`
|
|
|
|
Provided by:
|
|
- damage (shared health) system
|
|
- local health system
|
|
|
|
Used by:
|
|
- heart pickups system
|
|
|
|
## 'item_sync' capability
|
|
|
|
Functions:
|
|
- `globalize(entity_id, instantly: bool | nil, give_authority_to: PeerId | nil)`
|
|
- `register_pickup_handler(fn(local_item_id))`
|
|
|
|
Provided by:
|
|
- item_sync system
|