no need for scriptstate any more

This commit is contained in:
2026-07-07 23:55:27 -05:00
parent 78823fcf96
commit 23b5bf2afb
18 changed files with 146 additions and 174 deletions
+15 -15
View File
@@ -6,15 +6,15 @@ start = "start"
# Objects reference a script by name via `script_name`.
[scripts]
greeter = """
fn init(me, state) {
log(`hello from object — player at ${state.player.x}, ${state.player.y}`);
fn init(me) {
log(`hello from object — player at ${Player.x}, ${Player.y}`);
set_tile(2); // change my glyph to ☻ — proves the write path
say("Hello there,\\ntraveller!");
log(`Player health: ${state.player.health}`);
log(`Player health: ${Player.health}`);
}
fn tick(me, state, dt) {
if state.player.x == me.x && state.player.y == me.y && !me.waiting {
fn tick(me, dt) {
if Player.x == me.x && Player.y == me.y && !me.waiting {
say("Hey! Get offa me!");
me.delay(5.0);
}
@@ -22,7 +22,7 @@ fn tick(me, state, dt) {
"""
mover = """
fn init(me, state) {
fn init(me) {
log(`q: ${me.queue.length}`);
if Board.registry.get("dancer_x") != () {
let new_x = Board.registry.get("dancer_x");
@@ -58,14 +58,14 @@ fn dance(me) {
}
// Fires when something steps into this object; id is the bumper's object id,
// or -1 for the player.
fn bump(me, state, id) {
fn bump(me, id) {
log(`mover bumped by ${id}`);
say("Ow!");
}
"""
muffin = """
fn bump(me, state, _id) {
fn bump(me, _id) {
scroll([
"You find a small muffin on the ground, your favorite kind.",
"It smells of cinnamon and warm mornings.",
@@ -73,7 +73,7 @@ fn bump(me, state, _id) {
["ignore", "This is obviously a trap ignore it."]
]);
}
fn eat(me, state) {
fn eat(me) {
say("Yeah it was poisoned.");
alter_health(-2);
}
@@ -84,7 +84,7 @@ fn ignore() {
"""
noticeboard = """
fn bump(me, state, id) {
fn bump(me, id) {
scroll([
" TOWN NOTICE BOARD",
" ",
@@ -117,7 +117,7 @@ fn bump(me, state, id) {
"""
bookshelf = """
fn bump(me, state, id) {
fn bump(me, id) {
scroll([
" THE BOOKSHELF",
" ",
@@ -136,13 +136,13 @@ fn bump(me, state, id) {
"""
fireplace = """
fn bump(me, state, id) {
fn bump(me, id) {
say("The fire crackles warmly.\\nYou feel at ease.");
}
"""
chest = """
fn bump(me, state, id) {
fn bump(me, id) {
scroll([
" THE CHEST",
" ",
@@ -160,7 +160,7 @@ fn bump(me, state, id) {
"""
yammerer = """
fn tick(me, state, dt) {
fn tick(me, dt) {
if !me.waiting {
say("blahblahblah");
delay(1);
@@ -169,7 +169,7 @@ fn tick(me, state, dt) {
"""
shifter = """
fn tick(me, state, dt) {
fn tick(me, dt) {
let x = me.x;
let y = me.y;