! >GR A classic example of a timer (or, as some people call them and ! appropriately so in this case, a fuse). To demonstrate stopping ! a timer before the alarm (and for fun), there is also a pin: ! ---------------------------------------------------------------------------- Object -> grenade "nasty-looking hand grenade" with name "hand" "grenade" "nasty" "nasty-looking", initial "A nasty-looking hand grenade (there is no other kind) rolls about irresponsibly on the floor.", description "Not recommended for children under 90.", before [; Pull: if (self has general) "Too late for that."; StartTimer(self, 5); give self general; move the_pin to player; "You pull the pin out, an irrevocable act."; ], time_left 0, time_out [; deadflag=1; "^An immense explosion suddenly demolishes the toyshop!^^ Will you never learn?"; ], has transparent; Object -> -> the_pin "pin" with name "pin", description "The pin is designed to be easy to pull.", before [; Take, Pull: if (self in grenade) <>; Insert: if (self notin grenade && second==grenade) { StopTimer(grenade); move self to grenade; give grenade ~general; "Amazing! You got the pin back into the grenade!"; } ]; ! ----------------------------------------------------------------------------