from flask import request from flask_restx import Resource, Namespace, reqparse from app.functions.roll_mental_attack import roll_mental_attack namespace = Namespace('gameplay', description='Gamma World Rules') # doc(params={'ams': 'Attacker Mental Strength', # 'dms': 'Defender Mental Strength', # 'modifier': 'Roll Modifier'}) parser = reqparse.RequestParser() parser.add_argument('ams', type=int, required=True, help='Attacker Mental Strength (1 - 18)') parser.add_argument('dms', type=int, required=True, help='Defender Mental Strength (1 - 18)') parser.add_argument('modifier', type=int, required=True, help='Roll Modifier') @namespace.route('/attack/mental') # resolves to: /gameplay/attack/mental class MentalAttack(Resource): @namespace.expect(parser) def get(self): ams = request.args.get('ams', type=int) dms = request.args.get('dms', type=int) modifier = request.args.get('modifier', type=int) if ams < 1 or ams > 18: return {'message': 'Attacker Mental Strength must be between 1 and 18'}, 400 if dms < 1 or dms > 18: return {'message': 'Defender Mental Strength must be between 1 and 18'}, 400 return roll_mental_attack(ams, dms, modifier), 200