Gwen's +aura code, Mark I

This works with Didi-style chargen to allow +rolls, or, any chargen for the basics (add/subtract/staff commands).

Author: Gwen Morse
Category: Globals
Features: color substitutions.
Compatibility: TinyMUX.

Instructions

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

MUSHCode for Gwen's +aura code, Mark I


@@ Gwen's +aura code, Mark I.
@@ This works with Didi-style chargen to allow +rolls, or, any chargen for the basics (add/subtract/staff commands).
@@ One object, no parents or dbrefs to edit in this file. Written for MUX. Remove ansi hilights on a MUSH game and
@@ make sure to set it COMMANDS.
@@ Requires the stat and rolls functions found elsewhere on this site for the +rolls.
@@ As per the V:TM 2nd Edition book, shows types of auras with one success (Pale, or the various racial auras).
@@ 2 or more successes includes the mood-aura of the character. Staffers concerned about "IC Masq" may want to reverse
@@ these results.
@@ Type "+aura/help" for the help.

@create Global Aura Object <GAO>=10
&DO_AURALIST Global Aura Object <GAO>=$+aura/list:@pemit %#=%r[center(* %ch%crList of Auras%cn *,79,-)]%r%r%b1%bOrange%b%b%b%b%b%b%b%b%bAfraid%b%b%b%b%b%b%b%b%b%b%b%b|%b19%bBlue%b%b%b%b%b%b%b%b%b%b%b%b%b%b%b%bLove%r%b2%bPurple%b%b%b%b%b%b%b%b%bAggressive%b%b%b%b%b%b%b%b|%b20%bGreen%b%b%b%b%b%b%b%b%b%b%b%b%b%b%bObsessed%r%b3%bRed%b%b%b%b%b%b%b%b%b%b%b%bAngry%b%b%b%b%b%b%b%b%b%b%b%b%b|%b21%bSilver%b%b%b%b%b%b%b%b%b%b%b%b%b%bSad%r%b4%bBrown%b%b%b%b%b%b%b%b%b%bBitter%b%b%b%b%b%b%b%b%b%b%b%b|%b22%bGold%b%b%b%b%b%b%b%b%b%b%b%b%b%b%b%bSpiritual%r%b5%bLight-Blue%b%b%b%b%bCalm%b%b%b%b%b%b%b%b%b%b%b%b%b%b|%b23%bDark-Blue%b%b%b%b%b%b%b%b%b%b%bSuspicious%r%b6%bPink%b%b%b%b%b%b%b%b%b%b%bCompassionate%b%b%b%b%b|%b24%bMottled-shifting%b%b%b%bConfused%r%b7%bLavender%b%b%b%b%b%b%bConservative%b%b%b%b%b%b|*25%bBlack-Pustules%b%b%b%b%b%bWyrmy/Infernal%r%b8%bGray%b%b%b%b%b%b%b%b%b%b%bDepressed%b%b%b%b%b%b%b%b%b|*26%bBlack-Veined%b%b%b%b%b%b%b%bDiabolist/Infernal%r%b9%bDeep-Red%b%b%b%b%b%b%bDesirous/Lustful%b%b|*27%bRapidly-Rippling%b%b%b%bFrenzied%r10%bLight-Green%b%b%b%bDistrustful%b%b%b%b%b%b%b|*28%bHypnotic-Swirling%b%b%bPsychotic/Marauder%r11%bCrimson%b%b%b%b%b%b%b%bEnraged%b%b%b%b%b%b%b%b%b%b%b|%r12%bDark-Green%b%b%b%b%bEnvious%b%b%b%b%b%b%b%b%b%b%b|%b%b%b%bMyriad-Sparkles%b%b%b%b%bMage/Sorcerer%r13%bViolet%b%b%b%b%b%b%b%b%bExcited%b%b%b%b%b%b%b%b%b%b%b|%b%b%b%bPale%b%b%b%b%b%b%b%b%b%b%b%b%b%b%b%bVampire%r14%bRose%b%b%b%b%b%b%b%b%b%b%bGenerous%b%b%b%b%b%b%b%b%b%b|%b%b%b%bSharp-Flickering%b%b%b%bFae%r15%bVermilion%b%b%b%b%b%bHappy%b%b%b%b%b%b%b%b%b%b%b%b%b|%b%b%b%bIntense-Colors%b%b%b%b%b%bShifter%r16%bBlack%b%b%b%b%b%b%b%b%b%bHateful%b%b%b%b%b%b%b%b%b%b%b|%b%b%b%bBrilliant-Burning%b%b%bBurning/Holy%r17%bYellow%b%b%b%b%b%b%b%b%bIdealistic%b%b%b%b%b%b%b%b|%b%b%b%bGold-and-Silver%b%b%b%b%bTrue-Faith%r18%bWhite%b%b%b%b%b%b%b%b%b%bInnocent%b%b%b%b%b%b%b%b%b%b|%b%r%r[center(* refers to an aura that can only be set and removed by staff or code,79)]%r[center(Auras without numbers are assigned by the aura-code automatically,79)]%r%r[repeat(-,79)]%r
&AURACOLOR Global Aura Object <GAO>=Orange Purple Red Brown Light-Blue Pink Lavender Gray Deep-Red Light-Green Crimson Dark-Green Violet Rose Vermillion Black Yellow White Blue Green Silver Gold Dark-Blue Mottled-Shifting Black-Pustules Black-Veined Rapidly-Rippling Hypnotic-Swirling
&AURAMOOD Global Aura Object <GAO>=Afraid Aggressive Angry Bitter Calm Compassionate Conservative Depressed Desirous/Lustful Distrustful Enraged Envious Excited Generous Happy Hateful Idealistic Innocent Love Obsessed Sad Spiritual Suspicious Confused Wyrmy-Infernal Diabolist/Infernal Frenzied Psychotic/Marauder
&SET_AURA Global Aura Object <GAO>=$+aura/add *:@switch [or(lte(%0,0),gte(%0,31))]=1,{@pemit %#=Invalid Aura number.},{@switch member(30 29 26,%0)=>0,{@pemit %#=Only a wizard can set that aura code.},{@switch hasattr(%#,auras)=1,{&auras %#=[u(%#/auras)] %0;@pemit %#=You add aura number %0 to your list of auras.},{&auras %#=%0;@pemit %#=You add aura number %0 to your list of auras.}}}
&DEL_AURA Global Aura Object <GAO>=$+aura/del *:@switch member(u(secure),%0)=>0,{@pemit %#=Only a wizard can remove that aura code.},{&auras %#=[ldelete(u(%#/auras),member(u(%#/auras),%0))]; @pemit %#=Aura removed.}
&SET_AURA_STAFF Global Aura Object <GAO>=$+aura/sadd *=*:@switch orflags(%#,Ww)=0,{@pemit %#=Permission Denied. Only a Wizard may use this command.},{@switch [or(lte(%1,0),gte(%1,35))]=1,{@pemit %#=Invalid Aura number.},{@switch [hasattr(*%0,auras)]=1,{&auras *%0=[u(*%0/auras)] %1;@pemit %#=You set aura #%1 on [name(*%0)].},{&auras [num(*%0)]=%1;@pemit %#=You set aura #%1 on [name(*%0)].}}}
&DO_SHOW_AURA Global Aura Object <GAO>=$+aura:@switch hasattr(%#,auras)=0,{@pemit %#=You have no auras set. '+aura/help' will give you assistance.},{@pemit %#=%r Your aura is currently set to:%r [iter(u(%#/auras),{%b%b[ljust([index(u(me/auracolor), ,##,1)],20)][index(u(me/auramood), ,##,1)]%r})]; @switch/first [get(%#/race)]=vampire,{@pemit %#=Your aura is Pale like a vampire.},were,{@pemit %#=Your aura is Intensely-Colored like a shapechanger.},mage,{@pemit %#=Your aura has Myriad-Sparkling colors like a mage.},changeling,@pemit %#=Your aura has Sharp-Flickering colors like a changeling.}; @switch/all 1=strmatch(get(%#/MFS),*pale*aura*),{@pemit %#=Your aura is Pale like a vampire.},or(strmatch(get(%#/MFS),*holy*aura*),strmatch(get(%#/MFS),*burn*aura*)),{@pemit %#=Your aura is exceptionally brilliant like someone with a Holy or Burning Aura.},{@pemit %#=Your aura is like that of a normal person.}}
&DO_SHOW_AURA_S Global Aura Object <GAO>=$+aura *:@switch orflags(%#,WZw)=0,{@pemit %#=Perission denied.},{@switch hasattr(*%0,auras)=0,{@pemit %#=[capstr(%0)] has no auras set.},{@pemit %#=%r[name(*%0)]'s aura information: %r [iter(u(*%0/auras),{%b%b[ljust([index(u(me/auracolor), ,##,1)],20)][index(u(me/auramood), ,##,1)]%r})]; @trigger me/look-trig=%#,num(*%0),3}}
&HELP Global Aura Object <GAO>=[center(* %ch%cr+Aura Help%cn *,79,-)]%r%b%b+aura/list[space(14)]-- Lists available auras by number. %r%b%b+aura/add <number>[space(6)]-- Adds an aura to your aura list.%r%b%b+aura/del <number>[space(6)]-- Deletes an aura from your aura list.%r%b%b+aura[space(19)]-- Shows what Auras you have set on yourself. %r%r%b%b+aura/m <name>=<reason> -- Allows mages to use Magick to see the auras of others.%r%b%b+aura/v <name>=<reason> -- Allows vampires to use auspex to see the auras of others.%r%b%b+aura/a <name>=<reason> -- Allows those with Awareness to see the auras of others.%r%rPlease provide a valid IC reason for why you're making an aura roll to see another character's aura. "Just because" is not valid! %r%r[repeat(-,79)]%r
&AURA_HELP Global Aura Object <GAO>=$+aura/help:@switch orflags(%#,WZw)=0,{@pemit %#=%r[u(help)]},{@pemit %#=%r[u(whelp)]}
&WHELP Global Aura Object <GAO>=[center(* %ch%cr+Aura Staff Help%cn *,79,-)]%r%r%b%b+aura/list[space(14)]-- Lists available auras by number. %r%b%b+aura/add <number>[space(6)]-- Adds an aura to your aura list.%r%b%b+aura/del <number>[space(6)]-- Deletes an aura from your aura list.%r%b%b+aura[space(19)]-- Shows what Auras you have set on yourself. %r%r%b%b+aura/sadd <player>=<number>[space(5)]-- Adds <aura> to <player>.%r%b%b+aura/sdel <player>=<number>[space(5)]-- Removes <aura> from <player>.%r%r%b%b+aura/m <name>=<reason> -- Allows mages to use Magick to see the auras of others.%r%b%b+aura/v <name>=<reason> -- Allows vampires to use auspex to see the auras of others.%r%b%b+aura/a <name>=<reason> -- Allows those with Awareness to see the auras of others.%r%rPlease provide a valid IC reason for why you're making an aura roll to see another character's aura. "Just because" is not valid! %r%r[repeat(-,79)]%r
&SECURE Global Aura Object <GAO>=25 26 27 28
&DEL_AURA_STAFF Global Aura Object <GAO>=$+aura/sdel *=*:@switch orflags(%#,WZw)=0,{@pemit %#=Permission Denied.},{&auras *%0=[ldelete(u(*%0/auras),member(u(*%0/auras),%1))];@pemit %#=Aura removed.}
&CREDITS Global Aura Object <GAO>=Originally Coded by Piouhgd and Archimedes@Full Circle. Code compressed, updated for WoD rolls, and extra features added by Gwen Morse (http://www.geocities.com/goldmooneachna/mush.html).
&LOOK-TRIG Global Aura Object <GAO>=@switch/all %2=>1,{@pemit %0=You see...; @pemit %0={[iter(index(u(%1/auras), ,1,r(1)),{%r%b%b[ljust([index(u(me/auracolor), ,##,1)],20)][index(u(me/auramood), ,##,1)]})]}},>0,{@switch/first [get(%1/race)]=vampire,{@pemit %0=The aura around [fullname(%1)] is Pale.},were,{@pemit %0=You see an Intensely-Colored aura around [fullname(%1)].},mage,{@pemit %0=The aura around [fullname(%1)] glitters with Myriad-Sparkling colors.},changeling,{@pemit %0=You see Sharp-Flickering colors within the aura around [fullname(%1)].}; @switch/all 1=strmatch(get(%1/MFS),*pale*aura*),{@pemit %0=The aura around [fullname(%1)] is Pale.},or(strmatch(get(%1/MFS),*holy*aura*),strmatch(get(%1/MFS),*burn*aura*)),{@pemit %0=The aura around [fullname(%1)] seems to almost Burn with Holy brilliance.},or(strmatch(get(%1/MFS),*true*faith*),gte(statz(%0,true-faith),1)),{@pemit %0=The aura around [fullname(%1)] radiates Silver and Gold.},{@pemit %0=The aura around [fullname(%1)] seems that of a normal person.}}},0,{@pemit %0=Your eyes try to focus on [fullname(%1)] only to find nothing discernible.},<0,{@pemit %0=You see...%r[switch(rand(8),0,The aura around [fullname(%1)] is Pale.,1,You see an Intensely-Colored aura around [fullname(%1)].,2,You see Myriad-Sparkling colors within the aura around [fullname(%1)].,3,You see Sharp-Flickering colors within the aura around [fullname(%1)].,4,Your eyes try to focus on [fullname(%1)] only to find nothing discernible.,The aura around [fullname(%1)] seems that of a normal person.)]}
&DO_SHOW_AURA_V Global Aura Object <GAO>=$+aura/v *=*:@switch/first 0=or(nearby(%#,*%0),nearby(%l,*%0)),{@pemit %#=You're not close enough to see [fullname(*%0)].},gte(statz(%#,auspex),2),{@pemit %#=Huh? \(Type "help" for help.\)},eq(member(get(%#/AURA-LOOK),num(*%0)),0),{@pemit %#=The aura is a confused blur of shifts and sparkles. You realize it is too soon to look at [fullname(*%0)] again.},{@pemit %#=%rYou look at [fullname(*%0)] and the world shimmers around you.; @trigger me/look-trig=%#,num(*%0),[rollz(add(statz(%#,perception),statz(%#,empathy)),8)]; @unlock %#/AURA-LOOK;&AURA-LOOK %#=[cat([get(%#/AURA-LOOK)],[num(*%0)])]; @lock %#/AURA-LOOK; @wait 600=@unlock %#/AURA-LOOK; @wait 601=&AURA-LOOK %#=[remove([get(%#/AURA-LOOK)],[num(*%0)])]; @wait 602 = {@lock %#/AURA-LOOK}}
&DO_SHOW_AURA_M Global Aura Object <GAO>=$+aura/m *=*:@switch/first 0=or(nearby(%#,*%0),nearby(%l,*%0)),{@pemit %#=You're not close enough to see [fullname(*%0)].},or(gte(statz(%#,mind),1),gte(statz(%#,spirit),1))),{@pemit %#=Huh? \(Type "help" for help.\)},eq(member(get(%#/AURA-LOOK),num(*%0)),0),{@pemit %#=The aura is a confused blur of shifts and sparkles. You realize it is too soon to look at [fullname(*%0)] again.},{@pemit %#=%rYou look at [fullname(*%0)] and the world shimmers around you.; @trigger me/look-trig=%#,num(*%0),[rollz(get(%#/arete),4)]; @unlock %#/AURA-LOOK;&AURA-LOOK %#=[cat([get(%#/AURA-LOOK)],[num(*%0)])]; @lock %#/AURA-LOOK; @wait 600=@unlock %#/AURA-LOOK; @wait 601=&AURA-LOOK %#=[remove([get(%#/AURA-LOOK)],[num(*%0)])]; @wait 602 = {@lock %#/AURA-LOOK}}
&DO_SHOW_AURA_A Global Aura Object <GAO>=$+aura/a *=*:@switch/first 0=or(nearby(%#,*%0),nearby(%l,*%0)),{@pemit %#=You're not close enough to see [fullname(*%0)].},gte(statz(%#,awareness),3),{@pemit %#=Huh? \(Type "help" for help.\)},eq(member(get(%#/AURA-LOOK),num(*%0)),0),{@pemit %#=The aura is a confused blur of shifts and sparkles. You realize it is too soon to look at [fullname(*%0)] again.},{@pemit %#=%rYou look at [fullname(*%0)] and the world shimmers around you.; @trigger me/look-trig=%#,num(*%0),[rollz(add(statz(%#,perception),statz(%#,awareness)),8)]; @unlock %#/AURA-LOOK;&AURA-LOOK %#=[cat([get(%#/AURA-LOOK)],[num(*%0)])]; @lock %#/AURA-LOOK; @wait 600=@unlock %#/AURA-LOOK; @wait 601=&AURA-LOOK %#=[remove([get(%#/AURA-LOOK)],[num(*%0)])]; @wait 602 = {@lock %#/AURA-LOOK}}
@set Global Aura Object <GAO>=INHERIT
@set Global Aura Object <GAO>=STICKY
@set Global Aura Object <GAO>=SAFE