Code source de artifacts.models.responses

from __future__ import annotations

from typing import Optional

from pydantic import BaseModel

from .bank import BankExtensionSchema, BankSchema
from .character import CharacterSchema
from .combat import CharacterFightSchema
from .common import (
    CooldownSchema,
    DestinationSchema,
    DropSchema,
    SimpleItemSchema,
)
from .enums import CharacterSkin, ItemSlot
from .grand_exchange import GEOrderCreatedSchema, GETransactionSchema
from .maps import MapSchema, TransitionSchema
from .npcs import NpcItemTransactionSchema
from .tasks import TaskSchema, TaskTradeSchema


# -- Movement --

[docs] class CharacterMovementDataSchema(BaseModel): cooldown: CooldownSchema destination: MapSchema path: list[list[int]] character: CharacterSchema
[docs] class CharacterTransitionDataSchema(BaseModel): cooldown: CooldownSchema destination: MapSchema transition: TransitionSchema character: CharacterSchema
# -- Combat --
[docs] class CharacterFightDataSchema(BaseModel): cooldown: CooldownSchema fight: CharacterFightSchema characters: list[CharacterSchema]
[docs] class CharacterRestDataSchema(BaseModel): cooldown: CooldownSchema hp_restored: int character: CharacterSchema
# -- Equipment --
[docs] class EquipRequestSchema(BaseModel): cooldown: CooldownSchema slot: ItemSlot item: SimpleItemSchema character: CharacterSchema
# -- Skills --
[docs] class SkillInfoSchema(BaseModel): xp: int items: list[DropSchema]
[docs] class SkillDataSchema(BaseModel): cooldown: CooldownSchema details: SkillInfoSchema character: CharacterSchema
[docs] class RecyclingItemsSchema(BaseModel): items: list[DropSchema]
[docs] class RecyclingDataSchema(BaseModel): cooldown: CooldownSchema details: RecyclingItemsSchema character: CharacterSchema
# -- Items --
[docs] class UseItemSchema(BaseModel): cooldown: CooldownSchema item: SimpleItemSchema character: CharacterSchema
[docs] class DeleteItemSchema(BaseModel): cooldown: CooldownSchema item: SimpleItemSchema character: CharacterSchema
# -- Bank --
[docs] class BankGoldTransactionSchema(BaseModel): cooldown: CooldownSchema bank: BankSchema character: CharacterSchema
[docs] class BankItemTransactionSchema(BaseModel): cooldown: CooldownSchema items: list[SimpleItemSchema] bank: list[SimpleItemSchema] character: CharacterSchema
[docs] class BankExtensionTransactionSchema(BaseModel): cooldown: CooldownSchema transaction: BankExtensionSchema character: CharacterSchema
# -- NPC --
[docs] class NpcMerchantTransactionSchema(BaseModel): cooldown: CooldownSchema transaction: NpcItemTransactionSchema character: CharacterSchema
# -- Grand Exchange --
[docs] class GEOrderTransactionSchema(BaseModel): cooldown: CooldownSchema order: GEOrderCreatedSchema character: CharacterSchema
[docs] class GETransactionListSchema(BaseModel): cooldown: CooldownSchema order: GETransactionSchema character: CharacterSchema
# -- Tasks --
[docs] class TaskDataSchema(BaseModel): cooldown: CooldownSchema task: TaskSchema character: CharacterSchema
[docs] class TaskCancelledSchema(BaseModel): cooldown: CooldownSchema character: CharacterSchema
[docs] class RewardDataSchema(BaseModel): cooldown: CooldownSchema rewards: dict character: CharacterSchema
[docs] class TaskTradeDataSchema(BaseModel): cooldown: CooldownSchema trade: TaskTradeSchema character: CharacterSchema
# -- Give --
[docs] class GiveGoldDataSchema(BaseModel): cooldown: CooldownSchema quantity: int receiver_character: CharacterSchema character: CharacterSchema
[docs] class GiveItemDataSchema(BaseModel): cooldown: CooldownSchema items: list[SimpleItemSchema] receiver_character: CharacterSchema character: CharacterSchema
# -- Misc --
[docs] class ClaimPendingItemDataSchema(BaseModel): cooldown: CooldownSchema item: SimpleItemSchema character: CharacterSchema
[docs] class ChangeSkinCharacterDataSchema(BaseModel): cooldown: CooldownSchema skin: CharacterSkin character: CharacterSchema