Dragon Setup

As soon as you 'look' at your new dragon for the first time, you will be prompted to run 'dragon setup.' Make sure that you and your dragon are in the same room before doing so.

This automated setup from the dragon parent will set default messages for mounting / dismounting / betweening, using the (optional) straps code and complete some behind-the-scenes code tidbits so that only you can pick up / move your dragon.


Puppet Control

To control your dragon, you may utilize one of two options:

1. PernWorld has a built-in global puppet controller. Typing pup control will show you the helpfile for how to get started using it.

You can add your dragon using pup add ??=[v(dragon)] where ?? is a two-letter alias you'd like to use for your dragon.

2. If you would prefer not to use the built-in puppet controller, you can set a single command on yourself to control your dragon via the following:

&CMD-DRAGON me=$??do *:@fo [v(dragon)]=[switch(index(SC%0,;,1,1),SC,{@emit [name(v(dragon))][index(%0,;,2,1)]},SCooc,{@emit <OOC> [name(v(dragon))][index(%0,;,2,1)]},%0)]

Replace ?? with a two-letter alias of your choice (e.g. dr). Your dragon will then perform any action entered after ??do normally (e.g. pose, go through exits, look at objects, etc).

This command will accept the ; argument for emitting without spaces (e.g. if you chose to use 'dr', drdo ;'s eyes whirl would emit Dragonth's eyes whirl and allow you to create the same sort of output with the OOC command as needed.

Example commands, using dr as the selected alias:

drdo out (would tell your dragon to exit the room)
drdo ;'s eyes whirl. (would emit Dragonth's eyes whirl.)
drdo :folds their wings. (would pose Dragonth folds their wings.)
drdo look (would tell Dragonth to 'look' at the room they are in)


Optional: Customizing Default Messages

Messages are set on the dragon parent for RIDER (that's you!), PASS (other players), FL (firelizards) and OBJ (other objects). You may customize them from the following defaults if desired, where [name(me)] will display your dragon's name and [u(color)] will display your dragon's color.

Enter (Mounting) Messages

Displayed to the player / object mounting your dragon:

&ENT-RIDER [v(dragon)]=You swing up onto [name(me)]'s neck.
&ENT-PASS [v(dragon)]=You climb up onto [name(me)]'s back.
&ENT-FL [v(dragon)]=You land upon [name(me)]'s neckridges.
&ENT-OBJ [v(dragon)]=You are fastened into place on [name(me)]'s back.


Displayed to players / objects on your dragon when someone / something mounts:

&OENT-RIDER [v(dragon)]=swings up onto [name(me)]'s neck.
&OENT-PASS [v(dragon)]=climbs up onto [name(me)]'s back.
&OENT-FL [v(dragon)]=lands upon [name(me)]'s neckridges.
&OENT-OBJ [v(dragon)]=is fastened into place on [name(me)]'s back.


Displayed to the room your dragon is in when someone / something mounts:

&OXENT-RIDER [v(dragon)]=swings up onto [name(me)]'s neck.
&OXENT-PASS [v(dragon)]=climbs up onto [name(me)]'s back.
&OXENT-FL [v(dragon)]=lands upon [name(me)]'s neckridges.
&OXENT-OBJ [v(dragon)]=is fastened into place on [name(me)]'s back.

Exit (Dismounting) Messages

Displayed to the player / object dismounting your dragon:

&LV-RIDER [v(dragon)]=You swing up onto [name(me)]'s neck.
&LV-PASS [v(dragon)]=You climb up onto [name(me)]'s back.
&LV-FL [v(dragon)]=You land upon [name(me)]'s neckridges.
&LV-OBJ [v(dragon)]=You are fastened into place on [name(me)]'s back.


Displayed to players / objects on your dragon when someone / something dismounts:

&OLV-RIDER [v(dragon)]=swings up onto [name(me)]'s neck.
&OLV-PASS [v(dragon)]=climbs up onto [name(me)]'s back.
&OLV-FL [v(dragon)]=lands upon [name(me)]'s neckridges.
&OLV-OBJ [v(dragon)]=is fastened into place on [name(me)]'s back.


Displayed to the room your dragon is in when someone / something dismounts:

&OXLV-RIDER [v(dragon)]=swings up onto [name(me)]'s neck.
&OXLV-PASS [v(dragon)]=climbs up onto [name(me)]'s back.
&OXLV-FL [v(dragon)]=lands upon [name(me)]'s neckridges.
&OXLV-OBJ [v(dragon)]=is fastened into place on [name(me)]'s back.

Prefix Phrases

Displayed to the room your dragon is in when someone / something poses on your dragon:

&PREF-RIDER [v(dragon)]=[name(me)]'s neck>
&PREF-PASS [v(dragon)]=[name(me)]'s back>
&PREF-FL [v(dragon)]=[name(me)]'s neckridges>
&PREF-OBJ [v(dragon)]=[name(me)]'s back>


Displayed to anyone / anything mounted when someone poses outside of your dragon:

@INPREFIX [v(dragon)]=Away from [name(me)],

Between Messages

Displayed when your dragon enters and exits between:

&OXBTW [v(dragon)]=suddenly disappears -=* BETWEEN *=-
&OBTW [v(dragon)]=suddenly reappears from -=* BETWEEN *=-

Description Messages

Displayed by default in your dragon's description when straps are toggled on (see commands by typing 'strap help'):

&DESC-STRAPS [v(dragon)]=About [name(me)]'s shoulders rests a set of standard issue weyrling straps. Dyed a nondescript grey, they seem to have seen better days but are only intended for use until the young dragon stops growing so rapidly.

Displayed in your dragon's description when someone / something is mounted:

&DESC-RIDER [v(dragon)]=At the base of [name(me)]'s neck, you see [poss(me)] rider [name(%0)].
&DESC-PASS [v(dragon)]=Seated high on [poss(me)] back, you see [name(%0)].
&DESC-FL [v(dragon)]=Settled along the dragon's neckridges, you see [name(%0)].
&DESC-OBJ [v(dragon)]=Settled more towards this dragon's haunches, you see [name(%0)] strapped down and ready for flight.


Displayed to someone / something while mounted if they 'look' at your dragon:

&ID-RIDER [v(dragon)]=%TThe warm supple [u(color)] hide of your lifemate rests beneath you. Strong shoulders behind you support the broad expanse of [obj(me)] wings. Prominent neck ridges rise in front and behind you, helping add a sense of security, which the straps actually provide.
&ID-PASS [v(dragon)]=%TThe warm supple [u(color)] hide of [name(me)] rests beneath you. Strong shoulders behind you support the broad expanse of [obj(me)] wings. Prominent neck ridges rise in front and behind you, helping add a sense of security, which the straps actually provide.
&ID-FL [v(dragon)]=%TYou are perched upon the sturdy neck ridges of [u(color)] [name(me)].
&ID-OBJ [v(dragon)]=%TYou are fastened securely to the straps of [u(color)] [name(me)].


Optional: Installing 4:1 Age / Size

By default, PernWorld's weyrling dragons will age at a time ratio of 12:1 (where 12 IC days will pass for each RL day). The dragon's age and growth will be tripled until around 1.5 Turns have been reached.

For those who would prefer to proceed with the standard 4:1 rate of aging during weyrlinghood, you are welcome to use this code written by Lhiannon to do so. Growth will be complete at 1.5 Turns. Features include showing your dragon's age in hours / minutes if < 1 day old and conversions of your dragon's size into both meters and feet.

Copy and paste these directly into your client:

&AGE_41 [v(dragon)]=[setq(0,div(sub(secs(),%0),7862400))][setq(1,sub(div(sub(secs(),%0),604800),mul(%q0,13)))][setq(2,sub(div(sub(secs(),%0),21600),add(mul(%q0,364),mul(%q1,28))))][switch(%q0,0,{[switch(%q1,0,{[switch(%q2,0,{[setq(3,div(sub(secs(),%0),900))][setq(4,sub(div(sub(secs(),%0),15),mul(%q3,60)))][switch(%q3,0,{%q4 [switch(%q4,1,minute,minutes)]},{%q3 [switch(%q3,1,hour,hours)] and %q4 [switch(%q4,1,minute,minutes)]})]},{%q2 [switch(%q2,1,day,days)]})]},{%q1 [switch(%q1,1,month,months)][switch(%q2,0,,{%band %q2 [switch(%q2,1,day,days)]})]})]},{%q0 [switch(%q0,1,Turn,Turns)], %q1 [switch(%q1,1,month,months)] and %q2 [switch(%q2,1,day,days)]})] old

&SIZE_41 [v(dragon)]=[setr(1,switch(gt(11491200,sub(secs(),v(hatchsecs))),1,{[round(add(mul(v(final-length),extract(v(growth_percent),inc(setr(0,div(sub(secs(),v(hatchsecs)),604800))),1)),mul(sub(mul(v(final-length),extract(v(growth_percent),add(%q0,2),1)),mul(v(final-length),extract(v(growth_percent),inc(%q0),1))),fdiv(extract(age(v(hatchsecs)),6,1),28))),2)]},{[v(final-length)]}))] meters \([round(mul(%q1,3.28084),2)] feet) long with a wingspan of [round(setr(2,mul(%q1,1.667)),2)] meters \([round(mul(%q2,3.28084),2)] feet)

&GROWTH_PERCENT [v(dragon)]=0.1075 0.215 0.43 0.505 0.58 0.665 0.75 0.7783 0.8066 0.8349 0.8632 0.8915 0.9154 0.92 0.933 0.9463 0.9596 0.9729 0.9862 0.9995 1

Displaying 4:1 Age / Size

If you like the standard description formatting offered by default on your dragon:

@DESC [v(dragon)]=[repeat(+,75)]%r[u(desc-dragon)][switch(v(straps),ON,%r[u(desc-straps)])][switch(words(lcon(me)),0,,[parse(lcon(me),%r[u(switcher,desc,##)])])]%r[name(me)] appears to be around [u(age_41,v(hatchsecs))], measuring [u(size_41)].%r[repeat(+,75)]

If you would like to remove the +++++++++ borders:

@DESC [v(dragon)]=[u(desc-dragon)][switch(v(straps),ON,%r[u(desc-straps)])][switch(words(lcon(me)),0,,[parse(lcon(me),%r[u(switcher,desc,##)])])]%r[name(me)] appears to be around [u(age_41,v(hatchsecs))], measuring [u(size_41)].

If you are comfortable with customizing your dragon's description output entirely, insert this line into their @desc where you would like to see the age and size displayed:

[name(me)] appears to be around [u(age_41,v(hatchsecs))], measuring [u(size_41)].

Sample Output

Your dragon's description.
Dragonth appears to be around 10 minutes old, measuring 2.70 meters (8.86 feet) long with a wingspan of 4.50 meters (14.77 feet).

If you get stuck or have questions, feel free to page or @mail staff for assistance.