fixing some bugs
This commit is contained in:
@@ -315,7 +315,7 @@ class Cleric(Adventurer):
|
|||||||
self.spells = Cleric.spells[self.level]
|
self.spells = Cleric.spells[self.level]
|
||||||
self.spell_book = self.select_spells(cleric_spells)
|
self.spell_book = self.select_spells(cleric_spells)
|
||||||
self.atk = self.set_attack_bonus()
|
self.atk = self.set_attack_bonus()
|
||||||
self.turn_undead = self.__class__.turn_undead
|
self.turn_undead = Cleric.turn_undead
|
||||||
|
|
||||||
class Thief(Adventurer):
|
class Thief(Adventurer):
|
||||||
adv_class = "thief"
|
adv_class = "thief"
|
||||||
|
|||||||
11
app.py
11
app.py
@@ -32,7 +32,6 @@ def party():
|
|||||||
adv_party = returnParty(count, level)
|
adv_party = returnParty(count, level)
|
||||||
# check for cookies present
|
# check for cookies present
|
||||||
if request.cookies:
|
if request.cookies:
|
||||||
print('in cookies')
|
|
||||||
stored_count = len(request.cookies)
|
stored_count = len(request.cookies)
|
||||||
#print(request.cookies)
|
#print(request.cookies)
|
||||||
for c in request.cookies:
|
for c in request.cookies:
|
||||||
@@ -60,19 +59,16 @@ def party():
|
|||||||
reduced_party = stored_adv_party[:reduction]
|
reduced_party = stored_adv_party[:reduction]
|
||||||
adv_party.set_party(reduced_party, count, level)
|
adv_party.set_party(reduced_party, count, level)
|
||||||
# generate page
|
# generate page
|
||||||
print('about to gen response')
|
|
||||||
response = make_response(render_template("party.html", adv_party=adv_party, count=count, level=level, cache=cache))
|
response = make_response(render_template("party.html", adv_party=adv_party, count=count, level=level, cache=cache))
|
||||||
print(response)
|
print(response)
|
||||||
# make a cookie for each character
|
# 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
|
# 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:
|
for character in adv_party.adventurers:
|
||||||
print('in char for loop')
|
|
||||||
cookie_string = character.identifier
|
cookie_string = character.identifier
|
||||||
char_json = json.dumps(character.get_json())
|
char_json = json.dumps(character.get_json())
|
||||||
compressed = zlib.compress(char_json.encode())
|
compressed = zlib.compress(char_json.encode())
|
||||||
cookie_data = base64.urlsafe_b64encode(compressed).decode()
|
cookie_data = base64.urlsafe_b64encode(compressed).decode()
|
||||||
response.set_cookie(cookie_string, cookie_data)
|
response.set_cookie(cookie_string, cookie_data)
|
||||||
print('returning response')
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@app.route('/character', methods = ["GET","POST"])
|
@app.route('/character', methods = ["GET","POST"])
|
||||||
@@ -82,7 +78,7 @@ def character():
|
|||||||
level = request.args.get("level", default=1, type=int)
|
level = request.args.get("level", default=1, type=int)
|
||||||
role = request.args.get("role", default="fighter", type=str)
|
role = request.args.get("role", default="fighter", type=str)
|
||||||
cache = request.args.get("cache", default='true', 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_encoded = request.cookies[c_id]
|
||||||
cookie_compressed = base64.urlsafe_b64decode(cookie_encoded)
|
cookie_compressed = base64.urlsafe_b64decode(cookie_encoded)
|
||||||
character_dict = json.loads(zlib.decompress(cookie_compressed).decode())
|
character_dict = json.loads(zlib.decompress(cookie_compressed).decode())
|
||||||
@@ -98,6 +94,11 @@ def character():
|
|||||||
new_char = Adventurer(c_id, 1)
|
new_char = Adventurer(c_id, 1)
|
||||||
selected_class = ClassSelector(new_char).selection()
|
selected_class = ClassSelector(new_char).selection()
|
||||||
character = selected_class(new_char.identifier, new_char.level, new_char.get_attributes())
|
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))
|
response = make_response(render_template("character.html", character=character, level=level, cache=cache,role=role))
|
||||||
cookie_string = character.identifier
|
cookie_string = character.identifier
|
||||||
char_json = json.dumps(character.get_json())
|
char_json = json.dumps(character.get_json())
|
||||||
|
|||||||
6
main.py
6
main.py
@@ -124,13 +124,15 @@ def main():
|
|||||||
# adv.set_level(10)
|
# adv.set_level(10)
|
||||||
# print(adv.adv_class, adv.level)
|
# print(adv.adv_class, adv.level)
|
||||||
adv_dict = Adventurer.get_subclass_dict()
|
adv_dict = Adventurer.get_subclass_dict()
|
||||||
test_class = adv_dict['fighter']
|
test_class = adv_dict['cleric']
|
||||||
new_char = test_class(c_id="adv-1",level=5)
|
new_char = test_class(c_id="adv-1",level=2)
|
||||||
print(new_char.adv_class)
|
print(new_char.adv_class)
|
||||||
print(new_char.level)
|
print(new_char.level)
|
||||||
print(new_char.hp_rolls)
|
print(new_char.hp_rolls)
|
||||||
print(new_char.hp)
|
print(new_char.hp)
|
||||||
print(new_char.atk)
|
print(new_char.atk)
|
||||||
|
for k,v in new_char.turn_undead[new_char.level].items():
|
||||||
|
print(k, v)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
@@ -128,7 +128,7 @@
|
|||||||
<h5>Turn Undead</h5>
|
<h5>Turn Undead</h5>
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<thead><tr><th>Monster Hit Die</th><th>Roll to Turn</th><th></th><th></th></thead>
|
<thead><tr><th>Monster Hit Die</th><th>Roll to Turn</th><th></th><th></th></thead>
|
||||||
{%for k,v in character.turn_undead['1'].items() %}
|
{%for k,v in character.turn_undead[character.level].items() %}
|
||||||
<tbody><tr><th>{{k}} Hit Die</th><td>{{v}}</td><th></th><td></td></tr></tbody>
|
<tbody><tr><th>{{k}} Hit Die</th><td>{{v}}</td><th></th><td></td></tr></tbody>
|
||||||
{%endfor%}
|
{%endfor%}
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
<div class="column" >
|
<div class="column" >
|
||||||
<pre>{{character.vertical_sheet() | join("\n")}}</pre>
|
<pre>{{character.vertical_sheet() | join("\n")}}</pre>
|
||||||
<div class="block has-text-centered">
|
<div class="block has-text-centered">
|
||||||
<a class="button is-focused" href="{{ '/character?id={}'.format(character.identifier)}}">Select this {{character.player_class.title()}}</a>
|
<a class="button is-focused" href="{{ '/character?id={}&level={}&role={}&cache=true'.format(character.identifier,character.level,character.player_class)}}">Select this {{character.player_class.title()}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{%endfor%}
|
{%endfor%}
|
||||||
|
|||||||
Reference in New Issue
Block a user