From ef5d3474a771518c93ccc10a3b5b7d55a0a0832f Mon Sep 17 00:00:00 2001 From: Zachary Watts Date: Thu, 30 Apr 2026 14:33:51 -0400 Subject: [PATCH] fixing some bugs --- adventurers.py | 2 +- app.py | 11 ++++++----- main.py | 6 ++++-- templates/character.html | 2 +- templates/party.html | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/adventurers.py b/adventurers.py index 231484f..4815751 100755 --- a/adventurers.py +++ b/adventurers.py @@ -315,7 +315,7 @@ class Cleric(Adventurer): self.spells = Cleric.spells[self.level] self.spell_book = self.select_spells(cleric_spells) self.atk = self.set_attack_bonus() - self.turn_undead = self.__class__.turn_undead + self.turn_undead = Cleric.turn_undead class Thief(Adventurer): adv_class = "thief" diff --git a/app.py b/app.py index 5fd829b..36e8ac6 100644 --- a/app.py +++ b/app.py @@ -32,7 +32,6 @@ def party(): adv_party = returnParty(count, level) # check for cookies present if request.cookies: - print('in cookies') stored_count = len(request.cookies) #print(request.cookies) for c in request.cookies: @@ -60,19 +59,16 @@ def party(): reduced_party = stored_adv_party[:reduction] adv_party.set_party(reduced_party, count, level) # generate page - print('about to gen response') response = make_response(render_template("party.html", adv_party=adv_party, count=count, level=level, cache=cache)) print(response) # make a cookie for each character # this took a while to figure out, json was too large, b64 encoded json was too large, but it turns out you can compress json as a cookie for character in adv_party.adventurers: - print('in char for loop') cookie_string = character.identifier char_json = json.dumps(character.get_json()) compressed = zlib.compress(char_json.encode()) cookie_data = base64.urlsafe_b64encode(compressed).decode() response.set_cookie(cookie_string, cookie_data) - print('returning response') return response @app.route('/character', methods = ["GET","POST"]) @@ -82,7 +78,7 @@ def character(): level = request.args.get("level", default=1, type=int) role = request.args.get("role", default="fighter", type=str) cache = request.args.get("cache", default='true', type=str) - if request.cookies and cache == "true": + if request.cookies and cache != "false": cookie_encoded = request.cookies[c_id] cookie_compressed = base64.urlsafe_b64decode(cookie_encoded) character_dict = json.loads(zlib.decompress(cookie_compressed).decode()) @@ -98,6 +94,11 @@ def character(): new_char = Adventurer(c_id, 1) selected_class = ClassSelector(new_char).selection() character = selected_class(new_char.identifier, new_char.level, new_char.get_attributes()) + role = character.player_class + level = character.level + # bug fix for cleric issues + if character.player_class == "cleric": + character.turn_undead = { int(k) : v for k,v in character.turn_undead.items() } response = make_response(render_template("character.html", character=character, level=level, cache=cache,role=role)) cookie_string = character.identifier char_json = json.dumps(character.get_json()) diff --git a/main.py b/main.py index a8884dd..7f15769 100755 --- a/main.py +++ b/main.py @@ -124,13 +124,15 @@ def main(): # adv.set_level(10) # print(adv.adv_class, adv.level) adv_dict = Adventurer.get_subclass_dict() - test_class = adv_dict['fighter'] - new_char = test_class(c_id="adv-1",level=5) + test_class = adv_dict['cleric'] + new_char = test_class(c_id="adv-1",level=2) print(new_char.adv_class) print(new_char.level) print(new_char.hp_rolls) print(new_char.hp) print(new_char.atk) + for k,v in new_char.turn_undead[new_char.level].items(): + print(k, v) if __name__ == "__main__": main() diff --git a/templates/character.html b/templates/character.html index 15fb714..57e121e 100644 --- a/templates/character.html +++ b/templates/character.html @@ -128,7 +128,7 @@
Turn Undead
- {%for k,v in character.turn_undead['1'].items() %} + {%for k,v in character.turn_undead[character.level].items() %} {%endfor%}
Monster Hit DieRoll to Turn
{{k}} Hit Die{{v}}
diff --git a/templates/party.html b/templates/party.html index 0bbab49..fd78a5e 100644 --- a/templates/party.html +++ b/templates/party.html @@ -82,7 +82,7 @@
{{character.vertical_sheet() | join("\n")}}
{%endfor%}