Skip to content

Commit e247c07

Browse files
committed
Tons of Rhost fixes.
1 parent dfa5bda commit e247c07

13 files changed

+93
-53
lines changed

CORE 03 - Ancestor Objects - Room Parents.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
&EXITFORMAT [u(cobj,ancestor_room)]=[if(words(lvexits(%!)),udefault(EXITFORMAT`[u(SETTINGS`ROOM_EXITS)],u(EXITFORMAT`DEFAULT)),u(SUBHEADER,u(FOOTER_TEXT)))]
2828

29-
&EXITFORMAT`DEFAULT [u(cobj,ancestor_room)]=[u(SEPARATOR,Exits)]%R[null(if(u(setr,lvexits,lvexits(%!)),iter(exitalias exitname exitwrap exitdest,u(setq,col%i0,u(strfirstof,v(DISTCOLOR`%i0),vol_color(%#,ROOM,%i0))))))][table(iter(vol_sortorder(vol_sortname(%q<lvexits>)),u(RENDER_EXIT,%i0,37),%b,|),37,width(%#),|)]%R[u(SUBHEADER)]
29+
&EXITFORMAT`DEFAULT [u(cobj,ancestor_room)]=[u(SEPARATOR,Exits)]%R[null(if(t(u(setr,lvexits,lvexits(%!))),iter(exitalias exitname exitwrap exitdest,u(setq,col%i0,u(strfirstof,v(DISTCOLOR`%i0),vol_color(%#,ROOM,%i0))))))][table(iter(vol_sortorder(vol_sortname(%q<lvexits>)),u(RENDER_EXIT,%i0,37),%b,|),37,width(%#),|)]%R[u(SUBHEADER)]
3030

3131
&RENDER_EXIT [u(cobj,ancestor_room)]=ljust(if(strlen(alias(%0)),[ansi(%q<colexitwrap>,<)][ansi(%q<colexitalias>,vol_pueblize(ucstr(alias(%0)),name(%0)))][ansi(%q<colexitwrap>,>)]),6)[ansi(%q<colexitname>,vol_pueblize(vol_getmoniker(%0),name(%0)))] to [ansi(%q<colexitdest>,left(name(loc(%0)),sub(%1,6,4,strlen(name(%0)))))]
3232

@@ -35,7 +35,7 @@
3535

3636
@@ ANCESTOR EXIT
3737

38-
@select/inline isdbref(u(oldcobj,ancestor_exit))=1,{th u(attrib_set,u(cobj,ccp),COBJ`ANCESTOR_EXIT,objid(u(oldcobj,ancestor_exit)))},0,{@select/inline isdbref(u(cobj,ancestor_exit))=0,{th u(attrib_set,u(cobj,ccp),COBJ`ANCESTOR_EXIT,objid(open(Ancestor Exit,#0,u(cobj,ancestor_room))))}}
38+
@select/inline isdbref(u(oldcobj,ancestor_exit))=1,{th u(attrib_set,u(cobj,ccp),COBJ`ANCESTOR_EXIT,objid(u(oldcobj,ancestor_exit)))},0,{@select/inline isdbref(u(cobj,ancestor_exit))=0,{th u(attrib_set,u(cobj,ccp),COBJ`ANCESTOR_EXIT,objid(create(Ancestor Exit)))};@tel [u(cobj,ancestor_exit)]=[u(cobj,ancestor_room)]}
3939

4040
&ODROP [u(cobj,ancestor_exit)]=heads over from [fullname(home(me))]
4141
&OSUCCESS [u(cobj,ancestor_exit)]=heads over to [fullname(loc(me))]

Finger Renderer - FINGER.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ th u(NEWCOBJ,Finger <FINGER>,finger,,,,WIZARD SAFE !NO_COMMAND,INHERIT SIDEFX SA
1616

1717
&INC`MAIN [u(cobj,finger)]=@attach %!/INC`CHECKPC=u(strfirstof,%0,%#),1;@attach %!/FINGER`[u(conf,FORMATTER)]
1818

19-
&FINGER`STANDARD [u(Cobj,finger)]=th u(setr,co,u(conf,FIELD_COLOR));th u(setq,bord,ansi(u(color,%#,FINGER,BORDER),if(u(op,SYSTEM,SCREEN_READER),%b,|)));@pemit %#=u(HEADER,if(strlen(u(setr,hdr,u(conf,HEADER_CONTENTS))),u(strfirstof,u(getproperty,%q<t1>,%q<hdr>),get(%q<t1>/D`FINGER`%q<hdr>))),,,1);th u(setq,col1,u(conf,LEFT_COLUMN));th u(setq,rjust1,lmath(max,iter(%q<col1>,strlen(u(elements,##,2,~)),|,%b)));th u(setq,col2,u(conf,RIGHT_COLUMN));th u(setq,rjust2,lmath(max,iter(%q<col2>,strlen(u(elements,##,2,~)),|,%b)));th u(setq,col1width,floor(fdiv(sub(u(width,%#),7),2)));th u(setq,col2width,ceil(fdiv(sub(u(width,%#),7),2)));th u(setq,col1data,trim(iter(%q<col1>,ansi(%q<co>,rjust(u(elements,##,2,~),%q<rjust1>)):%B[u(strfirstof,u(getprop,%q<t1>,u(elements,##,1,~),D`FINGER),u(elements,##,3,~))],|,%R),r,%R));th u(setq,col2data,trim(iter(%q<col2>,ansi(%q<co>,rjust(u(elements,##,2,~),%q<rjust2>)):%B[u(strfirstof,u(getprop,%q<t1>,u(elements,##,1,~),D`FINGER),u(elements,##,3,~))],|,%R),r,%R));@pemit %#=switch(%va,PennMUSH,align(1. %q<col1width> 1. %q<col2width> 1.,%q<bord>,%q<col1data>,%q<bord>,%q<col2data>,%q<bord>),RhostMUSH,printf($1&:%q<bord>:s $%q<col1width>|-"s $1&:%q<bord>:s $%q<col2width>|-"s $1&:%q<bord>:s,%R,%q<col1data>,%R,%q<col2data>,%R));@dolist/inline/delimit | [u(conf,BOTTOM_COLUMN)]=@select/inline strlen(u(setr,found,u(strfirstof,u(getprop,%q<t1>,u(elements,##,1,~),D`FINGER),u(elements,##,3,~))))=>0,{@pemit %#=u(SEPARATOR,u(capnames,u(strfirstof,u(elements,##,2,~),##)),,,1);@pemit %#=align(1. [u(strfirstof,u(elements,##,4,~),<)][sub(u(width,%#),4)] 1.,%q<bord>,edit(%q<found>,%t,space(8)),%q<bord>)};@pemit %#=u(FOOTER,if(strlen(u(setr,shdr,u(conf,FOOTER_CONTENTS))),u(getprop,%q<t1>,%q<shdr>,D`FINGER)),,,1)
19+
&FINGER`STANDARD [u(Cobj,finger)]=th u(setr,co,u(conf,FIELD_COLOR));th u(setq,bord,ansi(u(color,%#,FINGER,BORDER),if(u(op,SYSTEM,SCREEN_READER),%b,|)));@pemit %#=u(HEADER,if(strlen(u(setr,hdr,u(conf,HEADER_CONTENTS))),u(strfirstof,u(getproperty,%q<t1>,%q<hdr>),get(%q<t1>/D`FINGER`%q<hdr>))),,,1);th u(setq,col1,u(conf,LEFT_COLUMN));th u(setq,rjust1,lmath(max,iter(%q<col1>,strlen(u(elements,##,2,~)),|,%b)));th u(setq,col2,u(conf,RIGHT_COLUMN));th u(setq,rjust2,lmath(max,iter(%q<col2>,strlen(u(elements,##,2,~)),|,%b)));th u(setq,col1width,floor(fdiv(sub(u(width,%#),7),2)));th u(setq,col2width,ceil(fdiv(sub(u(width,%#),7),2)));th u(setq,col1data,trim(iter(%q<col1>,ansi(%q<co>,rjust(u(elements,##,2,~),%q<rjust1>)):%B[u(strfirstof,u(getprop,%q<t1>,u(elements,##,1,~),D`FINGER),u(elements,##,3,~))],|,%R),r,%R));th u(setq,col2data,trim(iter(%q<col2>,ansi(%q<co>,rjust(u(elements,##,2,~),%q<rjust2>)):%B[u(strfirstof,u(getprop,%q<t1>,u(elements,##,1,~),D`FINGER),u(elements,##,3,~))],|,%R),r,%R));@pemit %#=switch(%va,PennMUSH,align(1. %q<col1width> 1. %q<col2width> 1.,%q<bord>,%q<col1data>,%q<bord>,%q<col2data>,%q<bord>),RhostMUSH,printf($1&:%q<bord>:s $%q<col1width>|-"s $1&:%q<bord>:s $%q<col2width>|-"s $1&:%q<bord>:s,%R,%q<col1data>,%R,%q<col2data>,%R));th u(setq,cenwidth,sub(u(width,%#),4));@dolist/inline/delimit | [u(conf,BOTTOM_COLUMN)]=@select/inline strlen(u(setr,found,u(strfirstof,u(getprop,%q<t1>,u(elements,##,1,~),D`FINGER),u(elements,##,3,~))))=>0,{@pemit %#=u(SEPARATOR,u(capnames,u(strfirstof,u(elements,##,2,~),##)),,,1);th u(setq,disptext,edit(%q<found>,%t,space(8)));@pemit %#=u(choosegame,align(1. [u(strfirstof,u(elements,##,4,~),<)]%q<cenwidth> 1.,%q<bord>,%q<disptext>,%q<bord>),printf($1&:%q<bord>:s $%q<cenwidth>|-"s $1&:%q<bord>:s,%R,%q<disptext>,%R))};@pemit %#=u(FOOTER,if(strlen(u(setr,shdr,u(conf,FOOTER_CONTENTS))),u(getprop,%q<t1>,%q<shdr>,D`FINGER)),,,1)
2020

2121
&INC`FIELDS [u(cobj,finger)]=@attach %!/INC`MSG=Available Fields: [iter(u(FUN`FIELDS,%#),%i0,|,\,%b)]
2222

Grid Manager - GRID.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ th u(NEWCOBJ,District Parent <DISTRICT>,district,u(cobj,grid),u(cobj,ancestor_ro
2929

3030
&FUN`LISTDISTRICTS [u(cobj,grid)]=u(sortname,u(filter,ISDIST,children(%0)))
3131

32-
&FUN`CHAIN [u(cobj,grid)]=iter(u(filter,ISDIST,revwords(lparent(%0))),u(getmoniker,%i0),%b,switch(%1,1,/,2,\,%B,%B-%B))
32+
&FUN`DIST_ANCESTORS [u(cobj,grid)]=u(filter,ISDIST,revwords(u(choosegame,lparent(%0),parents(%0))))
33+
34+
&FUN`CHAIN [u(cobj,grid)]=iter(u(FUN`DIST_ANCESTORS,%0) %0,u(getmoniker,%i0),%b,switch(%1,1,/,2,[chr(44)]%b,%b-%b))
3335

3436
&FIL`ISDIST [u(cobj,grid)]=cand(hastype(%0,THING),get(%0/D`DISTRICT))
3537
&FIL`NOTDIST [u(cobj,grid)]=not(u(FIL`ISDIST,%0))

Groups - GROUP.txt

+6-4
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ th u(NEWCOBJ,Division Object Parent <GOP>,dop,u(cobj,group),,,WIZARD SAFE,INHERI
259259
&DIV`DADMIN`DISBAND`DO [u(cobj,group)]=th u(attrib_set,%0,DIVISIONS,u(sortname,u(filter,ISOBJID,setdiff(get(%0/DIVISIONS),objid(%1)))));@attach %!/GRP`GADMIN`DISBAND`DO=%1
260260

261261
&ADMIN`PLAYER [u(cobj,group)]=COLOR|STARTRANK|IC|OOC|COMMAND|CHANNELRANK|SYSALERT
262-
&ADMIN`ADMIN [u(cobj,group)]=PRIVATE|TIER|DISPLAYMODE|ABBREVIATION|LETTER|CHANNELS|NOREPORT|RADIOS
262+
&ADMIN`ADMIN [u(cobj,group)]=PRIVATE|SECRETIVE|TIER|DISPLAYMODE|ABBREVIATION|LETTER|CHANNELS|NOREPORT|RADIOS
263263

264264
&GRP`GADMIN`LIST [u(cobj,group)]=@pemit %#=u(header,%q<g1name> - Settings);@dolist/inline u(lattrp,%q<g1>/SET`*)={@pemit %#=rjust(last(##,`),10): [get(%q<g1>/##)]};@pemit %#=u(footer)
265265

@@ -273,6 +273,8 @@ th u(NEWCOBJ,Division Object Parent <GOP>,dop,u(cobj,group),,,WIZARD SAFE,INHERI
273273

274274
&GRP`GADMIN`SET`STARTRANK [u(cobj,group)]=@attach %!/INC`VALID`POSINT=%1,STARTRANK;@stop lte(%q<value>,2)=@attach %!/INC`MSG=ERROR: STARTRANK may not be higher than 3.;@stop lte(%q<value>,u(FUN`GETRANK,%q<g1>,%:))=@attach %!/INC`MSG=ERROR: Cannot raise STARTRANK beyond your own rank.;@check hasattrp(%q<g1>/RANK`%q<value>)=@attach %!/INC`MSG=ERROR: Cannot find that rank.;&SET`STARTRANK %q<g1>=%q<value>
275275

276+
&GRP`GADMIN`SET`SECRETIVE [u(cobj,group)]=@attach %!/INC`VALID`BOOL=%1,SECRETIVE;&SET`SECRETIVE %q<g1>=%q<value>
277+
276278
&GRP`GADMIN`SET`RADIOS [u(cobj,group)]=@attach %!/INC`VALID`RADIOLIST=%1;&SET`%q<option> %q<g1>=%q<value>
277279

278280
&GRP`GADMIN`SET`IC [u(cobj,group)]=@attach %!/GRP`GADMIN`SET`OOC;
@@ -531,7 +533,7 @@ th u(NEWCOBJ,Division Object Parent <GOP>,dop,u(cobj,group),,,WIZARD SAFE,INHERI
531533

532534
&GRP`GWHO`LIST [u(cobj,group)]=th u(setq,lwhoid,u(lwhoid,%#));@pemit %#=u(header,if(%q<online>,ONLINE%B)MEMBERS: %q<g1name>);@select/inline cand(not(%2),hasattr(%q<g1>/DESCRIBE))=1,{@pemit %#=get(%q<g1>/DESCRIBE);@pemit %#=u(separator)};@attach %!/DISPLAY`[u(strfirstof,get(%q<g1>/SET`DISPLAYMODE),STANDARD)];@pemit %#=u(FOOTER)
533535

534-
&DIV`DIVISIONS`MAIN [u(cobj,group)]=@attach %!/INC`TARGET;@pemit %#=u(HEADER,DIVISIONS: %q<g1name>);@pemit %#=ansi(u(color,%#,GROUPS,COLUMN_NAMES),align(24 21 20 10,Name,Rank,Title,Last/Idle));th u(setq,divcount,NULL);@dolist/inline/delimit [u(rsep)] [u(mysql3,SELECT`DIVISION_CASCADE,%q<g1id>)]={th u(setq,ddat,u(choosegame,%i0,%d0));th u(setq,divs,setunion(u(elements,%q<ddat>,1,u(fsep)),%q<divs>));@select/inline strmatch(u(elements,%q<ddat>,1,u(fsep)),%q<divcount>)=0,{@pemit %#=u(separator,u(elements(%q<ddat>,1,u(fsep))/GET`NAME))};th u(setq,divcount,u(elements,%q<ddat>,1,u(fsep)));@pemit %#=align(24 21 19 >10,u(pueblize,u(getmoniker,u(setr,obj,u(elements,%q<ddat>,2,u(fsep)))),+finger [name(%q<obj>)]),u(elements,%q<ddat>,4,u(fsep)),u(elements,%q<ddat>,5,u(fsep)),u(lastidle,%q<obj>,%#))};@select/inline if(words(%q<divs>),words(u(setr,empty,u(mysql,SELECT`EMPTY_DIVISIONS`1,%q<g1id>,u(SQL`IN`STRING,%q<divs>)))),words(u(setr,empty,u(mysql,SELECT`EMPTY_DIVISIONS`2,%q<g1id>))))=>0,{@pemit %#=u(subheader,Empty Divisions);@pemit %#=iter(%q<empty>,u(%i0/GET`NAME),%b,\,%B)};@pemit %#=u(FOOTER)
536+
&DIV`DIVISIONS`MAIN [u(cobj,group)]=@attach %!/INC`TARGET;@pemit %#=u(HEADER,DIVISIONS: %q<g1name>);@pemit %#=ansi(u(color,%#,GROUPS,COLUMN_NAMES),align(24 21 20 10,Name,Rank,Title,Last/Idle));th u(setq,divcount,NULL);@dolist/inline/delimit [u(rsep)] [u(mysql3,SELECT`DIVISION_CASCADE,%q<g1id>)]={th u(setq,ddat,u(choosegame,%i0,%d0));th u(setq,divs,setunion(u(elements,%q<ddat>,1,u(fsep)),%q<divs>));@select/inline strmatch(u(elements,%q<ddat>,1,u(fsep)),%q<divcount>)=0,{@pemit %#=u(separator,u(elements,%q<ddat>,1,u(fsep))/GET`NAME))};th u(setq,divcount,u(elements,%q<ddat>,1,u(fsep)));@pemit %#=align(24 21 19 >10,u(pueblize,u(getmoniker,u(setr,obj,u(elements,%q<ddat>,2,u(fsep)))),+finger [name(%q<obj>)]),u(elements,%q<ddat>,4,u(fsep)),u(elements,%q<ddat>,5,u(fsep)),u(lastidle,%q<obj>,%#))};@select/inline if(words(%q<divs>),words(u(setr,empty,u(mysql,SELECT`EMPTY_DIVISIONS`1,%q<g1id>,u(SQL`IN`STRING,%q<divs>)))),words(u(setr,empty,u(mysql,SELECT`EMPTY_DIVISIONS`2,%q<g1id>))))=>0,{@pemit %#=u(subheader,Empty Divisions);@pemit %#=iter(%q<empty>,u(%i0/GET`NAME),%b,\,%B)};@pemit %#=u(FOOTER)
535537

536538
&Q`SELECT`EMPTY_DIVISIONS`1 [u(cobj,group)]=SELECT group_objid FROM volv_group WHERE group_parent=? AND group_objid NOT IN (!) ORDER BY group_name
537539

@@ -542,7 +544,7 @@ th u(NEWCOBJ,Division Object Parent <GOP>,dop,u(cobj,group),,,WIZARD SAFE,INHERI
542544
&GRP`GROUPS`PRIVATE [u(cobj,group)]=@attach %!/DISPLAY`GROUPLIST=1
543545
&GRP`GROUPS`MAIN [u(cobj,group)]=@attach %!/DISPLAY`GROUPLIST=0
544546

545-
&DISPLAY`GROUPLIST [u(cobj,group)]=th u(setq,lwhoid,u(lwhoid,%#));@pemit %#=u(header,mudname() [if(%0,\(Private\)%B)]Groups);@dolist/inline/nobreak/delimit [u(rsep)] [u(mysql3,LIST`GROUP_TIERS,%0)]={th u(setq,data,u(choosegame,%i0,%d0));th u(setq,vis,if(%0,u(filter,PRIVATE,u(elements,%q<data>,3,u(fsep)),%b,%b,%:),u(elements,%q<data>,3,u(fsep))));@check words(%q<vis>);@pemit %#=u(separator,Tier [elements(%q<data>,1,u(fsep))]: [elements(%q<data>,2,u(fsep))]);@dolist/inline %q<vis>={th u(setq,gdat,u(choosegame,%i0,%d0));@pemit %#=align(27 20 20 7,u(pueblize,u(%q<gdat>/GET`NAME),+group [name(%q<gdat>)]),u(FUN`LISTRANKNAMES,%q<gdat>,1),u(FUN`LISTRANKNAMES,%q<gdat>,2),rjust(words(setinter(%q<lwhoid>,u(setr,members,u(filter,ISOBJID,get(%q<gdat>/MEMBERS))))),2,0)/[rjust(words(%q<members>),2,0)])}};@pemit %#=u(footer,'+group <groupname>' for details)
547+
&DISPLAY`GROUPLIST [u(cobj,group)]=th u(setq,lwhoid,u(lwhoid,%#));@pemit %#=u(header,mudname() [if(%0,\(Private\)%B)]Groups);th u(setq,glist,u(mysql3,LIST`GROUP_TIERS,%0));@dolist/inline/nobreak/delimit [u(rsep)] %q<glist>={th u(setq,data,u(choosegame,%i0,%d0));th u(setq,vis,if(%0,u(filter,PRIVATE,u(elements,%q<data>,3,u(fsep)),%b,%b,%:),u(elements,%q<data>,3,u(fsep))));@check t(words(%q<vis>,u(fsep)));@pemit %#=u(separator,Tier [u(elements,%q<data>,1,u(fsep))]: [u(elements,%q<data>,2,u(fsep))],,,,,,,,2);@dolist/inline %q<vis>={th u(setq,gdat,u(choosegame,%i0,%d0));@pemit %#=align(27 20 20 7,u(pueblize,u(%q<gdat>/GET`NAME),+group [name(%q<gdat>)]),u(FUN`LISTRANKNAMES,%q<gdat>,1),u(FUN`LISTRANKNAMES,%q<gdat>,2),rjust(words(setinter(%q<lwhoid>,u(setr,members,u(filter,ISOBJID,get(%q<gdat>/MEMBERS))))),2,0)/[rjust(words(%q<members>),2,0)])}};@pemit %#=u(footer,'+group <groupname>' for details)
546548

547549
&Q`LIST`GROUP_TIERS [u(cobj,group)]=SELECT group_tier,tier_name,group_objids FROM volv_group_tiers WHERE group_parent IS NULL AND group_is_private=?
548550

@@ -645,7 +647,7 @@ th u(NEWCOBJ,Division Object Parent <GOP>,dop,u(cobj,group),,,WIZARD SAFE,INHERI
645647
&OBJECT`DESTROY`CLEANUP [u(cobj,group)]=@select/inline %2=PLAYER,{@dolist/inline u(filter,ISGROUPMEMBER,u(FUN`LISTGROUPS),%B,%B,%0)={@attach %!/GRP`GMEMBER`KICK`DO=%i0,%0}}
646648

647649
&FIL`ISGROUPMEMBER [u(cobj,group)]=match(get(%0/MEMBERS),%1)
648-
650+
&FIL`ISGROUPMEMBER_OR_ADMIN [u(cobj,group)]=cor(u(isadmin,%1),u(FIL`ISGROUPMEMBER,%0,%1))
649651

650652
@@ HELP FILES
651653
@@ COMMUNITY - GROUPS

0 commit comments

Comments
 (0)