Arri MPI Core Programs

From Manifold
Jump to navigationJump to search

These are the core programs for Arri and how to set them up on Manifold. So if you want something similar to the removable clothes, this is where to do it.

Macros

Macros to put on clothing

@mset me=_msgmacs/wearclothing:{if:{prop:clothing/{:1}/desc,{owner:this}},You put on your {store:{:1},wearing/{prop:clothing/{:1}/location},{owner:this}}.{null:{eval:{prop:clothing/{:1}/wearProg}}},I don't know what '{:1}' is.}
@mset me=_msgmacs/bitClothing:{if:{prop:bitsClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},bitWearing/{prop:bitsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:bitClothing/{:1}/wearProg}}},I don't know what '{:1}' is.}
@mset me=_msgmacs/blinderClothing:{if:{prop:blindersClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},blindersWearing/{prop:blindersClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:blindersClothing/{:1}/wearProg}}},I don't know what '{:1}' is.}
@mset me=_msgmacs/reinsClothing:{if:{prop:reinsClothing/{:1}/location,{owner:this}},You put on your {store:{:1},reinsWearing/{prop:reinsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:reinsClothing/{:1}/wearProg}}},I don't know what '{:1}' is.}

Macros to take off clothing

@mset me=_msgmacs/stripclothing:{if:{eq:{:1},{prop:wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:clothing/{:1}/stripProg,{owner:this}}}}{store:,wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'}
@mset me=_msgmacs/stripBit:{if:{eq:{:1},{prop:bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:bitClothing/{:1}/stripProg,{owner:this}}}}{store:,bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'}
@mset me=_msgmacs/stripBlinders:{if:{eq:{:1},{prop:blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:blindersClothing/{:1}/stripProg,{owner:this}}}}{store:,blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'}
@mset me=_msgmacs/stripReins:{if:{eq:{:1},{prop:reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:reinsClothing/{:1}/stripProg,{owner:this}}}}{null:{store:LooseShort,reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You're not wearing '{:1}'}

Macros to list the clothing available

@mset me=_msgmacs/choices:{nl}Clothing choices: {commas:{parse:path,{listprops:clothing,arrienna},{subst:{&path},clothing/,}}}
@mset me=_msgmacs/bitChoices:{nl}Bit choices: {commas:{parse:path,{listprops:bitsClothing,arrienna},{subst:{&path},bitsClothing/,}}}
@mset me=_msgmacs/blindersChoices:{nl}Blinder choices: {commas:{parse:path,{listprops:blindersClothing,arrienna},{subst:{&path},blindersClothing/,}}}
@mset me=_msgmacs/reinsChoices:{nl}Reins choices: {commas:{parse:path,{listprops:reinsClothing,arrienna},{subst:{&path},reinsClothing/,}}}

Macros to list what is currently being worn

@mset me=_msgmacs/wearing:You are wearing {commas:{parse:stuff,{listprops:wearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/bitWearing:You are bitted with {commas:{parse:stuff,{listprops:bitWearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/blindersWearing:You are blinded with {commas:{parse:stuff,{listprops:blindersWearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/reinsWearing:You are reined with {commas:{parse:stuff,{listprops:reinsWearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/bodypart:{if:{prop:/wearing/{:1},this},{eval:{exec:/clothing/{prop:/wearing/{:1},this}/desc}},{eval:{exec:/nude/{:1}/desc,this}}}

MPI Action that does it all

Action Creation and linking

@create $mpi_action named wear,strip,bit,blinders,reins,bitStrip,blindersStrip,reinsStrip,harnessed,nippleRings,wristCuffs,ankleCuffs,collared
@link wear to me

Programming the Action

@succ wear is {exec:{&cmd}/sc}
@mset wear=wear/sc:{if:{&arg},{wearclothing:{&arg}},{wearing}{choices}}
@mset wear=strip/sc:{if:{&arg},{stripclothing:{&arg}},{wearing}{choices}}
@mset wear=bit/sc:{if:{&arg},{bitClothing:{&arg}},{bitWearing}{bitChoices}}
@mset wear=bitStrip/sc:{if:{&arg},{stripBit:{&arg}},{bitWearing}{bitChoices}}
@mset wear=blinders/sc:{if:{&arg},{blinderClothing:{&arg}},{blindersWearing}{blindersChoices}}
@mset wear=blindersStrip/sc:{if:{&arg},{stripBlinders:{&arg}},{blindersWearing}{blindersChoices}}
@mset wear=reins/sc:{if:{&arg},{reinsClothing:{&arg}},{reinsWearing}{reinsChoices}}
@mset wear=reinsStrip/sc:{if:{&arg},{stripReins:{&arg}},{reinsWearing}{reinsChoices}}
@mset wear=nippleRings/sc:{if:{&arg},You've set your whether or not you have nipple rings to {if:{eq:{&arg},yes},{store:yes,/misc/nippleRings?,{owner:this}},{store:no,/misc/nippleRings?,{owner:this}}}.,{if:{eq:yes,{prop:/misc/nippleRings?,{owner:this}}},You have nipple rings.,You don't have nippleRings.}}
@mset wear=harnessed/sc:{if:{&arg},You've set your whether or not you are harnessed to {if:{eq:{&arg},yes},{store:yes,/misc/harnessed?,{owner:this}},{store:no,/misc/harnessed?,{owner:this}}},{if:{eq:yes,{prop:/misc/harnessed?,{owner:this}}},You are harnessed.,You are not harnessed.}}
@mset wear=wristCuffs/sc:{if:{&arg},You've set your whether or not you have wrist cuffs to {if:{eq:{&arg},yes},{store:yes,/misc/wristCuffs?,{owner:this}},{store:no,/misc/wristCuffs?,{owner:this}}},{if:{eq:yes,{prop:/misc/wristCuffs?,{owner:this}}},You have wrist cuffs.,You don't have wrist cuffs.}}
@mset wear=ankleCuffs/sc:{if:{&arg},You've set your whether or not you have ankle cuffs to {if:{eq:{&arg},yes},{store:yes,/misc/ankleCuffs?,{owner:this}},{store:no,/misc/ankleCuffs?,{owner:this}}},{if:{eq:yes,{prop:/misc/ankleCuffs?,{owner:this}}},You have ankle cuffs.,You don't have ankle cuffs.}}
@mset wear=collared/sc:{if:{&arg},You've set your whether or not you are collared to {if:{eq:{&arg},yes},{store:yes,/misc/collared?,{owner:this}},{store:no,/misc/collared?,{owner:this}}},{if:{eq:yes,{prop:/misc/collared?,{owner:this}}},You are collared.,You are not collared.}}

Basic Description

Basic Description and MPI program list

lsedit me=mpiDesc
{eval:{prop:basicDescProp}}
{if:{bodypart:head},{nl}  {bodypart:head}{nl}}{if:{bodypart:top},{nl}  {bodypart:top}}
{if:{bodypart:bottom},{nl}  {bodypart:bottom}}
{if:{bodypart:legs},{nl}  {bodypart:legs}}
{if:{bodypart:arms},{nl}  {bodypart:arms}}{if:{bodypart:lastBondage},{nl}{nl}  {bodypart:lastBondage}}{if:{prop:bondageAddon},{nl}{nl}    {prop:bondageAddon}}
.save
.end
@mset me=basicDescProp:    Arrienna is a tall graceful mare.  She looks to be about 18 years old, maybe a touch older, maybe a bit younger.  She has the stature of a female basket ball player, an inch, maybe two over six feet tall.  The mare's short fur is mainly chestnut in colour, her long mane being white.  Though she is anthro, her head is definitely that of a horse.

Setting the list as the description

@desc me as {eval:{list:mpiDesc}}

Supporting MPI Programs

@mset me=/misc/ankleCuffsProg:  Wrapped around each ankle is a two inch thick leather cuff.  Locked on with small padlocks.
@mset me=/misc/wristCuffsProg:  Wrapped around each wrist is a two inch thick leather cuff.  Locked on with small padlocks.
@mset me=/misc/collarProg:  Wrapped around her neck is a one and a half inch thick leather collar.  Locked on with a small padlock.