For the most part things seem to be working, with a few exceptions. The bbgroups weren't created by the installation, and for whatever reason I can't create "Job Tracker" manually. I can create any other bbgroup with any other name, but "Job Tracker" saves as "#-2" on the bbpocket and refuses to display even when the dbref is manually set. No idea...
Lines that print "That's terrific, but what should I do with the list?" when entered:
@dolist lcon([v(JOB_VC)])={@switch [first(version())]=PennMUSH,{@set ##=!HALT},{@set ##=!HALTED};@switch [first(version())]=TinyMUSH,{@set ##=!COMMANDS},{@set ##=NO_COMMAND};@set ##=UNFINDABLE;@switch [first(version())]=PennMUSH,{@set ##=WIZARD},{@set ##=INHERIT};}
Problem lines (Those that just hung, no error messages):
@switch [v(JOB_PATCH)]=1,{@dolist STARTUP BUCKET_HEADER DATA_CHARS2 DISPLAY_MYHEADERS DISPLAY_MYJOB MYJOBS_HEADER FIL_DELETE FN_ANSIFY FN_COORD2ANG FN_EASYPIE_PENN FN_EASYPIE_TINY FN_GENDATA MAP_GENDATA MAP_GENDATA2 PENN_PIE PENN10_PIE PENN12_PIE FN_NEW_JOBS FN_PACK IS_PLAYER JOBS_HEADER JOBS_HEADER2 MAP_ANSIFY MAP_ARTSGRAPH MAP_NAME2 MAP_NEW MAP_ISPLAYER MAP_PMATCH MAP_READERS={@switch [hasattr(v(JOB_VA),
@switch [v(JOB_PATCH)]=0,{&ACCESS [v(JOB_VC)]=lit([u(%va/FN_STAFFALL,%#)]);&ACCESS_DESC [v(JOB_VC)]=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_HELP [v(JOB_VC)]=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_HIDDEN [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_LOCKED [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_LOGFILE [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_MYJOBS [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_POST_APPROVE [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_POST_COMPLETE [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_POST_DENY [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_TURNAROUND [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);}
@switch [hasattr(v(JOB_VC),STAT_ART)]=0,{&STAT_ART [v(JOB_VC)]=0 0}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(ADMIN,10))][setq(1,create(Job 1,10))];@Desc %q0=For game administrative issues.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)];think [ansi(hc,ANOMALY JOBS:)] Creating initial job.;&OPENED_BY %q1=%#;&OPENED_ON %q1=[secs()];&MODIFIED_ON %q1=[secs()];&STATUS %q1=1;&TITLE %q1=Welcome;@parent %q1=%q0;@tel %q1=[v(JOB_VA)];&NUM_COMMENT %q1=3;&LIST_STATS %q1=ADD|1;&PRIORITY %q1=1;&COMMENT_1 %q1=CRE|[secs()]|
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(APPS,10))];@Desc %q0=Character applications submitted for review.;@lock/Speech %q0=ACCESS/1;&ALETTER_OTH %q0=lit(Application for approval submitted by [name(%1)].);&MLETTER_OTH %q0=lit(You have submitted an application for approval. Please give staff some time to process the application. You will hear back soon.);&MLETTER_APR %q0=lit(You have been approved by [name(%2)].);&PLETTER_APR %q0=lit([name(%2)] has approved [name(get(%0/OPENED_BY))] for roleplay.);&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(BUILD,10))];@Desc %q0=For building issues and typo reports.;@lock/Speech %q0=ACCESS/1;&PUBLIC %q0=1;&ACCESS %q0=lit([or(haspower(%#,builder),u(%va/FN_STAFFALL,%#))]);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(CGEN,10))];@Desc %q0=For character generation problems and updates.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(CODE,10))];@Desc %q0=For bugs and code enhancements.;@lock/Speech %q0=ACCESS/1;&PUBLIC %q0=1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(FEEP,10))];@Desc %q0=Storage for unimplemented game ideas.;@lock/Speech %q0=ACCESS/1;&HIDDEN %q0=1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(FORUM,10))];@Desc %q0=Tabled discussion jobs. Feedback needed.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(PITCH,10))];@Desc %q0=Pitched plots and stories.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&HIDDEN %q0=1;@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(PUB,10))];@Desc %q0=Public jobs. Everyone has +myjobs access.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&TRANSPARENT %q0=1;&PUBLIC %q0=1;&HOOK_CRE %q0=lit(@set %0/COMMENT_1=no_inherit);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(QUERY,10))];@Desc %q0=Query bucket.;@lock/Speech %q0=ACCESS/1;&PRIORITY %q0=2;&PUBLIC %q0=1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&TURNAROUND %q0=168;&HOOK_OTH %q0=lit(@set %0/COMMENT_1=no_inherit;&ASSIGNED_TO %0=%1);&MLETTER_OTH %q0=lit(You have been issued an official query by the jobs system by [name(%2)]. You have [div(v(TURNAROUND),24)] days at the time of this mail to respond to the query%, otherwise staff may need to act on the issue without your input. To see your query%, please type '+myjob [last(name(%0))]'.);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(REQ,10))];@Desc %q0=Player requests.;@lock/Speech %q0=ACCESS/1;&PUBLIC %q0=1;&PRIORITY %q0=2;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&TURNAROUND %q0=72;&LOGFILE %q0=reqlog;&MLETTER_OTH %q0=lit(You have requested '[name(%0)]: [get(%0/TITLE)]' from staff: %r%r%3%r%r[repeat(-,75)]%rSee '[ansi(h,+help myjobs)]' for help on how to display and add to your jobs.%r%rPlease give staff at least [u(me/TURNAROUND)] hours from the date of this mail to process your request.);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(RP,10))];@Desc %q0=For storing potential plots.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&ACCESS_APPROVED %q0=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_ARC %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_PLAYERS %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_SCHEDULE %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_STAFF %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_SYNOPSIS %q0=lit([u(%va/FN_STAFFALL,%0)]);&ERROR_PLAYERS %q0=lit(I don't recognize [ansi(h,%qp)] as a player.);&ERROR_STAFF %q0=lit(I don't recognize [ansi(h,%qp)] as a player.);&HIDDEN %q0=1;&MAP_NAME %q0=lit([name(*%0)]);&PROCESS_APPROVED %q0=lit([setq(3,APPROVED)][setq(1,%0)]1);&PROCESS_ARC %q0=lit([setq(3,PLOT_ARC)][setq(1,u(%va/FN_STRTRUNC,%0,50))]);&PROCESS_PLAYERS %q0=lit([setq(3,PLAYERS)][ifelse(not(gt(strlen(u(%va/fn_trim,squish(iter(%0,ifelse(not(isdbref(pmatch(itext(0)))),setr(p,itext(0)),))))),0)),[setq(9,iter(%0,pmatch(itext(0))))][setq(8,get(%1/PLAYERS))][iter(%q9,ifelse(gt(member(%q8,
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(TECH,10))];@Desc %q0=Technology issues - weapon objects, etc.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(THEME,10))];@Desc %q0=Thematic issues and discussion.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
@switch [v(JOB_PATCH)]=0,{think [setq(0,create(TPS,10))];@Desc TPS=Actively running tiny plots.;@lock/Speech TPS=ACCESS/1;&SUMMARY TPS=lit([rjust(ansi(hc,Approved:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,APPROVED),get(%0/APPROVED),Unapproved)]%r[rjust(ansi(hc,Players:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,PLAYERS),u(%va/FN_ITEMIZE,map(me/MAP_NAME,get(%0/PLAYERS),%b,|),|),Nobody)]%r[rjust(ansi(hc,Schedule:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,SCHEDULE),get(%0/SCHEDULE),Unset)]%r[rjust(ansi(hc,Arc:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,PLOT_ARC),get(%0/PLOT_ARC),Unset)]%r[rjust(ansi(hc,Staff:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,WRITER),u(%va/FN_ITEMIZE,map(me/MAP_NAME,get(%0/WRITER),%b,|),|),Nobody)]%r[rjust(ansi(hc,Synopsis:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,BRIEF),get(%0/BRIEF),Unset)]);&MAP_NAME TPS=lit([name(*%0)]);&ACCESS TPS=lit([u(%va/FN_STAFFALL,%#)]);&ACCESS_PLAYERS TPS=lit([u(%va/FN_STAFFALL,%0)]);&PROCESS_PLAYERS TPS=lit([setq(3,PLAYERS)][ifelse(not(gt(strlen(u(%va/fn_trim,squish(iter(%0,ifelse(not(isdbref(pmatch(itext(0)))),setr(p,itext(0)),))))),0)),[setq(9,iter(%0,pmatch(itext(0))))][setq(8,get(%1/PLAYERS))][iter(%q9,ifelse(gt(member(%q8,
@switch [v(JOB_PATCH)]=0,{&HAS_ACCESS [v(JOB_VA)]=lit([or(haspower(%0,builder),u(%va/FN_STAFFALL,%0))]);&ADD_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&APPROVE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&COMPLETE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&CREATE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&DENY_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&EDIT_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&GIVE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_WIZONLY,%0)]);&LOG_ACCESS [v(JOB_VA)]=lit([u(%va/FN_WIZONLY,%0)]);&MAIL_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&STATS_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&CONFIG_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);}
@switch [v(JOB_PATCH)]=0,{&JOB_LOGGING [v(JOB_VA)]=1;&LOGFILE [v(JOB_VC)]=joblog}
@switch [v(JOB_PATCH)]=0,{&INSTALL_DATE [v(JOB_VA)]=[time()]}
@switch [setq(0,switch(first(version()),PennMUSH,lsearch(all,eobjects,[strmatch(name(
@switch [v(JOB_PATCH)]=>0,{think [ansi(hc,ANOMALY JOBS:)] Checking hooks for compatibility.;@dolist [v(JOB_VC)] [lcon(v(JOB_VC))]={@switch [hasattr(
@switch [v(JOB_PATCH)]=>0,{think [ansi(hc,ANOMALY JOBS:)] Updating special job access to unique player ID.;@dolist switch(first(version()),PennMUSH,lsearch(all,eplayers,[hasattrval(
@switch [v(JOB_PATCH)]=>0,{think [ansi(hc,ANOMALY JOBS:)] Updating new job indicators.;@dolist lcon(v(JOB_VA))={&LIST_JOBSN