backend:добавили характеристика расы и класса

This commit is contained in:
Leonid-Murzinov
2022-11-19 20:43:44 +03:00
parent 193c4cd5db
commit deee83dc80
3 changed files with 161 additions and 2 deletions

View File

@@ -36,6 +36,11 @@ class CharacterRace(db.Model, SerializerMixin):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=True, unique=True)
characters = db.relationship("Character", backref="race", lazy="dynamic")
endurance_koef = db.Column(db.Float(), nullable=True, unique=False)
strength_koef = db.Column(db.Float(), nullable=True, unique=False)
agility_koef = db.Column(db.Float(), nullable=True, unique=False)
defence_koef = db.Column(db.Float(), nullable=True, unique=False)
wisdom_koef = db.Column(db.Float(), nullable=True, unique=False)
def __str__(self):
return self.name
@@ -50,6 +55,11 @@ class CharacterClass(db.Model, SerializerMixin):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=True, unique=True)
characters = db.relationship("Character", backref="class", lazy="dynamic")
endurance_koef = db.Column(db.Float(), nullable=True, unique=False)
strength_koef = db.Column(db.Float(), nullable=True, unique=False)
agility_koef = db.Column(db.Float(), nullable=True, unique=False)
defence_koef = db.Column(db.Float(), nullable=True, unique=False)
wisdom_koef = db.Column(db.Float(), nullable=True, unique=False)
def __str__(self):
return self.name
@@ -81,5 +91,35 @@ class Character(db.Model, SerializerMixin):
db.DateTime, nullable=False, default=datetime.datetime.now()
)
endurance_base = db.Column(db.Integer(), nullable=True, unique=False)
strength_base = db.Column(db.Integer(), nullable=True, unique=False)
agility_base = db.Column(db.Integer(), nullable=True, unique=False)
defence_base = db.Column(db.Integer(), nullable=True, unique=False)
wisdom_base = db.Column(db.Integer(), nullable=True, unique=False)
def __str__(self):
return self.name
@property
def attack_power(self):
return (
self.strength_base
* self.character_race.strength_koef
* self.character_class.strength_koef
)
@property
def defence_chance(self):
return (
self.defence_base
* self.character_race.defence_koef
* self.character_class.defence_koef
)
@property
def saving_chance(self):
return (
self.agility_base
* self.character_race.agility_koef
* self.character_class.agility_koef
)