Resolve unit tests

This commit is contained in:
Griatch 2022-09-17 23:37:08 +02:00
parent a4eff902cc
commit 705d47fe47
14 changed files with 291 additions and 350 deletions

View file

@ -103,7 +103,7 @@ from the _Knave_ rulebook. While we added the ability to roll on a random table
```
# in mygame/evadventure/random_tables.py
character_generation = {
chargen_tables = {
"physique": [
"athletic", "brawny", "corpulent", "delicate", "gaunt", "hulking", "lanky",
"ripped", "rugged", "scrawny", "short", "sinewy", "slender", "flabby",
@ -135,20 +135,19 @@ During character generation we will need an entity to store/retain the changes,
```python
# in mygame/evadventure/chargen.py
from .random_tables import chargen_table
from .random_tables import chargen_tables
from .rules import dice
class TemporaryCharacterSheet:
def __init__(self):
self.ability_changes = 0 # how many times we tried swap abilities
def _random_ability(self):
return min(dice.roll("1d6"), dice.roll("1d6"), dice.roll("1d6"))
def generate(self):
def __init__(self):
self.ability_changes = 0 # how many times we tried swap abilities
# name will likely be modified later
self.name = dice.roll_random_table("1d282", chargen_table["name"])
self.name = dice.roll_random_table("1d282", chargen_tables["name"])
# base attribute values
self.strength = self._random_ability()
@ -159,17 +158,17 @@ class TemporaryCharacterSheet:
self.charisma = self._random_ability()
# physical attributes (only for rp purposes)
physique = dice.roll_random_table("1d20", chargen_table["physique"])
face = dice.roll_random_table("1d20", chargen_table["face"])
skin = dice.roll_random_table("1d20", chargen_table["skin"])
hair = dice.roll_random_table("1d20", chargen_table["hair"])
clothing = dice.roll_random_table("1d20", chargen_table["clothing"])
speech = dice.roll_random_table("1d20", chargen_table["speech"])
virtue = dice.roll_random_table("1d20", chargen_table["virtue"])
vice = dice.roll_random_table("1d20", chargen_table["vice"])
background = dice.roll_random_table("1d20", chargen_table["background"])
misfortune = dice.roll_random_table("1d20", chargen_table["misfortune"])
alignment = dice.roll_random_table("1d20", chargen_table["alignment"])
physique = dice.roll_random_table("1d20", chargen_tables["physique"])
face = dice.roll_random_table("1d20", chargen_tables["face"])
skin = dice.roll_random_table("1d20", chargen_tables["skin"])
hair = dice.roll_random_table("1d20", chargen_tables["hair"])
clothing = dice.roll_random_table("1d20", chargen_tables["clothing"])
speech = dice.roll_random_table("1d20", chargen_tables["speech"])
virtue = dice.roll_random_table("1d20", chargen_tables["virtue"])
vice = dice.roll_random_table("1d20", chargen_tables["vice"])
background = dice.roll_random_table("1d20", chargen_tables["background"])
misfortune = dice.roll_random_table("1d20", chargen_tables["misfortune"])
alignment = dice.roll_random_table("1d20", chargen_tables["alignment"])
self.desc = (
f"You are {physique} with a {face} face, {skin} skin, {hair} hair, {speech} speech,"
@ -185,21 +184,21 @@ class TemporaryCharacterSheet:
self.level = 1
# random equipment
self.armor = dice.roll_random_table("1d20", chargen_table["armor"])
self.armor = dice.roll_random_table("1d20", chargen_tables["armor"])
_helmet_and_shield = dice.roll_random_table("1d20", chargen_table["helmets and shields"])
_helmet_and_shield = dice.roll_random_table("1d20", chargen_tables["helmets and shields"])
self.helmet = "helmet" if "helmet" in _helmet_and_shield else "none"
self.shield = "shield" if "shield" in _helmet_and_shield else "none"
self.weapon = dice.roll_random_table("1d20", chargen_table["starting weapon"])
self.weapon = dice.roll_random_table("1d20", chargen_tables["starting weapon"])
self.backpack = [
"ration",
"ration",
dice.roll_random_table("1d20", chargen_table["dungeoning gear"]),
dice.roll_random_table("1d20", chargen_table["dungeoning gear"]),
dice.roll_random_table("1d20", chargen_table["general gear 1"]),
dice.roll_random_table("1d20", chargen_table["general gear 2"]),
dice.roll_random_table("1d20", chargen_tables["dungeoning gear"]),
dice.roll_random_table("1d20", chargen_tables["dungeoning gear"]),
dice.roll_random_table("1d20", chargen_tables["general gear 1"]),
dice.roll_random_table("1d20", chargen_tables["general gear 2"]),
]
```
@ -367,7 +366,6 @@ def start_chargen(caller, session=None):
# this generates all random components of the character
tmp_character = TemporaryCharacterSheet()
tmp_character.generate()
EvMenu(caller, menutree, session=session, tmp_character=tmp_character)