@create Faecode=10 &POSING Faecode=$+fpose *:@switch [gt(add(gt(match(changeling nunnehi,lcstr(first(get(%#/race)))),0),[gt(get(%#/enchanted),0)],[orflags(%#,WwZi)]),0)]=1,{@dolist [lcon(loc(%#))]=@switch [gt(add(gt(match(changeling nunnehi,lcstr(first(get(##/race)))),0),[gt(get(##/enchanted),0)],[orflags(##,WwZi)]),0)]=1,@pemit ##=*** [switch([left(%0,1)],:,%N%b,;,%N,",%N says ",',%N says ",%N says "[left(%0,1)])][right(%0,[sub(strlen(%0),1)])]},@pemit %#=I'm sorry but you cannot use +fpose since you are neither Fae nor Enchanted. &FPOSING Faecode=$+f *:@switch [gt(add(gt(match(changeling nunnehi,lcstr(first(get(%#/race)))),0),[gt(get(%#/enchanted),0)],[orflags(%#,WwZi)]),0)]=1,{@dolist [lcon(loc(%#))]=@switch [gt(add(gt(match(changeling nunnehi,lcstr(first(get(##/race)))),0),[gt(get(##/enchanted),0)],[orflags(##,WwZi)]),0)]=1,@pemit ##=*** [switch([left(%0,1)],:,%N%b,;,%N,",%N says ",',%N says ",%N says "[left(%0,1)])][right(%0,[sub(strlen(%0),1)])]},@pemit %#=I'm sorry but you cannot use +fpose since you are neither Fae nor Enchanted. &OBJECTWRITE Faecode=1 &ENCHANT Faecode=$+enchant *:@switch [gt(add(gt(match(changeling nunnehi,lcstr(first(get(%#/race)))),0),[orflags(%#,WwZi)]),0)]=0,{@pemit %#=I'm sorry, but you must be a changeling to use this code.},{@switch [strlen(get(%#/systglamour))]=0,{@pemit %#=I'm sorry, but you seem to be a changeling without glamour set. Please contact your staffer.},{@switch [eq([loc(%#)],[loc(*%0)])]=0,{@pemit %#=I'm sorry, but distance enchanting is not allowed.},{@switch [isdbref(num(*%0))]=0,{@pemit %#=I'm sorry, but I can't find %0 in the database. Please ensure you spelled the name correctly and try again.},{@switch [gt(strlen(get(*%0/enchanted)),0)]=1},{@pemit %#=They are already enchanted. Please wait until their enchantment lifts and then try again.},{@switch [lte([get(%#/systglamour)],0)]=1,{@pemit %#=I'm sorry, but you don't have enough glamour to enchant them.},{&systGlamour %#=[sub([get(%#/systglamour)],1)];&enchanted *%0=1;@wait 86400=&enchanted *%0=;@pemit %#=%rYou use a glamour point and successfully enchant [name(*%0)].;@pemit *%0=%rYou have been enchanted by %N. The effect will wear off in 24 rl hours. If your character has the ability to resist this enchantment, please call for a judge.}}}}} &ISFAE Faecode=[gt(add(gt(match(changeling nunnehi,lcstr(first(get(%#/race)))),0),[gt(get(%#/enchanted),0)],[orflags(%#,WwZi)]),0)] &FWHO_FOOTER Faecode=%ch%cg[repeat(*,78)]%cn%r &CMD_FWHO Faecode=$+fwho:@switch [u(isfae, %#)]=0,@pemit %#=Huh? (see "help" for help.),{@pemit %#=%r[u(fwho_header)][iter([lwho()],[switch([u(isfae, ##)],1,[switch([hasattr([loc(##)],Freehold)],1,%r[ljust([mid(name(##),0,15)],20,.)][ljust([mid([name([loc(##)])],,[sub(strlen([name([loc(##)])]),35)][strlen([name([loc(##)])])])],42,.)][setq(0,[round([div(conn(##),60)],0)])][switch([gt(%q0,60)],0,0h%q0m,1,[trunc(div(%q0,60))]h[mod(%q0,60)]m)]%t[trunc(div([idle(##)],60))]m)])])]%r[u(fwho_footer)]} &FWHO_HEADER Faecode=%ch%cg[center([mudname()] Freehold Activity List,78,*)]%cn%r%r%cu[ljust(Name,20)][ljust(Location,40)]Connected%tIdle%cn%r &CMD_MLOOK Faecode=$+mlook:@switch [u(isfae,%#)]=0,@pemit %#=Huh? (see "help" for help.),{@pemit %#=%rThe mortal view of the area appears as:%R%r[u(%l/permdesc)]} &CMD_FLOOK Faecode=$+flook *:@switch [add(gt(add(gt(match(changeling nunnehi,lcstr(first(get(%#/race)))),0),[gt(get(%#/enchanted),0)],[orflags(%#,WwZi)]),0),[gt(strlen(get([n um(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]/faedesc)),0)])]=2,@pemit %#=[repeat(*,79)]%r[name([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))])]%r[get_eval([num( objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]/faedesc)][switch([type([num(objeval(%#,num([swit ch([lcstr(%0)],me,%#,%0)])))])],ROOM,%rObvious Exits:%r[iter(lexits([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]),[switch([hasflag(##,d ark)],1,,name(##))])]%r,EXIT,%r,[switch([hasflag([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0) ])))],O)],1,%r,%rCarrying:%r%b[iter(lcon([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]),[ switch([hasflag(##,dark)],1,,name(##)%r)])])])][repeat(*,79)],{@switch [add(gt(add(gt(match(Changeling Nunnehi,first(get(%#/race))),0),[gt(get(%#/enchanted),0)],[orflags(%#,WwZi)]),0),[gt(strlen(get _eval([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]/chim_desc)),0)])]=2,@pemit %#=[repeat(*,79)]%r[name([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))])]%r[get_eval([num( objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]/chim_desc)][switch([type([num(objeval(%#,num([sw itch([lcstr(%0)],me,%#,%0)])))])],ROOM,%rObvious Exits:%r[iter(lexits([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]),[switch([hasflag(##,d ark)],1,,name(##))])]%r,EXIT,%r,[switch([hasflag([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0) ])))],O)],1,%r,%rCarrying:%r%b[iter(lcon([num(objeval(%#,num([switch([lcstr(%0)],me,%#,%0)])))]),[ switch([hasflag(##,dark)],1,,name(##)%r)])])])][repeat(*,79)],@force %#=look [switch([lcstr(%0)],me,%#,%0)]} &CMD_BANALITYCHECK Faecode=$+banalcheck *:@switch [lcstr(first(u(%#/race)))]=changeling, {@switch [loc(%#)]=[loc(*%0)],{@pemit %#=%r[name(*%0)]'s banality is [get(%0/systbanality)].%r},@pemit %#=%rYou cannot check banality from a distance.%r},@pemit %#=%rYou are not a changeling.%r &FAEHELP Faecode=$+faehelp:@pemit %#=%R[center(%cmChangeling Commands,78,*)]%cn%R%RThe following commands are available to Changelings. +help to view +help file.%R%RCommand%T%TExplanation%R%R+flook%T%TAllows the faesee to view faedescs%R+mlook%T%TLets you see the mundane desc of a room%R+f%T%TPoses to only those that can see faedescs%R+femit%T%TSame as +f but for emits.%R+fpose%T%TSame as +f%R+fwho%T%TReturns a list of all changelings in freeholds.%R+banalcheck%TOOC command to check banality%R+enchant%TEnchants a PC for 24 hours.%R%R&faedesc = will set a chimerical desc on yourself or an object you own.%R+faedesc/help%THelp for the global faedescer.%R%RMuch of this code thanks to Calvin, Johnny Bravo and most of all Misty@San Antonio%r%r[center(%cmChangeling Commands,78,*)] &CMD_FEMIT Faecode=$+femit *:@switch [u(isfae, %#)]=0,@pemit %#=You are not a changeling nor enchanted.,1,{@dolist [lcon(%l)]=@switch [u(isfae, ##)]=1,@pemit ##=%ch%cy***%cn [eval(%0)]} &MLOOK Faecode=$+mlook *:@switch [isdbref(objeval(%#,num(%0)))]=0,{@pemit %#=Bad Target.},{@switch [objeval(%#,type(%0))]=room,{@switch [gte(match(loc(%#),objeval(num(%0))),1)]=0,{@pemit %#=Long-distance viewing is not allowed.},{@pemit %#=[get_eval(objeval(%#,num(%0))/permdesc)]}},exit,{@switch [gte(match(lexits(loc(%#)),objeval(%#,num(%0))),1)]=0,{@pemit %#=Long-distance viewing is not allowed.},{@pemit %#=[get_eval(objeval(%#,num(%0))/desc)]}},{@switch [gte(match(loc(%#),objeval(%#,loc(%0))),1)]=0,{@pemit %#=Long-distance viewing is not allowed.},{@pemit %#=[get_eval(objeval(%#,num(%0))/desc)]}}} @set Faecode=INHERIT @set Faecode=SAFE @set Faecode=STAFF @create Faedescer=10 &CMD-WEAR-HELP Faedescer=$+faedesc/help:@pemit %#=%r%ch%cg[repeat(-,78)]%cn%r%ch%cb%cuThe Global Fae Descer%cn%r%rTo use the global descer you must first setup a descer datasource. If you already have a descer for the +wear descer, you do not need to create a new one. For that create an object (@create ), the object may have anyname, and be kept anywhere, as long as it isn't destroyed. Remember the #dbref of the object, then type '+faedesc/setup <#dbref of object>', now you are setup to use the faedescer.%r%rThe descs in the faedescer are build up in three parts: An intro (which is the fixed part of your character desc), the body or the desc itself (the descs you can change between), and a mood (a mood is a temporary addition to reflect your current mood, or temporary jewelry or restraints or other temp additions to your desc.%R%R[center(+faedesc/commands for a list of faedescer commands., 78)]%r%rThis descer was coded by %ch%cbLinda%cn@%ch%cgMageValeMush.%cn%RModifications for faedescing by %chMisty @ San Antonio%cn%r[repeat(-,78)]%cn%r &FNWEAR Faedescer=[u(%#/faedescer-DataSource)] &CMD-WEAR-SETUP Faedescer=$+faedesc/setup *:@switch IsDBRef(%0)=1,{@switch/first type(%0)=PLAYER,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You may not use a player as a descer data object. Create a new object or enter the number of one you already own, not a player number.},{[setq(0,[u(FnWear)])];@switch [r(0)]=,{&faedescer-DataSource %#=%0;@pemit %#=%ch%cb\[FAEDESCER\]%cn The data-source is now set up for your faedescer.;@set %0=SAFE},@pemit %#=%ch%cb\[FAEDESCER\]%cn You already have a wear-source setup. It is [r(0)].}},{@pemit %#=%ch%cb\[FAEDESCER\]%cn You must use the #dbref of your faedescer-data object, %chnot%cn it's name!} &CMD-WEAR-INTRO Faedescer=$+faedesc/intro *:@switch [hasattr(%#,faedescer-DataSource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You must first setup a datasource!},{&FaeIntro [u(%#/faedescer-DataSource)]=[%0];&faedesc %#=[switch([hasattr([u(FnWear)],FaeIntro)],1,[get_eval([u(FnWear)]/FaeIntro)]%r%r)][get_eval([u(FnWear)]/faeDESC.[get(u(FnWear)/CurFaeDesc)])][switch([hasattr([u(FnWear)],faemood)],1,%r%r[get_eval(u(FnWear)/faemood)])];@pemit %#=%ch%cb\[FAEDESCER\]%cn The %ch%cbIntro%cn on your faedescer has been added/updated.} &CMD-WEAR-DESC Faedescer=$+faedesc/desc *=*:@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You must first setup a datasource!},{@switch hasattr([u(FnWear)],FAEDESC.[%0])=1,{@pemit %#=%ch%cb\[FAEDESCER\]%cn There is already a desc by that name!},{&FAEDESC.[%0] [u(FnWear)]=[%1];&faelist [u(FnWear)]=[setunion([get([u(FnWear)]/faelist)],[capstr(%0)])];@pemit %#=%ch%cb\[FAEDESCER\]%cn The faedescer has saved the desc as %ch%cb%0%cn.}} &CMD-WEAR-SAVE Faedescer=$+faedesc/save *:@switch [hasattr(%#,Wear-DataSource)]=0,{@pemit %#=%ch%cr\[DESCER\]%cn You must first setup a datasource!},{@switch hasattr([u(FnWear)],DESC.[%0])=1,{@pemit %#=%ch%cr\[DESCER\]%cn There is already a desc by that name!},{&DESC.[%0] %#=[get(%#/Desc];&list [u(FnWear)]=[setunion([get([u(FnWear)]/list)],[capstr(%0)])];@pemit %#=%ch%cr\[DESCER\]%cn Your desc is saved as %ch%cb%0%cn.}} &CMD-WEAR-DESTROY Faedescer=$+faedesc/destroy *:@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You have no faedescs to destroy!},{@switch hasattr([u(FnWear)],faeDESC.[%0])=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn There is no faedesc by that name!},{&faeDESC.[%0] %#;&faelist [u(FnWear)]=[remove([get([u(FnWear)]/faelist)],[capstr(%0)])];&faedesc.%0 [u(FnWear)]=;@pemit %#=%ch%cb\[FAEDESCER\]%cn Your faedesc %ch%cb%0%cn has been %chdestroyed%cn.}} &CMD-WEAR Faedescer=$+faedesc/wear *:@emit [setq(0,[u(%#/faedescer-datasource)])];@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You have no faedescs to wear, you must first setup a datasource and create descs!},{@switch [hasattr(%q0,faeDESC.[%0])]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn There is no faedesc by that name!},{&CurFaeDesc %q0=[capstr(%0)];&faedesc %#=[switch([hasattr(%q0,FaeIntro)],1,[get_eval(%q0/FaeIntro)]%r%r)][get_eval(%q0/faeDESC.[capstr(%0)])][switch([hasattr(%q0,faemood)],1,%r%r[get_eval(u(FnWear)/faemood)])];@pemit %#=%ch%cb\[FAEDESCER\]%cn Your faedesc has been changed to %ch%cb[capstr(%0)]%cn.}} &CMD-WEAR-LIST Faedescer=$+faedesc/list:@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You have not set up your faedescer. You must first setup a datasource.},{@switch hasattr([u(FnWear)],faelist)=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You have no faedescs to list!},{@pemit %#=%ch%cb\[FAEDESCER\]%cn You have the following descs: %ch[get([u(FnWear)]/faeList)]%cn.}} &CMD-WEAR-VIEW Faedescer=$+faedesc/view *:@emit [setq(0,[u(%#/Wear-DataSource)])];@switch [hasattr(%#,Wear-DataSource)]=0,{@pemit %#=%ch%cr\[DESCER\]%cn You have no descs to %chview%cn!},{@switch [hasattr(%q0,DESC.[%0])]=0,{@pemit %#=%ch%cr\[DESCER\]%cn There is no desc by that name!},{@pemit %#=%ch%cg[repeat(-,78)]%r%cr\[DESCER\]%cn Your desc %ch%cb[capstr(%0)]%cn is:%r[switch([hasattr(%q0,Intro)],1,[get_eval(%q0/Intro)]%r%r)][get_eval(%q0/DESC.[%0])]%r%ch%cg[repeat(-,78)]%cn}} &CMD-WEAR-MOOD Faedescer=$+faedesc/mood *:@emit [setq(0,[u(%#/faedescer-datasource)])];@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You must first setup a datasource!},{&faemood %q0=[%0];&faedesc %#=[switch([hasattr(%q0,FaeIntro)],1,[get_eval(%q0/FaeIntro)]%r%r)][get_eval(%q0/faeDESC.[get(%q0/CurFaeDesc)])][switch([hasattr(%q0,faemood)],1,%r%r[get_eval(%q0/faemood)])];@pemit %#=%ch%cb\[FAEDESCER\]%cn Your %ch%cbmood%cn has been added/updated on your faedescer.} &CMD-WEAR-CLEAR Faedescer=$+faedesc/clear:@emit [setq(0,[u(%#/faedescer-datasource)])];@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You have nothing to %chclear%cn!},{&faemood [u(FnWear)];&faedesc %#=[switch([hasattr(%q0,FaeIntro)],1,[get_eval(%q0/FaeIntro)]%r%r)][get_eval(%q0/faeDESC.[get(%q0/CurFaeDesc)])];@pemit %#=%ch%cb\[FAEDESCER\]%cn The %ch%cbmood%cn has been %chcleared%cn from the faedescer.} &CMD-WEAR-LOOK Faedescer=$+faedesc/look:@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You have nothing to %chlook%cn at!},{@pemit %#=%ch%cg[repeat(-,78)]%r%cb\[FAEDESCER\]%cn Your current faedesc %ch%cb[get([u(FnWear)]/CurFaeDesc)]%cn is:%r[get_eval(%#/faeDesc)]%r%ch%cg[repeat(-,78)]%cn%r} &CMD-WEAR-SHOW Faedescer=$+faedesc/show *=*:@emit [setq(0,[u(%#/faedescer-datasource)])];@switch [hasattr(%#,faedescer-datasource)]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn You do not have a faedescer!},{@switch [hasattr(%q0,faeDESC.[%1])]=0,{@pemit %#=%ch%cb\[FAEDESCER\]%cn There is no faedesc by that name!},{@pemit %#=%ch%cg[repeat(-,78)]%r%cb\[FAEDESCER\]%cn %ch%cg%n%cn's faedesc %ch%cb[capstr(%1)]%cn is:%r[switch([hasattr(%q0,FaeIntro)],1,[get_eval(%q0/FaeIntro)]%r%r)][get_eval(%q0/faeDESC.[%1])]%r%ch%cg[repeat(-,78)]%cn;@pemit *%0=%ch%cg[repeat(-,78)]%r%cb\[FAEDESCER\]%cn %ch%cg%n%cn's faedesc %ch%cb[capstr(%1)]%cn is:%r[switch([hasattr(%q0,FaeIntro)],1,[get_eval(%q0/FaeIntro)]%r%r)][get_eval(%q0/faeDESC.[%1])]%r%ch%cg[repeat(-,78)]%cn}} &CMD-WEAR-WRITE Faedescer=$+faedesc/write */*=*:@emit [setq(0,[u(*%0/Wear-DataSource)])];@switch [hasattr(*%0,Wear-DataSource)]=0,{@pemit %#=%ch%cr\[DESCER\]%cn %0 has no datasource setup!},{@switch hasattr(%q0,DESC.[%1])=1,{@pemit %#=%ch%cr\[DESCER\]%cn There is already a desc by that name!},{&DESC.[%1] %q0=[%2];&list %q0=[setunion([get(%q0/List)],[capstr(%1)])];@pemit %#=%ch%cr\[DESCER\] %cg[name(*%0)]%cn's desc is saved as %ch%cb%1%cn.;@pemit *%0=%ch%cr\[DESCER\] %cg[name(%#)]%cn wrote a desc for you with the name %ch%cb%1%cn.}} &CMD-WEAR-COMMANDS Faedescer=$+faedesc/commands:@pemit %#=%r%ch%cg[repeat(-,78)]%cn%r%ch%cb%cuCommands for Fae Descer %cn%r%R+faedesc/help%t%t%tHelp intro. How to set up faedescer.%r+faedesc/intro %t%tCreates your Intro.%r+faedesc/desc =%tAdds a desc with as name.%r+faedesc/mood %t%tAdds a mood () temporarily to a faedesc.%r+faedesc/clear%t%t%tRemoves the mood from a desc.%r+faedesc/look%t%t%tLook at your current desc.%r+faedesc/view %t%tLook at faedesc .%r+faedesc/wear %t%tChanges the body to faedesc .%r+faedesc/list%t%t%tShow a list of all descs.%r+faedesc/destroy %t%tPermanently removes faedesc .%r+faedesc/show =%tShow complete desc (intro+body-mood) to%r%t%t%t%tplayer .%r%r%r%rThis descer was coded by %ch%cbLinda%cn@%ch%cgMageValeMush%cn%RModifications for Changeling use by %ch%cbMisty%cn@%ch%cgSan Antonio%cn%r[repeat(-,78)]%cn%r @set Faedescer=INHERIT