@create Org/Econ System 3.0 @set Org/Econ System 3.0 = TRUST @set Org/Econ System 3.0 = !NO_COMMAND @set Org/Econ System 3.0 = OPAQUE @set Org/Econ System 3.0 = WIZARD @ACONNECT Org/Econ System 3.0=[iter(sortby(FN_Org_Sort,v(List_Orgs)),[ifelse(u(FN_IsMember,%#,##),pemit(%#,[u(FN_Motd,##)]),)][ifelse(u(FN_IsLeader,%#,##),pemit(%#,[u(FN_Waiting,##)]),)])] @CONFORMAT Org/Econ System 3.0=Orgs:[iter(%0,[ifelse(mod(dec(#@),7),,%r)][ljust([ansi(wh,name(##))]\([##][flags(##)]\),10)] @DESCRIBE Org/Econ System 3.0=For instructions, see: [ansi(rh,+org/help)] @STARTUP Org/Econ System 3.0=@drain %!;@notify %!;@dolist Active_Org Money={@attribute/access/retroactive [##]=no_command no_inherit no_clone mortal_dark wizard};@dolist [lattr(%!/FUN_*)]={@function [rest(##,_)]=%!,##} &CMD_ACCEPT Org/Econ System 3.0=$+org/accept *:@swi [setq(0,secure(get(%#/Active_Org)))][setq(1,pmatch(secure(%0)))][t(match(v(List_Orgs),%q0))][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))][t(match(get(%q0/Waiting),%q1))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110,{@pemit %#=[ansi(rh,-)] [ifelse(isdbref(%q1),[name(%q1)],[secure(%0)])] is not on the [get(%q0/Fullname)] waiting list.},111,{@pemit/list [u(FN_OWho,%q0)] [%q1]=[ansi(rh,-)] [name(%q1)] has been accepted into the [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))],|)])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_ACTIVE Org/Econ System 3.0=$+org/active *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(gh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(gh,-)] [u(MSG_Member)]},11,{@pemit %#=[ansi(gh,-)] You select [get(%q0/Fullname)] as your active org.[set(%#,Active_Org:[%q0])][squish(iter(no_command mortal_dark wizard,[set(%#/Active_Org,##)]))]},{@pemit %#=[ansi(gh,-)] [u(MSG_Crit)]} &CMD_ADDRANK Org/Econ System 3.0=$+org/addrank *=* *:@swi [setq(0,u(FN_ActiveOrg,%#))][setq(1,edit(squish(secure(%0)),%b,_))][setq(2,abs(val(secure(%1))))][setq(3,[match(get(%q0/List_Ranks),* [%q1],|)])][setq(4,squish(secure(%2)))][setq(5,grab(v(List_Currency),[ifelse(match(s,right(%q4,1)),mid(%q4,0,sub(strlen(%q4),1)),%q4)]*))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))][t(%q5)][t(%q3)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotCur)]},1111,{@pemit %#=[ansi(rh,-)] You reset the pay for [%q1] to [%q2] [%q5]s.[set(%q0,List_Ranks:[setunion(setdiff(get(%q0/List_Ranks),extract(get(%q0/List_Ranks),%q3,1,|),|),[%q2] [%q5] [%q1],|)])]},1110,{@pemit %#=[ansi(rh,-)] You add the rank [%q1] with a paycheck of [%q2] [%q5]s.[set(%q0,List_Ranks:[setunion(get(%q0/List_Ranks),[%q2] [%q5] [%q1],|)])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_ALIAS Org/Econ System 3.0=$+org/alias *=*:@swi [u(FN_IsAdmin,%#)][setq(0,ulocal(FN_Org_Num,secure(%0)))][setq(1,mid(ucstr(edit(secure(%1),%b,)),0,5))][setq(2,ulocal(FN_Org_Num,secure(%1)))][isdbref(%q0)][isdbref(%q2)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10*,{@pemit %#=[ansi(mh,-)] [u(MSG_NotOrg)]},111,{@pemit %#=[ansi(mh,-)] [name(%q1)] is in use by [get(%q2/Fullname)].},110,{@pemit %#=[ansi(mh,-)] [get(%q0/Fullname)]'s new alias is [name(%q0,%q1)].},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_ALIST Org/Econ System 3.0=$+org/alist:@swi [u(FN_IsAdmin,%#)]=0,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},1,{@pemit %#=[u(FN_TopLine,Org: Admin Listing)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)][center(Waiting,7)] [center(Member,7)] [center(Leader,7)])]%r[u(FN_MidLine)][setq(1,sortby(FN_Org_Sort2,v(List_Orgs)))][iter(%q1,%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(get(##/FullName),42)][center(words(get(##/Waiting)),7)] [center(words(get(##/List_Members),|),7)] [center(words(get(##/Leaders)),7)])]%r[iter(v(List_Types),[ifelse(mod(dec(#@),4),,%r)][ljust([ansi(c,capstr(##))] - [extract(v(List_Type_Names),#@,1)],18)])]%r[u(FN_BotLine,name(%!))]},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_ALIST2 Org/Econ System 3.0=$+org/alist *:@swi [u(FN_IsAdmin,%#)][setq(0,grab(v(List_Types),secure(%0)))][t(%q0)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10,{@pemit %#=[ansi(gh,-)] That is not a valid org type. Please use one of the following: [v(List_Types)].},11,{@pemit %#=[u(FN_TopLine,Org: Admin Listing)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)][center(Waiting,7)] [center(Member,7)] [center(Leader,7)])]%r[u(FN_MidLine)][setq(1,sortby(FN_Org_Sort2,v(List_Orgs)))][iter(%q1,[ifelse(match(get(##/Type),%q0),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(get(##/FullName),42)][center(words(get(##/Waiting)),7)] [center(words(get(##/List_Members),|),7)] [center(words(get(##/Leaders)),7)],)])]%r[iter(v(List_Types),[ifelse(mod(dec(#@),4),,%r)][ljust([ansi(c,capstr(##))] - [extract(v(List_Type_Names),#@,1)],18)])]%r[u(FN_BotLine,name(%!))]},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_APPLY Org/Econ System 3.0=$+org/apply *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][isdbref(%q0)][u(FN_IsMember,%#,%q0)][t(match(get(%q0/Waiting),%#))]=0*,{@pemit %#=[ansi(gh,-)] [u(MSG_NotOrg)]},11*,{@pemit %#=[ansi(gh,-)] You are allready a member of that organization.},101,{@pemit %#=[ansi(gh,-)] Your last application for [get(%q0/Fullname)] is still on file.},100,{@pemit %#=[ansi(gh,-)] You submit your application to [get(%q0/Fullname)].[set(%q0,Waiting:[setunion(get(%q0/Waiting),%#)])];@pemit/list [get(%q0/Leaders)]=[ansi(gh,-)] %N has applied to join the [get(%q0/Fullname)].},{@pemit %#=[ansi(gh,-)] [u(MSG_Crit)]} &CMD_APPOINT Org/Econ System 3.0=$+org/appoint *=*:@swi [setq(0,ulocal(FN_Org_Num,secure(%1)))][setq(1,pmatch(secure(%0)))][u(FN_IsAdmin,%#)][isdbref(%q0)][isdbref(%q1)][u(FN_IsMember,%q1,%q0)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10*,{@pemit %#=[ansi(mh,-)] [u(MSG_NotOrg)]},110*,{@pemit %#=[ansi(mh,-)] [secure(%0)] does not exist.},1111,{@pemit %#=[ansi(mh,-)] [name(%q1)] is allready a member of that organization.},1110,{@pemit %#=[ansi(mh,-)] You appoint [name(%q1)] to be a member of [get(%q0/Fullname)].;@pemit/list [setunion(u(FN_OWho,%q0),%q1)]=[ansi(rh,-)] [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]^[get(%q1/title)]^^^0^-1^[first(v(List_Currency))],|)])][set(%#,Active_Org:[%q0])]},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_ASSIGN Org/Econ System 3.0=$+org/assign *=*:@swi [setq(0,pmatch(secure(%0)))][setq(1,secure(%1))][setq(2,secure(get(%#/Active_Org)))][t(match(v(List_Orgs),%q2))][or(u(FN_IsLeader,%#,%q2),u(FN_ISAdmin,%#))][u(FN_IsMember,%q0,%q2)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110,{@pemit %#=[ansi(rh,-)] [u(MSG_NotMember,%q0)]},111,{@pemit %#=[ansi(rh,-)] You set [name(%q0)]'s assignment to [%q1].[setq(3,grab(get(%q2/List_Members),[%q0]^*,|))][set(%q2,List_Members:[setunion(setdiff(get(%q2/List_Members),%q3,|),[extract(%q3,1,2,^)]^[%q1]^[extract(%q3,4,6,^)],|)])];@pemit [%q0]=[ansi(rh,-)] %N sets your assignment to [%q1].},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_BALANCE Org/Econ System 3.0=$+org/balance:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Balance,%q0,Org Balance: [get(%q0/Fullname)])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_BALANCE2 Org/Econ System 3.0=$+org/balance *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Balance,%q0,Org Balance: [get(%q0/Fullname)])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_BALANCE3 Org/Econ System 3.0=$+balance:@pemit %#=[u(FN_Balance,%#,%N's Balance)] &CMD_BALANCE4 Org/Econ System 3.0=$+balance *:@pemit %#=[setq(0,pmatch(secure(%0)))][switch([isdbref(%q0)][or(orflags(%#,Wr),match(%q0,%#))],0*,[ansi(rh,-)] No player could be found with that name.,10,[ansi(rh,-)] You do not have permission to view [name(%q0)]'s private accounts.,11,ulocal(FN_Balance,%q0,[name(%q0)]'s Balance),[ansi(rh,-)] Critical error. Report this bug at once!)] &CMD_BOOT Org/Econ System 3.0=$+org/boot *:@swi [setq(0,u(FN_ActiveOrg,%#))][setq(1,pmatch(secure(%0)))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))][u(FN_IsMember,%q1,%q0)]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(yh,-)] [u(MSG_Leader)]},110,{@pemit %#=[ansi(rh,-)] [name(%q1)] is not an member of your org.},111,{@pemit [%q1]=[ansi(yh,-)] You have been booted from [get(%q0/Fullname)] by %N.[set(%q0,List_Members:[setdiff(get(%q0/List_Members),grab(get(%q0/List_Members),[%q1]^*,|),|)])][set(%q0,Leaders:[setdiff(get(%q0/Leaders),%q1)])];@pemit/list [setunion(get(%q0/Leaders),%#)]=[ansi(yh,-)] [name(%q1)] has been booted from [get(%q0/Fullname)] by %N.},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_CLEANUP Org/Econ System 3.0=$+org/cleanup:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[ansi(rh,-)] Cleaning up the waiting lists and roster of [get(%q0/Fullname)].[set(%q0,Waiting:[squish(iter(get(%q0/Waiting),ifelse(hastype(##,PLAYER),##,)))])][set(%q0,List_Members:[setunion(,iter(get(%q0/List_Members),ifelse(hastype(first(##,^),PLAYER),##,),|,|),|)])][set(%q0,Leaders:[squish(iter(get(%q0/Leaders),ifelse(u(FN_IsMember,##,%q0),##,)))])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_CLEANUP2 Org/Econ System 3.0=$+org/cleanup *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[ansi(rh,-)] Cleaning up the waiting lists and roster of [get(%q0/Fullname)].[set(%q0,Waiting:[squish(iter(get(%q0/Waiting),ifelse(hastype(##,PLAYER),##,)))])][set(%q0,List_Members:[setunion(,iter(get(%q0/List_Members),ifelse(hastype(first(##,^),PLAYER),##,),|,|),|)])][set(%q0,Leaders:[squish(iter(get(%q0/Leaders),ifelse(u(FN_IsMember,##,%q0),##,)))])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_CONTACT Org/Econ System 3.0=$+org/contact *:@swi [setq(0,secure(get(%#/Active_Org)))][setq(1,mid(secure(%0),0,24))][t(match(v(List_Orgs),%q0))][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[ansi(rh,-)] The contact message for [get(%q0/Fullname)] is "[%q1]."[set(%q0,Contact:[%q1])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_DELRANK Org/Econ System 3.0=$+org/delrank *:@swi [setq(0,u(FN_ActiveOrg,%#))][setq(1,edit(squish(secure(%0)),%b,_))][setq(2,[match(get(%q0/List_Ranks),* [%q1],|)])][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))][t(%q2)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110,{@pemit %#=[ansi(rh,-)] [edit(%q1,_,%b)] is not in the rank table.},111,{@pemit %#=[ansi(rh,-)] You remove [edit(extract(extract(get(%q0/List_Ranks),%q2,1,|),3,1),_,%b)] from the rank table.[set(%q0,List_Ranks:[setdiff(get(%q0/List_Ranks),extract(get(%q0/List_Ranks),%q2,1,|),|)])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_DEPOSIT Org/Econ System 3.0=$+org/deposit *=*:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][setq(1,abs(val(first(secure(%1)))))][setq(2,rest(secure(%1)))][setq(3,u(FN_MatchCur,%q2,%#))][isdbref(%q0)][t(%q3)][gte(u(FN_GetMoney,%#,%q3),%q1)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotCur)]},110,{@pemit %#=[ansi(rh,-)] You don't have the [ulocal(FN_Format,[%q1] [%q3])] to deposit.},111,{@pemit %#=[ansi(rh,-)] You deposit [ulocal(FN_Format,[%q1] [%q3])] in the bank accounts of [get(%q0/Fullname)].[ulocal(FN_AddRecord,%q0,%#,%q1,%q3,Deposit)][ulocal(FN_Transfer,%@,%q0,%q1,%q3)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_DESC Org/Econ System 3.0=$+org/desc:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)]=0,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},1,{@pemit %#=[u(FN_Desc,%q0)]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_DESC2 Org/Econ System 3.0=$+org/desc *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)]=0,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},1,{@pemit %#=[u(FN_Desc,%q0)]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_DIVISION Org/Econ System 3.0=$+org/division *=*:@swi [setq(0,pmatch(secure(%0)))][setq(1,secure(%1))][setq(2,secure(get(%#/Active_Org)))][t(match(v(List_Orgs),%q2))][or(u(FN_IsLeader,%#,%q2),u(FN_ISAdmin,%#))][u(FN_IsMember,%q0,%q2)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110,{@pemit %#=[ansi(rh,-)] [u(MSG_NotMember,%q0)]},111,{@pemit %#=[ansi(rh,-)] You set [name(%q0)]'s division to [%q1].[setq(3,grab(get(%q2/List_Members),[%q0]^*,|))][set(%q2,List_Members:[setunion(setdiff(get(%q2/List_Members),%q3,|),[extract(%q3,1,3,^)]^[%q1]^[extract(%q3,5,3,^)],|)])];@pemit [%q0]=[ansi(rh,-)] %N sets your division to [%q1].},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_FORM Org/Econ System 3.0=$+org/form *=*:@swi [u(FN_IsAdmin,%#)][setq(0,ucstr(edit(secure(%0),%b,)))][setq(1,mid(squish(secure(%1)),0,42))][and(gte(strlen(%q0),1),lt(strlen(%q0),6))][isdbref(setr(2,ulocal(FN_Org_Num,%q0)))]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10*,{@pemit %#=[ansi(mh,-)] Aliases must be between 1 and 5 characters long.},111,{@pemit %#=[ansi(mh,-)] [%q0] is allready in use by [get(%q2/FullName)].},110,{@pemit %#=[ansi(mh,-)] [%q1] \([%q0]\) has been created. Please be sure to configure it as necessary.[setq(2,create(%q0))][set(%q2,Fullname:[%q1])][set(%q2,Leaders:[%#])][set(%q2,MOTD:)][set(%q2,List_Members:[%#]^^^^0^-1^[first(v(List_Currency))])][set(%q2,Main_Currency:[first(v(List_Currency))])][set(%q2,Type:org)][set(%q2,Waiting:)][set(%q2,Contact:N/A)][set(%q2,FN_CanSee:1)][set(%!,List_Orgs:[setunion(v(List_Orgs),%q2)])][tel(%q2,%!)][set(%#,Active_Org:[%q2])][squish(iter(no_command mortal_dark wizard,[set(%#/Active_Org,##)]))]},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_HELP Org/Econ System 3.0=$+org/help:@pemit %#=[u(FN_TopLine,Org Help)]%r[u(v(DB_Help)/Help)]%r[u(FN_BotLine,name(%!))] &CMD_HELP2 Org/Econ System 3.0=$+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)],[u(FN_TopLine,Org Help: [iter(lcstr(rest(%q0,_)),capstr(##),_)])]%r[u(v(DB_Help)/[%q0])]%r[u(FN_BotLine,name(%!))],[ansi(gh,-)] No +org/help file was found under that name.)] &CMD_LEADER Org/Econ System 3.0=$+org/leader *:@swi [setq(0,secure(get(%#/Active_Org)))][setq(1,pmatch(secure(%0)))][t(match(v(List_Orgs),%q0))][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))][u(FN_IsLeader,%q1,%q0)][u(FN_IsMember,%q1,%q0)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},111*,{@pemit %#=[ansi(rh,-)] [name(%q1)] is allready a leader of [get(%q0/Fullname)].},1100,{@pemit %#=[ansi(rh,-)] [name(%q1)] is not an member of your org.},1101,{@pemit %#=[ansi(rh,-)] You have appointed [name(%q1)] leader of [get(%q0/Fullname)].;@pemit/list [u(FN_OWho,%q0)]=[ansi(rh,-)] [name(%q1)] has been appointed leader of [get(%q0/Fullname)] by %N.[set(%q0,Leaders:[setunion(get(%q0/Leaders),%q1)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_LEADERS Org/Econ System 3.0=$+org/leaders:@swi [u(FN_IsAdmin,%#)]=0,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},1,{@pemit %#=[map(FN_Leaders,v(List_Orgs))]%r[u(FN_BotLine,name(%!))]},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_LEADERS2 Org/Econ System 3.0=$+org/leaders *:@swi [u(FN_IsAdmin,%#)][setq(0,grab(v(List_Types),secure(%0)))][t(%q0)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10,{@pemit %#=[ansi(mh,-)] That is not a valid org type. Please use one of the following: [v(List_Types)].},11,{@pemit %#=[setq(1,iter(sortby(FN_Org_Sort,v(List_Orgs)),ifelse(match(%q0,get(##/type)),##,)))][map(FN_Leaders,%q1)]%r[u(FN_BotLine,name(%!))]},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_LEDGER Org/Econ System 3.0=$+org/ledger:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Ledger,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_LEDGERL2 Org/Econ System 3.0=$+org/ledger *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Ledger,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_LIST Org/Econ System 3.0=$+org/list:@pemit %#=[u(FN_TopLine,Org: Listing)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)]Contact)]%r[u(FN_MidLine)][setq(0,sortby(FN_Org_Sort,v(List_Orgs)))][iter(%q0,ifelse(u(##/FN_CanSee,%#),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(get(##/FullName),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[u(FN_BotLine,name(%!))] &CMD_LIST2 Org/Econ System 3.0=$+org/list *:@swi [setq(0,grab(v(List_Types),secure(%0)))][t(%q0)]=0,{@pemit %#=[ansi(gh,-)] That is not a valid org type. Please use one of the following: [v(List_Types)].},1,{@pemit %#=[u(FN_TopLine,Org: Listing)]%r[ansi(yh,%bAlias Type [ljust(Full Name,42)]Contact)]%r[u(FN_MidLine)][setq(1,sortby(FN_Org_Sort,v(List_Orgs)))][iter(%q1,[ifelse(and(match(get(##/Type),%q0),u(##/FN_CanSee,%#)),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(get(##/FullName),42)][get(##/Contact)],)])]%r%r[ansi(c,capstr(%q0))] - [extract(v(List_Type_Names),match(v(List_Types),%q0),1)]%r[u(FN_BotLine,name(%!))]},{@pemit %#=[ansi(gh,-)] [u(MSG_Crit)]} &CMD_MEMBER Org/Econ System 3.0=$+org/member:@pemit %#=[u(FN_TopLine,Org: Current Memberships)]%r[ansi(yh,%bAlias Type [ljust(Full Name,29)][ljust(Title,18)][ljust(Division,18)])]%r[u(FN_MidLine)][iter(sortby(FN_Org_Sort,v(List_Orgs)),ifelse(u(FN_IsMember,%#,##),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(mid(get(##/FullName),0,29),29)][setq(0,grab(get(##/List_Members),[%#]^*,|))][ljust(mid(extract(%q0,2,1,^),0,18),18)][ljust(mid(extract(%q0,4,1,^),0,18),18)],))]%r[iter(v(List_Types),[ifelse(mod(dec(#@),4),,%r)][ljust([ansi(c,capstr(##))] - [extract(v(List_Type_Names),#@,1)],18)])]%r[u(FN_BotLine,name(%!))] &CMD_MEMBER2 Org/Econ System 3.0=$+org/member *:@swi [setq(0,pmatch(secure(%0)))][u(FN_IsAdmin,%#)][isdbref(%q0)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10,{@pemit %#=[ansi(mh,-)] [secure(%0)] is not a player.},11,{@pemit %#=[u(FN_TopLine,Org: Current Memberships of [name(%q0)])]%r[ansi(yh,%bAlias Type [ljust(Full Name,29)][ljust(Title,18)][ljust(Division,18)])]%r[u(FN_MidLine)][iter(sortby(FN_Org_Sort,v(List_Orgs)),ifelse(u(FN_IsMember,%q0,##),%r%b[ljust(name(##),5)] [ljust(capstr(get(##/Type)),4)] [ljust(mid(get(##/FullName),0,29),29)][setq(1,grab(get(##/List_Members),[%q0]^*,|))][ljust(mid(extract(%q1,2,1,^),0,18),18)][ljust(mid(extract(%q1,4,1,^),0,18),18)],))]%r[iter(v(List_Types),[ifelse(mod(dec(#@),4),,%r)][ljust([ansi(c,capstr(##))] - [extract(v(List_Type_Names),#@,1)],18)])]%r[u(FN_BotLine,name(%!))]},{@pemit %#=[u(MSG_Crit)]} &CMD_MOTD Org/Econ System 3.0=$+org/motd:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_MOTD,%q0)]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_MOTD2 Org/Econ System 3.0=$+org/motd *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_MOTD,%q0)]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_NAME Org/Econ System 3.0=$+org/rename *=*:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][setq(1,mid(squish(secure(%1)),0,42))][ulocal(FN_IsAdmin,%#)][isdbref(%q0)][gte(words(%q1),1)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10*,{@pemit %#=[ansi(mh,-)] [u(MSG_NotOrg)]},110,{@pemit %#=[ansi(mh,-)] That is not a valid name.},111,{@pemit %#=[ansi(mh,-)] [get(%q0/FullName)] \([name(%q0)]\) has been renamed as [set(%q0,FullName:[%q1])][%q1].},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_NUKE Org/Econ System 3.0=$+org/nuke *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][ulocal(FN_IsAdmin,%#)][isdbref(%q0)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10*,{@pemit %#=[ansi(mh,-)] [u(MSG_NotOrg)]},11,{@pemit/list [u(FN_OWho,%q0)]=[ansi(mh,-)] [get(%q0/Fullname)] has been nuked by %N.;@pemit %#=[ansi(mh,-)] You have nuked the organization [get(%q0/Fullname)].[set(%!,List_Orgs:[setdiff(v(List_Orgs),%q0)])];@destroy %q0;@destroy %q0},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_PAY Org/Econ System 3.0=$+pay * to *:@swi [setq(0,abs(val(first(secure(%0)))))][setq(1,u(FN_MatchCur,rest(secure(%0)),%#))][setq(2,pmatch(secure(%1)))][isdbref(%q2)][match(loc(%q2),loc(%#))][t(%q1)][gte(u(FN_GetMoney,%#,%q1),%q0)]=0*,{@pemit %#=[ansi(rh,-)] No player could be found with that name.},10*,{@pemit %#=[ansi(rh,-)] [name(%q2)] is not at your location.},110*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotCur)]},1110,{@pemit %#=[ansi(rh,-)] You don't have [%q0] [%q1]s.},1111,{[remit(loc(%#),%N gives [name(%q2)] [%q0] [%q1]s.)][ulocal(FN_Transfer,%@,%q2,%q0,%q1)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_PAYCHECK Org/Econ System 3.0=$+org/paycheck:@swi [setq(0,u(FN_ActiveOrg,%#))][setq(1,grab(get(%q0/List_Members),[%#]^*,|))][setq(2,extract(%q1,5,1,^))][setq(3,extract(%q1,7,1,^))][setq(4,extract(%q1,6,1,^))][isdbref(%q0)][u(FN_IsMember,%#,%q0)][gte(setr(5,sub(u(FN_DNum),%q4)),7)][gt(%q2,0)][gte(u(FN_GetMoney,%q0,%q3),%q2)]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},110*,{@pemit %#=[ansi(yh,-)] You must wait [sub(7,%q5)] days until you can collect your next weekly paycheck.},1110*,{@pemit %#=[ansi(yh,-)] Your weekly paycheck is nothing. Wait until you get a salary.},11110,{@pemit %#=[ansi(yh,-)] [get(%q0/Fullname)] doesn't have the [%q2] [%q3]s to pay you.},11111,{@pemit %#=[ansi(yh,-)] You collect your weekly paycheck of [%q2] [%q3]s.[set(%q0,List_Members:[setunion(setdiff(get(%q0/List_Members),%q1,|),[extract(%q1,1,4,^)]^[%q2]^[u(FN_DNum)]^[%q3],|)])][ulocal(FN_AddRecord,%q0,%#,mul(-1,%q2),%q3,Paycheck)][ulocal(FN_Transfer,%q0,%@,%q2,%q3)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_PAYCHECK2 Org/Econ System 3.0=$+org/paycheck *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][setq(1,grab(get(%q0/List_Members),[%#]^*,|))][setq(2,extract(%q1,5,1,^))][setq(3,extract(%q1,7,1,^))][setq(4,extract(%q1,6,1,^))][isdbref(%q0)][u(FN_IsMember,%#,%q0)][gte(setr(5,sub(u(FN_DNum),%q4)),7)][gt(%q2,0)][gte(u(FN_GetMoney,%q0,%q3),%q2)]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},110*,{@pemit %#=[ansi(yh,-)] You must wait [sub(7,%q5)] days until you can collect your next weekly paycheck.},1110*,{@pemit %#=[ansi(yh,-)] Your weekly paycheck is nothing. Wait until you get a salary.},11110,{@pemit %#=[ansi(yh,-)] [get(%q0/Fullname)] doesn't have the [%q2] [%q3]s to pay you.},11111,{@pemit %#=[ansi(yh,-)] You collect your weekly paycheck of [%q2] [%q3]s.[set(%q0,List_Members:[setunion(setdiff(get(%q0/List_Members),%q1,|),[extract(%q1,1,4,^)]^[%q2]^[u(FN_DNum)]^[%q3],|)])][ulocal(FN_AddRecord,%q0,%#,mul(-1,%q2),%q3,Paycheck)][ulocal(FN_Transfer,%q0,%@,%q2,%q3)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_PAYROLL Org/Econ System 3.0=$+org/payroll:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Payroll,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_PAYROLL2 Org/Econ System 3.0=$+org/payroll *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Payroll,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_QUIT Org/Econ System 3.0=$+org/quit:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][u(FN_IsMember,%#,%q0)]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[ansi(yh,-)] You are now no longer in [get(%q0/Fullname)].[set(%q0,List_Members:[setdiff(get(%q0/List_Members),grab(get(%q0/List_Members),[%#]^*,|),|)])][set(%q0,Leaders:[setdiff(get(%q0/Leaders),%#)])];@pemit/list [get(%q0/Leaders)]=[ansi(yh,-)] %N has quit [get(%q0/Fullname)].},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_QUIT2 Org/Econ System 3.0=$+org/quit *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][u(FN_IsMember,%#,%q0)]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[ansi(yh,-)] You are now no longer in [get(%q0/Fullname)].[set(%q0,List_Members:[setdiff(get(%q0/List_Members),grab(get(%q0/List_Members),[%#]^*,|),|)])][set(%q0,Leaders:[setdiff(get(%q0/Leaders),%#)])];@pemit/list [get(%q0/Leaders)]=[ansi(yh,-)] %N has quit [get(%q0/Fullname)].},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_RANK Org/Econ System 3.0=$+org/rank *=*:@swi [setq(0,pmatch(secure(%0)))][setq(1,squish(secure(%1)))][setq(2,secure(get(%#/Active_Org)))][setq(3,[match(get(%q2/List_Ranks),* [edit(%q1,%b,_)],|)])][setq(4,grab(get(%q2/List_Members),[%q0]^*,|))][setq(5,extract(get(%q2/List_Ranks),%q3,1,|))][t(match(v(List_Orgs),%q2))][or(u(FN_IsLeader,%#,%q2),u(FN_ISAdmin,%#))][u(FN_IsMember,%q0,%q2)][t(%q3)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotMember,%q0)]},1110,{@pemit %#=[ansi(rh,-)] You set [name(%q0)]'s rank to [%q1].[setq(4,grab(get(%q2/List_Members),[%q0]^*,|))][set(%q2,List_Members:[setunion(setdiff(get(%q2/List_Members),%q4,|),[extract(%q4,1,1,^)]^[%q1]^[extract(%q4,3,5,^)],|)])];@pemit [%q0]=[ansi(rh,-)] %N sets your rank to [%q1].},1111,{@pemit %#=[ansi(rh,-)] You set [name(%q0)]'s rank to [%q1] and [poss(%q0)] weekly paycheck to [extract(%q5,1,2)]s.[set(%q2,List_Members:[setunion(setdiff(get(%q2/List_Members),%q4,|),[extract(%q4,1,1,^)]^[%q1]^[extract(%q4,3,2,^)]^[extract(%q5,1,1)]^[extract(%q4,6,1,^)]^[extract(%q5,2,1)],|)])];@pemit [%q0]=[ansi(rh,-)] %N sets your rank to [%q1] and your weekly paycheck to [extract(%q5,1,2)]s.},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_RANKS Org/Econ System 3.0=$+org/ranks:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Ranks,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_RANKS2 Org/Econ System 3.0=$+org/ranks *:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_ISAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Ranks,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_REJECT Org/Econ System 3.0=$+org/reject *:@swi [setq(0,secure(get(%#/Active_Org)))][setq(1,pmatch(secure(%0)))][t(match(v(List_Orgs),%q0))][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))][t(match(get(%q0/Waiting),%q1))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110,{@pemit %#=[ansi(rh,-)] [ifelse(isdbref(%q1),[name(%q1)],[secure(%0)])] is not on the [get(%q0/Fullname)] waiting list.},111,{@pemit/list [get(%q0/Leaders)] [%q1]=[ansi(rh,-)] [name(%q1)]'s application to the [get(%q0/Fullname)] has been rejected by [name(%#)].[set(%q0,Waiting:[setdiff(get(%q0/Waiting),%q1)])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_RETIRE Org/Econ System 3.0=$+org/retire:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][u(FN_IsLeader,%#,%q0)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[ansi(rh,-)] You are now no longer a leader in [get(%q0/Fullname)].[set(%q0,Leaders:[setdiff(get(%q0/Leaders),%#)])];@pemit/list [get(%q0/Leaders)]=[ansi(rh,-)] %N has retired from leadership in the [get(%q0/Fullname)].},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_RETIRE2 Org/Econ System 3.0=$+org/retire *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][u(FN_IsLeader,%#,%q0)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[ansi(rh,-)] You are now no longer a leader in [get(%q0/Fullname)].[set(%q0,Leaders:[setdiff(get(%q0/Leaders),%#)])];@pemit/list [get(%q0/Leaders)]=[ansi(rh,-)] %N has retired from leadership in the [get(%q0/Fullname)].},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_ROSTER Org/Econ System 3.0=$+org/roster:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,ulocal(FN_Owho,%q0),Org Roster: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_ROSTER2 Org/Econ System 3.0=$+org/roster *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,ulocal(FN_Owho,%q0),Org Roster: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_SEARCH Org/Econ System 3.0=$+org/search *=*:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))][setq(1,extract(1 2 2 3 4,match(Name Title Rank Assignment Division,secure(%0)),1))][t(%q1)]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},110,{@pemit %#=[ansi(yh,-)] Invalid argument. Please search one of these catagories: Name, Title or Rank, Assignment, or Division.},111,{@pemit %#=[u(FN_Who,%q0,ulocal(FN_Search,%q0,%q1,secure(%1)),Org Search: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_SETDESC Org/Econ System 3.0=$+org/setdesc *:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=You change the description of [get(%q0/Fullname)].[set(%q0,Describe:%0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_SETMOTD Org/Econ System 3.0=$+org/setmotd *:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit/list [setdiff(u(FN_OWho,%q0),%#)]=[ansi(rh,-)] %N has reset [get(%q0/Fullname)]'s MOTD.[set(%q0/MOTD,no_Command)][set(%q0,MOTD:%0)];@pemit %#=You reset the [get(%q0/Fullname)] message of the day.},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_SETPAY Org/Econ System 3.0=$+org/setpay *=*:@swi [setq(0,u(FN_ActiveOrg,%#))][setq(1,pmatch(secure(%0)))][setq(2,abs(val(first(secure(%1)))))][setq(3,rest(secure(%1)))][setq(4,u(FN_MatchCur,%q3,%q0))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))][u(FN_IsMember,%q1,%q0)][t(%q4)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotMember,%q1)]},1110,{@pemit %#=[ansi(rh,-)] [u(MSG_NotCur)]},1111,{th [pemit(%#,[ansi(rh,-)] You set [name(%q1)]'s weekly paycheck to [ulocal(FN_Format,[%q2] [%q4])].)][pemit(%q1,[ansi(rh,-)] %N sets your weekly paycheck to [ulocal(FN_Format,[%q2] [%q4])].)][setq(5,grab(get(%q0/List_Members),[%q1]^*,|))][set(%q0,List_Members:[setunion(setdiff(get(%q0/List_Members),%q5,|),[extract(%q5,1,4,^)]^[%q2]^[extract(%q5,6,1,^)]^[%q4],|)])]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_TITLE Org/Econ System 3.0=$+org/title *=*:@swi [setq(0,pmatch(secure(%0)))][setq(1,squish(secure(%1)))][setq(2,secure(get(%#/Active_Org)))][setq(3,[match(get(%q2/List_Ranks),* [edit(%q1,%b,_)],|)])][setq(4,grab(get(%q2/List_Members),[%q0]^*,|))][setq(5,extract(get(%q2/List_Ranks),%q3,1,|))][t(match(v(List_Orgs),%q2))][or(u(FN_IsLeader,%#,%q2),u(FN_ISAdmin,%#))][u(FN_IsMember,%q0,%q2)][t(%q3)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotMember,%q0)]},1110,{@pemit %#=[ansi(rh,-)] You set [name(%q0)]'s title to [%q1].[setq(4,grab(get(%q2/List_Members),[%q0]^*,|))][set(%q2,List_Members:[setunion(setdiff(get(%q2/List_Members),%q4,|),[extract(%q4,1,1,^)]^[%q1]^[extract(%q4,3,5,^)],|)])];@pemit [%q0]=[ansi(rh,-)] %N sets your title to [%q1].},1111,{@pemit %#=[ansi(rh,-)] You set [name(%q0)]'s title to [%q1] and [poss(%q0)] weekly paycheck to [extract(%q5,1,2)]s.[set(%q2,List_Members:[setunion(setdiff(get(%q2/List_Members),%q4,|),[extract(%q4,1,1,^)]^[%q1]^[extract(%q4,3,2,^)]^[extract(%q5,1,1)]^[extract(%q4,6,1,^)]^[extract(%q5,2,1)],|)])];@pemit [%q0]=[ansi(rh,-)] %N sets your title to [%q1] and your weekly paycheck to [extract(%q5,1,2)]s.},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_TYPE Org/Econ System 3.0=$+org/type *=*:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][setq(1,grab(v(List_Types),secure(%1)))][ulocal(FN_IsAdmin,%#)][isdbref(%q0)][t(%q1)]=0*,{@pemit %#=[ansi(mh,-)] [u(MSG_Admin)]},10*,{@pemit %#=[ansi(mh,-)] [u(MSG_NotOrg)]},110,{@pemit %#=[ansi(mh,-)] That is not a valid org type. Please use one of the following: [v(List_Types)].},111,{@pemit %#=[ansi(mh,-)] [get(%q0/FullName)] \([name(%q0)]\) is now set as a [extract(v(List_Type_Names),match(v(List_Types),%q1),1)].[set(%q0,Type:[%q1])]},{@pemit %#=[ansi(mh,-)] [u(MSG_Crit)]} &CMD_WAITING Org/Econ System 3.0=$+org/waiting:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Waiting,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_WAITING2 Org/Econ System 3.0=$+org/waiting *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},11,{@pemit %#=[u(FN_Waiting,%q0)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &CMD_WHO Org/Econ System 3.0=$+org/who:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,setinter(lwho(),ulocal(FN_Owho,%q0)),Org Who: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_WHO2 Org/Econ System 3.0=$+org/who *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,setinter(lwho(),ulocal(FN_Owho,%q0)),Org Who: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_WHO3 Org/Econ System 3.0=$OWHO:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,setinter(lwho(),ulocal(FN_Owho,%q0)),Org Who: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_WHO4 Org/Econ System 3.0=$OWHO *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,setinter(lwho(),ulocal(FN_Owho,%q0)),Org Who: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_WHO5 Org/Econ System 3.0=$FWHO:@swi [setq(0,u(FN_ActiveOrg,%#))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,setinter(lwho(),ulocal(FN_Owho,%q0)),Org Who: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_WHO6 Org/Econ System 3.0=$FWHO *:@swi [setq(0,u(FN_Org_Num,secure(%0)))][isdbref(%q0)][or(u(FN_IsMember,%#,%q0),u(FN_IsAdmin,%#))]=0*,{@pemit %#=[ansi(yh,-)] [u(MSG_NotOrg)]},10,{@pemit %#=[ansi(yh,-)] [u(MSG_Member)]},11,{@pemit %#=[u(FN_Who,%q0,setinter(lwho(),ulocal(FN_Owho,%q0)),Org Who: [get(%q0/Fullname)])]},{@pemit %#=[ansi(yh,-)] [u(MSG_Crit)]} &CMD_WITHDRAW Org/Econ System 3.0=$+org/withdraw *=*:@swi [setq(0,ulocal(FN_Org_Num,secure(%0)))][setq(1,abs(val(first(secure(%1)))))][setq(2,rest(secure(%1)))][setq(3,u(FN_MatchCur,%q2,%q0))][isdbref(%q0)][or(u(FN_IsLeader,%#,%q0),u(FN_ISAdmin,%#))][t(%q3)][gte(u(FN_GetMoney,%q0,%q3),%q1)]=0*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotOrg)]},10*,{@pemit %#=[ansi(rh,-)] [u(MSG_Leader)]},110*,{@pemit %#=[ansi(rh,-)] [u(MSG_NotCur)]},1110,{@pemit %#=[ansi(rh,-)] [get(%q0/Fullname)] doesn't have the [ulocal(FN_Format,[%q1] [%q3])] to withdraw.},1111,{@pemit %#=[ansi(rh,-)] You withdraw [ulocal(FN_Format,[%q1] [%q3])] from the bank accounts of [get(%q0/Fullname)].[ulocal(FN_AddRecord,%q0,%#,mul(-1,%q1),%q3,Withdrawl)][ulocal(FN_Transfer,%q0,%@,%q1,%q3)]},{@pemit %#=[ansi(rh,-)] [u(MSG_Crit)]} &DB_HELP Org/Econ System 3.0=#1013 &FN_ACTIVEORG Org/Econ System 3.0=[grab(v(List_Orgs),secure(get(%0/Active_Org)))] &FN_ADDMONEY Org/Econ System 3.0=[ulocal(FN_SetMoney,%0,add(%1,ulocal(FN_GetMoney,%0,%2)),%2)] &FN_ADDRECORD Org/Econ System 3.0=[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_ALPHA_SORT Org/Econ System 3.0=[comp(name(%0),name(%1))] &FN_BALANCE Org/Econ System 3.0=[ansi(y,name(%0))] has [ifelse(eq(0,words(get(%0/Money),|)),no money,[iter(get(%0/Money),[u(FN_Format,##)],|,\,%b)])]. &FN_BOTLINE Org/Econ System 3.0=ufooter(%0) &FN_CONVDNUM Org/Econ System 3.0=[convsecs(sub(mul(%0,86400),72000))] &FN_DESC Org/Econ System 3.0=[u(FN_TopLine,Org Description: [get(%0/Fullname)])]%r[get(%0/Describe)]%r[u(FN_BotLine,name(%!))] &FN_DNUM Org/Econ System 3.0=[div(add(72000,secs()),86400)] &FN_FIRST Org/Econ System 3.0=[first(%0,^)] &FN_FIRST_SORT Org/Econ System 3.0=[sign(sub(first(%1),first(%0)))] &FN_FMTTIME Org/Econ System 3.0=[ifelse(t(%0),[extract(%0,1,3)] [add(extract(%0,5,1),1000)],[ansi(r,Never)])] &FN_FORMAT Org/Econ System 3.0=[%0][ifelse(eq(1,first(%0)),,s)] &FN_GETMONEY Org/Econ System 3.0=[ifelse(match(get(%0/money),* [%1],|),first(grab(get(%0/money),* [%1],|)),0)] &FN_GETNUM Org/Econ System 3.0=[first(%0,^)] &FN_INTEREST Org/Econ System 3.0=[iter(v(List_Currency),set(%0,[##]:[floor(mul(1.05,val(get(%0/##))))]))] &FN_ISADMIN Org/Econ System 3.0=orflags(%0,Wr) &FN_ISLEADER Org/Econ System 3.0=[and(u(FN_IsMember,%0,%1),match(get(%1/Leaders),[%0]))] &FN_ISMEMBER Org/Econ System 3.0=[t(match(get(%1/List_Members),[%0]^*,|))] &FN_ISOLEADER Org/Econ System 3.0=[ifelse(isdbref(%1),ifelse(or(u(FN_IsMember,%2,%1),u(FN_IsAdmin,%2)),u(FN_IsLeader,%0,%1),#-1 Permission Denied.),#-1 Invalid org.)] &FN_ISOMEMBER Org/Econ System 3.0=[ifelse(isdbref(%1),ifelse(or(u(FN_IsMember,%2,%1),u(FN_IsAdmin,%2)),u(FN_IsMember,%0,%1),#-1 Permission Denied.),#-1 Invalid org.)] &FN_LEADERS Org/Econ System 3.0=%r[u(FN_TopLine,get(%0/Fullname))]%r[iter(get(%0/Leaders),[ansi(w,name(##))],,%b-%b)] &FN_LEDGER Org/Econ System 3.0=[u(FN_TopLine,Org Ledger: [get(%0/Fullname)])]%r%b[ansi(yh,[ljust(Date,27)][ljust(Amount,12)]Description)]%r[u(FN_MidLine)][iter(sortby(FN_First_Sort,setdiff(get(%0/Books),,|),|),%r%b[ljust(convsecs(first(##)),27)][ljust([ulocal(FN_Format,extract(##,3,2))],12)][ljust([extract(##,5,99)] \([extract(##,2,1)]\),18)],|)]%r[u(FN_BotLine,name(%!))] &FN_LIST_CUR Org/Econ System 3.0=[v(List_Currency)] [ifelse(isdbref(%0),iter(get(%0/Money),edit(squish(rest(##)),%b,_),|),)] &FN_LIST_ORGS Org/Econ System 3.0=[squish(iter(v(List_Orgs),ifelse(match(get(##/List_Members),*[%0]^*),##,)))] &FN_MATCHCUR Org/Econ System 3.0=[grab(u(FN_List_Cur,%1),[ifelse(match(s,right(%0,1)),mid(%0,0,sub(strlen(%0),1)),%0)]*)] &FN_MIDLINE Org/Econ System 3.0=usubdiv() &FN_MOTD Org/Econ System 3.0=[u(FN_TopLine,Org MOTD: [get(%0/Fullname)])]%r[get(%0/MOTD)]%r[u(FN_BotLine,name(%!))] &FN_ORG_NUM Org/Econ System 3.0=[first(grab(map(FN_Org_Num2,v(List_Orgs)),* [%0],|))] &FN_ORG_NUM2 Org/Econ System 3.0=[%0] [name(%0)]| &FN_ORG_SORT Org/Econ System 3.0=[ifelse(match(get(%0/Type),get(%1/Type)),comp(name(%0),name(%1)),sign(sub(match(v(List_Types),get(%0/Type)),match(v(List_Types),get(%1/Type)))))] &FN_ORG_SORT2 Org/Econ System 3.0=[ifelse(eq(words(get(%0/List_Members),|),words(get(%1/List_Members),|)),comp(name(%0),name(%1)),sign(sub(words(get(%1/List_Members),|),words(get(%0/List_Members),|))))] &FN_OWHO Org/Econ System 3.0=[edit(map(FN_First,get(%0/List_Members),|),|,%b)] &FN_PAYROLL Org/Econ System 3.0=[u(FN_TopLine,Org Payroll: [get(%0/Fullname)])]%r%b[ansi(yh,[ljust(Name\, Rank,32)][center(Amount,25)][center(Last Paid,17)])]%r[u(FN_MidLine)][setq(0,[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,u(FN_FmtTime,u(FN_ConvDNum,extract(%q1,6,1,^))))]%r%b[ljust(ansi(ifelse(u(FN_IsLeader,##,%0),rh,w),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[u(FN_BotLine,name(%!))] &FN_RANKS Org/Econ System 3.0=[u(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[u(FN_MidLine)][iter(sortby(FN_First_Sort,get(%0/List_Ranks),|),[ifelse(mod(dec(#@),2),%b%b%b,%r%b)][ljust(edit(extract(##,3,1),_,%b),20)][rjust(extract(##,1,2),15)]s,|)]%r[u(FN_BotLine,name(%!))] &FN_SEARCH Org/Econ System 3.0=[iter(get(%0/List_Members),ifelse(match(ifelse(eq(%1,1),name(extract(##,%1,1,^)),extract(##,%1,1,^)),%2),extract(##,1,1,^),),|)] &FN_SETMONEY Org/Econ System 3.0=[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_TOPLINE Org/Econ System 3.0=uheader(%0) &FN_TRANSFER Org/Econ System 3.0=[ulocal(FN_AddMoney,%0,mul(-1,%2),%3)][ulocal(FN_AddMoney,%1,%2,%3)] &FN_WAITING Org/Econ System 3.0=[ansi(rh,-)] [get(%0/Fullname)]'s Waiting List: [ifelse(words(get(%0/Waiting)),[iter(get(%0/Waiting),[name(##)],,%b-%b)],-)] &FN_WHO Org/Econ System 3.0=[u(FN_TopLine,%2)]%r%b[ansi(yh,[ljust(Name,24)][ljust(ifelse(match(mil,get(%0/Type)),Rank,Title),17)][ljust(Assignment,17)][ljust(Division,17)])]%r[u(FN_MidLine)][setq(0,[sortby(FN_Alpha_Sort,setinter(%1,get(%0/Leaders)))] [sortby(FN_Alpha_Sort,setdiff(%1,get(%0/Leaders)))])][iter(%q0,[setq(1,grab(get(%0/List_Members),[##]^*,|))]%r%b[ljust(ansi(ifelse(u(FN_IsLeader,##,%0),rh,w),mid(name(##),0,24)),24)][ljust(mid(extract(%q1,2,1,^),0,17),17)][ljust(mid(extract(%q1,3,1,^),0,17),17)][ljust(mid(extract(%q1,4,1,^),0,17),17)])]%r[u(FN_BotLine,name(%!))] &FUN_ADDMONEY Org/Econ System 3.0=[ifelse(u(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_GETMONEY Org/Econ System 3.0=[ifelse(u(FN_IsAdmin,%@),u(FN_GetMoney,secure(%0),ulocal(FN_MatchCur,secure(%2))),#-1 Permission Denied.)] &FUN_ISOLEADER Org/Econ System 3.0=[u(FN_IsOLeader,pmatch(secure(%0)),u(FN_Org_Num,secure(%1)),%@)] &FUN_ISOMEMBER Org/Econ System 3.0=[u(FN_IsOMember,pmatch(secure(%0)),u(FN_Org_Num,secure(%1)),%@)] &FUN_OMEMBERS Org/Econ System 3.0=[ifelse(isdbref(u(FN_Org_Num,secure(%0))),ifelse(or(u(FN_IsMember,%@,u(FN_Org_Num,secure(%0))),u(FN_IsAdmin,%@)),u(FN_OWho,u(FN_Org_Num,secure(%0))),#-1 Permission Denied.),#-1 Invalid org.)] &FUN_ORGS Org/Econ System 3.0=[ifelse(u(FN_IsAdmin,%@),ulocal(FN_List_Orgs,pmatch(%0)),#-1 Permission Denied.)] &FUN_OWHO Org/Econ System 3.0=[ifelse(isdbref(u(FN_Org_Num,secure(%0))),ifelse(or(u(FN_IsMember,%@,u(FN_Org_Num,secure(%0))),u(FN_IsAdmin,%@)),setinter(mwho(),edit(u(FN_OWho,u(FN_Org_Num,secure(%0))),|,%b)),#-1 Permission Denied.),#-1 Invalid org.)] &FUN_SETMONEY Org/Econ System 3.0=[ifelse(u(FN_IsAdmin,%@),ifelse(isnum(secure(%1)),1[u(FN_SetMoney,secure(%0),secure(%1),ulocal(FN_MatchCur,secure(%2)))],#-1 Amount must be a number.),#-1 Permission Denied.)] &LIST_CURRENCY Org/Econ System 3.0=dollar &LIST_ORGS Org/Econ System 3.0 &LIST_TYPE_NAMES Org/Econ System 3.0=Empire Government Military Civil_Service Company Organization &LIST_TYPES Org/Econ System 3.0=emp gov mil civ com org &MSG_ADMIN Org/Econ System 3.0=You must be an admin to use this command. &MSG_CRIT Org/Econ System 3.0=Critical Error. Report this problem to [name(owner(%!))]. &MSG_LEADER Org/Econ System 3.0=You must be an org leader to use this command. &MSG_MEMBER Org/Econ System 3.0=You are not a member of that organization. &MSG_NOTCUR Org/Econ System 3.0=That is not a valid currency. Use one of these instead: [iter(u(FN_List_Cur),##,%b,\,%b)]. &MSG_NOTMEMBER Org/Econ System 3.0=[name(%0)] is not an member of your org. &MSG_NOTORG Org/Econ System 3.0=That is not a valid organization. &TR_INTEREST Org/Econ System 3.0=think [map(FN_Interest,v(List_Orgs))] @create +org/help Database @set +org/help Database = OPAQUE @set +org/help Database = NO_COMMAND &FN_MIDLINE +org/help Database=usubdiv() &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_ACCEPT +org/help Database=%b%b[ansi(rh,+org/accept)] [ansi(y,)]%r%r%b%bThis command will give org membership to that player, provided they are on the waiting list. Use of this command is restricted to org leaders. &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 without specifying which org you mean. &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 allready exists in the rank table, this command will change the standard weekly paycheck for that rank. Use of this command is restricted to org leaders only. &HELP_ADMIN_COMMANDS +org/help Database=%r[center(ansi(yh,These commands are for admin use only.),78)]%r%r[ljust(+org/alias =,35)] [ansi(mh,-)] Changes the alias of an org.%r[ljust(+org/appoint =,35)] [ansi(mh,-)] Makes the player a member of an org.%r[ljust(+org/form =,35)] [ansi(mh,-)] Creates an org%r[ljust(+org/leaders,35)] [ansi(mh,-)] Displays the leaders of every org.%r[ljust(+org/member ,35)] [ansi(mh,-)] Displays what orgs a player is in.%r[ljust(+org/nuke ,35)] [ansi(mh,-)] Destroys an org.%r[ljust(+org/rename =,35)] [ansi(mh,-)] Changes the name of an org.%r[ljust(+org/type =,35)] [ansi(mh,-)] Changes the type of an org.%r[ljust(+org/alist \[\],35)] [ansi(mh,-)] A variation of the +org/list command.%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 list information about all orgs, or orgs of a certain type, including alias, type, full name, how many people on the waiting list, how many members, and how many leaders it has. 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,)]%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. Use of this command is restricted to org leaders only. &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 an 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_FAQ +org/help Database=%rQ. Can I be a member of more than one org?%r%rA. Absolutely!%r%rQ. Where does this org stuff show on +finger or who?%r%rA. It doesn't. One of the features of this system is that information about an org's membership is hidden to folks outside the organization.%r%rQ. Can an org have more than one org leader?%r%rA. There is no limit in how many org leaders an org has. Each org leader will have the same powers as the rest, including the ability to remove other org leaders from the org. So be careful in who you select to be org leaders.%r%rQ. What are rank/title, assignment, and division for?%r%rA. Whatever you want. Rank/title is ussually used for just that, a military rank or a job title. Assignment and division may be used however the org leader likes. World governments might use the assignment to denote what a representative represents, and the division to denote members of different branches of government. Military orgs might use an assignment to denote where or what ship a player is assigned to. But these are only some of the possibilities.%r%rQ. I get told that my org doesn't exist when I try to set the org motd/set player's ranks, assignments, or divisions/etc.%r%rA. There 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.%r%rQ. No matter what I type, I get told my org doesn't exist.%r%rA. When the +org/help files say , it is refering to you organization's alias, not it's full name.%r%rQ. How can I get my own org?%r%rA. Apply to Skillmeister (or another admin if I'm not availible) for one. 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, I'll be much happier about the whole thing.%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. The person using this command is automatically set as a member and leader of this new org. 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,orgs\()][ansi(y,)][ansi(rh,\))] - Returns a list of DB #'s for all orgs the player is apart of.%r &HELP_GENERAL_COMMANDS +org/help Database=%r[center(ansi(yh,These commands are for everyone's use.),78)]%r%r[ljust(+org/help,35)] [ansi(gh,-)] Displays a list of all org commands.%r[ljust(+org/list \[\],35)] [ansi(gh,-)] Displays a list of all existing orgs.%r[ljust(+org/desc \[,35)] [ansi(gh,-)] Submit an application to the org.%r[ljust(+org/member,35)] [ansi(gh,-)] Displays all of the orgs you are a member of.%r[ljust(+org/active ,35)] [ansi(gh,-)] Selects your default org.%r[ljust(+org/deposit = ,35)] [ansi(gh,-)] Deposits money to an 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 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=[ansi(yh,Entries:)]%r[iter(sort(lattr(%!/HELP_*),a),[ifelse(mod(dec(#@),3),,%r)][ljust(ansi(w,capstr(lcstr(edit(rest(##,_),_,%b)))),25)])]%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 org leaders 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[ljust(+org/waiting \[\],35)] [ansi(rh,-)] Displays a list of all org applicants.%r[ljust(+org/accept ,35)] [ansi(rh,-)] Grants org membership to an org applicant.%r[ljust(+org/reject ,35)] [ansi(rh,-)] Denies org membership to an org applicant.%r[ljust(+org/boot ,35)] [ansi(rh,-)] Removes a player from the org.%r[ljust(+org/setdesc ,35)] [ansi(rh,-)] Sets the org description.%r[ljust(+org/setmotd ,35)] [ansi(rh,-)] Sets the org motd.%r[ljust(+org/leader ,35)] [ansi(rh,-)] Appoints an org leader.%r[ljust(+org/retire \[\],35)] [ansi(rh,-)] Retire yourself from org leadership.%r[ljust(+org/rank =,35)] [ansi(rh,-)] Set the rank of an org member.%r[ljust(+org/assign =,35)] [ansi(rh,-)] Set the assignment of an org member.%r[ljust(+org/division =,35)] [ansi(rh,-)] Set the division of an org member.%r[ljust(+org/contact ,35)] [ansi(rh,-)] Set the contact message for the org.%r[ljust(+org/cleanup \[\],35)] [ansi(rh,-)] Will remove non-players from an org.%r[ljust(+org/balance,35)] [ansi(rh,-)] See how much money the org has.%r[ljust(+org/payroll,35)] [ansi(rh,-)] See how much everyone's weekly paycheck is.%r[ljust(+org/setpay = ,35)] [ansi(rh,-)] Sets a players weekly paycheck.%r[ljust(+org/withdraw = ,35)] [ansi(rh,-)] Withdraws money from the org.%r[ljust(+org/ledger \[\],35)] [ansi(rh,-)] View financial transactions of an org.%r[ljust(+org/addrank = ,35)] [ansi(rh,-)] %r[ljust(+org/delrank ,35)] [ansi(rh,-)] Deletes the rank from the rank table.%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%bThis command will list the leaders of every org. If an org type is included, it will only display leaders of orgs of that type. Use of this command is restricted to admins.%r%b%bOrg members may find out who thier org leaders are by looking at +org/roster or +org/who. The names of org leaders on those two commands are colored red. &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. Use of this command is restricted to org leaders only. &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[ljust(+org/motd \[\],35)] [ansi(yh,-)] Displays the org motd.%r[ljust(+org/who \[\],35)] [ansi(yh,-)] Lists the members of the org that are connected.%r[ljust(+org/roster \[\],35)] [ansi(yh,-)] Lists all the members of the org.%r[ljust(+org/search =,35)] [ansi(yh,-)] Lists all members of an org that meet criteria.%r[ljust(+org/quit \[\],35)] [ansi(yh,-)] Remove yourself from the org.%r[ljust(+org/paycheck \[\],35)] [ansi(yh,-)] Collects your weekly paycheck.%r[ljust(+org/ranks \[\],35)] [ansi(yh,-)] Display the rank table of 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 motd &HELP_MOTD +org/help Database=%b%b[ansi(rh,+org/motd)] [ansi(y,\[\])]%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_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_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%bThis will display how much each member's weekly paycheck is, and when it was last collected. Use of this command is restricted to org leaders. &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/rename)] [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,\[<org>\])]%r%r%b%bThis command allows an org leader to forfiet thier leadership status, while letting them retain org membership. Use of this command is restricted to org leaders. &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. 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>\])]%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,<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_STATS +org/help Database=%b%b[ansi(rh,+org/retire)] [ansi(y,\[<org>\])]%r%r%b%bThis command displays the vital statistics of an org. Use of this command is restricted to org leaders.%r%r[ansi(yh,This command has been disabled.)] &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_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_WAITING +org/help Database=%b%b[ansi(rh,+org/waiting)] [ansi(y,\[<org>\])]%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_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. You must be a member of an org to see it's +org/who. &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. &FN_TOPLINE Org/Econ System 3.0=[ansi(b,---<)] [ansi(wh,%0)] [ansi(b,>[repeat(-,sub(71,strlen(%0)))])] &FN_MIDLINE Org/Econ System 3.0=[ansi(b,repeat(-~,39))] &FN_BOTLINE Org/Econ System 3.0=[ansi(b,[repeat(-,sub(71,strlen(%0)))]<)] [ansi(w,%0)] [ansi(b,>---)] &FN_MIDLINE +org/help Database=[ansi(b,repeat(-~,39))] think [set(System 3.0,DB_HELP:[num(Database)])][tel(Database,System 3.0)][tel(System 3.0,#2)]Done!