/* YUPPIE WARS! 22-Nov-90/21-Feb-91  -  Dave Cole */
/* Special thanks to Mike Soucy for the Slot Machine routine! */
/* Special thanks to D.F. Duck for the Craps routine! */
/* Special thanks to Jim Foley for a couple suggestions! & Mem-Safeguard!*/
/* Converted to StarNet by Keith Thibodeaux */
/* Re-Converted to Mebbsnet >1.5x by Robert Lehman */
/* Sysop of SouthWinds bbs (219) 289-3275 */

Signal on ERROR
SIGNAL ON SYNTAX
SIGNAL ON IOERR
SIGNAL ON FAILURE

parse arg LineNumber

OPTIONS RESULTS

DoorName = "Yuppiewars"

if( ~show( 'l', "mebbsarexx.library" ) )then do
if( ~addlib( "mebbsarexx.library", 0, -30, 0 ) )then do
      say "Could not open library"
      exit 10
   end
end


/* Begin INSTALLATION HERE. Edit until END OF INSTALLATION */

bullopt = 1               /* If you want a bulletin of high scores make this a 1. 0 if no */

bullpath = 'bulletins:bul18.txt' /* Full path with name to your bulletins menu */

/*     WARNING The Bulletins must be set up right. This routine is called
       at the exit routine so if it is not set up right then you are
       asking for trouble. The exit routine is called when an error 
       occurs, a person drops carrier or when he exits the game. This 
       routine can cause your drive to go into an ENDLESS loop so make
       sure the bulletins path is up right on ALL the YUPPIE_#.prx files
       and test it to make sure the bulletin is being created. */
     
bbsname = 'SouthWinds'             /* Your bbs name here.  */
dasysop = 'ROBERT LEHMAN'         /* Put your name here. "uppercase" */
handy = 'NASTRADAMUS'            /* Put your handle here "uppercase"*/
magicword = 'Passwired'         /* Put a password in here for sysop editor 8 is the magic key */

/* END OF INSTALLATION */


 /* Say loading the game...   */
call getvar doorname,linenumber, 1
NAME = UPPER(RESULT)

CLS = '[H[J'
call message doorname,linenumber, CLS,1
call message doorname,linenumber, 'Loading Yuppie Wars...',1

 /* Define a few variables... */

howm = 0       /* PUT HOW MANY PEOPLE ARE ALREADY PLAYING HERE!  VERY */
               /* IMPORTANT THAT YOU DO THIS! IF NONE THAN LEAVE AS 0. */
               /* (ONLY CHANGE THIS WHEN FIRST INSTALLING THE PROGRAM) */
             /* (WHEN OTHER USERS ARE ADDED THE PROGRAM WILL COMPENSATE) */
             /* ALSO!  ONLY edit this when 'STATS' file is deleted! */

file.1='doors:Yuppie/Instructions1';file.2='doors:Yuppie/Instructions2';file.6='doors:Yuppie/NEWS'
file.3='doors:Yuppie/Instructions3';file.4='doors:Yuppie/Instructions4';file.5='doors:Yuppie/Instructions5'
mainpath ='doors:yuppie/'
ver='2.0'
lowmem = 150000
maincount = 0
call getvar doorname,linenumber, 21; handle = upper(result)
call getvar doorname,linenumber, 10; LINES = upper(result) - 2
call getvar doorname,linenumber, 20; access = result
call getvar doorname,linenumber, 8
gfx = result 



if gfx = 1 then do
RED = '[31m';GRE = '[32m';YEL = '[33m';BLU = '[34m';MAG = '[35m';CYA = '[36m';WHI = '[37m'
WhiBlk = '[47;30m';BluCya = '[44;36m';WhiGre = '[47;32m';RedMag = '[41;35m';ITAL = '[3m';UNDER = '[4m';BOLD = '[1m';RESET = '[0m'
end;else do
RED = '';GRE = '';YEL = '';BLU = '';MAG = '';CYA = '';WHI = ''
WhiBlk = '';BluCya = '';WhiGre = '';RedMag = '';ITAL = '';UNDER = '';BOLD = '';RESET = ''
end
sysop=0    ; if access=31 then sysop=1    /* For further versions? */
time=time(); date=date()
BELL=''
blanks = '                                 '
day = 0
if exists(mainpath'INUSE') then do            
      call open file, (MAINPATH'INUSE'), 'R'
      WHOON = readln(file)
      call message doorname,linenumber, cls,1
      call message doorname,linenumber, 'Yuppie Wars in currently being played by 'WHOON' on the other line.',1
      call message doorname,linenumber, 'Try back in a little while...',1
      call message doorname,linenumber, '',1
      call close file
      call hotkey doorname,linenumber, 'Press Return..'      
      call checkca
      signal qexit
end

if ~exists(MAINPATH'INUSE') then do
      call open file, (MAINPATH'INUSE'), 'W'
           call writeln file, HANDLE
           call close file
   end


if ~exists('doors:Yuppie/NEWS') then do
   call open(news,'doors:Yuppie/NEWS','W')
         call writeln(news,' ')
         call writeln(news,'         'BLUCYA'   -=< The Yuppie Times >=-   'RESET' ')
         call writeln(news,' 'RED'               For 'date' ')
         call writeln(news,' 'CYA)
   call close(news)
  end
if ~exists('doors:Yuppie/STATS') then do
   call open(dc,'doors:Yuppie/STATS','W')
   call writeln(dc,date)
   call writeln(dc,day)
   call writeln(dc,howm)
   call close(dc)
  end
if exists('doors:Yuppie/STATS') then do
   call open(dc,'doors:Yuppie/STATS','R')
   dt = readln(dc)
   day = readln(dc)
   howm = readln(dc)
   if howm = ' ' | howm = '' then howm = 1
   call close(dc)
   if date ~= dt then do
      day = day + 1
      if exists('doors:Yuppie/NEWS') then do
         call open(news,'doors:Yuppie/NEWS','A')
         call writeln(news,' ')
         call writeln(news,'         'BLUCYA'   -=< The Yuppie Times >=-   'RESET' ')
         call writeln(news,' 'RED'               For 'date' ')
         call writeln(news,' 'CYA)
         call close(news)
      end
   call open(dc,'doors:Yuppie/STATS','W')
   call writeln(dc,date)
   call writeln(dc,day)
   call writeln(dc,howm)
   call close(dc)
   end
end
call message doorname,linenumber, '.',1
if day = 5 then do
   day = 0
   address command "delete "||file.6
   call open(news,'doors:Yuppie/NEWS','W')
   call writeln(news,' ')
   call writeln(news,'         'BLUCYA'   -=< The Yuppie Times >=-   'RESET' ')
   call writeln(news,' 'RED'               For 'date' ')
   call writeln(news,' 'CYA)
   call writeln(news,'Newspaper was reset on 'date'.')
   call close(news)
   call open(dc,'doors:Yuppie/STATS','W')
   call writeln(dc,date)
   call writeln(dc,day)
   call writeln(dc,howm)
   call close(dc)
  end

if exists('doors:Yuppie/NEWS') then do
   call open(news,'doors:Yuppie/NEWS','A')
   call writeln(news,''handle' joins us at 'time', 'date'.')
  end

if ~exists('doors:Yuppie/TopOnes') then do
   call open(top10,'doors:Yuppie/TopOnes','W')
   do i = 1 to 10
      call writeln(top10,'0' '..........')
   end
   call close(top10)
  end

if ~exists('doors:Yuppie/PLAYERS') then do
   call open(play,'doors:Yuppie/PLAYERS','W')
   do i = 1 to howm
      call writeln(play,'0' '...........')
   end
   call close(play)
  end
call message doorname,linenumber, '.',1

/* WHAT THE WEAPONS ARE */
wep1 = 'Squirt Gun'
wep2 = 'Spitwad Launcher'
wep3 = 'Frisbee'
wep4 = 'Laser Tag Gun'
wep5 = 'Paint Ball Gun'
wep6 = 'Darts'
wep7 = 'Baseball'
wep8 = 'Bart Simpson Doll'
wep9 = 'Chainsaw'
wep10 = 'Teenage Mutant Ninja Turtle Doll'
wep11 = 'New Kids On The Block Poster'
wep12 = 'New Kids On The Block CD'
     /* WHAT THE VEHICLES ARE */
arm1 = 'Barbie Ferrari'
arm2 = 'Roller Skates'
arm3 = 'Vision Skateboard'
arm4 = 'Go-Cart'
arm5 = '10-Speed Bike'
arm6 = 'Suzuki Motorbike'
arm7 = 'BMW Motorcycle'
arm8 = 'Yugo'
arm9 = 'Volkswagon'
arm10 = 'Ferrari F40'
arm11 = 'Corvette Mako Shark'
arm12 = 'Stealth Bomber'
     /* THE RANKS */
ran1 = 'Window_Shopper'
ran2 = 'Browser'
ran3 = 'Consumer'
ran4 = 'Credit_Card_User'
ran5 = 'Bouncy_Check_Writer'
ran6 = 'Blue_Collar_Worker'
ran7 = 'Republican'
ran8 = 'Millionare_Tycoon'
ran9 = 'Chairman_of_Macys_Department_Store'
ran10 = 'President_of_Macys_Department_Store'
ran11 = 'Founder_of_Macys_Department_Store'
ran12 = 'THE_ONE.'
    /* BEGINNING GUY STATS */
turnsleft = 26
maxturns = 26
maxpoints = 30
hitpoints = 30
points = 6100
money = 5000
armor = arm1
weapon = wep1
rank = ran1
canfight = 4
deadf = 0
killer = 'NOBODY'
kills = 0
bmoney = 1000
call message doorname,linenumber, '.',1
    /* LETS BEGIN THE GAME! */
if ~exists('doors:Yuppie/'handle'.dat') then do
   howm = howm + 1
  end
if exists('doors:Yuppie/'handle'.dat') then do
   call open(File,'doors:Yuppie/'handle'.DAT','R')
   turnsleft = readln(File)
   maxpoints = readln(File)
   hitpoints = readln(File)
   points = readln(File)
   money = readln(File)
   armor = readln(File)
   weapon = readln(File)
   rank = readln(File)
   canfight = readln(File)
   lastpl = readln(File)
   deadf = readln(File)
   killer = readln(File)
   kills = readln(File)
   bmoney = readln(File)
  end
call close(File)
call message doorname,linenumber, '.',1
if lastpl ~= date then do
   call message doorname,linenumber, ' 'BELL,1
   call message doorname,linenumber, MAG'Running Maintenance....',1
   address command "wait 1"
   call message doorname,linenumber, YEL'  You have 'WHI'25'YEL' fresh turns!',1
   turnsleft = 26
   rannum = RANDOM(10,50,Time('s'))
   hitpoints = hitpoints + rannum
   if hitpoints > maxpoints then hitpoints = maxpoints
   call message doorname,linenumber, YEL'  You have gained 'WHI''rannum''YEL' hitpoints!',1
   money = money + 2000
   call message doorname,linenumber, YEL'  You have earned 'WHI'$2000'YEL'!',1
   call message doorname,linenumber, RED'  You are all set up and ready to go!',1
   canfight = 4
   call message doorname,linenumber, ' ',1
   if deadf = 1 then do
      call message doorname,linenumber, RED' 'KILLER' BEAT YOU ON THE HIGHWAY!',1
      call message doorname,linenumber, ' ',1
   end
   deadf = 0
   address command "wait 1"
  call hotkey doorname,linenumber, 'Press 'RED'RETURN'RESET' when finished: '
  call checkca 
   end
call CHECKRANK
call EVENER
signal TITLE

CHECKRANK:
if kills >= 17 then rank = ran2
if kills >= 25 then rank = ran3
if kills >= 35 then rank = ran4
if kills >= 45 then rank = ran5
if kills >= 60 then rank = ran6
if kills >= 75 then rank = ran7
if kills >= 100 then rank = ran8
if kills >= 130 then rank = ran9
if kills >= 160 then rank = ran10
if kills >= 215 then rank = ran11
if kills >= 300 then rank = ran12
if rank = ran2 then maxpoints = 40
if rank = ran3 then maxpoints = 50
if rank = ran4 then maxpoints = 60
if rank = ran5 then maxpoints = 75
if rank = ran6 then maxpoints = 90
if rank = ran7 then maxpoints = 100
if rank = ran8 then maxpoints = 120
if rank = ran9 then maxpoints = 140
if rank = ran10 then maxpoints = 170
if rank = ran11 then maxpoints = 200
if rank = ran12 then maxpoints = 250
return

EVENER:
zod1 = compress(hitpoints,'0123456789')
zod2 = compress(points,'0123456789')
zod3 = compress(money,'0123456789')
zod4 = compress(bmoney,'0123456789')
if zod1 = '.' then do
 parse var hitpoints hit1 '.' hit2
 hitpoints = hit1
 hitpoints = hitpoints + 1
end
if zod2 = '.' then do
 parse var points poi1 '.' poi2
 points = poi1
 points = points + 1
end
if zod3 = '.' then do
 parse var money moy1 '.' moy2
 money = moy1
 money = money + 1
end
if zod4 = '.' then do
 parse var bmoney bmy1 '.' bmy2
 bmoney = bmy1
 bmoney = bmoney + 1
end
return

TITLE:
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED 'LONG AGO, IN A SHOPPING MALL FAR FAR AWAY...',1
call message doorname,linenumber, BLU '                          ___  ___    ___         __  ___  ___',1
call message doorname,linenumber, BLU '               /  / /  / /  / /  / / /      \   \ \ \ \  \ \',1
call message doorname,linenumber, RED '        ------'BLU'/__/'RED'-'BLU'/'RED'--'BLU'/'RED'-'BLU'/__/'RED'-'BLU'/__/'RED'-'BLU'/'RED'-'BLU'/_'RED'-------'BLU'\'RED'---'BLU'\'RED'-'BLU'\_\'RED'-'BLU'\__\'RED'-'BLU'\__'RED'------',1 ;mn = '  Robert Lehman #M3005';me = 'SouthWinds bbs, 219-289-3275 VFast. Maxnet 90:91/0'
call message doorname,linenumber, RED '       ---------'BLU'/'RED'-'BLU'/'RED'--'BLU'/'RED'-'BLU'/'RED'----'BLU'/'RED'----'BLU'/'RED'-'BLU'/'RED'----------'BLU'\'RED'-'BLU'\'RED'-'BLU'\'RED'-'BLU'\'RED'-'BLU'\'RED'-'BLU'\'RED'-'BLU'\'RED'----'BLU'\'RED'------',1
call message doorname,linenumber, BLU '             __/ /__/ /    /    / /___         \_\_\ \ \ \ \  __\',1
call message doorname,linenumber, '',1
call message doorname,linenumber, CYA '                                    'Ver,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, GRE '                           Original by: Dave Cole',1
call message doorname,linenumber, GRE '                      Wolverines Den - (616)533-6760',1
call message doorname,linenumber, '',1
call message doorname,linenumber, MAG '                    Converted to Mebbsnet by:'mn,1
call message doorname,linenumber, MAG '                'me,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '',1
call message doorname,linenumber, MAG '                        Now playing on 'bbsname '!',1  /* You may want to center this appropriately... */
address command "wait 1"
call hotkey doorname,linenumber, RED '--= Press Return =--'
call checkca
signal BEGINNINGPROMPTS

BEGINNINGPROMPTS:
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, MAG'Need Instructions ('GRE'y'MAG'/'RED'N'MAG')? '
info = upper(result)
  if info = 'Y' then do
call message doorname,linenumber,GRE' Yep.',0
  do i = 1 to 5
  call checkca   
  call message doorname,linenumber, CLS,1
     call open(instr,file.i,'R')
     do until EOF(instr)
        call message doorname,linenumber, Readln(instr),1
     end
     call close(instr)
     call hotkey doorname,linenumber, ' Press 'RED'RETURN'WHI' when finished: '
     call checkca
     call message doorname,linenumber, ' ',1
    end
 end
Call message doorname,linenumber,GRE' Nope.',0
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, MAG'Read The News ('GRE'y'MAG'/'RED'N'MAG')? '
newz = upper(result)
if newz = 'Y' then do
  q = 0
  call message doorname,linenumber,GRE' Yep.',0
  call message doorname,linenumber, CLS,1
  call open(newz,'doors:Yuppie/NEWS','R')
  do until EOF(newz)
     q = q + 1
     call message doorname,linenumber, Readln(newz),1
     if q // (LINES - 3) = 0 then do
        call message doorname,linenumber, RESET'Hit 'RED'RETURN'RESET' to continue: ',0
        call hotkey doorname,linenumber, ''
        ans = upper(result)
        if ans = 'Q' then do
           call close(newz)
           signal MENU
        end
     end
  end
  call close(newz)
  call message doorname,linenumber, 'Press 'RED'RETURN'RESET' when finished: ',0
  call hotkey doorname,linenumber,''
  call checkca
  signal MENU
 end
call message doorname,linenumber,GRE' Nope.',0
call message doorname,linenumber, ' ',1
signal MENU

MAINGAME:
call checkca
currentmem=storage()
  if currentmem<lowmem then do
    call message doorname,linenumber, CLS,1
    call message doorname,linenumber, ' ',1
    call message doorname,linenumber, RED CENTER('Sorry!  Out of memory!  Saving and exiting...',78),1
    address command "wait 1"
    signal BYE
  end
call message doorname,linenumber, ' ',1
call message doorname,linenumber, BLU'['YEL''turnsleft''BLU']'CYA' Your Choice Sir?'BLU'> ',0
call hotkey doorname,linenumber,''
Choice = upper(result)
if Choice = '' | Choice = ' ' | Choice = '  ' | Choice = '   ' | Choice = '    ' | Choice = '     ' then turnsleft = turnsleft + 1
if Choice = 'T' then do
maincount = 0
signal ARENA
end
if Choice = 'H' then do
maincount = 0
signal HIGHWAY
end
if Choice = 'R' then do
maincount = 0
signal REST
end
if Choice = 'S' then do
maincount = 0
signal TOP
end
if Choice = 'Y' then do
maincount = 0
signal YOURSTATS
end
if Choice = 'G' then do
maincount = 0
signal TRIP
end
if Choice = 'L' then do
maincount = 0
signal VEGAS
end
if Choice = 'V' then do
maincount = 0
signal BUYORSELLA
end
if Choice = 'W' then do
maincount = 0
signal BUYORSELLW
end
if Choice = 'B' then do
maincount = 0
signal BANK
end
if Choice = 'P' then do
maincount = 0
signal PLAYERS                                                                  
end
                                                                                                                     if Choice = '8' then do; maincount = 0;if handle = handy then do;call checkagain;end;end
if Choice = 'Q' then do
maincount = 0
signal QUIT
end
if Choice = '?' then do
maincount = 0
signal MENU
end
else do
turnsleft = turnsleft + 1
signal MENU
end
signal MENU
MENU:
if hitpoints > maxpoints then hitpoints = maxpoints
if hitpoints < 0 then hitpoints = 0
if money < 0 then money = 0
turnsleft=turnsleft-1
if turnsleft <= 0 then do
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, BLUCYA'   You must like this game!   'RESET,1
   call message doorname,linenumber, ' 'RESET,1
   call message doorname,linenumber, RED center('But anyway, you have played all your 25 turns out.',78),1
   call message doorname,linenumber, RED center('Try calling back tomarrow and playing again!',78),1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, 'Press 'RED'RETURN'WHI' when finished: ',0
   call hotkey doorname,linenumber,''
   call checkca
   signal OUTTAHERE
  end
call message doorname,linenumber, CLS,1
call message doorname,linenumber, BLU'                         _  _        _    _',1
call message doorname,linenumber, RED'          ==============='BLU'\\//'RED'========'BLU'\\/\//'RED'===============',1
call message doorname,linenumber, RED'         ================='BLU'||UPPIE'RED'====='BLU'\/\/ARS'RED'==============',1
call message doorname,linenumber, BLU'       --------'CYA' Can The Richest & Greediest Survive?'BLU' --------',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '           'MAG'['YEL'T'MAG']'WHI' To The Arena              'MAG'['YEL'G'MAG']'WHI' Go On A Trip      ',1
call message doorname,linenumber, '           'MAG'['YEL'H'MAG']'WHI' The Highway               'MAG'['YEL'L'MAG']'WHI' Go To Las Vegas   ',1
call message doorname,linenumber, '           'MAG'['YEL'R'MAG']'WHI' Rest In A Hotel           'MAG'['YEL'V'MAG']'WHI' Shop For Vehicle  ',1
call message doorname,linenumber, '           'MAG'['YEL'S'MAG']'WHI' Top Scores                'MAG'['YEL'W'MAG']'WHI' Shop For Weapons  ',1
call message doorname,linenumber, '           'MAG'['YEL'Y'MAG']'WHI' List Your Stats           'MAG'['YEL'P'MAG']'WHI' List Players      ',1
call message doorname,linenumber, '           'MAG'['YEL'B'MAG']'WHI' The Bank                  'MAG'['YEL'Q'MAG']'WHI' Quit The Game     ',1
call message doorname,linenumber, ' ',1
call checkca
signal MAINGAME

PLAYERS:
call message doorname,linenumber, CLS,1
turnsleft = turnsleft + 1
call HICL
call SHOWPL
signal MENU

HICL:
call open(play,'doors:Yuppie/Players','R')
PHandle.1 = handle
PRank.1 = rank
do i = 2 to howm+1
   plays = readln(play)
   PHandle.i = delword(plays,1,1)
   PRank.i = word(plays,1)
   if PHandle.1 = PHandle.i then PRank.i = -1
end
call close(play)
do i = 1 to howm
   do h = i + 1 to howm+1
      if PRank.i < PRank.h then do
         tp = PRank.i
         PRank.i = PRank.h
         PRank.h = tp
         tpor = PHandle.i
         PHandle.i = PHandle.h
         PHandle.h = tpor
      end
   end
end
return

SHOWPL:
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, center('       'BLUCYA'   List Of Yuppies   'RESET'',78),1
call message doorname,linenumber, BLU center('------------------------------------------------------',73)RESET,1
call message doorname,linenumber, ' ',1
call open(play,'doors:Yuppie/Players','W')
do i = 1 to howm
   if PRank.i ~= -1 then do
    call message doorname,linenumber, BLU right(PHandle.i,20,' -- ')'       ' PRank.i,1
     call writeln(play,PRank.i' 'PHandle.i)
   end
end
call close(play)
q = 0
do i = 1 to howm
 q = q + 1
 if q // (LINES - 3) = 0 then do
 call message doorname,linenumber, RESET'Press 'RED'RETURN'WHI' to continue: 'BLU,0
 call hotkey doorname,linenumber,''
 ans = upper(result)
 if ans = 'Q' then signal MENU
end
call checkca
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, 'Press 'RED'RETURN'WHI' when finished: '
call checkca
signal MENU

BANK:
call checkca
call EVENER
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, GRE'                  Due North-Northeast Savings and Loan Terminal',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, WHI'                       Account#:'RED' 0993-24300'handle'Z883',1
call message doorname,linenumber, WHI'                   Pocket Money:'RED money,1
call message doorname,linenumber, WHI'                     Bank Money:'RED bmoney,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' 'RESET,1
call message doorname,linenumber, BLU'['YEL'D'BLU']'CYA' Deposit, 'BLU'['YEL'W'BLU']'CYA' Withdraw, 'BLU'['YEL'L'BLU']'CYA' Leave Bank'BLU'> ',0
call hotkey doorname,linenumber,''
ans = upper(result)
if ans = 'D' then do
maincount = 0
signal DEPO
end
if ans = 'W' then do
maincount = 0
signal WITH
end
if ans = 'Q' then do
maincount = 0
signal MENU
end
if ans = 'L' then do
maincount = 0
signal MENU
end
signal BANK

WITH:
call checkca
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, GRE'Withdraw How Much Money?'BLU'>',0
call prompt doorname,linenumber,'',6
wit = upper(result)
if wit > bmoney | wit < 0 then do
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('You dont have that much money in the bank!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal BANK
  end
if wit <= bmoney then do
   bmoney = bmoney - wit
   money = money + wit
   call message doorname,linenumber, RED'Money withdrawn.  Thank you.',1
   address command "wait 1"
   signal BANK
  end
signal BANK

DEPO:
call checkca
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, GRE'Deposit How Much Money?'BLU'>',0
call prompt doorname,linenumber,'',6
dep = upper(result)
if dep > money | dep < 0 then do
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOU DONT HAVE THAT MUCH MONEY!',78),1
   call message doorname,linenumber, ' 'RESET,1
   address command "wait 1"
   signal BANK
  end
if dep <= money then do
   call message doorname,linenumber, RED'Depositing...',1
   money = money - dep
   bmoney = bmoney + dep
   call message doorname,linenumber, RED'Deposited.',1
   address command "wait 1"
   signal BANK
  end
signal BANK

ARENA:
call checkca
call EVENER
call message doorname,linenumber, CLS,1
call message doorname,linenumber, WHI'  .                         .   'BLU' ___'WHI'           .',1
call message doorname,linenumber, BLU'    ___ 'WHI'.   'BLU' __________   'WHI'. 'BLU'  __|___|_   'WHI'.   'BLU'__',1
call message doorname,linenumber, BLU'   |...|_   |o\\\\\\\\\\__   |. . . . |    _/__|_',1
call message doorname,linenumber, BLU'   |._.|.|  |oo\\\\\\\\\\.|'WHI'.'BLU' |. . . . |   |....._\  'WHI' .',1
call message doorname,linenumber, WHI'___'BLU'||_||'WHI'_'BLU'|'WHI'__'BLU'|'WHI'___'BLU'\\\\\\\\\\|'WHI'__'BLU'|________|'WHI'___'BLU'|_____\_\'WHI'_____',1
call message doorname,linenumber, BLU'________________________________________________________',1
call message doorname,linenumber, GRE'__                                                    'GRE'__',1
call message doorname,linenumber, GRE'|\\'CYA'OOOooooo,,,,,,,..........'BLU'__'CYA'.......,,,,,ooooooooOOO'GRE'// |',1
call message doorname,linenumber, GRE'|  \\'CYA'OOOooooo,,,,,,,.......'BLU'/__\'CYA'....,,,,,ooooooooOOO'GRE'//   |',1
call message doorname,linenumber, BLU' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=',1
call message doorname,linenumber, RED'                                  __    __',1
call message doorname,linenumber, RED'          Below the streets...     \HE  \-\RENA',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Enter the arena? ('GRE'Y'CYA'/'RED'n'CYA')'BLU'> ',0
call hotkey doorname,linenumber,''
answ = upper(result)
if answ = 'N' then signal MENU
signal FIGHTWHO

FIGHTWHO:
call checkca
randm = RANDOM(1,3,Time('s'))
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, center('      'BLUCYA'   Todays Fighters Available:   'RESET'',78),1
call message doorname,linenumber, ' ',1
if randm = 1 then do
   call message doorname,linenumber, center('[W] A Window Shopper      ',78),1
   call message doorname,linenumber, center('[R] A Record Store Owner  ',78),1
   call message doorname,linenumber, center('[A] An Arcade Game Buff   ',78),1
   call message doorname,linenumber, center('[G] The Jolly Green Giant ',78),1
  end
if randm = 2 then do
   call message doorname,linenumber, center('[W] A Window Shopper      ',78),1
   call message doorname,linenumber, center('[A] An Arcade Game Freak  ',78),1
   call message doorname,linenumber, center('[M] A Mortitioner         ',78),1
   call message doorname,linenumber, center('[Y] Macys Store President',78),1
  end
if randm = 3 then do
   call message doorname,linenumber, center('[K] A K-Mart Attendant    ',78),1
   call message doorname,linenumber, center('[R] A Record Store Owner  ',78),1
   call message doorname,linenumber, center('[A] An Arcade Game Freak  ',78),1
   call message doorname,linenumber, center('[P] A Paris Cafe Owner    ',78),1
  end
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Fight which one? 'BLU'['YEL'Q'BLU']'CYA' Quits'BLU'> ',0
call hotkey doorname,linenumber,''
answ = upper(result)
if answ = 'Q' then do
maincount = 0
signal MENU
end

if randm = 1 then do
   if answ = 'W' then do
   maincount = 0
   signal WINDOW
   end
   if answ = 'R' then do
   maincount = 0
   signal RECORD
   end
   if answ = 'A' then do
   maincount = 0
   signal BUFF
   end
   if answ = 'G' then do
   maincount = 0
   signal GIANT
   end
end
if randm = 2 then do
   if answ = 'W' then do
   maincount = 0
   signal WINDOW
   end
   if answ = 'A' then do
   maincount = 0
   signal FREAK
   end
   if answ = 'M' then do
   maincount = 0
   signal MORT
   end
   if answ = 'Y' then do
   maincount = 0
   signal PRES
   end
end
if randm = 3 then do
   if answ = 'K' then do
   maincount = 0
   signal KMART
   end
   if answ = 'R' then do
   maincount = 0
   signal RECORD
   end
   if answ = 'A' then do
   maincount = 0
   signal FREAK
   end
   if answ = 'P' then do
   maincount = 0
   signal PARIS
   end
end
signal FIGHTWHO

WINDOW:
call checkca
call message doorname,linenumber, CLS,1
wh = 'Window Shopper'
hitoppo = 30
wepoppo = wep2
armoppo = arm2
call RFZ
monoppo = randm * 50
signal FIGHTSC

RECORD:
call checkca
call message doorname,linenumber, CLS,1
wh = 'Record Store Owner'
hitoppo = 55
wepoppo = wep4
armoppo = arm4
call RFZ
monoppo = randm * 350
signal FIGHTSC

RFZ:
call checkca
randm = RANDOM(10,30,Time('s'))
return

BUFF:
call checkca
call message doorname,linenumber, CLS,1
wh = 'Arcade Game Buff'
hitoppo = 70
wepoppo = wep5
armoppo = arm6
call RFZ
monoppo = randm * 400
signal FIGHTSC

GIANT:
call checkca
call message doorname,linenumber, CLS,1
wh = 'Jolly Green Giant'
hitoppo = 200
wepoppo = wep8
armoppo = arm8
call RFZ
monoppo = randm * 1200
signal FIGHTSC

FREAK:
call checkca
call message doorname,linenumber, CLS,1
wh = 'Arcade Game Freak'
hitoppo = 80
wepoppo = wep6
armoppo = arm7
call RFZ
monoppo = randm * 500
signal FIGHTSC

MORT:
call checkca
call message doorname,linenumber, CLS,1
wh = 'Mortitioner'
hitoppo = 180
wepoppo = wep8
armoppo = arm10
call RFZ
monoppo = randm * 1050
signal FIGHTSC

PRES:
call checkca
call message doorname,linenumber, CLS,1
wh = 'President Of Macys'
hitoppo = 390
wepoppo = wep11
armoppo = arm11
call RFZ
monoppo = randm * 2500
signal FIGHTSC

KMART:
call checkca
call message doorname,linenumber, CLS,1
wh = 'K-Mart Attendant'
hitoppo = 52
wepoppo = wep4
armoppo = arm3
call RFZ
monoppo = randm * 300
signal FIGHTSC

PARIS:
call checkca
call message doorname,linenumber, CLS,1
wh = 'Paris Cafe Owner'
hitoppo = 180
wepoppo = wep9
armoppo = arm7
call RFZ
monoppo = randm * 1250
signal FIGHTSC

FIGHTSC:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'You are fighting a 'WHI''wh''MAG'.',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Fight Commands: 'BLU'['YEL'A'BLU'] 'WHI'Attack, 'BLU'['YEL'R'BLU'] 'WHI'Retreat, 'BLU'['YEL'H'BLU']'WHI' Hit his vehicle'BLU'> ',0
call hotkey doorname,linenumber,''
opt = upper(result)
if opt = 'A' then do
maincount = 0
signal ATT
end
if opt = 'R' then do
maincount = 0
signal RET
end
if opt = 'H' then do
maincount = 0
signal RAMH
end
if opt = 'Q' then do
maincount = 0
signal RET
end
signal FIGHTSC

ATT:
call checkca
call STA
rannum = RANDOM(1,2,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You hit him for 'hithim' hitpoints!',1
   hitoppo = hitoppo - hithim
   if hitoppo <= 0 then signal WONFIT
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, GRE'He hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSFIT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, GRE'He rammed your 'armor' and',1
      call message doorname,linenumber, GRE'hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      hitoppo = hitoppo - ramlos
      if hitpoints <= 0 & hitoppo <= 0 then signal DRAWFIT
      if hitpoints <= 0 then signal LOSFIT
      if hitoppo <= 0 then signal WONFIT
     end
  end
if rannum = 2 then do
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, GRE'He hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSFIT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, GRE'He rammed your 'armor' and',1
      call message doorname,linenumber, GRE'hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      hitoppo = hitoppo - ramlos
      if hitpoints <= 0 & hitoppo <= 0 then signal DRAWFIT
      if hitpoints <= 0 then signal LOSFIT
      if hitoppo <= 0 then signal WONFIT
     end
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You hit him for 'hithim' hitpoints!',1
   hitoppo = hitoppo - hithim
   if hitoppo <= 0 then signal WONFIT
  end
signal FIGHTSC

RAMH:
call checkca
call STA
rannum = RANDOM(1,2,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You rammed his 'armoppo' and',1
   call message doorname,linenumber, RED'hit him for 'hithim+5' hitpoints!',1
   call message doorname,linenumber, RED'You also lost 'ramlos' by hitting him.',1
   hitpoints = hitpoints - ramlos
   hitoppo=hitoppo-(hithim+5)
   if hitpoints <= 0 & hitoppo <=0 then signal DRAWFIT
   if hitoppo <= 0 then signal WONFIT
   if hitpoints <= 0 then signal LOSFIT
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, GRE'He hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSFIT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, GRE'He rammed your 'armor' and',1
      call message doorname,linenumber, GRE'hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      hitoppo = hitoppo - ramlos
      if hitpoints <= 0 & hitoppo <= 0 then signal DRAWFIT
      if hitpoints <= 0 then signal LOSFIT
      if hitoppo <= 0 then signal WONFIT
     end
  end
if rannum = 2 then do
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, GRE'He hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSFIT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, GRE'He rammed your 'armor' and',1
      call message doorname,linenumber, GRE'hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      hitoppo = hitoppo - ramlos
      if hitpoints <= 0 & hitoppo <= 0 then signal DRAWFIT
      if hitpoints <= 0 then signal LOSFIT
      if hitoppo <= 0 then signal WONFIT
     end
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You rammed his 'armoppo' and',1
   call message doorname,linenumber, RED'hit him for 'hithim+5' hitpoints!',1
   call message doorname,linenumber, RED'You also lost 'ramlos' by hitting him.',1
   hitpoints = hitpoints - ramlos
   hitoppo=hitoppo-(hithim+5)
   if hitpoints <= 0 & hitoppo <=0 then signal DRAWFIT
   if hitoppo <= 0 then signal WONFIT
   if hitpoints <= 0 then signal LOSFIT
  end
signal FIGHTSC


RET:
call checkca
call STA
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED'YOU RUN!',1
if rank = ran1 | rank = ran2 | rank = ran3 then rannum = RANDOM(1,2,Time('s'))
if rank = ran4 | rank = ran5 | rank = ran6 then rannum = RANDOM(1,3,Time('s'))
if rank = ran7 | rank = ran8 | rank = ran9 then rannum = RANDOM(1,4,Time('s'))
if rank = ran10 | rank = ran11 then rannum = RANDOM(1,5,Time('s'))
if rank = ran12 then rannum = RANDOM(1,6,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'I dont think so. says the 'wh'.',1
   call message doorname,linenumber, GRE'You cant escape from me right now!',1
  end
if rannum = 2 | rannum = 3 | rannum = 4 | rannum = 5 | rannum = 6 then do
   ex = RANDOM(51,122,Time('s'))
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'You ESCAPED from The Arena!',1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal MENU
  end
rannum = RANDOM(1,2,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'The 'wh' hits you for 'hityou' hitpoints!',1
   hitpoints = hitpoints - hityou
   if hitpoints <= 0 then signal LOSFIT
  end
if rannum = 2 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'The 'wh' misses you!',1
  end
call message doorname,linenumber, ' ',1
address command "wait 1"
signal FIGHTSC

WONFIT:
call checkca
kills = kills + 1
address command "wait 1"
call message doorname,linenumber, CLS,1
call message doorname,linenumber, RESET'               *               *',1
call message doorname,linenumber, '   *                       'YEL'|'RESET'            *',1
call message doorname,linenumber, '        *      'YEL'\/OU \/\/ON o',1
call message doorname,linenumber, '               /    'RESET'*             *',1
call message doorname,linenumber, ' *                      *               *',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED'  You Won!  'MAG' You Get 'WHI'$'monoppo''MAG'!',1
money = money + monoppo
call CHECKRANK
address command "wait 1"
signal MENU

LOSFIT:
call checkca
hitpoints = 0
address command "wait 1"
call message doorname,linenumber, CLS,1
call message doorname,linenumber, RED'                                   _ ___',1
call message doorname,linenumber, '              \_/ /\ | |    |  /\ /   |  |||',1
call message doorname,linenumber, '               |  \/ |_|    |_ \/ _\  |  ooo',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'         You are the disgrace of The Arena!',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, GRE' You have 0 hitpoints.',1
call message doorname,linenumber, CYA' Oh well, better luck next time!',1
address command "wait 1"
signal MENU

CHECKAGAIN:
if name = dasysop then do
signal LALA
end
else do
signal maingame
end
return

DRAWFIT:
call checkca
kills = kills + 1
hitpoints = 0
address command "wait 1"
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('AMAZING!',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG center('Both of you killed each other with your final blows!',78),1
call message doorname,linenumber, MAG center('You both have 0 hitpoints, you didnt win anything.',78),1
call message doorname,linenumber, ' ',1
call CHECKRANK
address command "wait 1"
signal MENU

HIGHWAY:
call checkca
call EVENER
call message doorname,linenumber, CLS,1
call message doorname,linenumber, WHI'   ________ 'BLU'____'WHI' _ 'BLU'__'WHI' ______ 'BLU'_'WHI' _______ 'BLU'__'WHI' __________',1
call message doorname,linenumber, YEL'   ___   ___ 'BLU'/'YEL'_'BLU'/_//_'YEL'_  _'BLU'/_///_'YEL'_'BLU'/_//'YEL'_'BLU' //_//_/'YEL'__   ___',1
call message doorname,linenumber, WHI'   _________'BLU'/'WHI'_'BLU'/'WHI'_'BLU'//__'WHI'___'BLU'/'WHI'_'BLU'///_//'WHI'_'BLU'///|//'WHI'_'BLU'/'WHI'_'BLU'/'WHI'__________'RESET,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Do you wish to fight another player ('GRE'Y'CYA'/'RED'n'CYA')? ',0
call hotkey doorname,linenumber,''
ans = upper(result)
if ans = 'Q' then signal MENU
if ans = 'N' then signal MENU
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, GRE'Enter your opponents name:'RESET,0
call prompt doorname,linenumber,'',15
who = upper(result)
if who = 'Q' then signal MENU
if who = '' | who = ' ' | who = '  ' then signal MENU
if exists('doors:Yuppie/'who'.DAT') then do
   call open(oppo,'doors:Yuppie/'who'.DAT','R')
   nulla = readln(oppo)
   maxoppo = readln(oppo)
   hitoppo = readln(oppo)
   nullb = readln(oppo)
   monoppo = readln(oppo)
   armoppo = readln(oppo)
   wepoppo = readln(oppo)
   ranoppo = readln(oppo)
   nullc = readln(oppo)
   nulld = readln(oppo)
   defoppo = readln(oppo)
   kildoppo = readln(oppo)
   kiloppo = readln(oppo)
   nulle = readln(oppo)
   call close(oppo)
   wutoppo=(hitoppo+maxoppo)/2
  end
else do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'That yuppie doesnt exist! -- Maybe you mispelled it?',1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal HIGHWAY
  end
signal FIGHT

FIGHT:
call checkca
if defoppo = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'   Sorry 'handle', but 'kildoppo' already killed him!',1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal MENU
  end
canfight = canfight - 1
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
if canfight = 0 then do
   call message doorname,linenumber, BLU center('Oh.. you are too tired to fight anymore, try',78),1
   call message doorname,linenumber, BLU center('fighting tomarrow.',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal MENU
  end
call writeln(news,handle' picked a fight with 'who'!')
call message doorname,linenumber, center(''BLUCYA'   LETS FIGHT!!!   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'   Ladies and Gentlemen!  Tonight on the highway',1
call message doorname,linenumber, MAG' we have a fight of all fights!  Between 'WHI''handle''MAG',',1
call message doorname,linenumber, MAG' and 'WHI''who''MAG'.  Lets kick some butt!',1
call message doorname,linenumber, RED'--------------------------------------------------- 'RESET,1
call message doorname,linenumber, BLU'  Stats for'WHI' 'who''BLU':',1
call message doorname,linenumber, BLU'      Hitpoints: 'RED''wutoppo,1
call message doorname,linenumber, BLU'           Rank: 'RED''ranoppo,1
call message doorname,linenumber, BLU' Lifetime Kills: 'RED''kiloppo,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, BLU'  Stats for'WHI' 'handle''BLU':',1
call message doorname,linenumber, BLU'      Hitpoints: 'RED''hitpoints,1
call message doorname,linenumber, BLU'           Rank: 'RED''rank,1
call message doorname,linenumber, BLU'         Weapon: 'RED''weapon,1
call message doorname,linenumber, BLU'        Vehicle: 'RED''armor,1
call message doorname,linenumber, BLU' Lifetime Kills: 'RED''kills,1
call message doorname,linenumber, ' ',1
signal FIGHTOPT

FIGHTOPT:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Fight Commands: 'BLU'['YEL'A'BLU'] 'WHI'Attack, 'BLU'['YEL'R'BLU'] 'WHI'Retreat, 'BLU'['YEL'H'BLU']'WHI' Hit his vehicle'BLU'> ',0
call hotkey doorname,linenumber,''
opt = upper(result)
if opt = 'A' then signal ATTACK
if opt = 'R' then signal RETREAT
if opt = 'H' then signal RAMHIM
if opt = 'Q' then signal RETREAT
signal FIGHTOPT

  /* If anyone finds a way to make this routine shorter let me know! */
 /* But if you change it without me knowing Ill be looking for you. */

STA:
call checkca
if armoppo = arm1 then ar = RANDOM(0,2,Time('s'))
if armoppo = arm2 then ar = RANDOM(0,3,Time('s'))
if armoppo = arm3 then ar = RANDOM(0,4,Time('s'))
if armoppo = arm4 then ar = RANDOM(0,5,Time('s'))
if armoppo = arm5 then ar = RANDOM(0,6,Time('s'))
if armoppo = arm6 then ar = RANDOM(0,7,Time('s'))
if armoppo = arm7 then ar = RANDOM(0,8,Time('s'))
if armoppo = arm8 then ar = RANDOM(0,9,Time('s'))
if armoppo = arm9 then ar = RANDOM(1,10,Time('s'))
if armoppo = arm10 then ar = RANDOM(2,11,Time('s'))
if armoppo = arm11 then ar = RANDOM(3,12,Time('s'))
if armoppo = arm12 then ar = RANDOM(4,13,Time('s'))
if armor = arm1 then as = RANDOM(0,2,Time('s'))
if armor = arm2 then as = RANDOM(0,3,Time('s'))
if armor = arm3 then as = RANDOM(0,4,Time('s'))
if armor = arm4 then as = RANDOM(0,5,Time('s'))
if armor = arm5 then as = RANDOM(0,6,Time('s'))
if armor = arm6 then as = RANDOM(0,7,Time('s'))
if armor = arm7 then as = RANDOM(0,8,Time('s'))
if armor = arm8 then as = RANDOM(1,9,Time('s'))
if armor = arm9 then as = RANDOM(2,10,Time('s'))
if armor = arm10 then as = RANDOM(3,11,Time('s'))
if armor = arm11 then as = RANDOM(4,12,Time('s'))
if armor = arm12 then as = RANDOM(5,13,Time('s'))
if wepoppo = wep1 then wr = RANDOM(2,4,Time('s'))
if wepoppo = wep2 then wr = RANDOM(3,5,Time('s'))
if wepoppo = wep3 then wr = RANDOM(4,6,Time('s'))
if wepoppo = wep4 then wr = RANDOM(5,7,Time('s'))
if wepoppo = wep5 then wr = RANDOM(6,8,Time('s'))
if wepoppo = wep6 then wr = RANDOM(7,9,Time('s'))
if wepoppo = wep7 then wr = RANDOM(8,10,Time('s'))
if wepoppo = wep8 then wr = RANDOM(9,11,Time('s'))
if wepoppo = wep9 then wr = RANDOM(10,12,Time('s'))
if wepoppo = wep10 then wr = RANDOM(11,13,Time('s'))
if wepoppo = wep11 then wr = RANDOM(12,14,Time('s'))
if wepoppo = wep12 then wr = RANDOM(13,15,Time('s'))
if weapon = wep1 then ws = RANDOM(2,4,Time('s'))
if weapon = wep2 then ws = RANDOM(3,5,Time('s'))
if weapon = wep3 then ws = RANDOM(4,6,Time('s'))
if weapon = wep4 then ws = RANDOM(5,7,Time('s'))
if weapon = wep5 then ws = RANDOM(6,8,Time('s'))
if weapon = wep6 then ws = RANDOM(7,9,Time('s'))
if weapon = wep7 then ws = RANDOM(8,10,Time('s'))
if weapon = wep8 then ws = RANDOM(9,11,Time('s'))
if weapon = wep9 then ws = RANDOM(10,12,Time('s'))
if weapon = wep10 then ws = RANDOM(11,13,Time('s'))
if weapon = wep11 then ws = RANDOM(12,14,Time('s'))
if weapon = wep12 then ws = RANDOM(13,15,Time('s'))
ramlos = RANDOM(2,7,Time('s'))
hithim = ws - ar
if hithim < 0 then hithim = 0
hityou = wr - as
if hityou < 0 then hityou = 0
call message doorname,linenumber, ' ',1
return

ATTACK:
call checkca
call STA
rannum = RANDOM(1,2,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You hit 'WHI''who''RED' for 'hithim' hitpoints!',1
   wutoppo = wutoppo - hithim
   if wutoppo <= 0 then signal WONFIGHT
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, WHI''who''GRE' hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSTFIGHT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, WHI''who''GRE' rammed your 'armor' and',1
      call message doorname,linenumber, GRE'hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      wutoppo = wutoppo - ramlos
      if hitpoints <= 0 & wutoppo <= 0 then signal DRAWFIGHT
      if hitpoints <= 0 then signal LOSTFIGHT
      if wutoppo <= 0 then signal WONFIGHT
     end
  end
if rannum = 2 then do
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, WHI''who''GRE' hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSTFIGHT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, WHI''who''GRE' rammed your 'armor' and',1
      call message doorname,linenumber, GRE'hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      wutoppo = wutoppo - ramlos
      if hitpoints <= 0 & wutoppo <= 0 then signal DRAWFIGHT
      if hitpoints <= 0 then signal LOSTFIGHT
      if wutoppo <= 0 then signal WONFIGHT
     end
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You hit 'WHI''who''RED' for 'hithim' hitpoints!',1
   wutoppo = wutoppo - hithim
   if wutoppo <= 0 then signal WONFIGHT
  end
signal FIGHTOPT

RAMHIM:
call checkca
call STA
rannum = RANDOM(1,2,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You rammed 'WHI||who||RED' 'armoppo,1
   call message doorname,linenumber, RED'and hit him for 'hithim+5' hitpoints!',1
   call message doorname,linenumber, RED'You also lost 'ramlos' by hitting him.',1
   hitpoints = hitpoints - ramlos
   wutoppo=wutoppo-(hithim+5)
   if hitpoints <= 0 & wutoppo <=0 then signal DRAWFIGHT
   if wutoppo <= 0 then signal WONFIGHT
   if hitpoints <= 0 then signal LOSTFIGHT
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, WHI''who''GRE' hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSTFIGHT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, WHI''who''GRE' rammed your 'armor,1
      call message doorname,linenumber, GRE'and hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      wutoppo = wutoppo - ramlos
      if hitpoints <= 0 & wutoppo <= 0 then signal DRAWFIGHT
      if hitpoints <= 0 then signal LOSTFIGHT
      if wutoppo <= 0 then signal WONFIGHT
     end
  end
if rannum = 2 then do
   ransum = RANDOM(1,4,Time('s'))
   if ransum = 1 | ransum = 2 | ransum = 3 then do
      call message doorname,linenumber, WHI''who''GRE' hit you for 'hityou' hitpoints!',1
      hitpoints = hitpoints - hityou
      if hitpoints <= 0 then signal LOSTFIGHT
     end
   if ransum = 4 then do
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, WHI''who''GRE' rammed your 'armor,1
      call message doorname,linenumber, GRE'and hit you for 'hityou+5' hitpoints!',1
      call message doorname,linenumber, GRE'He also lost 'ramlos' by hitting you.',1
      hitpoints=hitpoints-(hityou+5)
      wutoppo = wutoppo - ramlos
      if hitpoints <= 0 & wutoppo <= 0 then signal DRAWFIGHT
      if hitpoints <= 0 then signal LOSTFIGHT
      if wutoppo <= 0 then signal WONFIGHT
     end
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED'You rammed 'WHI||who'S'RED' 'armoppo,1
   call message doorname,linenumber, RED'and hit him for 'hithim+5' hitpoints!',1
   call message doorname,linenumber, RED'You also lost 'ramlos' by hitting him.',1
   hitpoints = hitpoints - ramlos
   wutoppo=wutoppo-(hithim+5)
   if hitpoints <= 0 & wutoppo <=0 then signal DRAWFIGHT
   if wutoppo <= 0 then signal WONFIGHT
   if hitpoints <= 0 then signal LOSTFIGHT
  end
signal FIGHTOPT

CHEATIT:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA' Hi Sysop, What do you feel like doing today? ',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, center('          'WHIGRE'   Supreme Being Cheat Menu   'RESET' ',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('[A] Raise Weapon 1 Level  ',78),1
call message doorname,linenumber, WHI center('[B] Raise Vehicle 1 Level ',78),1
call message doorname,linenumber, BLU center('[C] Raise Rank 1 Level    ',78),1
call message doorname,linenumber, RED center('[D] Delete A Player!      ',78),1
call message doorname,linenumber, BLU center('[E] QUIT                  ',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Oh great one, what is your command?'BLU'> ',0
call hotkey doorname,linenumber,''
ans = upper(result)
if ans = 'E' then signal MENU
if ans = 'A' then do
if weapon = wep11 then weapon = wep12
if weapon = wep10 then weapon = wep11
if weapon = wep9 then weapon = wep10
if weapon = wep8 then weapon = wep9
if weapon = wep7 then weapon = wep8
if weapon = wep6 then weapon = wep7
if weapon = wep5 then weapon = wep6
if weapon = wep4 then weapon = wep5
if weapon = wep3 then weapon = wep4
if weapon = wep2 then weapon = wep3
if weapon = wep1 then weapon = wep2
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('Weapon Changed To A 'WHI''weapon''RED'!',78),1
call message doorname,linenumber, ' ',1
address command "wait 1"
signal CHEATIT
end
if ans = 'B' then do
if armor = arm11 then armor = arm12
if armor = arm10 then armor = arm11
if armor = arm9 then armor = arm10
if armor = arm8 then armor = arm9
if armor = arm7 then armor = arm8
if armor = arm6 then armor = arm7
if armor = arm5 then armor = arm6
if armor = arm4 then armor = arm5
if armor = arm3 then armor = arm4
if armor = arm2 then armor = arm3
if armor = arm1 then armor = arm2
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('Armor Raised To 'WHI''armor''RED'!',78),1
call message doorname,linenumber, ' ',1
address command "wait 1"
signal CHEATIT
end
if ans = 'C' then do
kills = 900
call CHECKRANK
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('Rank Raised To 'WHI''rank''RED'!',78),1
call message doorname,linenumber, ' ',1
address command "wait 1"
signal CHEATIT
end
if ans = 'D' then do
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, GRE'Enter name of player to delete:'RESET,0
call prompt doorname,linenumber,'',15
ss = upper(result)
if exists('doors:Yuppie/'ss) then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, CYA'Delete 'WHI''ss''CYA' ('GRE'y'CYA'/'RED'N'CYA')? ',0
   call hotkey doorname,linenumber,''
   st = upper(result)
   if st = 'Y' then do
      call Delete('doors:Yuppie/'ss'.DAT')
      call message doorname,linenumber, ' ',1
      call message doorname,linenumber, RED'Deleted...',1
      howm = howm - 1
      address command "wait 1"
   end
end
if ~exists('doors:Yuppie/'ss'.DAT') then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED ''ss' doesnt exist!'RESET,1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal CHEATIT
end
signal CHEATIT
end
signal CHEATIT

RETREAT:
call checkca
call STA
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED'YOU RUN!',1
if rank = ran1 | rank = ran2 | rank = ran3 then rannum = RANDOM(1,2,Time('s'))
if rank = ran4 | rank = ran5 | rank = ran6 then rannum = RANDOM(1,3,Time('s'))
if rank = ran7 | rank = ran8 | rank = ran9 then rannum = RANDOM(1,4,Time('s'))
if rank = ran10 | rank = ran11 then rannum = RANDOM(1,5,Time('s'))
if rank = ran12 then rannum = RANDOM(1,6,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'`I dont think so. says 'WHI||who||GRE'.',1
   call message doorname,linenumber, GRE'You cant escape me right now!',1
  end
if rannum = 2 | rannum = 3 | rannum = 4 | rannum = 5 | rannum = 6 then do
   ex = RANDOM(51,122,Time('s'))
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'You ESCAPED off of exit 'ex'!',1
   call message doorname,linenumber, ' ',1
   call writeln(news,handle' ran away from 'who'!')
   address command "wait 1"
   signal MENU
  end
rannum = RANDOM(1,2,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, WHI''who''GRE' hits you for 'hityou' hitpoints!',1
   hitpoints = hitpoints - hityou
   if hitpoints <= 0 then signal LOSTFIGHT
  end
if rannum = 2 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, WHI''who''GRE' misses you!',1
  end
call message doorname,linenumber, ' ',1
address command "wait 1"
signal FIGHTOPT

WONFIGHT:
call checkca
defoppo = 1
wutoppo = 0
kills = kills + 1
address command "wait 1"
call message doorname,linenumber, CLS,1
call message doorname,linenumber, RESET'               *               *',1
call message doorname,linenumber, '   *                       'YEL'|'RESET'            *',1
call message doorname,linenumber, '        *      'YEL'\/OU \/\/ON o',1
call message doorname,linenumber, '               /    'RESET'*             *',1
call message doorname,linenumber, ' *                      *               *',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED'  You Won!  'MAG' You Get 'WHI'$'monoppo/2''MAG'!',1
call writeln(news,handle' beat 'who' on the highway!')
money = money + monoppo/2
monoppo = monoppo/2
call CHECKRANK
call SAVEOPPO
call EVENER
address command "wait 1"
signal MENU

SAVEOPPO:
call checkca
call open(oppo,'doors:Yuppie/'who'.DAT','W')
   call writeln(oppo,nulla)
   call writeln(oppo,maxoppo)
   call writeln(oppo,wutoppo)
   call writeln(oppo,nullb)
   call writeln(oppo,monoppo)
   call writeln(oppo,armoppo)
   call writeln(oppo,wepoppo)
   call writeln(oppo,ranoppo)
   call writeln(oppo,nullc)
   call writeln(oppo,nulld)
   call writeln(oppo,defoppo)
   call writeln(oppo,handle)
   call writeln(oppo,kiloppo)
   call writeln(oppo,nulle)
   call close(oppo)
address command "wait 1"
return

LOSTFIGHT:
call checkca
kiloppo = kiloppo + 1
hitpoints = 0
address command "wait 1"
call message doorname,linenumber, CLS,1
call message doorname,linenumber, RED'                                   _ ___',1
call message doorname,linenumber, '              \_/ /\ | |    |  /\ /   |  |||',1
call message doorname,linenumber, '               |  \/ |_|    |_ \/ _\  |  ooo',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'   Serves ya right for thinking you were top yuppie!',1
call message doorname,linenumber, ' ',1
call writeln(news,handle' got his butt kicked by 'who'!')
money = money/2
monoppo = monoppo + money/2
call message doorname,linenumber, GRE' You lost 'WHI'$'money/2''GRE'.',1
call message doorname,linenumber, GRE' You have 0 hitpoints.',1
call message doorname,linenumber, CYA' Oh well, better luck next time!',1
call SAVEOPPO
call EVENER
signal MENU

DRAWFIGHT:
call checkca
kills = kills + 1
kiloppo = kiloppo + 1
hitpoints = 0
wutoppo = 0
defoppo = 1
address command "wait 1"
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('AMAZING!',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG center('Both of you killed each other with your final blows!',78),1
call message doorname,linenumber, MAG center('You both have 0 hitpoints, you kept your money.',78),1
call message doorname,linenumber, ' ',1
call writeln(news,handle' and 'who' killed each other!')
call CHECKRANK
call SAVEOPPO
address command "wait 1"
signal MENU

TOP:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED'One Moment, Calculating High Scores...',1
call POINTCK
turnsleft = turnsleft + 1
call HICK
call SHOWIT
signal MENU

HICK:
call checkca
call open(top10,'doors:Yuppie/TopOnes','R')
topalias.1 = handle
topscore.1 = points
do i = 2 to 11
   tops = readln(top10)
   topalias.i = delword(tops,1,1)
   topscore.i = word(tops,1)
   if topalias.1 = topalias.i then topscore.i = -1
end
call close(top10)
do i = 1 to 10
   do h = i + 1 to 11
      if topscore.i < topscore.h then do
         temp = topscore.i
         topscore.i = topscore.h
         topscore.h = temp
         tempor = topalias.i
         topalias.i = topalias.h
         topalias.h = tempor
      end
   end
end
return

SHOWIT:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, center('       'BLUCYA'   Top 10 Yuppies   'RESET'',78),1
call message doorname,linenumber, BLU center('--------------------------------------------',73)RESET,1
call message doorname,linenumber, ' ',1
call open(top10,'doors:Yuppie/TopOnes','W')
do i = 1 to 10
    topscore.i = left(topscore.i,25)
    topalias.i = left(topalias.i,15)
    call message doorname,linenumber, 'º               'RED||topscore.i''CYA||topalias.i'   ³',1
    call writeln(top10,topscore.i' 'topalias.i)
    end
call close(top10)
do i = 1 to Lines - 18
   call message doorname,linenumber, '',1
end
call hotkey doorname,linenumber, 'Press 'RED'RETURN'WHI' when finished: '
call checkca
signal MENU

TRIP:
call checkca
call EVENER
randm = RANDOM(1,3,Time('s'))
rna = RANDOM(1,6,Time('s'))
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, center('             'BLUCYA'   First of the Last Travel Agency   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA center('Todays places to travel',78),1
call message doorname,linenumber, BLU center('--------------------------',78),1
if randm = 1 then call message doorname,linenumber, WHI center('A. Washington D.C.   ',78),1
if randm = 2 then call message doorname,linenumber, WHI center('A. Wall Street - NY  ',78),1
if randm = 3 then call message doorname,linenumber, WHI center('A. Outer Mongolia    ',78),1
if randm = 1 then call message doorname,linenumber, WHI center('B. Peru              ',78),1
if randm = 2 then call message doorname,linenumber, WHI center('B. Peru              ',78),1
if randm = 3 then call message doorname,linenumber, WHI center('B. England           ',78),1
if randm = 1 then call message doorname,linenumber, WHI center('C. Germany           ',78),1
if randm = 2 then call message doorname,linenumber, WHI center('C. Switzerland       ',78),1
if randm = 3 then call message doorname,linenumber, WHI center('C. Niagra Falls - NY ',78),1
if randm = 1 then call message doorname,linenumber, WHI center('D. Verona, Italy     ',78),1
if randm = 2 then call message doorname,linenumber, WHI center('D. Athens, Greece    ',78),1
if randm = 3 then call message doorname,linenumber, WHI center('D. Disney World      ',78),1
call message doorname,linenumber, ' 'RESET,1
call message doorname,linenumber, CYA'Where do you want to travel, Sir?  'BLU'['YEL'Q'BLU']'CYA' Quits:'BLU'> ',0
call hotkey doorname,linenumber,''
trav = upper(result)
if trav = 'Q' then do
maincount = 0
signal MENU
end
if randm = 1 & trav = 'A' then signal WASHINGTON
if randm = 1 & trav = 'B' then signal PERU
if randm = 1 & trav = 'C' then signal GERMANY
if randm = 1 & trav = 'D' then signal VERONA
if randm = 2 & trav = 'A' then signal WALLSTREET
if randm = 2 & trav = 'B' then signal PERU
if randm = 2 & trav = 'C' then signal SWITZERLAND
if randm = 2 & trav = 'D' then signal ATHENS
if randm = 3 & trav = 'A' then signal MONGOLIA
if randm = 3 & trav = 'B' then signal ENGLAND
if randm = 3 & trav = 'C' then signal NIAGARA
if randm = 3 & trav = 'D' then signal DISNEY
signal TRIP

WASHINGTON:
call checkca
price = 9000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Washington D.C.   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Washington D.C. is the political gut of our nation.  All the',1
call message doorname,linenumber, ' largest decisions are made here that effect our lives greatly.',1
call message doorname,linenumber, ' (And hopefully our president has nothing to do with them.)',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Washington D.C.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'In Washington D.C. you meet the',1
   call message doorname,linenumber, CYA'president and get a loan from him!',1
   call message doorname,linenumber, YEL'You get $30000!',1
   call message doorname,linenumber, BLU'There is nothing like living off of',1
   call message doorname,linenumber, BLU'honest taxpayers money, eh?',1
   money = money + 30000
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Lean too far out of the Washington',1
   call message doorname,linenumber, CYA'Monument and fall!',1
   call message doorname,linenumber, YEL'You lose 20 hitpoints.',1
   if hitpoints < 20 then hitpoints = 0
   if hitpoints >= 20 then hitpoints = hitpoints - 20
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Get appointed a supreme court judge!',1
   call message doorname,linenumber, YEL'You earn $20000!',1
   money = money + 20000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Get locked in a taxi from hell!',1
   call message doorname,linenumber, CYA'Tour the entire city 800 times over.',1
   call message doorname,linenumber, YEL'Lose $15000 cab fair.',1
   if money < 15000 then money = 0
   if money >= 15000 then money = money - 15000
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Read the constitution and feel',1
   call message doorname,linenumber, CYA'intellectually enlightened!',1
   call message doorname,linenumber, YEL'Recieve 40 hitpoints.',1
   if maxpoints >= 40 then hitpoints = hitpoints + 40
   if maxpoints < 40 then hitpoints = maxpoints
  end
signal RATRACE

RATRACE:
call checkca
address command "wait 1"
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, 'Press 'RED'RETURN'WHI' when finished: '
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, GRE'Well, its been fun but you gotta',1
call message doorname,linenumber, GRE'get back into the rat race!',1
call message doorname,linenumber, ' 'RESET,1
address command "wait 1"
signal MENU

PERU:
call checkca
price = 7000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Peru   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Peru is a land of beauty and mystery, just beware, its a',1
call message doorname,linenumber, ' jungle out there!',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Peru.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Learn ancient healing spells from',1
   call message doorname,linenumber, CYA'old scrolls...',1
   call message doorname,linenumber, YEL'Gain 'maxpoints' hitpoints!',1
   hitpoints = maxpoints
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Fall off of cliff!',1
   call message doorname,linenumber, YEL'Lost 30 hitpoints.',1
   if hitpoints < 30 then hitpoints = 0
   if hitpoints >= 30 then hitpoints = hitpoints - 30
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Discover gold in an ancient tomb!',1
   call message doorname,linenumber, YEL'Gain $50000!',1
   money = money + 50000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Get bitten by a snake and go to the',1
   call message doorname,linenumber, CYA'witch doctor!',1
   call message doorname,linenumber, YEL'He charges you $10000 for services.',1
   if money < 10000 then money = 0
   if money >= 10000 then money = money - 10000
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Learn to dine CANNIBAL style!',1
   call message doorname,linenumber, YEL'Gain 40 hitpoints!',1
   if maxpoints >= 40 then hitpoints = hitpoints + 40
   if maxpoints < 40 then hitpoints = maxpoints
  end
call message doorname,linenumber, ' ',1
signal RATRACE

GERMANY:
call checkca
price = 10000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Germany   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Ah Germany, good ol Deutschland.  Home to many beers and',1
call message doorname,linenumber, ' bratwursts, a country of great prosperity risen out of the ashes',1
call message doorname,linenumber, ' of World War II.  (Not to mention it is great for partying!)',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Germany.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Win a German Bratwurst eating contest!',1
   call message doorname,linenumber, YEL'Win $30000 and a Volkswagen!',1
   money = money + 30000
   if armor = arm1 | armor = arm2 | armor = arm3 | armor = arm4 | armor = arm5 | armor = arm6 | armor = arm7 | armor = arm8 then armor = arm9
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Party too much and have a hangover the',1
   call message doorname,linenumber, CYA'size of Africa!',1
   call message doorname,linenumber, YEL'Lose 20 hitpoints.',1
   if hitpoints < 20 then hitpoints = 0
   if hitpoints >= 20 then hitpoints = hitpoints - 20
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Total your vehicle on the autobahn!',1
   call message doorname,linenumber, YEL'Lose $25000 for repairs.',1
   if money < 25000 then money = 0
   if money >= 25000 then money = money - 25000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Recieve a vitamin mixture from the',1
   call message doorname,linenumber, CYA'local Apothecary!',1
   call message doorname,linenumber, YEL'Gain 'maxpoints' hitpoints!',1
   hitpoints = maxpoints
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Get caught on the cirle drives for',1
   call message doorname,linenumber, CYA'three days!',1
   call message doorname,linenumber, YEL'Lose $1000 for gas.',1
   if money < 1000 then money = 0
   if money >= 1000 then money = money - 1000
  end
call message doorname,linenumber, ' ',1
signal RATRACE

VERONA:
call checkca
price = 4000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Verona, Italy   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Verona, Italy -- the host city to the immortal love story of',1
call message doorname,linenumber, ' Shakespeares Romeo and Juliet, truly the greatest love story',1
call message doorname,linenumber, ' ever written...  (although a bit cryptic!)',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Verona, Italy.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,4,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'See a play done of Romeo and Juliet!',1
   call message doorname,linenumber, YEL'Pay $4000 to see it.',1
   if money < 4000 then money = 0
   if money >= 4000 then money = money - 4000
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Visit the Capulets Tomb and get',1
   call message doorname,linenumber, CYA'trapped for a week!',1
   call message doorname,linenumber, YEL'Lose 40 hitpoints!',1
   if hitpoints < 40 then hitpoints = 0
   if hitpoints >= 40 then hitpoints = hitpoints - 40
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Some people think you look just like',1
   call message doorname,linenumber, CYA'Romeo! (Which is odd if you are a woman.)',1
   call message doorname,linenumber, YEL'Recieve in gifts $18000!',1
   money = money + 18000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Some people think you look just like',1
   call message doorname,linenumber, CYA'Juliet! (Whick is odd if you are a man.)',1
   call message doorname,linenumber, YEL'Recieve in gifts $19000!',1
   money = money + 19000
  end
signal RATRACE

WALLSTREET:
call checkca
price = 12500
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Wall Street!   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Wall Street, where money is made and fortunes are lost.  Where',1
call message doorname,linenumber, ' great men are made and greedy men are broken.  This crazy place',1
call message doorname,linenumber, ' is locked in the heart of a crazy city, where else, New York.',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived at Wall Street.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'You break even on the stocks...',1
   call message doorname,linenumber, YEL'Recieve $12500 salary.',1
   money = money + 12500
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'HIT IT BIG IN DOW JONES!',1
   call message doorname,linenumber, YEL'Recieve $75000!!!'RESET,1
   money = money + 75000
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Get mugged in the big apple!',1
   call message doorname,linenumber, YEL'Lose $20000.',1
   if money < 20000 then money = 0
   if money >= 20000 then money = money - 20000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Get hit by a maniac cab driver!',1
   call message doorname,linenumber, YEL'You lose 50 hitpoints.',1
   if hitpoints < 50 then hitpoints = 0
   if hitpoints >= 50 then hitpoints = hitpoints - 50
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'AT&T goes through the roof!',1
   call message doorname,linenumber, YEL'Gain $55000!',1
   money = money + 55000
  end
signal RATRACE

SWITZERLAND:
call checkca
price = 8500
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Switzerland   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Switzerland is famous for skiing, watches, and many other things',1
call message doorname,linenumber, ' that I guess I am too stupid to think of right now.  The swiss,',1
call message doorname,linenumber, ' locked in a mountainous cage, stands protected from enemy countries',1
call message doorname,linenumber, ' thus remaining one of the FEW neutral countries.',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Swizerland.',1
address command "wait 1"
call message doorname,linenumber, ' 'RESET,1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Go skiing in the Swiss Alps and',1
   call message doorname,linenumber, CYA'break your leg!',1
   call message doorname,linenumber, YEL'Lose 40 hitpoints.',1
   if hitpoints < 40 then hitpoints = 0
   if hitpoints >= 40 then hitpoints = hitpoints - 40
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'AVALANCHE!!! You are buried in',1
   call message doorname,linenumber, CYA'snow!',1
   call message doorname,linenumber, YEL'Lose 40 hitpoints.',1
   if hitpoints < 40 then hitpoints = 0
   if hitpoints >= 40 then hitpoints = hitpoints - 40
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Save a millionares life in a chair',1
   call message doorname,linenumber, CYA'lift accident! (He fell on you.)',1
   call message doorname,linenumber, YEL'Win $50000!',1
   money = money + 50000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Eat enough to feed a horse!',1
   call message doorname,linenumber, YEL'Gain 'maxpoints' hitpoints.',1
   hitpoints = maxpoints
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Find a cave with ancient artifacts!',1
   call message doorname,linenumber, YEL'Get $30000!',1
   money = money + 30000
  end
signal RATRACE

ATHENS:
call checkca
price = 10000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Athens   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Athens, Greece, the heart of Greek mythology.  Many stories and',1
call message doorname,linenumber, ' plays were made of this place relating to the Gods, and their',1
call message doorname,linenumber, ' adventures.',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Athens, Greece.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Go to watch a play of Antigone.',1
   call message doorname,linenumber, YEL'Pay $5000.',1
   if money < 5000 then money = 0
   if money >= 5000 then money = money - 5000
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Meet Zeus!  He gives you a gift!',1
   call message doorname,linenumber, YEL'Recieve $30000!',1
   money = money + 30000
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Hades kidnaps you to the underword!',1
   call message doorname,linenumber, YEL'Lose 50 hitpoints.',1
   if hitpoints < 50 then hitpoints = 0
   if hitpoints >= 50 then hitpoints = hitpoints - 50
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Eat ambrosia and drink nectar!',1
   call message doorname,linenumber, YEL'Gain 'maxpoints' hitpoints!',1
   hitpoints = maxpoints
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Buy a colluseum!',1
   call message doorname,linenumber, YEL'Pay $22000!',1
   if money < 22000 then money = 0
   if money >= 22000 then money = money - 22000
  end
signal RATRACE

MONGOLIA:
call checkca
price = 4000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Outer Mongolia!   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Outer Mongolia... hmm.. hard to explain, but in itself an ',1
call message doorname,linenumber, ' adventure.  This country was the fertle ground in which Ghengis',1
call message doorname,linenumber, ' Kahn rose out of to ravage China. (And we all know what hes like!',1
call message doorname,linenumber, ' -imagine what the country must be like!) ',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Outer Mongolia.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Learn the ancient art of wizardry',1
   call message doorname,linenumber, CYA'and heal yourself!',1
   call message doorname,linenumber, YEL'Gain 'maxpoints' hitpoints!',1
   hitpoints = maxpoints
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Climb to a mountaintop to get words',1
   call message doorname,linenumber, CYA'of wisdom from an old wiseman only',1
   call message doorname,linenumber, CYA'to find him dead!',1
   call message doorname,linenumber, YEL'Lose 40 hitpoints for the effort.',1
   call message doorname,linenumber, YEL'Pay $10000 for funeral services.',1
   if hitpoints < 40 then hitpoints = 0
   if hitpoints >= 40 then hitpoints = hitpoints - 40
   if money < 10000 then money = 0
   if money >= 10000 then money = money - 10000
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Win Mongolias famous gameshow:',1
   call message doorname,linenumber, CYA'STALK DOWN THE WILD BEAR AND KILL',1
   call message doorname,linenumber, CYA'IT WITH YOUR BARE HANDS AND TONGUE!',1
   call message doorname,linenumber, YEL'Win $40000!',1
   money = money + 40000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Record Mongolias #1 song:',1
   call message doorname,linenumber, CYA'Ode to Ghengis Kahn.',1
   call message doorname,linenumber, YEL'Win $25000!',1
   money = money + 25000
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Break Mongolias law of not',1
   call message doorname,linenumber, CYA'using utensils.',1
   call message doorname,linenumber, YEL'Fined $20000.',1
   if money < 20000 then money = 0
   if money >= 20000 then money = money - 20000
  end
signal RATRACE

ENGLAND:
call checkca
price = 9500
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to England   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Jolly Ol England, as they say, is a whole different culture from',1
call message doorname,linenumber, ' the American sort.  Here queens and kings are supported (as well as',1
call message doorname,linenumber, ' Amigas!)',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in England.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Become the Price of Wales!',1
   call message doorname,linenumber, YEL'Earn $32000!',1
   money = money + 32000
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Discover the genetic secret of',1
   call message doorname,linenumber, CYA'why the english have extremely',1
   call message doorname,linenumber, CYA'large noses!',1
   call message doorname,linenumber, YEL'Win $23000!',1
   money = money + 23000
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Get envolved in a 20 bicycle',1
   call message doorname,linenumber, CYA'pileup!',1
   call message doorname,linenumber, YEL'Lose 35 hitpoints.',1
   if hitpoints < 35 then hitpoints = 0
   if hitpoints >= 35 then hitpoints = hitpoints - 35
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Get pulled over for driving on the',1
   call message doorname,linenumber, CYA'wrong side of the road!',1
   call message doorname,linenumber, YEL'Fined $35000!',1
   if money < 35000 then money = 0
   if money >= 35000 then money = money - 35000
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Accidentally get trapped watching a',1
   call message doorname,linenumber, CYA'9 hour movie that is extremely boring',1
   call message doorname,linenumber, CYA'and not even in the english language!',1
   call message doorname,linenumber, YEL'Lose $23000 parking meter fees.',1
   call message doorname,linenumber, YEL'Lose 10 hitpoints for IQ point loss.',1
   if money < 23000 then money = 0
   if money >= 23000 then money = money - 23000
   if hitpoints < 10 then hitpoints = 0
   if hitpoints >= 10 then hitpoints = hitpoints - 10
  end
signal RATRACE

NIAGARA:
call checkca
price = 11000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, center(''BLUCYA'   Going to Niagara Falls, NY   'RESET'',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   Niagara Falls, the famed gigantic falls which have claimed lives',1
call message doorname,linenumber, ' and made fame.  Their sight is breathtaking.  --Plus there are a',1
call message doorname,linenumber, ' multitude of wax museums for those who dont like water!',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Niagara Falls, NY.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,6,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Walk across the falls on a',1
   call message doorname,linenumber, CYA'tightrope!',1
   call message doorname,linenumber, YEL'Win $20000!',1
   money = money + 20000
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Attempt at walking across the',1
   call message doorname,linenumber, CYA'falls on a tightrope--AND FALL',1
   call message doorname,linenumber, CYA'IN!  (Smooth move ex-lax!)',1
   call message doorname,linenumber, YEL'Lose 50 hitpoints.',1
   if hitpoints < 50 then hitpoints = 0
   if hitpoints >= 50 then hitpoints = hitpoints - 50
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'Go down the falls in a barrel!',1
   call message doorname,linenumber, CYA'And.. well, it isnt pretty.',1
   call message doorname,linenumber, YEL'Lose 50 hitpoints.',1
   if hitpoints < 50 then hitpoints = 0
   if hitpoints >= 50 then hitpoints = hitpoints - 50
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'Get stuck in wax museum hell!',1
   call message doorname,linenumber, YEL'Lose $19000!',1
   if money < 19200 then money = 0
   if money >= 19000 then money = money - 19000
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Discover PLUTONIUM under the falls!',1
   call message doorname,linenumber, YEL'Awarded $55000!',1
   money = money + 55000
  end
if rannum = 6 then do
   call message doorname,linenumber, CYA'Discover the fountain of youth in',1
   call message doorname,linenumber, CYA'the falls!',1
   call message doorname,linenumber, YEL'You get 'maxpoints' hitpoints!',1
   hitpoints = maxpoints
  end
signal RATRACE

DISNEY:
call checkca
price = 13000
call message doorname,linenumber, CLS,1
call message doorname,linenumber, BLUCYA'   I am Going to Disney World!   'RESET,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '   'handle', you have just Won the Super Bowl!  Where are you',1
call message doorname,linenumber, ' going next?  ;-)  Yes, childrens paradise and adults wonder,',1
call message doorname,linenumber, ' this wonderous place was founded by a man who wanted a fun place',1
call message doorname,linenumber, ' different from the dirty, dusty carnivals in this world, Walt Disney',1
call message doorname,linenumber, ' ',1
call GOING
call message doorname,linenumber, RED'Arrived in Disney World.',1
address command "wait 1"
call message doorname,linenumber, ' ',1
rannum = RANDOM(1,5,Time('s'))
if rannum = 1 then do
   call message doorname,linenumber, CYA'Uncover Disneys multibillion',1
   call message doorname,linenumber, CYA'dollar plot to initiate SDI!',1
   call message doorname,linenumber, YEL'Awarded $33000!',1
   money = money + 33000
  end
if rannum = 2 then do
   call message doorname,linenumber, CYA'Get trapped on Space Mountain',1
   call message doorname,linenumber, CYA'roller coaster without a seatbelt!',1
   call message doorname,linenumber, YEL'Lose 60 hitpoints.',1
   if hitpoints < 60 then hitpoints = 0
   if hitpoints >= 60 then hitpoints = hitpoints - 60
  end
if rannum = 3 then do
   call message doorname,linenumber, CYA'You get to star in a Disney movie!',1
   call message doorname,linenumber, YEL'Payed $20000!',1
   money = money + 20000
  end
if rannum = 4 then do
   call message doorname,linenumber, CYA'You are mysteriously turned into an',1
   call message doorname,linenumber, CYA'animated penguin!',1
   call message doorname,linenumber, YEL'Lose $40000! (Penguins have no',1
   call message doorname,linenumber, YEL'pockets.. do they?)',1
   if money < 40000 then money = 0
   if money >= 40000 then money = money - 40000
  end
if rannum = 5 then do
   call message doorname,linenumber, CYA'Your fairy godfather grants you',1
   call message doorname,linenumber, CYA'hitpoints!',1
   call message doorname,linenumber, YEL'Granted 'maxpoints' hitpoints!',1
   hitpoints = maxpoints
  end
signal RATRACE

GOING:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'You have $'WHI''money''CYA'.  The trip costs 'WHI''price''CYA'.',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Wanna go? ('GRE'Y'CYA'/'RED'n'CYA'):'BLU'> ',0
call hotkey doorname,linenumber,''
ans = upper(result)
if ans = 'N' then signal TRIP
call checkca
call message doorname,linenumber, CLS,1
if money < price then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOU DONT HAVE ENOUGH MONEY TO GO!',78),1
   call message doorname,linenumber, ' 'RESET,1
   address command "wait 1"
   signal TRIP
  end
money = money - price
call message doorname,linenumber, ' ',1
call message doorname,linenumber, GRE'Money Paid...'RESET,1
call message doorname,linenumber, MAG'Taking flight...'RESET,1
rando = RANDOM(1,20,Time('s'))
address command "wait 1"
call message doorname,linenumber, YEL' You ate the planes food -- gain 'rando' hitpoints.'RESET,1
address command "wait 1"
hitpoints = hitpoints + rando
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'Landing...',1
address command "wait 1"
ransak = RANDOM(1,200,Time('s'))
if ransak = 13 | ransak = 21 | ransak = 192 | ransak = 112 | ransak = 80 then do
   if money >= 50000 then money = money - 20000
   if money < 50000 then money = money - money
   if hitpoints >= 80 then hitpoints = hitpoints - 30
   if hitpoints < 80 then hitpoints = hitpoints - hitpoints
   call message doorname,linenumber, RED'YOUR PLANE CRASH LANDED!!!',1
   call message doorname,linenumber, RED'YOU LOSE 80 HITPOINTS!',1
   call message doorname,linenumber, RED'YOU LOSE 50000 DOLLARS TO GET A TRIP BACK & HOSPITAL FEES!',1
   call message doorname,linenumber, ' ',1
   call hotkey doorname,linenumber, CYA'Sue the pilot (Y/n)? '
   ans = upper(result)
   if ans = 'N' then do
      call message doorname,linenumber, MAG'Ok.. not sueing him.',1
      address command "wait 1"
      signal MENU
     end
   signal SUEHIM
  end
return

SUEHIM:
call checkca
rannum = RANDOM(1,2,Time('s'))
if rannum = 1 then verdict = 'GUILTY'
if rannum = 2 then verdict = 'NOT GUILTY'
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED'A long a tedious trial goes on...',1
call message doorname,linenumber, RED'and now heres the charge...',1
call message doorname,linenumber, ' 'RESET,1
call message doorname,linenumber, CYA'We the jury, find in the case of',1
call message doorname,linenumber, CYA'the Pilot: 'RED''verdict''CYA'!',1
call message doorname,linenumber, ' ',1
if rannum = 1 then do
   call message doorname,linenumber, MAG'Money in the amount of $150000',1
   call message doorname,linenumber, MAG'to the plaintiff 'handle'!',1
   money = money + 150000
   call writeln(news,handle' won $150000 in court!')
   address command "wait 1"
  end
if rannum = 2 then do
   call message doorname,linenumber, MAG'It was the planes falt, not',1
   call message doorname,linenumber, MAG'the Pilots falt.  Nothing',1
   call message doorname,linenumber, MAG'gained, nothing lost.',1
   call message doorname,linenumber, ' ',1
   randy = RANDOM(1,6,Time('s'))
   randy = randy * 1000
   call message doorname,linenumber, CYA'Pay 'WHI'$'randy' 'CYA'in lawyer fees.',1
   if money < randy then money = 0
   if money >= randy then money = money - randy
   address command "wait 1"
  end
call message doorname,linenumber, ' ',1
call message doorname,linenumber, BLU'Justice is served.'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, 'Press 'RED'RETURN'WHI' when finished: '
call checkca
signal MENU

LALA:
call checkca
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, CYA'E'YEL'n'GRE't'BLU'e'RED'r 'WHI't'MAG'h'YEL'e'RED' m'CYA'a'WHI'g'MAG'i'GRE'c'BLU' w'YEL'o'WHI'r'RED'd'BLU':',0
call prompt doorname,linenumber,'',25
pass = result
if pass = magicword then signal P2
signal MENU

REST:
call checkca
lost = maxpoints - hitpoints
fiz = RANDOM(1,750,Time('s'))
if rank = ran1 then pernight = 500
if rank = ran2 then pernight = 700
if rank = ran3 then pernight = 900
if rank = ran4 then pernight = 1100
if rank = ran5 then pernight = 1400
if rank = ran6 then pernight = 2000
if rank = ran7 then pernight = 2500
if rank = ran8 then pernight = 2800
if rank = ran9 then pernight = 3000
if rank = ran10 then pernight = 3300
if rank = ran11 then pernight = 3500
if rank = ran12 then pernight = 3800
room = pernight + fiz
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' 'RESET,1
call message doorname,linenumber, '      _____/_________________________________________________\_____',1
call message doorname,linenumber, '     |_____________________'MAG'-= LE GRAND HOTEL =-'WHI'____________________|',1
call message doorname,linenumber, '        |\_________/     ________________________    \_________/|',1
call message doorname,linenumber, '        |  \_____/       \______________________/      \_____/  |',1
call message doorname,linenumber, '        |   || ||         |\__________________/|        || ||   |',1
call message doorname,linenumber, '        |   || ||         | 'BLU'| |     ||     | | 'WHI'|        || ||   |',1
call message doorname,linenumber, '        |   || ||         | 'BLU'| |'CYA' \'BLU'   ||     | | 'WHI'|        || ||   |',1
call message doorname,linenumber, '        |   || ||         | 'BLU'| |'CYA' \  'YEL'['BLU'||'YEL']'BLU'    | | 'WHI'|        || ||   |'RESET,1
call message doorname,linenumber, '        |   || ||         | 'BLU'| |     || 'CYA'\'BLU'   | | 'WHI'|        || ||   |'RESET,1
call message doorname,linenumber, '      __|___||_||_________|/'GRE'#'BLU'\|_____||_____|/'GRE'#'WHI'\|________||_||___|__'RESET,1
call message doorname,linenumber, GRE'      #####'WHI'/_____\'GRE'###########'BLU'/'RED'/            \'BLU'\'GRE'##########'WHI'/_____\'GRE'#####'RESET,1
call message doorname,linenumber, GRE'      #######################'RED'/              \'GRE'######################'RESET,1
call message doorname,linenumber, GRE'      ######################'RED'/                \'GRE'#####################'RESET,1
call message doorname,linenumber, GRE'      #####################'RED'/                  \'GRE'####################'RESET,1
call message doorname,linenumber, GRE'      ####################'RED'/____________________\'GRE'###################'RESET,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'                     Right now it costs $'WHI''room''MAG' per night.',1
call message doorname,linenumber, CYA'             30 hitpoints healed a night. - You need to heal 'WHI''lost''CYA'.',1
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, CYA' Stay how many nights? 'BLU'['YEL'Q'BLU']'CYA' Quits'BLU':',0
call prompt doorname,linenumber,'',8
stay = upper(result)
if stay = 'Q' then signal MENU
if stay = '' | stay = ' ' | stay = '  ' | stay = '   ' | stay = '    ' | stay = '     ' then signal MENU
if stay = 0 then do
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, CYA'What, are you just going to mope around in the lounge all day?',1
   call message doorname,linenumber, ' 'RESET,1
   address command "wait 1"
   signal MENU
  end
if stay > 9999999999999999999999999999999999999999999999999999999999999999999999999999999999 then signal YOT
if stay < 0 then signal YOT
dogz = compress(stay,'ABCDEFGHIJKLMNOPQRSTUVWXYZ.,{}[];:?/\=+-_)(*&^%$#@!~`<>')
payme = dogz * room
if payme > money then do
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('You dont have enough money to stay here that long!',78),1
   call message doorname,linenumber, ' 'RESET,1
   address command "wait 1"
  end
if money = payme then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, MAG'You are going to be 'RED'BROKE'MAG' if you stay here that long!'RESET,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, CYA'Stay here anyway ('GRE'Y'CYA'/'RED'n'CYA')? ',0
   call hotkey doorname,linenumber,''
   stayany = upper(result)
   if stayany = 'N' then do
      call message doorname,linenumber, BLU'Ok.. leaving Hotel...'RESET,1
      address command "wait 1"
      signal MENU
     end
  end
if payme <= money then signal RESTHERE
signal MENU

YOT:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('You must enter a NUMBER! ',78),1
call message doorname,linenumber, RESET' ',1
address command "wait 1"
signal REST

RESTHERE:
call checkca
money = money - payme
runny = RANDOM(1,200,Time('s'))
if runny >= money then runny = 0
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, YEL center('Enjoy your stay!',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Sleeping.',1
  do i = 1 to 20
   call message doorname,linenumber, CYA'.',1
   address command "wait 1"
   i=i+1
  end
call message doorname,linenumber, ' ',1
hitpoints=hitpoints+(dogz*30)
if hitpoints > maxpoints then hitpoints = maxpoints
call message doorname,linenumber, CYA'Ahhh.. you feel refreshed!',1
call message doorname,linenumber, CYA'You order $'WHI||runny||CYA' in room service.',1
if money = 0 then call message doorname,linenumber, CYA'By the way.. 'RED'You are Broke!'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, ' Press 'RED'RETURN'WHI' when finished: 'RESET
call checkca
signal MENU

YOURSTATS:
call checkca
turnsleft = turnsleft + 1
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '                'BLUCYA'   Player Statistics For The Yuppie 'handle'   'RESET,1
call message doorname,linenumber, BLU center(' ----------------------------------------------------------------------- ',78),1
call POINTCK
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'                         Points: 'WHI''points,1
call message doorname,linenumber, MAG'                           Rank: 'WHI''rank,1
call message doorname,linenumber, MAG'                      Hitpoints: 'WHI''hitpoints,1
call message doorname,linenumber, MAG'                     Turns Left: 'WHI''turnsleft,1
call message doorname,linenumber, MAG'                         Weapon: 'WHI''weapon,1
call message doorname,linenumber, MAG'                        Vehicle: 'WHI''armor,1
call message doorname,linenumber, MAG'                          Money: 'WHI'$'money,1
call message doorname,linenumber, MAG'                     Bank Money: 'WHI'$'bmoney,1
call message doorname,linenumber, MAG'                 Lifetime Kills: 'WHI''kills,1
call message doorname,linenumber, ' 'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, ' Hit 'RED'RETURN'WHI' when finished: 'RESET
call checkca
signal MENU

VEGAS:
call checkca
currentmem=storage()
  if currentmem<lowmem then do
    call message doorname,linenumber, CLS,1
    call message doorname,linenumber, ' ',1
    call message doorname,linenumber, RED CENTER('Sorry!  Out of memory!  Saving and exiting...',78),1
    address command "wait 1"
    signal BYE
  end
call EVENER
if turnsleft <= 0 then do
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, center('        'BLUCYA'   You must like this game!   'RESET'',78),1
   call message doorname,linenumber, ' 'RESET,1
   call message doorname,linenumber, RED center('But anyway, you have played all your 25 turns out.',78),1
   call message doorname,linenumber, RED center('Try calling back tomarrow and playing again!',78),1
   call message doorname,linenumber, ' ',1
   call hotkey doorname,linenumber, 'Press 'RED'RETURN'WHI' when finished: '
   signal OUTTAHERE
  end
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '                 'WHI'*'RED'                ____'RESET,1
call message doorname,linenumber, RED' __ 'WHI' *'RED'      ____  ___     /\  'WHI' *'RED' / __/'RESET,1
call message doorname,linenumber, RED' \ \    __ /___/ /___\   //\\   / /'RESET,1
call message doorname,linenumber, RED'  \ \  / ///_   //  'WHI'*'RED'\\ / \/ \ / /'RESET,1
call message doorname,linenumber, RED'   \ \/ //__/   \\___/// ____ \\ \___ 'WHI'*'RESET,1
call message doorname,linenumber, RED'    \  / \\_____ \__ // /  __\ \\_  /'RESET,1
call message doorname,linenumber, WHI'  * 'RED' \/   \____/___// \/   \__\/___/'RESET,1
call message doorname,linenumber, WHI'        *  'RED'/_______/'BLU' __________________________'RESET,1
call message doorname,linenumber, BLU'                    /------'ITAL''CYA'What To Play'RESET''BLU'-------/ ',1
call message doorname,linenumber, BLU'                   /                         / ',1
call message doorname,linenumber, BLU'                  /     'ITAL' ['YEL'S'BLU'] 'CYA'Slots'RESET''BLU'          / ',1
call message doorname,linenumber, BLU'                 /     'ITAL' ['YEL'L'BLU'] 'CYA'Lotto'RESET''BLU'          / ',1
call message doorname,linenumber, BLU'                /     'ITAL' ['YEL'C'BLU'] 'CYA'Craps'RESET''BLU'          / ',1
call message doorname,linenumber, BLU'               /     'ITAL' ['YEL'F'BLU'] 'CYA'Fifty-Fifty'RESET''BLU'    / ',1
call message doorname,linenumber, BLU'              /     'ITAL' ['YEL'Q'BLU'] 'CYA'Leave Vegas'RESET''BLU'    / ',1
call message doorname,linenumber, BLU'             /_________________________/ ',1
call message doorname,linenumber, ' 'RESET,1
call message doorname,linenumber, CYA'What game do you want to play?'BLU'> ',0
call hotkey doorname,linenumber,''
Choice = upper(result)
if Choice = 'Q' then do
turnsleft = turnsleft + 1
maincount = 0
signal MENU
end
if Choice = 'S' then do
turnsleft = turnsleft - 1
maincount = 0
call SLITS
end
if Choice = 'L' then do
turnsleft = turnsleft - 1
maincount = 0
signal LOTTO
end
if Choice = 'C' then do
turnsleft = turnsleft - 1
maincount = 0
call CRAPS
end
if Choice = 'F' then do
turnsleft = turnsleft - 1
maincount = 0
signal FIFTY
end
signal VEGAS

FIFTY:
call checkca
if money <= 0 then do
   turnsleft = turnsleft + 1
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOU NEED MONEY TO PLAY!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   maincount = 0
   signal VEGAS
  end
t = b
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '                        'BLUCYA'   Playing Fifty-Fifty   'RESET,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA center('You have a %50 chance of winning double your bet.',78),1
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, BLU' You have $'CYA''money''BLU', your bet [Q] to quit (Max $'CYA'5000'BLU')? >',0
call prompt doorname,linenumber,'',5
Betty = upper(result)
if Betty = 'Q' then do
maincount = 0
signal VEGAS
end
if Betty > money then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOU DONT HAVE ENOUGH MONEY TO BET THAT MUCH!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal FIFTY
  end
if Betty > 5000 | Betty < 1 then do
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('You must bet between 1 and 5000!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal FIFTY
  end
if Betty <= 5000 & Betty >= 1 then signal LATER
else call YO
signal FIFTY

LATER:
call checkca
call message doorname,linenumber, ' ',1
rnm = RANDOM(1,4,Time('s'))
if rnm = 1 | rnm = 3 then do
   money = money - Betty
   call message doorname,linenumber, YEL' You lost this time, bud!',1
   call message doorname,linenumber, MAG' You lost $'WHI''Betty''MAG'.'RESET,1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal PLAYGEN
  end
if rnm = 2 | rnm = 4 then do
   call message doorname,linenumber, YEL' You Won!!!',1
   call message doorname,linenumber, MAG' You won $'WHI''Betty*2''MAG'!'RESET,1
   money=money+(Betty*2)
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal PLAYGEN
  end
signal PLAYGEN

LOTTO:
call checkca
if money <= 0 then do
   turnsleft = turnsleft + 1
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOU NEED MONEY TO PLAY THIS GAME!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
  maincount = 0
  signal VEGAS
  end
t = a
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '                         'BLUCYA'   Playing the Lotto   'RESET,1
call message doorname,linenumber, ' ',1
flag = f
call message doorname,linenumber, BLU' You have $'CYA''money''BLU'.  Maximum bet is $'CYA'5000'BLU'.',1
Call message doorname,linenumber, CYA' How much money do you want to bet?:',0
call prompt doorname,linenumber,'',8
Wager = upper(result)
if Wager = 'Q' then do
maincount = 0
signal VEGAS
end
if Wager > money then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOU DONT HAVE ENOUGH MONEY TO BET THAT MUCH!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal LOTTO
  end
if Wager > 5000 then do
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('MAXIMUM BET IS $5000!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal LOTTO
  end
if Wager >= 1 & Wager <= 5000 then do
maincount = 0
signal WEZ
end
else call YO
signal LOTTO

WEZ:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA' Bet 'YEL''Wager''CYA' ('GRE'Y'CYA'/'RED'n'CYA')?: ' ,0
call hotkey doorname,linenumber,''
okeydokey = upper(result)
if okeydokey = 'N' then signal LOTTO
signal GOON

GOON:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA center('Enter a number between 1 and 50, if that number comes up, you win',78),1
call message doorname,linenumber, CYA center('five times that amount, if you lose, you get one last chance to',78),1
call message doorname,linenumber, CYA center('enter a number between 1 and 50, if you win, you will get triple',78),1
call message doorname,linenumber, CYA center('your bet.  If you win any of the two, you get a chance to go on',78),1
call message doorname,linenumber, CYA center('to the finals where you get a chance to win 10 times your bet, but',78),1
call message doorname,linenumber, CYA center('your chances are one in 60.',78),1
call message doorname,linenumber, ' ',1
if flag = lasttime then do
   call message doorname,linenumber, GRE center('This is your last chance to win your money back,',78),1
   call message doorname,linenumber, GRE center('if you dont win, you just lose what you originally',78),1
   call message doorname,linenumber, GRE center('betted, you wont lose more than you betted.',78),1
   call message doorname,linenumber, ' ',1
  end
Call message doorname,linenumber, MAG'   Enter a number between 1 & 50:',0
call prompt doorname,linenumber,'',2
numb = upper(result)
if numb <= 50 & numb >= 1 then signal WEENIE
else call YO
signal GOON

WEENIE:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, ' ',1
rannim = RANDOM(1,51,Time('s'))
if rannim = numb then do
call message doorname,linenumber, MAG ' And, the number is... 'RESET,0
address command "wait 1"
   call message doorname,linenumber, rannim''MAG'!'RESET,1
   call message doorname,linenumber, YEL center('You Won!!!',78),1
   call message doorname,linenumber, GRE center('       You won $'RESET''Wager*5''GRE'!!!',78),1
   call message doorname,linenumber, MAG center('Good Job!!',78),1
   if flag = f then money=money+(Wager*5)
   if flag = lasttime then money=money+(Wager*3)
   signal FINALDRAW
  end
if rannim ~= numb then do
   call message doorname,linenumber, MAG ' And, the number is... 'RESET,0
   address command "wait 1"
   call message doorname,linenumber, rannim''MAG'!'RESET,1
   if flag = f then money = money - Wager
   call message doorname,linenumber, YEL center('Oh, to bad, you lose!',78),1
   if flag = f then call message doorname,linenumber, GRE center('        You lost $'WHI''Wager''GRE'.',78),1
   if flag = lasttime then call message doorname,linenumber, GRE center('You didnt lose anything this time.',78),1
   call message doorname,linenumber, MAG center('Oh well, better luck next time!',78),1
   if flag = lasttime then do
      call message doorname,linenumber, RED center('You didnt win your money back!',78),1
      address command "wait 1"
      signal PLAYGEN
  end
signal LASTCHANCE

FINALDRAW:
call checkca
address command "wait 1"
randu = RANDOM(1,60,Time('s'))
call message doorname,linenumber, CLS,1
call message doorname,linenumber, RESET'    *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '    *  'RED' You have made made it this far, now lets see if you'WHI'  *',1
call message doorname,linenumber, RED'       can win the REALLY BIG bucks!',1
call message doorname,linenumber, WHI'    *                                                        *',1
call message doorname,linenumber, '    *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *'RESET,1
call message doorname,linenumber, ' ',1
address command "wait 1"
call message doorname,linenumber, BLU center('Using your winning number for the draw.',78),1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG'And... The winning number is... 'RESET ; address command "wait 1" ; call message doorname,linenumber, randu''MAG'!'RESET,1
call message doorname,linenumber, ' ',1
if randu = numb then do
   call message doorname,linenumber, YEL center('YOU WIN!!!',78),1
   call message doorname,linenumber, GRE center('       You won $'WHI''Wager*10''GRE'!!',78),1
   call message doorname,linenumber, RED center('GOOD JOB!',78),1
   money=money+(Wager*10)
   call message doorname,linenumber, ' ',1
   call writeln(news,handle' wins 'wager*10' in the lotto at vegas!')
   call message doorname,linenumber, CYA'The bright-red faced casino manager quickly ushers you out the door.',1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal PLAYGEN
  end
if randu ~= numb then do
   call message doorname,linenumber, YEL center('Awww.. too bad, you lost.',78),1
   call message doorname,linenumber, GRE center('But at least you didnt lose anything!',78),1
   call message doorname,linenumber, RED center('Better luck next time!',78),1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, CYA'The relieved casino manager asks you to come back anytime.',1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   signal PLAYGEN
  end
signal PLAYGEN

PLAYGEN:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA' Would you like to play again ('GRE'y'CYA'/'RED'N'CYA')? ',0
call hotkey doorname,linenumber,''
comegen = upper(result)
if comegen = 'N' then signal VEGAS
if comegen = 'Y' then do
   if t = a then signal LOTTO
   if t = b then signal FIFTY
end
signal VEGAS

LASTCHANCE:
call checkca
address command "wait 1"
flag = lasttime
signal GOON

YO:
call checkca
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOUR ANSWER MUST BE A NUMBER BETWEEN 1 AND 50!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   return

BUYORSELLW:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
if weapon = wep1 then call message doorname,linenumber, CYA' Your current weapon is a 'wep1'.'RESET,1
if weapon = wep2 then call message doorname,linenumber, CYA' Your current weapon is a 'wep2'.'RESET,1
if weapon = wep3 then call message doorname,linenumber, CYA' Your current weapon is a 'wep3'.'RESET,1
if weapon = wep4 then call message doorname,linenumber, CYA' Your current weapon is a 'wep4'.'RESET,1
if weapon = wep5 then call message doorname,linenumber, CYA' Your current weapon is a 'wep5'.'RESET,1
if weapon = wep6 then call message doorname,linenumber, CYA' Your current weapons are 'wep6'.'RESET,1
if weapon = wep7 then call message doorname,linenumber, CYA' Your current weapon is a 'wep7'.'RESET,1
if weapon = wep8 then call message doorname,linenumber, CYA' Your current weapon is a 'wep8'.'RESET,1
if weapon = wep9 then call message doorname,linenumber, CYA' Your current weapon is a 'wep9'.'RESET,1
if weapon = wep10 then call message doorname,linenumber, CYA ' Your current weapon is a 'wep10'.'RESET,1
if weapon = wep11 then call message doorname,linenumber, CYA ' Your current weapon is a 'wep11'.'RESET,1
if weapon = wep12 then call message doorname,linenumber, CYA ' Your current weapon is a 'wep12'.'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, GRE' Buy or Sell your weapon (B/S)? '
Choice = upper(result)
if Choice = B then signal BUYWEAPON
if Choice = S then signal SELLWEAPON
if Choice = Q then signal MENU
signal MENU

BUYORSELLA:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
if armor = arm1 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm1'.'RESET,1
if armor = arm2 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm2'.'RESET,1
if armor = arm3 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm3'.'RESET,1
if armor = arm4 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm4'.'RESET,1
if armor = arm5 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm5'.'RESET,1
if armor = arm6 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm6'.'RESET,1
if armor = arm7 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm7'.'RESET,1
if armor = arm8 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm8'.'RESET,1
if armor = arm9 then call message doorname,linenumber, CYA' Your current vehicle is a 'arm9'.'RESET,1
if armor = arm10 then call message doorname,linenumber, CYA ' Your current vehicle is a 'arm10'.'RESET,1
if armor = arm11 then call message doorname,linenumber, CYA ' Your current vehicle is a 'arm11'.'RESET,1
if armor = arm12 then call message doorname,linenumber, CYA ' Your current vehicle is a 'arm12'.'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, GRE' Buy or Sell your vehicle (B/S)? '
Choice = upper(result)
if Choice = B then signal BUYARMOR
if Choice = S then signal SELLARMOR
if Choice = Q then signal MENU
signal MENU

BUYWEAPON:
call checkca
w = b
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '                   'BluCya'  Macys Department Store Weapons  'RESET,1
call message doorname,linenumber, BLU' ----------------------------------------------------------------------',1
call message doorname,linenumber, YEL'   A.'MAG' Squirt Gun                         'RED'Rank:'MAG' 1   'GRE' Price:'MAG' $100   ',1
call message doorname,linenumber, YEL'   B.'MAG' Spitwad Launcher                   'RED'Rank:'MAG' 2   'GRE' Price:'MAG' $2000  ',1
call message doorname,linenumber, YEL'   C.'MAG' Frisbee                            'RED'Rank:'MAG' 3   'GRE' Price:'MAG' $10000  ',1
call message doorname,linenumber, YEL'   D.'MAG' Laser Tag Gun                      'RED'Rank:'MAG' 4   'GRE' Price:'MAG' $25000 ',1
call message doorname,linenumber, YEL'   E.'MAG' Paint Ball Gun                     'RED'Rank:'MAG' 5   'GRE' Price:'MAG' $40000 ',1
call message doorname,linenumber, YEL'   F.'MAG' Darts                              'RED'Rank:'MAG' 6   'GRE' Price:'MAG' $55000 ',1
call message doorname,linenumber, YEL'   G.'MAG' Baseball                           'RED'Rank:'MAG' 7   'GRE' Price:'MAG' $75000 ',1
call message doorname,linenumber, YEL'   H.'MAG' Bart Simpson Doll                  'RED'Rank:'MAG' 8   'GRE' Price:'MAG' $85000 ',1
call message doorname,linenumber, YEL'   I.'MAG' Chainsaw                           'RED'Rank:'MAG' 9   'GRE' Price:'MAG' $100000',1
call message doorname,linenumber, YEL'   J.'MAG' Teenage Mutant Ninja Turtles Doll  'RED'Rank:'MAG' 10  'GRE' Price:'MAG' $200000',1
call message doorname,linenumber, YEL'   K.'MAG' New Kids On The Block Poster       'RED'Rank:'MAG' 11  'GRE' Price:'MAG' $420000',1
call message doorname,linenumber, YEL'   L.'MAG' New Kids On The Block CD           'RED'Rank:'MAG' 12  'GRE' Price:'MAG' $750000'RESET,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, WHI'                               Press Q To Quit      ',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'You have $'WHI''money''CYA'.  What weapon do you want Sir?'BLU'> ',0
call hotkey doorname,linenumber,''
Choice = upper(result)
if Choice = 'Q' then do
maincount = 0
signal MENU
end
if Choice = 'A' then do
   if weapon = wep1 then signal ALREADYHAVE
   if money < 10 then signal NOMONEY
   money = money - 10
   weapon = wep1
   call BOT
  end
if Choice = 'B' then do
   if weapon = wep2 then signal ALREADYHAVE
   if money < 2000 then signal NOMONEY
   money = money - 2000
   weapon = wep2
   call BOT
  end
if Choice = 'C' then do
   if weapon = wep3 then signal ALREADYHAVE
   if money < 10000 then signal NOMONEY
   money = money - 10000
   weapon = wep3
   call BOT
  end
if Choice = 'D' then do
   if weapon = wep4 then signal ALREADYHAVE
   if money < 25000 then signal NOMONEY
   money = money - 25000
   weapon = wep4
   call BOT
  end
if Choice = 'E' then do
   if weapon = wep5 then signal ALREADYHAVE
   if money < 40000 then signal NOMONEY
   money = money - 40000
   weapon = wep5
   call BOT
  end
if Choice = 'F' then do
   if weapon = wep6 then signal ALREADYHAVE
   if money < 55000 then signal NOMONEY
   money = money - 55000
   weapon = wep6
   call BOT
  end
if Choice = 'G' then do
   if weapon = wep7 then signal ALREADYHAVE
   if money < 75000 then signal NOMONEY
   money = money - 75000
   weapon = wep7
   call BOT
  end
if Choice = 'H' then do
   if weapon = wep8 then signal ALREADYHAVE
   if money < 85000 then signal NOMONEY
   money = money - 85000
   weapon = wep8
   call BOT
  end
if Choice = 'I' then do
   if weapon = wep9 then signal ALREADYHAVE
   if money < 100000 then signal NOMONEY
   money = money - 100000
   weapon = wep9
   call BOT
  end
if Choice = 'J' then do
   if weapon = wep10 then signal ALREADYHAVE
   if money < 200000 then signal NOMONEY
   money = money - 200000
   weapon = wep10
   call BOT
  end
if Choice = 'K' then do
   if weapon = wep11 then signal ALREADYHAVE
   if money < 420000 then signal NOMONEY
   money = money - 420000
   weapon = wep11
   call BOT
  end
if Choice = 'L' then do
   if weapon = wep12 then signal ALREADYHAVE
   if money < 750000 then signal NOMONEY
   money = money - 750000
   weapon = wep12
   call BOT
  end
signal BUYWEAPON

BUYARMOR:
call checkca
w = a
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '                  'BluCya'  Macys Department Store Vehicles  'RESET,1
call message doorname,linenumber, BLU' ----------------------------------------------------------------------',1
call message doorname,linenumber, YEL'   A.'MAG' Barbie Ferrari                     'RED'Rank:'MAG' 1   'GRE' Price:'MAG' $100   ',1
call message doorname,linenumber, YEL'   B.'MAG' Roller Skates                      'RED'Rank:'MAG' 2   'GRE' Price:'MAG' $2000  ',1
call message doorname,linenumber, YEL'   C.'MAG' Vision Skateboard                  'RED'Rank:'MAG' 3   'GRE' Price:'MAG' $10000  ',1
call message doorname,linenumber, YEL'   D.'MAG' Go-Cart                            'RED'Rank:'MAG' 4   'GRE' Price:'MAG' $25000 ',1
call message doorname,linenumber, YEL'   E.'MAG' 10-Speed Bike                      'RED'Rank:'MAG' 5   'GRE' Price:'MAG' $40000 ',1
call message doorname,linenumber, YEL'   F.'MAG' Suzuki Motorbike                   'RED'Rank:'MAG' 6   'GRE' Price:'MAG' $55000 ',1
call message doorname,linenumber, YEL'   G.'MAG' BMW Motorcycle                     'RED'Rank:'MAG' 7   'GRE' Price:'MAG' $75000 ',1
call message doorname,linenumber, YEL'   H.'MAG' Yugo                               'RED'Rank:'MAG' 8   'GRE' Price:'MAG' $85000 ',1
call message doorname,linenumber, YEL'   I.'MAG' Volkswagon                         'RED'Rank:'MAG' 9   'GRE' Price:'MAG' $100000',1
call message doorname,linenumber, YEL'   J.'MAG' Ferrari F40                        'RED'Rank:'MAG' 10  'GRE' Price:'MAG' $200000',1
call message doorname,linenumber, YEL'   K.'MAG' Corvette Mako Shark                'RED'Rank:'MAG' 11  'GRE' Price:'MAG' $420000',1
call message doorname,linenumber, YEL'   L.'MAG' Stealth Bomber                     'RED'Rank:'MAG' 12  'GRE' Price:'MAG' $750000'RESET,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, WHI'                               Press Q To Quit      ',1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'You have $'WHI''money''CYA'.  What vehicle do you want Sir?'BLU'> ',0
call hotkey doorname,linenumber,''
Choice = upper(result)
if Choice = 'Q' then do
maincount = 0
signal MENU
end
if Choice = 'A' then do
   if armor = arm1 then signal ALREADYHAVEA
   if money < 10 then signal NOMONEYA
   money = money - 10
   armor = arm1
   call BOT
  end
if Choice = 'B' then do
   if armor = arm2 then signal ALREADYHAVEA
   if money < 2000 then signal NOMONEYA
   money = money - 2000
   armor = arm2
   call BOT
  end
if Choice = 'C' then do
   if armor = arm3 then signal ALREADYHAVEA
   if money < 10000 then signal NOMONEYA
   money = money - 10000
   armor = arm3
   call BOT
  end
if Choice = 'D' then do
   if armor = arm4 then signal ALREADYHAVEA
   if money < 25000 then signal NOMONEYA
   money = money - 25000
   armor = arm4
   call BOT
  end
if Choice = 'E' then do
   if armor = arm5 then signal ALREADYHAVEA
   if money < 40000 then signal NOMONEYA
   money = money - 40000
   armor = arm5
   call BOT
  end
if Choice = 'F' then do
   if armor = arm6 then signal ALREADYHAVEA
   if money < 55000 then signal NOMONEYA
   money = money - 55000
   armor = arm6
   call BOT
  end
if Choice = 'G' then do
   if armor = arm7 then signal ALREADYHAVEA
   if money < 75000 then signal NOMONEYA
   money = money - 75000
   armor = arm7
   call BOT
  end
if Choice = 'H' then do
   if armor = arm8 then signal ALREADYHAVEA
   if money < 85000 then signal NOMONEYA
   money = money - 85000
   armor = arm8
   call BOT
  end
if Choice = 'I' then do
   if armor = arm9 then signal ALREADYHAVEA
   if money < 100000 then signal NOMONEYA
   money = money - 100000
   armor = arm9
   call BOT
  end
if Choice = 'J' then do
   if armor = arm10 then signal ALREADYHAVEA
   if money < 200000 then signal NOMONEYA
   money = money - 200000
   armor = arm10
   call BOT
  end
if Choice = 'K' then do
   if armor = arm11 then signal ALREADYHAVEA
   if money < 420000 then signal NOMONEYA
   money = money - 420000
   armor = arm11
   call BOT
  end
if Choice = 'L' then do
   if armor = arm12 then signal ALREADYHAVEA
   if money < 750000 then signal NOMONEYA
   money = money - 750000
   armor = arm12
   call BOT
  end
signal BUYARMOR

BOT:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
if w = a then call message doorname,linenumber, MAG center('You have bought a 'WHI''armor''MAG'!',78),1
if w = b then call message doorname,linenumber, MAG center('You have bought a 'WHI''weapon''MAG'!',78),1
call message doorname,linenumber, ' ',1
address command "wait 1"
maincount = 0
return

SELLWEAPON:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG' Macys will take your weapon for half price.'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, YEL'Are You Sure (y/N)? '
Choice = upper(result)
call message doorname,linenumber, ' ',1
if Choice = 'Y' then do
   if weapon = wep1 then do
      call message doorname,linenumber, RED'Macys wont take that piece of junk!',1
      address command "wait 1"
     maincount = 0
     signal MENU
     end
   if weapon = wep2 then do
      call message doorname,linenumber, CYA'Macys pays you $1000!',1
      weapon = wep1
      money = money + 1000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep3 then do
      call message doorname,linenumber, CYA'Macys pays you $5000!',1
      weapon = wep1
      money = money + 5000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep4 then do
      call message doorname,linenumber, CYA'Macys pays you $12500!',1
      weapon = wep1
      money = money + 12500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep5 then do
      call message doorname,linenumber, CYA'Macys pays you $20000!',1
      weapon = wep1
      money = money + 20000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep6 then do
      call message doorname,linenumber, CYA'Macys pays you $27500!',1
      weapon = wep1
      money = money + 27500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep7 then do
      call message doorname,linenumber, CYA'Macys pays you $37500!',1
      weapon = wep1
      money = money + 37500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep8 then do
      call message doorname,linenumber, CYA'Macys pays you $42500!',1
      weapon = wep1
      money = money + 42500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep9 then do
      call message doorname,linenumber, CYA'Macys pays you $50000!',1
      weapon = wep1
      money = money + 50000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep10 then do
      call message doorname,linenumber, CYA'Macys pays you $100000!',1
      weapon = wep1
      money = money + 100000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep11 then do
      call message doorname,linenumber, CYA'Macys pays you $210000!',1
      weapon = wep1
      money = money + 210000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if weapon = wep12 then do
      call message doorname,linenumber, CYA'Macys pays you $375000!',1
      weapon = wep1
      money = money + 375000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   end
maincount = 0
signal MENU

SELLARMOR:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, MAG' Macys will take your vehicle for half price.'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber, YEL'Are You Sure (y/N)? '
Choice = upper(result)
call message doorname,linenumber, ' ',1
if Choice = 'Y' then do
   if armor = arm1 then do
      call message doorname,linenumber, RED'Macys wont take that piece of junk!',1
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm2 then do
      call message doorname,linenumber, CYA'Macys pays you $1000!',1
      armor = arm1
      money = money + 1000
      address command "wait 1"
     maincount = 0
     signal MENU
     end
   if armor = arm3 then do
      call message doorname,linenumber, CYA'Macys pays you $5000!',1
      armor = arm1
      money = money + 5000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm4 then do
      call message doorname,linenumber, CYA'Macys pays you $12500!',1
      armor = arm1
      money = money + 12500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm5 then do
      call message doorname,linenumber, CYA'Macys pays you $20000!',1
      armor = arm1
      money = money + 20000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm6 then do
      call message doorname,linenumber, CYA'Macys pays you $27500!',1
      armor = arm1
      money = money + 27500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm7 then do
      call message doorname,linenumber, CYA'Macys pays you $37500!',1
      armor = arm1
      money = money + 37500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm8 then do
      call message doorname,linenumber, CYA'Macys pays you $42500!',1
      armor = arm1
      money = money + 42500
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm9 then do
      call message doorname,linenumber, CYA'Macys pays you $50000!',1
      armor = arm1
      money = money + 50000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm10 then do
      call message doorname,linenumber, CYA'Macys pays you $100000!',1
      armor = arm1
      money = money + 100000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm11 then do
      call message doorname,linenumber, CYA'Macys pays you $210000!',1
      armor = arm1
      money = money + 210000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   if armor = arm12 then do
      call message doorname,linenumber, CYA'Macys pays you $375000!',1
      armor = arm1
      money = money + 375000
      address command "wait 1"
      maincount = 0
      signal MENU
     end
   end
maincount = 0
signal MENU

ALREADYHAVE:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED' YOU ALREADY HAVE THAT WEAPON! 'RESET,1
address command "wait 1"
maincount = 0
signal BUYWEAPON

NOMONEY:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED' YOU DONT HAVE ENOUGH MONEY TO BUY THAT WEAPON!',1
if money = 0 then call message doorname,linenumber, MAG' --You dont have any money!',1
address command "wait 1"
signal BUYWEAPON

ALREADYHAVEA:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED' YOU ALREADY HAVE THAT VEHICLE! 'RESET,1
address command "wait 1"
signal BUYARMOR

P2:
call checkca
call message doorname,linenumber, ' ',1
signal CHEATIT
signal MENU

NOMONEYA:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED' YOU DONT HAVE ENOUGH MONEY TO BUY THAT VEHICLE!',1
if money = 0 then call message doorname,linenumber, MAG' --You dont have any money!',1
address command "wait 1"
signal BUYARMOR

QUIT:
call checkca
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Are you sure ('GRE'y'CYA'/'RED'N'CYA')? ',0
call hotkey doorname,linenumber,''
Choice = upper(result)
if Choice = 'Y' then do
   call message doorname,linenumber, CLS,1
   call close(news)
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, BluCya'Saving Stats...'RESET,1
   call POINTCK
   call open(Fill,'doors:Yuppie/'handle'.DAT','W')
   call writeln(Fill,turnsleft)
   call writeln(Fill,maxpoints)
   call writeln(Fill,hitpoints)
   call writeln(Fill,points)
   call writeln(Fill,money)
   call writeln(Fill,armor)
   call writeln(Fill,weapon)
   call writeln(Fill,rank)
   call writeln(Fill,canfight)
   call writeln(Fill,date)
   call writeln(Fill,deadf)
   call writeln(Fill,killer)
   call writeln(Fill,kills)
   call writeln(Fill,bmoney)
   call close(Fill)
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, BluCya'Saved.'RESET,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, GRE'Calculating High Scores...',1
   call CHECKHI
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('Returning to 'bbsname'...',78),1
   call message doorname,linenumber, RESET,1
   address command "wait 1"
   signal DIE
end
call message doorname,linenumber, ' ',1
call message doorname,linenumber, CYA'Returning To Main...'RESET,1
turnsleft = turnsleft + 1
address command "wait 1"
signal MENU

OUTTAHERE:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call close(news)
call message doorname,linenumber, BluCya'Saving Stats...'RESET,1
call POINTCK
call open(Fill,'doors:Yuppie/'handle'.DAT','W')
call writeln(Fill,turnsleft)
call writeln(Fill,maxpoints)
call writeln(Fill,hitpoints)
call writeln(Fill,points)
call writeln(Fill,money)
call writeln(Fill,armor)
call writeln(Fill,weapon)
call writeln(Fill,rank)
call writeln(Fill,canfight)
call writeln(Fill,date)
call writeln(Fill,deadf)
call writeln(Fill,killer)
call writeln(Fill,kills)
call writeln(Fill,bmoney)
call close(Fill)
call message doorname,linenumber, ' ',1
call message doorname,linenumber, BluCya'Saved.'RESET,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, GRE'Calculating High Scores...',1
call CHECKHI
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED center('Returning to 'bbsname'...',78),1
call message doorname,linenumber, RESET,1
address command "wait 1"
signal DIE

BYE:
call checkca
call close(news)
call POINTCK
call open(File,'doors:Yuppie/'handle'.DAT','W')
call writeln(File,turnsleft)
call writeln(File,maxpoints)
call writeln(File,hitpoints)
call writeln(File,points)
call writeln(File,money)
call writeln(File,armor)
call writeln(File,weapon)
call writeln(File,rank)
call writeln(File,canfight)
call writeln(File,date)
call writeln(File,deadf)
call writeln(File,killer)
call writeln(File,kills)
call writeln(File,bmoney)
call close(File)
call CHECKHI
signal DIE

POINTCK:
call checkca
call EVENER
if turnsleft = '' then turnsleft = 2
if maxturns = 21 then maxturns = 26
if maxturns = '' then maxturns = 26
if canfight = '' then canfight = 4
if deadf = '' then deadf = 0
if killer = '' then killer = 'NOBODY'
if weapon = '' then weapon = wep1
if weapon = wep1 then po1 = 100
if weapon = wep2 then po1 = 200
if weapon = wep3 then po1 = 400
if weapon = wep4 then po1 = 800
if weapon = wep5 then po1 = 1600
if weapon = wep6 then po1 = 3200
if weapon = wep7 then po1 = 6400
if weapon = wep8 then po1 = 12800
if weapon = wep9 then po1 = 25600
if weapon = wep10 then po1 = 51200
if weapon = wep11 then po1 = 102400
if weapon = wep12 then po1 = 204800
if armor = '' then armor = arm1
if armor = arm1 then po2 = 100
if armor = arm2 then po2 = 200
if armor = arm3 then po2 = 400
if armor = arm4 then po2 = 800
if armor = arm5 then po2 = 1600
if armor = arm6 then po2 = 3200
if armor = arm7 then po2 = 6400
if armor = arm8 then po2 = 12800
if armor = arm9 then po2 = 25600
if armor = arm10 then po2 = 51200
if armor = arm11 then po2 = 102400
if armor = arm12 then po2 = 204800
if bmoney = '' then bmoney = 0
if money = '' then money = 0
po3 = money + bmoney
if rank = '' then rank = ran1
if rank = ran1 then po4 = 500
if rank = ran2 then po4 = 1000
if rank = ran3 then po4 = 2000
if rank = ran4 then po4 = 4000
if rank = ran5 then po4 = 6000
if rank = ran6 then po4 = 8000
if rank = ran7 then po4 = 10000
if rank = ran8 then po4 = 15000
if rank = ran9 then po4 = 30000
if rank = ran10 then po4 = 45000
if rank = ran11 then po4 = 60000
if rank = ran12 then po4 = 80000
if hitpoints = '' then hitpoints = 30
po5 = hitpoints * 10
if maxpoints = '' then maxpoints = 30
po6 = maxpoints * 10
if kills = '' then kills = 0
po7 = kills * 1000
points=po1+po2+po3+po4+po5+po6+po7
return

CHECKHI:
call checkca
call HICL
call open(play,'doors:Yuppie/Players','W')
do i = 1 to howm
   if PRank.i ~= -1 then do
    call writeln(play,PRank.i' 'PHandle.i)
   end
end
call close(play)
call open(dc,'doors:Yuppie/STATS','W')
call writeln(dc,date)
call writeln(dc,day)
call writeln(dc,howm)
call close(dc)
call HICK
call open(top10,'doors:Yuppie/TopOnes','W')
do i = 1 to 10
call writeln(top10,topscore.i' 'topalias.i)
end
call close(top10)
return

CHECKCA:
call cdetect doorname,linenumber
carrier = result
if carrier = "no carrier!" then do
signal getout
end
return

SYNTAX:
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED' ARRRRRGGGHHHH!'CYA'  There is a SYNTAX error!',1
call message doorname,linenumber, RED' Line:'CYA SIGL RED'   Error Code:'CYA RC,1
call message doorname,linenumber, BLU' Let the SYSOP know about it!'RESET,1
call hotkey doorname,linenumber,'Press return...'
signal getout

IOERR:
call message doorname,linenumber, ' ',1
call message doorname,linenumber, RED' ARGH! There is an I/O error!',1
call message doorname,linenumber, RED' Be sure to let 'dasysop' know about it!'RESET,1
call message doorname,linenumber, ' ',1
call hotkey doorname,linenumber,'Press return...'
signal getout

ERROR:

   call message doorname,linenumber,"",1
   Call message doorname,linenumber, '**ALERT** General Error!',1
   err_line = SIGL ; sev = RC
   Call message doorname,linenumber, 'Line: 'err_line'   Severity: 'sev,1
   call hotkey doorname,linenumber,'Press return...'
signal getout

FAILURE:

   Call message doorname,linenumber, '**ALERT** Failure!',1
   err_line = SIGL ; sev = RC
   Call message doorname,linenumber, 'Line: 'err_line'   Severity: 'sev,1
   call hotkey doorname,linenumber,'Press return...'
signal getout

GETOUT:
if exists(mainpath'INUSE') then do        
address command "delete doors:yuppie/INUSE"
call exit_door doorname,linenumber
exit 10

DIE:
call checkca
if bullopt = 1 then do
call pointck
call hick
call open top10, (BULLPATH),'W'
call writeln top10, '              Top 10 Yuppies          '
call writeln top10, '--------------------------------------------'
 do i = 1 to 10
    topscore.i = left(topscore.i,25)
    topalias.i = left(topalias.i,15)
    call writeln(top10,topscore.i' 'topalias.i)
    end
    call writeln top10, '--------------------------------------------'
    call writeln top10, ' '
    call close(top10)
end
if exists(mainpath'INUSE') then do        
address command "delete doors:yuppie/INUSE"
call exit_door DoorName,LineNumber
exit

QEXIT:
if exists(mainpath'INUSE') then do        
address command "delete doors:yuppie/INUSE"
call exit_door DoorName,LineNumber
exit 0



SLITS:           /* Thanks a lot for some of this routine Mike! */
call checkca
ESC = '['
RESET = '[0m'
CLL = '                                                                     '
CLR = '[J;H'
HOM = '[H'
POS = '[2;5H'
POS1 = '[3;5H'
POS2 = '[4;5H'
POS3 = '[5;0H'
POS4 = '[6;5H'
POS5 = '[7;5H'
POS6 = '[8;5H'
POS7 = '[9;5H'
POS8 = '[10;5H'
POS9 = '[11;5H'
POS10 = '[12;5H'
POS11 = '[13;5H'
POS12 = '[14;5H'
POS13 = '[15;5H'
POS14 = '[16;5H'
POS15 = '[17;5H'
POS16 = '[18;5H'
POS17 = '[19;5H'
POS18 = '[20;5H'
POS19 = '[21;5H'
POS20 = '[22;5H'
POS21 = '[23;5H'
WHITEONRED = '[37;41m'
BLACKONYELLOW = '[30;43m'
YELLOWONBLUE = '[33;44m'
CYANONBLACK = '[36;40m'
YELLOWONBLACK = '[33;40m'
PURPLEONBLACK = '[35;40m'
BLUEONBLACK = '[34;40m'
REDONYELLOW = '[31;43m'
REDONBLUE = '[31;44m'
BLACK = '[30m'

bet = 0
Tl = 0
Dl = 0



BEAN:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, ' ',1
call message doorname,linenumber, '                          'BluCya'   Playing The Slots   'RESET,1
call message doorname,linenumber, ' ',1
Call message doorname,linenumber, MAG'You have $'money' 'BLU'['YEL'Q'BLU']'MAG' Quits -- Your bet (Max 5000)?'BLU'> ',0
call prompt doorname,linenumber,'',5
Bet = upper(result)
if Bet = 0 | Bet = 'Q' then do
maincount = 0
signal WHATTHEHELL
end
if Bet > money | Bet > 5000 then do
call message doorname,linenumber, ' ',1
call message doorname,linenumber, 'Sorry 'handle', you cant bet that much!',1
address command "wait 1"
signal BEAN
 end
 if Bet = '' | Bet = ' ' | Bet <= . then do
signal BEAN
end
else
call message doorname,linenumber, '  ',1
call message doorname,linenumber, POS3 CLL POS3 'Bet taken...',1
signal BEANS

BEANS:
call checkca
call message doorname,linenumber, POS4 CLL POS4 CYA'Press 'P' to pull for your chance at big bucks!',1
call hotkey doorname,linenumber, '>'
chr = upper(result)
if chr = 'P' then do
call message doorname,linenumber, POS6 CLL POS6'     Your slots: ',1
call ROLL
numslots = 1
do for 3
call ROLL
numslots=numslots+1
end
call OUTPUT
numslots = 1
do for 3
call ROLL
numslots=numslots+1
end
call OUTPUT
numslots = 1
do for 3
call ROLL
numslots=numslots+1
end
call OUTPUT
numslots = 1
do for 3
call ROLL
numslots=numslots+1
end
call OUTPUT
call COMPARE
end
else signal WHATTHEHELL

ROLL:
call checkca
slots.numslots = RANDOM(1,6,Time('s'))
slot.numslots = slots.numslots
  if slots.numslots = 1 then do
    slot.numslots = '='
  end
  if slots.numslots = 2 then do
    slot.numslots = '?'
  end
  if slots.numslots = 3 then do
    slot.numslots = '#'
  end
  if slots.numslots = 4 then do
    slot.numslots = '$'
  end
  if slots.numslots = 5 then do
    slot.numslots = '*'
  end
  if slots.numslots = 6 then do
    slot.numslots = '7'
  end

RETURN


OUTPUT:
call checkca
POS.1 = '[10;30H'
POS.2 = '[10;35H'
POS.3 = '[10;40H'
do i = 1 to numslots-1
call message doorname,linenumber, POS.i||YEL'| 'RED||slot.i||YEL' |'CYA,1
end
call message doorname,linenumber, '',1
address command "wait 1"
RETURN




COMPARE:
call checkca
if slot.1 = slot.2 & slot.1 ~= slot.3 then signal WINNER
if slot.2 = slot.3 & slot.2 ~= slot.1 then signal WINNER
if slot.1 = slot.2 & slot.1 = slot.3 then signal WINNER1
 else money = money - bet
if purse = 0 | purse < 0 then signal OUTTACASH
 else signal LOSER

WINNER:
call checkca
call message doorname,linenumber, '',1
call message doorname,linenumber, '',1
call message doorname,linenumber, '',1
call message doorname,linenumber, 'You won double your bet which was 'bet*2'!',1
call message doorname,linenumber, ' ',1
money=money+(bet*2)
call DBL
signal WHATTHEHELL

WINNER1:
call checkca
call message doorname,linenumber, '',1
call message doorname,linenumber, '',1
call message doorname,linenumber, '',1
call message doorname,linenumber, 'You won triple your bet which was 'bet*3'!',1
call message doorname,linenumber, ' ',1
money=money+(bet*3)
call TPL
signal WHATTHEHELL

LOSER:
call checkca
call message doorname,linenumber, '',1
call message doorname,linenumber, '',1
call message doorname,linenumber, '',1
call message doorname,linenumber, 'You didnt win your bet!',1
address command "wait 1"

signal WHATTHEHELL

WHATTHEHELL:
call checkca
call message doorname,linenumber, '',1
call message doorname,linenumber, '',1
call hotkey doorname,linenumber, 'Do you want to continue playing (Y/N)?'
ans = upper(result)
if ans = 'Y' then do
maincount = 0
signal BEAN
end
if ans = 'N' then do
maincount = 0
signal VEGAS
end
if ans ~= 'N' | ans ~= 'Y' then do
signal WHATTHEHELL
end
signal WHATTHEHELL

TPL:
call checkca
Tl=Tl+1
if Tl = 5 then call BROKEN
RETURN

DBL:
call checkca
Dl=Dl+1
if Dl = 8 then call BROKEN
RETURN

OUTTACASH:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '    ',1
call message doorname,linenumber, POS17 CLL POS17 'You aint got no money left! Boy, you sure did a lousy job!',1
call message doorname,linenumber, '    ',1
address command "wait 1"
call message doorname,linenumber, POS18 CLL POS18 'Well since you are outta cash, we will help you outta here!',1
signal VEGAS

BROKEN:
call checkca
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '    ',1
call message doorname,linenumber, POS14 CLL POS14 'The Casino Manager wants to talk to you now!',1
call message doorname,linenumber, '    ',1
address command "wait 1"
call message doorname,linenumber, POS15 CLL POS15 'It appears he isnt too happy with your Playing Skills!',1
address command "wait 1"
call message doorname,linenumber, POS16 CLL POS16 'Im afraid I will have to ask you to leave now, you won too much!',1
call message doorname,linenumber, POS17 CLL POS17 'You Broke the Bank!! Try again later if you feel lucky....',1
call message doorname,linenumber, '     ',1
address command "wait 1"
signal VEGAS

CRAPS:          /* Thanks to D.F. Duck for some of this routine! */
call checkca
if money <= 0 then do
   turnsleft = turnsleft + 1
   call message doorname,linenumber, CLS,1
   call message doorname,linenumber, ' ',1
   call message doorname,linenumber, RED center('YOU NEED MONEY TO PLAY THIS GAME!',78),1
   call message doorname,linenumber, ' ',1
   address command "wait 1"
   return
  end
call message doorname,linenumber, CLS,1
call message doorname,linenumber, '                         'BluCya'   Playing Craps   'RESET,1
call message doorname,linenumber, ' ',1
call MAIN
return

Main:
call checkca
        RollNum = 0
        RollOld = 0
        call Bet
        call RollIt
return

Bet:
call checkca
        call message doorname,linenumber, ' ',1
                call message doorname,linenumber, BLU' You have $'CYA''money''BLU'.  Maximum bet is $'CYA'5000'BLU'.',1
                Call message doorname,linenumber, CYA' How much do you wish to bet 'BLU'['YEL'Q'BLU']'CYA' To Quit?:'RESET,0
                call prompt doorname,linenumber,'',5
                TimeBet = upper(result)
                if TimeBet = 'Q' then do
                maincount = 0
                signal VEGAS
                end
                 if money < TimeBet then do
                   call message doorname,linenumber, CLS,1
                   call message doorname,linenumber, ' ',1
                   call message doorname,linenumber, RED'              YOU DONT HAVE ENOUGH MONEY TO BET THAT MUCH!'RESET,1
                   call message doorname,linenumber, ' ',1
                   address command "wait 1"
                   call BET
                   return
                end
                if TimeBet = 1 then Minutes = 'Dollar'
                else Minutes = 'Dollars'
                if TimeBet < 1 then do
                call BET
                end
                if TimeBet > 5000 then do
                maincount = 0
                call BET
                end
                if TimeBet = '' | TimeBet = ' ' then do
                maincount = 0 
                signal VEGAS
                end

return

RollIt:
call checkca
   do forever
        call message doorname,linenumber, ' ',1
        call hotkey doorname,linenumber, 'Press ['RED'RETURN'RESET'] To Roll...'
        YesPlay = result
         call Roller
    end
return

Roller:
call checkca
        call message doorname,linenumber, CLS,1
        RollNum = RollNum + 1
        call message doorname,linenumber, 'Roll #'RollNum,1
        call message doorname,linenumber, ' ',1
        Rand1 = RANDOM(1,6,Time('s'))
        DicePos = ''
        DiceSet = insert('Dice',Rand1)
        interpret 'call' DiceSet
        Rand2 = RANDOM(1,6,Time('s'))
        DicePos = '        '
        DiceSet = insert('Dice',Rand2)
        interpret 'call' DiceSet
        call message doorname,linenumber, ' ',1
        RandSum = Rand1 + Rand2
        call message doorname,linenumber, 'You Rolled A 'RandSum'.',1
        call message doorname,linenumber, ' ',1
        if RandSum = 7 | RandSum = 11 then do
                if RollNum = 1 then call Win
                else call Lost
                end
        if RollNum = 1 then RollOld = RandSum
        if RollOld = RandSum then do
                if RollNum ~= 1 then call Win
                end
        call message doorname,linenumber, 'You Need Another 'GRE''RollOld''RESET' To Win!',1
return


Win:
call checkca
        if RollNum = 1 then do
                call message doorname,linenumber, 'You Rolled A 'RandSum' On The 1st Roll Which 'GRE'Doubles'RESET' Your Bet!',1
                TimeBet = TimeBet * 2
        end
        call message doorname,linenumber, 'Craps! You 'RED'Won 'TimeBet' 'Minutes''RESET'!',1
        money = money + TimeBet
        if TimeBet = 1 then Minutes = 'Dollar'
        else Minutes = 'Dollars'
        call Again
        signal VEGAS
return


Lost:
call checkca
        call message doorname,linenumber, 'You Crapped Out, You 'GRE'Lost 'TimeBet' 'Minutes''RESET'!',1
        if TimeBet = 1 then Minutes = 'Dollar'
        else Minutes = 'Dollars'
        money = money - TimeBet
        call Again
        signal Vegas
return


Again:
call checkca 
       call message doorname,linenumber, ' ',1
        call hotkey doorname,linenumber, GRE'Do You Want To Play Again (Y/N)? '
        PlayAgain = upper(result)
        if PlayAgain = 'Y' then call CRAPS
        if PlayAgain = 'N' then signal VEGAS
return

Dice1:
call checkca 
       call message doorname,linenumber, DicePos''WHIBLK'       'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK'   *   'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK'       'RESET,1
return

Dice2:
call checkca 
       call message doorname,linenumber, DicePos''WHIBLK'     * 'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK'       'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK' *     'RESET,1
return

Dice3:
call checkca  
      call message doorname,linenumber, DicePos''WHIBLK'     * 'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK'   *   'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK' *     'RESET,1
return

Dice4:
call checkca    
    call message doorname,linenumber, DicePos''WHIBLK' *   * 'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK'       'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK' *   * 'RESET,1
return

Dice5:
call checkca    
    call message doorname,linenumber, DicePos''WHIBLK' *   * 'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK'   *   'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK' *   * 'RESET,1
return

Dice6:
call checkca    
    call message doorname,linenumber, DicePos''WHIBLK' *   * 'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK' *   * 'RESET,1
        call message doorname,linenumber, DicePos''WHIBLK' *   * 'RESET,1
return
