You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
4.3 KiB
184 lines
4.3 KiB
import click
|
|
from flask.cli import AppGroup
|
|
|
|
from ..models import db
|
|
|
|
|
|
npc_cli = AppGroup('npc')
|
|
|
|
@npc_cli.command('create classes')
|
|
def create_classes():
|
|
from .models import CharacterClass
|
|
|
|
classes = []
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Elven Nightblade',
|
|
bucket = 'Demi-Human',
|
|
prime_requisite = 'D+I',
|
|
hit_die_size = 6,
|
|
maximum_level = 11,
|
|
armour_modifier = -4,
|
|
melee_light = 1,
|
|
melee_medium = 2,
|
|
melee_heavy = 0,
|
|
ranged_light = 0,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Elven Spellsword',
|
|
bucket = 'Demi-Human',
|
|
prime_requisite = 'S+I',
|
|
hit_die_size = 6,
|
|
maximum_level = 10,
|
|
armour_modifier = -4,
|
|
melee_light = 0,
|
|
melee_medium = 1,
|
|
melee_heavy = 0,
|
|
ranged_light = 0,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Explorer',
|
|
bucket = 'Campaign',
|
|
prime_requisite = 'S+D',
|
|
hit_die_size = 6,
|
|
maximum_level = 14,
|
|
armour_modifier = -3,
|
|
melee_light = 1,
|
|
melee_medium = 1,
|
|
melee_heavy = 0,
|
|
ranged_light = 0,
|
|
ranged_heavy = 1
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Bladedancer',
|
|
bucket = 'Campaign',
|
|
prime_requisite = 'W+D',
|
|
hit_die_size = 6,
|
|
maximum_level = 14,
|
|
armour_modifier = -2,
|
|
melee_light = 0,
|
|
melee_medium = 1,
|
|
melee_heavy = 0,
|
|
ranged_light = 0,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Cleric',
|
|
bucket = 'Core',
|
|
prime_requisite = 'WIS',
|
|
hit_die_size = 6,
|
|
maximum_level = 14,
|
|
armour_modifier = 0,
|
|
melee_light = 1,
|
|
melee_medium = 3,
|
|
melee_heavy = 1,
|
|
ranged_light = 1,
|
|
ranged_heavy = 3
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Fighter',
|
|
bucket = 'Core',
|
|
prime_requisite = 'STR',
|
|
hit_die_size = 8,
|
|
maximum_level = 14,
|
|
armour_modifier = 1,
|
|
melee_light = 1,
|
|
melee_medium = 4,
|
|
melee_heavy = 1,
|
|
ranged_light = 1,
|
|
ranged_heavy = 1
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Thief',
|
|
bucket = 'Core',
|
|
prime_requisite = 'DEX',
|
|
hit_die_size = 4,
|
|
maximum_level = 14,
|
|
armour_modifier = -6,
|
|
melee_light = 1,
|
|
melee_medium = 1,
|
|
melee_heavy = 0,
|
|
ranged_light = 1,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Mage',
|
|
bucket = 'Core',
|
|
prime_requisite = 'INT',
|
|
hit_die_size = 4,
|
|
maximum_level = 14,
|
|
armour_modifier = -8,
|
|
melee_light = 1,
|
|
melee_medium = 0,
|
|
melee_heavy = 0,
|
|
ranged_light = 0,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Assassin',
|
|
bucket = 'Campaign',
|
|
prime_requisite = 'S+D',
|
|
hit_die_size = 6,
|
|
maximum_level = 14,
|
|
armour_modifier = -6,
|
|
melee_light = 1,
|
|
melee_medium = 2,
|
|
melee_heavy = 0,
|
|
ranged_light = 1,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Bard',
|
|
bucket = 'Campaign',
|
|
prime_requisite = 'D+H',
|
|
hit_die_size = 6,
|
|
maximum_level = 14,
|
|
armour_modifier = -3,
|
|
melee_light = 1,
|
|
melee_medium = 2,
|
|
melee_heavy = 0,
|
|
ranged_light = 1,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Dwarven Vaultguard',
|
|
bucket = 'Demi-Human',
|
|
prime_requisite = 'STR',
|
|
hit_die_size = 8,
|
|
maximum_level = 13,
|
|
armour_modifier = -1,
|
|
melee_light = 0,
|
|
melee_medium = 3,
|
|
melee_heavy = 1,
|
|
ranged_light = 1,
|
|
ranged_heavy = 1
|
|
))
|
|
|
|
classes.append(CharacterClass(
|
|
name = 'Dwarven Craftpriest',
|
|
bucket = 'Demi-Human',
|
|
prime_requisite = 'WIS',
|
|
hit_die_size = 6,
|
|
maximum_level = 10,
|
|
armour_modifier = -2,
|
|
melee_light = 0,
|
|
melee_medium = 1,
|
|
melee_heavy = 0,
|
|
ranged_light = 1,
|
|
ranged_heavy = 0
|
|
))
|
|
|
|
db.session.bulk_save_objects(classes)
|
|
db.session.commit()
|