Generic Motorcycle

A general motorcycle vehicle, with an engine you can start and stop, and various other commands.

Author: Unknown
Category: Vehicles
Functions: name(), owner(), space(), u().

Instructions

Copy and paste the below code into a compatible MUSH or MUX.

MUSHCode for Generic Motorcycle

@create Generic Motorcycle
@lock Generic Motorcycle==me
@Listen Generic Motorcycle=*
@Desc Generic Motorcycle=%rThis is a generic motorcycle. The engine is [u(me/engine)].%r%rAfter getting your new bike, please type this. %r@listen <yourbike>=*%r@set <yourbike>=inherit%r%rType 'bikehelp' for commands. Also @desc your bike with a more detailed description.
&START Generic Motorcycle=$start bike:&ENGINE me=on;@emit/room The [name(me)] starts with a roar.;@unlock/enter me
&TURNOFF Generic Motorcycle=$turnoff bike:&ENGINE me=off;@emit/room The [name(me)] sputters once and then is silent.;@lock/use me=[owner(me)]
&DRIVE Generic Motorcycle=$drive *:@swi [u(me/engine)]=on,@fo me=%0,{@pemit %#=Try starting it first.}
&STOP Generic Motorcycle=$stop bike:@swi [u(me/engine)]=on,{@emit/room The [name(me)] screeches to a halt.},{@pemit %#=Try starting it first.}
&ENGINE Generic Motorcycle=off
&TAKEOFF Generic Motorcycle=$takeoff *:@swi [u(me/engine)]=on,{@fo me=%0;@emit/room The [name(me)] takes off at a high rate of speed.},{@pemit %N=Try starting it first.}
&PARK Generic Motorcycle=$park bike:@swi [u(me/engine)]=on,@emit/room %N parks the [name(me)] out of the way.,{@pemit %N=Try starting it first.}
@Enter Generic Motorcycle=You climb on the [name(me)].
@Oenter Generic Motorcycle=climbs on the [name(me)].
@Oxenter Generic Motorcycle=climbs on the [name(me)].
@Leave Generic Motorcycle=You slide off the [name(me)].
@Oleave Generic Motorcycle=slides off the [name(me)].
@Oxleave Generic Motorcycle=slides off the [name(me)].
&REV Generic Motorcycle=$rev bike:@swi [u(me/engine)]=on,{@emit/room The [name(me)] engine revs with a roar, spewing smoke from the tailpipe.},{@pemit %N=Try starting it first.}
@Aenter Generic Motorcycle=@prefix me=From atop the [name(me)],
@Aleave Generic Motorcycle=@prefix me=
&HELP Generic Motorcycle=$bikehelp:@pemit %#=%rGeneric Motorcycle Commands:%r%r[space(5)]start bike[space(5)]- Turns on the bike's engine.%r[space(5)]turnoff bike[space(3)]- Turns off the bike's engine.%r%r[space(5)]drive <exit>[space(3)]- Drives through that exit.%r[space(5)]takeoff <exit> - Drives through that exit very fast.%r[space(5)]park bike[space(6)]- Parks the bike.%r[space(5)]roll bike[space(6)]- Rolls the bike to a slow stop.%r[space(5)]stop bike[space(6)]- Stops the bike.%r%r[space(5)]l/o[space(12)]- Looks around the room the bike is in.%r[space(5)]l/o <name>[space(5)]- Looks at someone in the room with the bike.%r%r[space(5)]bike <text>[space(4)]- Poses for the bike.%r
&POSE Generic Motorcycle=$bike *:@emit The [name(me)] %0
@Filter Generic Motorcycle={* has arrived.},{* has left.}
&ROLL Generic Motorcycle=$roll bike:@swi [u(me/engine)]=on,{@emit/room The [name(me)] rolls to a stop.},{@pemit %#=Try starting it first.}
@set Generic Motorcycle=AUDIBLE
@set Generic Motorcycle=ENTER_OK
@set Generic Motorcycle=INHERIT
@set Generic Motorcycle=COMMANDS

drop Generic Motorcycle

enter Generic Motorcycle