Transform

Transform System
Example: transform 1

This will transform you into mode number 1. (Typically your primary 'robot' mode)

Mode Descriptions
To set yourself up to transform, enter the following for each of your modes:

&desc_# me= &transform_msg_# me= These may contain %r for a new line and %t to indent.

Example Descriptions:


 * &desc_1 me=A towering robot, whose eyes gleam malevolently.
 * &desc_2 me=A sleek violet and silver spaceship.

(You better make 'em longer than that!)

Example Transformation Messages:


 * &transform_msg_1 me=Cyclonus shifts into his imposing robot mode.
 * &transform_msg_2 me=Leaping into the air, Cyclonus transforms into a spaceship.

(Keep these short! No one wants to see 6 lines of TF spam over and over.)

Mode Names
You can also set a name for your secondary mode.

&name_# me=

Your &name_1 attribute is already set and cannot be changed. Your other name attributes cannot be longer than 17 letters. Spaces are fine.

Optional: Transform Actions
In addition, you may set an &atransform_# attribute. This attribute will be triggered by the transform system when you transform into mode #. An example of how this could be used:


 * &atransform_1 me=@omove me=strides into the room.
 * &atransform_2 me=@omove me=soars into view.

Optional: Varying Transform Messages
It is nice to have messages displayed automatically when you transform, but they may start to seem repetitive if you transform often. Using the attributes mentioned above, you can set up multiple messages that are randomly chosen. This is a little more intensive than just setting attributes, and it requires a little knowledge of MUSH code.

Consider having two different messages to display when you change into each mode. Because &atransform is used to perform a command, you may use it to change the message that will be displayed.


 * &tfmsg_1_0 me=
 * &tfmsg_1_1 me=
 * &tfmsg_2_0 me=
 * &tfmsg_2_1 me=
 * &atransform_1 me=@set me=transform_msg_1:[v(tfmsg_1_[rand(2)])]
 * &atransform_2 me=@set me=transform_msg_2:[v(tfmsg_2_[rand(2)])]

Do you see a pattern in the way this works? If so, you should be able to take advantage of this method to code attribs such as @omove, @enter, @leave, etc. that will be unique depending upon which mode you are currently in.

Back to General