from flask_restx import fields # Common fields chartype_field = fields.String( required=False, default="human", description='Character type. Allowed values: "human", "humanoid", "mutant", "cyborg", "android"') # Dice model dice_model = { 'quantity': fields.Integer(required=True, description='The number of dice to roll'), 'geometry': fields.Integer(required=True, description='The number of sides on each die'), 'discard_lowest': fields.Boolean(required=False, default=False, description='Drop the lowest score') } # Ability model ability_model = { 'chartype': chartype_field, 'ability': fields.String(required=False, description='The ability to roll. Not required. Defaults "generic"'), } # Hp model hp_model = { 'chartype': chartype_field, 'conscore': fields.Integer(required=True, description='Conscore') } ma_model = { 'ams': fields.Integer(required=True, description='Attacker Mental Strength'), 'dms': fields.Integer(required=True, description='Defender Mental Strength'), 'modifier': fields.Integer(required=True, description='Modifier For Mental Strength'), } character_model = { 'chartype': chartype_field, } encounter_model = { 'terrain': fields.String( required=True, default="clear", description='The terrain being traversed by the party when the encounter roll is made' ) }