can now load a character from a cookie

This commit is contained in:
Zachary Watts
2026-04-29 13:55:07 -04:00
parent e6d19b1f69
commit 15342552f1
7 changed files with 45 additions and 13 deletions

View File

@@ -44,6 +44,12 @@ class Adventurer:
def __str__(self):
return f"{self.player_class}"
def get_subclass_dict():
subclasses = {}
for subclass in Adventurer.__subclasses__():
subclasses[subclass.adv_class] = subclass
return subclasses
def get_json(self):
char_dict = self.__dict__
char_json = json.dumps(char_dict)
@@ -113,6 +119,7 @@ class Adventurer:
class Fighter(Adventurer):
adv_class = "fighter"
prime_requisite = "strength"
requirements = None
progression = [
@@ -133,12 +140,13 @@ class Fighter(Adventurer):
]
def __init__(self, c_id, level, attributes={}) -> None:
Adventurer.__init__(self, c_id, level, attributes)
self.player_class = "fighter"
self.player_class = Fighter.adv_class
self.progression = Fighter.progression
self.hp = roll_dice(self.level, 8)
self.ac = armor[self.armor]
class MagicUser(Adventurer):
adv_class = "magic user"
prime_requisite = "intelligence"
requirements = None
progression = [
@@ -175,7 +183,7 @@ class MagicUser(Adventurer):
}
def __init__(self,c_id, level, attributes={}) -> None:
Adventurer.__init__(self, c_id, level, attributes)
self.player_class = "magic user"
self.player_class = MagicUser.adv_class
self.progression = MagicUser.progression
self.hp = roll_dice(self.level, 4)
self.armor = "None"
@@ -185,6 +193,7 @@ class MagicUser(Adventurer):
self.spell_book = self.select_spells()
class Cleric(Adventurer):
adv_class = "cleric"
prime_requisite = "wisdom"
requirements = None
progression = [
@@ -221,7 +230,7 @@ class Cleric(Adventurer):
}
def __init__(self,c_id, level, attributes={}) -> None:
Adventurer.__init__(self, c_id, level, attributes)
self.player_class = "cleric"
self.player_class = Cleric.adv_class
self.progression = Cleric.progression
self.hp = roll_dice(self.level, 6)
self.armor = random.choice(list(armor.keys()))
@@ -234,6 +243,7 @@ class Cleric(Adventurer):
self.spell_book = self.select_spells()
class Thief(Adventurer):
adv_class = "thief"
prime_requisite = "dexterity"
requirements = None
progression = [
@@ -254,13 +264,14 @@ class Thief(Adventurer):
]
def __init__(self,c_id, level, attributes={}) -> None:
Adventurer.__init__(self, c_id, level, attributes)
self.player_class = "thief"
self.progression = Fighter.progression
self.player_class = Thief.adv_class
self.progression = Thief.progression
self.hp = roll_dice(self.level, 4)
self.armor = random.choice(list(armor.keys()))
self.ac = armor[self.armor]
class Dwarf(Adventurer):
adv_class = "dwarf"
prime_requisite = "strength"
requirements = {'constitution' : 9 }
progression = [
@@ -279,13 +290,14 @@ class Dwarf(Adventurer):
]
def __init__(self,c_id, level, attributes={}) -> None:
Adventurer.__init__(self, c_id, level, attributes)
self.player_class = "dwarf"
self.player_class = Dwarf.adv_class
self.progression = Dwarf.progression
self.hp = roll_dice(self.level, 8)
self.armor = random.choice(list(armor.keys()))
self.ac = armor[self.armor]
class Elf(Adventurer):
adv_class = "elf"
prime_requisite = "intellgence"
requirements = {'intelligence' : 9 }
progression = [
@@ -314,7 +326,7 @@ class Elf(Adventurer):
}
def __init__(self,c_id, level, attributes={}) -> None:
Adventurer.__init__(self, c_id, level, attributes)
self.player_class = "elf"
self.player_class = Elf.adv_class
self.progression = Elf.progression
self.hp = roll_dice(self.level, 6)
self.armor = random.choice(list(armor.keys()))
@@ -323,6 +335,7 @@ class Elf(Adventurer):
self.spell_book = self.select_spells()
class Halfling(Adventurer):
adv_class = "halfling"
prime_requisite = "dexterity"
requirements = {'constitution' : 9, 'dexterity' : 9 }
progression = [
@@ -337,7 +350,7 @@ class Halfling(Adventurer):
]
def __init__(self,c_id, level, attributes={}) -> None:
Adventurer.__init__(self, c_id, level, attributes)
self.player_class = "halfling"
self.player_class = Halfling.adv_class
self.progression = Halfling.progression
self.hp = roll_dice(self.level, 6)
self.armor = random.choice(list(armor.keys()))