@@ @@ Org/Econ System v4.1 @@ by Andy Laugel, a.k.a. Dahan. @@ @create Org/Econ System 4.1 @set Org/Econ System 4.1 = !NO_COMMAND @set Org/Econ System 4.1 = WIZARD @ACONNECT Org/Econ System 4.1=@fo %#={+org/motd all;+org/waiting all} &CMD_ACCEPT Org/Econ System 4.1=$+org/accept *:@swi [setq(0,ulocal(FN_ActiveOrg,%#))][setq(1,pmatch(secure(%0)))][ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsLeader2,%#,%q0),ulocal(FN_IsAdmin,%#))][t(match(get(%q0/Waiting),%q1))][ulocal(FN_CanJoin,%q1,%q0)]=0*,{@pemit %#=[ulocal(MSG_NotOrg)]},10*,{@pemit %#=[ulocal(MSG_Leader,%#,%q0)]},110*,{@pemit %#=[ansi(rh,-)] [ifelse(isdbref(%q1),[name(%q1)],[secure(%0)])] is not on the [get(%q0/Fullname)] waiting list.},1110,{@pemit %#=[ansi(rh,-)] [name(%q1)] is not allowed to join [get(%q0/Fullname)].[set(%q0,Waiting:[setdiff(get(%q0/Waiting),%q1)])]},1111,{@mail [%q1]=Welcome!/[default(%q0/WelcomeMSG,Welcome to [get(%q0/fullname)]\, [name(%q1)].%r%r[space(40)][%N])];@pemit/list [setunion(%#,ulocal(FN_OWho,%q0))] [%q1]={[ansi(gh,-)] [name(%q1)] has been accepted into the [get(%q0/Fullname)] by [name(%#)].[ifelse(isdbref(get(%q1/Active_Org)),,set(%q1,Active_Org:[%q0]))][set(%q0,Waiting:[setdiff(get(%q0/Waiting),%q1)])][set(%q0,List_Members:[setunion(get(%q0/List_Members),[%q1]^^^^0^-1^[first(v(List_Currency))],|)])]}},{@pemit %#=[ulocal(MSG_Crit)]} &CMD_ACTIVE Org/Econ System 4.1=$+org/active *:@pemit %#=[ulocal(FN_Active,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_ACTIVITY Org/Econ System 4.1=$+org/activity:@pemit %#=[ulocal(FN_Activity,ulocal(FN_ActiveOrg,%#),%#)] &CMD_ACTIVITY2 Org/Econ System 4.1=$+org/activity *:@pemit %#=[ulocal(FN_Activity,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_ADDRANK Org/Econ System 4.1=$+org/addrank *=*:@pemit %#=[ulocal(FN_AddRank,ulocal(FN_ActiveOrg,%#),secure(%0),secure(%1),%#)] &CMD_ALIAS Org/Econ System 4.1=$+org/alias *=*:@pemit %#=[ulocal(FN_Alias,ulocal(FN_Org_Num,secure(%0)),secure(%1),%#)] &CMD_ALIST Org/Econ System 4.1=$+org/alist:@pemit %#=[ulocal(FN_Alist,*,%#)] &CMD_ALIST2 Org/Econ System 4.1=$+org/alist *:@pemit %#=[ulocal(FN_Alist,secure(%0),%#)] &CMD_APPLY Org/Econ System 4.1=$+org/apply *:@pemit %#=[ulocal(FN_Apply,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_APPOINT Org/Econ System 4.1=$+org/appoint *=*:@swi [setq(0,ulocal(FN_Org_Num,secure(%1)))][setq(1,pmatch(secure(%0)))][ulocal(FN_IsAdmin,%#)][ulocal(FN_IsOrg,%q0)][isdbref(%q1)][not(ulocal(FN_IsTreeMember,%q1,%q0))]=0*,{@pemit %#=[ulocal(MSG_Admin)]},10*,{@pemit %#=[ulocal(MSG_NotOrg)]},110*,{@pemit %#=[ansi(rh,-)] [secure(%0)] does not exist.},1110,{@pemit %#=[ansi(rh,-)] [name(%q1)] is allready a member of that organization or organizational tree.},1111,{@mail [%q1]=Welcome!/[default(%q0/WelcomeMSG,Welcome to [get(%q0/fullname)]\, [name(%q1)].%r%r[space(40)][%N])];@pemit %#=[ansi(gh,-)] You appoint [name(%q1)] to be a member of [get(%q0/Fullname)].[ifelse(isdbref(get(%q1/Active_Org)),,set(%q1,Active_Org:[%q0]))];@pemit/list [setunion(ulocal(FN_OWho,%q0),%q1)]=[ansi(gh,-)] [name(%q1)] has been appointed into [get(%q0/Fullname)] by [name(%#)].[set(%q0,Waiting:[setdiff(get(%q0/Waiting),%q1)])][set(%q0,List_Members:[setunion(get(%q0/List_Members),[%q1]^^^^0^-1^[first(v(List_Currency))],|)])][set(%q1,Active_Org:[%q0])]},{@pemit %#=[ulocal(MSG_Crit)]} &CMD_ASSIGN Org/Econ System 4.1=$+org/assign *=*:@pemit %#=[ulocal(FN_Assign,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),secure(%1),%#)] &CMD_BALANCE Org/Econ System 4.1=$+org/balance:@pemit %#=[ulocal(FN_OrgBalance,ulocal(FN_ActiveOrg,%#),%#)] &CMD_BALANCE2 Org/Econ System 4.1=$+org/balance *:@pemit %#=[ulocal(FN_OrgBalance,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_BALANCE3 Org/Econ System 4.1=$+balance:@pemit %#=[ulocal(FN_Balance,%#,%#)] &CMD_BALANCE4 Org/Econ System 4.1=$+balance *:@pemit %#=[ulocal(FN_Balance,pmatch(secure(%0)),%#)] &CMD_BOOT Org/Econ System 4.1=$+org/boot *:@pemit %#=[ulocal(FN_Boot,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),%#)] &CMD_CLEANUP Org/Econ System 4.1=$+org/cleanup:@pemit %#=[ulocal(FN_Cleanup,ulocal(FN_ActiveOrg,%#),%#)] &CMD_CLEANUP2 Org/Econ System 4.1=$+org/cleanup *:@pemit %#=[ulocal(FN_Cleanup,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_CONTACT Org/Econ System 4.1=$+org/contact *=*:@pemit %#=[ulocal(FN_Contact,ulocal(FN_Org_Num,secure(%0)),%1,%#)] &CMD_DELRANK Org/Econ System 4.1=$+org/delrank *:@pemit %#=[ulocal(FN_DelRank,ulocal(FN_ActiveOrg,%#),[secure(%0)],%#)] &CMD_DEPOSIT Org/Econ System 4.1=$+org/deposit *=*:@pemit %#=[ulocal(FN_Deposit,ulocal(FN_Org_Num,secure(%0)),secure(%1),%#)] &CMD_DESC Org/Econ System 4.1=$+org/desc:@pemit %#=[ulocal(FN_Desc,ulocal(FN_ActiveOrg,%#),%#)] &CMD_DESC2 Org/Econ System 4.1=$+org/desc *:@pemit %#=[ulocal(FN_Desc,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_DIVISION Org/Econ System 4.1=$+org/division *=*:@pemit %#=[ulocal(FN_Division,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),secure(%1),%#)] &CMD_EMAIL Org/Econ System 4.1=$+org/email:@pemit %#=[ulocal(FN_Email,ulocal(FN_ActiveOrg,%#),%#)] &CMD_EMAIL2 Org/Econ System 4.1=$+org/email *:@pemit %#=[ulocal(FN_Email,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_FORM Org/Econ System 4.1=$+org/form *=*:@pemit %#=[ulocal(FN_Form,secure(%0),secure(%1),%#)] &CMD_HELP Org/Econ System 4.1=$+org/help:@pemit %#=[ulocal(FN_TopLine,Org Help)]%r[ulocal(v(DB_Help)/Help)]%r[ulocal(FN_BotLine,name(%!))] &CMD_HELP2 Org/Econ System 4.1=$+org/help *:@pemit %#=[ifelse([setq(0,extract(sort(lattr(v(DB_Help)/HELP_*),a),match(sort(lattr(v(DB_Help)/HELP_*),a),HELP_[edit(secure(%0),%b,_)]*),1))][t(%q0)],[ulocal(FN_TopLine,Org Help: [iter(lcstr(rest(%q0,_)),capstr(##),_)])]%r[ulocal(v(DB_Help)/[%q0])]%r[ulocal(FN_BotLine,name(%!))],[ansi(rh,-)] No +org/help file was found under that name.)] &CMD_LEADER Org/Econ System 4.1=$+org/leader *:@pemit %#=[ulocal(FN_SetLeader,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),%#)] &CMD_LEADERS Org/Econ System 4.1=$+org/leaders:@pemit %#=[ulocal(FN_Leaders,*,%#)] &CMD_LEADERS2 Org/Econ System 4.1=$+org/leaders *:@pemit %#=[ulocal(FN_Leaders,secure(%0),%#)] &CMD_LEDGER Org/Econ System 4.1=$+org/ledger:@pemit %#=[ulocal(FN_Ledger,ulocal(FN_ActiveOrg,%#),%#)] &CMD_LEDGER2 Org/Econ System 4.1=$+org/ledger *:@pemit %#=[ulocal(FN_Ledger,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_LIST Org/Econ System 4.1=$+org/list:@pemit %#=[ulocal(FN_Tree,Org: List,%#)] &CMD_LIST2 Org/Econ System 4.1=$+org/list *:@pemit %#=[ulocal(FN_List2,secure(%0),%#)] &CMD_MEMBER Org/Econ System 4.1=$+org/member:@pemit %#=[ulocal(FN_Member,%#,%#)] &CMD_MEMBER2 Org/Econ System 4.1=$+org/member *:@pemit %#=[ulocal(FN_Member,pmatch(secure(%0)),%#)] &CMD_MOTD Org/Econ System 4.1=$+org/motd:@pemit %#=[ulocal(FN_MOTD,ulocal(FN_ActiveOrg,%#),%#)] &CMD_MOTD2 Org/Econ System 4.1=$+org/motd *:@pemit %#=[ifelse(match(all,secure(%0)),[setq(0,sortby(FN_Org_Sort,iter(v(List_Orgs),ifelse(ulocal(FN_IsMember2,%#,##),##,))))][setq(1,0)][ifelse(words(%q0),[iter(%q0,[ifelse(t(get(##/MOTD)),[ulocal(FN_TopLine,Org MOTD: [get(##/Fullname)])]%r[get(##/MOTD)]%r[setq(1,1)],)],,)][ifelse(%q1,ulocal(FN_BotLine,name(%!)),)],[ansi(rh,-)] You belong to no organizations.)],[ulocal(FN_MOTD,ulocal(FN_Org_Num,secure(%0)),%#)])] &CMD_MOVE Org/Econ System 4.1=$+org/move * to *:@pemit %#=[ulocal(FN_Move,pmatch(secure(%0)),ulocal(FN_Org_Num,secure(%1)),%#)] &CMD_MOVE2 Org/Econ System 4.1=$+org/move *=*:@pemit %#=[ulocal(FN_Move,pmatch(secure(%0)),ulocal(FN_Org_Num,secure(%1)),%#)] &CMD_NAME Org/Econ System 4.1=$+org/name *=*:@pemit %#=[ulocal(FN_SetName,ulocal(FN_Org_Num,secure(%0)),secure(%1),%#)] &CMD_NUKE Org/Econ System 4.1=$+org/nuke *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][ulocal(FN_IsAdmin,%#)][ulocal(FN_IsOrg,%q0)]=0*,{@pemit %#=[ulocal(MSG_Admin)]},10*,{@pemit %#=[ulocal(MSG_NotOrg)]},11,{@pemit/list [ulocal(FN_OWho,%q0)]=[ansi(gh,-)] [get(%q0/Fullname)] has been nuked by %N.;@pemit %#=[ansi(gh,-)] You have nuked the organization [get(%q0/Fullname)].[set(%!,List_Orgs:[setdiff(v(List_Orgs),%q0)])];@destroy %q0;@destroy %q0},{@pemit %#=[ulocal(MSG_Crit)]} &CMD_PARENT Org/Econ System 4.1=$+org/parent *=*:@pemit %#=[ulocal(FN_Parent,ulocal(FN_Org_Num,secure(%0)),ulocal(FN_Org_Num,secure(%1)),%#)] &CMD_PAY Org/Econ System 4.1=$+pay *=*:@pemit %#=[ulocal(FN_Pay,secure(%0),secure(%1),%#)] &CMD_PAYCHECK Org/Econ System 4.1=$+org/paycheck:@pemit %#=[ulocal(FN_Paycheck,ulocal(FN_ActiveOrg,%#),%#)] &CMD_PAYCHECK2 Org/Econ System 4.1=$+org/paycheck *:@pemit %#=[ulocal(FN_Paycheck,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_PAYROLL Org/Econ System 4.1=$+org/payroll:@pemit %#=[ulocal(FN_Payroll,ulocal(FN_ActiveOrg,%#),%#)] &CMD_PAYROLL2 Org/Econ System 4.1=$+org/payroll *:@pemit %#=[ulocal(FN_Payroll,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_PRIMARY Org/Econ System 4.1=$+org/primary *:@pemit %#=[ulocal(FN_SetPrimary,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),%#)] &CMD_QUIT Org/Econ System 4.1=$+org/quit:@pemit %#=[ulocal(FN_Quit,ulocal(FN_OrgLookup,ulocal(FN_ActiveOrg,%#),%#),%#)] &CMD_QUIT2 Org/Econ System 4.1=$+org/quit *:@pemit %#=[ulocal(FN_Quit,ulocal(FN_OrgLookup,ulocal(FN_Org_Num,secure(%0)),%#),%#)] &CMD_RANK Org/Econ System 4.1=$+org/rank *=*:@pemit %#=[ulocal(FN_SetRank,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),secure(%1),%#)] &CMD_RANKS Org/Econ System 4.1=$+org/ranks:@pemit %#=[ulocal(FN_Ranks,ulocal(FN_ActiveOrg,%#),%#)] &CMD_RANKS2 Org/Econ System 4.1=$+org/ranks *:@pemit %#=[ulocal(FN_Ranks,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_REJECT Org/Econ System 4.1=$+org/reject *:@pemit %#=[ulocal(FN_Reject,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),%#)] &CMD_RETIRE Org/Econ System 4.1=$+org/retire:@pemit %#=[ulocal(FN_Retire,ulocal(FN_ActiveOrg,%#),%#,%#)] &CMD_RETIRE2 Org/Econ System 4.1=$+org/retire *:@pemit %#=[ulocal(FN_Retire,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),%#)] &CMD_ROSTER Org/Econ System 4.1=$+org/roster:@pemit %#=[ulocal(FN_Roster,ulocal(FN_ActiveOrg,%#),%#)] &CMD_ROSTER2 Org/Econ System 4.1=$+org/roster *:@pemit %#=[ulocal(FN_Roster,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_SEARCH Org/Econ System 4.1=$+org/search *=*:@pemit %#=[ulocal(FN_Search,ulocal(FN_ActiveOrg,%#),secure(%0),secure(%1),%#)] &CMD_SETDESC Org/Econ System 4.1=$+org/setdesc *=*:@pemit %#=[ulocal(FN_SetDesc,ulocal(FN_Org_Num,secure(%0)),%1,%#)] &CMD_SETMOTD Org/Econ System 4.1=$+org/setmotd *=*:@pemit %#=[ulocal(FN_SetMOTD,ulocal(FN_Org_Num,secure(%0)),%1,%#)] &CMD_SETPAY Org/Econ System 4.1=$+org/setpay *=*:@pemit %#=[ulocal(FN_SetPay,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),secure(%1),%#)] &CMD_SETWELCOME Org/Econ System 4.1=$+org/setwelcome *=*:@pemit %#=[ulocal(FN_SetWelcome,ulocal(FN_Org_Num,secure(%0)),%1,%#)] &CMD_SORT Org/Econ System 4.1=$+org/sort *:@pemit %#=[ulocal(FN_SetSort,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_TITLE Org/Econ System 4.1=$+org/title *=*:@pemit %#=[ulocal(FN_SetRank,ulocal(FN_ActiveOrg,%#),pmatch(secure(%0)),secure(%1),%#)] &CMD_TREE Org/Econ System 4.1=$+org/tree:@pemit %#=[ulocal(FN_Tree,Org: Tree,%#)] &CMD_TREE2 Org/Econ System 4.1=$+org/tree *:@pemit %#=[ulocal(FN_Tree2,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_TYPE Org/Econ System 4.1=$+org/type *=*:@pemit %#=[ulocal(FN_SetType,ulocal(FN_Org_Num,secure(%0)),secure(%1),%#)] &CMD_UNPARENT Org/Econ System 4.1=$+org/unparent *:@pemit %#=[ulocal(FN_Parent,ulocal(FN_Org_Num,secure(%0)),,%#)] &CMD_WAITING Org/Econ System 4.1=$+org/waiting:@pemit %#=[ulocal(FN_Waiting,name(ulocal(FN_ActiveOrg,%#)),%#)] &CMD_WAITING2 Org/Econ System 4.1=$+org/waiting *:@pemit %#=[ulocal(FN_Waiting,secure(%0),%#)] &CMD_WELCOME Org/Econ System 4.1=$+org/welcome:@pemit %#=[ulocal(FN_WelcomeMSG,ulocal(FN_ActiveOrg,%#),%#)] &CMD_WELCOME2 Org/Econ System 4.1=$+org/welcome *:@pemit %#=[ulocal(FN_WelcomeMSG,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_WHO Org/Econ System 4.1=$+org/who:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_ActiveOrg,%#),%#)] &CMD_WHO2 Org/Econ System 4.1=$+org/who *:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_WHO3 Org/Econ System 4.1=$owho:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_ActiveOrg,%#),%#)] &CMD_WHO4 Org/Econ System 4.1=$owho *:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_WHO5 Org/Econ System 4.1=$fwho:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_ActiveOrg,%#),%#)] &CMD_WHO6 Org/Econ System 4.1=$fwho *:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_WHO7 Org/Econ System 4.1=$ewho:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_ActiveOrg,%#),%#)] &CMD_WHO8 Org/Econ System 4.1=$ewho *:@pemit %#=[ulocal(FN_ShowWho,ulocal(FN_Org_Num,secure(%0)),%#)] &CMD_WITHDRAW Org/Econ System 4.1=$+org/withdraw *=*:@pemit %#=[ulocal(FN_Withdraw,ulocal(FN_Org_Num,secure(%0)),secure(%1),%#)] @CONFORMAT Org/Econ System 4.1=Orgs:[iter(%0,[ifelse(mod(dec(#@),7),,%r)][ljust([ansi(wh,name(##))]\([##][flags(##)]\),10)] &DB_HELP Org/Econ System 4.1=#18 @DESCRIBE Org/Econ System 4.1=For instructions, see: [ansi(rh,+org/help)] &FN_ACTIVE Org/Econ System 4.1=[@@(0 - org, 1 - %#)][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsAdmin,%1),ulocal(FN_IsMember2,%1,%0))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member,%1,%0)],11,[ansi(gh,-)] You select [get(%0/Fullname)] as your active org.[set(%1,Active_Org:[%0])][iter(no_command mortal_dark wizard,[set(%#/Active_Org,##)],,)],[ulocal(MSG_Crit)])] &FN_ACTIVEORG Org/Econ System 4.1=[grab(v(List_Orgs),secure(get(%0/Active_Org)))] &FN_ACTIVITY Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsMember2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[setq(0,[sortby(FN_First_Sort,iter(ulocal(FN_OWho,%0),[sub(secs(),convtime(get(##/last)))] [##],,|),|)])][setq(1,iter(%q0,[switch(first(##),>5184000,11,>3628800,10,>2419200,9,>1814400,8,>1209600,7,>604800,6,>432000,5,>259200,4,>172800,3,>86400,2,>0,1)],|,|))][setq(2,Very Active|Active|Pretty Active|Sort of Active|Semi-Active|Semi-Idle|Idle|Inactive|AWOL|Deserted|@NUKE Alert)][ulocal(FN_TopLine,Org Activity: [get(%0/Fullname)])]%r[ansi(hr,[ljust(Player Name,20)][ljust(Last Connected,27)][ljust(Time Elapsed,17)]Activity Level)][iter(%q0,%r[ljust([ansi(ulocal(FN_PColor,rest(##),%0),name(rest(##)))],20)][ljust(get([rest(##)]/LAST),27)][ljust(timestring(first(##)),17)][extract(%q2,extract(%q1,#@,1,|),1,|)],|,)]%r[ulocal(FN_MidLine)]%r%b%b[ansi(rh,Activity Summary)]:%r[iter(lnum(11),%r[rjust(ansi(setr(3,switch(##,>8,xh,>5,rh,>2,yh,gh)),extract(%q2,#@,1,|)),20)][ansi(wh,\()][rjust(extract(24h or less|48h or less|72h or less|5d or less|1w or less|2w or less|3w or less|4w or less|6w or less|8w or less|56d+ inactive,#@,1,|),13)][ansi(wh,\))][ansi(%q3,:)][rjust(words(matchall(%q1,#@,|),|),4)] players,,)]%r[ulocal(FN_BotLine2,[words(%q0,|)] players,name(%!))],[ulocal(MSG_Crit)])] &FN_ADDMONEY Org/Econ System 4.1=[ulocal(FN_SetMoney,%0,add(%1,ulocal(FN_GetMoney,%0,%2)),%2)] &FN_ADDOMONEY Org/Econ System 4.1=[ulocal(FN_AddMoney,%0,%2,%3)][ulocal(FN_AddRecord,%0,%1,%2,%3,%4)] &FN_ADDRANK Org/Econ System 4.1=[@@(0 - org, 1 - rank, 2 - money, 3 - %#)][setq(0,squish(edit(%1,%b,_),_))][setq(1,max(0,val(first(%2))))][setq(2,ulocal(FN_MatchCur,rest(%2),%0))][setq(3,grab(get(%0/List_Ranks),* [%q0],|))][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsAdmin,%3),ulocal(FN_IsLeader2,%3,%0))][t(%q2)],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Leader,%3,%0)],110,[ulocal(MSG_NotCur)],111,[ansi(gh,-)] The rank of [%q0] has been set on [get(%0/Fullname)]'s rank table with a weekly paycheck of [ulocal(FN_Format,[%q1] [%q2])].[set(%0,List_Ranks:[setunion([%q1] [%q2] [%q0],setdiff(get(%0/List_Ranks),[%q3],|),|)])],[ulocal(MSG_Crit)])] &FN_ADDRECORD Org/Econ System 4.1=[set(%0,Books:[extract([secs()] [%1] [%2] [%3] [%4] - [name(%1)][ifelse(words(get(%0/Books),|),|[get(%0/Books)],)],1,50,|)])][pemit(get(%0/Leaders),[ansi(gh,$)] [%N] \([%#]\) [ifelse(gte(%2,0),gives [ulocal(FN_Format,[abs(%2)] [%3])] to,takes [ulocal(FN_Format,[abs(%2)] [%3])] from)] [get(%0/Fullname)] \([%4]\).)] &FN_ALIAS Org/Econ System 4.1=[@@(0 - org, 1 - alias, 2 - %#)][setq(1,mid(ucstr(first(%1)),0,5))][setq(2,ulocal(FN_Org_Num,%q1))][switch([ulocal(FN_IsAdmin,%#)][ulocal(FN_IsOrg,%0)][not(ulocal(FN_IsOrg,%q2))][t(%q1)],0*,[ulocal(MSG_Admin)],10*,[ulocal(MSG_NotOrg)],110,[ansi(rh,-)] [%q1] is in use by [get(%q2/Fullname)].,1110,[ansi(rh,-)] You must specify a valid org alias.,1111,[ansi(gh,-)] [get(%0/Fullname)]'s new alias is [name(%0,%q1)].,[ulocal(MSG_Crit)])] &FN_ALIST Org/Econ System 4.1=[@@(0 - type, 1 - %#)][setq(0,graball(v(List_Types),%0))][switch([ulocal(FN_IsAdmin,%1)][t(%q0)],0*,[ulocal(MSG_Admin)],10,[ansi(rh,-)] That is not a valid org type. Please use one of the following: [iter(v(List_Types),##,,\,%b)].,11,[setq(1,sortby(FN_AList_Sort,setdiff(iter(v(List_Orgs),ifelse(match(%q0,get(##/type)),[##] [words(ulocal(FN_OWho,##))],),,|),,|),|))][ulocal(FN_TopLine,Org: Admin List)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)][center(Waiting,7)] [center(Member,7)] [center(Leader,7)])]%r[ulocal(FN_MidLine)][iter(%q1,%r%b[ljust(name(first(##)),5)] [ljust(capstr(get(first(##)/type)),4)] [ljust(get(first(##)/fullname),42)][center(words(get(first(##)/waiting)),7)] [center(rest(##),7)] [center(words(get(first(##)/leaders)),7)],|,)] %r[iter(v(List_Types),[ifelse(mod(dec(#@),4),,%r)][ljust([ansi(c,capstr(##))] - [extract(v(List_Type_Names),#@,1)],18)])]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_Crit)])] &FN_ALIST_SORT Org/Econ System 4.1=[switch(sign(sub(rest(%1),rest(%0))),0,comp(name(first(%0)),name(first(%1))),#$)] &FN_ALPHA_SORT Org/Econ System 4.1=[comp(name(%0),name(%1))] &FN_APPLY Org/Econ System 4.1=[@@(0 - org, 1 - %#)][switch([ulocal(FN_IsOrg,%0)][not(match(get(%0/Waiting),%1))][t(ulocal(FN_CanJoin,%1,%0))][not(ulocal(FN_IsTreeMember,%1,%0))],0*,[ulocal(MSG_NotOrg)],10*,[ansi(rh,-)] Your last application is still on file.,110*,[ansi(rh,-)] Your application to join [get(%0/Fullname)] has been rejected.,1110,[ansi(rh,-)] But you belong to that organizational tree. Talk to your leaders.,1111,[ansi(gh,-)] You apply to join [get(%0/Fullname)] \([name(%0)]\).[set(%0,Waiting:[setunion(%1,get(%0/Waiting))])][pemit([iter(ulocal(FN_LMaster,%0),get([itext(0)]/Leaders))],[ansi(gh,-)] [name(%1)] has applied to join [get(%0/Fullname)] \([name(%0)]\).)],[ulocal(MSG_Crit)])] &FN_ASSIGN Org/Econ System 4.1=[@@(0 - org, 1 - TargetPC, 2 - assignment, 3 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%1))][setq(2,edit(squish(secure(%2)),|,I))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsAdmin,%3),ulocal(FN_IsLeader2,%3,%q0))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_NotMember,%1,%0)],110,[ulocal(MSG_Leader,%1,%0)],111,[ansi(gh,-)] You set [name(%1)]'s assignment to [%q2].[pemit(%1,[ansi(gh,-)] [name(%3)] sets your assignment in [get(%q0/Fullname)] \([name(%q0)]\) to [%q2].)][setq(3,[grab(get(%q0/List_Members),[%1]^*,|)])][set(%q0,List_Members:[setunion([extract(%q3,1,2,^)]^[%q2]^[extract(%q3,4,4,^)],setdiff(get(%q0/List_Members),%q3,|),|)])],[ulocal(MSG_Crit)])] &FN_BALANCE Org/Econ System 4.1=[switch([or(match(%0,%1),orflags(%#,Wr))][isdbref(%0)],11,[ansi(gh,-)] [ifelse(match(%0,%1),You have,[name(%0)] has)] [ifelse(get(%0/Money),[iter(get(%0/Money),[ulocal(FN_Format,edit(##,_,%b))],|,\,%b)],no money)].,10,[ansi(rh,-)] Invalid target.,0*,[ansi(rh,-)] Permission denied.)] &FN_BOOT Org/Econ System 4.1=[@@(0 - org, 1 - PC, 2 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%1))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsAdmin,%2),ulocal(FN_IsLeader2,%2,%q0))][not(and(ulocal(FN_IsPrimary,%1,%q0),ulocal(FN_IsLeader,%2,%q0),not(match(%1,%2))))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_NotMember,%1,%0)],110*,[ulocal(MSG_Leader,%2,%q0)],1110,[ulocal(MSG_Primary,%2,%0)],1111,[ansi(gh,-)] You have booted [name(%1)] from [get(%q0/Fullname)] \([get(%q0/Fullname)]\). [pemit(setdiff(get(%q0/Leaders),%2),[ansi(gh,-)] [name(%2)] has booted [name(%1)] from [get(%q0/Fullname)] \([name(%q0)]\).)][pemit(%1,[ansi(gh,-)] You have been booted from [get(%q0/Fullname)] \([name(%q0)]\) by [name(%2)].)][set(%q0,List_Members:[setdiff(get(%q0/List_Members),grab(get(%q0/List_Members),[%1]^*,|),|)])][set(%q0,Leaders:[edit(get(%q0/Leaders),[%1],)])],[ulocal(MSG_Crit)])] &FN_BOTLINE Org/Econ System 4.1=[ansi(b,[repeat(-,sub(71,strlen(%0)))]<)] [ansi(w,%0)] [ansi(b,>---)] &FN_BOTLINE2 Org/Econ System 4.1=[ansi(b,---<)] [ansi(w,%0)] [ansi(b,>[repeat(-,sub(64,add(strlen(%0),strlen(%1))))]<)] [ansi(w,%1)] [ansi(b,>---)] &FN_CANJOIN Org/Econ System 4.1=[and(not(haspower(%0,guest)),ulocal([%1]/FN_CanJoin,%0),not(ulocal(FN_IsTreeMember,%0,%1)))] &FN_CLEAN Org/Econ System 4.1=[set(%0,Waiting:[squish(iter(get(%0/Waiting),ifelse(hastype(##,PLAYER),##,)))])][set(%0,List_Members:[setunion(,iter(get(%0/List_Members),ifelse(hastype(first(##,^),PLAYER),##,),|,|),|)])][set(%0,Leaders:[squish(iter(get(%0/Leaders),ifelse(ulocal(FN_IsMember,##,%0),##,)))])] &FN_CLEANALL Org/Econ System 4.1=[iter(v(List_Orgs),ulocal(FN_Clean,[##]))] &FN_CLEANUP Org/Econ System 4.1=[@@(0 - org, 1 - %#)][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsAdmin,%1),ulocal(FN_IsLeader2,%1,%0))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%1,%0)],11,[ansi(gh,-)] Cleaning up the waiting lists and roster of [get(%0/Fullname)].[ulocal(FN_Clean,%0)],[ulocal(MSG_Crit)])] &FN_CONTACT Org/Econ System 4.1=[@@(0 - org, 1 - contact, 2 - %#)][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsAdmin,%2),ulocal(FN_IsLeader2,%2,%0))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%2,%0)],11,[ansi(gh,-)] You change the contact of [get(%0/Fullname)] \([name(%0)]\).[set(%0,Contact:[%1])],[ulocal(MSG_Crit)])] &FN_CONVDAYS Org/Econ System 4.1=[convsecs(sub(mul(%0,86400),72000))] &FN_CONVERT Org/Econ System 4.1=[set(%0,List_Members:[iter(get(%0/List_Members),[extract(##,1,6,^)]^[first(v(List_Currency))],|,|)])][set(%0,Books:[iter(get(%0/Books),[extract(##,1,3)] [first(v(List_Currency))] [extract(##,4,100)],|,|)])][set(%0,List_Ranks:[iter(get(%0/List_Ranks),[first(##)] [first(v(List_Currency))] [rest(##)],|,|)])][set(%0,FN_CanSee:1)][set(%0,FN_CanJoin:1)] &FN_DAYS Org/Econ System 4.1=[div(add(72000,secs()),86400)] &FN_DELRANK Org/Econ System 4.1=[@@(0 - org, 1 - rank, 2 - %#)][setq(0,grab(get(%0/List_Ranks),* [squish(edit(%1,%b,_),_)]*,|))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsLeader2,%2,%0)][t(%q0)],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Leader,%2,%0)],110,[ansi(rh,-)] [%1] is not in the rank table of [get(%0/Fullname)] \([name(%0)]\).,111,[ansi(gh,-)] You remove [edit(extract(%q0,3,1),_,%b)] from the rank table of [get(%0/Fullname)] \([name(%0)]\).[set(%0,List_Ranks:[setdiff(get(%0/List_Ranks),%q0,|)])],[ulocal(MSG_Crit)])] &FN_DEPOSIT Org/Econ System 4.1=[@@(0 - org, 1 - money, 2 - %#)][setq(0,abs(val(first(secure(%1)))))][setq(1,ulocal(FN_MatchCur,rest(secure(%1)),%0))][switch([ulocal(FN_IsOrg,%0)][t(%q1)][gte(ulocal(FN_GetMoney,%2,%q1),%q0)],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_NotCur)],110,[ansi(rh,-)] You do not have [ulocal(FN_Format,[%q0] [%q1])].,111,[ansi(gh,-)] You deposit [ulocal(FN_Format,[%q0] [%q1])] in [get(%0/Fullname)].[ulocal(FN_AddOMoney,%0,%2,%q0,%q1,Deposit)][ulocal(FN_AddMoney,%2,mul(-1,%q0),%q1)],[ulocal(MSG_Crit)])] &FN_DESC Org/Econ System 4.1=[ifelse([ulocal(FN_IsOrg,%0)],[ulocal(FN_TopLine,Org Description: [get(%0/Fullname)])]%r[get(%0/Describe)]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_NotOrg)])] &FN_DIVISION Org/Econ System 4.1=[@@(0 - org, 1 - TargetPC, 2 - division, 3 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%1))][setq(2,edit(squish(secure(%2)),|,I))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsAdmin,%3),ulocal(FN_IsLeader2,%3,%q0))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_NotMember,%1,%0)],110,[ulocal(MSG_Leader,%1,%0)],111,[ansi(gh,-)] You set [name(%1)]'s division to [%q2].[pemit(%1,[ansi(gh,-)] [name(%3)] sets your division in [get(%q0/Fullname)] \([name(%q0)]\) to [%q2].)][setq(3,[grab(get(%q0/List_Members),[%1]^*,|)])][set(%q0,List_Members:[setunion([extract(%q3,1,3,^)]^[%q2]^[extract(%q3,5,3,^)],setdiff(get(%q0/List_Members),%q3,|),|)])],[ulocal(MSG_Crit)])] &FN_EMAIL Org/Econ System 4.1=[@@(0 - org, 1 - %#)][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsAdmin,%1),ulocal(FN_IsMember2,%1,%0))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[setq(0,ulocal(FN_OWho,%0))][ulocal(FN_TopLine,Org Email: [get(%0/Fullname)])]%r%b[ansi(yh,[ljust(Name,24)][ljust(E-mail address,17)])]%r[u(FN_MidLine)][iter(sortby(FN_Alpha_Sort,%q0),%r%b[ljust(ansi(ulocal(FN_PColor,##,%0),left(name(##),24)),24)] [get([##]/secretemailname)],,)]%r[u(FN_BotLine2,[words(%q0)] Players Listed,name(%!))],[ulocal(MSG_Crit)])] &FN_FIRST Org/Econ System 4.1=[first(%0,^)] &FN_FIRST_SORT Org/Econ System 4.1=[sign(sub(first(%1),first(%0)))] &FN_FMTTIME Org/Econ System 4.1=[ifelse(t(%0),[extract(%0,1,3)] [extract(%0,5,1)],[ansi(r,Never)])] &FN_FORM Org/Econ System 4.1=[@@(0 - alias, 1 - name, 2 - %#)][setq(0,mid(ucstr(first(%0)),0,5))][setq(1,mid(squish(%1),0,42))][setq(2,ulocal(FN_Org_Num,%q0))][switch([ulocal(FN_IsAdmin,%2)][not(isdbref(%q2))],0*,[ulocal(MSG_Admin)],10,[ansi(rh,-)] [%q0] is in use by [get(%q2/Fullname)].,11,[ansi(gh,-)] [%q1] \([%q0]\) has been created. Be sure to configure it as necessary.[setq(3,create(%q0))][set(%q3,Contact:N/A)][set(%q3,FN_CanJoin:1)][set(%q3,FN_CanSee:1)][set(%q3,Fullname:[%q1])][set(%q3,Type:[last(v(List_Types))])][set(%!,List_Orgs:[setunion(v(List_Orgs),%q3)])]%r[ulocal(FN_Active,%q3,%2)][tel(%q3,%!)],[ulocal(MSG_Crit)])] &FN_FORMAT Org/Econ System 4.1=[%0][ifelse(eq(1,first(%0)),,s)] &FN_GETLISTITEM Org/Econ System 4.1=[switch(grab(%0,* [%1],|),,0,first(#$))] &FN_GETMONEY Org/Econ System 4.1=[ifelse(match(get(%0/money),* [%1],|),first(grab(get(%0/money),* [%1],|)),0)] &FN_ISADMIN Org/Econ System 4.1=[or(orflags(%0,Wr),orflags(owner(%0),Wr))] &FN_ISBUILDER Org/Econ System 4.1=[or(ulocal(FN_IsAdmin,%0),haspower(%0,builder),haspower(owner(%0),builder))] &FN_ISLEADER Org/Econ System 4.1=[t(match(get(%1/Leaders),%0))] &FN_ISLEADER2 Org/Econ System 4.1=[first([iter(ulocal(FN_LMaster,%1),ifelse(ulocal(FN_IsLeader,%0,##),1,))] 0)] &FN_ISMEMBER Org/Econ System 4.1=[t(match(get(%1/List_Members),[%0]^*,|))] &FN_ISMEMBER2 Org/Econ System 4.1=[or([first([iter(ulocal(FN_LSlave,%1),ifelse(ulocal(FN_IsMember,%0,##),1,))] 0)],[ulocal(FN_IsLeader2,%0,%1)])] &FN_ISOLEADER Org/Econ System 4.1=[ifelse(isdbref(%1),ifelse(or(ulocal(FN_IsMember2,%2,%1),ulocal(FN_IsBuilder,%2)),ulocal(FN_IsLeader2,%0,%1),#-1 Permission Denied.),#-1 Invalid org.)] &FN_ISOMEMBER Org/Econ System 4.1=[ifelse(isdbref(%1),ifelse(or(ulocal(FN_IsMember2,%2,%1),ulocal(FN_IsBuilder,%2)),ulocal(FN_IsMember2,%0,%1),#-1 Permission Denied.),#-1 Invalid org.)] &FN_ISORG Org/Econ System 4.1=[t(match(v(List_Orgs),%0))] &FN_ISPRIMARY Org/Econ System 4.1=[eq(1,match(get(%1/Leaders),%0))] &FN_ISPRIMARY2 Org/Econ System 4.1=[first([iter(setdiff(ulocal(FN_LMaster,%1),%1),ifelse(match(get(##/Leaders),%0),1,))] [ifelse(match(first(get(%1/Leaders)),%0),1,)] 0)] &FN_ISTREEMEMBER Org/Econ System 4.1=[t(match(iter(ulocal(FN_LSlave,first(ulocal(FN_LMaster,%1))),ulocal(FN_IsMember,%0,##)),1))] &FN_LEADERS Org/Econ System 4.1=[@@(0 - Type, 1 - %#)][setq(0,graball(v(List_Types),secure(%0)))][switch([ulocal(FN_IsAdmin,%1)][t(%q0)],0*,[ulocal(MSG_Admin)],10,[ansi(rh,-)] That is not a valid org type. Please use one of the following: [v(List_Types)].,11,[setq(1,sortby(FN_Org_Sort,iter(v(List_Orgs),ifelse(match(%q0,get(##/Type)),##,))))][ulocal(FN_TopLine,Org: Leaders)]%r%b[ansi(yh,[ljust(Name,20)][ljust(Type,10)][ljust(Last on,10)]Organization)]%r[ulocal(FN_MidLine)][iter(%q1,iter(get([itext(0)]/Leaders),%r%b[ljust(ansi([ifelse(gte(conn(itext(0)),0),ulocal(FN_PColor,itext(0),itext(1)),w)],name([itext(0)])),20)][ljust(ifelse(eq(1,[inum(0)]),Primary,ansi(c,Secondary)),10)][ljust(ifelse(gte(conn(itext(0)),0),ansi(gh,CONNECTED),timefmt($m/$d/$y,convtime(get(itext(0)/LAST)))),10)][get([itext(1)]/Fullname)] \([name(itext(1))]\),,),,)]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_Crit)])] &FN_LEDGER Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsLeader2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%1,%0)],11,[ulocal(FN_TopLine,Org Ledger: [get(%0/Fullname)])]%r%b[ansi(yh,[ljust(Date,18)][center(Amount,26)]Description)]%r[ulocal(FN_MidLine)][iter(sortby(FN_First_Sort,setdiff(get(%0/Books),,|),|),%r%b[ljust(timefmt($x\, $H:$M,first(##)),18)][rjust([ulocal(FN_Format,extract(##,3,2))]%b,26)][ljust([extract(##,5,99)] \([extract(##,2,1)]\),18)],|)]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_Crit)])] &FN_LIST_CUR Org/Econ System 4.1=[v(List_Currency)] [ifelse(isdbref(%0),iter(get(%0/Money),edit(squish(rest(##)),%b,_),|),)] &FN_LIST_ORGS Org/Econ System 4.1=[squish(iter(v(List_Orgs),ifelse(match(get(##/List_Members),*[%0]^*),##,)))] &FN_LIST2 Org/Econ System 4.1=[ifelse(setr(0,grab(v(List_Types),secure(%0))),[ulocal(FN_TopLine,Org: List)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)]Contact)]%r[ulocal(FN_MidLine)][setq(1,sortby(FN_Org_Sort,v(List_Orgs)))][iter(%q1,[ifelse(and(match(get(##/Type),%q0),ulocal(##/FN_CanSee,%1)),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(left([get(##/FullName)],42),42)][get(##/Contact)],)])]%r%r[ansi(c,capstr(%q0))] - [extract(v(List_Type_Names),match(v(List_Types),%q0),1)]%r[ulocal(FN_BotLine,name(%!))],[ansi(rh,-)] That is not a valid org type. Please use one of the following: [v(List_Types)].)] &FN_LISTMEMBERS Org/Econ System 4.1=[setdiff(iter(ulocal(FN_LSlave,%0),get(##/List_Members),,|),,|)] &FN_LISTRANKS Org/Econ System 4.1=[ifelse(isdbref(%0),ulocal(FN_ListRanks,get(%0/Master),setdiff(setunion(%1,iter(get(%0/List_Ranks),ifelse(match(%1,* * [extract([##],3,100)],|),,[extract(##,1,2)] [%0] [extract(##,3,100)]),|,|),|),,|)),%1)] &FN_LMASTER Org/Econ System 4.1=[ifelse(isdbref(setr(0,get(first(%0)/Master))),ulocal(FN_LMaster,[%q0] [%0]),squish([%q0] [%0]))] &FN_LMASTER2 Org/Econ System 4.1=[ifelse(isdbref(first(%0)),ulocal(FN_LMaster2,[get(first(%0)/Master)] [rjust(match(v(List_Types),get(first(%0)/type)),3,0)]-[name(first(%0))]-[first(%0)] [rest(%0)]),squish(%0))] &FN_LSLAVE Org/Econ System 4.1=[setq(0,iter(v(List_Orgs),[ulocal(FN_LMaster,itext(0))],,|))][%0] [iter(sort(graball(%q0,*[%0] *,|),a,|),last(itext(0)),|)] &FN_MATCHCUR Org/Econ System 4.1=[switch([grab(ulocal(FN_List_Cur,edit(%1,%b,_)),*[ifelse(match(s,right(%0,1)),mid(%0,0,sub(strlen(%0),1)),%0)]*)],,[first(v(List_Currency))],#$)] &FN_MEMBER Org/Econ System 4.1=[ifelse([or(ulocal(FN_IsAdmin,%1),match(%0,%1))],[ifelse(isdbref(%0),[ulocal(FN_TopLine,Org: Current Memberships of [name(%0)])]%r[ansi(yh,%bAlias Type [ljust(Full Name,29)][ljust(Title,18)][ljust(Division,18)])]%r[ulocal(FN_MidLine)][setq(1,iter(v(List_Orgs),ifelse(match(v(List_Orgs),get(##/Master)),,##)))][iter(%q1,ifelse(setr(2,ulocal(FN_OrgLookup,##,%0)),[setq(3,grab(get(%q2/List_Members),[%0]^*,|))][iter(ulocal(FN_LMaster,%q2),%r%b[ansi(ifelse(match(itext(0),%q2),w,c),[ljust(name(itext(0)),5)] [ljust(capstr(get(itext(0)/Type)),4)] [ljust(mid(get(itext(0)/FullName),0,29),29)][ljust(mid(extract(%q3,2,1,^),0,18),18)][ljust(mid(extract(%q3,4,1,^),0,18),18)])])][ifelse([match(get(%q2/Leaders),%0)],[iter(rest(ulocal(FN_LSlave,%q2)),%r%b[ansi(c,[ljust(name(itext(0)),5)] [ljust(capstr(get(itext(0)/Type)),4)] [ljust(mid(get(itext(0)/FullName),0,29),29)][ljust(mid(extract(%q3,2,1,^),0,18),18)][ljust(mid(extract(%q3,4,1,^),0,18),18)])])],)],))]%r[ulocal(FN_BotLine,name(%!))],[ansi(rh,-)] That is not a valid player.)],[ansi(rh,-)] You aren't allowed to view other peoples org memberships.)] &FN_MEMBER_SORT Org/Econ System 4.1=[comp([extract(%0,4,1,^)]a[extract(%0,3,1,^)]a[extract(%0,2,1,^)]a[name(first(%0,^))], [extract(%1,4,1,^)]a[extract(%1,3,1,^)]a[extract(%1,2,1,^)]a[name(first(%1,^))])] &FN_MIDLINE Org/Econ System 4.1=[ansi(b,repeat(-~,39))] &FN_MOTD Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsMember2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[ulocal(FN_TopLine,Org MOTD: [get(%0/Fullname)])]%r[get(%0/MOTD)]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_Crit)])] &FN_MOVE Org/Econ System 4.1=[@@(0 - Target PC, 1 - dest org, 2 - %#)][setq(1,ulocal(FN_OrgLookup,%1,%0))][setq(4,grab(get(%q1/List_Members),[%0]^*,|))][switch([ulocal(FN_IsOrg,%1)][ulocal(FN_IsOrg,%q1)][not(match(%q1,%1))][or(ulocal(FN_IsAdmin,%2),and(ulocal(FN_IsLeader2,%2,%q1),ulocal(FN_IsLeader,%2,%1)))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_NotMember,%0,%1)],110*,[ansi(rh,-)] [name(%0)] is already in [get(%1/Fullname)].,1110,[ansi(rh,-)] You are not a leader of both [get(%q1/Fullname)] and [get(%1/Fullname)].,1111,[ansi(gh,-)] You have moved [name(%0)] from [get(%q1/Fullname)] to [get(%1/Fullname)].[set(%q1,List_Members:[setdiff(get(%q1/List_Members),%q4,|)])][set(%q1,Leaders:[edit(get(%q1/Leaders),%0,)])][set(%1,List_Members:[setunion(get(%1/List_Members),%q4,|)])],[ulocal(MSG_Crit)])] &FN_ORG_NUM Org/Econ System 4.1=[first(grab(map(FN_Org_Num2,v(List_Orgs)),* [%0],|))] &FN_ORG_NUM2 Org/Econ System 4.1=[%0] [name(%0)]| &FN_ORG_SORT Org/Econ System 4.1=[comp(ulocal(FN_LMaster2,%0),ulocal(FN_LMaster2,%1))] &FN_ORGBALANCE Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsLeader2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%1,%0)],11,[ansi(ch,get(%0/Fullname))] has [ifelse(get(%0/Money),[iter(get(%0/Money),[ulocal(FN_Format,edit(##,_,%b))],|,\,%b)],no money)].,[ulocal(MSG_Crit)])] &FN_ORGLOOKUP Org/Econ System 4.1=[first([iter(ulocal(FN_LSlave,first(ulocal(FN_LMaster,%0))),ifelse(match(get([##]/List_Members),[%1]^*,|),[##],))] #-1)] &FN_OWHO Org/Econ System 4.1=[squish(iter(ulocal(FN_LSlave,%0),edit(map(FN_First,get(##/List_Members),|),|,%b)))] &FN_PARENT Org/Econ System 4.1=[@@(0 - Child, 1 - Parent, 2 - %#)][switch([ulocal(FN_IsAdmin,%2)][ulocal(FN_IsOrg,%0)][t(%1)][and(ulocal(FN_IsOrg,%1),[not(match(ulocal(FN_LSlave,%0),%1))])],0*,[ulocal(MSG_Admin)],10*,[ulocal(MSG_NotOrg)],110*,[ansi(gh,-)] [get(%0/Fullname)] \([name(%0)]\) now has no parent organization.[wipe(%0/Master)],1110,[ansi(rh,-)] An org cannot be its own ancestor!,1111,[ansi(gh,-)] The parent organization of [get(%0/Fullname)] \([name(%0)]\) is now [get(%1/Fullname)] \([name(%1)]\).[set(%0,Master:[%1])],[ulocal(MSG_Crit)])] &FN_PAY Org/Econ System 4.1=[@@(0 - PC, 1 - money, 2 - %#)][setq(0,pmatch(%0))][setq(1,max(0,val(first(%1))))][setq(2,ulocal(FN_MatchCur,rest(%1),%#))][switch([isdbref(%q0)][match(loc(%q0),loc(%2))][t(%q2)][gte(ulocal(FN_GetMoney,%2,%q2),%q1)],0*,[ansi(rh,-)] No player could be found with that name.,10*,[ansi(rh,-)] [name(%q0)] is not at your location.,110*,[ulocal(MSG_NotCur)],1110,[ansi(rh,-)] You don't have [ulocal(FN_Format,[%q1] [%q2])].,1111,You pay [name(%q0)] [ulocal(FN_Format,[%q1] [%q2])].[oemit([loc(%2)]/[%2],[name(%2)] pays [name(%q0)] [ulocal(FN_Format,[%q1] [%q2])].)][ulocal(FN_Transfer,%2,%q0,%q1,%q2)],[ulocal(MSG_Crit)])] &FN_PAYCHECK Org/Econ System 4.1=[@@(0 - Org, 1 - %#)][setq(1,ulocal(FN_OrgLookup,%0,%1))][setq(2,grab(get(%q1/List_Members),[%1]^*,|))][setq(3,extract(%q2,5,1,^))][setq(4,extract(%q2,7,1,^))][setq(5,extract(%q2,6,1,^))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsOrg,%q1)][gte(setr(6,sub(ulocal(FN_Days),%q5)),7)][gt(%q3,0)][gte(ulocal(FN_GetMoney,%q1,%q4),%q3)],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Member)],110*,[ansi(rh,-)] You must wait [sub(7,%q6)] days until you can collect your next weekly paycheck.,1110*,[ansi(rh,-)] Your weekly paycheck is nothing. Wait until you get a salary.,11110,[ansi(rh,-)] [get(%q1/Fullname)] doesn't have the [ulocal(FN_Format,[%q3] [%q4])] to pay you.,11111,[ansi(gh,-)] You collect your weekly paycheck of [ulocal(FN_Format,[%q3] [%q4])].[set(%q1,List_Members:[setunion(setdiff(get(%q1/List_Members),%q2,|),[extract(%q2,1,4,^)]^[%q3]^[ulocal(FN_Days)]^[%q4],|)])][ulocal(FN_AddRecord,%q1,%1,mul(-1,%q3),%q4,Paycheck)][ulocal(FN_Transfer,%q1,%1,%q3,%q4)],[ulocal(MSG_Crit)])] &FN_PAYROLL Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsLeader2,%1,%0),ulocal(FN_IsAdmin,%1))][ulocal(FN_IsMember,%1,%0)],0*,[ulocal(MSG_NotOrg)],100,[ulocal(MSG_Member,%1,%0)],101,[ulocal(FN_Payroll2,%0,%1)],11*,[ulocal(FN_Payroll2,%0,#-1)],[ulocal(MSG_Crit)])] &FN_PAYROLL2 Org/Econ System 4.1=[ulocal(FN_TopLine,Org Payroll: [get(%0/Fullname)])]%r%b[ansi(yh,[ljust(Name\, Rank,32)][center(Amount,25)][center(Last Paid,17)])]%r[ulocal(FN_MidLine)][setq(0,[ifelse(isdbref(%1),%1,[sortby(FN_Alpha_Sort,setinter([iter(get(%0/List_Members),first(##,^),|)],get(%0/Leaders)))] [sortby(FN_Alpha_Sort,setdiff([iter(get(%0/List_Members),first(##,^),|)],get(%0/Leaders)))])])][iter(%q0,[setq(1,grab(get(%0/List_Members),[##]^*,|))][setq(2,ulocal(FN_FmtTime,ulocal(FN_ConvDays,extract(%q1,6,1,^))))]%r%b[ljust(ansi(ulocal(FN_PColor,##,%0),mid([name(##)]\, [extract(%q1,2,1,^)],0,32)),32)][center(ulocal(FN_Format,[extract(%q1,5,1,^)] [extract(%q1,7,1,^)]),24)][center([%q2],17)])]%r[ulocal(FN_BotLine,name(%!))] &FN_PCOLOR Org/Econ System 4.1=[switch([ulocal(FN_IsLeader,%0,%1)][ulocal(FN_IsPrimary,%0,%1)][ulocal(FN_IsOrg,get(%1/Master))],110,yh,111,y,10*,rh,w)] &FN_QUIT Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsMember,%1,%0)],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[ansi(gh,-)] You are now no longer in [get(%0/Fullname)].[set(%0,List_Members:[setdiff(get(%0/List_Members),grab(get(%0/List_Members),[%1]^*,|),|)])][set(%0,Leaders:[edit(get(%0/Leaders),%1,)])][pemit([get(%0/Leaders)],[ansi(gh,-)] %N has quit [get(%0/Fullname)].)],[ulocal(MSG_Crit)])] &FN_RANKS Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsMember2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[ulocal(FN_TopLine,Org Ranks: [get(%0/Fullname)])]%r%b[ansi(yh,[ljust(Rank,20)] [rjust(Pay,15)]%b%b%b[ljust(Rank,20)] [rjust(Pay,15)])]%r[ulocal(FN_MidLine)][iter(sortby(FN_First_Sort,ulocal(FN_ListRanks,%0),|),[ifelse(mod(dec(#@),2),%b%b%b,%r%b)][ansi(ifelse(match(extract(##,3,1),%0),w,c),[ljust(edit(extract(##,4,100),_,%b),20)][rjust(edit(extract(##,1,2),_,%b),15)]s)],|,)]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_Crit)])] &FN_REJECT Org/Econ System 4.1=[@@(0 - org, 1 - PC, 2 - %#)][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsLeader2,%2,%0)][t(match(get(%0/Waiting),%1))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Leader,%2,%0)],110,[ansi(rh,-)] [ifelse(isdbref(%1),name(%1),That)] is not on the [get(%0/Fullname)]'s waiting list.,111,[ansi(gh,-)] You have rejected [name(%1)]'s application to [get(%0/Fullname)] \([name(%0)]\).[pemit([setdiff(iter(ulocal(FN_LMaster,%0),get([itext(0)]/Leaders)),%2)],[ansi(gh,-)] [name(%2)] has rejected [name(%1)]'s application to [get(%0/Fullname)] \([name(%0)]\).)][set(%0,Waiting:[setdiff(get(%0/Waiting),%1)])],[ulocal(MSG_Crit)])] &FN_RETIRE Org/Econ System 4.1=[@@(0 - org, 1 - PC, 2 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%1))][switch([ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsAdmin,%2),match(%1,%2),ulocal(FN_IsPrimary2,%2,%q0))][ulocal(FN_IsLeader,%1,%q0)],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Primary)],110,[ansi(rh,-)] [name(%1)] is not a leader of [get(%q0/Fullname)] \([name(%q0)]\).,111,[ansi(gh,-)] [name(%1)] is no longer a leader of [get(%q0/Fullname)] \([name(%q0)]\).[set(%q0,Leaders:[setdiff(first(get(%q0/Leaders)),%1)] [setdiff(rest(get(%q0/Leaders)),%1)])][pemit(%1,[ansi(gh,-)] You have been retired from leadership in [get(%q0/Fullname)] \([name(%q0)]\) by [name(%2)].)],[ulocal(MSG_Crit)])] &FN_ROSTER Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsMember2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[ulocal(FN_Who,%0,ulocal(FN_Owho,%0),Org Roster: [get(%0/Fullname)])],[ulocal(MSG_Crit)])] &FN_SEARCH Org/Econ System 4.1=[@@(0 - org, 1 - catagory, 2 - string, 3 - %#)][setq(0,first(grab(1:Name 2:Title 2:Rank 3:Assignment 4:Division,*[secure(%1)]*),:))][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsAdmin,%3),ulocal(FN_IsMember2,%3,%0))][t(%q0)],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Member)],110,[ansi(rh,-)] Invalid catagory. Choose from one of these: Name\, Title\, Rank\, Assignment\, Division.,111,[ulocal(FN_Who,%0,[ulocal(FN_Search2,%0,%q0,%2)],Org Search: [get(%0/Fullname)])],[ulocal(MSG_Crit)])] &FN_SEARCH2 Org/Econ System 4.1=[iter(ulocal(FN_ListMembers,%0),ifelse(match(ifelse(eq(%1,1),name(extract(##,%1,1,^)),extract(##,%1,1,^)),%2),extract(##,1,1,^),),|)] &FN_SETDESC Org/Econ System 4.1=[@@(0 - org, 1 - desc, 2 - %#)][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsLeader2,%2,%0)],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%2,%0)],11,[ansi(gh,-)] You change the description of [get(%0/Fullname)] \([name(%0)]\).[set(%0,Describe:[%1])],[ulocal(MSG_Crit)])] &FN_SETLEADER Org/Econ System 4.1=[@@(0 - org, 1 - PC, 2 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%2))][setq(1,ulocal(FN_OrgLookup,%q0,%1))][switch([ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsAdmin,%2),ulocal(FN_IsPrimary2,%2,%q0))][ulocal(FN_IsOrg,%q1)][or(ulocal(FN_IsAdmin,%2),ulocal(FN_IsPrimary2,%2,%q1))][not(ulocal(FN_IsLeader,%1,%q0))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Primary)],110*,[ulocal(MSG_NotMember,%1,%q0)],1110*,[ulocal(MSG_Primary)],11110,[ansi(rh,-)] [name(%1)] is already a leader of [get(%q1/Fullname)] \([name(%q1)]\).,11111,[ansi(gh,-)] You have set [name(%1)] has a leader of [get(%q1/Fullname)] \([name(%q1)]\).[pemit([setdiff(ulocal(FN_OWho,%q1),%2)],[ansi(gh,-)] [name(%1)] has been made a leader of [get(%q1/Fullname)] \([name(%q1)]\) by [name(%2)].)][set(%q1,Leaders:[squish([get(%q1/Leaders)] [%1])])],[ulocal(MSG_Crit)])] &FN_SETLISTITEM Org/Econ System 4.1=[sortby(FN_Sort,setdiff([setunion([ifelse(eq(0,ulocal(FN_Val,%1)),,[ulocal(FN_Val,%1)] [%2])],[switch(grab(%0,* [%2],|),,%0,setdiff(%0,#$,|))],|)],,|),|)] &FN_SETMONEY Org/Econ System 4.1=[set(%0,Money:[switch([t(match(get(%0/Money),* [%2],|))][eq(%1,0)],11,[setdiff(get(%0/Money),grab(get(%0/Money),* [%2],|),|)],10,[setdiff([setdiff(get(%0/Money),grab(get(%0/Money),* [%2],|),|)]|[%1] [%2],,|)],00,[setunion(get(%0/Money),[%1] [%2],|)],[get(%0/Money)])])] &FN_SETMOTD Org/Econ System 4.1=[@@(0 - org, 1 - desc, 2 - %#)][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsLeader2,%2,%0)],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%2,%0)],11,[ansi(gh,-)] You change the message of the day of [get(%0/Fullname)] \([name(%0)]\).[ifelse(t(%1),[set(%0,MOTD:[%1]%r[rjust(ansi(c,Posted by [%N] on [timefmt($B $d\, $Y)].),77)])],[wipe(%0/MOTD)])],[ulocal(MSG_Crit)])] &FN_SETNAME Org/Econ System 4.1=[@@(0 - org, 1 - name, 2 - %#)][setq(1,mid(squish(%1),0,42))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsAdmin,%2)],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Admin)],11,[ansi(gh,-)] You have renamed [get(%0/Fullname)] \([name(%0)]\) to [%q1].[set(%0,Fullname:[%q1])],[ulocal(MSG_Crit)])] &FN_SETPAY Org/Econ System 4.1=[@@(0 - org, 1 - TargetPC, 2 - Money, 3 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%1))][setq(2,val(first(secure(%2))))][setq(3,ulocal(FN_MatchCur,rest(secure(%2)),%q0))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsAdmin,%3),ulocal(FN_IsLeader2,%3,%q0))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_NotMember,%1,%0)],110,[ulocal(MSG_Leader,%1,%0)],111,[ansi(gh,-)] You set [name(%1)]'s weelky paycheck to [ulocal(FN_Format,[%q2] [%q3])].[pemit(%1,[ansi(gh,-)] [name(%3)] sets your weekly paycheck in [get(%q0/Fullname)] \([name(%q0)]\) to [ulocal(FN_Format,[%q2] [%q3])].)][setq(4,[grab(get(%q0/List_Members),[%1]^*,|)])][set(%q0,List_Members:[setunion([extract(%q4,1,4,^)]^[%q2]^[extract(%q4,6,1,^)]^[%q3],setdiff(get(%q0/List_Members),%q4,|),|)])],[ulocal(MSG_Crit)])] &FN_SETPRIMARY Org/Econ System 4.1=[@@(0 - org, 1 - PC, 2 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%2))][setq(1,ulocal(FN_OrgLookup,%q0,%1))][switch([ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsAdmin,%2),ulocal(FN_IsPrimary2,%2,%q0))][ulocal(FN_IsOrg,%q1)][or(ulocal(FN_IsAdmin,%2),ulocal(FN_IsPrimary2,%2,%q1))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Primary)],110*,[ulocal(MSG_NotMember,%1,%q0)],1110,[ulocal(MSG_Primary)],1111,[ansi(gh,-)] You have set [name(%1)] has a the primary leader of [get(%q1/Fullname)] \([name(%q1)]\).[pemit([setdiff(ulocal(FN_OWho,%q1),%2)],[ansi(gh,-)] [name(%1)] has been made primary leader of [get(%q1/Fullname)] \([name(%q1)]\) by [name(%2)].)][set(%q1,Leaders:[squish([%1] [setdiff(get(%q1/Leaders),%1)])])],[ulocal(MSG_Crit)])] &FN_SETRANK Org/Econ System 4.1=[@@(0 - Org, 1 - TargetPC, 2 - Rank, 3 - %#)][setq(0,ulocal(FN_OrgLookup,%0,%1))][setq(1,grab(get(%q0/List_Members),[%1]^*,|))][setq(2,edit(squish(secure(edit(%2,_,%b))),|,I))][setq(3,grab(get(%q0/List_Ranks),* * [edit(%q2,%b,_)],|))][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsOrg,%q0)][or(ulocal(FN_IsLeader2,%3,%q0),ulocal(FN_IsAdmin,%3))][t(first(%q3))],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_NotMember,%1,%0)],110*,[ulocal(MSG_Leader,%3,%q0)],1110,[set(%q0,List_Members:[setunion([%1]^[%q2]^[extract(%q1,3,5,^)],setdiff(get(%q0/List_Members),%q1,|),|)])][ansi(gh,-)] You set [ansi(y,name(%1))]'s rank in [get(%q0/Fullname)] \([name(%q0)]\) to [ansi(y,%q2)].[pemit(%1,[ansi(gh,-)] [name(%3)] sets your rank in [get(%q0/Fullname)] \([name(%q0)]\) to [ansi(y,%q2)].)],1111,[set(%q0,List_Members:[setunion([%1]^[%q2]^[extract(%q1,3,2,^)]^[first(%q3)]^[extract(%q1,6,1,^)]^[extract(%q3,2,1)],setdiff(get(%q0/List_Members),%q1,|),|)])][ansi(gh,-)] You set [ansi(y,name(%1))]'s rank in [get(%q0/Fullname)] \([name(%q0)]\) to [ansi(y,%q2)] and [poss(%1)] weekly paycheck to [ansi(y,ulocal(FN_Format,extract(%q3,1,2)))].[pemit(%1,[ansi(gh,-)] [name(%3)] sets your rank in [get(%q0/Fullname)] \([name(%q0)]\) to [ansi(y,%q2)] and [poss(%1)] weekly paycheck to [ansi(y,ulocal(FN_Format,extract(%q3,1,2)))].)],[ulocal(MSG_Crit)])] &FN_SETSORT Org/Econ System 4.1=[@@(0 - org, 1 - %#)][setq(1,get(%0/List_Members))][switch([ulocal(FN_IsAdmin,%1)][ulocal(FN_IsOrg,%0)],0*,[ulocal(MSG_Admin)],10,[ulocal(MSG_NotOrg)],11,[setq(2,sortby(FN_Member_Sort,%q1,|))][ifelse(setdiff(%q1,%q2,|),[ansi(rh,-)] Sorting would result in data loss.,[ansi(gh,-)] Sorted.[set(%0,List_Members:[%q2])])],[ulocal(MSG_Crit)])] &FN_SETTYPE Org/Econ System 4.1=[@@(0 - org, 1 - type, 2 - %#)][setq(0,grab(v(List_Types),[%1]))][switch([ulocal(FN_IsAdmin,%2)][ulocal(FN_IsOrg,%0)][t(%q0)],0*,[ulocal(MSG_Admin)],10*,[ulocal(MSG_NotOrg)],110,[ansi(rh,-)] That is not a valid org type. Please use one of the following: [iter(v(List_Types),##,,\,%b)].,111,[ansi(gh,-)] [get(%0/FullName)] \([name(%0)]\) is now set as a [extract(v(List_Type_Names),match(v(List_Types),%q0),1)].[set(%0,Type:[%q0])],[ulocal(MSG_Crit)])] &FN_SETWELCOME Org/Econ System 4.1=[@@(0 - org, 1 - welcome, 2 - %#)][switch([ulocal(FN_IsOrg,%0)][ulocal(FN_IsLeader2,%2,%0)],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%2,%0)],11,[ansi(gh,-)] You change the welcome @mail of [get(%0/Fullname)] \([name(%0)]\).[set(%0,WelcomeMSG:[%1])],[ulocal(MSG_Crit)])] &FN_SHOWWHO Org/Econ System 4.1=[@@(%0 is org, %1 is PC)][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsMember2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[ulocal(FN_Who,%0,setinter(ifelse(ulocal(FN_IsAdmin,%1),lwho(),mwho()),ulocal(FN_Owho,%0)),Org Who: [get(%0/Fullname)])],[ulocal(MSG_Crit)])] &FN_SORT Org/Econ System 4.1=comp(rest(%0),rest(%1)) &FN_SORT_NAME Org/Econ System 4.1=[comp(name(%0),name(%1))] &FN_SORT_NAME2 Org/Econ System 4.1=[comp(name(first(%0,^)),name(first(%1,^)))] &FN_SORT_WHO Org/Econ System 4.1=[switch([comp(extract(%0,4,1,^),extract(%1,4,1,^))],0,[comp(extract(%0,3,1,^),extract(%1,3,1,^))],#$)] &FN_SORTBY Org/Econ System 4.1=[switch([elements(%0,2,^)],<[elements(%1,2,^)],-1,>[elements(%1,2,^)],1,0)] &FN_TOPLINE Org/Econ System 4.1=[ansi(b,---<)] [ansi(wh,%0)] [ansi(b,>[repeat(-,sub(71,strlen(%0)))])] &FN_TRANSFER Org/Econ System 4.1=[ulocal(FN_AddMoney,%0,mul(-1,%2),%3)][ulocal(FN_AddMoney,%1,%2,%3)] &FN_TREE Org/Econ System 4.1=[ulocal(FN_TopLine,%0)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)]Contact)]%r[ulocal(FN_MidLine)][setq(0,sortby(FN_Org_Sort,v(List_Orgs)))][iter(%q0,ifelse(ulocal(##/FN_CanSee,%1),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(left([space(mul(2,sub(words(ulocal(FN_LMaster,##)),1)))][get(##/FullName)],42),42)][get(##/Contact)],))]%r[iter(v(List_Types),[ifelse(mod(dec(#@),4),,%r)][ljust([ansi(c,capstr(##))] - [extract(v(List_Type_Names),#@,1)],18)])]%r[ulocal(FN_BotLine,name(%!))] &FN_TREE2 Org/Econ System 4.1=[ifelse(ulocal(FN_IsOrg,%0),[ulocal(FN_TopLine,Org: Tree)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)]Contact)]%r[ulocal(FN_MidLine)][setq(1,sortby(FN_Org_Sort,ulocal(FN_LSlave,first(ulocal(FN_LMaster,%0)))))][iter(%q1,ifelse(ulocal(##/FN_CanSee,%1),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(left([space(mul(2,sub(words(ulocal(FN_LMaster,##)),1)))][get(##/FullName)],42),42)][get(##/Contact)],))]%r[iter(v(List_Types),[ifelse(mod(dec(#@),4),,%r)][ljust([ansi(c,capstr(##))] - [extract(v(List_Type_Names),#@,1)],18)])]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_NotOrg)])] &FN_VAL Org/Econ System 4.1=ifelse(isnum(%0),%0,val(%0)) &FN_WAITING Org/Econ System 4.1=[@@(0 - org alias/all, 1 - %#)][ifelse(match(all,%0),[setq(0,sortby(FN_Org_Sort,iter(v(List_Orgs),ifelse(and(ulocal(FN_IsLeader2,%1,##),t(get(##/Waiting))),##,))))][iter(%q0,[ansi(gh,-)] [get(##/Fullname)] has been applied to by [iter(get(itext(0)/Waiting),name(itext(0)),,\,%b)].,,%r)],[setq(0,ulocal(FN_Org_Num,%0))][switch([ulocal(FN_IsOrg,%q0)][ulocal(FN_IsLeader2,%1,%q0)],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Leader,%1,%q0)],11,[ansi(gh,-)] [get(%q0/Fullname)] [ifelse(t(get(%q0/Waiting)),has been applied to by [iter(get(%q0/Waiting),name(##),,\,%b)].,has no active applications.)])])] &FN_WELCOMEMSG Org/Econ System 4.1=[switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsMember2,%1,%0),ulocal(FN_IsAdmin,%1))],0*,[ulocal(MSG_NotOrg)],10,[ulocal(MSG_Member)],11,[ulocal(FN_TopLine,Org Welcome Message: [get(%0/Fullname)])]%r[get(%0/WelcomeMSG)]%r[ulocal(FN_BotLine,name(%!))],[ulocal(MSG_Crit)])] &FN_WHO Org/Econ System 4.1=[setq(0,ulocal(FN_LSlave,%0))][setq(1,iter(%q0,[iter(sortby(FN_Member_Sort,get(itext(0)/List_Members),|),ifelse(match([%1],[first([itext(0)],^)]),[extract([itext(0)],1,4,^)]^[itext(1)],),|,|)],,|))][setq(2,0)][ulocal(FN_TopLine,%2)]%r%b[ansi(yh,[ljust(Name,19)][ljust(ifelse(match(mil,get(%0/Type)),Rank,Title),17)][ljust(Assignment,17)][ljust(Division,17)]%b[ljust(Org,4)])]%r[ulocal(FN_MidLine)][iter(%q1,[ifelse(words(##),[setq(2,add(%q2,1))]%r%b[ljust(ansi(ulocal(FN_PColor,first(##,^),extract(##,5,1,^)),mid(name(first(##,^)),0,19)),19)][ljust(mid(extract(##,2,1,^),0,17),17)][ljust(mid(extract(##,3,1,^),0,17),17)][ljust(mid(extract(##,4,1,^),0,17),17)]%b[ljust(name(extract(##,5,1,^)),5)],)],|,)]%r[ulocal(FN_BotLine2,[%q2] player[ifelse(eq(1,%q2),,s)] listed,name(%!))] &FN_WITHDRAW Org/Econ System 4.1=[@@(0 - org, 1 - money, 2 - %#)][setq(0,abs(val(first(secure(%1)))))][setq(1,ulocal(FN_MatchCur,rest(secure(%1)),%0))][switch([ulocal(FN_IsOrg,%0)][or(ulocal(FN_IsAdmin,%2),ulocal(FN_IsLeader2,%2,%0))][t(%q1)][gte(ulocal(FN_GetMoney,%0,%q1),%q0)],0*,[ulocal(MSG_NotOrg)],10*,[ulocal(MSG_Leader,%2,%0)],110*,[ulocal(MSG_NotCur)],1110,[ansi(rh,-)] [get(%0/Fullname)] doesn't have [ulocal(FN_Format,[%q0] [%q1])].,1111,[ansi(gh,-)] You withdraw [ulocal(FN_Format,[%q0] [%q1])] from [get(%0/Fullname)].[ulocal(FN_AddOMoney,%0,%2,mul(-1,%q0),%q1,Withdrawal)][ulocal(FN_AddMoney,%2,%q0,%q1)],[ulocal(MSG_Crit)])] &FN_XLISTITEM Org/Econ System 4.1=[ulocal(FN_SetListItem,%0,first([%3](ulocal(FN_GetListItem,%0,%2),%1)),%2)] &FUN_ADDMONEY Org/Econ System 4.1=[ifelse(ulocal(FN_IsAdmin,%@),ifelse(isnum(secure(%1)),1[ulocal(FN_AddMoney,secure(%0),secure(%1),ulocal(FN_MatchCur,secure(%2)))],#-1 Amount must be a number.),#-1 Permission Denied.)] &FUN_ADDOMONEY Org/Econ System 4.1=[ifelse(ulocal(FN_IsAdmin,%@),ulocal(FN_AddOMoney,ulocal(FN_Org_Num,secure(%0)),%@,val(secure(%1)),ulocal(FN_MatchCur,secure(%2),%@),squish(secure(%3))),#-1 Permission Denied.)] &FUN_GETLISTITEM Org/Econ System 4.1=[ulocal(FN_GetListItem,secure(%0),secure(%1),secure(%2))] &FUN_GETMONEY Org/Econ System 4.1=[ifelse(ulocal(FN_IsAdmin,%@),ulocal(FN_GetMoney,secure(%0),ulocal(FN_MatchCur,secure(%1))),#-1 Permission Denied.)] &FUN_ISOLEADER Org/Econ System 4.1=[ulocal(FN_IsOLeader,pmatch(secure(%0)),ulocal(FN_Org_Num,secure(%1)),%@)] &FUN_ISOMEMBER Org/Econ System 4.1=[ulocal(FN_IsOMember,pmatch(secure(%0)),ulocal(FN_Org_Num,secure(%1)),%@)] &FUN_OMEMBERS Org/Econ System 4.1=[ifelse(isdbref(ulocal(FN_Org_Num,secure(%0))),ifelse(or(ulocal(FN_IsMember,%@,ulocal(FN_Org_Num,secure(%0))),ulocal(FN_IsAdmin,%@)),ulocal(FN_OWho,ulocal(FN_Org_Num,secure(%0))),#-1 Permission Denied.),#-1 Invalid org.)] &FUN_ONAME Org/Econ System 4.1=[default([ulocal(FN_Org_Num,secure(%0))]/FullName,#-1 Not a valid org alias.)] &FUN_ORGS Org/Econ System 4.1=[ifelse(ulocal(FN_IsBuilder,%@),ulocal(FN_List_Orgs,pmatch(%0)),#-1 Permission Denied.)] &FUN_OWHO Org/Econ System 4.1=[ifelse(isdbref(ulocal(FN_Org_Num,secure(%0))),ifelse(or(ulocal(FN_IsMember,%@,ulocal(FN_Org_Num,secure(%0))),ulocal(FN_IsBuilder,%@)),setinter(mwho(),edit(ulocal(FN_OWho,ulocal(FN_Org_Num,secure(%0))),|,%b)),#-1 Permission Denied.),#-1 Invalid org.)] &FUN_SETLISTITEM Org/Econ System 4.1=[ulocal(FN_SetListItem,secure(%0),secure(%1),secure(%2))] &FUN_SETMONEY Org/Econ System 4.1=[ifelse(ulocal(FN_IsAdmin,%@),ifelse(isnum(secure(%1)),1[ulocal(FN_SetMoney,secure(%0),secure(%1),ulocal(FN_MatchCur,secure(%2)))],#-1 Amount must be a number.),#-1 Permission Denied.)] &FUN_SUBMONEY Org/Econ System 4.1=[ifelse(ulocal(FN_IsAdmin,%@),ifelse(isnum(secure(%1)),1[ulocal(FN_AddMoney,secure(%0),mul(-1,secure(%1)),ulocal(FN_MatchCur,secure(%2)))],#-1 Amount must be a number.),#-1 Permission Denied.)] &FUN_XLISTITEM Org/Econ System 4.1=[ulocal(FN_xListItem,secure(%0),secure(%1),secure(%2),secure(%3))] &LIST_CURRENCY Org/Econ System 4.1=credit dollar &LIST_ORGS Org/Econ System 4.1=#36 #42 #43 #45 &LIST_TYPE_NAMES Org/Econ System 4.1=Empire Government Military Company Organization &LIST_TYPES Org/Econ System 4.1=emp gov mil com org &MSG_ADMIN Org/Econ System 4.1=[ansi(rh,-)] You must be an admin to use this command. &MSG_CRIT Org/Econ System 4.1=[ansi(rh,-)] Critical Error. Report this problem to [name(owner(%!))]. &MSG_LEADER Org/Econ System 4.1=[ansi(rh,-)] You are not an org leader of [get(%1/Fullname)] \([name(%1)]\). &MSG_MEMBER Org/Econ System 4.1=[ansi(rh,-)] You are not a member of that organization. &MSG_NOTCUR Org/Econ System 4.1=[ansi(rh,-)] That is not a valid currency. Use one of these instead: [iter(ulocal(FN_List_Cur),##,%b,\,%b)]. &MSG_NOTMEMBER Org/Econ System 4.1=[ansi(rh,-)] [ifelse(isdbref(%0),name(%0),That)] is not an member of [ifelse(ulocal(FN_IsOrg,%1),[get(%1/Fullname)] \([name(%1)]\),your org)]. &MSG_NOTORG Org/Econ System 4.1=[ansi(rh,-)] That is not a valid organization. &MSG_PRIMARY Org/Econ System 4.1=[ansi(rh,-)] You must be the primary org leader to do that. @STARTUP Org/Econ System 4.1=@drain %!;@notify %!;@dolist Active_Org Money={@attribute/access/retroactive [##]=no_command no_inherit no_clone mortal_dark wizard};@dolist [lattr(%!/FUN_*)]={@function [rest(##,_)]=%!,##};th [ulocal(FN_CleanAll)] @@ @@ @@ @create +org/help Database @set +org/help Database = NO_COMMAND &FN_MIDLINE +org/help Database=[ansi(b,repeat(-~,39))] &FN_RLJUST +org/help Database=%b[ansi(wh,%0)][rjust(%1,sub(76,strlen(%0)),.)] &FN_SORT3COL +org/help Database=[setq(0,sort(%0,a))][setq(1,ceil(fdiv(words(%q0),3)))][iter(lnum(mul(3,%q1)),[setq(2,extract(%q0,add(1,mul(mod(##,3),%q1),mod(div(##,3),%q1)),1))][ifelse(%q2,%q2,_)])] &FN_SORT4COL +org/help Database=[setq(0,sort(%0,a))][setq(1,ceil(fdiv(words(%q0),4)))][iter(lnum(mul(4,%q1)),[setq(2,extract(%q0,add(1,mul(mod(##,4),%q1),mod(div(##,4),%q1)),1))][ifelse(%q2,%q2,_)])] &HELP +org/help Database=[center(ansi(yh,Table of Contents),78)]%r[u(FN_MidLine)]%r%r%t[ljust(ansi(c,Introduction),18)]A few words from the designer.%r%t[ljust(ansi(c,General Commands),18)]Lists unrestricted commands.%r%t[ljust(ansi(c,Member Commands),18)]Lists org member-restricted commands.%r%t[ljust(ansi(c,Leader Commands),18)]Lists org leader-restricted commands.%r%t[ljust(ansi(c,Admin Commands),18)]Lists admin-restricted commands.%r%t[ljust(ansi(c,Functions),18)]Lists org related global functions.%r%t[ljust(ansi(c,FAQ),18)]Frequently asked questions.%r%t[ljust(ansi(c,Index),18)]Lists all +org/help entries.%r%rTo learn more\, type: [ansi(rh,+org/help)] [ansi(y,)] &HELP_+BALANCE +org/help Database=%b%b[ansi(rh,+balance)] [ansi(y,\[\])]%r%r%b%bThis command allows you to view how much money you have on you. Only admins may use this command to view how much money other players have. &HELP_+PAY +org/help Database=%b%b[ansi(rh,+pay)] [ansi(y,)][ansi(rh,=)][ansi(y, \[\])]%r%r%b%bUse this command to give money to others. &HELP_ACCEPT +org/help Database=%b%b[ansi(rh,+org/accept)] [ansi(y,)]%r%r%b%bUse this command to accept a player into your active organization. Note that the player must have applied to your organization via the +org/apply command. Only org leaders may use this command. &HELP_ACTIVE +org/help Database=%b%b[ansi(rh,+org/active)] [ansi(y,)]%r%r%b%bThis command selects your 'active', or default org. This allows you to use some org commands that don't specify which org you mean. &HELP_ACTIVITY +org/help Database=%b%b[ansi(rh,+org/activity)] [ansi(y,\[\])]%r%r%b%bThis command allows all org members and admins to see a detailed report of when members last connected to the game. This information is handy in determing which jobs may need to be reassigned and whether an organization is active enough to warrant keeping around. &HELP_ADDRANK +org/help Database=%b%b[ansi(rh,+org/addrank)] [ansi(y,)][ansi(rh,=)][ansi(y, )]%r%r%b%bThis will add a new rank to the org's rank table. If the rank already exists in the rank table, this command will change the standard weekly paycheck for that rank. Only org leaders may use this command. &HELP_ADMIN_COMMANDS +org/help Database=%r[center(ansi(yh,These commands are for admin use only.),78)]%r%r[ulocal(FN_RLJust,+org/alias =,Changes the alias of an org.)]%r[ulocal(FN_RLJust,+org/alist \[\],A variation of the +org/list command.)]%r[ulocal(FN_RLJust,+org/appoint =,Makes the player a member of an org.)]%r[ulocal(FN_RLJust,+org/form =,Creates an org.)]%r[ulocal(FN_RLJust,+org/leaders,Displays the leaders of every org.)]%r[ulocal(FN_RLJust,+org/member ,Displays what orgs a player is in.)]%r[ulocal(FN_RLJust,+org/nuke ,Destroys an org.)]%r[ulocal(FN_RLJust,+org/parent =,Sets an org's parent.)]%r[ulocal(FN_RLJust,+org/name =,Changes the name of an org.)]%r[ulocal(FN_RLJust,+org/type =,Changes the type of an org.)]%r[ulocal(FN_RLJust,+org/unparent ,Unsets an org's parent.)]%r%rFor more detail about any command, see: [ansi(rh,+org/help)] [ansi(y,)], using the switch for the +org command. E.g. +org/help form &HELP_ALIAS +org/help Database=%b%b[ansi(rh,+org/alias)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%r%b%bThis command will change the alias of an org. Only admins may use this command. &HELP_ALIST +org/help Database=%b%b[ansi(rh,+org/alist)] [ansi(y,)]%r%r%b%bThis command will display how many leaders, members, and active applications there are for each org. Use of this command is restricted to admins only. &HELP_APPLY +org/help Database=%b%b[ansi(rh,+org/apply)] [ansi(y,)]%r%r%b%bYou may use this command to apply for membership in an org. Should you apply, you name will be placed on a waiting list. The leaders of that org may then accept you into thier org or reject your application. &HELP_APPOINT +org/help Database=%b%b[ansi(rh,+org/appoint)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%r%b%bThis command will appoint a player to be a member in an org, bypassing the normal process of the player using +org/apply, and the org leader of +org/accepting him. Since admins often will set up some aspects of a player when they create them, this makes it easier for them to assign org membership as well. Players wishing to be in an org however should use +org/apply, rather than bother an admin for an appointment. Only admins may use this command. &HELP_ASSIGN +org/help Database=%b%b[ansi(rh,+org/assign)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%r%b%bThis command sets the assignment of an org member. Use of this command is restricted to org leaders. &HELP_BALANCE +org/help Database=%b%b[ansi(rh,+org/balance)] [ansi(y,\[\])]%r%r%b%bThis will display how much money an organization has. Use of this command is restricted to org leaders. &HELP_BOOT +org/help Database=%b%b[ansi(rh,+org/boot)] [ansi(y,)]%r%r%b%bThis command remove a player from your org. Use of this command is restricted to org leaders. &HELP_CLEANUP +org/help Database=%b%b[ansi(rh,+org/cleanup)] [ansi(y,\[\])]%r%r%b%bThis command will remove anything from the org waiting list and roster that is not a player. While the system does prevent such from joining orgs, the @nuking of players can often lead to clutter in the org system. &HELP_CONTACT +org/help Database=%b%b[ansi(rh,+org/contact)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%r%b%bThis command allows one to set the contact message of an org. This message is displayed on +org/list, and may not exceed 24 characters length. Use of this command is restricted to org leaders. &HELP_DELRANK +org/help Database=%b%b[ansi(rh,+org/addrank)] [ansi(y,)][ansi(rh,=)][ansi(y, )]%r%r%b%bThis will remove a rank from the org's rank table. Only org leaders may use this command. &HELP_DEPOSIT +org/help Database=%b%b[ansi(rh,+org/deposit)] [ansi(y,)][ansi(rh,=)][ansi(y, )]%r%r%b%bThis will transfer money from your person to the specified organization. &HELP_DESC +org/help Database=%b%b[ansi(rh,+org/desc)] [ansi(y,\[\])]%r%r%b%bThis command will allow you to view a brief description of an org. &HELP_DIVISION +org/help Database=%b%b[ansi(rh,+org/division)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%r%b%bThis command sets the division of an org member. Use of this command is restricted to org leaders. &HELP_EMAIL +org/help Database=%b%b[ansi(rh,+org/email)] [ansi(y,\[\])]%r%r%b%bThis command allows all org members to view the IC e-mail addresses of all the other org members. Please note that these are NOT real-life e-mail addresses. &HELP_FAQ +org/help Database=%r[ansi(c,Q. What does the org system do?)]%r%r%tThe +org system is designed to help manage organizations. Players may be a member of zero, one, or multiple organizations.%r%r[ansi(c,Q. Who can see which organizations I belong to?)]%r%r%tOnly people within your own organization and the staff may see which organizations you belong to.%r%r[ansi(c,Q. I get told that my org doesn't exist when I try to use the org system.)]%r%r%tThere is a command that will set your default org. See: +org/help active. Since some commands don't refer to which organization you are using, they will check for your 'active' org by default.%r%r[ansi(c,Q. How can I get my own org?)]%r%r%tOnly the staff has the power to create organizations, so it is a matter of getting them to do so. Your application will go a lot faster if you include your org's alias, full name, type, names of the org leaders. If you already have other org members to add to that org, the staff is ussually much happier about the whole thing.%r%r[ansi(c,Q. How do org trees or sub-orgs work?)]%r%r%tOrgs may be connected via the +org/parent command. Once connected, all members of the child org and its children are considered members of the parent organizations. A group of organizations connected this way may be called an org tree.%r%tA player should only be assigned to one org in any given org tree. However, once assigned that player is considered an org member of that org and all of its parent organizations. Org leaders are only leaders of the org he or she is assigned to, and all of its child orgs.%r%tEach organization in an org tree maintains its own seperate bank accounts, and paychecks come only out of the organization the player is assigned to.%r &HELP_FORM +org/help Database=%b%b[ansi(rh,+org/form)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%r%b%bThis command will create an org with the given name and alias. While the admin using this command will automatically have the new org set as his or her active org, it will not actually assign her or him to it. Only admins may use this command. &HELP_FUNCTIONS +org/help Database=%r[ansi(wh,This functions are restricted to org members and admin use only.)]%r%r%b%b[ansi(rh,omembers\()][ansi(y,)][ansi(rh,\))] - Lists all members of an org.%r%b%b[ansi(rh,owho\()][ansi(y,)][ansi(rh,\))] - Lists all connected members of an org.%r%b%b[ansi(rh,isomember\()][ansi(y,)][ansi(rh,\,)][ansi(y,)][ansi(rh,\))] - Returns a 1 if the player is an org member.%r%b%b[ansi(rh,isoleader\()][ansi(y,)][ansi(rh,\,)][ansi(y,)][ansi(rh,\))] - Returns a 1 if the player is an org leader.%r%r[ansi(wh,This function is restricted to admin use only.)]%r%r%b%b[ansi(rh,addomoney\()][ansi(y,)][ansi(rh,\,)][ansi(y,)][ansi(rh,\,)][ansi(y,)][ansi(rh,\,)][ansi(y,)][ansi(rh,\))] - Adds money to an org account.%r%b%b[ansi(rh,orgs\()][ansi(y,)][ansi(rh,\))] - Returns a list of DB #'s for all orgs the player is apart of.%r%r%b%b[ansi(rh,getmoney\()][ansi(y,\[\,\])][ansi(rh,\))] - Returns how much money the object has.%r%b%b[ansi(rh,setmoney\()][ansi(y,,\[\,\])][ansi(rh,\))] - Sets how much money the object has.%r%b%b[ansi(rh,addmoney\()][ansi(y,,\[\,\])][ansi(rh,\))] - Adds money to an object.%r%b%b[ansi(rh,submoney\()][ansi(y,,\[\,\])][ansi(rh,\))] - Subtracts money from the object. &HELP_GENERAL_COMMANDS +org/help Database=%r[center(ansi(yh,These commands are for everyone's use.),78)]%r%r[ulocal(FN_RLJust,+org/active ,Selects your default org.)]%r[ulocal(FN_RLJust,+org/apply ,Submit an application to the org.)]%r[ulocal(FN_RLJust,+org/deposit = ,Deposits money to an org.)]%r[ulocal(FN_RLJust,+org/desc \[\],Displays a list of all existing orgs.)]%r[ulocal(FN_RLJust,+org/member,Displays all of the orgs you are a member of.)]%r%r[ulocal(FN_RLJust,+balance \[\],Displays how much money you have on you.)]%r[ulocal(FN_RLJust,+pay = \[\],Gives money to player.)]%r%rFor more detail about any command, see: [ansi(rh,+org/help)] [ansi(y,)], using the switch for the +org command. E.g. +org/help help &HELP_HELP +org/help Database=%b%b[ansi(rh,+org/help)] [ansi(y,\[\])]%r%r%b%bThe +org/help system works like the help system, but it's used to explain various commands and topics related to the org system. &HELP_INDEX +org/help Database=[setq(0,ulocal(FN_Sort4Col,lattr(%!/HELP_*)))][iter(%q0,[ifelse(mod(dec(#@),4),,%r%b)][ljust(capstr(lcstr(edit(rest(##,_),_,%b))),17)])]%r%rTo learn more\, type: [ansi(rh,+org/help)] [ansi(y,)] &HELP_INTRODUCTION +org/help Database=%rTo all you good players (and the evil ones as well),%r%r%tI think it's important that I explain some of my thoughts behind this org system, so you may understand how to use it best. This org system is intended to be a tool to help people keep track of members of organizations, to share information between them, and to keep track of what organizations exist in general. It allows 'org leaders' a large degree of control over thier organization. Don't be fooled though, the 'org leader' status for the code may or may not reflect who is ICly in charge of the organization. Some orgs may prefer to make this more of a secretarial position.%r%tThis system is not however, intended to replace roleplaying in any capacity. I hold everyone responsible to not abuse this system. If a player wishes to join an org, they should RP going about that, rather than just typing out org commands and OOC chatter to recruit a player into an org.%r%tAnyway, I wish you the best with this system. Please report any suggestions, complaints, or bugs to me.%r%r[space(40)]Dahan%r &HELP_LEADER +org/help Database=%b%b[ansi(rh,+org/leader)] [ansi(y,)]%r%r%b%bThis command will grant org leadership to a player, provided they are a member of your org. Use of this command is restricted to the primary org leader, org leaders of parent organizations, and admin. &HELP_LEADER_COMMANDS +org/help Database=%r[center(ansi(yh,These commands are for org leader or admin use only.),78)]%r%r[ulocal(FN_RLJust,+org/accept ,Grants org membership to an org applicant.)]%r[ulocal(FN_RLJust,+org/addrank = ,Adds a new rank to the rank table.)]%r[ulocal(FN_RLJust,+org/assign =,Set the assignment of an org member.)]%r[ulocal(FN_RLJust,+org/balance,See how much money the org has.)]%r[ulocal(FN_RLJust,+org/boot ,Removes a player from the org.)]%r[ulocal(FN_RLJust,+org/cleanup \[\],Will remove non-players from an org.)]%r[ulocal(FN_RLJust,+org/contact ,Set the contact message for the org.)]%r[ulocal(FN_RLJust,+org/delrank ,Deletes the rank from the rank table.)]%r[ulocal(FN_RLJust,+org/division =,Set the division of an org member.)]%r[ulocal(FN_RLJust,+org/leader ,Appoints an org leader.)]%r[ulocal(FN_RLJust,+org/ledger \[\],View financial transactions of an org.)]%r[ulocal(FN_RLJust,+org/move to ,Moves a player between orgs.)]%r[ulocal(FN_RLJust,+org/payroll,See how much everyone's weekly paycheck is.)]%r[ulocal(FN_RLJust,+org/primary ,Sets the org's primary leader.)]%r[ulocal(FN_RLJust,+org/rank =,Set the rank/title of an org member.)]%r[ulocal(FN_RLJust,+org/reject ,Denies org membership to an org applicant.)]%r[ulocal(FN_RLJust,+org/retire \[\],Retires player or yourself from org leadership.)]%r[ulocal(FN_RLJust,+org/setdesc =,Sets the org description.)]%r[ulocal(FN_RLJust,+org/setmotd =,Sets the org motd.)]%r[ulocal(FN_RLJust,+org/setpay = ,Sets a players weekly paycheck.)]%r[ulocal(FN_RLJust,+org/setwelcome =,Sets the new member welcome @mail contents.)]%r[ulocal(FN_RLJust,+org/waiting \[\],Displays a list of all org applicants.)]%r[ulocal(FN_RLJust,+org/withdraw = ,Withdraws money from the org.)]%r%rFor more detail about any command, see: [ansi(rh,+org/help)] [ansi(y,)], using the switch for the +org command. E.g. +org/help waiting &HELP_LEADERS +org/help Database=%b%b[ansi(rh,+org/leaders)] [ansi(y,\[\])]%r%r%b%bDisplays a listing of all org leaders. If a player is leader in more than one org tree, thier name will appear more than once. If an org type is included, only leaders of those kinds of orgs will be shown. Only admins may use this command. &HELP_LEDGER +org/help Database=%b%b[ansi(rh,+org/ledger)] [ansi(y,\[\])]%r%r%b%bThis will display all the finacial transactions of the org's account. Only org leaders may use this command. &HELP_LIST +org/help Database=%b%b[ansi(rh,+org/list)] [ansi(y,\[\])]%r%r%b%bThis command will list basic information about all the orgs, including alias, type, full name, and who should be contacted for more information about that org. If the org type is included, only the orgs of that type will be displayed. &HELP_MEMBER +org/help Database=%b%b[ansi(rh,+org/member)] [ansi(y,\[\])]%r%r%b%bThis command will list all the orgs you are a member of, and some basic membership information about yourself in each of those orgs. If the player argument is listed, and you are an admin, it will display the same information about that player. Use of this command is unrestricted if no argument is provided, but is restricted to admins if one is. &HELP_MEMBER_COMMANDS +org/help Database=%r[center(ansi(yh,These commands are for org member or admin use only.),78)]%r%r[ulocal(FN_RLJust,+org/activity \[\],Displays how active members are.)]%r[ulocal(FN_RLJust,+org/email \[\],Displays member IC email addresses.)]%r[ulocal(FN_RLJust,+org/motd \[\],Displays the org motd.)]%r[ulocal(FN_RLJust,+org/paycheck \[\],Collects your weekly paycheck.)]%r[ulocal(FN_RLJust,+org/payroll \[\],Displays your payroll data.)]%r[ulocal(FN_RLJust,+org/quit \[\],Remove yourself from the org.)]%r[ulocal(FN_RLJust,+org/ranks \[\],Display the rank table of the org.)]%r[ulocal(FN_RLJust,+org/roster \[\],Lists all the members of the org.)]%r[ulocal(FN_RLJust,+org/search =,Display org members that match the criteria.)]%r[ulocal(FN_RLJust,+org/welcome \[\],Displays an org's welcome @mail.)]%r[ulocal(FN_RLJust,+org/who \[\],Lists the members of the org that are connected.)]%r%rFor more detail about any command, see: [ansi(rh,+org/help)] [ansi(y,)], using the switch for the +org command. E.g. +org/help motd &HELP_MOTD +org/help Database=%b%b[ansi(rh,+org/motd)] [ansi(y,\[\])]%r%b%b[ansi(rh,+org/motd)] [ansi(y,all)]%r%r%b%bThis command allows you to view an org message of the day. You must be a member of an org to see it's MOTD. &HELP_MOVE +org/help Database=%b%b[ansi(rh,+org/move)] [ansi(y,)] [ansi(rh,to)] [ansi(y,)]%r%r%b%bThis command is used to move a player from one branch or an org tree to another, maintaining the player's data. Only leaders of both destination and source organizations, or admins, may use this command. &HELP_NUKE +org/help Database=%b%b[ansi(rh,+org/nuke)] [ansi(y,)]%r%r%b%bThis command will destroy an org. There is no way to easily undo this command, though a new org of the same name may be reformed. Only admins may use this command. &HELP_PARENT +org/help Database=%b%b[ansi(rh,+org/parent)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%r%b%bThis command is used to attach organizations into an org tree by setting org1's parent organization to org2. Members of the children organization gain an implict membership in all of the org's parent organizations, as is show in +org/roster and the MOTDs they see when they connect. Leaders of parent organizations gain an implict membership and leadership in all child organizations. It should be noted though that each org retains its own org bank account, which only pays its immediate members. Only admins may use this command.%r%r%b%bIMPORTANT: Players are supposed to only have one membership in an org tree. While the +org/apply, +org/accept, and +org/appoint commands enforce this, +org/parent does not preform such checks. Use +org/boot on players who gain duel-membership in the resulting org tree. &HELP_PAYCHECK +org/help Database=%b%b[ansi(rh,+org/paycheck)] [ansi(y,\[\])]%r%r%b%bThis will allow an org member to collect thier weekly paycheck from an org. Use of this command is restricted to org members. &HELP_PAYROLL +org/help Database=%b%b[ansi(rh,+org/payroll)] [ansi(y,\[\])]%r%r%b%bWhat this command displays depends on whether you are an org member, leader, or admin. For org leaders and staff, this command will display how much each member's weekly paycheck is, and when it was last collected. For mere org members however, it will only show thier own payroll information. &HELP_PRIMARY +org/help Database=%b%b[ansi(rh,+org/primary)] [ansi(y,)]%r%r%b%bThis command will grant primary leadership of an org to a player, provided they are a member of your org. Use of this command is restricted to the primary org leader, org leaders of parent organizations, and admin. &HELP_QUIT +org/help Database=%b%b[ansi(rh,+org/quit)] [ansi(y,\[\])]%r%r%b%bThis command allows players to forfiet membership in an org. You must be a member of the org to use this command. &HELP_RANK +org/help Database=%b%b[ansi(rh,+org/title)] [ansi(y,)][ansi(rh,=)][ansi(y,)]%r%b%b[ansi(rh,+org/rank)] [ansi(y,<player>)][ansi(rh,=)][ansi(y,<rank>)]%r%r%b%bThis command sets the title/rank of an org member. Military orgs may prefer to call org titles ranks, but the code treats them as the same. Use of this command is restricted to org leaders. &HELP_RANKS +org/help Database=%b%b[ansi(rh,+org/ranks)] [ansi(y,\[<org>\])]%r%r%b%bThis will display the rank table of the org. This rank table is used in conjunction with +org/rank and +org/title to automatically set the pay of a member, provided the rank is on the rank table. Use of this command is restricted to org members only. &HELP_REJECT +org/help Database=%b%b[ansi(rh,+org/reject)] [ansi(y,<player>)]%r%r%b%bThis command will turn down org leadership to a person on the waiting list. Use of this command is restricted to org leaders. &HELP_RENAME +org/help Database=%b%b[ansi(rh,+org/name)] [ansi(y,<org>)][ansi(rh,=)][ansi(y,<name>)]%r%r%b%bThis command will change the name of an org. Only admins may use this command. &HELP_RETIRE +org/help Database=%b%b[ansi(rh,+org/retire)] [ansi(y,\[<player>\])]%r%r%b%bThis command lets an org's primary leader to retire players from org leadership, including his own if need be. &HELP_ROSTER +org/help Database=%b%b[ansi(rh,+org/roster)] [ansi(y,\[<org>\])]%r%r%b%bThis command displays the complete membership of an org. The names of org leaders will appear in bright red, while the primary leader's name will appear in gold. You must be a member of the org to use this command. &HELP_SEARCH +org/help Database=%b%b[ansi(rh,+org/search)] [ansi(y,<Name/Title/Rank/Assignment/Division>)][ansi(rh,=)][ansi(y,<search string>)]%r%r%b%bThis command will search for all members of the org where the search string matches the selected catagory. Search strings may include wildcard characters like * and ?. Use of this command is restricted to org members. &HELP_SETDESC +org/help Database=%b%b[ansi(rh,+org/setdesc)] [ansi(y,<org>)][ansi(rh,=)][ansi(y,<desc>)]%r%r%b%bThis command will set the org's description, viewable via +org/desc. Use of this command is restricted to org leaders. &HELP_SETMOTD +org/help Database=%b%b[ansi(rh,+org/setmotd)] [ansi(y,<org>)][ansi(rh,=)][ansi(y,<motd>)]%r%r%b%bThis command will set the org's message of the day. Use of this command is restricted to org leaders. &HELP_SETPAY +org/help Database=%b%b[ansi(rh,+org/setpay)] [ansi(y,<player>)][ansi(rh,=)][ansi(y,<amount> <currency>)]%r%r%b%bThis will set a members weekly paycheck. Use of this command is restricted to org leaders. &HELP_SETWELCOME +org/help Database=%b%b[ansi(rh,+org/setwelcome)] [ansi(y,<org>)][ansi(rh,=)][ansi(y,<message>)]%r%r%b%bWhen new players are accepted or appointed into an organization, they are sent a welcome @mail. This command allows an org leader to fill in what is in the @mail that is sent. &HELP_TITLE +org/help Database=%b%b[ansi(rh,+org/title)] [ansi(y,<player>)][ansi(rh,=)][ansi(y,<title>)]%r%b%b[ansi(rh,+org/rank)] [ansi(y,<player>)][ansi(rh,=)][ansi(y,<rank>)]%r%r%b%bThis command sets the title/rank of an org member. Military orgs may prefer to call org titles ranks, but the code treats them as the same. Use of this command is restricted to org leaders. &HELP_TREE +org/help Database=%b%b[ansi(rh,+org/tree)] [ansi(y,\[<org>\])]%r%r%b%bDisplays a list of orgs in a way to clearly show parent/child relationship betweens organizations. If an org is specified, only that org tree will be displayed. Otherwise all organizations are shown. &HELP_TYPE +org/help Database=%b%b[ansi(rh,+org/type)] [ansi(y,<org>)][ansi(rh,=)][ansi(y,<type>)]%r%r%b%bThis command will set the type of an org. The various types are listed at the bottom of +org/list. Only admins may use this command. &HELP_UNPARENT +org/help Database=%b%b[ansi(rh,+org/unparent)] [ansi(y,<org>)]%r%r%b%bThis command detaches an organzation from its parent organizations. Only admins may use this command. &HELP_WAITING +org/help Database=%b%b[ansi(rh,+org/waiting)] [ansi(y,\[<org>\])]%r%b%b[ansi(rh,+org/waiting)] [ansi(y,all)]%r%r%b%bThis command displays whose application for membership in your org is still pending. Use of this command is restricted to org leaders. &HELP_WELCOME +org/help Database=%b%b[ansi(rh,+org/welcome)] [ansi(y,\[<org>\])]%r%b%b[ansi(rh,+org/welcome)] [ansi(y,all)]%r%r%b%bWhen new players are accepted or appointed into an organization, they are sent a welcome @mail. This command allows an org members to see what is in the @mail that is sent. Please note that the 'all' option will only display welcome messages from organizational trees that you are actually a member of. &HELP_WHO +org/help Database=%b%b[ansi(rh,+org/who)] [ansi(y,\[<org>\])]%r%b%b[ansi(rh,OWHO)] [ansi(y,\[<org>\])]%r%b%b[ansi(rh,FWHO)] [ansi(y,\[<org>\])]%r%r%b%bThis command allows you to view who is online from a given org. The names of org leaders will appear in bright red, while the primary leader's name will appear in gold. Only org members may use this command. &HELP_WITHDRAW +org/help Database=%b%b[ansi(rh,+org/withdraw)] [ansi(y,<org>)][ansi(rh,=)][ansi(y,<amount> <currency>)]%r%r%b%bThis will tranfer org funds to you. Use of this command is restricted to org leaders. @@ think [set(System,DB_HELP:[num(Database)])][tel(Database,System)][tel(System,#2)]Done! @@ End of file.