Universal Clock
From OtherVerse Wiki
Coded with PennMUSH. Store in Master Room.
@create Universal Clock v 1.00
@link Universal Clock v 1.00 = #2
@lock/Basic Universal Clock v 1.00=#2
@lset Universal Clock v 1.00/Basic=no_inherit
&CMD_TIME Universal Clock v 1.00=$+time:@pemit %#=[ansi(b,\()] [ansi(hw,Current Area Times [ansi(b,\))])][iter([sort(lattr(me/TIME_*),a)],%R[setq(0,mod(dec(#@),2))][ljust(ansi([if(%q0,h)]c,u(fn_unedit,[rest(##,_)])),25)][ansi([if(%q0,h)],[u(fn_time,v(##))])])]%RTo find out the time for a specific area: [ansi(hw,+time <area>)].
&CMD_TIME2 Universal Clock v 1.00=$+time *:@switch [setq(0,sort(lattr(me/TIME_*),a))][setq(1,edit(secure(%0),%B,_))][setq(2,grab(%q0,TIME_%q1*))][setq(3,v(%q2))][t(%q3)] = 1,{@pemit %#=[ansi(b,\()] Local time for [ansi(hb,u(fn_unedit,rest(%q2,_)))]: [ansi(hw,u(fn_time,%q3))] [ansi(b,\))]},{@pemit %#=No such area found.}
@DESCRIBE Universal Clock v 1.00=This object houses the +time command and the +time <area> command.
@set Universal Clock v 1.00/DESCRIBE=visual
&FN_TIME Universal Clock v 1.00=convsecs(add(secs(),mul(60,60,%0)))
&FN_UNEDIT Universal Clock v 1.00=[iter([squish(capstr(edit(secure(%0),_,%B)))],capstr(lcstr(##)))]
&TIME_AREA1 Universal Clock v 1.00=<minus sign if applicable><1-23>
@set Universal Clock v 1.00/TIME_<AREA1>=no_command
&TIME_AREA2 Universal Clock v 1.00=<minus sign if applicable><1-23>
@set Universal Clock v 1.00/TIME_<AREA2>=no_command
&TIME_AREA3 Universal Clock v 1.00=<minus sign if applicable><1-23>
@set Universal Clock v 1.00/TIME_<AREA3, ETC.>=no_command
