Column 5
29. dirt, various bushes
30. narrow yellow paths, broken stone walls, rock piles, 2 skeletons, cacti, bushes
31. 3 paths, 3 tree stumps, broken stone walls, 3 cacti, 2 green shrubs, part of a blue fairy circle
32. a yellow path, a brown path, skeleton inside a sqaure broken wall area, leafless bushes, pumpkin patch, large bushes,part of a tree stump
33. 2 broken barrles, a chest, rock piles, a campfire, a stone circle, 2 dirt paths, large bushes
34. cracks in the dirt, a path leading to an elephant statue, an elephant statue beside one of the paths, 2 rock piles, leafless bushes, medium size green bushes
35. 3 dirt path, dirt path, 2 broken barrels, a chest hidden by various bushes, an open pit, large and small bushes.
7 maps, jpg, 5’ grid 4.9 megabytes, 7 maps.
7 maps, jpg 4.6 megabytes, 7 maps.
7 maps, png, 5’ grid 33 megabytes, 7 maps.
7 maps, png 33 megabytes, 7 maps.
Examples of some of the maps in these zip files.
Column 7
43. water, a boulder with moss
44. blue fairy circle, leafless bushes, yellow dirt path, medium green bushes
45. dark yellow path, rock piles, leafless and leafy bushes
46. dark yellow path, yellow path, 2 tree stumps, 2 wall pieces, a small pumpkin patch, red and green medium bushes, 3 pumpkin patches
47. 2 paths, 4 trimmed tree trunks, 2 open pits, 3 rubble piles, small bushes of various colors, pit with a metal grate
48. small ruined temple, 2 skeletons, 3 dirt pathsvarious medium bushes
49. dirt path with small rocks on it, various color bushes
7 maps, jpg, 5’ grid 4 megabytes, 7 maps. | 7 maps, jpg, no grid 3.8 megabytes, 7 maps.
7 maps, png, 5’ grid 316 megabytes, 7 maps. | 7 maps, png, no grid 29.5 megabytes, 7 maps.
Examples of some of the maps in these zip files.
Column 6
36. marsh area with a dirt ridge, and some plants growing on a rock.
37. table with 2 skeletons, a yellow dirt path, cacti, rock piles, small bushes
38. 2 pergole, wide yellow dirt path, rock pile, cactus, several large bushes
39. 2 paths, 2 pergole, small and large bushes, a tree stump.
40. ruined small house, 2 dirt paths, 2 box remnants, broken stone structure, 2 rock piles, large and small bushes
41. skeleton pile next to a pergole and a broken wood box, smal ruined building, 3 dirt paths, small to medium buses, cactus, rock pile
42. lots of cactus, 2 open pits, 2 broken dirt paths, a few bushes.
7 maps, jpg, 5’ grid 4 megabytes, 7 maps.
7 maps, jpg 3.8 megabytes, 7 maps.
7 maps, png, 5’ grid 30.7 megabytes, 7 maps.
7 maps, png 29.6 megabytes, 7 maps.
Examples of some of the maps in these zip files.
I left out anything I felt was copyrighted.
‘ Experience points program CLEAR ,150000, 20000
‘ X = 0 : xpgp.all.get$ = “FALSE” : xpgp.all = 0
‘ setup of experience points tables
‘ DIM fighter&(23), thief&(23), magicuser&(23), cleric&(23), illusionist&(23), ranger&(23), paladin&(23) DIM druid&(23), monk&(23), bard&(23), barbarian&(23), cavalier&(23), minstrel&(23), thiefacr&(18) DIM CHINGRP$(150)
‘
‘ barbarian experience points
‘
‘ data goes here as array assignments‘
‘ bard experience points
‘
‘ data goes here‘
‘ cavalier experience points
‘
‘ data goes here‘
‘ cleric experience points
‘
‘ data goes here‘
‘ druid experience points
‘
‘ data goes here‘
‘ fighter experience points
‘
‘ data goes here‘
‘ illusionist experience points
‘
‘ data goes here‘
‘ magicuser experience points
‘
‘ data goes here‘
‘ monk experience points
‘
‘ data goes here‘
‘ paladin experience points
‘
‘ data goes here‘
‘ ranger experience points
‘
‘ data goes here‘
‘ thief experience points
‘
‘ data goes here‘
‘ minstrel experience points
‘
‘ data goes here‘
‘ thief acrobat experience points
‘
‘ data goes here‘
‘
‘ initialization of variables
‘
7000 total.silver = 0 : total.electrum = 0 : total.gold = 0 total.platinum = 0 : total.gem = 0 : total.jewelry = 0 misc.item.gp = 0 : total.copper = 0 : sold.magic.gp = 0 gem.eval = 0 : jewel.charges = 0 : jewel.eval = 0
‘ misc.item.charges = 0 : misc.item.eval = 0 : total.charges = 0 gem.charges = 0 : number.in.group = 1 : WW = 100
‘ charge.per.char = 0 : EW = 0 : total.xpgp = 0 : character.name$ = ““ char.class.1$ = “” : char.class.2$ = “” : char.class.3$ = “” class.1.bonus = 0 : class.2.bonus = 0 : class.3.bonus = 0
‘ total.xp.1 = 0 : total.xp.2 = 0 : total.xp.3 = 0
‘ total.magicxp.13 = 0 : total.xp.magic.123 = 0 : total.magicxp.23 = 0 total.magicxp.1 = 0 : total.magicxp.2 = 0 : total.magicxp.3 = 0 total.monster.xp = 0 : total.xpgp.1 = 0 : total.xpgp.2 = 0 total.magicxp.12 = 0 : total.xpgp.3 = 0 : total.xpgp.12 = 0 BP = 0 : total.sold.magic.gp = 0 : EY = 0 total.xpgp.123 = 0 : total.xpgp.23 = 0
‘ L$ = “ Magic Item XPs (0=continue)” : M$ = “ Total Magic XPs for “
‘ tot.a = 0 : tot.b = 0 : tot.c = 0 : tot.d = 0 : tot.e = 0 tot.f = 0 : tot.g = 0 : tot.h = 0 : tot.i = 0 : tot.j = 0
‘ next.xp.11 = 0 : next.xp.12 = 0 : next.xp.21 = 0 : NN$ = “” next.xp.22 = 0 : next.xp.31 = 0 : next.xp.32 = 0
‘ total.magic.gp = 0 : group.number = 0 GOTO 10860
‘
group: CLS : PRINT “ Enter number of group.” INPUT group.number RETURN
‘
all.get: CLS : PRINT : PRINT “Does all of this group get the same XPGP amount ?” INPUT all.xpgp$ IF UCASE$(all.xpgp$) = “Y” OR UCASE$(all.xpgp$) = “YES” THEN xpgp.all.get$ = “TRUE” PRINT : PRINT “Enter XPGP all of group gets.” : INPUT xpgp.all END IF
RETURN
‘
divide.it: CLS: PRINT: PRINT “ Divide two numbers.” : PRINT PRINT “enter first number of first / second.” : INPUT tot.a PRINT “Enter second number of first / second.” : INPUT tot.b PRINT: PRINT “first / second = “;tot.a/tot.b PRINT “ Pressto continue.” : INPUT echi$
RETURN
‘
multiply.it: CLS: PRINT: PRINT “ Multiply two numbers.” : PRINT PRINT “enter first number of first * second.” : INPUT tot.c PRINT “Enter second number of first * second.” : INPUT tot.d PRINT: PRINT “first * second = “;tot.c*tot.d PRINT “ Pressto continue.” : INPUT echi$
RETURN
‘
add.it: CLS: PRINT: PRINT “ Add two numbers.” : PRINT PRINT “enter first number of first + second.” : INPUT tot.e PRINT “Enter second number of first + second.” : INPUT tot.f PRINT: PRINT “first + second = “;tot.e+tot.f PRINT “ Pressto continue.” : INPUT echi$
RETURN
‘
add.multiple.it: CLS : PRINT : PRINT “Totalizer for a string of numbers.” PRINT “ Total = “; tot.g PRINT “ “;tot.h; “ (Just entered)” INPUT tot.h IF tot.h = 0 THEN RETURN tot.i = tot.h + tot.g : tot.g = tot.i : GOTO add.multiple.it
‘
list.it: PRINT : PRINT “LIST of characters.” FOR ggr = 1 TO 150 IF CHINGRP$(ggr) <> “” THEN PRINT ggr;”) “; CHINGRP$(ggr) END IF NEXT ggr PRINT : INPUT “ Pressfor Main Menu”; N$ : RETURN
RETURN
‘
redo.1: this.and.old.1 = total.xp.1 + old.1 level.next.11 = next.xp.11 – this.and.old.1 level.next.12 = next.xp.12 – this.and.old.1
RETURN
‘
redo.2: this.and.old.2 = total.xp.2 + old.2 level.next.21 = next.xp.21 – this.and.old.2 level.next.22 = next.xp.22 – this.and.old.2
RETURN
‘
redo.3: this.and.old.3 = total.xp.3 + old.3 level.next.31 = next.xp.31 – this.and.old.3 level.next.32 = next.xp.32 – this.and.old.3
RETURN
‘
enter.class: PRINT : PRINT “Pick the character class by typing the number in front of it.” PRINT : PRINT “ 1 Barbarian 2 Bard” PRINT “ 3 Cavalier 4 Cleric” PRINT “ 5 Druid 6 Fighter” PRINT “ 7 Illusionist 8 M-U” PRINT “ 9 Monk 10 Paladin” PRINT “11 Ranger 12 Thief” PRINT “13 Thief-Acrobat ( 6-23 )” INPUT samename
‘ IF samename = 1 THEN george$ = “Barbarian” ELSEIF samename = 2 THEN george$ = “Bard” ELSEIF samename = 3 THEN george$ = “Cavalier” ELSEIF samename = 4 THEN george$ = “Cleric” ELSEIF samename = 5 THEN george$ = “Druid” ELSEIF samename = 6 THEN george$ = “Fighter” ELSEIF samename = 7 THEN george$ = “Illusionist” ELSEIF samename = 8 THEN george$ = “M-U” ELSEIF samename = 9 THEN george$ = “Monk” ELSEIF samename = 10 THEN george$ = “Paladin” ELSEIF samename = 11 THEN george$ = “Ranger” ELSEIF samename = 12 THEN george$ = “Thief” ELSEIF samename = 13 THEN george$ = “Thief-Acrobat” END IF
RETURN
‘
‘ original group
CHART1:
‘
FOR J = 1 TO 16 CLS : PRINT “Enter names of characters and the players playing them in the adventure group. ( 1-15)” PRINT “In the form character name and classes ][ player name” PRINT : PRINT “Use any punctuation except double quotes !” PRINT : PRINT “Type QUIT or Q when finished.” PRINT : PRINT “Name; class & level/class & level/class & level” PRINT “ number just entered… “; J – 1 INPUT CHINGRP$(J)
‘ IF UCASE$(CHINGRP$(J)) = “QUIT” OR UCASE$(CHINGRP$(J)) = “Q” THEN PRINT “ 1. view list of starting characters.” PRINT “ 2. print list of starting characters.” PRINT “ [ printer nedds to be on.]” PRINT “ 3. just go back to main menu without printout or viewing.” INPUT GHD
‘ IF GHD = 1 THEN ‘ screen list J3 = J : J = 50 PRINT : PRINT TAB;“Starting Character list.” PRINT “ Dungeon/adventure name = “;name.of.dungeon$ PRINT “ Game Date = “; game.date$ : PRINT
‘ FOR L = 1 TO J3-1 IF CHINGRP$(L) <> “QUIT” OR CHINGRP$(L) <> “Q” THEN PRINT L;”) “;CHINGRP$(L) END IF NEXT L
‘ ELSEIF GHD = 2 THEN ‘ dump to disk J3 = J : J = 50 OPEN “A”,#5,“df2:starting.characters” PRINT #5, “ “ PRINT #5, TAB;“Starting Character list.” PRINT #5, “ Dungeon/adventure name = “;name.of.dungeon$ PRINT #5, “ Game Date = “; game.date$ PRINT #5, “ group number = “;group.number PRINT #5, “ “
‘ FOR L = 1 TO J3-1 IF CHINGRP$(L) <> “QUIT” OR CHINGRP$(L) <> “Q” THEN PRINT #5, L;”) “;CHINGRP$(L) END IF NEXT L CLOSE #5 ELSEIF GHD = 3 THEN RETURN END IF END IF
NEXT J
‘
PRINT : INPUT “ Pressfor Main Menu”; N$
RETURN‘ inactivating characters
CHART2: CLS : PRINT “Inactivating characters input.” PRINT “ Dungeon/adventure name = “;name.of.dungeon$ PRINT “ Game Date = “; game.date$ : PRINT
‘ FOR J3 = 1 TO 15 FOR LA = 1 TO 15 IF CHINGRP$(LA) <> “QUIT” OR CHINGRP$(LA) <> “Q” THEN PRINT LA;”) “;CHINGRP$(LA) END IF NEXT LA
‘ PRINT : PRINT “Number of character to inactivate ? (Q = Quit) “ INPUT, (LZZ)
‘ IF UCASE$(CHINGRP$(LZZ)) <> “Q” OR UCASE$(CHINGRP$(LZZ)) <> “QUIT” THEN CHINGRP$(LZZ+45) = CHINGRP$(LZZ) END IF
‘ IF UCASE$(CHINGRP$(L)) = “Q” OR UCASE$(CHINGRP$(L)) = “QUIT” THEN J4 = L
‘ PRINT “ 1. view list of inactivating characters.” PRINT “ 2. dump list to disk of inactivating characters.” PRINT “ 3. just go back to main menu without printout or viewing.” INPUT, GHD
‘ IF GHD = 1 THEN ‘ screen list J3 = J : J = 50 ELSEIF GHD = 2 THEN ‘ dump to disk J3 = J : J = 50 OPEN “A”,#5,“df2:inactivate.characters” PRINT #5, “ “ PRINT #5, TAB;“Inactivating character list.” PRINT #5, “ Dungeon/adventure name = “;name.of.dungeon$ PRINT #5, “ Game Date = “; game.date$ PRINT #5, “ “
‘ FOR MA = WW TO J4 IF UCASE$(CHINGRP$(MA)) <> “QUIT” OR UCASE$(CHINGRP$(MA)) <> “Q” THEN PRINT #5, MA;”) “;CHINGRP$(MA) END IF NEXT MA CLOSE #5
‘ END IF ELSEIF GHD = 3 THEN RETURN END IF
‘ CLS NEXT LZZ
PRINT : INPUT “ Pressfor Main Menu”; N$
RETURN‘ activating characters
CHART3: CLS : PRINT “ACTIVATING characters input” PRINT : INPUT “HAVE YOU DONE THIS EARLIER ON this ADVENTURE ? (Y/N) “,BB$
‘ IF UCASE$(BB$) = “YES” OR UCASE$(BB$) = “Y” THEN WW = J5 + 1 : WX = J5 + 16 ELSE WW = J4 + 1 : WX = J4 + 16 END IF
‘ FOR L = WW TO WX PRINT : PRINT “Name of the new character ? (Q = quit) “ PRINT “ new characters = “; L-1 INPUT CHINGRP$(L)
‘ IF UCASE$(CHINGRP$(L)) = “Q” OR UCASE$(CHINGRP$(L)) = “QUIT” THEN J5 = L : L = WX + 1
‘ PRINT “ 1. view activating character list.” PRINT “ 2. dump list to disk of activating character list.” PRINT “ 3. just go to main menu without viewing or printout.” INPUT GHS
‘ IF GHS = 1 THEN PRINT TAB;“ACTIVATING characters.” PRINT “ Dungeon/adventure name = “;name.of.dungeon$ PRINT “ Game Date = “; game.date$ : PRINT
‘ END IF FOR MA = WW TO J5 IF CHINGRP$(MA) <> “Q” OR CHINGRP$(MA) <> “QUIT” THEN PRINT #5, MA;”) “; CHINGRP$(MA) END IF NEXT MA ELSEIF GHS = 2 THEN OPEN “A”,#5,“df2:activate.characters” PRINT #5, “ “ PRINT #5, TAB;“ACTIVATING characters.” PRINT #5, “ Dungeon/adventure name = “;name.of.dungeon$ PRINT #5, “ Game Date = “; game.date$
‘ FOR MA = WW TO J5 IF CHNIGRP$(MA) <> “Q” OR CHINGRP$(MA) <> “QUIT” THEN PRINT #5, MA;”) “; CHINGRP$(MA) END IF NEXT MA CLOSE #5 ELSEIF GHS = 3 THEN RETURN END IF
‘ NEXT L
‘
PRINT : INPUT “ Pressfor Main Menu”; N$
RETURN
‘
‘ adventure group character list menu
CHARTMENU:
CLS : PRINT PRINT “Type the number desired and press“ : PRINT PRINT “1. original group list input” : PRINT PRINT “2. inactivating characters list input” : PRINT PRINT “3. activating characters list input” : PRINT PRINT “4. Not needed after all.” INPUT B%
‘ IF B% < 1 OR B% > 4 GOTO CHARTMENU ON B% GOSUB CHART1,CHART2,CHART3, RETURN RETURN
‘
PRINT : PRINT “1. Dice Generator”
‘
‘ Dice Program
50 RANDOMIZE TIMER CLS : C# = 0 : CB# = 0 : GG& = 0 PRINT “ DICE GENERTOR [Maximum number of sides is 1 million]” PRINT ,,” [ (1 × 10+6) minimum is 1 ].” PRINT : PRINT “ HOW MANY SIDES?” INPUT AR#
‘ IF AR# > 1000000# THEN PRINT “ Too many sides. 1 million maximum.” FOR k = 1 TO 32765 : NEXT k END IF
‘ IF AR# < 1 OR AR# > 1000000# GOTO 50
‘ PRINT : INPUT “ Number of Dice ? “,BE# PRINT : INPUT “ Adds per die ? “,APD# PRINT : INPUT “ Adds for all dice ? “,AFAD# CLS : PRINT
‘ WHILE (C# <> BE# OR C# < BE#) H# = INT + 1 + APD# PRINT H#;”+”; GG& = GG& + 1
‘ IF (GG& >= 19 AND AR# >= 1 AND AR# < 10) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 15 AND AR# >= 10 AND AR# < 100) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 12 AND AR# >= 100 AND AR# < 1000) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 10 AND AR# >= 1000 AND AR# < 10000) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 9 AND AR# >= 10000 AND AR# < 100000#) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 9 AND AR# >= 100000# AND AR# < 1000000# ) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 7 AND AR# = 1000000#) THEN PRINT : PRINT : GG& = 0 END IF
‘ C# = C# +1# : CB# = CB# + H# WEND
‘ CB# = CB# + AFAD# : PRINT : PRINT
‘ PRINT “ Total Roll =”;CB#;” ON “;BE#;“d”;AR# : PRINT PRINT “+”;APD#;” adds per die +”;AFAD#;” add for all dice” : PRINT INPUT “ Finished with the dice generator (y/n)? “,A$ IF UCASE$(A$) = “YES” OR UCASE$(A$) = “Y” THEN RETURN GOTO 50
‘
‘
19009 CLS PRINT : INPUT “ What is the name of this dungeon/adventure “; name.of.dungeon$ PRINT PRINT : INPUT “ Enter the Game date of this groups adventure “; game.date$
RETURN
‘
barbarian.class:
‘
‘ a series of nested if then goes hereRETURN
‘
‘
bard.class:
‘
‘ a series of nested if then goes hereRETURN
‘
cavalier.class:
‘
‘ a series of nested if then goes hereRETURN
‘
cleric.class:
‘
‘ a series of nested if then goes hereRETURN
‘
druid.class:
‘
‘ a series of nested if then goes hereRETURN
‘
fighter.class:
‘
‘ a series of nested if then goes hereRETURN
‘
‘
illusionist.class:
‘
‘ a series of nested if then goes hereRETURN
‘
magicuser.class:
‘
‘ a series of nested if then goes hereRETURN
‘
minstrel.class:
‘
‘ a series of nested if then goes hereRETURN
‘
‘
monk.class:
‘
‘ a series of nested if then goes hereRETURN
‘
paladin.class:
‘
‘ a series of nested if then goes hereRETURN
‘
ranger.class:
‘
‘ a series of nested if then goes hereRETURN
‘
‘
thief.class:
‘
‘ a series of nested if then goes hereRETURN
‘
thief.acrobat.class:
‘
‘ a series of nested if then goes hereRETURN
‘
Get.Any.Magic: INPUT “ Does this character get any magic item XPs ?”; ZZ$
RETURN
‘
‘
Part.1:
‘ class.lev = class.lev.1
‘ IF UCASE$(char.class.1$) = “FIGHTER” THEN GOSUB fighter.class ELSEIF UCASE$(char.class.1$) = “THIEF” THEN GOSUB thief.class ELSEIF UCASE$(char.class.1$) = “M-U” THEN GOSUB magicuser.class ELSEIF UCASE$(char.class.1$) = “CLERIC” THEN GOSUB cleric.class ELSEIF UCASE$(char.class.1$) = “ILLUSIONIST” THEN GOSUB illusionist.class ELSEIF UCASE$(char.class.1$) = “RANGER” THEN GOSUB ranger.class ELSEIF UCASE$(char.class.1$) = “PALADIN” THEN GOSUB paladin.class ELSEIF UCASE$(char.class.1$) = “DRUID” THEN GOSUB druid.class ELSEIF UCASE$(char.class.1$) = “MONK” THEN GOSUB monk.class ELSEIF UCASE$(char.class.1$) = “BARD” THEN GOSUB bard.class ELSEIF UCASE$(char.class.1$) = “BARBARIAN” THEN GOSUB barbarian.class ELSEIF UCASE$(char.class.1$) = “CAVALIER” THEN GOSUB cavalier.class ELSEIF UCASE$(char.class.1$) = “MINSTREL” THEN GOSUB minstrel.class ELSEIF UCASE$(char.class.1$) = “THIEF-ACROBAT” THEN GOSUB thief.acrobat.class END IF
‘
RETURN
‘
Part.2:
‘ class.lev = class.lev.2
‘ IF UCASE$(char.class.2$) = “FIGHTER” THEN GOSUB fighter.class ELSEIF UCASE$(char.class.2$) = “THIEF” THEN GOSUB thief.class ELSEIF UCASE$(char.class.2$) = “M-U” THEN GOSUB magicuser.class ELSEIF UCASE$(char.class.2$) = “CLERIC” THEN GOSUB cleric.class ELSEIF UCASE$(char.class.2$) = “ILLUSIONIST” THEN GOSUB illusionist.class ELSEIF UCASE$(char.class.2$) = “RANGER” THEN GOSUB ranger.class ELSEIF UCASE$(char.class.2$) = “PALADIN” THEN GOSUB paladin.class ELSEIF UCASE$(char.class.2$) = “DRUID” THEN GOSUB druid.class ELSEIF UCASE$(char.class.2$) = “MONK” THEN GOSUB monk.class ELSEIF UCASE$(char.class.2$) = “BARD” THEN GOSUB bard.class ELSEIF UCASE$(char.class.2$) = “BARBARIAN” THEN GOSUB barbarian.class ELSEIF UCASE$(char.class.2$) = “CAVALIER” THEN GOSUB cavalier.class ELSEIF UCASE$(char.class.2$) = “MINSTREL” THEN GOSUB minstrel.class ELSEIF UCASE$(char.class.1$) = “THIEF-ACROBAT” THEN GOSUB thief.acrobat.class END IF
‘
RETURN
‘
Part.3:
‘ class.lev = class.lev.3
‘ IF UCASE$(char.class.3$) = “FIGHTER” THEN GOSUB fighter.class ELSEIF UCASE$(char.class.3$) = “THIEF” THEN GOSUB thief.class ELSEIF UCASE$(char.class.3$) = “M-U” THEN GOSUB magicuser.class ELSEIF UCASE$(char.class.3$) = “ILLUSIONIST” THEN GOSUB illusionist.class ELSEIF UCASE$(char.class.3$) = “RANGER” THEN GOSUB ranger.class ELSEIF UCASE$(char.class.3$) = “PALADIN” THEN GOSUB paladin.class ELSEIF UCASE$(char.class.3$) = “DRUID” THEN GOSUB druid.class ELSEIF UCASE$(char.class.3$) = “MONK” THEN GOSUB monk.class ELSEIF UCASE$(char.class.3$) = “BARD” THEN GOSUB bard.class ELSEIF UCASE$(char.class.3$) = “BARBARIAN” THEN GOSUB barbarian.class ELSEIF UCASE$(char.class.3$) = “CAVALIER” THEN GOSUB cavalier.class ELSEIF UCASE$(char.class.3$) = “MINSTREL” THEN GOSUB minstrel.class ELSEIF UCASE$(char.class.1$) = “THIEF-ACROBAT” THEN GOSUB thief.acrobat.class END IF
‘
RETURN
‘
‘ magic item totalizer for one class
‘
7885 CLS : GOSUB 7160 : PRINT “ Input “; L$ PRINT “ Total = “; total.magicxp.1; M$; char.class.1$ PRINT “ “;BC; “ (Just entered)” INPUT BC IF BC = 0 THEN RETURN CBB = BC + total.magicxp.1 : total.magicxp.1 = CBB : GOTO 7885
‘
‘ magic item totalizer for second class
‘
8260 CLS : GOSUB 7160 : PRINT “ Input “; L$ PRINT “ Total = “; total.magicxp.2; M$; char.class.2$ PRINT “ “; PL; “ (Just entered)” INPUT PL IF PL = 0 THEN RETURN PD = PL + total.magicxp.2 : total.magicxp.2 = PD : GOTO 8260
‘
‘ magic item totalizer for third character class
‘
9180 CLS : GOSUB 7160 : PRINT “ Input “; L$ PRINT “ Total = “; total.magicxp.3; M$; char.class.3$ PRINT “ “; PN; “ (Just entered )” INPUT PN IF PN = 0 THEN RETURN EA = PN + total.magicxp.3 : total.magicxp.3 = EA : GOTO 9180
‘
‘ magic item totalizer for 1st and 2nd character classes
‘
8360 CLS : GOSUB 7160 : PRINT “ Input “; L$ PRINT “ Total = “; total.magicxp.12; M$; char.class.1$;”/”;char.class.2$ PRINT “ “; PM; “ (Just entered)” INPUT PM IF PM = 0 THEN RETURN AW = PM + total.magicxp.12 : total.magicxp.12 = AW : GOTO 8360
‘
‘ magic item totalizer for first and third character classes
‘
9380 CLS : GOSUB 7160 : PRINT “ Input “; L$ PRINT “ Total = “; total.magicxp.13; M$; char.class.1$;”/”;char.class.3$ PRINT “ “; BK; “ (Just entered)” INPUT BK IF BK = 0 THEN RETURN EE = BK + total.magicxp.13 : total.magicxp.13 = EE : GOTO 9380
‘
‘ magic item totalizer for second and third character classes
‘
9280 CLS : GOSUB 7160 : PRINT “ Input “; L$ PRINT “ Total = “; total.magicxp.23; M$; char.class.2$;”/”;char.class.3$ PRINT “ “; BJ; “ (Just entered)” INPUT BJ IF BJ = 0 THEN RETURN EC = BJ + total.magicxp.23 : total.magicxp.23 = EC : GOTO 9280
‘
‘ magic item totalizer for first, second, and third character classes
‘
9480 CLS : GOSUB 7160 : PRINT “ Input “; L$ PRINT “ Total = “; total.magicxp.123; M$; char.class.1$;”/”;char.class.2$;”/”;char.class.3$ PRINT “ “; BL; “ (Just entered)” INPUT BL IF BL = 0 THEN RETURN EG = BL + total.magicxp.123 : total.magicxp.123 = EG : GOTO 9480
‘
‘ enter old.1 xp total
‘
old.1.enter: PRINT” “; char.class.1$; class.lev.1; “ Old XP total = “ INPUT old.1
RETURN
‘
‘ enter old.2 xp total
‘
old.2.enter: PRINT “ “; char.class.2$; class.lev.2; “ Old XP total = “ INPUT old.2
RETURN
‘
‘ enter old.3 xp total
‘
old.3.enter: PRINT “ “; char.class.3$; class.lev.2; “ Old XP total = “ INPUT old.3
RETURN
‘
‘
‘ screen output for first
‘
first.out: PRINT char.class.1$; “ class level “;class.lev.1 PRINT “ This adventure XPs = “; total.xp.1 PRINT “ Old total = “; old.1; “ new total = “; this.and.old.1
‘ IF level.next.11 > 0 THEN PRINT “ XPs needed for Level “; class.lev.1+1; “ = “;level.next.11 ELSEIF level.next.11 <= 0 THEN PRINT “ can go up to level “ ; class.lev.1+1; “ !” PRINT “ XPs over for”; class.lev.1+1; “ are = “;level.next.11 END IF
‘ IF level.next.12 > 0 THEN PRINT “ XPs needed for Level “; class.lev.1+2; “ = “;level.next.12 ELSEIF level.next.12 <= 0 THEN PRINT “ can go up to “; class.lev.1+2; “ level !” PRINT “ XPs over for “; class.lev.1+2; “ are = “;level.next.12 END IF
‘ PRINT “—————————————————”
RETURN
‘
‘ screen output for second
‘
second.out: PRINT char.class.2$; “ class level “;class.lev.2 PRINT “ This adventure XPs = “;total.xp.2 PRINT “ Old total = “; old.2; “ new total = “; this.and.old.2
‘ IF level.next.21 > 0 THEN PRINT “ XPs needed for Level “; class.lev.2+1; “ = “;level.next.21 ELSEIF level.next.21 <= 0 THEN PRINT “ can go up to “; class.lev.2+1; “ level !” PRINT “ XPs over for “; class.lev.2+1; “ are = “;level.next.21 END IF
‘ IF level.next.22 > 0 THEN PRINT “ XPs needed for Level “; class.lev.2+2; “ = “;level.next.22 ELSEIF level.next.22 <= 0 THEN PRINT “ can go up to “; class.lev.2+2; “ level !” PRINT “ XPs over for “; class.lev.2+2; “ are = “;level.next.22 END IF
‘ PRINT “—————————————————”
RETURN
‘
‘ screen output for third
‘
third.out: PRINT char.class.3$; “ class level “;class.lev.3 PRINT “ This adventure XPs = “; total.xp.3 PRINT “ Old total = “; old.3; “ new total = “;this.and.old.3
‘ IF level.next.31 > 0 THEN PRINT “ XPs needed for Level “; class.lev.3+1; “ = “;level.next.31 ELSEIF level.next.31 <= 0 THEN PRINT “ can go up to “; class.lev.3+1; “ level !” PRINT “ XPs over “; class.lev.3+1; “ are = “;level.next.31 END IF
‘ IF level.next.32 > 0 THEN PRINT “ XPs needed for Level “; class.lev.3+2; “ = “;level.next.32 ELSEIF level.next.32 <= 0 THEN PRINT “ can go up to “; class.lev.3+2; “ level !” PRINT “ XPs over “; class.lev.3+2; “ are = “;level.next.32 END IF
‘ PRINT “—————————————————”
RETURN
‘
‘ disk output for first
‘
dsk.first.out: OPEN “A”,#2,“df2:palewood.game” PRINT #2, “ “ PRINT #2, “ “ PRINT #2, “ “ PRINT #2, “ “; char.class.1$; “ class level “;class.lev.1 PRINT #2, “ This adventure XPs = “; total.xp.1 PRINT #2, “ Old total = “; old.1; “ new total = “; this.and.old.1
‘ IF level.next.11 > 0 THEN PRINT #2, “ XPs needed for Level “; class.lev.1+1; “ = “;level.next.11 ELSEIF level.next.11 <= 0 THEN PRINT #2, “ can go up to level “ ; class.lev.1+1; “ !” PRINT #2, “ XPs over for”; class.lev.1+1; “ are = “;level.next.11 END IF
‘ IF level.next.12 > 0 THEN PRINT #2, “ XPs needed for Level “; class.lev.1+2; “ = “;level.next.12 ELSEIF level.next.12 <= 0 THEN PRINT #2, “ can go up to “; class.lev.1+2; “ level !” PRINT #2, “ XPs over for “; class.lev.1+2; “ are = “;level.next.12 END IF
‘ PRINT #2, “—————————————————” CLOSE #2
RETURN
‘
‘ disk output for second
‘
dsk.second.out: OPEN “A”,#2,“df2:palewood.game” PRINT #2, “ “ PRINT #2, “ “ PRINT #2, “ “; char.class.2$; “ class level “;class.lev.2 PRINT #2, “ This adventure XPs = “;total.xp.2 PRINT #2, “ Old total = “; old.2; “ new total = “; this.and.old.2
‘ IF level.next.21 > 0 THEN PRINT #2, “ XPs needed for Level “; class.lev.2+1; “ = “;level.next.21 ELSEIF level.next.21 <= 0 THEN PRINT #2, “ can go up to “; class.lev.2+1; “ level !” PRINT #2, “ XPs over for “; class.lev.2+1; “ are = “;level.next.21 END IF
‘ IF level.next.22 > 0 THEN PRINT #2, “ XPs needed for Level “; class.lev.2+2; “ = “;level.next.22 ELSEIF level.next.22 <= 0 THEN PRINT #2, “ can go up to “; class.lev.2+2; “ level !” PRINT #2, “ XPs over for “; class.lev.2+2; “ are = “;level.next.22 END IF
‘ PRINT #2, “—————————————————” CLOSE #2
RETURN
‘
‘ disk output for third
‘
dsk.third.out: OPEN “A”,#2,“df2:palewood.game” PRINT #2, “ “ PRINT #2, “ “ PRINT #2, “ “; char.class.3$; “ class level “;class.lev.3 PRINT #2, “ This adventure XPs = “; total.xp.3 PRINT #2, “ Old total = “; old.3; “ new total = “;this.and.old.3
‘ IF level.next.31 > 0 THEN PRINT #2, “ XPs needed for Level “; class.lev.3+1; “ = “;level.next.31 ELSEIF level.next.31 <= 0 THEN PRINT #2, “ can go up to “; class.lev.3+1; “ level !” PRINT #2, “ XPs over “; class.lev.3+1; “ are = “;level.next.31 END IF
‘ IF level.next.32 > 0 THEN PRINT #2, “ XPs needed for Level “; class.lev.3+2; “ = “;level.next.32 ELSEIF level.next.32 <= 0 THEN PRINT #2, “ can go up to “; class.lev.3+2; “ level !” PRINT #2, “ XPs over “; class.lev.3+2; “ are = “;level.next.32 END IF
‘ PRINT #2, “—————————————————” CLOSE #2
RETURN
‘
‘ character name enter
‘
7145 INPUT “enter character name “; character.name$
7160 CLS : PRINT character.name$ : PRINT : RETURN
‘
‘ bonus XP % enter
‘
7180 PRINT “Input “; char.class.3$; “ Bonus XP decimal % “ INPUT class.3.bonus
‘
7200 PRINT “Input “; char.class.2$; “ Bonus XP decimal % “ INPUT class.2.bonus
‘
7220 PRINT “Input “; char.class.1$; “ Bonus XP decimal % “ INPUT class.1.bonus
‘ ON number.of.classes GOTO 7860, 8160, 8865
‘
7260 CLS : PRINT character.name$ IF number.of.classes = 1 THEN GOTO 7220 IF number.of.classes = 2 THEN GOTO 7200 IF number.of.classes = 3 THEN GOTO 7180 IF number.of.classes < 1 OR number.of.classes > 3 THEN GOTO 10860
‘
‘ convert monster hp to monster xp worth
‘
7360 CLS : PRINT “Monster Name/Type: 5 + 1/HP This 5 = XP/Level”
‘ PRINT “ 1/HP = XP/HP” : INPUT “enter monster name “;Z$ INPUT “ XP per level “; monster.xp.lev
‘ IF monster.xp.lev < 0 OR monster.xp.lev > 1000000& THEN GOTO 7380
‘
7400 INPUT “ XP/HP “; xp.hp : IF xp.hp < 1 OR xp.hp > 100000& THEN GOTO 7400
‘
7420 INPUT “ Monsters HP “;monster.hp : PRINT7440 INPUT “ Number of characters that attacked it “; number.of.char IF number.of.char < 0 OR number.of.char > 18 THEN GOTO 7440
‘ ‘ results with two classes ‘ 9902 CLS GOSUB Part.1 : next.xp.11 = next.xp.1 : next.xp.12 = next.xp.2 GOSUB Part.2 : next.xp.21 = next.xp.1 : next.xp.22 = next.xp.2 GOSUB 7160 ‘ total.xp.1 = total.magicxp.1 + total.xp.1 + total.magicxp.12/2 total.xp.2 = total.magicxp.2 + total.xp.2 + total.magicxp.12/2 ‘ GOSUB redo.1 : GOSUB first.out GOSUB redo.2 : GOSUB second.out ‘ PRINT : INPUT “ Do you want to dump this information to disk ?”; NN$ ‘ IF UCASE$(NN$) = “Y” THEN OPEN “A”,#1,“df2:palewood.game” PRINT #1, character.name$ PRINT #1, “ “ PRINT #1, “ “ GOSUB dsk.first.out : GOSUB dsk.second.out CLOSE #1 END IF ‘ INPUT “ Press
‘
7460 xp.worth = monster.xp.lev + xp.hp * monster.hp : CLS : PRINT PRINT E$ : PRINT xp.worth; “ XPs worth”
‘ IF number.of.char <> 0 THEN PRINT : PRINT USING “#####.##”; xp.worth/number.of.char; END IF
‘ PRINT” XPs/Character of “; number.of.char; “ Character(s)” : PRINT PRINT “ 1. Repeat with same monster type (Different HPs)” PRINT “ 2. Main Menu” PRINT “ 3. another monster type “ INPUT BY
‘ IF BY < 1 OR BY > 3 THEN GOTO 7460 IF BY = 3 THEN GOTO 7360 IF BY = 2 THEN RETURN IF BY = 1 THEN GOTO 7420
‘
‘ character’s share of monster xp worth
‘
7580 CLS : PRINT “ Enter “; character.name$; “s Share of each monster XPs” PRINT boing; “ (Just entered)” : PRINT total.monster.xp; “ Total” INPUT boing : IF boing = 0 THEN GOTO 7720
‘ PRINT : PRINT “Combat Difficulty % Input decimal number only “ PRINT “ from chart on page 84 of DMG.” PRINT “If a loss, use negative decimal percent enter” INPUT diff.percent : EX = diff.percent * boing + boing total.monster.xp = total.monster.xp + EX : EX = 0 : GOTO 7580
‘
‘ a Character’s XPGP share
‘
7720 ‘IF xpgp.all.get$ = “TRUE” THEN ‘ total.xpgp = xpgp.all ‘ELSE PRINT PRINT character.name$; “s share of XPGP is equal to (0 to continue)” PRINT presto;” (Just entered)” : PRINT total.xpgp; “ Total” INPUT presto : IF presto = 0 THEN GOTO 7260 EY = presto + total.xpgp : total.xpgp = EY : GOTO 7720 ‘END IF
GOTO 7260
‘
‘ start/enter for one character class
‘
7800 CLS : PRINT “ One Character Class ? (Y/N)” : INPUT F$ IF UCASE$(F$) = “N” THEN RETURN OPEN “A”,#2,“df2:palewood.game” PRINT #2, “ “ PRINT #2, “=============================================== ] ] ] ] ]” PRINT #2, “ “ CLOSE #2 CLS : GOSUB 7145 : PRINT “ Character class ?” : GOSUB enter.class char.class.1$ = george$ INPUT “ class level “;class.lev.1 : GOSUB old.1.enter number.of.classes = 1 : GOTO 7580
7860 CLS : EZ1 = total.monster.xp + total.xpgp total.xp.1 = EZ1 * class.1.bonus + EZ1
‘
‘ magic item totalizer for first class
‘
GOSUB Get.Any.Magic
‘
IF UCASE$(ZZ$) = “N” THEN GOTO 9901
END IF
‘
GOSUB 7885
‘
‘ results for one character class
‘
9901 CLS GOSUB Part.1 : next.xp.11 = next.xp.1 : next.xp.12 = next.xp.2 GOSUB 7160 total.xp.1 = total.magicxp.1 + total.xp.1 GOSUB redo.1 : GOSUB first.out
‘ PRINT : INPUT “ Do you want to dump this information to disk ?”; NN$
‘ IF UCASE$(NN$) = “Y” THEN OPEN “A”,#1,“df2:palewood.game” PRINT #1, character.name$ PRINT #1, “ “ PRINT #1, “ “ GOSUB dsk.first.out CLOSE #1 END IF
‘ PRINT : INPUT “ Pressfor Main Menu”; N$ : RETURN
‘
‘ start/enter for two character classes
‘
8120 CLS : PRINT “ Two Character classes ? (Y/N) “ : INPUT F$ IF UCASE$(F$) = “N” THEN RETURN
‘ OPEN “A”,#2,“df2:palewood.game” PRINT #2, “ “ PRINT #2, “=============================================== ] ] ] ] ]” PRINT #2, “ “ CLOSE #2 CLS : GOSUB 7145 : PRINT “Class 1 of 2 ?” : GOSUB enter.class char.class.1$ = george$ INPUT “ class level “;class.lev.1 : GOSUB old.1.enter
‘ PRINT “Class 2 of 2 ?” : GOSUB enter.class : char.class.2$ = george$ INPUT “ class level “;class.lev.2 : GOSUB old.2.enter number.of.classes = 2 : GOTO 7580
‘
8160 CLS : EZ2 = (total.monster.xp + total.xpgp)/2 total.xp.2 = EZ2 * class.2.bonus + EZ2 total.xp.1 = EZ2 * class.1.bonus + EZ2
‘
GOSUB Get.Any.Magic
‘
IF UCASE$(ZZ$) = “N” THEN GOTO 9902
END IF
‘
9922 CLS : PRINT : PRINT “Which class/combinations get magic item XPs ? “
PRINT : PRINT “ 1. “;char.class.1$” only.”
PRINT : PRINT “ 2. “;char.class.2$” only.”
PRINT : PRINT “ 3. “;char.class.1$” and “; char.class.2$; “.”
PRINT : PRINT “ 4. done”
INPUT GGZ
‘
IF GGZ = 1 THEN GOSUB 7885
ELSEIF GGZ = 2 THEN GOSUB 8260
ELSEIF GGZ = 3 THEN GOSUB 8360
END IF
‘
IF GGZ <> 4 THEN GOTO 9922
IF GGZ < 1 OR GGZ > 4 THEN GOTO 9922for Main Menu”; N$ : RETURN ‘ ‘ start/enter for three character classes ‘ 8840 CLS : PRINT” Three Character classes ? (Y/N) “ : INPUT F$ IF UCASE$(F$) = “N” THEN RETURN ‘ OPEN “A”,#2,“df2:palewood.game” PRINT #2, “ “ PRINT #2, “=============================================== ] ] ] ] ]” PRINT #2, “ “ CLOSE #2 CLS : GOSUB 7145 : PRINT “ Class 1 of 3 ?” : GOSUB enter.class char.class.1$ = george$ INPUT “ class level “;class.lev.1 : GOSUB old.1.enter ‘ PRINT “ Class 2 of 3 ?” : GOSUB enter.class : char.class.2$ = george$ INPUT “ class level “;class.lev.2 : GOSUB old.2.enter ‘ PRINT “ Class 3 of 3 ?” : GOSUB enter.class : char.class.3$=george$ INPUT “ class level “;class.lev.3 : GOSUB old.3.enter ‘ PRINT : number.of.classes = 3 : GOTO 7580 ‘ 8865 CLS : EZ3 = (total.monster.xp + total.xpgp)/3 total.xp.3 = EZ3 * class.3.bonus + EZ3 total.xp.2 = EZ3 * class.2.bonus + EZ3 total.xp.1 = EZ3 * class.1.bonus + EZ3 ‘ GOSUB Get.Any.Magic IF UCASE$(ZZ$) = “N” THEN GOTO 9903 END IF ‘ 9933 CLS : PRINT : PRINT “Which class/combinations get magic item XPs ? “ PRINT : PRINT “ 1. “;char.class.1$;” only.” PRINT “ 2. “;char.class.2$;” only.” PRINT “ 3. “;char.class.3$;” only.” PRINT : PRINT “ 4. “;char.class.1$;” and “; char.class.2$; “ .” PRINT : PRINT “ 5. “;char.class.1$;” and “; char.class.3$; “ .” PRINT : PRINT “ 6. “;char.class.2$ ;” and “; char.class.3$; “ .” : PRINT PRINT “ 7. “;char.class.1$”, “; char.class.2$; “, and “; char.class.3$; “.” PRINT : PRINT “ 8. done” INPUT GGZ ‘ IF GGZ = 1 THEN GOSUB 7885 ELSEIF GGZ = 2 THEN GOSUB 8260 ELSEIF GGZ = 3 THEN GOSUB 9180 ELSEIF GGZ = 4 THEN GOSUB 8360 ELSEIF GGZ = 5 THEN GOSUB 9380 ELSEIF GGZ = 6 THEN GOSUB 9280 ELSEIF GGZ = 7 THEN GOSUB 9480 END IF ‘ IF GGZ <> 8 THEN GOTO 9933 IF GGZ < 1 OR GGZ > 8 THEN GOTO 9933 ‘ ‘ results for three character classes ‘ 9903 CLS : GOSUB 7160 ‘ total.xp.1 = total.magicxp.1 + total.xp.1 + total.magicxp.123/3 + total.magicxp.13/2 + total.magicxp.12/2 total.xp.2 = total.magicxp.2 + total.xp.2 + total.magicxp.123/3 + total.magicxp.23/2 + total.magicxp.12/2 total.xp.3 = total.magicxp.3 + total.xp.3 + total.magicxp.123/3 + total.magicxp.13/2 + total.magicxp.23/2 ‘ GOSUB Part.1 : next.xp.11 = next.xp.1 : next.xp.12 = next.xp.2 GOSUB Part.2 : next.xp.21 = next.xp.1 : next.xp.22 = next.xp.2 GOSUB Part.3 : next.xp.31 = next.xp.1 : next.xp.32 = next.xp.2 ‘ ‘ output for all three character classes ‘ GOSUB redo.1 : GOSUB first.out : GOSUB redo.2 : GOSUB second.out GOSUB redo.3 : GOSUB third.out ‘ ‘ PRINT : INPUT “ Do you want to print this information out ?”; NN$ ‘ PRINT : INPUT “ Do you want to dump this information to disk ?”; NN$ ‘ IF UCASE$(NN$) = “Y” THEN OPEN “A”,#1,“df2:palewood.game” PRINT #1, character.name$ PRINT #1, “ “ PRINT #1, “ “ GOSUB dsk.first.out : GOSUB dsk.second.out : GOSUB dsk.third.out CLOSE #1 END IF ‘ PRINT : INPUT “ Press for Main Menu”; N$ : RETURN ‘ ‘ Money enter to money menu ‘ 10060 INPUT “ copper pieces “;CB : PRINT CB; “ (Just entered)” PRINT total.copper; “ total copper pieces” IF CB = 0 THEN RETURN CC = CB + total.copper : total.copper = CC : GOTO 10060 ‘ 10100 INPUT “ silver pieces “;CE : PRINT CE; “ (Just entered)” PRINT total.silver; “ total silver pieces” IF CE = 0 THEN RETURN CF = CE + total.silver : total.silver = CF : GOTO 10100 ‘ 10140 INPUT “ electrum pieces “;CI : PRINT CI; “ (Just entered)” PRINT total.electrum; “ total electrum pieces” IF CI = 0 THEN RETURN CJ = CI + total.electrum : total.electrum = CJ : GOTO 10140 ‘ 10180 INPUT “ gold pieces “;CK : PRINT CK; “ (Just entered)” PRINT total.gold; “ total gold pieces” IF CK = 0 THEN RETURN CM = CK + total.gold : total.gold = CM : GOTO 10180 ‘ 10220 INPUT “ platinum pieces “;CP : PRINT CP; “ (Just entered)” PRINT total.platinum; “ total platinum pieces” IF CP = 0 THEN RETURN CQ = CP + total.platinum : total.platinum = CQ : GOTO 10220 ‘ 10260 INPUT “ gem gp value “;CS : PRINT CS; “ (Just entered)” PRINT total.gem; “ total gem gp value” IF CS = 0 THEN RETURN CT = CS + total.gem : total.gem = CT : GOTO 10260 ‘ 10300 INPUT “ Jewelry gp value “;CV : PRINT CV; “ (Just entered)” PRINT total.jewelry; “ total jewelry gp value” IF CV = 0 THEN RETURN CW = CV + total.jewelry : total.jewelry = CW : GOTO 10300 ‘ 10340 INPUT “ miscellaneous item gp value “;DH : PRINT DH; “ (Just entered)” PRINT misc.item.gp; “ miscellaneous item gp value” IF DH = 0 THEN RETURN DB = DH + misc.item.gp : misc.item.gp = DB : GOTO 10340 ‘ 10380 INPUT “ GEM evaluation % ( .25 = 25%) “; gem.eval : RETURN ‘ 10400 INPUT “ Jewelry evaluation % ( .25 = 25% ) “; jewel.eval : RETURN ‘ 10420 INPUT “ Miscellaneous item evaluation % ( .25 = 25%) “; misc.item.eval : RETURN ‘ 10440 INPUT “ Number of party members ? ( 1 thru 15 )”; number.in.group IF number.in.group < 1 OR number.in.group > 15 THEN 10440 RETURN ‘ 10480 PRINT “ XPGP difficulty % ( .45 = 45%) “ : PRINT INPUT “ .1 thru 2 ( .1 = very easy / 2 = very hard “; percent.xpgp.diff IF percent.xpgp.diff < 0 OR percent.xpgp.diff > 2 THEN 10480 RETURN ‘ 10540 INPUT “ Sold magic item gp value “; sold.magic.gp PRINT sold.magic.gp; “ (Just entered )” : PRINT total.sold.magic.gp; “ total “ IF sold.magic.gp = 0 THEN RETURN QB = sold.magic.gp + total.sold.magic.gp : total.sold.magic.gp = QB : GOTO 10540 ‘ ‘ total money screen printout ‘ 10560 total.gp.value = total.copper / 200 + total.silver / 20 + total.electrum / 2 + total.gold + total.platinum*5 + total.gem + total.jewelry + misc.item.gp + total.sold.magic.gp gem.charges = total.gem * gem.eval jewel.charges = total.jewelry*jewel.eval misc.item.charges = misc.item.gp*misc.item.eval total.charges = gem.charges + jewel.charges + misc.item.charges total.gp.left = total.gp.value – total.charges total.xpgp.value = total.gp.value*percent.xpgp.diff xpgp.char = total.xpgp.value/number.in.group gp.value.char = total.gp.left/number.in.group charge.per.char = total.charges/number.in.group ‘ CLS : PRINT “ Adventure/dungeon location = “; name.of.dungeon$; “ Game Date = “; game.date$ PRINT : PRINT USING “########,#.##”; total.gp.value; PRINT “ total gp value” ‘ IF total.gp.value <> total.gp.left OR total.gp.left <> 0 THEN PRINT USING “#######,##.##”; total.gp.left; PRINT “ total gp value after charges” : PRINT END IF ‘ IF number.in.group <> 0 THEN PRINT USING “########,#.##”; total.xpgp.value; PRINT “ total XPGP”, PRINT USING “######,##.##”; xpgp.char; PRINT “ XPGP/character” PRINT USING “######,##.##”; gp.value.char; PRINT “ gp value/character” : PRINT END IF ‘ IF total.gem <> 0 THEN PRINT : PRINT total.gem; “ total Gem gp value “ IF gem.charges <> 0 THEN PRINT USING “####,##.##”; gem.charges; PRINT “ gp charges at “; gem.eval*WW;”%” END IF END IF ‘ IF total.jewelry <> 0 THEN PRINT total.jewelry; “ total Jewelry gp value “ IF jewel.charges <> 0 THEN PRINT USING “#####.##”; jewel.charges; PRINT” gp charges at “; jewel.eval*WW;”%” : PRINT END IF END IF ‘ IF misc.item.gp <> 0 THEN PRINT USING “####,###.##”; misc.item.gp; PRINT “ total Misc. item gp value”; END IF ‘ IF misc.item.charges <> 0 THEN PRINT USING “####,###.##”; misc.item.charges; PRINT “ charges at “misc.item.eval*WW;”%” : PRINT END IF ‘ IF charge.per.char <> 0 THEN PRINT USING “#####,#.##”; charge.per.char; PRINT “ gp Evaluation cost/character” END IF ‘ IF total.sold.magic.gp <> 0 THEN PRINT total.sold.magic.gp; “ sold magic item gp value” END IF ‘ IF percent.xpgp.diff <> 0 THEN PRINT percent.xpgp.diff*WW; “% XPGP difficulty of encounter” END IF ‘ PRINT ‘ IF total.platinum <> 0 THEN PRINT total.platinum; “ PP “; END IF ‘ IF total.gold <> 0 THEN PRINT total.gold; “ GP “; END IF ‘ IF total.electrum <> 0 THEN PRINT total.electrum; “ EP “; END IF ‘ IF total.silver <> 0 THEN PRINT total.silver; “ SP “; END IF ‘ IF total.copper <> 0 THEN PRINT total.copper; “ CP” : PRINT END IF ‘ PRINT PRINT INPUT “ Do you want to save this information to disk ?”; NN$ ‘ ‘ total money print out ‘ IF UCASE$(NN$) = “Y” THEN OPEN “A”,#1,“df2:palewood.xpgp” PRINT #1, “ “ PRINT #1, “ Adventure/dungeon location = “; name.of.dungeon$ PRINT #1, “ Game Date = “; game.date$ PRINT #1, “ Start of group number = “;group.number PRINT #1, “ “ PRINT #1, USING “Total GP Value ########,#.##”; total.gp.value PRINT #1, USING “Total GP Value left after charges = #######,##.##”; total.gp.left PRINT #1, “ “ PRINT #1, USING “########,#.##”; total.xpgp.value; PRINT #1, “ total XPGP “; PRINT #1, USING “######,##.##”; xpgp.char; PRINT #1, “ XPGP/character” PRINT #1, “ “ PRINT #1, USING “######,##.##”; gp.value.char; PRINT #1, “ gp value/character”; PRINT #1, percent.xpgp.diff*WW; “ % XPGP difficulty of encounter” PRINT #1, “ “ ‘ IF total.gem <> 0 THEN PRINT #1, total.gem; “ total Gem gp value “; PRINT #1, USING “####,##.##”; gem.charges; PRINT #1, “ gp charges at “; gem.eval*WW;”%” PRINT #1, “ “ END IF ‘ IF total.jewelry <> 0 THEN PRINT #1, total.jewelry; “ total Jewelry gp value “; PRINT #1, USING “#####.##”; jewel.charges; PRINT #1, “ gp charges at “; jewel.eval*WW;”%” PRINT #1, “ “ END IF ‘ IF misc.item.gp <> 0 THEN PRINT #1, misc.item.gp; “ total Miscellaneous item gp value”; PRINT #1, USING “#######,##.##”; misc.item.charges; PRINT #1, “ charges at “misc.item.eval*WW;”%” PRINT #1, “ “ END IF ‘ IF charge.per.char <> 0 THEN PRINT #1, USING “#####,#.##”; charge.per.char; PRINT #1, “ gp Evaluation cost/character” PRINT #1, “ “ END IF ‘ IF total.sold.magic.gp <> 0 THEN PRINT #1, total.sold.magic.gp; “ sold magic item gp value” PRINT #1, “ “ END IF ‘ IF total.platinum <> 0 THEN PRINT #1, total.platinum; “ Platinum Pieces “; END IF ‘ IF total.gold <> 0 THEN PRINT #1, total.gold; “ Gold Pieces “; END IF ‘ IF total.electrum <> 0 THEN PRINT #1, total.electrum; “ Electrum Pieces “ END IF ‘ IF total.silver <> 0 THEN PRINT #1, total.silver; “ Silver Pieces “; END IF ‘ IF total.copper <> 0 THEN PRINT #1, total.copper; “ Copper Pieces” PRINT #1, “ “ END IF ‘ PRINT #1, “ “ PRINT #1, “ end of group number = “;group.number PRINT #1, “ “ PRINT #1, “ end of adventure/dungeon monies found at/in “; name.of.dungeon$ PRINT #1, “ “ CLOSE #1 END IF ‘ INPUT “ Press for Main Menu”; N$ : RETURN ‘ 10720 CLS : PRINT TAB (15); “ Money menu”;TAB; “Input” : PRINT PRINT “ 1. copper pieces 2. silver pieces” : PRINT PRINT “ 3. electrum pieces 4. gold pieces” PRINT “ 5. platinum pieces 6. gem gp value” : PRINT PRINT “ 7. jewelry gp value 8. misc. gp value” : PRINT PRINT “ 9. gem evaluation % 10. jewelry evaluation %” PRINT “11. misc. evaluation % 12. # of characters” : PRINT PRINT “13. xpgp difficulty 14. sold magic gp” : PRINT PRINT “15. readout of money entered 16. Quit” INPUT “ Enter menu item desired. “; FD : CLS ‘ IF FD < 1 OR FD > 16 THEN 10720 ‘ ON FD GOSUB 10060, 10100, 10140, 10180, 10220, 10260, 10300, 10340, 10380, 10400, 10420, 10440, 10480, 10540, 10560, 10860 ‘ GOTO 10720 ‘ ‘ character experience section main menu ‘ 10860 CLS : PRINT : PRINT, “ Experience Menu” PRINT “ 1. One character class 2. Two character classes” PRINT “ 3. Three character classes “ : PRINT PRINT “ 4. clear variables [ between each character ]” : PRINT PRINT “ 5. Money Menu 6. Monster HP to XP” PRINT “ 7. input name and date of dungeon/adventure !” PRINT “ 8. dice section” PRINT “ 9. starting/inactive/active player characters” PRINT “10. look at list of characters in the file.” PRINT “11. divide two numbers. 12. multiply two numbers.” PRINT “13. add two numbers. 14. total a list of numbers.” PRINT “15. all of the group get the same XPGP ?” PRINT “16. enter group number” : INPUT “17. quit “, AG ‘ IF AG < 1 OR AG > 17 THEN GOTO 10860 IF AG = 4 THEN X = 1 IF AG = 17 THEN END ‘ ON AG GOSUB 7800, 8120, 8840, 7000, 10720, 7360, 19009, 50, CHARTMENU, list.it, divide.it, multiply.it, add.it, add.multiple.it, all.get, group GOTO 10860 END
‘ ‘ This program needs to be: clear ,76800, 10000 ‘ Setup ‘ LM = 366 DIM Mnhr1%(LM),Mnhr2%(LM),Mnmn1%(LM),Mnmn2%(LM),Sunrise$(LM),Sunset$(LM) DIM CHINGRP$(150) DIM CRG$(18) W$ = “ Rise “ : X$ = “ SET “ : ACK$ = “ A.M. “ : PCK$ =” P.M.” ABONUS% = 0 : BBONUS% = 0 ‘ ‘ country inputs FOR CRTS = 1 TO 16 READ CRG$(CRTS) NEXT CRTS ‘ ‘ DATA “Dank Forest”,“Gahstra”,“Grand Isle of Karenth”,“Groz”,“Isle of Fools”,“Land of Strife” ‘ DATA “Land of the Giants”,“Mountains of Fire”,Nalo Island”,“Nomads”,“Noral”,“Plains of Dareth” ‘ DATA “Tanoria”,“Teslarc”,“The Great Open”,“Trillolara” ‘ ‘ CLS:PRINT FOR cvg = 1 TO 16 IF cvg < 10 THEN PRINT “ “;cvg;” ) “;CRG$(cvg) ELSE PRINT cvg;” ) “;CRG$(cvg) END IF NEXT cvg ‘ INPUT “Country number ? “,brill CNTRY$ = CRG$(brill) INPUT “Town where adventure starts ? “,TWN$ ‘ INPUT “Name of the adventure area (dungeon/castle/forest/etc.) ? “,DNGN$ AGE%=11 ‘INPUT “Age (epoch) ? “,AGE% ‘INPUT “Year (maximum depends on epoch) ? “,YEAR% INPUT “Year ? “,YEAR% YR1% = YEAR% : YR2% = YEAR% ‘ INPUT “Month (1 thru 12) ? “,MNTH% INPUT “Year Day (1 thru 366) ? “,YRD% INPUT “Month day (1 thru 30) ? “,MND% INPUT “Hour (24 hour clock) ? “,HR% INPUT “Minutes (0 thru 59) ? “,MIN% INPUT “Seconds (0 thru 59) ? “,SCND% CLS : PRINT , “Loading sun rise and set times. ( Please wait !)” ‘ SUN: FOR LL = 1 TO 366 STEP 3 READ Sunrise$(LL),Sunset$(LL),Sunrise$(LL+1),Sunset$(LL+1),Sunrise$(LL+2),Sunset$(LL+2) NEXT LL ‘ ‘ Sun data for my game planet ‘ ‘ day 1-6 #1 Month 1 DATA “7:30::23”,“4:21::47”,“7:30::27”,“4:22::40”,“7:30::32”,“4:23::34”,“7:30::36”,“4:24::27”,“7:30::40”,“4:25::21”, “7:30::44”,“4:26::15” ‘ ‘ day 7-12 #2 DATA “7:30::49”,“4:27::08”,“7:30::53”,“4:28::02”,“7:30::57”,“4:28::55”,“7:31::02”,“4:29::49”,“7:31::06”,“4:30::42”, “7:31::10”,“4:31::36” ‘ ‘ day 13-18 #3 DATA “7:31::14”,“4:32::30”,“7:31::19”,“4:33::23”,“7:31::23”,“4:34::17”,“7:30::17”,“4:35::10”,“7:29::10”,“4:36::04”, “7:28::04”,“4:36::57” ‘ ‘ day 19-24 #4 DATA “7:26::57”,“4:37::51”,“7:25::45”,“4:38::45”,“7:24::44”,“4:39::38”,“7:23::38”,“4:40::32”,“7:22::32”,“4:41::25”, “7:21::25”,“4:42::19” ‘ ‘ day 25-30 #5 DATA “7:20::19”,“4:43::12”,“7:19::12”,“4:44::06”,“7:18::06”,“4:45::00”,“7:16::59”,“4:45::53”,“7:15::53”,“4:47::08”, “7:14::47”,“4:48::23” ‘ ‘ day 31-36 #6 Month 2 DATA “7:13::40”,“4:49::38”,“7:12::34”,“4:50::53”,“7:11::27”,“4:52::08”,“7:10::21”,“4:53::23”,“7:09::14”,“4:54::38”, “7:08::08”,“4:55::53” ‘ ‘ day 37-42 #7 DATA “7:07::02”,“4:57::08”,“7:05::55”,“4:58::23”,“7:04::49”,“4:59::38”,“7:03::42”,“5:00::53”,“7:02::36”,“5:02::08”, “7:01::29”,“5:03::23” ‘ ‘ day 43-48 #8 DATA “7:00::23”,“5:04::38”,“6:59::17”,“5:05::53”,“6:58::10”,“5:07::08”,“6:57::04”,“5:08::23”,“6:55::57”,“5:09::38”, “6:54::51”,“5:10::53” ‘ ‘ day 49-54 #9 DATA “6:53::44”,“5:12::09”,“6:52::12”,“5:13::23”,“6:50::40”,“5:14::38”,“6:49::08”,“5:15::53”,“6:47::36”,“5:17::08”, “6:46::04”,“5:18::23” ‘ ‘ day 55-60 #10 DATA “6:44::32”,“5:19::38”,“6:42::59”,“5:20::53”,“6:41::27”,“5:22::09”,“6:39::55”,“5:23::24”,“6:38::23”,“5:24::31”, “6:36::51”,“5:25::39” ‘ ‘ day 61-66 #11 Month 3 DATA “6:35::19”,“5:26::49”,“6:33::47”,“5:27::54”,“6:32::15”,“5:29::02”,“6:30::42”,“5:30::09”,“6:29::10”,“5:31::18”, “6:27::38”,“5:32::25” ‘ ‘ day 67-72 #12 DATA “6:26::06”,“5:33::33”,“6:24::34”,“5:34::41”,“6:23::02”,“5:35::48”,“6:21::30”,“5:36::56”,“6:19::57”,“5:38::03”, “6:18::25”,“5:39::12” ‘ ‘ day 73-78 #13 DATA “6:16::53”,“5:40::19”,“6:15::21”,“5:41::27”,“6:13::49”,“5:42::34”,“6:12::17”,“5:43::42”,“6:10::45”,“5:44::50”, “6:09::12”,“5:45::57” ‘ ‘ day 79-84 #14 DATA “6:07::40”,“5:47::06”,“6:06::08”,“5:48::13”,“6:04::36”,“5:49::21”,“6:03::04”,“5:50::29”,“6:01::32”,“5:51::36”, “5:59::49”,“5:52::44” ‘ ‘ day 85-90 #15 DATA “5:58::06”,“5:53::52”,“5:56::23”,“5:54::59”,“5:54::40”,“5:56::02”,“5:52::57”,“5:57::04”,“5:51::15”,“5:58::06”, “5:49::32”,“5:59::09” ‘ ‘ day 91-96 #16 Month 4 DATA “5:47::49”,“6:00::11”,“5:46::06”,“6:01::13”,“5:44::23”,“6:02::16”,“5:42::40”,“6:03::18”,“5:39::15”,“6:04::20”, “5:37::32”,“6:05::22” ‘ ‘ day 97-102 #17 DATA “5:35::49”,“6:06::24”,“5:34::06”,“6:07::27”,“5:32::23”,“6:08::29”,“5:30::40”,“6:09::32”,“5:28::57”,“6:10::33”, “5:27::15”,“6:11::36” ‘ ‘ day 103-108 #18 DATA “5:25::32”,“6:12::38”,“5:23::49”,“6:13::40”,“5:22::06”,“6:14::43”,“5:20::23”,“6:15::45”,“5:18::40”,“6:16::48”, “5:16::57”,“6:17::50” ‘ ‘ day 109-114 #19 DATA “5:15::15”,“6:18::52”,“5:13::32”,“6:19::54”,“5:11:49”,“6:20::56”,“5:10::06”,“6:21::59”,“5:08::23”,“6:23::01”, “5:06::40”,“6:24::03” ‘ ‘ day 115-120 #20 DATA “5:04::57”,“6:25::06”,“5:03::15”,“6:26::08”,“5:01::32”,“6:27::10”,“5:00::47”,“6:28::15”,“5:00::03”,“6:29::19”, “4:59::19”,“6:30::23” ‘ ‘ day 121-126 #21 Month 5 DATA “4:58::34”,“6:31::27”,“4:57::50”,“6:32::31”,“4:57::06”,“6:33::36”,“4:56::21”,“6:34::40”,“4:55::37”,“6:35::44”, “4:54::53”,“6:36::49” ‘ ‘ day 127-132 #22 DATA “4:54::08”,“6:37::53”,“4:53::24”,“6:38::57”,“4:52::40”,“6:40::02”,“4:51::55”,“6:41::06”,“4:51::11”,“6:42::10”, “4:50::27”,“6:43::14” ‘ ‘ day 133-138 #23 DATA “4:49::42”,“6:44::19”,“4:48::58”,“6:45::23”,“4:48::14”,“6:46::28”,“4:47::29”,“6:47::32”,“4:46::45”,“6:48::36”, “4:46::01”,“6:49::40” ‘ ‘ day 139-144 #24 DATA “4:45::16”,“6:50::45”,“4:44::32”,“6:51::48”,“4:43::48”,“6:52::53”,“4:43::03”,“6:53::57”,“4:42::19”,“6:55::02”, “4:41::35”,“6:56::06” ‘ ‘ day 145-150 #25 DATA “4:40::51”,“6:57::10”,“4:40::06”,“6:58::15”,“4:39::22”,“6:59::19”,“4:38::38”,“7:00::23”,“4:37::53”,“7:01::27”, “4:37::38”,“7:02::21” ‘ ‘ day 151-156 #26 Month 6 DATA “4:37::23”,“7:03::15”,“4:37::08”,“7:04::08”,“4:36::54”,“7:05::02”,“4:36::39”,“7:05::55”,“4:36::24”,“7:06::48”, “4:36::09”,“7:07::42” ‘ ‘ day 157-162 #27 DATA “4:35::55”,“7:08::36”,“4:35::40”,“7:09::29”,“4:35::25”,“7:10::23”,“4:35::10”,“7:11:16”,“4:34::56”,“7:12::10”, “4:34::41”,“7:13::03” ‘ ‘ day 163-168 #28 DATA “4:34::26”,“7:13::56”,“4:34::11”,“7:14::50”,“4:33::56”,“715::43”,“4:33::42”,“7:16::37”,“4:33::27”,“7:17::30”, “4:33::12”,“7:18::24” ‘ ‘ day 169-174 #29 DATA “4:32::57”,“7:19::18”,“4:32::43”,“7:20::11”,“4:32::28”,“7:21::05”,“4:32::13”,“7:21::58”,“4:31::59”,“7:22::52”, “4:31::44”,“7:23::45” ‘ ‘ day 175-180 #30 DATA “4:31::29”,“7:24::38”,“4:31::14”,“7:25::32”,“4:31::00”,“7:26::25”,“4:30::45”,“7:27::19”,“4:30::30”,“7:28::12”, “4:30::15”,“7:29::06” ‘ ‘ day 181-186 #31 Lithe 1-3 and Month 7 999 DATA “4:30::06”,“7:29::59”,“4:30::00”,“7:30::00”,“4:30::27”,“7:29::54”,“4:30::55”,“7:29::47”,“4:31::23”,“7:29::41”, “4:31::51”,“7:29::34” ‘ ‘ day 187-192 #32 DATA “4:32::19”,“7:29::28”,“4:32::47”,“7:29::21”,“4:33::15”,“7:29::15”,“4:33::42”,“7:29::09”,“4:34::10”,“7:29::02”, “4:34::38”,“7:28::56” ‘ ‘ day 193-198 #33 DATA “4:35::06”,“7:28::49”,“4:35::34”,“7:28::43”,“4:36::02”,“7:28::36”,“4:36::30”,“7:28::30”,“4:36::57”,“7:28::24”, “4:37::25”,“7:28::17” ‘ ‘ day 199-204 #34 DATA “4:37::53”,“7:28::11”,“4:38::21”,“7:28::04”,“4:38::49”,“7:27::58”,“4:39::17”,“7:28::51”,“4:39::45”,“7:28::45”, “4:40::45”,“7:28::39” ‘ ‘ day 205-210 #35 DATA “4:41::45”,“7:27::38”,“4:42::45”,“7:26::30”,“4:43::45”,“7:25::58”,“4:44::45”,“7:24::05”,“4:45::45”,“7:22::56”, “4:46::45”,“7:21::48” ‘ ‘ day 211-216 #36 Month 8 DATA “4:47::45”,“7:20::39”,“4:48::45”,“7:19::30”,“4:49::45”,“7:18::21”,“4:50::45”,“7:17::13”,“4:51::45”,“7:16::05”, “4:52::45”,“7:14::56” ‘ ‘ day 217-222 #37 DATA “4:53::45”,“7:13::48”,“4:54::45”,“7:12::39”,“4:55::45”,“7:11::30”,“4:56::45”,“7:10::21”,“4:57::45”,“7:09::13”, “4:58::45”,“7:08::05” ‘ ‘ day 223-228 #38 DATA “4:59::45”,“7:06::56”,“5:00::45”,“7:05::48”,“5:01::45”,“7:04::39”,“5:02::45”,“7:03::30”,“5:03::45”,“7:02::21”, “5:04::45”,“7:01::13” ‘ ‘ day 229-234 #39 DATA “5:05::45”,“7:00::05”,“5:06::45”,“6:58::56”,“5:07::45”,“6:57::48”,“5:08::45”,“6:56::38”,“5:09::45”,“6:55::30”, “5:10::45”,“6:54::21” ‘ ‘ day 235-240 #40 DATA “5:11::45”,“6:53::13”,“5:12::45”,“6:52::05”,“5:13::53”,“6:50::24”,“5:15::02”,“6:48::43”,“5:16::10”,“6:47::03”, “5:17::19”,“6:45::22” ‘ ‘ day 241-246 #41 Month 9 DATA “5:18::27”,“6:43::41”,“5:19::36”,“6:42::01”,“5:20::45”,“6:40::19”,“5:21::53”,“6:38::39”,“5:23::2”,“6:36::59”, “5:24::10”,“6:35::18” ‘ ‘ day 247-252 #42 DATA “5:25::19”,“6:33::37”,“5:26::27”,“6:31::56”,“5:27::36”,“6:30::16”,“5:28::45”,“6:28::34”,“5:29::53”,“6:26::54”, “5:31::02”,“6:25::14” ‘ ‘ day 253-258 #43 DATA “5:32::10”,“6:23::33”,“5:33::19”,“6:21::52”,“5:34::27”,“6:20::11”,“5:35::36”,“6:18::30”,“5:36::45”,“6:16::50”, “5:37::53”,“6:15::09” ‘ ‘ day 259-264 #44 DATA “5:39::02”,“6:13::29”,“5:40::10”,“6:11::48”,“5:41::19”,“6:10::07”,“5:42::27”,“6:08::26”,“5:43::36”,“6:06::45”, “5:44::45”,“6:05::05” ‘ ‘ day 265-270 #45 DATA “5:45::53”,“6:03::24”,“5:47::02”,“6:01::43”,“5:48::10”,“6:00::03”,“5:49::15”,“5:58::22”,“5:50::19”,“5:56::37”, “5:51::23”,“5:54::52” ‘ ‘ day 271-276 #46 Month 10 DATA “5:52::27”,“5:53::07”,“5:53::32”,“5:51::22”,“5:54::36”,“5:49::37”,“5:55::40”,“5:47::52”,“5:56::45”,“5:46::07”, “5:57::49”,“5:44::22” ‘ ‘ day 277-282 #47 DATA “5:58::53”,“5:42::37”,“5:59::57”,“5:40::52”,“6:01::02”,“5:39::07”,“6:02::06”,“5:37::22”,“6:03::10”,“5:35::37”, “6:04::14”,“5:33::52” ‘ ‘ day 283-288 #48 DATA “6:05::19”,“5:32::07”,“6:06::23”,“5:30::22”,“6:07::27”,“5:28::37”,“6:08::32”,“5:26::52”,“6:09::36”,“5:25::07”, “6:10::40”,“5:23::22” ‘ ‘ day 289-294 #49 DATA “6:11::44”,“5:21::37”,“6:12::49”,“5:19::52”,“6:13::53”,“5:18::07”,“6:14::57”,“5:16::22”,“6:16::02”,“5:14::37”, “6:17::06”,“5:12::52” ‘ ‘ day 295-300 #50 DATA “6:18::10”,“5:11::07”,“6:19::15”,“5:09::22”,“6:20::19”,“5:07::37”,“6:21::23”,“5:05::52”,“6:22::36”,“5:04::07”, “6:23::49”,“5:02::22” ‘ ‘ day 301-306 #51 Month 11 DATA “6:25::02”,“5:01::14”,“6:26::15”,“5:00::05”,“6:27::27”,“4:58::56”,“6:28::40”,“4:57::48”,“6:29::53”,“4:56::39”, “6:31::06”,“4:55::30” ‘ ‘ day 307-312 #52 DATA “6:32::19”,“4:54::22”,“6:33::32”,“4:53::14”,“6:34::45”,“4:52::05”,“6:35::57”,“4:50::57”,“6:37::10”,“4:49::48”, “6:38::23”,“4:48::39” ‘ ‘ day 313-318 #53 DATA “6:39::36”,“4:47::31”,“6:40::49”,“4:46::22”,“6:42::02”,“4:45::14”,“6:43::15”,“4:44::06”,“6:44::27”,“4:42::57”, “6:45::40”,“4:41::48” ‘ ‘ day 319-324 #54 DATA “6:46::53”,“4:40::39”,“6:48::06”,“4:39::31”,“6:49::19”,“4:38::23”,“6:50::32”,“4:37::14”,“6:51::45”,“4:36::06”, “6:52::57”,“4:34::57” ‘ ‘ day 325-330 #55 DATA “6:54::10”,“4:33::48”,“6:55::23”,“4:32::40”,“6:56::36”,“4:31::32”,“6:57::47”,“4:30::23”,“6:58::57”,“4:29::14”, “7:00::08”,“4:28::06” ‘ ‘ day 331-336 #56 DATA “7:01::19”,“4:26::57”,“7:02::29”,“4:25::48”,“7:03::40”,“4:24::40”,“7:04::51”,“4:24::31”,“7:06::02”,“4:24::21”, “7:07::12”,“4:24::12” ‘ ‘ day 337-342 #57 DATA “7:08::23”,“4:24::03”,“7:09::34”,“4:23::53”,“7:10::44”,“4:23::45”,“7:11::55”,“4:23::35”,“7:13::06”,“4:23::25”, “7:14::17”,“4:23::16” ‘ ‘ day 343-348 #58 DATA “7:15::27”,“4:23::07”,“7:16::38”,“4:22::57”,“7:17::19”,“4:22::48”,“7:18::59”,“4:22::39”,“7:20::10”,“4:22::30”, “7:21::21”,“4:22::21” ‘ ‘ day 349-354 #59 DATA “7:22::32”,“4:22::11”,“7:23::42”,“4:22::02”,“7:24::53”,“4:21::52”,“7:26::04”,“4:21::43”,“7:27::14”,“4:21::34”, “7:28::25”,“4:21::25” ‘ ‘ day 355-360 #60 DATA “7:29::36”,“4:21::15”,“7:29::40”,“4:21::06”,“7:29::44”,“4:20::57”,“7:29::49”,“4:20::47”,“7:29::53”,“4:20::38”, “7:29::57”,“4:20::29” ‘ ‘ day 361-366 #61 Month 12 and Yule 1-3 DATA “7:30::02”,“4:20::19”,“7:30::06”,“4:20::10”,“7:30::10”,“4:20::05”,“7:30::14”,“4:20::00”,“7:30::19”,“4:20::53”, “7:30::21”,“4:21::28” ‘ ‘ moon rise and set generation subroutine Moon: ‘ ‘ Lunar data for my game planet ‘ IF AGE% = 11 THEN PRINT “Loading and generating moon rise and set times (This will take awhile !)” : PRINT ‘ IF (YEAR% = 69 OR YEAR% = 140 OR YEAR% = 211 OR YEAR% = 282 OR YEAR% = 353 OR YEAR% = 424 OR YEAR% = 495 OR YEAR% = 566) THEN MM = 27 : HH = 10 ELSEIF (YEAR% = 70 OR YEAR% = 141 OR YEAR% = 212 OR YEAR% = 283 OR YEAR% = 354 OR YEAR% = 425 OR YEAR% = 496 OR YEAR% = 567) THEN MM = 15 : HH = 9 ELSEIF (YEAR% = 71 OR YEAR% = 142 OR YEAR% = 213 OR YEAR% = 284 OR YEAR% = 355 OR YEAR% = 426 OR YEAR% = 497 OR YEAR% = 568) THEN MM = 9 : HH = 8 ELSEIF (YEAR% = 1 OR YEAR% = 72 OR YEAR% = 143 OR YEAR% = 214 OR YEAR% = 285 OR YEAR% = 356 OR YEAR% = 427 OR YEAR% = 498 OR YEAR% = 569) THEN MM = 3 : HH = 7 ELSEIF (YEAR% = 2 OR YEAR% = 73 OR YEAR% = 144 OR YEAR% = 215 OR YEAR% = 286 OR YEAR% = 357 OR YEAR% = 428 OR YEAR% = 499 OR YEAR% = 570)THEN MM = 57 : HH = 6 ELSEIF (YEAR% = 3 OR YEAR% = 74 OR YEAR% = 145 OR YEAR% = 216 OR YEAR% = 287 OR YEAR% = 358 OR YEAR% = 429 OR YEAR% = 500 OR YEAR% = 571) THEN MM = 51 : HH = 5 ELSEIF (YEAR% = 4 OR YEAR% = 75 OR YEAR% = 146 OR YEAR% = 217 OR YEAR% = 288 OR YEAR% = 359 OR YEAR% = 430 OR YEAR% = 501 OR YEAR% = 572) THEN MM = 45 : HH = 4 ELSEIF (YEAR% = 5 OR YEAR% = 76 OR YEAR% = 147 OR YEAR% = 218 OR YEAR% = 289 OR YEAR% = 360 OR YEAR% = 431 OR YEAR% = 502 OR YEAR% = 573) THEN MM = 39 : HH = 3 ELSEIF (YEAR% = 6 OR YEAR% = 77 OR YEAR% = 148 OR YEAR% = 219 OR YEAR% = 290 OR YEAR% = 361 OR YEAR% = 432 OR YEAR% = 503 OR YEAR% = 574) THEN MM = 33 : HH = 2 ELSEIF (YEAR% = 7 OR YEAR% = 78 OR YEAR% = 149 OR YEAR% = 220 OR YEAR% = 291 OR YEAR% = 362 OR YEAR% = 433 OR YEAR% = 504 OR YEAR% = 575) THEN MM = 27 : HH = 1 ELSEIF (YEAR% = 8 OR YEAR% = 79 OR YEAR% = 150 OR YEAR% = 221 OR YEAR% = 292 OR YEAR% = 363 OR YEAR% = 434 OR YEAR% = 505 OR YEAR% = 576) THEN MM = 21 : HH = 0 ELSEIF (YEAR% = 9 OR YEAR% = 80 OR YEAR% = 151 OR YEAR% = 222 OR YEAR% = 293 OR YEAR% = 364 OR YEAR% = 435 OR YEAR% = 506 OR YEAR% = 577) THEN MM = 15 : HH = 23 ELSEIF (YEAR% = 10 OR YEAR% = 81 OR YEAR% = 152 OR YEAR% = 223 OR YEAR% = 294 OR YEAR% = 365 OR YEAR% = 436 OR YEAR% = 507 OR YEAR% = 578)THEN MM = 9 : HH = 22 ELSEIF (YEAR% = 11 OR YEAR% = 82 OR YEAR% = 153 OR YEAR% = 224 OR YEAR% = 295 OR YEAR% = 366 OR YEAR% = 437 OR YEAR% = 508 OR YEAR% = 579)THEN MM = 3 : HH = 21 ELSEIF (YEAR% = 12 OR YEAR% = 83 OR YEAR% = 154 OR YEAR% = 225 OR YEAR% = 296 OR YEAR% = 367 OR YEAR% = 438 OR YEAR% = 509 OR YEAR% = 580) THEN MM = 57 : HH = 20 ELSEIF (YEAR% = 13 OR YEAR% = 84 OR YEAR% = 155 OR YEAR% = 226 OR YEAR% = 297 OR YEAR% = 368 OR YEAR% = 439 OR YEAR% = 510 OR YEAR% = 581) THEN MM = 51 : HH = 19 ELSEIF (YEAR% = 14 OR YEAR% = 85 OR YEAR% = 156 OR YEAR% = 227 OR YEAR% = 298 OR YEAR% = 369 OR YEAR% = 440 OR YEAR% = 511 OR YEAR% = 582) THEN MM = 45 : HH = 18 ELSEIF (YEAR% = 15 OR YEAR% = 86 OR YEAR% = 157 OR YEAR% = 228 OR YEAR% = 299 OR YEAR% = 370 OR YEAR% = 441 OR YEAR% = 512 OR YEAR% = 583) THEN MM = 39 : HH = 17 ELSEIF (YEAR% = 16 OR YEAR% = 87 OR YEAR% = 158 OR YEAR% = 229 OR YEAR% = 300 OR YEAR% = 371 OR YEAR% = 442 OR YEAR% = 513 OR YEAR% = 584) THEN MM = 33 : HH = 16 ELSEIF (YEAR% = 17 OR YEAR% = 88 OR YEAR% = 159 OR YEAR% = 230 OR YEAR% = 301 OR YEAR% = 372 OR YEAR% = 443 OR YEAR% = 514 OR YEAR% = 585) THEN MM = 27 : HH = 15 ELSEIF (YEAR% = 18 OR YEAR% = 89 OR YEAR% = 160 OR YEAR% = 231 OR YEAR% = 302 OR YEAR% = 373 OR YEAR% = 444 OR YEAR% = 515 OR YEAR% = 586) THEN MM = 21 : HH = 14 ELSEIF (YEAR% = 19 OR YEAR% = 90 OR YEAR% = 161 OR YEAR% = 232 OR YEAR% = 303 OR YEAR% = 374 OR YEAR% = 445 OR YEAR% = 516 OR YEAR% = 587) THEN MM = 15 : HH = 13 ELSEIF (YEAR% = 20 OR YEAR% = 91 OR YEAR% = 162 OR YEAR% = 233 OR YEAR% = 304 OR YEAR% = 375 OR YEAR% = 446 OR YEAR% = 517 OR YEAR% = 588) THEN MM = 9 : HH = 12 ELSEIF (YEAR% = 21 OR YEAR% = 92 OR YEAR% = 163 OR YEAR% = 234 OR YEAR% = 305 OR YEAR% = 376 OR YEAR% = 447 OR YEAR% = 518 OR YEAR% = 589) THEN MM = 3 : HH = 11 ELSEIF (YEAR% = 22 OR YEAR% = 93 OR YEAR% = 164 OR YEAR% = 235 OR YEAR% = 306 OR YEAR% = 377 OR YEAR% = 448 OR YEAR% = 519 OR YEAR% = 590) THEN MM = 57 : HH = 10 ELSEIF (YEAR% = 23 OR YEAR% = 94 OR YEAR% = 165 OR YEAR% = 236 OR YEAR% = 307 OR YEAR% = 378 OR YEAR% = 449 OR YEAR% = 520 OR YEAR% = 591) THEN MM = 51 : HH = 9 ELSEIF (YEAR% = 24 OR YEAR% = 95 OR YEAR% = 166 OR YEAR% = 237 OR YEAR% = 308 OR YEAR% = 379 OR YEAR% = 450 OR YEAR% = 521 OR YEAR% = 592) THEN MM = 45 : HH = 8 ELSEIF (YEAR% = 25 OR YEAR% = 96 OR YEAR% = 167 OR YEAR% = 238 OR YEAR% = 309 OR YEAR% = 380 OR YEAR% = 451 OR YEAR% = 522 OR YEAR% = 593) THEN MM = 39 : HH = 7 ELSEIF (YEAR% = 26 OR YEAR% = 97 OR YEAR% = 168 OR YEAR% = 239 OR YEAR% = 310 OR YEAR% = 381 OR YEAR% = 452 OR YEAR% = 523 OR YEAR% = 594) THEN MM = 33 : HH = 6 ELSEIF (YEAR% = 27 OR YEAR% = 98 OR YEAR% = 169 OR YEAR% = 240 OR YEAR% = 311 OR YEAR% = 382 OR YEAR% = 453 OR YEAR% = 524 OR YEAR% = 595) THEN MM = 27 : HH = 5 ELSEIF (YEAR% = 28 OR YEAR% = 99 OR YEAR% = 170 OR YEAR% = 241 OR YEAR% = 312 OR YEAR% = 383 OR YEAR% = 454 OR YEAR% = 525 OR YEAR% = 596) THEN MM = 21 : HH = 4 ELSEIF (YEAR% = 29 OR YEAR% = 100 OR YEAR% = 171 OR YEAR% = 242 OR YEAR% = 313 OR YEAR% = 384 OR YEAR% = 455 OR YEAR% = 526 OR YEAR% = 597) THEN MM = 15 : HH = 3 ELSEIF (YEAR% = 30 OR YEAR% = 101 OR YEAR% = 173 OR YEAR% = 243 OR YEAR% = 314 OR YEAR% = 385 OR YEAR% = 456 OR YEAR% = 527 OR YEAR% = 598) THEN MM = 9 : HH = 2 ELSEIF (YEAR% = 31 OR YEAR% = 102 OR YEAR% = 174 OR YEAR% = 244 OR YEAR% = 315 OR YEAR% = 386 OR YEAR% = 457 OR YEAR% = 528 OR YEAR% = 599) THEN MM = 3 : HH = 1 ELSEIF (YEAR% = 32 OR YEAR% = 103 OR YEAR% = 175 OR YEAR% = 245 OR YEAR% = 316 OR YEAR% = 387 OR YEAR% = 458 OR YEAR% = 529 OR YEAR% = 600) THEN MM = 57 : HH = 0 ELSEIF (YEAR% = 33 OR YEAR% = 104 OR YEAR% = 176 OR YEAR% = 246 OR YEAR% = 317 OR YEAR% = 388 OR YEAR% = 459 OR YEAR% = 530) THEN MM = 51 : HH = 23 ELSEIF (YEAR% = 34 OR YEAR% = 105 OR YEAR% = 177 OR YEAR% = 247 OR YEAR% = 318 OR YEAR% = 389 OR YEAR% = 460 OR YEAR% = 531) THEN MM = 45 : HH = 22 ELSEIF (YEAR% = 35 OR YEAR% = 106 OR YEAR% = 178 OR YEAR% = 248 OR YEAR% = 319 OR YEAR% = 390 OR YEAR% = 461 OR YEAR% = 531) THEN MM = 39 : HH = 21 ELSEIF (YEAR% = 36 OR YEAR% = 107 OR YEAR% = 179 OR YEAR% = 249 OR YEAR% = 320 OR YEAR% = 391 OR YEAR% = 462 OR YEAR% = 532) THEN MM = 33 : HH = 20 ELSEIF (YEAR% = 37 OR YEAR% = 108 OR YEAR% = 180 OR YEAR% = 250 OR YEAR% = 321 OR YEAR% = 392 OR YEAR% = 463 OR YEAR% = 533) THEN MM = 27 : HH = 19 ELSEIF (YEAR% = 38 OR YEAR% = 109 OR YEAR% = 181 OR YEAR% = 251 OR YEAR% = 322 OR YEAR% = 393 OR YEAR% = 464 OR YEAR% = 534) THEN MM = 21 : HH = 18 ELSEIF (YEAR% = 39 OR YEAR% = 110 OR YEAR% = 182 OR YEAR% = 252 OR YEAR% = 323 OR YEAR% = 394 OR YEAR% = 465 OR YEAR% = 535) THEN MM = 15 : HH = 17 ELSEIF (YEAR% = 40 OR YEAR% = 111 OR YEAR% = 183 OR YEAR% = 253 OR YEAR% = 324 OR YEAR% = 395 OR YEAR% = 466 OR YEAR% = 536) THEN MM = 9 : HH = 16 ELSEIF (YEAR% = 41 OR YEAR% = 112 OR YEAR% = 184 OR YEAR% = 254 OR YEAR% = 325 OR YEAR% = 396 OR YEAR% = 467 OR YEAR% = 537) THEN MM = 3 : HH = 15 ELSEIF (YEAR% = 42 OR YEAR% = 113 OR YEAR% = 185 OR YEAR% = 255 OR YEAR% = 326 OR YEAR% = 397 OR YEAR% = 468 OR YEAR% = 538) THEN MM = 57 : HH = 14 ELSEIF (YEAR% = 43 OR YEAR% = 114 OR YEAR% = 186 OR YEAR% = 256 OR YEAR% = 327 OR YEAR% = 398 OR YEAR% = 469 OR YEAR% = 539) THEN MM = 51 : HH = 13 ELSEIF (YEAR% = 44 OR YEAR% = 115 OR YEAR% = 187 OR YEAR% = 257 OR YEAR% = 328 OR YEAR% = 399 OR YEAR% = 470 OR YEAR% = 540) THEN MM = 45 : HH = 12 ELSEIF (YEAR% = 45 OR YEAR% = 116 OR YEAR% = 188 OR YEAR% = 258 OR YEAR% = 329 OR YEAR% = 400 OR YEAR% = 471 OR YEAR% = 541) THEN MM = 39 : HH = 11 ELSEIF (YEAR% = 46 OR YEAR% = 117 OR YEAR% = 189 OR YEAR% = 259 OR YEAR% = 330 OR YEAR% = 401 OR YEAR% = 472 OR YEAR% = 542) THEN MM = 33 : HH = 10 ELSEIF (YEAR% = 47 OR YEAR% = 118 OR YEAR% = 190 OR YEAR% = 260 OR YEAR% = 331 OR YEAR% = 402 OR YEAR% = 473 OR YEAR% = 543) THEN MM = 27 : HH = 9 ELSEIF (YEAR% = 48 OR YEAR% = 119 OR YEAR% = 191 OR YEAR% = 261 OR YEAR% = 332 OR YEAR% = 403 OR YEAR% = 474 OR YEAR% = 544) THEN MM = 21 : HH = 8 ELSEIF (YEAR% = 49 OR YEAR% = 120 OR YEAR% = 192 OR YEAR% = 262 OR YEAR% = 333 OR YEAR% = 404 OR YEAR% = 475 OR YEAR% = 545) THEN MM = 15 : HH = 7 ELSEIF (YEAR% = 50 OR YEAR% = 121 OR YEAR% = 193 OR YEAR% = 263 OR YEAR% = 334 OR YEAR% = 405 OR YEAR% = 476 OR YEAR% = 546) THEN MM = 9 : HH = 6 ELSEIF (YEAR% = 51 OR YEAR% = 122 OR YEAR% = 194 OR YEAR% = 264 OR YEAR% = 335 OR YEAR% = 406 OR YEAR% = 477 OR YEAR% = 547) THEN MM = 3 : HH = 5 ELSEIF (YEAR% = 52 OR YEAR% = 123 OR YEAR% = 195 OR YEAR% = 265 OR YEAR% = 336 OR YEAR% = 407 OR YEAR% = 478 OR YEAR% = 548) THEN MM = 57 : HH = 4 ELSEIF (YEAR% = 53 OR YEAR% = 124 OR YEAR% = 196 OR YEAR% = 266 OR YEAR% = 337 OR YEAR% = 408 OR YEAR% = 479 OR YEAR% = 549) THEN MM = 51 : HH = 3 ELSEIF (YEAR% = 54 OR YEAR% = 125 OR YEAR% = 197 OR YEAR% = 267 OR YEAR% = 338 OR YEAR% = 409 OR YEAR% = 480 OR YEAR% = 550) THEN MM = 45 : HH = 2 ELSEIF (YEAR% = 55 OR YEAR% = 126 OR YEAR% = 198 OR YEAR% = 268 OR YEAR% = 339 OR YEAR% = 410 OR YEAR% = 481 OR YEAR% = 551) THEN MM = 39 : HH = 1 ELSEIF (YEAR% = 56 OR YEAR% = 127 OR YEAR% = 199 OR YEAR% = 269 OR YEAR% = 340 OR YEAR% = 411 OR YEAR% = 482 OR YEAR% = 552) THEN MM = 33 : HH = 0 ELSEIF (YEAR% = 57 OR YEAR% = 128 OR YEAR% = 200 OR YEAR% = 270 OR YEAR% = 341 OR YEAR% = 412 OR YEAR% = 483 OR YEAR% = 553) THEN MM = 27 : HH = 23 ELSEIF (YEAR% = 58 OR YEAR% = 129 OR YEAR% = 201 OR YEAR% = 271 OR YEAR% = 342 OR YEAR% = 413 OR YEAR% = 484 OR YEAR% = 554) THEN MM = 21 : HH = 22 ELSEIF (YEAR% = 59 OR YEAR% = 130 OR YEAR% = 202 OR YEAR% = 272 OR YEAR% = 343 OR YEAR% = 414 OR YEAR% = 485 OR YEAR% = 555) THEN MM = 15 : HH = 21 ELSEIF (YEAR% = 60 OR YEAR% = 131 OR YEAR% = 203 OR YEAR% = 273 OR YEAR% = 344 OR YEAR% = 415 OR YEAR% = 486 OR YEAR% = 556) THEN MM = 9 : HH = 20 ELSEIF (YEAR% = 61 OR YEAR% = 132 OR YEAR% = 204 OR YEAR% = 274 OR YEAR% = 345 OR YEAR% = 416 OR YEAR% = 487 OR YEAR% = 557) THEN MM = 3 : HH = 19 ELSEIF (YEAR% = 62 OR YEAR% = 133 OR YEAR% = 205 OR YEAR% = 275 OR YEAR% = 346 OR YEAR% = 417 OR YEAR% = 488 OR YEAR% = 558) THEN MM = 57 : HH = 18 ELSEIF (YEAR% = 63 OR YEAR% = 134 OR YEAR% = 206 OR YEAR% = 276 OR YEAR% = 347 OR YEAR% = 418 OR YEAR% = 489 OR YEAR% = 559) THEN MM = 51 : HH = 17 ELSEIF (YEAR% = 64 OR YEAR% = 135 OR YEAR% = 207 OR YEAR% = 277 OR YEAR% = 348 OR YEAR% = 419 OR YEAR% = 490 OR YEAR% = 560) THEN MM = 45 : HH = 16 ELSEIF (YEAR% = 65 OR YEAR% = 136 OR YEAR% = 208 OR YEAR% = 278 OR YEAR% = 349 OR YEAR% = 420 OR YEAR% = 491 OR YEAR% = 561) THEN MM = 39 : HH = 15 ELSEIF (YEAR% = 66 OR YEAR% = 137 OR YEAR% = 209 OR YEAR% = 279 OR YEAR% = 350 OR YEAR% = 421 OR YEAR% = 492 OR YEAR% = 562) THEN MM = 33 : HH = 14 ELSEIF (YEAR% = 67 OR YEAR% = 138 OR YEAR% = 210 OR YEAR% = 280 OR YEAR% = 351 OR YEAR% = 422 OR YEAR% = 493 OR YEAR% = 563) THEN MM = 27 : HH = 13 ELSEIF (YEAR% = 68 OR YEAR% = 139 OR YEAR% = 211 OR YEAR% = 281 OR YEAR% = 352 OR YEAR% = 423 OR YEAR% = 494 OR YEAR% = 564) THEN MM = 21 : HH = 12 END IF ‘ 111 FOR AZS = 1 TO 366 GOSUB Moonriseset Mnhr1%(AZS) = HH : Mnmn1%(AZS) = MM HH = HH + 10 : MM = MM + 5 : GOSUB Moonriseset Mnhr2%(AZS) = HH : Mnmn2%(AZS) = MM MM = MM + 6 : HH = HH + 15 NEXT AZS END IF YR1% = YEAR%GOTO METRIC
PRINT “ half of total = “;CB#/2;” 1/4 of total = “;CB#/4; “ 1/8 of total = “;CB#/8 INPUT “ Finished with the dice generator (y/n)? “,A$ IF UCASE$(A$) = “YES” OR UCASE$(A$) = “Y” THEN RETURN GOTO 50 ‘ MISSILETOHIT: PRINT : INPUT “Attacking what armor class (10 thru -15)? “,D% PRINT : INPUT “What table number (1 thru 16)? “,F% ‘ IF (F% < 1 OR F% > 16) THEN CLS : PRINT “There are only 16 combat tables ! Please try again !” : FOR ZZZ = 1 TO 32765 : NEXT ZZZ END IF ‘ IF (F% < 1 OR F% > 16) GOTO HITTABLES ‘ ON F% GOSUB TABLEA,TABLEB,TABLEC,TABLED,TABLEE,TABLEF,TABLEG,TABLEH,TABLEI,TABLEJ,TABLEK,TABLEL,TABLEM,TABLEN,TABLEP,TABLEQ RETURN ‘ ‘ Missile fire adds MISSILE: CLS : PRINT : PRINT “Missile fire adds (with automatic GOTO -> the hit tables)” : PRINT PRINT “ENTER NUMBERS ONLY ! Positive numbers should NOT use the plus sign !” : PRINT INPUT “ d20 roll (no adds; 1 thru 20) ? “,E% : PRINT INPUT “ Strength adds (-3 thru +6) ? “,ST% : PRINT INPUT “ Dexterity adds (-3 thru +3) ? “,DX% : PRINT INPUT “ Magic weapon adds (-3 thru +6) ? “,MW% : PRINT INPUT “ Magic arrows/bolts adds (-3 thru +6) ? “,MA% : PRINT INPUT “ Range adds (0 = short, -2 = medium, -5 = long) ? “,RG% : PRINT INPUT “ Wind adds (-6 thru 0) ? “,WND% : PRINT INPUT “ Firer movement adds (-5 thru +1) ? “,FMV% : PRINT INPUT “ Target movement adds (-5 thru 0) ? “,TMV% : PRINT INPUT “ Specialization add (0,+1,+3) ? “,SP% : PRINT INPUT “ Miscellaneous magic item add (Bracers of Archery,etc.) ? “,MMI% : PRINT INPUT “ Temperature add (-4 thru 0) ? “,TEMP% : PRINT E% = E% + ST% + DX% + MW% + RG% + WND% + FMV% + TMV% + MA% + SP% + MMI% + TEMP% GOSUB MISSILETOHIT RETURN ‘ ‘ Hit tables HITTABLES: CLS ‘ PRINT : PRINT ,,“Combat To hit tables.” PRINT : INPUT “What d20 roll was made ? “,E% PRINT : INPUT “Strength adds to the d20 ? (-3 thru +6) “, STRADDS% ‘ PRINT : INPUT “Dexterity Adds ? (-3 thru +6) “, DEXADDS% PRINT : INPUT “ Magic Weapon Adds ? (-3 thru +6) “, WEPADDS% PRINT : INPUT “ Specialization add ? “,SP% : PRINT PRINT : INPUT “ Special adds [ gnome vs. kobold, etc. ] “, SPECADDS% ‘ ‘ E% = E% + STRADDS% + DEXADDS% + WEPADDS% + SP% + SPECADDS% E% = E% + STRADDS% + WEPADDS% + SP% + SPECADDS% ‘ GOSUB MISSILETOHIT ‘ HITORMISS: CLS : PRINT ‘ IF E% >= Z% THEN BEEP : BEEP : BEEP : PRINT, “hit !” ELSE PRINT ,“no hit .” END IF ‘ PRINT : PRINT “ to hit needed = “;Z%;” / actual d20 with adds = “;E%;” /.” PRINT : PRINT “ AC attacked = “;D%;” / TABLE used = “;F%;” / adds = “;ADDS%;” /” PRINT : PRINT need: PRINT “If you need more to hit, input Y; if you need the Menu, input N.” PRINT : INPUT A$ ‘ IF UCASE$(A$) = “Y” GOTO HITTABLES ‘ IF UCASE$(A$) = “N” THEN RETURN GOTO need ‘
‘
Moonriseset:
‘ IF MM >= 60 THEN HH = HH + 1 : MM = MM – 60 END IF IF HH >= 24 THEN HH = HH – 24 RETURN
‘
TIMECLOCK: PRINT : PRINT TAB;TWN$;” , “;CNTRY$;” / “;DNGN$;” in the year “;YEAR%’;” Age “;AGE% PRINT : PRINT TAB;“Clock time =”;MNTH%;”/”;MND%;”(“;YRD%;”) time =”;HR%;”:”;MIN%;”::”;SCND% PRINT : PRINT “Elapsed time =”;ZF%;” years “;ZE%;” months “;ZD%;” days” PRINT : PRINT ZC%;” hours “;ZB%;” minutes “;ZA%;” seconds” : PRINT
RETURN
‘
‘ Game clock
100 CLS PRINT : PRINT “ Game time” : PRINT PRINT “ 1. Seconds 2. Minutes 3. Hours” PRINT PRINT “ 4. Days 5. Months 6. Years” PRINT PRINT “ 7. No time after all” : PRINT
‘ INPUT ZZ% IF ZZ% < 1 OR ZZ% > 7 GOTO 100 ON ZZ% GOTO 150,200,250,300,350,400,METRIC
‘
150 CLS : INPUT “ Seconds input (0 thru 120) ? “,ZG% ZA% = ZA% + ZG% : SCND% = SCND% + ZG% : GOTO 500
200 CLS : INPUT “ Minutes input (0 thru 120) ? “,ZH% ZB% = ZB% + ZH% : MIN% = MIN% + ZH% : GOTO 500
250 CLS : INPUT “ Hours input (0 thru 48) ? “,ZI% ZC% = ZC% + ZI% : HR% = HR% + ZI% : GOTO 500
300 CLS : INPUT “ Days input (0 thru 60) ? “,ZJ% ZD% = ZD% + ZJ% : MND% = MND% + ZJ% : YRD% = YRD% + ZJ% : GOTO 500
350 CLS : INPUT “ Months input (0 thru 24) ? “,ZK% ZE% = ZE% + ZK% : MNTH% = MNTH% + ZK% : YRD% = YRD% + ZK% * 30 : GOTO 500
400 CLS : INPUT “ Years input (0 thru 50) ? “,ZL% ZF% = ZF% + ZL% : YEAR% = YEAR% + ZL%
‘
500
‘ elapsed seconds
‘
FOR GGG = 1 TO ZA%/60 IF ZA% >= 60 THEN ZB% = ZB% + 1 ZA% = ZA% – 60 END IF
NEXT GGG
‘
‘ clock seconds
‘
FOR GGG = 1 TO SCND%/60 IF SCND% >= 60 THEN MIN% = MIN% + 1 SCND% = SCND% – 60 END IF
NEXT GGG
‘
‘ elapsed minutes
‘
FOR GGG = 1 TO ZB%/60 IF ZB% >= 60 THEN ZC% = ZC% + 1 ZB% = ZB%- 60 END IF
NEXT GGG
‘
‘ clock minutes
‘
FOR GGG = 1 TO MIN%/60 IF MIN% >= 60 THEN HR% = HR% + 1 MIN% = MIN% – 60 END IF
NEXT GGG
‘
‘ elapsed hours
‘
FOR GGG = 1 TO ZC%/24 IF ZC% >= 24 THEN ZD% = ZD% + 1 ZC% = ZC% – 24 END IF
NEXT GGG
‘
‘ clock hours
‘
FOR GGG = 1 TO HR%/24 IF HR% >= 24 THEN MND% = MND% + 1 YRD% = YRD% + 1 HR% = HR% – 24 END IF
NEXT GGG
‘
550
‘ elapsed days
‘
FOR GGG = 1 TO ZD%/30 IF HR% > 30 THEN ZE% = ZE% + 1 ZD% = ZD% – 30 END IF
NEXT GGG
‘
‘ clock days
FOR GGG = 1 TO MND%/30 IF MND% > 30 THEN MNTH% = MNTH% + 1 MND% = MND% – 30 END IF
NEXT GGG
‘
‘ elapsed months
FOR GGG = 1 TO ZE%/12 IF ZE% > 12 THEN ZF% = ZF% + 1 ZE% = ZE% – 12 END IF
NEXT GGG
‘
‘ clock months
FOR GGG = 1 TO MNTH%/12 IF MNTH% > 12 THEN YEAR% = YEAR% + 1 MNTH% = MNTH% – 12 END IF
NEXT GGG
‘
IF YRD% >= 184 AND YRD% <= 363 AND ABONUS% = 0 THEN ABONUS% = 1 : MND% = MND% + 3
ELSEIF YRD% >= 364 AND YRD% <= 366 AND BBONUS% = 0 THEN BBONUS% = 1 : MND% = MND% + 3
END IF
‘
IF YRD% >= 1 AND YRD% <= 30 THEN MNTH% = 1
IF YRD% >= 31 AND YRD% <= 60 THEN MNTH% = 2
IF YRD% >= 61 AND YRD% <= 90 THEN MNTH% = 3
IF YRD% >= 91 AND YRD% <= 120 THEN MNTH% = 4
IF YRD% >= 121 AND YRD% <= 150 THEN MNTH% = 5
IF YRD% >= 151 AND YRD% <= 180 THEN MNTH% = 6
IF YRD% >= 184 AND YRD% <= 213 THEN MNTH% = 7
IF YRD% >= 214 AND YRD% <= 243 THEN MNTH% = 8
IF YRD% >= 244 AND YRD% <= 270 THEN MNTH% = 9
IF YRD% >= 274 AND YRD% <= 303 THEN MNTH% = 10
IF YRD% >= 304 AND YRD% <= 333 THEN MNTH% = 11
IF YRD% >= 334 AND YRD% <= 363 THEN MNTH% = 12
‘
IF YRD% > 366 THEN YRD% = YRD% – 366 : YEAR% = YEAR% + 1
END IF
‘
IF YEAR% > YR2% THEN YRD% = YRD% – 366
RETURN
‘
‘ Main menu
METRIC:
‘
IF YR1% <> YEAR% THEN Moon
‘
CLS :PRINT ,,” It’s game time folks !” : PRINT : PRINT TWN$;” ; “;CNTRY$ ,DNGN$;”(dungeon) Year “;YEAR%;” Age”;AGE% : PRINT
‘ IF HR% <= 12 THEN IF (YRD% > 0 AND YRD% < 181 OR YRD% > 183 AND YRD% < 364) THEN PRINT “CLOCK Date=”,MNTH%;”/”;MND%;”(“;YRD%;”) time=”;HR%”:“MIN%”::“SCND%; ELSEIF YRD% >= 181 AND YRD% <= 183 THEN PRINT “CLOCK Date= Lithe /(“;YRD%;”) time=”;HR%;”:”;MIN%;”::”;SCND%; ELSEIF YRD% >= 364 AND YRD% <= 366 THEN PRINT “CLOCK Date= Yule /(“;YRD%;”) time=”;HR%;”:”;MIN%;”::”;SCND%; END IF END IF
‘ IF HR% > 12 THEN IF (YRD% > 0 AND YRD% < 181 OR YRD% > 183 AND YRD% < 364) THEN PRINT “CLOCK Date= “,MNTH%”/“MND%;”(“;YRD%;”) time=”;HR%-12”:“MIN%”::“SCND%; ELSEIF YRD% >= 181 AND YRD% <= 183 THEN PRINT “CLOCK Date= Lithe /(“;YRD%;”) time= “;HR%-12;”:”;MIN%;”::”;SCND%; ELSEIF YRD% >= 364 AND YRD% <= 366 THEN PRINT “CLOCK Date= Yule /(“;YRD%;”) time= “;HR%-12;”:”;MIN%;”::”;SCND%; END IF END IF
‘
IF HR% < 12 THEN PRINT ACK$
ELSE PRINT PCK$
END IF
‘ LINE (0,43)-(639,45),2,BF
‘
PRINT : PRINT “ELAPSED time”,ZF%;“year[s]”,ZE%;“month[s]”,ZD%;“day[s]”
PRINT : PRINT ZC%;“hour[s]”,ZB%;“minute[s]”,ZA%;“second[s]”
‘ LINE (0,73)-(639,75),3,BF
PRINT : PRINT “Moon “;Mnhr1%(YRD%);”:”;Mnmn1%(YRD%); IF Mnhr1%(YRD%) < 12 THEN PRINT ACK$; IF Mnhr1%(YRD%) >= 12 THEN PRINT PCK$;
PRINT W$;Mnhr2%(YRD%);”:“Mnmn2%(YRD%); IF Mnhr2%(YRD%) < 12 THEN PRINT ACK$; IF Mnhr2%(YRD%) >= 12 THEN PRINT PCK$;
PRINT X$ : PRINT
PRINT “SUN “;Sunrise$(YRD%);ACK$;W$;Sunset$(YRD%);PCK$;X$ : PRINT
PRINT , “ Select a number, type it, and press“
‘
PRINT : PRINT “1. Dice Generator 2. To hit tables”
‘
PRINT : PRINT “3. Missile fire to hit table 4. Timer input ? “
‘
PRINT : INPUT “5. Quit “,B%
‘ IF (B% < 1 OR B% > 5) GOTO METRIC
‘ IF B% = 5 THEN END
‘ ON B% GOSUB 50,HITTABLES,MISSILE,100
‘ GOTO METRIC
‘
‘ Dice Program
50 RANDOMIZE TIMER CLS : C# = 0 : CB# = 0 : GG& = 0 PRINT “ DICE GENERTOR [Maximum number of sides is 1 million]” PRINT ,,” [ (1 × 10+6) minimum is 0 ].” PRINT : PRINT “ HOW MANY SIDES?” INPUT AR#
‘ IF AR# > 1000000# THEN PRINT “ Too many sides. 1 million maximum.” FOR k = 1 TO 32765 : NEXT k END IF
‘ IF AR# > 1000000# GOTO 50 PRINT : INPUT “ Number of Dice ? “,BE# PRINT : INPUT “ Adds per die ? “,APD# PRINT : INPUT “ Adds for all dice ? “,AFAD# CLS : PRINT
‘ WHILE (C# <> BE# OR C# < BE#) H# = INT + 1 + APD# PRINT H#;”+”; GG& = GG& + 1
‘
‘ what follows are print statements to determine the
‘ quantity of numbers printed per screen line
‘ IF (GG& >= 19 AND AR# >= 1 AND AR# < 10) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 15 AND AR# >= 10 AND AR# < 100) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 12 AND AR# >= 100 AND AR# < 1000) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 10 AND AR# >= 1000 AND AR# < 10000) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 9 AND AR# >= 10000 AND AR# < 100000#) THEN PRINT : PRINT : GG& = 0 END IF
‘ IF (GG& >= 9 AND AR# >= 100000# AND AR# < 1000000# ) THEN PRINT : PRINT : GG& = 0 END IF
‘
‘ IF (GG& >= 7 AND AR# = 1000000#) THEN IF (GG& >= 8 AND AR# = 1000000#) THEN PRINT : PRINT : GG& = 0 END IF
‘ C# = C# +1# : CB# = CB# + H# WEND
‘ CB# = CB# + AFAD# : PRINT
‘ PRINT “ Total Roll =”;CB#;” ON “;BE#;“d”;AR# : PRINT PRINT “+”;APD#;” adds per die +”;AFAD#;” add for all dice” : PRINT‘ hit table data removed
GOTO HITORMISS ‘ END