"Welcome to Crest of a Star; these maps and other graphics are only for playing D&D type games. They are copyright and not to be used for other purposes. If you have them on your site, please remove them. Thank you."

"My maps are free. If you purchased them, you got scammed."
"Not for redistribution or resale. Hyperlinking from Pinterest or other such share sites is prohibited."





basic: experience points

Posted

This is the page for my AmigaBASIC experience point calculator program on my campaign World, Crestar.

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 “ Press to 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 “ Press to 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 “ Press to 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 “ Press for 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 “ Press for 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 “ Press for 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 “ Press for 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 PRINTDICE GENERTOR [Maximum number of sides is 1 million]” PRINT ,,” [ (1 × 10+6) minimum is 1 ].” PRINT : PRINTHOW 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 here

RETURN


bard.class:

‘ a series of nested if then goes here

RETURN

cavalier.class:

‘ a series of nested if then goes here

RETURN

cleric.class:

‘ a series of nested if then goes here

RETURN

druid.class:

‘ a series of nested if then goes here

RETURN

fighter.class:

‘ a series of nested if then goes here

RETURN


illusionist.class:

‘ a series of nested if then goes here

RETURN

magicuser.class:

‘ a series of nested if then goes here

RETURN

minstrel.class:

‘ a series of nested if then goes here

RETURN


monk.class:

‘ a series of nested if then goes here

RETURN

paladin.class:

‘ a series of nested if then goes here

RETURN

ranger.class:

‘ a series of nested if then goes here

RETURN


thief.class:

‘ a series of nested if then goes here

RETURN

thief.acrobat.class:

‘ a series of nested if then goes here

RETURN

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-ACROBATTHEN 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-ACROBATTHEN 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-ACROBATTHEN 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 : PRINT

7440 INPUT “ Number of characters that attacked it “; number.of.char IF number.of.char < 0 OR number.of.char > 18 THEN GOTO 7440

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 “ Press for 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 9922

‘ ‘ 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 for 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 RETURNOPEN “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 INPUTGEM 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 PRINTXPGP 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; PRINTXPGP/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

Author
Categories Game Aids


Privacy policy: I track IP addresses and pages looked at out of a vague curiosity to learn what pages are looked at on my site. After a set period, this information is deleted. No personal information is permanently kept.


[ Copyright © by Jim, 1980-2050. All Rights Reserved. ]

[ Except where noted, and where copyrights are held by others. ]