long packed_zzword = token_to_packed(game.zzword);
pspeak(i, hear, mi, true, packed_zzword);
rspeak(NO_MESSAGE);
- /* FIXME: Magic number, sensitive to bird state logic */
- if (i == BIRD && game.prop[i] == 5)
+ if (i == BIRD && mi == BIRD_ENDSTATE)
DESTROY(BIRD);
return GO_CLEAROBJ;
}
#define NTRAVEL {}
#define NKEYS {}
+#define BIRD_ENDSTATE {}
+
enum arbitrary_messages_refs {{
{}
}};
ignore,
)
+ # 0-origin index of birds's last song. Bird should
+ # die after player hears this.
+ deathbird = len(dict(db["objects"])["BIRD"]["sounds"]) - 1
+
h = h_template.format(
len(db["locations"])-1,
len(db["objects"])-1,
len(db["specials"]),
len(travel),
len(tkey),
+ deathbird,
get_refs(db["arbitrary_messages"]),
get_refs(db["locations"]),
get_refs(db["objects"]),