heart containers

This commit is contained in:
2026-06-23 22:52:25 -05:00
parent 8637c0a52a
commit d8a3f17379
11 changed files with 58 additions and 20 deletions
+7 -1
View File
@@ -59,7 +59,7 @@
//! `move(dir)`, `delay(secs)`, `now()`, `set_tile(n)`, `log(msg)`, `say(msg)`,
//! `set_fg(fg)`, `set_bg(bg)`, `set_color(fg, bg)`, `set_tag(target, tag, present)`,
//! `send(target_id, fn_name [, arg])`, `teleport(x, y)`, `push(x, y, dir)`,
//! `swap([[src_x, src_y, dst_x, dst_y], …])`, `add_gems(n)`, `set_key(color, present)`, `die()`
//! `swap([[src_x, src_y, dst_x, dst_y], …])`, `add_gems(n)`, `alter_health(dh)`, `set_key(color, present)`, `die()`
//!
//! ## Queue API
//!
@@ -906,6 +906,12 @@ fn register_write_api(engine: &mut Engine, queues: &QueueMap) {
emit(&q, source_of(&ctx), Action::AddGems(n));
});
// alter_health(dh): change the player's health by dh (clamped to [0, max_health]).
let q = queues.clone();
engine.register_fn("alter_health", move |ctx: NativeCallContext, dh: i64| {
emit(&q, source_of(&ctx), Action::AlterHealth(dh));
});
// set_key(color, present): give (true) or take (false) the named key color.
let q = queues.clone();
engine.register_fn(