/**************************************************************************\
|*                                                                        *|
|* The Wheel of Fortune, v6.0; MAINT MODULE, by Dotoran of Frontiers BBS! *|
|*                                                                        *|
\**************************************************************************/
options results ; signal on SYNTAX ; signal on ERROR ; signal on IOERR
tr=transmit ; se=sendstring ; gc=getchar ; gu=getuser ; gs=getscratch
changewhere 'WOF, v6.0 MAINT' ; call GETCONFIG

exp='Exp'  /* Expansion variable for possible 5th Registered Utility */

MAINT:
    tr 'f1n1[10Cc9ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»'
    tr '[10Cc9ºcc>X<>X<cfr1 The Wheel of Fortune Maintenance Menu r0cc>X<>X<c9º' ; tr '[10Cc9º[51Cº'
    tr '[10Cc9º[11Ccf[caCcf]caonfigure cbWheel of Fortune[12Cc9º' ; tr '[10Cc9º[51Cº'
    tr '[10Cc9º[11Ccf[ceWcf]ceeed the cbWOF cePlayers File[13Cc9º' ; tr '[10Cc9º[51Cº'
    tr '[10Cc9º[11Ccf[caRcf]caeset the cbWheel of Fortune[12Cc9º' ; tr '[10Cc9º[51Cº' ; if reg=1 then do
    tr '[10Cc9º[11Ccf[ce1cf] ceRegistered cbWOF ceGamEditor[12Cc9º'
    tr '[10Cc9º[11Ccf[ca2cf] caRegistered cbWOF caRegEditor[12Cc9º'
    tr '[10Cc9º[11Ccf[ce3cf] ceRegistered cbWOF cePuzEditor[12Cc9º'
    tr '[10Cc9º[11Ccf[ca4cf] caRegistered cbWOF caColEditor[12Cc9º'
    tr '[10Cc9º[11Ccf[ce5cf] ceRegistered cbWOF ce'exp'Editor[12Cc9º' ; tr '[10Cc9º[51Cº' ; end ; if reg=0 then do
    tr '[10Cc9º[11Ccf[ceVcf]ceiew Registered Screen Shots[10Cc9º' ; tr '[10Cc9º[51Cº' ; end
    tr '[10Cc9º[11Ccf[cdQcf]cduit this Maintenance Menu[12Cc9º'
    tr '[10Cc9ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼n1'
    se '[14CcbMaintc9: cf>>>--caCcf,ceWcf,caRcf,cdQcf--> ' ; gc ; a=index('CWRVQ12345',result)
    if a=5 | a=0 | (reg=0 & a>5) | (reg=1 & a=4) then do ; tr 'cdQuit' ; exit ; end
    if a=1 then do ; tr 'caConfigure#0'||dfile||'Config}' ; changewhere 'WOF, v6.0 MAINT' ; signal MAINT ; end
    if a=2 then do ; tr 'ceWeedf1' ; signal WEEDPLAYERS ; end
    if a=3 then do ; tr 'caResetn1' ; signal RESET ; end
    if a=4 & reg=0 then do ; tr 'ceView Screens#0'||dfile||'Register.Viewer}' ; changewhere 'WOF, v6.0 MAINT' ; signal MAINT ; end
    if a=6 & reg=1 then do ; tr 'ceGamEditor#0'||dfile||'Reg.GamEditor}' ; changewhere 'WOF, v6.0 MAINT' ; signal MAINT ; end
    if a=7 & reg=1 then do ; tr 'caRegEditor#0'||dfile||'Reg.RegEditor}' ; changewhere 'WOF, v6.0 MAINT' ; signal MAINT ; end
    if a=8 & reg=1 then do ; tr 'cePuzEditor#0'||dfile||'Reg.PuzEditor}' ; changewhere 'WOF, v6.0 MAINT' ; signal MAINT ; end
    if a=9 & reg=1 then do ; tr 'caColEditor#0'||dfile||'Reg.ColEditor}' ; changewhere 'WOF, v6.0 MAINT' ; signal MAINT ; end
    if a=10 & reg=1 then do ; tr 'ca'||exp2||'Editor#0'||dfile||'Reg.'||exp2||'Editor}' ; changewhere 'WOF, v6.0 MAINT' ; signal MAINT ; end

WEEDPLAYERS:
    tr 'cc>X<>X<cfr1 Weed Wheel of Fortune Players File r0cc>X<>X<n1'
    tr 'c6Choose from these possible c9weed c6parameters:n1'
    tr '>4ca1cb> caAll players who have NEVER WON a game.'
    tr '>4ce2cb> ceAll players who have won a TOTAL of $0 bucks.'
    tr '>4ca3cb> caAll players who were INACTIVE for the PAST 10 GAMES.'
    tr '>4ce4cb> ceNEVER WON a game AND a total of $0 bucks.'
    tr '>4ca5cb> caNEVER WON a game AND were INACTIVE in PAST 10 GAMES.'
    tr '>4ce6cb> ceWON a total of $0 bucks AND were INACTIVE in PAST 10 GAMES.'
    tr '>4ca7cb> caNEVER WON a game OR money, AND were INACTIVE in PAST 10 GAMES.n1'
    se 'c9Weed c6users using cfwhich c6parameters? c7[c9Abortc7]c6: ca' ; gc ; p=index('1234567',result)
    if p=0 then do ; tr 'c9Abort' ; signal MAINT ; end ; else tr p'n1'
    call open(f1,dfile||'GameData','r') ; puz=readln(f1) ; call close(f1)
    call open(f1,dfile||'Players','r') ; do i=1 until eof(f1) ; p.i=readln(f1)
    end i ; tot=i-1 ; call close(f1) ; d=0 ; call open(f1,dfile||'Players','w')
    do i=1 to tot ; a='' ; parse var p.i h'|'tw'|'tm'|'cp'|'j
        if p=1 & tw>0 then a=p.i ; if p=2 & tm>0 then a=p.i
        if p=3 & cp>puz-10 then a=p.i ; if p=4 & tw>0 & tm>0 then a=p.i
        if p=5 & tw>0 & cp>puz-10 then a=p.i ; if p=6 & tm>0 & cp>puz-10 then a=p.i
        if p=7 & tw>0 & tm>0 & cp>puz-10 then a=p.i ; if a~='' then call writeln(f1,a)
        else do ; co='a' ; if d//2=0 then co='e' ; tr 'c9Deletedc6: c'co||h ; d=d+1 ; end
    end i ; call close(f1) ; if d=0 then tr 'cbr1 NO PLAYERS DELETED r0n1'
    else tr 'n1caTotal c6ofc9: cd'||d||' cePlayers c9Deletedc6!n1'
    tr 'c7Press cdAny c7Keyc6...g1'
  signal MAINT

RESET:
    se '[14Cc6Do a c7[caCc7]caompletec6, or c7[cbPc7]cbartial c6Reset? c7[c9Abortc7]c6: '
    gc ; a=index('CP',result) ; if a=0 then do ; tr 'c9Abort' ; signal MAINT ; end
    if a=1 then do ; tr 'caCompletef1'
        tr 'cc>X<>X<cfr1 Complete Wheel of Fortune Reset r0cc>X<>X<n1'
        tr 'c6The following cbfiles c6will be c9deletedc6:n1'
        tr '[9CcaGameData c7>>--> caInfo on Current Game being Played.'
        tr '[7CceLastPlayer cf>>--> ceInfo on the Last Player of Game.'
        tr '[10CcaPlayers c7>>--> caData file on ALL WOF Players.'
        tr '[11CceWinner cf>>--> ceInfo on Winner of the LAST Game.'
        tr '[10CcaWinners c7>>--> caInfo on the LAST 20 Winners.'
        tr '[10CceBWinner cf>>--> ceInfo on Winner of LAST BONUS Game.'
        tr '[9CcaBWinners c7>>--> caInfo on LAST 20 BONUS Winners.'
        tr '[7CceLog.NEW.#? cf>>--> ceEvents that occurred during THIS Game.'
        tr '[7CcaLog.OLD.#? c7>>--> caEvents that occurred during LAST Game.'
        tr '[12CceStats cf>>--> ceInfo on the HIGH SCORES obtained.n1'
        se 'c6Are you cbSURE c6you want to do this? c7[caNoc7]c6: ca'
        gc ; a=result ; if a~='Y' then do ; tr 'No.' ; signal MAINT ; end
        tr 'Yes!n2cbResetting caCOMPLETE c6Game...n1'
        tr 'c9Deleting cb"caGameDatacb"c6.....file...$odelete '||dfile||'GameData}cdDonec6.'
        tr 'c9Deleting cb"caPlayerscb"c6......file...$odelete '||dfile||'Players}cdDonec6.'
        se 'c9Deleting cb"caLastPlayercb"c6...file...'
            if exists(dfile||'LastPlayer') then se '$odelete '||dfile||'LastPlayer}'
            tr 'cdDonec6.'
        tr 'c9Deleting cb"caWinnercb"c6.......file...$odelete '||dfile||'Winner}cdDonec6.'
        tr 'c9Deleting cb"caWinnerscb"c6......file...$odelete '||dfile||'Winners}cdDonec6.'
        tr 'c9Deleting cb"caBWinnercb"c6......file...$odelete '||dfile||'Bwinner}cdDonec6.'
        tr 'c9Deleting cb"caBWinnerscb"c6.....file...$odelete '||dfile||'BWinners}cdDonec6.'
        tr 'c9Deleting cb"caLog.NEW.#?cb"c6...file...$odelete '||dfile||'Log.NEW.#?}cdDonec6.'
        tr 'c9Deleting cb"caLog.OLD.#?cb"c6...file...'
            if exists(dfile||'Log.OLD.ASC') then se '$odelete '||dfile||'Log.OLD.#?}'
            tr 'cdDonec6.'
        tr 'c9Deleting cb"caStatscb"c6........file...$odelete '||dfile||'Stats}cdDonec6.n1'
        tr 'cbWheel of Fortunec6, cfv6.0 c6has been caCOMPLETELY cbResetc6!n1'
        tr 'Simply enter one of the ceGame Modules c6to cfSTART c6a c9NEW c6Game!'
      exit ; end
    if a=2 then do ; tr 'cbPartialf1'
        tr 'cc>X<>X<cfr1 Partial Wheel of Fortune Reset r0cc>X<>X<n1'
        se 'c9Delete cb"caGameDatacb"c6.....file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'GameData} cdDonec6.' ; else tr 'No.'
        se 'c9Delete cb"caPlayerscb"c6......file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'Players} cdDonec6.' ; else tr 'No.'
        se 'c9Delete cb"caLastPlayercb"c6...file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then do ; se 'Yes!' ; if exists(dfile||'LastPlayer') then se '$odelete '||dfile||'LastPlayer}'
            tr ' cdDonec6.' ; end ; else tr 'No.'
        se 'c9Delete cb"caWinnercb"c6.......file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'Winner} cdDonec6.' ; else tr 'No.'
        se 'c9Delete cb"caWinnerscb"c6......file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'Winners} cdDonec6.' ; else tr 'No.'
        se 'c9Delete cb"caBWinnercb"c6......file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'BWinner} cdDonec6.' ; else tr 'No.'
        se 'c9Delete cb"caBWinnerscb"c6.....file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'BWinners} cdDonec6.' ; else tr 'No.'
        se 'c9Delete cb"caLog.NEW.#?cb"c6...file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'Log.NEW.#?} cdDonec6.' ; else tr 'No.'
        se 'c9Delete cb"caLog.OLD.#?cb"c6...file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then do ; se 'Yes!' ; if exists(dfile||'Log.OLD.ASC') then se '$odelete '||dfile||'Log.OLD.#?}'
            tr ' cdDonec6.' ; end ; else tr 'No.'
        se 'c9Delete cb"caStatscb"c6........file? c7[ceNoc7]c6: ce' ; gc ; a=result
        if a='Y' then tr 'Yes!$odelete '||dfile||'Stats} cdDonec6.' ; else tr 'No.'
        if ~exists(dfile||'GameData') | ~exists(dfile||'Players') then do
            se 'n1c6For cfsafety c6reasons, we must now c9EXIT c6the file. Simply enter '
            tr 'one of the ceGame Modules c6to cabind c6any changes made here...' ; end
      exit ; end

GETCONFIG:
    call open(f1,'pfiles:WoFortune.Config','r')
        do 3 ; dfile=readln(f1) ; end
    call close(f1) ; reg=exists(dfile||'Reg.Key')
  return

SYNTAX: ; ERROR: ; IOERR:
    tr 'n2ce*** c9BOOM ce*** c9Error Detectedce!' ; tr 'c6ERc9:cb'rc' c6(ca'errortext(rc)'c6) @ cf'sigl
    tr 'cdSysop has been notified...' ; logentry 'ER:'rc' ('errortext(rc)') @ 'sigl
    logentry 'while using WOF, v6.0 MAINT' ; bufferflush
  exit

/* Completed: November 11, 1993              Frontiers BBS (716)/823-9892 */
