From 8a7f605a5f30c8943ef015ea0b2bee2be6a5f3d3 Mon Sep 17 00:00:00 2001 From: Zachary Watts Date: Sun, 26 Apr 2026 01:53:40 -0400 Subject: [PATCH] cleaning up --- __pycache__/adventurers.cpython-312.pyc | Bin 20362 -> 20854 bytes __pycache__/main.cpython-312.pyc | Bin 6021 -> 5582 bytes adventurers.py | 209 ++++++++++++------------ main.py | 4 - 4 files changed, 105 insertions(+), 108 deletions(-) diff --git a/__pycache__/adventurers.cpython-312.pyc b/__pycache__/adventurers.cpython-312.pyc index b1c48379f58f9fc42002fea0ca6cb2e188bb1060..5e74106e01c23a71a63cc70e38e0a073d0f2fbde 100644 GIT binary patch literal 20854 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 delta 563 zcmX@7-Kx)fnwOW00SGoNew%r1BCjN4)vev$i+r{}i&=mQniZ6Rj=9BLT$)?t z0OSMNtjYPMc_l^uKwdG(`3ebO+i!8gtt<)#3j2cOC4dCbf;-%Nm-%eBux?1*%yWg$ z_A!(9 qqTC>3i$KbYVkSq6DsjaDnV`@wcA4BRs>1HZ$jE5-iEZ*)QAGfF3Vxgb diff --git a/adventurers.py b/adventurers.py index 59010bb..165d194 100755 --- a/adventurers.py +++ b/adventurers.py @@ -19,6 +19,7 @@ class Adventurer: self.constitution = attributes.get('constitution', roll_dice(3,6)) self.charisma = attributes.get('charisma', roll_dice(3,6)) self.hp = 1 + self.gold= roll_dice(3,6) self.torches = roll_dice(1,6) self.rations = roll_dice(1,6) self.equipment = [ 'backpack', 'tinderbox', 'waterskin' ] @@ -37,26 +38,26 @@ class Adventurer: def character_sheet(self): sheet = [] - sheet.append('{0: <26}'.format(f"| {self.player_class.title()} - Level {self.level}")) + sheet.append('{0: <28}'.format(f"| {self.player_class.title()} - Level {self.level}")) for key, val in self.get_attributes().items(): - key_string = "| " + '{0:12}'.format(f"{key}").capitalize() + f" {val}" - sheet += ['{0: <26}'.format(key_string)] - sheet.append('| ----------------------- ') - sheet.append('{0: <26}'.format(f"| HP: {self.hp} AC: {self.ac}")) - sheet.append('{0: <26}'.format(f"| Torches: {self.torches}")) - sheet.append('{0: <26}'.format(f"| Rations: {self.rations}")) - sheet.append('{0: <26}'.format(f"| Armor: {self.armor}")) - sheet.append('{0: <26}'.format(f"| Weapons:")) - sheet.append('{0: <26}'.format(f"| {self.weapons[0]['name'].title()}")) - sheet.append('{0: <26}'.format(f"| {self.weapons[1]['name'].title()}")) - sheet.append('{0: <26}'.format(f"| Equipment:")) - sheet.append('{0: <26}'.format(f"| ")) - sheet.append('{0: <26}'.format(f"| Gold:")) - sheet.append('| ----------------------- ') + key_string = "| " + '{0:16}'.format(f"{key}").capitalize() + f" {val}" + sheet += ['{0: <28}'.format(key_string)] + sheet.append('| ------------------------- ') + sheet.append('{0: <28}'.format(f"| HP: {self.hp} AC: {self.ac}")) + sheet.append('{0: <28}'.format(f"| Torches: {self.torches}")) + sheet.append('{0: <28}'.format(f"| Rations: {self.rations}")) + sheet.append('{0: <28}'.format(f"| Armor: {self.armor}")) + sheet.append('{0: <28}'.format(f"| Weapons:")) + sheet.append('{0: <28}'.format(f"| {self.weapons[0]['name'].title()}")) + sheet.append('{0: <28}'.format(f"| {self.weapons[1]['name'].title()}")) + sheet.append('{0: <28}'.format(f"| Equipment:")) + sheet.append('{0: <28}'.format(f"| ")) + sheet.append('{0: <28}'.format(f"| Gold: {self.gold}")) + sheet.append('| ------------------------- ') for key, val in self.progression[self.level]['saves'].items(): - key_string = "| " + '{0:12}'.format(f"{key}").capitalize() + f" {val}" - sheet += ['{0: <26}'.format(key_string)] - sheet.append('| ----------------------- ') + key_string = "| " + '{0:22}'.format(f"{key}").title() + f" {val}" + sheet += ['{0: <28}'.format(key_string)] + sheet.append('| ------------------------- ') # append a | to each string, after the formatted whitespace sheet = [ line + "|" for line in sheet ] return sheet @@ -79,20 +80,20 @@ class Fighter(Adventurer): prime_requisite = "strength" requirements = None progression = [ - { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 14, "breath" : 15, "spells" : 16 }}, - { "level" : 2, "xp" : 2000, "hit-dice" : 2, "thac0" : 19, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 14, "breath" : 15, "spells" : 16 }}, - { "level" : 3, "xp" : 4000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 14, "breath" : 15, "spells" : 16 }}, - { "level" : 4, "xp" : 8000, "hit-dice" : 4, "thac0" : 17, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 12, "breath" : 13, "spells" : 14 }}, - { "level" : 5, "xp" : 16000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 12, "breath" : 13, "spells" : 14 }}, - { "level" : 6, "xp" : 32000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 12, "breath" : 13, "spells" : 14 }}, - { "level" : 7, "xp" : 64000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 10, "spells" : 12 }}, - { "level" : 8, "xp" : 120000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 10, "spells" : 12 }}, - { "level" : 9, "xp" : 240000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 10, "spells" : 12 }}, - { "level" : 10, "xp" : 360000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 8, "spells" : 10 }}, - { "level" : 11, "xp" : 480000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 8, "spells" : 10 }}, - { "level" : 12, "xp" : 600000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 8, "spells" : 10 }}, - { "level" : 13, "xp" : 720000, "hit-dice" : 9, "thac0" : 10, "saves" : { "death" : 4, "wands" : 5, "paralysis" : 6, "breath" : 5, "spells" : 8 }}, - { "level" : 14, "xp" : 840000, "hit-dice" : 9, "thac0" : 10, "saves" : { "death" : 4, "wands" : 5, "paralysis" : 6, "breath" : 5, "spells" : 8 }} + { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 14, "breath attack" : 15, "spells / rods / staves" : 16 }}, + { "level" : 2, "xp" : 2000, "hit-dice" : 2, "thac0" : 19, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 14, "breath attack" : 15, "spells / rods / staves" : 16 }}, + { "level" : 3, "xp" : 4000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 14, "breath attack" : 15, "spells / rods / staves" : 16 }}, + { "level" : 4, "xp" : 8000, "hit-dice" : 4, "thac0" : 17, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 12, "breath attack" : 13, "spells / rods / staves" : 14 }}, + { "level" : 5, "xp" : 16000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 12, "breath attack" : 13, "spells / rods / staves" : 14 }}, + { "level" : 6, "xp" : 32000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 12, "breath attack" : 13, "spells / rods / staves" : 14 }}, + { "level" : 7, "xp" : 64000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 10, "spells / rods / staves" : 12 }}, + { "level" : 8, "xp" : 120000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 10, "spells / rods / staves" : 12 }}, + { "level" : 9, "xp" : 240000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 10, "spells / rods / staves" : 12 }}, + { "level" : 10, "xp" : 360000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 10 }}, + { "level" : 11, "xp" : 480000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 10 }}, + { "level" : 12, "xp" : 600000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 10 }}, + { "level" : 13, "xp" : 720000, "hit-dice" : 9, "thac0" : 10, "saves" : { "death / poison" : 4, "wands" : 5, "paralysis / petrify" : 6, "breath attack" : 5, "spells / rods / staves" : 8 }}, + { "level" : 14, "xp" : 840000, "hit-dice" : 9, "thac0" : 10, "saves" : { "death / poison" : 4, "wands" : 5, "paralysis / petrify" : 6, "breath attack" : 5, "spells / rods / staves" : 8 }} ] def __init__(self, level, attributes={}) -> None: Adventurer.__init__(self, level, attributes) @@ -105,20 +106,20 @@ class MagicUser(Adventurer): prime_requisite = "intelligence" requirements = None progression = [ - { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 2, "xp" : 2500, "hit-dice" : 2, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 3, "xp" : 5000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 4, "xp" : 10000, "hit-dice" : 4, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 5, "xp" : 20000, "hit-dice" : 5, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 6, "xp" : 40000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 11, "breath" : 11, "spells" : 12 }}, - { "level" : 7, "xp" : 80000, "hit-dice" : 7, "thac0" : 17, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 11, "breath" : 11, "spells" : 12 }}, - { "level" : 8, "xp" : 150000, "hit-dice" : 8, "thac0" : 17, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 11, "breath" : 11, "spells" : 12 }}, - { "level" : 9, "xp" : 300000, "hit-dice" : 9, "thac0" : 17, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 11, "breath" : 11, "spells" : 12 }}, - { "level" : 10, "xp" : 450000, "hit-dice" : 9, "thac0" : 17, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 11, "breath" : 11, "spells" : 12 }}, - { "level" : 11, "xp" : 600000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 8, "breath" : 8, "spells" : 8 }}, - { "level" : 12, "xp" : 750000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 8, "breath" : 8, "spells" : 8 }}, - { "level" : 13, "xp" : 900000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 8, "breath" : 8, "spells" : 8 }}, - { "level" : 14, "xp" : 1050000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 8, "breath" : 8, "spells" : 8 }} + { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 2, "xp" : 2500, "hit-dice" : 2, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 3, "xp" : 5000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 4, "xp" : 10000, "hit-dice" : 4, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 5, "xp" : 20000, "hit-dice" : 5, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 6, "xp" : 40000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 11, "breath attack" : 11, "spells / rods / staves" : 12 }}, + { "level" : 7, "xp" : 80000, "hit-dice" : 7, "thac0" : 17, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 11, "breath attack" : 11, "spells / rods / staves" : 12 }}, + { "level" : 8, "xp" : 150000, "hit-dice" : 8, "thac0" : 17, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 11, "breath attack" : 11, "spells / rods / staves" : 12 }}, + { "level" : 9, "xp" : 300000, "hit-dice" : 9, "thac0" : 17, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 11, "breath attack" : 11, "spells / rods / staves" : 12 }}, + { "level" : 10, "xp" : 450000, "hit-dice" : 9, "thac0" : 17, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 11, "breath attack" : 11, "spells / rods / staves" : 12 }}, + { "level" : 11, "xp" : 600000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 8 }}, + { "level" : 12, "xp" : 750000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 8 }}, + { "level" : 13, "xp" : 900000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 8 }}, + { "level" : 14, "xp" : 1050000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 8 }} ] def __init__(self, level, attributes={}) -> None: Adventurer.__init__(self, level, attributes) @@ -134,20 +135,20 @@ class Cleric(Adventurer): prime_requisite = "wisdom" requirements = None progression = [ - { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 14, "breath" : 16, "spells" : 15 }}, - { "level" : 2, "xp" : 1500, "hit-dice" : 2, "thac0" : 19, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 14, "breath" : 16, "spells" : 15 }}, - { "level" : 3, "xp" : 3000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 14, "breath" : 16, "spells" : 15 }}, - { "level" : 4, "xp" : 6000, "hit-dice" : 4, "thac0" : 19, "saves" : { "death" : 11, "wands" : 12, "paralysis" : 14, "breath" : 16, "spells" : 15 }}, - { "level" : 5, "xp" : 12000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death" : 9, "wands" : 10, "paralysis" : 12, "breath" : 14, "spells" : 12 }}, - { "level" : 6, "xp" : 25000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death" : 9, "wands" : 10, "paralysis" : 12, "breath" : 14, "spells" : 12 }}, - { "level" : 7, "xp" : 50000, "hit-dice" : 7, "thac0" : 17, "saves" : { "death" : 9, "wands" : 10, "paralysis" : 12, "breath" : 14, "spells" : 12 }}, - { "level" : 8, "xp" : 100000, "hit-dice" : 8, "thac0" : 17, "saves" : { "death" : 9, "wands" : 10, "paralysis" : 12, "breath" : 14, "spells" : 12 }}, - { "level" : 9, "xp" : 200000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 9, "breath" : 14, "spells" : 9 }}, - { "level" : 10, "xp" : 300000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 9, "breath" : 11, "spells" : 9 }}, - { "level" : 11, "xp" : 400000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 9, "breath" : 11, "spells" : 9 }}, - { "level" : 12, "xp" : 500000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 9, "breath" : 11, "spells" : 9 }}, - { "level" : 13, "xp" : 600000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 3, "wands" : 5, "paralysis" : 7, "breath" : 8, "spells" : 7 }}, - { "level" : 14, "xp" : 700000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 3, "wands" : 5, "paralysis" : 7, "breath" : 8, "spells" : 7 }} + { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 14, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 2, "xp" : 1500, "hit-dice" : 2, "thac0" : 19, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 14, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 3, "xp" : 3000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 14, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 4, "xp" : 6000, "hit-dice" : 4, "thac0" : 19, "saves" : { "death / poison" : 11, "wands" : 12, "paralysis / petrify" : 14, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 5, "xp" : 12000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death / poison" : 9, "wands" : 10, "paralysis / petrify" : 12, "breath attack" : 14, "spells / rods / staves" : 12 }}, + { "level" : 6, "xp" : 25000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death / poison" : 9, "wands" : 10, "paralysis / petrify" : 12, "breath attack" : 14, "spells / rods / staves" : 12 }}, + { "level" : 7, "xp" : 50000, "hit-dice" : 7, "thac0" : 17, "saves" : { "death / poison" : 9, "wands" : 10, "paralysis / petrify" : 12, "breath attack" : 14, "spells / rods / staves" : 12 }}, + { "level" : 8, "xp" : 100000, "hit-dice" : 8, "thac0" : 17, "saves" : { "death / poison" : 9, "wands" : 10, "paralysis / petrify" : 12, "breath attack" : 14, "spells / rods / staves" : 12 }}, + { "level" : 9, "xp" : 200000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 9, "breath attack" : 14, "spells / rods / staves" : 9 }}, + { "level" : 10, "xp" : 300000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 9, "breath attack" : 11, "spells / rods / staves" : 9 }}, + { "level" : 11, "xp" : 400000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 9, "breath attack" : 11, "spells / rods / staves" : 9 }}, + { "level" : 12, "xp" : 500000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 9, "breath attack" : 11, "spells / rods / staves" : 9 }}, + { "level" : 13, "xp" : 600000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 3, "wands" : 5, "paralysis / petrify" : 7, "breath attack" : 8, "spells / rods / staves" : 7 }}, + { "level" : 14, "xp" : 700000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 3, "wands" : 5, "paralysis / petrify" : 7, "breath attack" : 8, "spells / rods / staves" : 7 }} ] def __init__(self, level, attributes={}) -> None: Adventurer.__init__(self, level, attributes) @@ -165,20 +166,20 @@ class Thief(Adventurer): prime_requisite = "dexterity" requirements = None progression = [ - { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 2, "xp" : 1200, "hit-dice" : 2, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 3, "xp" : 2400, "hit-dice" : 3, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 4, "xp" : 4800, "hit-dice" : 4, "thac0" : 19, "saves" : { "death" : 13, "wands" : 14, "paralysis" : 13, "breath" : 16, "spells" : 15 }}, - { "level" : 5, "xp" : 9600, "hit-dice" : 5, "thac0" : 17, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 11, "breath" : 14, "spells" : 13 }}, - { "level" : 6, "xp" : 20000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 11, "breath" : 14, "spells" : 13 }}, - { "level" : 7, "xp" : 40000, "hit-dice" : 7, "thac0" : 17, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 11, "breath" : 14, "spells" : 13 }}, - { "level" : 8, "xp" : 80000, "hit-dice" : 8, "thac0" : 17, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 11, "breath" : 14, "spells" : 13 }}, - { "level" : 9, "xp" : 160000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 9, "breath" : 11, "spells" : 10 }}, - { "level" : 10, "xp" : 280000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 9, "breath" : 11, "spells" : 10 }}, - { "level" : 11, "xp" : 400000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 9, "breath" : 11, "spells" : 10 }}, - { "level" : 12, "xp" : 520000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 9, "breath" : 11, "spells" : 10 }}, - { "level" : 13, "xp" : 640000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 7, "breath" : 10, "spells" : 8 }}, - { "level" : 14, "xp" : 760000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 7, "breath" : 10, "spells" : 8 }} + { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 2, "xp" : 1200, "hit-dice" : 2, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 3, "xp" : 2400, "hit-dice" : 3, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 4, "xp" : 4800, "hit-dice" : 4, "thac0" : 19, "saves" : { "death / poison" : 13, "wands" : 14, "paralysis / petrify" : 13, "breath attack" : 16, "spells / rods / staves" : 15 }}, + { "level" : 5, "xp" : 9600, "hit-dice" : 5, "thac0" : 17, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 11, "breath attack" : 14, "spells / rods / staves" : 13 }}, + { "level" : 6, "xp" : 20000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 11, "breath attack" : 14, "spells / rods / staves" : 13 }}, + { "level" : 7, "xp" : 40000, "hit-dice" : 7, "thac0" : 17, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 11, "breath attack" : 14, "spells / rods / staves" : 13 }}, + { "level" : 8, "xp" : 80000, "hit-dice" : 8, "thac0" : 17, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 11, "breath attack" : 14, "spells / rods / staves" : 13 }}, + { "level" : 9, "xp" : 160000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 9, "breath attack" : 11, "spells / rods / staves" : 10 }}, + { "level" : 10, "xp" : 280000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 9, "breath attack" : 11, "spells / rods / staves" : 10 }}, + { "level" : 11, "xp" : 400000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 9, "breath attack" : 11, "spells / rods / staves" : 10 }}, + { "level" : 12, "xp" : 520000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 9, "breath attack" : 11, "spells / rods / staves" : 10 }}, + { "level" : 13, "xp" : 640000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 7, "breath attack" : 10, "spells / rods / staves" : 8 }}, + { "level" : 14, "xp" : 760000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 7, "breath attack" : 10, "spells / rods / staves" : 8 }} ] def __init__(self, level, attributes={}) -> None: Adventurer.__init__(self, level, attributes) @@ -192,18 +193,18 @@ class Dwarf(Adventurer): prime_requisite = "strength" requirements = {'constitution' : 9 } progression = [ - { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 13, "spells" : 12 }}, - { "level" : 2, "xp" : 2200, "hit-dice" : 2, "thac0" : 19, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 13, "spells" : 12 }}, - { "level" : 3, "xp" : 4400, "hit-dice" : 3, "thac0" : 19, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 13, "spells" : 12 }}, - { "level" : 4, "xp" : 8800, "hit-dice" : 4, "thac0" : 17, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 10, "spells" : 10 }}, - { "level" : 5, "xp" : 17000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 10, "spells" : 10 }}, - { "level" : 6, "xp" : 35000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 10, "spells" : 10 }}, - { "level" : 7, "xp" : 70000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death" : 4, "wands" : 5, "paralysis" : 6, "breath" : 7, "spells" : 8 }}, - { "level" : 8, "xp" : 140000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death" : 4, "wands" : 5, "paralysis" : 6, "breath" : 7, "spells" : 8 }}, - { "level" : 9, "xp" : 270000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 4, "wands" : 5, "paralysis" : 6, "breath" : 7, "spells" : 8 }}, - { "level" : 10, "xp" : 400000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 2, "wands" : 3, "paralysis" : 4, "breath" : 4, "spells" : 6 }}, - { "level" : 11, "xp" : 530000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 2, "wands" : 3, "paralysis" : 4, "breath" : 4, "spells" : 6 }}, - { "level" : 12, "xp" : 660000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 2, "wands" : 3, "paralysis" : 4, "breath" : 4, "spells" : 6 }} + { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 2, "xp" : 2200, "hit-dice" : 2, "thac0" : 19, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 3, "xp" : 4400, "hit-dice" : 3, "thac0" : 19, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 4, "xp" : 8800, "hit-dice" : 4, "thac0" : 17, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 5, "xp" : 17000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 6, "xp" : 35000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 7, "xp" : 70000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death / poison" : 4, "wands" : 5, "paralysis / petrify" : 6, "breath attack" : 7, "spells / rods / staves" : 8 }}, + { "level" : 8, "xp" : 140000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death / poison" : 4, "wands" : 5, "paralysis / petrify" : 6, "breath attack" : 7, "spells / rods / staves" : 8 }}, + { "level" : 9, "xp" : 270000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 4, "wands" : 5, "paralysis / petrify" : 6, "breath attack" : 7, "spells / rods / staves" : 8 }}, + { "level" : 10, "xp" : 400000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 2, "wands" : 3, "paralysis / petrify" : 4, "breath attack" : 4, "spells / rods / staves" : 6 }}, + { "level" : 11, "xp" : 530000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 2, "wands" : 3, "paralysis / petrify" : 4, "breath attack" : 4, "spells / rods / staves" : 6 }}, + { "level" : 12, "xp" : 660000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 2, "wands" : 3, "paralysis / petrify" : 4, "breath attack" : 4, "spells / rods / staves" : 6 }} ] def __init__(self, level, attributes={}) -> None: Adventurer.__init__(self, level, attributes) @@ -217,16 +218,16 @@ class Elf(Adventurer): prime_requisite = "intellgence" requirements = {'intelligence' : 9 } progression = [ - { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 13, "breath" : 15, "spells" : 15 }}, - { "level" : 2, "xp" : 4000, "hit-dice" : 2, "thac0" : 19, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 13, "breath" : 15, "spells" : 15 }}, - { "level" : 3, "xp" : 8000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death" : 12, "wands" : 13, "paralysis" : 13, "breath" : 15, "spells" : 15 }}, - { "level" : 4, "xp" : 16000, "hit-dice" : 4, "thac0" : 17, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 11, "breath" : 13, "spells" : 12 }}, - { "level" : 5, "xp" : 32000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 11, "breath" : 13, "spells" : 12 }}, - { "level" : 6, "xp" : 64000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death" : 10, "wands" : 11, "paralysis" : 11, "breath" : 13, "spells" : 12 }}, - { "level" : 7, "xp" : 120000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 9, "breath" : 10, "spells" : 10 }}, - { "level" : 8, "xp" : 250000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 9, "breath" : 10, "spells" : 10 }}, - { "level" : 9, "xp" : 400000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 9, "breath" : 10, "spells" : 10 }}, - { "level" : 10, "xp" : 600000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 8, "spells" : 8 }} + { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 13, "breath attack" : 15, "spells / rods / staves" : 15 }}, + { "level" : 2, "xp" : 4000, "hit-dice" : 2, "thac0" : 19, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 13, "breath attack" : 15, "spells / rods / staves" : 15 }}, + { "level" : 3, "xp" : 8000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death / poison" : 12, "wands" : 13, "paralysis / petrify" : 13, "breath attack" : 15, "spells / rods / staves" : 15 }}, + { "level" : 4, "xp" : 16000, "hit-dice" : 4, "thac0" : 17, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 11, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 5, "xp" : 32000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 11, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 6, "xp" : 64000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death / poison" : 10, "wands" : 11, "paralysis / petrify" : 11, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 7, "xp" : 120000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 9, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 8, "xp" : 250000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 9, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 9, "xp" : 400000, "hit-dice" : 9, "thac0" : 14, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 9, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 10, "xp" : 600000, "hit-dice" : 9, "thac0" : 12, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 8, "spells / rods / staves" : 8 }} ] def __init__(self, level, attributes={}) -> None: Adventurer.__init__(self, level, attributes) @@ -240,14 +241,14 @@ class Halfling(Adventurer): prime_requisite = "dexterity" requirements = {'constitution' : 9, 'dexterity' : 9 } progression = [ - { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 13, "spells" : 12 }}, - { "level" : 2, "xp" : 2000, "hit-dice" : 2, "thac0" : 19, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 13, "spells" : 12 }}, - { "level" : 3, "xp" : 4000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death" : 8, "wands" : 9, "paralysis" : 10, "breath" : 13, "spells" : 12 }}, - { "level" : 4, "xp" : 8000, "hit-dice" : 4, "thac0" : 17, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 10, "spells" : 10 }}, - { "level" : 5, "xp" : 16000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 10, "spells" : 10 }}, - { "level" : 6, "xp" : 32000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death" : 6, "wands" : 7, "paralysis" : 8, "breath" : 10, "spells" : 10 }}, - { "level" : 7, "xp" : 64000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death" : 4, "wands" : 5, "paralysis" : 6, "breath" : 7, "spells" : 8 }}, - { "level" : 8, "xp" : 120000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death" : 4, "wands" : 5, "paralysis" : 6, "breath" : 7, "spells" : 8 }}, + { "level" : 1, "xp" : 0, "hit-dice" : 1, "thac0" : 19, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 2, "xp" : 2000, "hit-dice" : 2, "thac0" : 19, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 3, "xp" : 4000, "hit-dice" : 3, "thac0" : 19, "saves" : { "death / poison" : 8, "wands" : 9, "paralysis / petrify" : 10, "breath attack" : 13, "spells / rods / staves" : 12 }}, + { "level" : 4, "xp" : 8000, "hit-dice" : 4, "thac0" : 17, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 5, "xp" : 16000, "hit-dice" : 5, "thac0" : 17, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 6, "xp" : 32000, "hit-dice" : 6, "thac0" : 17, "saves" : { "death / poison" : 6, "wands" : 7, "paralysis / petrify" : 8, "breath attack" : 10, "spells / rods / staves" : 10 }}, + { "level" : 7, "xp" : 64000, "hit-dice" : 7, "thac0" : 14, "saves" : { "death / poison" : 4, "wands" : 5, "paralysis / petrify" : 6, "breath attack" : 7, "spells / rods / staves" : 8 }}, + { "level" : 8, "xp" : 120000, "hit-dice" : 8, "thac0" : 14, "saves" : { "death / poison" : 4, "wands" : 5, "paralysis / petrify" : 6, "breath attack" : 7, "spells / rods / staves" : 8 }}, ] def __init__(self, level, attributes={}) -> None: Adventurer.__init__(self, level, attributes) diff --git a/main.py b/main.py index 32fe95c..d598dac 100755 --- a/main.py +++ b/main.py @@ -73,10 +73,6 @@ class PartyGenerator(): def __str__(self): return f"{self.adventurers}" -# functions -def roll_dice(count, sides): - return sum(random.randint(1,sides) for _ in range(count)) - def returnSheets(foo): new_party = PartyGenerator() new_party.gen_party()