No active sessions yet.

No games yet.

No conversations yet.

No characters yet.

Minutes are not time

Why pricing a rule off $.event.minutes can make a wordy turn seven times costlier.

onTimePasses fires in every game — including one with no clock at all.

But in a clockless game, those minutes are the narrator's estimate of how long the prose took. Across live sessions, comparable turns have run anywhere from 3 to 22 minutes.

What goes wrong

Bill an hourly rate against that, and a wordy turn is seven times hungrier than a terse one. Nothing errors. The game just feels arbitrary in a way no playtest report will diagnose correctly, because the cause is prose length.

This is not hypothetical: it is why stamina and mana were moved off the clock entirely.

Ask what the game has

$.timed

True when the world runs a real clock. Price yourself in the unit the game actually has:

$.adjustField({ field: "satiety", by: -($.timed
  ? ($.event.minutes / 60) * $.dial('foodDrainPerHour')
  : $.dial('foodDrainPerTurn')) })

Two dials, not one — an hourly rate and a per-turn rate — because they are genuinely different numbers, and an author tuning your plugin needs to set both.

Or use the right trigger

For anything that ticks once per character per turn, use onTurnEnd instead. It fires once per actor per turn in every game, clock or no clock, and carries no estimate at all.

That is the correct home for resource regeneration, cooldowns, and per-turn drains.

Do not move an hourly rule to onTurnEnd to dodge this: onTurnEnd already fires in every game, so a rule that exists on both triggers double-charges.

Next

Hooks — the full trigger list.