NPC spell generation, front end

This commit is contained in:
Brandon Cornejo 2020-05-22 18:42:29 -05:00
parent a683cd9007
commit b3c8ae7328
4 changed files with 17 additions and 4 deletions

View File

@ -55,6 +55,7 @@ def populate_npc_database():
spell.arcane = 0
if spell.divine == '':
spell.divine = 0
spell.description = spell.description.strip()
db.session.bulk_save_objects(spells)
db.session.commit()

View File

@ -1,3 +1,5 @@
import base64
from flask_sqlalchemy import SQLAlchemy
from ..models import db, BaseModel
@ -120,7 +122,7 @@ class Spell(BaseModel):
'is_divine': self.is_divine,
'arcane': self.arcane,
'is_arcane': self.is_arcane,
'description': self.description #.replace('"', '\\"').replace("'", "\\'")
'description': base64.b64encode(self.description.encode('ascii')).decode('ascii')
}
return spell_dict
@ -283,6 +285,13 @@ class CharacterNPC(BaseModel):
}
}
if self.guild.is_divine_spellcaster or self.guild.is_arcane_spellcaster:
npc_dict['spells'] = []
spell_list = self.spell_list()
for level in spell_list:
for spell in spell_list[level]:
npc_dict['spells'].append(spell.roll20_format)
if self.ranged:
npc_dict['ranged'] = {
'name': self.ranged.name,

View File

@ -106,6 +106,9 @@ def select_spell_list(npc, data):
level_set.add(choice(overall_spell_list[level]).id)
npc_spell_list.extend(level_set)
# FOR DEBUG XXX NOTE
npc_spell_list.append(106)
return ','.join(str(sid) for sid in npc_spell_list)
def calc_hp(conmod, hit_die_size, level):

View File

@ -270,7 +270,7 @@ div.acks-npc-card {
// Fill in spell details
document.querySelector('#spell-modal-title').innerText = modal_spell.name;
document.querySelector('#spell-modal-desc').innerText = modal_spell.description;
document.querySelector('#spell-modal-desc').innerText = atob(modal_spell.description);
if(spell.range) {
document.querySelector('#spell-modal-range').innerText = modal_spell.range;
@ -294,9 +294,9 @@ div.acks-npc-card {
function showExportModal() {
{% if party %}
{% for npc in party %}
{% for npc in party %}
party.push(JSON.parse('{{ npc.roll20_format | tojson }}'));
{% endfor %}
{% endfor %}
{% endif %}
for(let cb of document.querySelectorAll('#pe_selects > label > input')) {