rework shop
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
from sqlalchemy import DateTime, ForeignKey, Integer, String, UniqueConstraint, Boolean
|
||||
from sqlalchemy import DateTime, ForeignKey, Integer, String, UniqueConstraint, Boolean, Float
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
from app.core.database import Base
|
||||
@@ -32,7 +32,15 @@ class Participant(Base):
|
||||
# Shop: consumables state
|
||||
skips_used: Mapped[int] = mapped_column(Integer, default=0)
|
||||
has_active_boost: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
has_shield: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
|
||||
# Lucky Dice state
|
||||
has_lucky_dice: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
lucky_dice_multiplier: Mapped[float | None] = mapped_column(Float, nullable=True)
|
||||
|
||||
# Undo state - stores last drop data for potential rollback
|
||||
last_drop_points: Mapped[int | None] = mapped_column(Integer, nullable=True)
|
||||
last_drop_streak_before: Mapped[int | None] = mapped_column(Integer, nullable=True)
|
||||
can_undo: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
|
||||
# Relationships
|
||||
user: Mapped["User"] = relationship("User", back_populates="participations")
|
||||
|
||||
@@ -28,9 +28,11 @@ class ItemRarity(str, Enum):
|
||||
|
||||
class ConsumableType(str, Enum):
|
||||
SKIP = "skip"
|
||||
SHIELD = "shield"
|
||||
BOOST = "boost"
|
||||
REROLL = "reroll"
|
||||
WILD_CARD = "wild_card"
|
||||
LUCKY_DICE = "lucky_dice"
|
||||
COPYCAT = "copycat"
|
||||
UNDO = "undo"
|
||||
|
||||
|
||||
class ShopItem(Base):
|
||||
|
||||
Reference in New Issue
Block a user