Enum OverlordEvent

Source
pub enum OverlordEvent {
Show 234 variants OpenItemCase { batch_size: i64, }, AutoChestOpenItemCase { batch_size: i64, }, PlayerNewItems { items: Vec<Item>, }, PlayerEquipItem { item_id: Uuid, }, SellItem { item_id: Uuid, }, ItemSold { item_id: Uuid, }, ItemsExpired { item_ids: Vec<Uuid>, }, PlinkoBallDropped { item_id: Uuid, path: Vec<PlinkoDirection>, }, UpgradeItemCase {}, ItemCaseUpgraded {}, SpeedupUpgradeItemCase {}, SkipUpgradeItemCase {}, ClaimUpgradeItemCase {}, EnableAutoSell {}, DisableAutoSell {}, SetGearOverrideEnabled { item_type: ItemType, enabled: bool, }, EnableAutoChest {}, DisableAutoChest {}, EnableAutoChestFilter { filter_id: AutoChestFilterId, }, DisableAutoChestFilter {}, EnableAutoChestPowerCompare {}, DisableAutoChestPowerCompare {}, UpdateAutoChestBatchSize { batch_size: i64, }, NewAutoChestFilter { filter: Box<AutoChestFilter>, }, UpdateAutoChestFilter { updated_filter: Box<AutoChestFilter>, }, RemoveAutoChestFilter { filter_id: AutoChestFilterId, }, OpenAbilityCase { roll_type: AbilityCaseRollType, }, SetAbilityGachaWishlist { ability_ids: Vec<AbilityId>, }, UpgradeAbilitySlot { slot_id: u64, }, AbilityCaseOpened { batch_size: u8, }, NewAbilities { abilities: Vec<AbilityDrop>, }, FastEquipAbilities {}, EquipAbility { slot_id: u64, ability_id: AbilityId, }, UnequipAbility { slot_id: AbilitySlotId, }, EquipAbilities { equipped_abilities: EquippedAbilities, }, UpgradeAbility { ability_id: AbilityId, }, UpgradeAllAbilities {}, UpgradedAbilities { upgraded_abilities: UpgradedAbilitiesMap, }, UpgradeAbilityCase {}, SocketAbilityStone { ability_id: AbilityId, socket_index: AbilityStoneSocketIndex, stone_id: AbilityStoneId, }, UnsocketAbilityStone { ability_id: AbilityId, socket_index: AbilityStoneSocketIndex, }, UpgradeAbilityStone { stone_id: AbilityStoneId, }, NewAbilityStones { stones: Vec<AbilityStoneDrop>, }, CurrencyIncrease { currencies: Vec<CurrencyUnit>, currency_source: CurrencySource, }, CurrencyDecrease { currencies: Vec<CurrencyUnit>, currency_consumer: CurrencyConsumer, }, NewCharacterLevel { level: i64, }, StartGame {}, PrepareFight { prepare_fight_type: PrepareFightType, }, StartFight { fight_id: Uuid, }, FightProgress {}, EndFight { fight_id: Uuid, is_win: bool, pvp_state: Option<Box<PVPState>>, }, StageCleared {}, RaidDungeon { dungeon_id: DungeonTemplateId, difficulty: i64, amount: i64, }, WaveCleared {}, StartVassalPVPSync { opponent_id: Uuid, opponent_suzerain_id: Option<Uuid>, }, StartArenaPVPSync { opponent_id: Uuid, is_bot: bool, }, StartArenaRematchSync { match_id: Uuid, }, RefreshArenaMatchmaking {}, BuyArenaTicket {}, StartMove { entity_id: Uuid, to: Coordinates, duration_ticks: u64, }, EndMove { entity_id: Uuid, }, SpawnEntity { id: EntityId, entity_template_id: EntityTemplateId, position: Coordinates, entity_team: EntityTeam, has_big_hp_bar: bool, entity_attributes: EntityAttributes, }, StartCastAbility { by_entity_id: Uuid, ability_id: AbilityId, pet_id: Option<PetId>, origin: CombatEventOrigin, }, StartedCastAbility { by_entity_id: Uuid, ability_id: AbilityId, duration_ticks: u64, origin: CombatEventOrigin, }, CastAbility { by_entity_id: Uuid, to_entity_id: Uuid, ability_id: AbilityId, origin: CombatEventOrigin, }, StartCastProjectile { by_entity_id: Uuid, to_entity_id: Uuid, projectile_id: Uuid, level: i64, delay: u64, source: CombatSource, origin: CombatEventOrigin, }, StartedCastProjectile { by_entity_id: Uuid, to_entity_id: Uuid, projectile_id: Uuid, duration_ticks: u64, source: CombatSource, origin: CombatEventOrigin, }, DerivedAbilityStrike { by_entity_id: Uuid, to_entity_id: Uuid, ability_id: AbilityId, level: i64, payload_permille: i64, source_paid_mana_x100: i64, delay: u64, }, EntityIncrAttributeDelayed { entity_id: Uuid, attribute: String, delta: i64, delay: u64, }, CastProjectile { by_entity_id: Uuid, to_entity_id: Uuid, projectile_id: Uuid, level: i64, projectile_data: CustomEventData, source: CombatSource, origin: CombatEventOrigin, }, Damage { by_entity_id: Option<EntityId>, entity_id: Uuid, damage: u64, damage_data: CustomEventData, origin: CombatEventOrigin, source: CombatSource, }, GlobalFlip { entity_id: EntityId, source: FlipProgressSource, from_side: WorldSide, to_side: WorldSide, revision: u64, }, StoneTriggerFired { entity_id: EntityId, item_type: ItemType, trigger_stone_id: StoneTemplateId, }, Heal { by_entity_id: Option<EntityId>, entity_id: Uuid, heal: u64, origin: CombatEventOrigin, source: CombatSource, }, CounterAttack { by_entity_id: Uuid, to_entity_id: Uuid, duration_ticks: u64, origin: CombatEventOrigin, }, Multicast { entity_id: Uuid, amount: u64, origin: CombatEventOrigin, }, Evasion { entity_id: Uuid, origin: CombatEventOrigin, }, PlayerDeath {}, EntityDeath { entity_id: Uuid, reward: Vec<CurrencyUnit>, origin: CombatEventOrigin, }, EntityIncrAttribute { entity_id: Uuid, attribute: String, delta: i64, }, EntityAddAbilityCooldown { entity_id: Uuid, ability_id: Uuid, delta_ticks: i64, }, EntityCancelCastWithCooldown { entity_id: Uuid, ability_id: Uuid, }, EntityStun { entity_id: Uuid, duration_ticks: u64, }, EntityApplyEffect { entity_id: Uuid, effect_id: Uuid, origin: CombatEventOrigin, }, CastEffect { entity_id: Uuid, effect_id: Uuid, origin: CombatEventOrigin, }, CastEffectFromEvent { entity_id: Uuid, effect_id: Uuid, caller_event: Box<OverlordEvent>, }, FightCustomEvent { entity_id: u64, value: String, }, FightVisualEvent { effect_type: String, effect_data: CustomEventData, }, SetMaxHp { entity_id: EntityId, new_max_hp: u64, new_hp: u64, }, ClaimVassalReward { character_id: Uuid, }, ClaimSuzerainReward {}, NewSuzerain { new_suzerain: Option<Box<Suzerain>>, }, RemoveVassal { vassal_id: Uuid, }, GiveTask { vassal_id: Uuid, template_task_id: Uuid, }, NewTask { new_task: Box<VassalTask>, }, AcceptTask { task_id: Uuid, is_good: bool, }, TaskAccepted { task_id: Uuid, started_good: bool, started_at: DateTime<Utc>, finish_at: DateTime<Utc>, }, HitHands { task_id: Uuid, }, HandsHitted { task_id: Uuid, }, TaskFinished { task_id: Uuid, }, ClaimTaskReward { task_id: Uuid, }, GiveResistTask { new_resist_task: Box<VassalTask>, }, AcceptResistTask {}, ResistTaskAccepted { new_resist_task: Box<VassalTask>, }, CatchResistTask { task_id: Uuid, }, ResistTaskCatched { task_id: Uuid, }, ResistTaskFinished { task_id: Uuid, }, ClaimResistTaskReward { task_id: Uuid, }, SetCustomValue { key: String, value: i64, }, SetConnectionStore { key: String, value: i64, }, ClaimQuest { quest_id: Uuid, }, ClaimAllQuests { quest_group_type: QuestGroupType, }, PatronQuestCompleted { quest_id: Uuid, }, HiddenQuestCompleted { quest_id: Uuid, }, QuestCompleted { quest_id: Uuid, }, NewQuests { quest_ids: Vec<Uuid>, }, UpdateActiveLoopTaskId { quest_id: Uuid, }, ResetRepeatingQuests { quest_ids: Vec<Uuid>, }, ClaimQuestProgressionReward { quest_group_type: QuestGroupType, }, ClaimReferralLvlUpReward { level: i64, }, ClaimReferralDailyReward {}, ReferralDailyRewardStatusUpdate { referral_daily_reward_status: bool, }, SendGift { receiver_id: Uuid, config_gift_id: Uuid, }, NewGift { new_gift: Box<Gift>, }, AcceptGift { gift_id: Uuid, }, ClaimAfkReward {}, AfkRewardClaimed {}, AfkRewardsGatingUnlocked {}, ClaimAfkInstantRewardGems {}, WatchAd { ad_reward_type: AdRewardType, }, ShowBird { variant_id: BirdVariantId, }, BirdShown {}, ResetAdUsage { placements: Vec<AdPlacement>, }, ResetInstantRewardGemsPressCount {}, ClaimBundleStepGeneric {}, AddBundleGroup { bundle_ids: Vec<BundleId>, source: CurrencySource, }, LevelUpClass { class_id: Uuid, }, Respec { new_class_id: Uuid, }, LinkGuestAccount { token: String, }, SetUsername { username: String, }, SetCharacterBlocked { character_id: Uuid, blocked: bool, }, CreateAbilityPreset { name: Option<String>, ability_ids: Vec<AbilityId>, index: i64, }, EditAbilityPreset { preset_id: AbilityPresetId, name: String, ability_ids: Vec<AbilityId>, }, EnableCaseUpgradePopUp {}, DisableCaseUpgradePopUp {}, BuySkins { skin_ids: Vec<SkinId>, equip: bool, }, EquipAndUnequipSkins { equip_skin_ids: Vec<SkinId>, unequip_skin_ids: Vec<SkinId>, }, RunCheat { cheat: Cheat, }, ClaimMail { mail_id: MailId, }, ClaimAllMails {}, MakeRead { mail_id: MailId, }, MakeAllRead {}, DeleteMail { mail_id: MailId, }, DeleteAllMails {}, NewMail { new_mail: Box<Mail>, }, NewOffer { offer_template_id: OfferTemplateId, }, BuyOffer { purchase_token: Option<String>, offer_id: OfferId, }, OfferPurchaseCompleted { purchase_token: String, offer_id: OfferId, is_test_purchase: bool, }, OfferPurchaseFailed { purchase_token: String, offer_id: OfferId, }, PurchasesBanned {}, ResetOffers { new_offers: Vec<Offer>, }, EquipPet { slot_id: u64, pet_id: PetId, }, UnequipPet { slot_id: PetSlotId, }, FastEquipPets {}, EquipPets { equipped_pets: EquippedPets, }, UpgradePet { pet_id: PetId, }, UpgradeAllPets {}, SetPetFacetLaw { role: PetFacetLawRole, law_template_id: Option<LawTemplateId>, }, UpgradedPets { upgraded_pets: UpgradedPetsMap, }, UpgradePetSlot { slot_id: u64, }, OpenPetCase { roll_type: PetCaseRollType, }, SetPetGachaWishlist { pet_ids: Vec<PetId>, }, PetCaseOpened { batch_size: u8, }, NewPets { pets: Vec<PetDrop>, }, UpgradePetCase {}, TutorialShown { step_number: i16, }, TutorialStepCompleted { step_number: i16, }, ClientLifecycle { lifecycle_status: String, active_screen_code: String, session_uptime_secs: i64, current_chapter_level: i64, current_character_level: i64, current_power: i64, active_fight: bool, active_fight_current_wave: i64, }, AddCharacterToParty { character_id: Uuid, }, RemoveCharacterFromParty {}, RefreshPartyPlayers {}, RefreshPartyMemberState {}, StartTalentResearch { talent_id: TalentId, }, TalentResearchStarted { talent_id: TalentId, finish_at: DateTime<Utc>, }, SpeedupTalentResearch {}, SkipTalentResearch {}, ClaimTalentResearch {}, StatueRoll { set_index: u8, locked_slot_indices: Vec<u8>, }, StatueActivateSet { set_index: u8, }, StatueAddSet {}, StatueRenameSet { set_index: u8, name: String, }, StatueLockSlot { set_index: u8, slot_index: u8, is_locked: bool, }, StatueRollNewSlot { set_index: u8, slot_index: u8, }, UpgradeCore { side: WorldSide, }, UpgradeLaw { law_template_id: LawTemplateId, }, SlotLaw { law_template_id: LawTemplateId, slot_index: i64, }, UnslotLaw { law_template_id: LawTemplateId, }, CreateLawBridge { first_law_template_id: LawTemplateId, second_law_template_id: LawTemplateId, }, RemoveLawBridge { first_law_template_id: LawTemplateId, second_law_template_id: LawTemplateId, }, NewLawCopies { law_template_id: LawTemplateId, amount: i64, }, InsertStone { template_id: StoneTemplateId, item_type: ItemType, socket: StoneSocketSlot, }, RemoveStone { template_id: StoneTemplateId, }, UpgradeStone { template_id: StoneTemplateId, }, QuickEquipStones { item_type: ItemType, }, UpgradeAllTriggerStones {}, UpgradeAllEffectStones {}, UpgradedStones { upgraded_stones: UpgradedStonesMap, }, PlayerNewStones { trigger_stones: Vec<StoneTemplateId>, effect_stones: Vec<StoneTemplateId>, }, ClaimProgressPassFreeReward { tier: u32, }, ClaimProgressPassPaidReward { tier: u32, }, ClaimAllProgressPassRewards { is_paid: bool, }, UserRating { rating: Option<i8>, }, ShowRateUs {}, RateUsShown {}, RateUs { stars: i32, }, Error { code: String, message: String, }, CustomEvent { event_type: String, data: CustomEventData, }, MoveProgress { entity_id: Uuid, to: Coordinates, }, SetFightContentLoading { fight_id: Uuid, loading: bool, }, ClaimRatingRewards { rating_type: RatingType, }, SetRatingRewardAvailability { availability: RatingRewardAvailability, }, EquipArtifact { template_id: ArtifactTemplateId, }, InsertArtifactStone { template_id: ArtifactStoneTemplateId, socket: ArtifactSocketSlot, }, RemoveArtifactStone { template_id: ArtifactStoneTemplateId, }, UpgradeArtifactStone { template_id: ArtifactStoneTemplateId, }, PlayerNewArtifacts { artifacts: Vec<ArtifactTemplateId>, artifact_stones: Vec<ArtifactStoneTemplateId>, }, FireArtifactEffect { owner_id: EntityId, effect_template_id: StoneTemplateId, effect_level: i64, share_permyriad: i64, artifact_stone_id: ArtifactStoneTemplateId, }, SetArtifactStoneLawTarget { template_id: ArtifactStoneTemplateId, law_template_id: Option<LawTemplateId>, }, QuickEquipAbilityStones { ability_id: AbilityId, }, UpgradeAllAbilityStones {}, UpgradedAbilityStones { upgraded_ability_stones: UpgradedAbilityStonesMap, }, UpgradeArtifact { template_id: ArtifactTemplateId, }, ResetCores {}, SetArenaWorldSide { side: WorldSide, },
}

Variants§

§

OpenItemCase

Fields

§batch_size: i64
§

AutoChestOpenItemCase

Fields

§batch_size: i64
§

PlayerNewItems

Fields

§items: Vec<Item>
§

PlayerEquipItem

Fields

§item_id: Uuid
§

SellItem

Fields

§item_id: Uuid
§

ItemSold

Fields

§item_id: Uuid
§

ItemsExpired

Сервер→клиент: предметы с истёкшим TTL удалены (само удаление — в патче).

Fields

§item_ids: Vec<Uuid>
§

PlinkoBallDropped

Сервер→клиент: путь шарика Plinko для одного выданного предмета.

Путь катит сервер (он же начисляет статы за задетые колышки), клиент только проигрывает анимацию ровно по этим шагам. Событие идёт СЛЕДОМ за PlayerNewItems, чтобы предмет уже был в инвентаре; связь с наградой — по item_id. PlayerNewItems выдаётся и вне Plinko (временные предметы при входе, награды) — там этого события нет.

Fields

§item_id: Uuid
§

UpgradeItemCase

§

ItemCaseUpgraded

§

SpeedupUpgradeItemCase

§

SkipUpgradeItemCase

§

ClaimUpgradeItemCase

§

EnableAutoSell

§

DisableAutoSell

§

SetGearOverrideEnabled

Fields

§item_type: ItemType
§enabled: bool
§

EnableAutoChest

§

DisableAutoChest

§

EnableAutoChestFilter

Fields

§

DisableAutoChestFilter

§

EnableAutoChestPowerCompare

§

DisableAutoChestPowerCompare

§

UpdateAutoChestBatchSize

Fields

§batch_size: i64
§

NewAutoChestFilter

Fields

§

UpdateAutoChestFilter

Fields

§updated_filter: Box<AutoChestFilter>
§

RemoveAutoChestFilter

Fields

§

OpenAbilityCase

Fields

§

SetAbilityGachaWishlist

Обновляет вишлист гачи способностей. Список ограничен числом слотов и разрешенными редкостями текущего уровня гачи.

Fields

§ability_ids: Vec<AbilityId>
§

UpgradeAbilitySlot

Повышает уровень указанного слота способностей за Stardust.

Fields

§slot_id: u64
§

AbilityCaseOpened

Fields

§batch_size: u8
§

NewAbilities

Fields

§abilities: Vec<AbilityDrop>
§

FastEquipAbilities

§

EquipAbility

Fields

§slot_id: u64
§ability_id: AbilityId
§

UnequipAbility

Fields

§

EquipAbilities

Fields

§equipped_abilities: EquippedAbilities
§

UpgradeAbility

Fields

§ability_id: AbilityId
§

UpgradeAllAbilities

§

UpgradedAbilities

Fields

§upgraded_abilities: UpgradedAbilitiesMap
§

UpgradeAbilityCase

§

SocketAbilityStone

Ставит камень способности в сокет. Сокет несёт сторону (Real/Fantasy), поэтому один и тот же камень подходит в любой из сокетов.

Fields

§ability_id: AbilityId
§

UnsocketAbilityStone

Вынимает камень из сокета способности.

Fields

§ability_id: AbilityId
§

UpgradeAbilityStone

Повышает уровень камня способности, тратя его сырые копии.

Fields

§

NewAbilityStones

Выдача копий камней способностей (дроп/награда). Серверное событие.

Fields

§

CurrencyIncrease

Fields

§currencies: Vec<CurrencyUnit>
§currency_source: CurrencySource
§

CurrencyDecrease

Fields

§currencies: Vec<CurrencyUnit>
§currency_consumer: CurrencyConsumer
§

NewCharacterLevel

Fields

§level: i64
§

StartGame

§

PrepareFight

Fields

§prepare_fight_type: PrepareFightType
§

StartFight

Fields

§fight_id: Uuid
§

FightProgress

§

EndFight

Fields

§fight_id: Uuid
§is_win: bool
§pvp_state: Option<Box<PVPState>>
§

StageCleared

§

RaidDungeon

Fields

§difficulty: i64
§amount: i64
§

WaveCleared

§

StartVassalPVPSync

Fields

§opponent_id: Uuid
§opponent_suzerain_id: Option<Uuid>
§

StartArenaPVPSync

Fields

§opponent_id: Uuid
§is_bot: bool
§

StartArenaRematchSync

Fields

§match_id: Uuid
§

RefreshArenaMatchmaking

§

BuyArenaTicket

§

StartMove

Fields

§entity_id: Uuid
§duration_ticks: u64
§

EndMove

Fields

§entity_id: Uuid
§

SpawnEntity

Fields

§entity_template_id: EntityTemplateId
§position: Coordinates
§entity_team: EntityTeam
§has_big_hp_bar: bool
§entity_attributes: EntityAttributes
§

StartCastAbility

Fields

§by_entity_id: Uuid
§ability_id: AbilityId
§pet_id: Option<PetId>
§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

StartedCastAbility

Fields

§by_entity_id: Uuid
§ability_id: AbilityId
§duration_ticks: u64
§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

CastAbility

Fields

§by_entity_id: Uuid
§to_entity_id: Uuid
§ability_id: AbilityId
§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

StartCastProjectile

Fields

§by_entity_id: Uuid
§to_entity_id: Uuid
§projectile_id: Uuid
§level: i64
§delay: u64
§source: CombatSource

What launched this projectile, carried to the landing so the hit is attributed to the ability rather than to the projectile template — a projectile is how a skill delivers its payload, and the catalog gives projectiles no display name of their own.

§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

StartedCastProjectile

Fields

§by_entity_id: Uuid
§to_entity_id: Uuid
§projectile_id: Uuid
§duration_ticks: u64
§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

DerivedAbilityStrike

A DERIVED copy of an ability’s payload produced by a support stone (Repeat / Pulse): the ability’s own payload, scaled by payload_permille, landing delay ticks after the original cast.

It is deliberately NOT a cast: it never runs on_cast, never pays mana, never touches a cooldown and never charges the pet bar, and the damage it produces is tagged derived — so no Law, Resonance, Mastery or trigger reader may count it as a Core event.

Fields

§by_entity_id: Uuid
§to_entity_id: Uuid
§ability_id: AbilityId
§level: i64
§payload_permille: i64

Payload share in permille (500 = 50% of the ability’s payload).

§source_paid_mana_x100: i64

What the SOURCE cast finally paid for its mana, in x100 fixed point, or -1 when it never paid (no pool, a pet ult). A delayed copy resolves after other casts may have landed, so it carries the price with it instead of reading whatever the caster paid last — that is what lets a Mana-conditioned law or trigger judge the RE-trigger by the same cost as the original (BAL-019).

§delay: u64

Ticks (ms) to wait before the copy resolves. Routed onto the fight clock at the cast site; the scheduled copy carries 0.

§

EntityIncrAttributeDelayed

EntityIncrAttribute that lands delay ticks later. Used by the Shelter support to close its damage-reduction window; the fight clock owns the timer, so nothing has to be polled per tick.

Fields

§entity_id: Uuid
§attribute: String
§delta: i64
§delay: u64
§

CastProjectile

Fields

§by_entity_id: Uuid
§to_entity_id: Uuid
§projectile_id: Uuid
§level: i64
§projectile_data: CustomEventData
§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

Damage

Fields

§by_entity_id: Option<EntityId>

Combatant responsible for this damage. Ownerless environment and legacy effects use None and do not grant flip progress.

§entity_id: Uuid
§damage: u64
§damage_data: CustomEventData
§origin: CombatEventOrigin

Core/Proc provenance — see OverlordEvent::combat_origin.

§source: CombatSource

WHICH producer this damage belongs to — the attribution the end-of-fight breakdown is built from. Stamped at the emit site, where the producing id is in scope; origin answers “was this a modifier’s work”, this answers “whose”.

§

GlobalFlip

Server-authored marker for one completed global equipment-side flip.

Fields

§entity_id: EntityId

Fight-local entity whose equipment presentation changed. This is required because PvP and party fights can contain several players, each with an independent flip state.

§source: FlipProgressSource

Producer that supplied the threshold-crossing progress gain.

§from_side: WorldSide

Side presented before this transition.

§to_side: WorldSide

Side presented after this transition.

§revision: u64

Monotonic transition key copied from the resulting FlipState.

§

StoneTriggerFired

Server-authored marker for one Trigger-Stone fire. The combat outcomes a fire produces are deliberately anonymous (origin: Proc carries no source), so this is the only client-visible record of WHICH socketed trigger fired — the UI attributes the proc to its equipment slot with it. Nothing reads it server-side.

Fields

§entity_id: EntityId

Fight-local combatant whose socketed trigger fired.

§item_type: ItemType

Equipment slot whose Trigger socket held the fired stone.

§trigger_stone_id: StoneTemplateId

Catalog id of the fired Trigger Stone.

§

Heal

Fields

§by_entity_id: Option<EntityId>

Combatant responsible for this heal. None for ownerless healing (regeneration on a mob, environment effects).

§entity_id: Uuid
§heal: u64
§origin: CombatEventOrigin

Core/Proc provenance — see OverlordEvent::combat_origin.

§source: CombatSource

Producer of this heal — see OverlordEvent::Damage::source.

§

CounterAttack

Fields

§by_entity_id: Uuid
§to_entity_id: Uuid
§duration_ticks: u64
§origin: CombatEventOrigin

Core/Proc provenance — see OverlordEvent::combat_origin.

§

Multicast

Fields

§entity_id: Uuid
§amount: u64
§origin: CombatEventOrigin

Core/Proc provenance — see OverlordEvent::combat_origin.

§

Evasion

Fields

§entity_id: Uuid
§origin: CombatEventOrigin

Core/Proc provenance — see OverlordEvent::combat_origin.

§

PlayerDeath

§

EntityDeath

Fields

§entity_id: Uuid
§origin: CombatEventOrigin

Core/Proc provenance — see OverlordEvent::combat_origin.

§

EntityIncrAttribute

Fields

§entity_id: Uuid
§attribute: String
§delta: i64
§

EntityAddAbilityCooldown

Fields

§entity_id: Uuid
§ability_id: Uuid
§delta_ticks: i64
§

EntityCancelCastWithCooldown

Fields

§entity_id: Uuid
§ability_id: Uuid
§

EntityStun

Stuns an entity for duration_ticks. Internally cancels any in-flight cast (sending it to its full cooldown), and freezes every ability’s cooldown progression by extending each one by duration_ticks. Off-cooldown abilities get a fresh stun-only cooldown. Designers fire this from the stun effect’s apply script — no per-ability iteration in

Fields

§entity_id: Uuid
§duration_ticks: u64
§

EntityApplyEffect

Fields

§entity_id: Uuid
§effect_id: Uuid
§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

CastEffect

Fields

§entity_id: Uuid
§effect_id: Uuid
§origin: CombatEventOrigin

Core/Proc provenance carried to this event’s own output — see OverlordEvent::carried_origin.

§

CastEffectFromEvent

Fields

§entity_id: Uuid
§effect_id: Uuid
§caller_event: Box<OverlordEvent>
§

FightCustomEvent

Fields

§entity_id: u64
§value: String
§

FightVisualEvent

Fields

§effect_type: String
§effect_data: CustomEventData
§

SetMaxHp

Fields

§entity_id: EntityId
§new_max_hp: u64
§new_hp: u64
§

ClaimVassalReward

Fields

§character_id: Uuid
§

ClaimSuzerainReward

§

NewSuzerain

Fields

§new_suzerain: Option<Box<Suzerain>>
§

RemoveVassal

Fields

§vassal_id: Uuid
§

GiveTask

Fields

§vassal_id: Uuid
§template_task_id: Uuid
§

NewTask

Fields

§new_task: Box<VassalTask>
§

AcceptTask

Fields

§task_id: Uuid
§is_good: bool
§

TaskAccepted

Fields

§task_id: Uuid
§started_good: bool
§started_at: DateTime<Utc>
§finish_at: DateTime<Utc>
§

HitHands

Fields

§task_id: Uuid
§

HandsHitted

Fields

§task_id: Uuid
§

TaskFinished

Fields

§task_id: Uuid
§

ClaimTaskReward

Fields

§task_id: Uuid
§

GiveResistTask

Fields

§new_resist_task: Box<VassalTask>
§

AcceptResistTask

§

ResistTaskAccepted

Fields

§new_resist_task: Box<VassalTask>
§

CatchResistTask

Fields

§task_id: Uuid
§

ResistTaskCatched

Fields

§task_id: Uuid
§

ResistTaskFinished

Fields

§task_id: Uuid
§

ClaimResistTaskReward

Fields

§task_id: Uuid
§

SetCustomValue

Fields

§value: i64
§

SetConnectionStore

Fields

§value: i64
§

ClaimQuest

Fields

§quest_id: Uuid
§

ClaimAllQuests

Fields

§quest_group_type: QuestGroupType
§

PatronQuestCompleted

Fields

§quest_id: Uuid
§

HiddenQuestCompleted

Fields

§quest_id: Uuid
§

QuestCompleted

Fields

§quest_id: Uuid
§

NewQuests

Fields

§quest_ids: Vec<Uuid>
§

UpdateActiveLoopTaskId

Fields

§quest_id: Uuid
§

ResetRepeatingQuests

Fields

§quest_ids: Vec<Uuid>
§

ClaimQuestProgressionReward

Fields

§quest_group_type: QuestGroupType
§

ClaimReferralLvlUpReward

Fields

§level: i64
§

ClaimReferralDailyReward

§

ReferralDailyRewardStatusUpdate

Fields

§referral_daily_reward_status: bool
§

SendGift

Fields

§receiver_id: Uuid
§config_gift_id: Uuid
§

NewGift

Fields

§new_gift: Box<Gift>
§

AcceptGift

Fields

§gift_id: Uuid
§

ClaimAfkReward

§

AfkRewardClaimed

§

AfkRewardsGatingUnlocked

Emitted when the player crosses the AFK rewards unlock chapter threshold and the async handler has adjusted last_afk_reward_claimed_at so that the elapsed time is not less than min_required_time_sec. The side effect handler persists the new value to the database.

§

ClaimAfkInstantRewardGems

§

WatchAd

Fields

§ad_reward_type: AdRewardType
§

ShowBird

Fields

§variant_id: BirdVariantId
§

BirdShown

Отправляется клиентом, когда птица была успешно показана игроку. Переводит птицу в полный кулдаун.

§

ResetAdUsage

Fields

§placements: Vec<AdPlacement>
§

ResetInstantRewardGemsPressCount

§

ClaimBundleStepGeneric

§

AddBundleGroup

Fields

§bundle_ids: Vec<BundleId>
§

LevelUpClass

Fields

§class_id: Uuid
§

Respec

Fields

§new_class_id: Uuid
§

LinkGuestAccount

Fields

§token: String
§

SetUsername

Fields

§username: String
§

SetCharacterBlocked

Fields

§character_id: Uuid
§blocked: bool
§

CreateAbilityPreset

Fields

§ability_ids: Vec<AbilityId>
§index: i64
§

EditAbilityPreset

Fields

§name: String
§ability_ids: Vec<AbilityId>
§

EnableCaseUpgradePopUp

§

DisableCaseUpgradePopUp

§

BuySkins

Fields

§skin_ids: Vec<SkinId>
§equip: bool
§

EquipAndUnequipSkins

Fields

§equip_skin_ids: Vec<SkinId>
§unequip_skin_ids: Vec<SkinId>
§

RunCheat

Fields

§cheat: Cheat
§

ClaimMail

Fields

§mail_id: MailId
§

ClaimAllMails

§

MakeRead

Fields

§mail_id: MailId
§

MakeAllRead

§

DeleteMail

Fields

§mail_id: MailId
§

DeleteAllMails

§

NewMail

Fields

§new_mail: Box<Mail>
§

NewOffer

Fields

§offer_template_id: OfferTemplateId
§

BuyOffer

Fields

§purchase_token: Option<String>
§offer_id: OfferId
§

OfferPurchaseCompleted

Fields

§purchase_token: String
§offer_id: OfferId
§is_test_purchase: bool
§

OfferPurchaseFailed

Fields

§purchase_token: String
§offer_id: OfferId
§

PurchasesBanned

§

ResetOffers

Fields

§new_offers: Vec<Offer>
§

EquipPet

Fields

§slot_id: u64
§pet_id: PetId
§

UnequipPet

Fields

§slot_id: PetSlotId
§

FastEquipPets

§

EquipPets

Fields

§equipped_pets: EquippedPets
§

UpgradePet

Fields

§pet_id: PetId
§

UpgradeAllPets

§

SetPetFacetLaw

Pet Facets: the out-of-combat pre-selection the three “one chosen Law” facets act on (Lead Reading, Wild Reading, Dream Reader).

None clears the slot, which is legal: an unset selection falls back to the lowest-slot eligible Law rather than switching the facet off.

Fields

§law_template_id: Option<LawTemplateId>
§

UpgradedPets

Fields

§upgraded_pets: UpgradedPetsMap
§

UpgradePetSlot

Fields

§slot_id: u64
§

OpenPetCase

Fields

§

SetPetGachaWishlist

Обновляет вишлист гачи петов.

Fields

§pet_ids: Vec<PetId>
§

PetCaseOpened

Fields

§batch_size: u8
§

NewPets

Fields

§pets: Vec<PetDrop>
§

UpgradePetCase

§

TutorialShown

Fields

§step_number: i16
§

TutorialStepCompleted

Fields

§step_number: i16
§

ClientLifecycle

Client lifecycle transition used for churn diagnostics. Sent when the Unity app is paused/resumed or loses/regains focus.

Fields

§lifecycle_status: String
§active_screen_code: String
§session_uptime_secs: i64
§current_chapter_level: i64
§current_character_level: i64
§current_power: i64
§active_fight: bool
§active_fight_current_wave: i64
§

AddCharacterToParty

Fields

§character_id: Uuid
§

RemoveCharacterFromParty

§

RefreshPartyPlayers

§

RefreshPartyMemberState

§

StartTalentResearch

Начать изучение следующего уровня таланта (клиент -> бэкенд).

Fields

§talent_id: TalentId
§

TalentResearchStarted

Бэкенд подтверждает начало изучения таланта.

Fields

§talent_id: TalentId
§finish_at: DateTime<Utc>
§

SpeedupTalentResearch

Ускорить изучение таланта с помощью таймскип-билетика.

§

SkipTalentResearch

Пропустить оставшееся время изучения за валюту (брюли/таймскипы).

§

ClaimTalentResearch

Забрать завершённый талант (после истечения таймера). Эмитируется бэкендом автоматически.

§

StatueRoll

Откатить незаблокированные слоты статуи. Списывает валюту, начисляет опыт статуе.

Fields

§set_index: u8
§locked_slot_indices: Vec<u8>
§

StatueActivateSet

Сделать указанный сет статуи активным (“In Use”).

Fields

§set_index: u8
§

StatueAddSet

Добавить новый сет статуи (если уровень статуи позволяет).

§

StatueRenameSet

Переименовать сет статуи.

Fields

§set_index: u8
§name: String
§

StatueLockSlot

Заблокировать или разблокировать слот статуи.

Fields

§set_index: u8
§slot_index: u8
§is_locked: bool
§

StatueRollNewSlot

Бесплатный первичный ролл для нового слота на любом сете (после создания сета или повышения уровня статуи).

Fields

§set_index: u8
§slot_index: u8
§

UpgradeCore

Поднять уровень одного ядра на 1 за валюту ядер.

Fields

§

UpgradeLaw

Поднять уровень закона, потратив сырые копии этого же закона. Если бой уже идёт, новая сборка применяется со следующего боя.

Fields

§law_template_id: LawTemplateId
§

SlotLaw

Поставить закон в слот ядра своей стороны. Текущий бой не пересчитывается.

Fields

§law_template_id: LawTemplateId
§slot_index: i64
§

UnslotLaw

Снять закон со слота. Снимает и все его мосты; текущий бой не пересчитывается.

Fields

§law_template_id: LawTemplateId
§

CreateLawBridge

Создать мост между двумя законами из разных ядер. Текущий бой сохраняет свой снимок.

Fields

§first_law_template_id: LawTemplateId
§second_law_template_id: LawTemplateId
§

RemoveLawBridge

Снять мост между двумя законами. Текущий бой сохраняет свой снимок.

Fields

§first_law_template_id: LawTemplateId
§second_law_template_id: LawTemplateId
§

NewLawCopies

Серверный маркер: игрок получил копии закона (дроп).

Fields

§law_template_id: LawTemplateId
§amount: i64
§

InsertStone

Вставить камень в сокет предмета. Камень адресуется своим шаблоном: у игрока не больше одного экземпляра каждого шаблона. Можно менять и в бою.

Fields

§template_id: StoneTemplateId
§item_type: ItemType
§

RemoveStone

Вынуть камень из сокета. Камень возвращается в инвентарь без потерь. Можно менять и в бою.

Fields

§template_id: StoneTemplateId
§

UpgradeStone

Поднять камень на уровень за сырые копии. Игрок называет камень, сервер сам списывает нужное число копий по лестнице из конфига. Триггеры и эффекты качаются раздельно. Можно качать и в бою.

Fields

§template_id: StoneTemplateId
§

QuickEquipStones

Быстро надеть в предмет лучшие свободные камни: один Trigger и два Effect — или столько, сколько сокетов открыто. Закрытые и уже занятые сокеты пропускаются, камни из других предметов не трогаются, «лучший» считается сначала по тиру, потом по уровню. Можно менять и в бою.

Fields

§item_type: ItemType
§

UpgradeAllTriggerStones

Прокачать все Trigger-камни, которым хватает сырых копий, за один вызов — столько уровней подряд, сколько позволяет лестница. Камни в сокетах и в инвентаре обрабатываются одинаково. Можно качать и в бою.

Каталоги разделены на два события, потому что кнопка на экране качает ту вкладку, которая открыта, а не обе сразу.

§

UpgradeAllEffectStones

То же самое для Effect-камней. См. UpgradeAllTriggerStones.

§

UpgradedStones

Что именно подняла прокачка камней: id шаблона -> (уровень до, после). Как UpgradedAbilities — фронт показывает по нему окно результата, а квесты читают прогресс. Пустым не отправляется.

Fields

§upgraded_stones: UpgradedStonesMap
§

PlayerNewStones

Сервер выдал новые сырые копии камней (ВРЕМЕННО — с открытия сундука, см. configs::stones::StoneDropSettings). Каждый элемент — одна копия; повторы допустимы и считаются штуками.

Fields

§trigger_stones: Vec<StoneTemplateId>
§effect_stones: Vec<StoneTemplateId>
§

ClaimProgressPassFreeReward

Fields

§tier: u32
§

ClaimProgressPassPaidReward

Fields

§tier: u32
§

ClaimAllProgressPassRewards

Fields

§is_paid: bool
§

UserRating

User rated the game (1–5) or declined to rate (rating = None).

Fields

§rating: Option<i8>
§

ShowRateUs

Server tells the client to display the rate-us prompt. Emitted whenever current_chapter_level >= game_settings.rate_us_chapter and character.rate_us_shown is still false. Re-emitted on every new session start until the client acknowledges with RateUsShown.

§

RateUsShown

Client confirms the rate-us prompt was displayed. Flips character.rate_us_shown to true so the server stops emitting.

§

RateUs

Client reports the rate-us star selection (1–5).

Fields

§stars: i32
§

Error

Fields

§code: String
§message: String
§

CustomEvent

Fields

§event_type: String
§

MoveProgress

Server-only: a multi-cell run passes its next cell. Keeps the runner’s coordinates ticking cell-by-cell during a single StartMove so opponents target the cell he is actually passing, not the run’s destination. Scheduled by handle_start_move; appended at the enum tail to keep postcard variant tags of older events stable.

Fields

§entity_id: Uuid
§

SetFightContentLoading

Temporarily pauses the matching active fight while the client downloads required visual content, or a completed fight while it preloads the next campaign location. Kept at the enum tail so postcard variant tags of existing events remain stable.

Fields

§fight_id: Uuid
§loading: bool
§

ClaimRatingRewards

Claims every unclaimed Daily and Weekly entitlement for one rating as a single standard bundle group. Duplicate requests are a no-op. Appended at the enum tail to preserve postcard tags of existing events.

Fields

§rating_type: RatingType
§

SetRatingRewardAvailability

Server-only projection event used by cron wake-ups to refresh one rating’s authoritative notification flags on a connected client. Appended at the enum tail to preserve postcard tags of existing events.

Fields

§

EquipArtifact

Надеть артефакт. Одновременно надет ровно один: событие заменяет предыдущий, снимая только его World Law. Владение и бонус за владение не меняются. Можно менять в бою.

Fields

§

InsertArtifactStone

Вставить камень артефакта в один из шести сокетов. Сокет, который камень принимает, задан его шаблоном; чужой сокет отклоняется. Можно менять в бою.

§

RemoveArtifactStone

Вынуть камень артефакта из сокета. Камень остаётся в коллекции с уровнем и копиями. Можно менять в бою.

Fields

§

UpgradeArtifactStone

Поднять камень артефакта на уровень за сырые копии. Правило не меняется, растёт только величина. Можно менять в бою.

Fields

§

PlayerNewArtifacts

Сервер выдал артефакты и/или камни артефакта. Первая копия создаёт предмет первого уровня; каждый дубликат только банкуется сырой копией, в том числе на максимальном уровне. Уровни меняют отдельные клиентские события улучшения.

Fields

§artifact_stones: Vec<ArtifactStoneTemplateId>
§

FireArtifactEffect

Запустить эффект-камень от имени артефакта — серверное событие, клиент его не шлёт.

Существует ради одного правила: FA-05 Staggered Entrance разносит свои пять эффектов по полсекунды. Взвод в v0.2 — прямая запись в атрибут, а не событие, поэтому отложить сам эффект нечем; откладывается весь запуск целиком, и отложенный запуск ничем не отличается от обычного, кроме момента. Боевые показания перечитываются на исполнении: ближайший враг через полсекунды может быть другим. Если боя уже нет — событие ничего не делает.

Fields

§owner_id: EntityId

Боец, чей артефакт запускает эффект: локальный герой, союзник по party или PvP-соперник. Показания боя перечитываются от его имени.

§effect_template_id: StoneTemplateId
§effect_level: i64
§share_permyriad: i64

Доля силы правила, посчитанная на флипе. В десятитысячных, потому что enum событий выводит Eq, а f64 его не реализует: 7000 — это 0,7.

§artifact_stone_id: ArtifactStoneTemplateId

Камень-аспект, чьё правило отложило этот прогон. Нужен, чтобы отложенный запуск попал в ту же строку разбора боя, что и мгновенный.

§

SetArtifactStoneLawTarget

Назначить камню правой колонки закон, на который он действует, или снять назначение (law_template_id: None). Можно менять в бою.

Адресом служит один закон, и этого хватает в том числе камням про мосты: у моста нет своего идентификатора, но в v0.2 у закона ровно один партнёр, поэтому «мост, в котором состоит закон X» — однозначный адрес. Отсюда следствие: если игрок разберёт мост выбранного закона и построит ему другой, камень переедет на новый мост сам.

Fields

§law_template_id: Option<LawTemplateId>
§

QuickEquipAbilityStones

Заполняет свободные открытые сокеты ОДНОЙ способности лучшими камнями из коллекции. Закрытые и уже занятые сокеты пропускаются, правила приёма те же, что у ручной установки: совместимость по тегам, одно семейство на один Imprint, один шаблон на способность. Сокет, которому нечего предложить, остаётся пустым без ошибки. Добавлено в хвост enum, чтобы не сдвинуть postcard-теги существующих.

Fields

§ability_id: AbilityId
§

UpgradeAllAbilityStones

Поднимает уровень каждого камня способности, которому хватает сырых копий, — столько уровней подряд, сколько позволяет лестница. Камни в сокетах и в коллекции обрабатываются одинаково; камень, который не может оплатить следующий уровень, пропускается, а не роняет весь вызов. Добавлено в хвост enum, чтобы не сдвинуть postcard-теги существующих.

§

UpgradedAbilityStones

Что именно подняла массовая прокачка камней способностей: id шаблона -> (уровень до, после). Как UpgradedStones — фронт показывает по нему окно результата. Пустым не отправляется. Добавлено в хвост enum, чтобы не сдвинуть postcard-теги существующих.

Fields

§upgraded_ability_stones: UpgradedAbilityStonesMap
§

UpgradeArtifact

Raises one owned artifact by one level and atomically spends the exact raw-copy cost configured for that next level. Appended at the enum tail to preserve postcard tags of every existing event.

Fields

§

ResetCores

Сбрасывает уровни ОБОИХ ядер в 0 и возвращает всю валюту, потраченную на их подъём (точная сумма core_level_cost по обеим лестницам). Уровень 0 не даёт слотов законов, поэтому все законы снимаются со слотов путём UnslotLaw: мосты уходят, камни артефакта забывают выбранные законы. Сами законы, их уровни и копии не трогаются. Добавлено в хвост enum ради стабильности postcard-тегов.

§

SetArenaWorldSide

Выбор мира (Real/Fantasy), с которого игрок стартует арена-бои — и как атакующий, и как снапшот-оппонент в чужих боях. Валиден только при разлоченном флипе. Добавлено в хвост enum ради стабильности postcard-тегов.

Fields

Implementations§

Source§

impl OverlordEvent

Source

pub fn combat_origin(&self) -> Option<CombatEventOrigin>

Provenance of a trigger-eligible combat outcome, or None when this event is not one.

The outcome vocabulary is exactly what a trigger can subscribe to: Damage (an attack, a crit — the crit flag rides in damage_data), Heal, Evasion (a dodge), CounterAttack, Multicast and EntityDeath (a mob death). Everything else answers None, including the carriers of OverlordEvent::carried_origin: a trigger fires on the damage a cast produced, never on the cast itself. GlobalFlip answers None too — a flip is a state transition, not a combat action, and must never read as Core.

Source

pub fn is_core_combat_event(&self) -> bool

Whether a trigger may react to this event. False for every non-combat event, for every carrier, and for anything a modifier produced.

Source

pub fn carried_origin(&self) -> Option<CombatEventOrigin>

Provenance this event hands down to whatever it produces — the outcomes above plus the carriers that forward a producer’s work.

A modifier’s work does not reach its outcome in one hop: a stone that grants an extra swing emits a cast, the cast schedules a projectile, the projectile lands damage. Each link therefore carries provenance, so the mark survives every hop, including the delayed ones that leave through crate::fight::FightClock. The carriers are the ability-cast chain (StartCastAbility / StartedCastAbility / CastAbility), the projectile chain (StartCastProjectile / StartedCastProjectile / CastProjectile) and effect dispatch (EntityApplyEffect / CastEffect / CastEffectFromEvent).

CastEffectFromEvent derives instead of storing: it already boxes the event the subscription fired on, which is the exact producer to inherit from. This is what keeps the “Proc damage → subscribed effect → heal” hop from resetting to Core, at any depth.

Two things are deliberately not carriers. A combatant spawned by a modifier fights with its own Core actions — it is a real fighter whose rate is bounded by its own cadence, not an instant re-entry. And FightProgress, the global heartbeat, drives every entity’s turn, so it belongs to no single producer.

Source

pub fn set_origin(&mut self, new_origin: CombatEventOrigin) -> bool

Restamps provenance on any event that carries it — outcome or carrier. Returns false (and changes nothing) for events that carry none, CastEffectFromEvent included: it derives from its boxed caller and has no field of its own.

This is how a modifier’s output is marked without every emit site knowing about modifiers: the producing scope restamps whatever the fight primitives emitted.

Source

pub fn with_origin(self, new_origin: CombatEventOrigin) -> Self

Source

pub fn carries_origin(&self) -> bool

Whether this event already carries provenance, i.e. whether OverlordEvent::set_origin can mark it. A non-Core producer scope may only emit events for which this holds — see crate::mechanics::fight::OriginSink.

Trait Implementations§

Source§

impl Clone for OverlordEvent

Source§

fn clone(&self) -> OverlordEvent

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OverlordEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for OverlordEvent

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for OverlordEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Event for OverlordEvent

Source§

fn is_client(&self) -> bool

If true then this event can be emitted by the client.
Source§

impl EventHandler<OverlordEvent, OverlordState> for PureEventHandler

Source§

type Context = ()

Source§

async fn create_context_for_batch( &self, _state: &OverlordState, ) -> Result<Self::Context>

Source§

async fn handle_event( &mut self, _ctx: &Self::Context, event: &OverlordEvent, meta: EventMeta, prev_state: &OverlordState, state: OverlordState, ) -> Result<EventHandleResult<OverlordEvent, OverlordState>>

One call per event. prev_state is the System’s state before this event (same data as state, by reference — avoids an extra clone for the compute_fields diff). Impls are responsible for: pure state mutation -> compute_fields fold (diff vs prev_state, runs for failed results too; prepend emitted events) -> DB persistence / validation -> analytics deferral. Err(_) aborts the whole batch (txn rollback). “Soft” failures must be returned as Ok(EventHandleResult::fail(...)).
Source§

fn compute_fields( &self, state: &mut OverlordState, prev_state: &OverlordState, ) -> Vec<OverlordEvent>

Can be used to compute fields that arent stored in database, but computed from stored data. Also can emit events on some logical data changes. This events eventually can change state. Sync, no DB. Called by impls inside handle_event and by System::apply_state_with_compute_fields.
Source§

fn collect_due_scheduled(&mut self, current_tick: u64) -> Vec<OverlordEvent>

Events the handler scheduled internally that are due at current_tick. Drained alongside the delayed/cron plugins on every tick. Lets a handler own domain scheduling (e.g. the fight clock) so the same state drives both the live system and standalone simulations. Deliberately has no default body — every impl must state it explicitly.
Source§

async fn finalize_state( &self, _ctx: &Self::Context, _state: &mut OverlordState, ) -> Result<()>

Source§

async fn persist_in_memory_state( &self, _ctx: &Self::Context, _state: &OverlordState, ) -> Result<()>

Persist in-memory state to DB context before commit. Called by flush_state to save changes accumulated between batches.
§

fn event_needs_full_context(&self, _event: &E, _state: &S) -> bool

Whether handling event may touch the context’s backing resources (DB transaction, persistence). Handlers that support pure (DB-less) contexts override this for events whose handling is pure logic end-to-end; the default — true for every event — keeps the eager full-context behavior. state is the System state at dispatch time — handlers use it for state-dependent persistence (e.g. quest subscriptions that persist progress on otherwise-pure events).
§

fn create_pure_context_for_batch( &self, state: &S, ) -> impl Future<Output = Result<Self::Context, Error>> + Send

Create a context for a batch whose events all have event_needs_full_context == false. Defaults to the full context.
§

fn context_is_pure(&self, _ctx: &Self::Context) -> bool

Whether ctx is a pure (DB-less) context that must be upgraded via upgrade_context before handling a full-context event.
§

fn upgrade_context( &self, ctx: Self::Context, _state: &S, ) -> impl Future<Output = Result<Self::Context, Error>> + Send
where Self::Context: Send,

Upgrade a pure context into a full one, carrying over all state accumulated so far. Only called when context_is_pure is true.
Source§

impl EventStruct<OverlordEvent> for OverlordEventAbilityCaseOpened

Source§

impl EventStruct<OverlordEvent> for OverlordEventAcceptGift

Source§

impl EventStruct<OverlordEvent> for OverlordEventAcceptResistTask

Source§

impl EventStruct<OverlordEvent> for OverlordEventAcceptTask

Source§

impl EventStruct<OverlordEvent> for OverlordEventAddBundleGroup

Source§

impl EventStruct<OverlordEvent> for OverlordEventAddCharacterToParty

Source§

impl EventStruct<OverlordEvent> for OverlordEventAfkRewardClaimed

Source§

impl EventStruct<OverlordEvent> for OverlordEventAfkRewardsGatingUnlocked

Source§

impl EventStruct<OverlordEvent> for OverlordEventAutoChestOpenItemCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventBirdShown

Source§

impl EventStruct<OverlordEvent> for OverlordEventBuyArenaTicket

Source§

impl EventStruct<OverlordEvent> for OverlordEventBuyOffer

Source§

impl EventStruct<OverlordEvent> for OverlordEventBuySkins

Source§

impl EventStruct<OverlordEvent> for OverlordEventCastAbility

Source§

impl EventStruct<OverlordEvent> for OverlordEventCastEffect

Source§

impl EventStruct<OverlordEvent> for OverlordEventCastEffectFromEvent

Source§

impl EventStruct<OverlordEvent> for OverlordEventCastProjectile

Source§

impl EventStruct<OverlordEvent> for OverlordEventCatchResistTask

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimAfkInstantRewardGems

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimAfkReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimAllMails

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimAllProgressPassRewards

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimAllQuests

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimBundleStepGeneric

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimMail

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimProgressPassFreeReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimProgressPassPaidReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimQuest

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimQuestProgressionReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimRatingRewards

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimReferralDailyReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimReferralLvlUpReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimResistTaskReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimSuzerainReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimTalentResearch

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimTaskReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimUpgradeItemCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventClaimVassalReward

Source§

impl EventStruct<OverlordEvent> for OverlordEventClientLifecycle

Source§

impl EventStruct<OverlordEvent> for OverlordEventCounterAttack

Source§

impl EventStruct<OverlordEvent> for OverlordEventCreateAbilityPreset

Source§

impl EventStruct<OverlordEvent> for OverlordEventCreateLawBridge

Source§

impl EventStruct<OverlordEvent> for OverlordEventCurrencyDecrease

Source§

impl EventStruct<OverlordEvent> for OverlordEventCurrencyIncrease

Source§

impl EventStruct<OverlordEvent> for OverlordEventCustomEvent

Source§

impl EventStruct<OverlordEvent> for OverlordEventDamage

Source§

impl EventStruct<OverlordEvent> for OverlordEventDeleteAllMails

Source§

impl EventStruct<OverlordEvent> for OverlordEventDeleteMail

Source§

impl EventStruct<OverlordEvent> for OverlordEventDerivedAbilityStrike

Source§

impl EventStruct<OverlordEvent> for OverlordEventDisableAutoChest

Source§

impl EventStruct<OverlordEvent> for OverlordEventDisableAutoChestFilter

Source§

impl EventStruct<OverlordEvent> for OverlordEventDisableAutoChestPowerCompare

Source§

impl EventStruct<OverlordEvent> for OverlordEventDisableAutoSell

Source§

impl EventStruct<OverlordEvent> for OverlordEventDisableCaseUpgradePopUp

Source§

impl EventStruct<OverlordEvent> for OverlordEventEditAbilityPreset

Source§

impl EventStruct<OverlordEvent> for OverlordEventEnableAutoChest

Source§

impl EventStruct<OverlordEvent> for OverlordEventEnableAutoChestFilter

Source§

impl EventStruct<OverlordEvent> for OverlordEventEnableAutoChestPowerCompare

Source§

impl EventStruct<OverlordEvent> for OverlordEventEnableAutoSell

Source§

impl EventStruct<OverlordEvent> for OverlordEventEnableCaseUpgradePopUp

Source§

impl EventStruct<OverlordEvent> for OverlordEventEndFight

Source§

impl EventStruct<OverlordEvent> for OverlordEventEndMove

Source§

impl EventStruct<OverlordEvent> for OverlordEventEntityAddAbilityCooldown

Source§

impl EventStruct<OverlordEvent> for OverlordEventEntityApplyEffect

Source§

impl EventStruct<OverlordEvent> for OverlordEventEntityCancelCastWithCooldown

Source§

impl EventStruct<OverlordEvent> for OverlordEventEntityDeath

Source§

impl EventStruct<OverlordEvent> for OverlordEventEntityIncrAttribute

Source§

impl EventStruct<OverlordEvent> for OverlordEventEntityIncrAttributeDelayed

Source§

impl EventStruct<OverlordEvent> for OverlordEventEntityStun

Source§

impl EventStruct<OverlordEvent> for OverlordEventEquipAbilities

Source§

impl EventStruct<OverlordEvent> for OverlordEventEquipAbility

Source§

impl EventStruct<OverlordEvent> for OverlordEventEquipAndUnequipSkins

Source§

impl EventStruct<OverlordEvent> for OverlordEventEquipArtifact

Source§

impl EventStruct<OverlordEvent> for OverlordEventEquipPet

Source§

impl EventStruct<OverlordEvent> for OverlordEventEquipPets

Source§

impl EventStruct<OverlordEvent> for OverlordEventError

Source§

impl EventStruct<OverlordEvent> for OverlordEventEvasion

Source§

impl EventStruct<OverlordEvent> for OverlordEventFastEquipAbilities

Source§

impl EventStruct<OverlordEvent> for OverlordEventFastEquipPets

Source§

impl EventStruct<OverlordEvent> for OverlordEventFightCustomEvent

Source§

impl EventStruct<OverlordEvent> for OverlordEventFightProgress

Source§

impl EventStruct<OverlordEvent> for OverlordEventFightVisualEvent

Source§

impl EventStruct<OverlordEvent> for OverlordEventFireArtifactEffect

Source§

impl EventStruct<OverlordEvent> for OverlordEventGiveResistTask

Source§

impl EventStruct<OverlordEvent> for OverlordEventGiveTask

Source§

impl EventStruct<OverlordEvent> for OverlordEventGlobalFlip

Source§

impl EventStruct<OverlordEvent> for OverlordEventHandsHitted

Source§

impl EventStruct<OverlordEvent> for OverlordEventHeal

Source§

impl EventStruct<OverlordEvent> for OverlordEventHiddenQuestCompleted

Source§

impl EventStruct<OverlordEvent> for OverlordEventHitHands

Source§

impl EventStruct<OverlordEvent> for OverlordEventInsertArtifactStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventInsertStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventItemCaseUpgraded

Source§

impl EventStruct<OverlordEvent> for OverlordEventItemSold

Source§

impl EventStruct<OverlordEvent> for OverlordEventItemsExpired

Source§

impl EventStruct<OverlordEvent> for OverlordEventLevelUpClass

Source§

impl EventStruct<OverlordEvent> for OverlordEventLinkGuestAccount

Source§

impl EventStruct<OverlordEvent> for OverlordEventMakeAllRead

Source§

impl EventStruct<OverlordEvent> for OverlordEventMakeRead

Source§

impl EventStruct<OverlordEvent> for OverlordEventMoveProgress

Source§

impl EventStruct<OverlordEvent> for OverlordEventMulticast

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewAbilities

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewAbilityStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewAutoChestFilter

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewCharacterLevel

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewGift

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewLawCopies

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewMail

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewOffer

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewPets

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewQuests

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewSuzerain

Source§

impl EventStruct<OverlordEvent> for OverlordEventNewTask

Source§

impl EventStruct<OverlordEvent> for OverlordEventOfferPurchaseCompleted

Source§

impl EventStruct<OverlordEvent> for OverlordEventOfferPurchaseFailed

Source§

impl EventStruct<OverlordEvent> for OverlordEventOpenAbilityCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventOpenItemCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventOpenPetCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventPatronQuestCompleted

Source§

impl EventStruct<OverlordEvent> for OverlordEventPetCaseOpened

Source§

impl EventStruct<OverlordEvent> for OverlordEventPlayerDeath

Source§

impl EventStruct<OverlordEvent> for OverlordEventPlayerEquipItem

Source§

impl EventStruct<OverlordEvent> for OverlordEventPlayerNewArtifacts

Source§

impl EventStruct<OverlordEvent> for OverlordEventPlayerNewItems

Source§

impl EventStruct<OverlordEvent> for OverlordEventPlayerNewStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventPlinkoBallDropped

Source§

impl EventStruct<OverlordEvent> for OverlordEventPrepareFight

Source§

impl EventStruct<OverlordEvent> for OverlordEventPurchasesBanned

Source§

impl EventStruct<OverlordEvent> for OverlordEventQuestCompleted

Source§

impl EventStruct<OverlordEvent> for OverlordEventQuickEquipAbilityStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventQuickEquipStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventRaidDungeon

Source§

impl EventStruct<OverlordEvent> for OverlordEventRateUs

Source§

impl EventStruct<OverlordEvent> for OverlordEventRateUsShown

Source§

impl EventStruct<OverlordEvent> for OverlordEventReferralDailyRewardStatusUpdate

Source§

impl EventStruct<OverlordEvent> for OverlordEventRefreshArenaMatchmaking

Source§

impl EventStruct<OverlordEvent> for OverlordEventRefreshPartyMemberState

Source§

impl EventStruct<OverlordEvent> for OverlordEventRefreshPartyPlayers

Source§

impl EventStruct<OverlordEvent> for OverlordEventRemoveArtifactStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventRemoveAutoChestFilter

Source§

impl EventStruct<OverlordEvent> for OverlordEventRemoveCharacterFromParty

Source§

impl EventStruct<OverlordEvent> for OverlordEventRemoveLawBridge

Source§

impl EventStruct<OverlordEvent> for OverlordEventRemoveStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventRemoveVassal

Source§

impl EventStruct<OverlordEvent> for OverlordEventResetAdUsage

Source§

impl EventStruct<OverlordEvent> for OverlordEventResetCores

Source§

impl EventStruct<OverlordEvent> for OverlordEventResetInstantRewardGemsPressCount

Source§

impl EventStruct<OverlordEvent> for OverlordEventResetOffers

Source§

impl EventStruct<OverlordEvent> for OverlordEventResetRepeatingQuests

Source§

impl EventStruct<OverlordEvent> for OverlordEventResistTaskAccepted

Source§

impl EventStruct<OverlordEvent> for OverlordEventResistTaskCatched

Source§

impl EventStruct<OverlordEvent> for OverlordEventResistTaskFinished

Source§

impl EventStruct<OverlordEvent> for OverlordEventRespec

Source§

impl EventStruct<OverlordEvent> for OverlordEventRunCheat

Source§

impl EventStruct<OverlordEvent> for OverlordEventSellItem

Source§

impl EventStruct<OverlordEvent> for OverlordEventSendGift

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetAbilityGachaWishlist

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetArenaWorldSide

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetArtifactStoneLawTarget

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetCharacterBlocked

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetConnectionStore

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetCustomValue

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetFightContentLoading

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetGearOverrideEnabled

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetMaxHp

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetPetFacetLaw

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetPetGachaWishlist

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetRatingRewardAvailability

Source§

impl EventStruct<OverlordEvent> for OverlordEventSetUsername

Source§

impl EventStruct<OverlordEvent> for OverlordEventShowBird

Source§

impl EventStruct<OverlordEvent> for OverlordEventShowRateUs

Source§

impl EventStruct<OverlordEvent> for OverlordEventSkipTalentResearch

Source§

impl EventStruct<OverlordEvent> for OverlordEventSkipUpgradeItemCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventSlotLaw

Source§

impl EventStruct<OverlordEvent> for OverlordEventSocketAbilityStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventSpawnEntity

Source§

impl EventStruct<OverlordEvent> for OverlordEventSpeedupTalentResearch

Source§

impl EventStruct<OverlordEvent> for OverlordEventSpeedupUpgradeItemCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventStageCleared

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartArenaPVPSync

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartArenaRematchSync

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartCastAbility

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartCastProjectile

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartFight

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartGame

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartMove

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartTalentResearch

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartVassalPVPSync

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartedCastAbility

Source§

impl EventStruct<OverlordEvent> for OverlordEventStartedCastProjectile

Source§

impl EventStruct<OverlordEvent> for OverlordEventStatueActivateSet

Source§

impl EventStruct<OverlordEvent> for OverlordEventStatueAddSet

Source§

impl EventStruct<OverlordEvent> for OverlordEventStatueLockSlot

Source§

impl EventStruct<OverlordEvent> for OverlordEventStatueRenameSet

Source§

impl EventStruct<OverlordEvent> for OverlordEventStatueRoll

Source§

impl EventStruct<OverlordEvent> for OverlordEventStatueRollNewSlot

Source§

impl EventStruct<OverlordEvent> for OverlordEventStoneTriggerFired

Source§

impl EventStruct<OverlordEvent> for OverlordEventTalentResearchStarted

Source§

impl EventStruct<OverlordEvent> for OverlordEventTaskAccepted

Source§

impl EventStruct<OverlordEvent> for OverlordEventTaskFinished

Source§

impl EventStruct<OverlordEvent> for OverlordEventTutorialShown

Source§

impl EventStruct<OverlordEvent> for OverlordEventTutorialStepCompleted

Source§

impl EventStruct<OverlordEvent> for OverlordEventUnequipAbility

Source§

impl EventStruct<OverlordEvent> for OverlordEventUnequipPet

Source§

impl EventStruct<OverlordEvent> for OverlordEventUnslotLaw

Source§

impl EventStruct<OverlordEvent> for OverlordEventUnsocketAbilityStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpdateActiveLoopTaskId

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpdateAutoChestBatchSize

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpdateAutoChestFilter

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAbility

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAbilityCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAbilitySlot

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAbilityStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAllAbilities

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAllAbilityStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAllEffectStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAllPets

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeAllTriggerStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeArtifact

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeArtifactStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeCore

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeItemCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeLaw

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradePet

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradePetCase

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradePetSlot

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradeStone

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradedAbilities

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradedAbilityStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradedPets

Source§

impl EventStruct<OverlordEvent> for OverlordEventUpgradedStones

Source§

impl EventStruct<OverlordEvent> for OverlordEventUserRating

Source§

impl EventStruct<OverlordEvent> for OverlordEventWatchAd

Source§

impl EventStruct<OverlordEvent> for OverlordEventWaveCleared

Source§

impl From<OverlordEvent> for JsValue

Source§

fn from(value: OverlordEvent) -> Self

Converts to this type from the input type.
Source§

impl FromWasmAbi for OverlordEvent
where Self: DeserializeOwned,

Source§

type Abi = <JsType as FromWasmAbi>::Abi

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: Self::Abi) -> Self

Recover a Self from Self::Abi. Read more
Source§

impl IntoWasmAbi for OverlordEvent

Source§

type Abi = <JsType as IntoWasmAbi>::Abi

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl JsonSchema for OverlordEvent

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl OptionFromWasmAbi for OverlordEvent
where Self: DeserializeOwned,

Source§

fn is_none(js: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
Source§

impl OptionIntoWasmAbi for OverlordEvent

Source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Source§

impl PartialEq for OverlordEvent

Source§

fn eq(&self, other: &OverlordEvent) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefFromWasmAbi for OverlordEvent
where Self: DeserializeOwned,

Source§

type Abi = <JsType as RefFromWasmAbi>::Abi

The Wasm ABI type references to Self are recovered from.
Source§

type Anchor = SelfOwner<OverlordEvent>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous.
Source§

unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
Source§

impl Serialize for OverlordEvent

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Tsify for OverlordEvent

Source§

const DECL: &'static str = "type __OverlordEventAbilityCaseRollType = AbilityCaseRollType;\ntype __OverlordEventAbilityDrop = AbilityDrop;\ntype __OverlordEventAbilityId = AbilityId;\ntype __OverlordEventAbilityPresetId = AbilityPresetId;\ntype __OverlordEventAbilitySlotId = AbilitySlotId;\ntype __OverlordEventAbilityStoneDrop = AbilityStoneDrop;\ntype __OverlordEventAbilityStoneId = AbilityStoneId;\ntype __OverlordEventAbilityStoneSocketIndex = AbilityStoneSocketIndex;\ntype __OverlordEventAdPlacement = AdPlacement;\ntype __OverlordEventAdRewardType = AdRewardType;\ntype __OverlordEventArtifactSocketSlot = ArtifactSocketSlot;\ntype __OverlordEventArtifactStoneTemplateId = ArtifactStoneTemplateId;\ntype __OverlordEventArtifactTemplateId = ArtifactTemplateId;\ntype __OverlordEventAutoChestFilter = AutoChestFilter;\ntype __OverlordEventAutoChestFilterId = AutoChestFilterId;\ntype __OverlordEventBirdVariantId = BirdVariantId;\ntype __OverlordEventBundleId = BundleId;\ntype __OverlordEventCheat = Cheat;\ntype __OverlordEventCombatEventOrigin = CombatEventOrigin;\ntype __OverlordEventCombatSource = CombatSource;\ntype __OverlordEventCoordinates = Coordinates;\ntype __OverlordEventCurrencyConsumer = CurrencyConsumer;\ntype __OverlordEventCurrencySource = CurrencySource;\ntype __OverlordEventCurrencyUnit = CurrencyUnit;\ntype __OverlordEventCustomEventData = CustomEventData;\ntype __OverlordEventDateTime<A> = DateTime<A>;\ntype __OverlordEventDungeonTemplateId = DungeonTemplateId;\ntype __OverlordEventEntityAttributes = EntityAttributes;\ntype __OverlordEventEntityId = EntityId;\ntype __OverlordEventEntityTeam = EntityTeam;\ntype __OverlordEventEntityTemplateId = EntityTemplateId;\ntype __OverlordEventEquippedAbilities = EquippedAbilities;\ntype __OverlordEventEquippedPets = EquippedPets;\ntype __OverlordEventFlipProgressSource = FlipProgressSource;\ntype __OverlordEventGift = Gift;\ntype __OverlordEventItem = Item;\ntype __OverlordEventItemType = ItemType;\ntype __OverlordEventLawTemplateId = LawTemplateId;\ntype __OverlordEventMail = Mail;\ntype __OverlordEventMailId = MailId;\ntype __OverlordEventOffer = Offer;\ntype __OverlordEventOfferId = OfferId;\ntype __OverlordEventOfferTemplateId = OfferTemplateId;\ntype __OverlordEventOverlordEvent = OverlordEvent;\ntype __OverlordEventPVPState = PVPState;\ntype __OverlordEventPetCaseRollType = PetCaseRollType;\ntype __OverlordEventPetDrop = PetDrop;\ntype __OverlordEventPetFacetLawRole = PetFacetLawRole;\ntype __OverlordEventPetId = PetId;\ntype __OverlordEventPetSlotId = PetSlotId;\ntype __OverlordEventPlinkoDirection = PlinkoDirection;\ntype __OverlordEventPrepareFightType = PrepareFightType;\ntype __OverlordEventQuestGroupType = QuestGroupType;\ntype __OverlordEventRatingRewardAvailability = RatingRewardAvailability;\ntype __OverlordEventRatingType = RatingType;\ntype __OverlordEventSkinId = SkinId;\ntype __OverlordEventStoneSocketSlot = StoneSocketSlot;\ntype __OverlordEventStoneTemplateId = StoneTemplateId;\ntype __OverlordEventSuzerain = Suzerain;\ntype __OverlordEventTalentId = TalentId;\ntype __OverlordEventUpgradedAbilitiesMap = UpgradedAbilitiesMap;\ntype __OverlordEventUpgradedAbilityStonesMap = UpgradedAbilityStonesMap;\ntype __OverlordEventUpgradedPetsMap = UpgradedPetsMap;\ntype __OverlordEventUpgradedStonesMap = UpgradedStonesMap;\ntype __OverlordEventUtc = Utc;\ntype __OverlordEventUuid = Uuid;\ntype __OverlordEventVassalTask = VassalTask;\ntype __OverlordEventWorldSide = WorldSide;\ndeclare namespace OverlordEvent {\n export type OpenItemCase = { OpenItemCase: { batch_size: number } };\n export type AutoChestOpenItemCase = { AutoChestOpenItemCase: { batch_size: number } };\n export type PlayerNewItems = { PlayerNewItems: { items: __OverlordEventItem[] } };\n export type PlayerEquipItem = { PlayerEquipItem: { item_id: __OverlordEventUuid } };\n export type SellItem = { SellItem: { item_id: __OverlordEventUuid } };\n export type ItemSold = { ItemSold: { item_id: __OverlordEventUuid } };\n /**\n * \u{421}\u{435}\u{440}\u{432}\u{435}\u{440}\u{2192}\u{43a}\u{43b}\u{438}\u{435}\u{43d}\u{442}: \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442}\u{44b} \u{441} \u{438}\u{441}\u{442}\u{451}\u{43a}\u{448}\u{438}\u{43c} TTL \u{443}\u{434}\u{430}\u{43b}\u{435}\u{43d}\u{44b} (\u{441}\u{430}\u{43c}\u{43e} \u{443}\u{434}\u{430}\u{43b}\u{435}\u{43d}\u{438}\u{435} \u{2014} \u{432} \u{43f}\u{430}\u{442}\u{447}\u{435}).\n */\n export type ItemsExpired = { ItemsExpired: { item_ids: __OverlordEventUuid[] } };\n /**\n * \u{421}\u{435}\u{440}\u{432}\u{435}\u{440}\u{2192}\u{43a}\u{43b}\u{438}\u{435}\u{43d}\u{442}: \u{43f}\u{443}\u{442}\u{44c} \u{448}\u{430}\u{440}\u{438}\u{43a}\u{430} Plinko \u{434}\u{43b}\u{44f} \u{43e}\u{434}\u{43d}\u{43e}\u{433}\u{43e} \u{432}\u{44b}\u{434}\u{430}\u{43d}\u{43d}\u{43e}\u{433}\u{43e} \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442}\u{430}.\n *\n * \u{41f}\u{443}\u{442}\u{44c} \u{43a}\u{430}\u{442}\u{438}\u{442} \u{441}\u{435}\u{440}\u{432}\u{435}\u{440} (\u{43e}\u{43d} \u{436}\u{435} \u{43d}\u{430}\u{447}\u{438}\u{441}\u{43b}\u{44f}\u{435}\u{442} \u{441}\u{442}\u{430}\u{442}\u{44b} \u{437}\u{430} \u{437}\u{430}\u{434}\u{435}\u{442}\u{44b}\u{435} \u{43a}\u{43e}\u{43b}\u{44b}\u{448}\u{43a}\u{438}), \u{43a}\u{43b}\u{438}\u{435}\u{43d}\u{442}\n * \u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{43f}\u{440}\u{43e}\u{438}\u{433}\u{440}\u{44b}\u{432}\u{430}\u{435}\u{442} \u{430}\u{43d}\u{438}\u{43c}\u{430}\u{446}\u{438}\u{44e} \u{440}\u{43e}\u{432}\u{43d}\u{43e} \u{43f}\u{43e} \u{44d}\u{442}\u{438}\u{43c} \u{448}\u{430}\u{433}\u{430}\u{43c}. \u{421}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{435} \u{438}\u{434}\u{451}\u{442} \u{421}\u{41b}\u{415}\u{414}\u{41e}\u{41c}\n * \u{437}\u{430} `PlayerNewItems`, \u{447}\u{442}\u{43e}\u{431}\u{44b} \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442} \u{443}\u{436}\u{435} \u{431}\u{44b}\u{43b} \u{432} \u{438}\u{43d}\u{432}\u{435}\u{43d}\u{442}\u{430}\u{440}\u{435}; \u{441}\u{432}\u{44f}\u{437}\u{44c} \u{441}\n * \u{43d}\u{430}\u{433}\u{440}\u{430}\u{434}\u{43e}\u{439} \u{2014} \u{43f}\u{43e} `item_id`. `PlayerNewItems` \u{432}\u{44b}\u{434}\u{430}\u{451}\u{442}\u{441}\u{44f} \u{438} \u{432}\u{43d}\u{435} Plinko\n * (\u{432}\u{440}\u{435}\u{43c}\u{435}\u{43d}\u{43d}\u{44b}\u{435} \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442}\u{44b} \u{43f}\u{440}\u{438} \u{432}\u{445}\u{43e}\u{434}\u{435}, \u{43d}\u{430}\u{433}\u{440}\u{430}\u{434}\u{44b}) \u{2014} \u{442}\u{430}\u{43c} \u{44d}\u{442}\u{43e}\u{433}\u{43e} \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{44f} \u{43d}\u{435}\u{442}.\n */\n export type PlinkoBallDropped = { PlinkoBallDropped: { item_id: __OverlordEventUuid; path: __OverlordEventPlinkoDirection[] } };\n export type UpgradeItemCase = { UpgradeItemCase: {} };\n export type ItemCaseUpgraded = { ItemCaseUpgraded: {} };\n export type SpeedupUpgradeItemCase = { SpeedupUpgradeItemCase: {} };\n export type SkipUpgradeItemCase = { SkipUpgradeItemCase: {} };\n export type ClaimUpgradeItemCase = { ClaimUpgradeItemCase: {} };\n export type EnableAutoSell = { EnableAutoSell: {} };\n export type DisableAutoSell = { DisableAutoSell: {} };\n export type SetGearOverrideEnabled = { SetGearOverrideEnabled: { item_type: __OverlordEventItemType; enabled: boolean } };\n export type EnableAutoChest = { EnableAutoChest: {} };\n export type DisableAutoChest = { DisableAutoChest: {} };\n export type EnableAutoChestFilter = { EnableAutoChestFilter: { filter_id: __OverlordEventAutoChestFilterId } };\n export type DisableAutoChestFilter = { DisableAutoChestFilter: {} };\n export type EnableAutoChestPowerCompare = { EnableAutoChestPowerCompare: {} };\n export type DisableAutoChestPowerCompare = { DisableAutoChestPowerCompare: {} };\n export type UpdateAutoChestBatchSize = { UpdateAutoChestBatchSize: { batch_size: number } };\n export type NewAutoChestFilter = { NewAutoChestFilter: { filter: __OverlordEventAutoChestFilter } };\n export type UpdateAutoChestFilter = { UpdateAutoChestFilter: { updated_filter: __OverlordEventAutoChestFilter } };\n export type RemoveAutoChestFilter = { RemoveAutoChestFilter: { filter_id: __OverlordEventAutoChestFilterId } };\n export type OpenAbilityCase = { OpenAbilityCase: { roll_type: __OverlordEventAbilityCaseRollType } };\n /**\n * \u{41e}\u{431}\u{43d}\u{43e}\u{432}\u{43b}\u{44f}\u{435}\u{442} \u{432}\u{438}\u{448}\u{43b}\u{438}\u{441}\u{442} \u{433}\u{430}\u{447}\u{438} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{435}\u{439}.\n * \u{421}\u{43f}\u{438}\u{441}\u{43e}\u{43a} \u{43e}\u{433}\u{440}\u{430}\u{43d}\u{438}\u{447}\u{435}\u{43d} \u{447}\u{438}\u{441}\u{43b}\u{43e}\u{43c} \u{441}\u{43b}\u{43e}\u{442}\u{43e}\u{432} \u{438} \u{440}\u{430}\u{437}\u{440}\u{435}\u{448}\u{435}\u{43d}\u{43d}\u{44b}\u{43c}\u{438} \u{440}\u{435}\u{434}\u{43a}\u{43e}\u{441}\u{442}\u{44f}\u{43c}\u{438} \u{442}\u{435}\u{43a}\u{443}\u{449}\u{435}\u{433}\u{43e} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{44f} \u{433}\u{430}\u{447}\u{438}.\n */\n export type SetAbilityGachaWishlist = { SetAbilityGachaWishlist: { ability_ids: __OverlordEventAbilityId[] } };\n /**\n * \u{41f}\u{43e}\u{432}\u{44b}\u{448}\u{430}\u{435}\u{442} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{443}\u{43a}\u{430}\u{437}\u{430}\u{43d}\u{43d}\u{43e}\u{433}\u{43e} \u{441}\u{43b}\u{43e}\u{442}\u{430} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{435}\u{439} \u{437}\u{430} Stardust.\n */\n export type UpgradeAbilitySlot = { UpgradeAbilitySlot: { slot_id: number } };\n export type AbilityCaseOpened = { AbilityCaseOpened: { batch_size: number } };\n export type NewAbilities = { NewAbilities: { abilities: __OverlordEventAbilityDrop[] } };\n export type FastEquipAbilities = { FastEquipAbilities: {} };\n export type EquipAbility = { EquipAbility: { slot_id: number; ability_id: __OverlordEventAbilityId } };\n export type UnequipAbility = { UnequipAbility: { slot_id: __OverlordEventAbilitySlotId } };\n export type EquipAbilities = { EquipAbilities: { equipped_abilities: __OverlordEventEquippedAbilities } };\n export type UpgradeAbility = { UpgradeAbility: { ability_id: __OverlordEventAbilityId } };\n export type UpgradeAllAbilities = { UpgradeAllAbilities: {} };\n export type UpgradedAbilities = { UpgradedAbilities: { upgraded_abilities: __OverlordEventUpgradedAbilitiesMap } };\n export type UpgradeAbilityCase = { UpgradeAbilityCase: {} };\n /**\n * \u{421}\u{442}\u{430}\u{432}\u{438}\u{442} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{438} \u{432} \u{441}\u{43e}\u{43a}\u{435}\u{442}. \u{421}\u{43e}\u{43a}\u{435}\u{442} \u{43d}\u{435}\u{441}\u{451}\u{442} \u{441}\u{442}\u{43e}\u{440}\u{43e}\u{43d}\u{443} (Real/Fantasy),\n * \u{43f}\u{43e}\u{44d}\u{442}\u{43e}\u{43c}\u{443} \u{43e}\u{434}\u{438}\u{43d} \u{438} \u{442}\u{43e}\u{442} \u{436}\u{435} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{43f}\u{43e}\u{434}\u{445}\u{43e}\u{434}\u{438}\u{442} \u{432} \u{43b}\u{44e}\u{431}\u{43e}\u{439} \u{438}\u{437} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{43e}\u{432}.\n */\n export type SocketAbilityStone = { SocketAbilityStone: { ability_id: __OverlordEventAbilityId; socket_index: __OverlordEventAbilityStoneSocketIndex; stone_id: __OverlordEventAbilityStoneId } };\n /**\n * \u{412}\u{44b}\u{43d}\u{438}\u{43c}\u{430}\u{435}\u{442} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{438}\u{437} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{430} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{438}.\n */\n export type UnsocketAbilityStone = { UnsocketAbilityStone: { ability_id: __OverlordEventAbilityId; socket_index: __OverlordEventAbilityStoneSocketIndex } };\n /**\n * \u{41f}\u{43e}\u{432}\u{44b}\u{448}\u{430}\u{435}\u{442} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{43a}\u{430}\u{43c}\u{43d}\u{44f} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{438}, \u{442}\u{440}\u{430}\u{442}\u{44f} \u{435}\u{433}\u{43e} \u{441}\u{44b}\u{440}\u{44b}\u{435} \u{43a}\u{43e}\u{43f}\u{438}\u{438}.\n */\n export type UpgradeAbilityStone = { UpgradeAbilityStone: { stone_id: __OverlordEventAbilityStoneId } };\n /**\n * \u{412}\u{44b}\u{434}\u{430}\u{447}\u{430} \u{43a}\u{43e}\u{43f}\u{438}\u{439} \u{43a}\u{430}\u{43c}\u{43d}\u{435}\u{439} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{435}\u{439} (\u{434}\u{440}\u{43e}\u{43f}/\u{43d}\u{430}\u{433}\u{440}\u{430}\u{434}\u{430}). \u{421}\u{435}\u{440}\u{432}\u{435}\u{440}\u{43d}\u{43e}\u{435} \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{435}.\n */\n export type NewAbilityStones = { NewAbilityStones: { stones: __OverlordEventAbilityStoneDrop[] } };\n export type CurrencyIncrease = { CurrencyIncrease: { currencies: __OverlordEventCurrencyUnit[]; currency_source: __OverlordEventCurrencySource } };\n export type CurrencyDecrease = { CurrencyDecrease: { currencies: __OverlordEventCurrencyUnit[]; currency_consumer: __OverlordEventCurrencyConsumer } };\n export type NewCharacterLevel = { NewCharacterLevel: { level: number } };\n export type StartGame = { StartGame: {} };\n export type PrepareFight = { PrepareFight: { prepare_fight_type: __OverlordEventPrepareFightType } };\n export type StartFight = { StartFight: { fight_id: __OverlordEventUuid } };\n export type FightProgress = { FightProgress: {} };\n export type EndFight = { EndFight: { fight_id: __OverlordEventUuid; is_win: boolean; pvp_state: __OverlordEventPVPState | null } };\n export type StageCleared = { StageCleared: {} };\n export type RaidDungeon = { RaidDungeon: { dungeon_id: __OverlordEventDungeonTemplateId; difficulty: number; amount: number } };\n export type WaveCleared = { WaveCleared: {} };\n export type StartVassalPVPSync = { StartVassalPVPSync: { opponent_id: __OverlordEventUuid; opponent_suzerain_id: __OverlordEventUuid | null } };\n export type StartArenaPVPSync = { StartArenaPVPSync: { opponent_id: __OverlordEventUuid; is_bot: boolean } };\n export type StartArenaRematchSync = { StartArenaRematchSync: { match_id: __OverlordEventUuid } };\n export type RefreshArenaMatchmaking = { RefreshArenaMatchmaking: {} };\n export type BuyArenaTicket = { BuyArenaTicket: {} };\n export type StartMove = { StartMove: { entity_id: __OverlordEventUuid; to: __OverlordEventCoordinates; duration_ticks: number } };\n export type EndMove = { EndMove: { entity_id: __OverlordEventUuid } };\n export type SpawnEntity = { SpawnEntity: { id: __OverlordEventEntityId; entity_template_id: __OverlordEventEntityTemplateId; position: __OverlordEventCoordinates; entity_team: __OverlordEventEntityTeam; has_big_hp_bar: boolean; entity_attributes: __OverlordEventEntityAttributes } };\n export type StartCastAbility = { StartCastAbility: { by_entity_id: __OverlordEventUuid; ability_id: __OverlordEventAbilityId; pet_id: __OverlordEventPetId | null; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type StartedCastAbility = { StartedCastAbility: { by_entity_id: __OverlordEventUuid; ability_id: __OverlordEventAbilityId; duration_ticks: number; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type CastAbility = { CastAbility: { by_entity_id: __OverlordEventUuid; to_entity_id: __OverlordEventUuid; ability_id: __OverlordEventAbilityId; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type StartCastProjectile = { StartCastProjectile: { by_entity_id: __OverlordEventUuid; to_entity_id: __OverlordEventUuid; projectile_id: __OverlordEventUuid; level: number; delay: number; /**\n * What launched this projectile, carried to the landing so the hit is\n * attributed to the ability rather than to the projectile template \u{2014}\n * a projectile is how a skill delivers its payload, and the catalog\n * gives projectiles no display name of their own.\n */\n source: __OverlordEventCombatSource; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type StartedCastProjectile = { StartedCastProjectile: { by_entity_id: __OverlordEventUuid; to_entity_id: __OverlordEventUuid; projectile_id: __OverlordEventUuid; duration_ticks: number; /**\n * See [`OverlordEvent::StartCastProjectile::source`].\n */\n source: __OverlordEventCombatSource; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n /**\n * A DERIVED copy of an ability\\\'s payload produced by a support stone\n * (Repeat / Pulse): the ability\\\'s own payload, scaled by\n * `payload_permille`, landing `delay` ticks after the original cast.\n *\n * It is deliberately NOT a cast: it never runs `on_cast`, never pays mana,\n * never touches a cooldown and never charges the pet bar, and the damage it\n * produces is tagged `derived` \u{2014} so no Law, Resonance, Mastery or trigger\n * reader may count it as a Core event.\n */\n export type DerivedAbilityStrike = { DerivedAbilityStrike: { by_entity_id: __OverlordEventUuid; to_entity_id: __OverlordEventUuid; ability_id: __OverlordEventAbilityId; level: number; /**\n * Payload share in permille (500 = 50% of the ability\\\'s payload).\n */\n payload_permille: number; /**\n * What the SOURCE cast finally paid for its mana, in x100 fixed point,\n * or `-1` when it never paid (no pool, a pet ult). A delayed copy\n * resolves after other casts may have landed, so it carries the price\n * with it instead of reading whatever the caster paid last \u{2014} that is\n * what lets a Mana-conditioned law or trigger judge the RE-trigger by\n * the same cost as the original (BAL-019).\n */\n source_paid_mana_x100: number; /**\n * Ticks (ms) to wait before the copy resolves. Routed onto the fight\n * clock at the cast site; the scheduled copy carries 0.\n */\n delay: number } };\n /**\n * `EntityIncrAttribute` that lands `delay` ticks later. Used by the\n * Shelter support to close its damage-reduction window; the fight clock\n * owns the timer, so nothing has to be polled per tick.\n */\n export type EntityIncrAttributeDelayed = { EntityIncrAttributeDelayed: { entity_id: __OverlordEventUuid; attribute: string; delta: number; delay: number } };\n export type CastProjectile = { CastProjectile: { by_entity_id: __OverlordEventUuid; to_entity_id: __OverlordEventUuid; projectile_id: __OverlordEventUuid; level: number; projectile_data: __OverlordEventCustomEventData; /**\n * See [`OverlordEvent::StartCastProjectile::source`].\n */\n source: __OverlordEventCombatSource; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type Damage = { Damage: { /**\n * Combatant responsible for this damage. Ownerless environment and\n * legacy effects use `None` and do not grant flip progress.\n */\n by_entity_id: __OverlordEventEntityId | null; entity_id: __OverlordEventUuid; damage: number; damage_data: __OverlordEventCustomEventData; /**\n * Core/Proc provenance \u{2014} see [`OverlordEvent::combat_origin`].\n */\n origin: __OverlordEventCombatEventOrigin; /**\n * WHICH producer this damage belongs to \u{2014} the attribution the\n * end-of-fight breakdown is built from. Stamped at the emit site,\n * where the producing id is in scope; `origin` answers \\\"was this a\n * modifier\\\'s work\\\", this answers \\\"whose\\\".\n */\n source: __OverlordEventCombatSource } };\n /**\n * Server-authored marker for one completed global equipment-side flip.\n */\n export type GlobalFlip = { GlobalFlip: { /**\n * Fight-local entity whose equipment presentation changed. This is\n * required because PvP and party fights can contain several players,\n * each with an independent flip state.\n */\n entity_id: __OverlordEventEntityId; /**\n * Producer that supplied the threshold-crossing progress gain.\n */\n source: __OverlordEventFlipProgressSource; /**\n * Side presented before this transition.\n */\n from_side: __OverlordEventWorldSide; /**\n * Side presented after this transition.\n */\n to_side: __OverlordEventWorldSide; /**\n * Monotonic transition key copied from the resulting `FlipState`.\n */\n revision: number } };\n /**\n * Server-authored marker for one Trigger-Stone fire. The combat outcomes a\n * fire produces are deliberately anonymous (`origin: Proc` carries no\n * source), so this is the only client-visible record of WHICH socketed\n * trigger fired \u{2014} the UI attributes the proc to its equipment slot with it.\n * Nothing reads it server-side.\n */\n export type StoneTriggerFired = { StoneTriggerFired: { /**\n * Fight-local combatant whose socketed trigger fired.\n */\n entity_id: __OverlordEventEntityId; /**\n * Equipment slot whose Trigger socket held the fired stone.\n */\n item_type: __OverlordEventItemType; /**\n * Catalog id of the fired Trigger Stone.\n */\n trigger_stone_id: __OverlordEventStoneTemplateId } };\n export type Heal = { Heal: { /**\n * Combatant responsible for this heal. `None` for ownerless healing\n * (regeneration on a mob, environment effects).\n */\n by_entity_id: __OverlordEventEntityId | null; entity_id: __OverlordEventUuid; heal: number; /**\n * Core/Proc provenance \u{2014} see [`OverlordEvent::combat_origin`].\n */\n origin: __OverlordEventCombatEventOrigin; /**\n * Producer of this heal \u{2014} see [`OverlordEvent::Damage::source`].\n */\n source: __OverlordEventCombatSource } };\n export type CounterAttack = { CounterAttack: { by_entity_id: __OverlordEventUuid; to_entity_id: __OverlordEventUuid; duration_ticks: number; /**\n * Core/Proc provenance \u{2014} see [`OverlordEvent::combat_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type Multicast = { Multicast: { entity_id: __OverlordEventUuid; amount: number; /**\n * Core/Proc provenance \u{2014} see [`OverlordEvent::combat_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type Evasion = { Evasion: { entity_id: __OverlordEventUuid; /**\n * Core/Proc provenance \u{2014} see [`OverlordEvent::combat_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type PlayerDeath = { PlayerDeath: {} };\n export type EntityDeath = { EntityDeath: { entity_id: __OverlordEventUuid; reward: __OverlordEventCurrencyUnit[]; /**\n * Core/Proc provenance \u{2014} see [`OverlordEvent::combat_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type EntityIncrAttribute = { EntityIncrAttribute: { entity_id: __OverlordEventUuid; attribute: string; delta: number } };\n export type EntityAddAbilityCooldown = { EntityAddAbilityCooldown: { entity_id: __OverlordEventUuid; ability_id: __OverlordEventUuid; delta_ticks: number } };\n export type EntityCancelCastWithCooldown = { EntityCancelCastWithCooldown: { entity_id: __OverlordEventUuid; ability_id: __OverlordEventUuid } };\n /**\n * Stuns an entity for `duration_ticks`. Internally cancels any in-flight cast (sending it\n * to its full cooldown), and freezes every ability\\\'s cooldown progression by extending\n * each one by `duration_ticks`. Off-cooldown abilities get a fresh stun-only cooldown.\n * Designers fire this from the `stun` effect\\\'s apply script \u{2014} no per-ability iteration in\n */\n export type EntityStun = { EntityStun: { entity_id: __OverlordEventUuid; duration_ticks: number } };\n export type EntityApplyEffect = { EntityApplyEffect: { entity_id: __OverlordEventUuid; effect_id: __OverlordEventUuid; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type CastEffect = { CastEffect: { entity_id: __OverlordEventUuid; effect_id: __OverlordEventUuid; /**\n * Core/Proc provenance carried to this event\\\'s own output \u{2014} see\n * [`OverlordEvent::carried_origin`].\n */\n origin: __OverlordEventCombatEventOrigin } };\n export type CastEffectFromEvent = { CastEffectFromEvent: { entity_id: __OverlordEventUuid; effect_id: __OverlordEventUuid; caller_event: __OverlordEventOverlordEvent } };\n export type FightCustomEvent = { FightCustomEvent: { entity_id: number; value: string } };\n export type FightVisualEvent = { FightVisualEvent: { effect_type: string; effect_data: __OverlordEventCustomEventData } };\n export type SetMaxHp = { SetMaxHp: { entity_id: __OverlordEventEntityId; new_max_hp: number; new_hp: number } };\n export type ClaimVassalReward = { ClaimVassalReward: { character_id: __OverlordEventUuid } };\n export type ClaimSuzerainReward = { ClaimSuzerainReward: {} };\n export type NewSuzerain = { NewSuzerain: { new_suzerain: __OverlordEventSuzerain | null } };\n export type RemoveVassal = { RemoveVassal: { vassal_id: __OverlordEventUuid } };\n export type GiveTask = { GiveTask: { vassal_id: __OverlordEventUuid; template_task_id: __OverlordEventUuid } };\n export type NewTask = { NewTask: { new_task: __OverlordEventVassalTask } };\n export type AcceptTask = { AcceptTask: { task_id: __OverlordEventUuid; is_good: boolean } };\n export type TaskAccepted = { TaskAccepted: { task_id: __OverlordEventUuid; started_good: boolean; started_at: __OverlordEventDateTime<__OverlordEventUtc>; finish_at: __OverlordEventDateTime<__OverlordEventUtc> } };\n export type HitHands = { HitHands: { task_id: __OverlordEventUuid } };\n export type HandsHitted = { HandsHitted: { task_id: __OverlordEventUuid } };\n export type TaskFinished = { TaskFinished: { task_id: __OverlordEventUuid } };\n export type ClaimTaskReward = { ClaimTaskReward: { task_id: __OverlordEventUuid } };\n export type GiveResistTask = { GiveResistTask: { new_resist_task: __OverlordEventVassalTask } };\n export type AcceptResistTask = { AcceptResistTask: {} };\n export type ResistTaskAccepted = { ResistTaskAccepted: { new_resist_task: __OverlordEventVassalTask } };\n export type CatchResistTask = { CatchResistTask: { task_id: __OverlordEventUuid } };\n export type ResistTaskCatched = { ResistTaskCatched: { task_id: __OverlordEventUuid } };\n export type ResistTaskFinished = { ResistTaskFinished: { task_id: __OverlordEventUuid } };\n export type ClaimResistTaskReward = { ClaimResistTaskReward: { task_id: __OverlordEventUuid } };\n export type SetCustomValue = { SetCustomValue: { key: string; value: number } };\n export type SetConnectionStore = { SetConnectionStore: { key: string; value: number } };\n export type ClaimQuest = { ClaimQuest: { quest_id: __OverlordEventUuid } };\n export type ClaimAllQuests = { ClaimAllQuests: { quest_group_type: __OverlordEventQuestGroupType } };\n export type PatronQuestCompleted = { PatronQuestCompleted: { quest_id: __OverlordEventUuid } };\n export type HiddenQuestCompleted = { HiddenQuestCompleted: { quest_id: __OverlordEventUuid } };\n export type QuestCompleted = { QuestCompleted: { quest_id: __OverlordEventUuid } };\n export type NewQuests = { NewQuests: { quest_ids: __OverlordEventUuid[] } };\n export type UpdateActiveLoopTaskId = { UpdateActiveLoopTaskId: { quest_id: __OverlordEventUuid } };\n export type ResetRepeatingQuests = { ResetRepeatingQuests: { quest_ids: __OverlordEventUuid[] } };\n export type ClaimQuestProgressionReward = { ClaimQuestProgressionReward: { quest_group_type: __OverlordEventQuestGroupType } };\n export type ClaimReferralLvlUpReward = { ClaimReferralLvlUpReward: { level: number } };\n export type ClaimReferralDailyReward = { ClaimReferralDailyReward: {} };\n export type ReferralDailyRewardStatusUpdate = { ReferralDailyRewardStatusUpdate: { referral_daily_reward_status: boolean } };\n export type SendGift = { SendGift: { receiver_id: __OverlordEventUuid; config_gift_id: __OverlordEventUuid } };\n export type NewGift = { NewGift: { new_gift: __OverlordEventGift } };\n export type AcceptGift = { AcceptGift: { gift_id: __OverlordEventUuid } };\n export type ClaimAfkReward = { ClaimAfkReward: {} };\n export type AfkRewardClaimed = { AfkRewardClaimed: {} };\n /**\n * Emitted when the player crosses the AFK rewards unlock chapter threshold\n * and the async handler has adjusted `last_afk_reward_claimed_at` so that\n * the elapsed time is not less than `min_required_time_sec`.\n * The side effect handler persists the new value to the database.\n */\n export type AfkRewardsGatingUnlocked = { AfkRewardsGatingUnlocked: {} };\n export type ClaimAfkInstantRewardGems = { ClaimAfkInstantRewardGems: {} };\n export type WatchAd = { WatchAd: { ad_reward_type: __OverlordEventAdRewardType } };\n export type ShowBird = { ShowBird: { variant_id: __OverlordEventBirdVariantId } };\n /**\n * \u{41e}\u{442}\u{43f}\u{440}\u{430}\u{432}\u{43b}\u{44f}\u{435}\u{442}\u{441}\u{44f} \u{43a}\u{43b}\u{438}\u{435}\u{43d}\u{442}\u{43e}\u{43c}, \u{43a}\u{43e}\u{433}\u{434}\u{430} \u{43f}\u{442}\u{438}\u{446}\u{430} \u{431}\u{44b}\u{43b}\u{430} \u{443}\u{441}\u{43f}\u{435}\u{448}\u{43d}\u{43e} \u{43f}\u{43e}\u{43a}\u{430}\u{437}\u{430}\u{43d}\u{430} \u{438}\u{433}\u{440}\u{43e}\u{43a}\u{443}.\n * \u{41f}\u{435}\u{440}\u{435}\u{432}\u{43e}\u{434}\u{438}\u{442} \u{43f}\u{442}\u{438}\u{446}\u{443} \u{432} \u{43f}\u{43e}\u{43b}\u{43d}\u{44b}\u{439} \u{43a}\u{443}\u{43b}\u{434}\u{430}\u{443}\u{43d}.\n */\n export type BirdShown = { BirdShown: {} };\n export type ResetAdUsage = { ResetAdUsage: { placements: __OverlordEventAdPlacement[] } };\n export type ResetInstantRewardGemsPressCount = { ResetInstantRewardGemsPressCount: {} };\n export type ClaimBundleStepGeneric = { ClaimBundleStepGeneric: {} };\n export type AddBundleGroup = { AddBundleGroup: { bundle_ids: __OverlordEventBundleId[] } };\n export type LevelUpClass = { LevelUpClass: { class_id: __OverlordEventUuid } };\n export type Respec = { Respec: { new_class_id: __OverlordEventUuid } };\n export type LinkGuestAccount = { LinkGuestAccount: { token: string } };\n export type SetUsername = { SetUsername: { username: string } };\n export type SetCharacterBlocked = { SetCharacterBlocked: { character_id: __OverlordEventUuid; blocked: boolean } };\n export type CreateAbilityPreset = { CreateAbilityPreset: { name: string | null; ability_ids: __OverlordEventAbilityId[]; index: number } };\n export type EditAbilityPreset = { EditAbilityPreset: { preset_id: __OverlordEventAbilityPresetId; name: string; ability_ids: __OverlordEventAbilityId[] } };\n export type EnableCaseUpgradePopUp = { EnableCaseUpgradePopUp: {} };\n export type DisableCaseUpgradePopUp = { DisableCaseUpgradePopUp: {} };\n export type BuySkins = { BuySkins: { skin_ids: __OverlordEventSkinId[]; equip: boolean } };\n export type EquipAndUnequipSkins = { EquipAndUnequipSkins: { equip_skin_ids: __OverlordEventSkinId[]; unequip_skin_ids: __OverlordEventSkinId[] } };\n export type RunCheat = { RunCheat: { cheat: __OverlordEventCheat } };\n export type ClaimMail = { ClaimMail: { mail_id: __OverlordEventMailId } };\n export type ClaimAllMails = { ClaimAllMails: {} };\n export type MakeRead = { MakeRead: { mail_id: __OverlordEventMailId } };\n export type MakeAllRead = { MakeAllRead: {} };\n export type DeleteMail = { DeleteMail: { mail_id: __OverlordEventMailId } };\n export type DeleteAllMails = { DeleteAllMails: {} };\n export type NewMail = { NewMail: { new_mail: __OverlordEventMail } };\n export type NewOffer = { NewOffer: { offer_template_id: __OverlordEventOfferTemplateId } };\n export type BuyOffer = { BuyOffer: { purchase_token: string | null; offer_id: __OverlordEventOfferId } };\n export type OfferPurchaseCompleted = { OfferPurchaseCompleted: { purchase_token: string; offer_id: __OverlordEventOfferId; is_test_purchase: boolean } };\n export type OfferPurchaseFailed = { OfferPurchaseFailed: { purchase_token: string; offer_id: __OverlordEventOfferId } };\n export type PurchasesBanned = { PurchasesBanned: {} };\n export type ResetOffers = { ResetOffers: { new_offers: __OverlordEventOffer[] } };\n export type EquipPet = { EquipPet: { slot_id: number; pet_id: __OverlordEventPetId } };\n export type UnequipPet = { UnequipPet: { slot_id: __OverlordEventPetSlotId } };\n export type FastEquipPets = { FastEquipPets: {} };\n export type EquipPets = { EquipPets: { equipped_pets: __OverlordEventEquippedPets } };\n export type UpgradePet = { UpgradePet: { pet_id: __OverlordEventPetId } };\n export type UpgradeAllPets = { UpgradeAllPets: {} };\n /**\n * Pet Facets: the out-of-combat pre-selection the three \\\"one chosen Law\\\n * facets act on (`Lead Reading`, `Wild Reading`, `Dream Reader`).\n *\n * `None` clears the slot, which is legal: an unset selection falls back to\n * the lowest-slot eligible Law rather than switching the facet off.\n */\n export type SetPetFacetLaw = { SetPetFacetLaw: { role: __OverlordEventPetFacetLawRole; law_template_id: __OverlordEventLawTemplateId | null } };\n export type UpgradedPets = { UpgradedPets: { upgraded_pets: __OverlordEventUpgradedPetsMap } };\n export type UpgradePetSlot = { UpgradePetSlot: { slot_id: number } };\n export type OpenPetCase = { OpenPetCase: { roll_type: __OverlordEventPetCaseRollType } };\n /**\n * \u{41e}\u{431}\u{43d}\u{43e}\u{432}\u{43b}\u{44f}\u{435}\u{442} \u{432}\u{438}\u{448}\u{43b}\u{438}\u{441}\u{442} \u{433}\u{430}\u{447}\u{438} \u{43f}\u{435}\u{442}\u{43e}\u{432}.\n */\n export type SetPetGachaWishlist = { SetPetGachaWishlist: { pet_ids: __OverlordEventPetId[] } };\n export type PetCaseOpened = { PetCaseOpened: { batch_size: number } };\n export type NewPets = { NewPets: { pets: __OverlordEventPetDrop[] } };\n export type UpgradePetCase = { UpgradePetCase: {} };\n export type TutorialShown = { TutorialShown: { step_number: number } };\n export type TutorialStepCompleted = { TutorialStepCompleted: { step_number: number } };\n /**\n * Client lifecycle transition used for churn diagnostics.\n * Sent when the Unity app is paused/resumed or loses/regains focus.\n */\n export type ClientLifecycle = { ClientLifecycle: { lifecycle_status: string; active_screen_code: string; session_uptime_secs: number; current_chapter_level: number; current_character_level: number; current_power: number; active_fight: boolean; active_fight_current_wave: number } };\n export type AddCharacterToParty = { AddCharacterToParty: { character_id: __OverlordEventUuid } };\n export type RemoveCharacterFromParty = { RemoveCharacterFromParty: {} };\n export type RefreshPartyPlayers = { RefreshPartyPlayers: {} };\n export type RefreshPartyMemberState = { RefreshPartyMemberState: {} };\n /**\n * \u{41d}\u{430}\u{447}\u{430}\u{442}\u{44c} \u{438}\u{437}\u{443}\u{447}\u{435}\u{43d}\u{438}\u{435} \u{441}\u{43b}\u{435}\u{434}\u{443}\u{44e}\u{449}\u{435}\u{433}\u{43e} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{44f} \u{442}\u{430}\u{43b}\u{430}\u{43d}\u{442}\u{430} (\u{43a}\u{43b}\u{438}\u{435}\u{43d}\u{442} -> \u{431}\u{44d}\u{43a}\u{435}\u{43d}\u{434}).\n */\n export type StartTalentResearch = { StartTalentResearch: { talent_id: __OverlordEventTalentId } };\n /**\n * \u{411}\u{44d}\u{43a}\u{435}\u{43d}\u{434} \u{43f}\u{43e}\u{434}\u{442}\u{432}\u{435}\u{440}\u{436}\u{434}\u{430}\u{435}\u{442} \u{43d}\u{430}\u{447}\u{430}\u{43b}\u{43e} \u{438}\u{437}\u{443}\u{447}\u{435}\u{43d}\u{438}\u{44f} \u{442}\u{430}\u{43b}\u{430}\u{43d}\u{442}\u{430}.\n */\n export type TalentResearchStarted = { TalentResearchStarted: { talent_id: __OverlordEventTalentId; finish_at: __OverlordEventDateTime<__OverlordEventUtc> } };\n /**\n * \u{423}\u{441}\u{43a}\u{43e}\u{440}\u{438}\u{442}\u{44c} \u{438}\u{437}\u{443}\u{447}\u{435}\u{43d}\u{438}\u{435} \u{442}\u{430}\u{43b}\u{430}\u{43d}\u{442}\u{430} \u{441} \u{43f}\u{43e}\u{43c}\u{43e}\u{449}\u{44c}\u{44e} \u{442}\u{430}\u{439}\u{43c}\u{441}\u{43a}\u{438}\u{43f}-\u{431}\u{438}\u{43b}\u{435}\u{442}\u{438}\u{43a}\u{430}.\n */\n export type SpeedupTalentResearch = { SpeedupTalentResearch: {} };\n /**\n * \u{41f}\u{440}\u{43e}\u{43f}\u{443}\u{441}\u{442}\u{438}\u{442}\u{44c} \u{43e}\u{441}\u{442}\u{430}\u{432}\u{448}\u{435}\u{435}\u{441}\u{44f} \u{432}\u{440}\u{435}\u{43c}\u{44f} \u{438}\u{437}\u{443}\u{447}\u{435}\u{43d}\u{438}\u{44f} \u{437}\u{430} \u{432}\u{430}\u{43b}\u{44e}\u{442}\u{443} (\u{431}\u{440}\u{44e}\u{43b}\u{438}/\u{442}\u{430}\u{439}\u{43c}\u{441}\u{43a}\u{438}\u{43f}\u{44b}).\n */\n export type SkipTalentResearch = { SkipTalentResearch: {} };\n /**\n * \u{417}\u{430}\u{431}\u{440}\u{430}\u{442}\u{44c} \u{437}\u{430}\u{432}\u{435}\u{440}\u{448}\u{451}\u{43d}\u{43d}\u{44b}\u{439} \u{442}\u{430}\u{43b}\u{430}\u{43d}\u{442} (\u{43f}\u{43e}\u{441}\u{43b}\u{435} \u{438}\u{441}\u{442}\u{435}\u{447}\u{435}\u{43d}\u{438}\u{44f} \u{442}\u{430}\u{439}\u{43c}\u{435}\u{440}\u{430}). \u{42d}\u{43c}\u{438}\u{442}\u{438}\u{440}\u{443}\u{435}\u{442}\u{441}\u{44f} \u{431}\u{44d}\u{43a}\u{435}\u{43d}\u{434}\u{43e}\u{43c} \u{430}\u{432}\u{442}\u{43e}\u{43c}\u{430}\u{442}\u{438}\u{447}\u{435}\u{441}\u{43a}\u{438}.\n */\n export type ClaimTalentResearch = { ClaimTalentResearch: {} };\n /**\n * \u{41e}\u{442}\u{43a}\u{430}\u{442}\u{438}\u{442}\u{44c} \u{43d}\u{435}\u{437}\u{430}\u{431}\u{43b}\u{43e}\u{43a}\u{438}\u{440}\u{43e}\u{432}\u{430}\u{43d}\u{43d}\u{44b}\u{435} \u{441}\u{43b}\u{43e}\u{442}\u{44b} \u{441}\u{442}\u{430}\u{442}\u{443}\u{438}. \u{421}\u{43f}\u{438}\u{441}\u{44b}\u{432}\u{430}\u{435}\u{442} \u{432}\u{430}\u{43b}\u{44e}\u{442}\u{443}, \u{43d}\u{430}\u{447}\u{438}\u{441}\u{43b}\u{44f}\u{435}\u{442} \u{43e}\u{43f}\u{44b}\u{442} \u{441}\u{442}\u{430}\u{442}\u{443}\u{435}.\n */\n export type StatueRoll = { StatueRoll: { set_index: number; locked_slot_indices: number[] } };\n /**\n * \u{421}\u{434}\u{435}\u{43b}\u{430}\u{442}\u{44c} \u{443}\u{43a}\u{430}\u{437}\u{430}\u{43d}\u{43d}\u{44b}\u{439} \u{441}\u{435}\u{442} \u{441}\u{442}\u{430}\u{442}\u{443}\u{438} \u{430}\u{43a}\u{442}\u{438}\u{432}\u{43d}\u{44b}\u{43c} (\\\"In Use\\\").\n */\n export type StatueActivateSet = { StatueActivateSet: { set_index: number } };\n /**\n * \u{414}\u{43e}\u{431}\u{430}\u{432}\u{438}\u{442}\u{44c} \u{43d}\u{43e}\u{432}\u{44b}\u{439} \u{441}\u{435}\u{442} \u{441}\u{442}\u{430}\u{442}\u{443}\u{438} (\u{435}\u{441}\u{43b}\u{438} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{441}\u{442}\u{430}\u{442}\u{443}\u{438} \u{43f}\u{43e}\u{437}\u{432}\u{43e}\u{43b}\u{44f}\u{435}\u{442}).\n */\n export type StatueAddSet = { StatueAddSet: {} };\n /**\n * \u{41f}\u{435}\u{440}\u{435}\u{438}\u{43c}\u{435}\u{43d}\u{43e}\u{432}\u{430}\u{442}\u{44c} \u{441}\u{435}\u{442} \u{441}\u{442}\u{430}\u{442}\u{443}\u{438}.\n */\n export type StatueRenameSet = { StatueRenameSet: { set_index: number; name: string } };\n /**\n * \u{417}\u{430}\u{431}\u{43b}\u{43e}\u{43a}\u{438}\u{440}\u{43e}\u{432}\u{430}\u{442}\u{44c} \u{438}\u{43b}\u{438} \u{440}\u{430}\u{437}\u{431}\u{43b}\u{43e}\u{43a}\u{438}\u{440}\u{43e}\u{432}\u{430}\u{442}\u{44c} \u{441}\u{43b}\u{43e}\u{442} \u{441}\u{442}\u{430}\u{442}\u{443}\u{438}.\n */\n export type StatueLockSlot = { StatueLockSlot: { set_index: number; slot_index: number; is_locked: boolean } };\n /**\n * \u{411}\u{435}\u{441}\u{43f}\u{43b}\u{430}\u{442}\u{43d}\u{44b}\u{439} \u{43f}\u{435}\u{440}\u{432}\u{438}\u{447}\u{43d}\u{44b}\u{439} \u{440}\u{43e}\u{43b}\u{43b} \u{434}\u{43b}\u{44f} \u{43d}\u{43e}\u{432}\u{43e}\u{433}\u{43e} \u{441}\u{43b}\u{43e}\u{442}\u{430} \u{43d}\u{430} \u{43b}\u{44e}\u{431}\u{43e}\u{43c} \u{441}\u{435}\u{442}\u{435} (\u{43f}\u{43e}\u{441}\u{43b}\u{435} \u{441}\u{43e}\u{437}\u{434}\u{430}\u{43d}\u{438}\u{44f} \u{441}\u{435}\u{442}\u{430} \u{438}\u{43b}\u{438} \u{43f}\u{43e}\u{432}\u{44b}\u{448}\u{435}\u{43d}\u{438}\u{44f} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{44f} \u{441}\u{442}\u{430}\u{442}\u{443}\u{438}).\n */\n export type StatueRollNewSlot = { StatueRollNewSlot: { set_index: number; slot_index: number } };\n /**\n * \u{41f}\u{43e}\u{434}\u{43d}\u{44f}\u{442}\u{44c} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{43e}\u{434}\u{43d}\u{43e}\u{433}\u{43e} \u{44f}\u{434}\u{440}\u{430} \u{43d}\u{430} 1 \u{437}\u{430} \u{432}\u{430}\u{43b}\u{44e}\u{442}\u{443} \u{44f}\u{434}\u{435}\u{440}.\n */\n export type UpgradeCore = { UpgradeCore: { side: __OverlordEventWorldSide } };\n /**\n * \u{41f}\u{43e}\u{434}\u{43d}\u{44f}\u{442}\u{44c} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{430}, \u{43f}\u{43e}\u{442}\u{440}\u{430}\u{442}\u{438}\u{432} \u{441}\u{44b}\u{440}\u{44b}\u{435} \u{43a}\u{43e}\u{43f}\u{438}\u{438} \u{44d}\u{442}\u{43e}\u{433}\u{43e} \u{436}\u{435} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{430}. \u{415}\u{441}\u{43b}\u{438} \u{431}\u{43e}\u{439}\n * \u{443}\u{436}\u{435} \u{438}\u{434}\u{451}\u{442}, \u{43d}\u{43e}\u{432}\u{430}\u{44f} \u{441}\u{431}\u{43e}\u{440}\u{43a}\u{430} \u{43f}\u{440}\u{438}\u{43c}\u{435}\u{43d}\u{44f}\u{435}\u{442}\u{441}\u{44f} \u{441}\u{43e} \u{441}\u{43b}\u{435}\u{434}\u{443}\u{44e}\u{449}\u{435}\u{433}\u{43e} \u{431}\u{43e}\u{44f}.\n */\n export type UpgradeLaw = { UpgradeLaw: { law_template_id: __OverlordEventLawTemplateId } };\n /**\n * \u{41f}\u{43e}\u{441}\u{442}\u{430}\u{432}\u{438}\u{442}\u{44c} \u{437}\u{430}\u{43a}\u{43e}\u{43d} \u{432} \u{441}\u{43b}\u{43e}\u{442} \u{44f}\u{434}\u{440}\u{430} \u{441}\u{432}\u{43e}\u{435}\u{439} \u{441}\u{442}\u{43e}\u{440}\u{43e}\u{43d}\u{44b}. \u{422}\u{435}\u{43a}\u{443}\u{449}\u{438}\u{439} \u{431}\u{43e}\u{439} \u{43d}\u{435} \u{43f}\u{435}\u{440}\u{435}\u{441}\u{447}\u{438}\u{442}\u{44b}\u{432}\u{430}\u{435}\u{442}\u{441}\u{44f}.\n */\n export type SlotLaw = { SlotLaw: { law_template_id: __OverlordEventLawTemplateId; slot_index: number } };\n /**\n * \u{421}\u{43d}\u{44f}\u{442}\u{44c} \u{437}\u{430}\u{43a}\u{43e}\u{43d} \u{441}\u{43e} \u{441}\u{43b}\u{43e}\u{442}\u{430}. \u{421}\u{43d}\u{438}\u{43c}\u{430}\u{435}\u{442} \u{438} \u{432}\u{441}\u{435} \u{435}\u{433}\u{43e} \u{43c}\u{43e}\u{441}\u{442}\u{44b}; \u{442}\u{435}\u{43a}\u{443}\u{449}\u{438}\u{439} \u{431}\u{43e}\u{439} \u{43d}\u{435}\n * \u{43f}\u{435}\u{440}\u{435}\u{441}\u{447}\u{438}\u{442}\u{44b}\u{432}\u{430}\u{435}\u{442}\u{441}\u{44f}.\n */\n export type UnslotLaw = { UnslotLaw: { law_template_id: __OverlordEventLawTemplateId } };\n /**\n * \u{421}\u{43e}\u{437}\u{434}\u{430}\u{442}\u{44c} \u{43c}\u{43e}\u{441}\u{442} \u{43c}\u{435}\u{436}\u{434}\u{443} \u{434}\u{432}\u{443}\u{43c}\u{44f} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{430}\u{43c}\u{438} \u{438}\u{437} \u{440}\u{430}\u{437}\u{43d}\u{44b}\u{445} \u{44f}\u{434}\u{435}\u{440}. \u{422}\u{435}\u{43a}\u{443}\u{449}\u{438}\u{439} \u{431}\u{43e}\u{439} \u{441}\u{43e}\u{445}\u{440}\u{430}\u{43d}\u{44f}\u{435}\u{442}\n * \u{441}\u{432}\u{43e}\u{439} \u{441}\u{43d}\u{438}\u{43c}\u{43e}\u{43a}.\n */\n export type CreateLawBridge = { CreateLawBridge: { first_law_template_id: __OverlordEventLawTemplateId; second_law_template_id: __OverlordEventLawTemplateId } };\n /**\n * \u{421}\u{43d}\u{44f}\u{442}\u{44c} \u{43c}\u{43e}\u{441}\u{442} \u{43c}\u{435}\u{436}\u{434}\u{443} \u{434}\u{432}\u{443}\u{43c}\u{44f} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{430}\u{43c}\u{438}. \u{422}\u{435}\u{43a}\u{443}\u{449}\u{438}\u{439} \u{431}\u{43e}\u{439} \u{441}\u{43e}\u{445}\u{440}\u{430}\u{43d}\u{44f}\u{435}\u{442} \u{441}\u{432}\u{43e}\u{439} \u{441}\u{43d}\u{438}\u{43c}\u{43e}\u{43a}.\n */\n export type RemoveLawBridge = { RemoveLawBridge: { first_law_template_id: __OverlordEventLawTemplateId; second_law_template_id: __OverlordEventLawTemplateId } };\n /**\n * \u{421}\u{435}\u{440}\u{432}\u{435}\u{440}\u{43d}\u{44b}\u{439} \u{43c}\u{430}\u{440}\u{43a}\u{435}\u{440}: \u{438}\u{433}\u{440}\u{43e}\u{43a} \u{43f}\u{43e}\u{43b}\u{443}\u{447}\u{438}\u{43b} \u{43a}\u{43e}\u{43f}\u{438}\u{438} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{430} (\u{434}\u{440}\u{43e}\u{43f}).\n */\n export type NewLawCopies = { NewLawCopies: { law_template_id: __OverlordEventLawTemplateId; amount: number } };\n /**\n * \u{412}\u{441}\u{442}\u{430}\u{432}\u{438}\u{442}\u{44c} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{432} \u{441}\u{43e}\u{43a}\u{435}\u{442} \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442}\u{430}. \u{41a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{430}\u{434}\u{440}\u{435}\u{441}\u{443}\u{435}\u{442}\u{441}\u{44f} \u{441}\u{432}\u{43e}\u{438}\u{43c} \u{448}\u{430}\u{431}\u{43b}\u{43e}\u{43d}\u{43e}\u{43c}:\n * \u{443} \u{438}\u{433}\u{440}\u{43e}\u{43a}\u{430} \u{43d}\u{435} \u{431}\u{43e}\u{43b}\u{44c}\u{448}\u{435} \u{43e}\u{434}\u{43d}\u{43e}\u{433}\u{43e} \u{44d}\u{43a}\u{437}\u{435}\u{43c}\u{43f}\u{43b}\u{44f}\u{440}\u{430} \u{43a}\u{430}\u{436}\u{434}\u{43e}\u{433}\u{43e} \u{448}\u{430}\u{431}\u{43b}\u{43e}\u{43d}\u{430}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{438} \u{432}\n * \u{431}\u{43e}\u{44e}.\n */\n export type InsertStone = { InsertStone: { template_id: __OverlordEventStoneTemplateId; item_type: __OverlordEventItemType; socket: __OverlordEventStoneSocketSlot } };\n /**\n * \u{412}\u{44b}\u{43d}\u{443}\u{442}\u{44c} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{438}\u{437} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{430}. \u{41a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{432}\u{43e}\u{437}\u{432}\u{440}\u{430}\u{449}\u{430}\u{435}\u{442}\u{441}\u{44f} \u{432} \u{438}\u{43d}\u{432}\u{435}\u{43d}\u{442}\u{430}\u{440}\u{44c} \u{431}\u{435}\u{437} \u{43f}\u{43e}\u{442}\u{435}\u{440}\u{44c}.\n * \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{438} \u{432} \u{431}\u{43e}\u{44e}.\n */\n export type RemoveStone = { RemoveStone: { template_id: __OverlordEventStoneTemplateId } };\n /**\n * \u{41f}\u{43e}\u{434}\u{43d}\u{44f}\u{442}\u{44c} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{43d}\u{430} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{437}\u{430} \u{441}\u{44b}\u{440}\u{44b}\u{435} \u{43a}\u{43e}\u{43f}\u{438}\u{438}. \u{418}\u{433}\u{440}\u{43e}\u{43a} \u{43d}\u{430}\u{437}\u{44b}\u{432}\u{430}\u{435}\u{442} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c}, \u{441}\u{435}\u{440}\u{432}\u{435}\u{440}\n * \u{441}\u{430}\u{43c} \u{441}\u{43f}\u{438}\u{441}\u{44b}\u{432}\u{430}\u{435}\u{442} \u{43d}\u{443}\u{436}\u{43d}\u{43e}\u{435} \u{447}\u{438}\u{441}\u{43b}\u{43e} \u{43a}\u{43e}\u{43f}\u{438}\u{439} \u{43f}\u{43e} \u{43b}\u{435}\u{441}\u{442}\u{43d}\u{438}\u{446}\u{435} \u{438}\u{437} \u{43a}\u{43e}\u{43d}\u{444}\u{438}\u{433}\u{430}. \u{422}\u{440}\u{438}\u{433}\u{433}\u{435}\u{440}\u{44b} \u{438}\n * \u{44d}\u{444}\u{444}\u{435}\u{43a}\u{442}\u{44b} \u{43a}\u{430}\u{447}\u{430}\u{44e}\u{442}\u{441}\u{44f} \u{440}\u{430}\u{437}\u{434}\u{435}\u{43b}\u{44c}\u{43d}\u{43e}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43a}\u{430}\u{447}\u{430}\u{442}\u{44c} \u{438} \u{432} \u{431}\u{43e}\u{44e}.\n */\n export type UpgradeStone = { UpgradeStone: { template_id: __OverlordEventStoneTemplateId } };\n /**\n * \u{411}\u{44b}\u{441}\u{442}\u{440}\u{43e} \u{43d}\u{430}\u{434}\u{435}\u{442}\u{44c} \u{432} \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442} \u{43b}\u{443}\u{447}\u{448}\u{438}\u{435} \u{441}\u{432}\u{43e}\u{431}\u{43e}\u{434}\u{43d}\u{44b}\u{435} \u{43a}\u{430}\u{43c}\u{43d}\u{438}: \u{43e}\u{434}\u{438}\u{43d} Trigger \u{438} \u{434}\u{432}\u{430}\n * Effect \u{2014} \u{438}\u{43b}\u{438} \u{441}\u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e}, \u{441}\u{43a}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{43e}\u{432} \u{43e}\u{442}\u{43a}\u{440}\u{44b}\u{442}\u{43e}. \u{417}\u{430}\u{43a}\u{440}\u{44b}\u{442}\u{44b}\u{435} \u{438} \u{443}\u{436}\u{435} \u{437}\u{430}\u{43d}\u{44f}\u{442}\u{44b}\u{435}\n * \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{44b} \u{43f}\u{440}\u{43e}\u{43f}\u{443}\u{441}\u{43a}\u{430}\u{44e}\u{442}\u{441}\u{44f}, \u{43a}\u{430}\u{43c}\u{43d}\u{438} \u{438}\u{437} \u{434}\u{440}\u{443}\u{433}\u{438}\u{445} \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442}\u{43e}\u{432} \u{43d}\u{435} \u{442}\u{440}\u{43e}\u{433}\u{430}\u{44e}\u{442}\u{441}\u{44f}, \u{ab}\u{43b}\u{443}\u{447}\u{448}\u{438}\u{439}\u{bb}\n * \u{441}\u{447}\u{438}\u{442}\u{430}\u{435}\u{442}\u{441}\u{44f} \u{441}\u{43d}\u{430}\u{447}\u{430}\u{43b}\u{430} \u{43f}\u{43e} \u{442}\u{438}\u{440}\u{443}, \u{43f}\u{43e}\u{442}\u{43e}\u{43c} \u{43f}\u{43e} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{44e}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{438} \u{432} \u{431}\u{43e}\u{44e}.\n */\n export type QuickEquipStones = { QuickEquipStones: { item_type: __OverlordEventItemType } };\n /**\n * \u{41f}\u{440}\u{43e}\u{43a}\u{430}\u{447}\u{430}\u{442}\u{44c} \u{432}\u{441}\u{435} Trigger-\u{43a}\u{430}\u{43c}\u{43d}\u{438}, \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{44b}\u{43c} \u{445}\u{432}\u{430}\u{442}\u{430}\u{435}\u{442} \u{441}\u{44b}\u{440}\u{44b}\u{445} \u{43a}\u{43e}\u{43f}\u{438}\u{439}, \u{437}\u{430} \u{43e}\u{434}\u{438}\u{43d} \u{432}\u{44b}\u{437}\u{43e}\u{432} \u{2014}\n * \u{441}\u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{435}\u{439} \u{43f}\u{43e}\u{434}\u{440}\u{44f}\u{434}, \u{441}\u{43a}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{43f}\u{43e}\u{437}\u{432}\u{43e}\u{43b}\u{44f}\u{435}\u{442} \u{43b}\u{435}\u{441}\u{442}\u{43d}\u{438}\u{446}\u{430}. \u{41a}\u{430}\u{43c}\u{43d}\u{438} \u{432} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{430}\u{445} \u{438} \u{432}\n * \u{438}\u{43d}\u{432}\u{435}\u{43d}\u{442}\u{430}\u{440}\u{435} \u{43e}\u{431}\u{440}\u{430}\u{431}\u{430}\u{442}\u{44b}\u{432}\u{430}\u{44e}\u{442}\u{441}\u{44f} \u{43e}\u{434}\u{438}\u{43d}\u{430}\u{43a}\u{43e}\u{432}\u{43e}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43a}\u{430}\u{447}\u{430}\u{442}\u{44c} \u{438} \u{432} \u{431}\u{43e}\u{44e}.\n *\n * \u{41a}\u{430}\u{442}\u{430}\u{43b}\u{43e}\u{433}\u{438} \u{440}\u{430}\u{437}\u{434}\u{435}\u{43b}\u{435}\u{43d}\u{44b} \u{43d}\u{430} \u{434}\u{432}\u{430} \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{44f}, \u{43f}\u{43e}\u{442}\u{43e}\u{43c}\u{443} \u{447}\u{442}\u{43e} \u{43a}\u{43d}\u{43e}\u{43f}\u{43a}\u{430} \u{43d}\u{430} \u{44d}\u{43a}\u{440}\u{430}\u{43d}\u{435} \u{43a}\u{430}\u{447}\u{430}\u{435}\u{442} \u{442}\u{443}\n * \u{432}\u{43a}\u{43b}\u{430}\u{434}\u{43a}\u{443}, \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{430}\u{44f} \u{43e}\u{442}\u{43a}\u{440}\u{44b}\u{442}\u{430}, \u{430} \u{43d}\u{435} \u{43e}\u{431}\u{435} \u{441}\u{440}\u{430}\u{437}\u{443}.\n */\n export type UpgradeAllTriggerStones = { UpgradeAllTriggerStones: {} };\n /**\n * \u{422}\u{43e} \u{436}\u{435} \u{441}\u{430}\u{43c}\u{43e}\u{435} \u{434}\u{43b}\u{44f} Effect-\u{43a}\u{430}\u{43c}\u{43d}\u{435}\u{439}. \u{421}\u{43c}. `UpgradeAllTriggerStones`.\n */\n export type UpgradeAllEffectStones = { UpgradeAllEffectStones: {} };\n /**\n * \u{427}\u{442}\u{43e} \u{438}\u{43c}\u{435}\u{43d}\u{43d}\u{43e} \u{43f}\u{43e}\u{434}\u{43d}\u{44f}\u{43b}\u{430} \u{43f}\u{440}\u{43e}\u{43a}\u{430}\u{447}\u{43a}\u{430} \u{43a}\u{430}\u{43c}\u{43d}\u{435}\u{439}: id \u{448}\u{430}\u{431}\u{43b}\u{43e}\u{43d}\u{430} -> (\u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{434}\u{43e}, \u{43f}\u{43e}\u{441}\u{43b}\u{435}).\n * \u{41a}\u{430}\u{43a} `UpgradedAbilities` \u{2014} \u{444}\u{440}\u{43e}\u{43d}\u{442} \u{43f}\u{43e}\u{43a}\u{430}\u{437}\u{44b}\u{432}\u{430}\u{435}\u{442} \u{43f}\u{43e} \u{43d}\u{435}\u{43c}\u{443} \u{43e}\u{43a}\u{43d}\u{43e} \u{440}\u{435}\u{437}\u{443}\u{43b}\u{44c}\u{442}\u{430}\u{442}\u{430}, \u{430}\n * \u{43a}\u{432}\u{435}\u{441}\u{442}\u{44b} \u{447}\u{438}\u{442}\u{430}\u{44e}\u{442} \u{43f}\u{440}\u{43e}\u{433}\u{440}\u{435}\u{441}\u{441}. \u{41f}\u{443}\u{441}\u{442}\u{44b}\u{43c} \u{43d}\u{435} \u{43e}\u{442}\u{43f}\u{440}\u{430}\u{432}\u{43b}\u{44f}\u{435}\u{442}\u{441}\u{44f}.\n */\n export type UpgradedStones = { UpgradedStones: { upgraded_stones: __OverlordEventUpgradedStonesMap } };\n /**\n * \u{421}\u{435}\u{440}\u{432}\u{435}\u{440} \u{432}\u{44b}\u{434}\u{430}\u{43b} \u{43d}\u{43e}\u{432}\u{44b}\u{435} \u{441}\u{44b}\u{440}\u{44b}\u{435} \u{43a}\u{43e}\u{43f}\u{438}\u{438} \u{43a}\u{430}\u{43c}\u{43d}\u{435}\u{439} (\u{412}\u{420}\u{415}\u{41c}\u{415}\u{41d}\u{41d}\u{41e} \u{2014} \u{441} \u{43e}\u{442}\u{43a}\u{440}\u{44b}\u{442}\u{438}\u{44f} \u{441}\u{443}\u{43d}\u{434}\u{443}\u{43a}\u{430},\n * \u{441}\u{43c}. `configs::stones::StoneDropSettings`). \u{41a}\u{430}\u{436}\u{434}\u{44b}\u{439} \u{44d}\u{43b}\u{435}\u{43c}\u{435}\u{43d}\u{442} \u{2014} \u{43e}\u{434}\u{43d}\u{430} \u{43a}\u{43e}\u{43f}\u{438}\u{44f};\n * \u{43f}\u{43e}\u{432}\u{442}\u{43e}\u{440}\u{44b} \u{434}\u{43e}\u{43f}\u{443}\u{441}\u{442}\u{438}\u{43c}\u{44b} \u{438} \u{441}\u{447}\u{438}\u{442}\u{430}\u{44e}\u{442}\u{441}\u{44f} \u{448}\u{442}\u{443}\u{43a}\u{430}\u{43c}\u{438}.\n */\n export type PlayerNewStones = { PlayerNewStones: { trigger_stones: __OverlordEventStoneTemplateId[]; effect_stones: __OverlordEventStoneTemplateId[] } };\n export type ClaimProgressPassFreeReward = { ClaimProgressPassFreeReward: { tier: number } };\n export type ClaimProgressPassPaidReward = { ClaimProgressPassPaidReward: { tier: number } };\n export type ClaimAllProgressPassRewards = { ClaimAllProgressPassRewards: { is_paid: boolean } };\n /**\n * User rated the game (1\u{2013}5) or declined to rate (rating = None).\n */\n export type UserRating = { UserRating: { rating: number | null } };\n /**\n * Server tells the client to display the rate-us prompt.\n * Emitted whenever `current_chapter_level >= game_settings.rate_us_chapter`\n * and `character.rate_us_shown` is still false. Re-emitted on every new\n * session start until the client acknowledges with `RateUsShown`.\n */\n export type ShowRateUs = { ShowRateUs: {} };\n /**\n * Client confirms the rate-us prompt was displayed.\n * Flips `character.rate_us_shown` to true so the server stops emitting.\n */\n export type RateUsShown = { RateUsShown: {} };\n /**\n * Client reports the rate-us star selection (1\u{2013}5).\n */\n export type RateUs = { RateUs: { stars: number } };\n export type Error = { Error: { code: string; message: string } };\n export type CustomEvent = { CustomEvent: { event_type: string; data: __OverlordEventCustomEventData } };\n /**\n * Server-only: a multi-cell run passes its next cell. Keeps the runner\\\'s\n * coordinates ticking cell-by-cell during a single `StartMove` so\n * opponents target the cell he is actually passing, not the run\\\'s\n * destination. Scheduled by `handle_start_move`; appended at the enum\n * tail to keep postcard variant tags of older events stable.\n */\n export type MoveProgress = { MoveProgress: { entity_id: __OverlordEventUuid; to: __OverlordEventCoordinates } };\n /**\n * Temporarily pauses the matching active fight while the client downloads\n * required visual content, or a completed fight while it preloads the next\n * campaign location. Kept at the enum tail so postcard variant tags of\n * existing events remain stable.\n */\n export type SetFightContentLoading = { SetFightContentLoading: { fight_id: __OverlordEventUuid; loading: boolean } };\n /**\n * Claims every unclaimed Daily and Weekly entitlement for one rating as\n * a single standard bundle group. Duplicate requests are a no-op.\n * Appended at the enum tail to preserve postcard tags of existing events.\n */\n export type ClaimRatingRewards = { ClaimRatingRewards: { rating_type: __OverlordEventRatingType } };\n /**\n * Server-only projection event used by cron wake-ups to refresh one\n * rating\\\'s authoritative notification flags on a connected client.\n * Appended at the enum tail to preserve postcard tags of existing events.\n */\n export type SetRatingRewardAvailability = { SetRatingRewardAvailability: { availability: __OverlordEventRatingRewardAvailability } };\n /**\n * \u{41d}\u{430}\u{434}\u{435}\u{442}\u{44c} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}. \u{41e}\u{434}\u{43d}\u{43e}\u{432}\u{440}\u{435}\u{43c}\u{435}\u{43d}\u{43d}\u{43e} \u{43d}\u{430}\u{434}\u{435}\u{442} \u{440}\u{43e}\u{432}\u{43d}\u{43e} \u{43e}\u{434}\u{438}\u{43d}: \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{435} \u{437}\u{430}\u{43c}\u{435}\u{43d}\u{44f}\u{435}\u{442}\n * \u{43f}\u{440}\u{435}\u{434}\u{44b}\u{434}\u{443}\u{449}\u{438}\u{439}, \u{441}\u{43d}\u{438}\u{43c}\u{430}\u{44f} \u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{435}\u{433}\u{43e} World Law. \u{412}\u{43b}\u{430}\u{434}\u{435}\u{43d}\u{438}\u{435} \u{438} \u{431}\u{43e}\u{43d}\u{443}\u{441} \u{437}\u{430} \u{432}\u{43b}\u{430}\u{434}\u{435}\u{43d}\u{438}\u{435} \u{43d}\u{435}\n * \u{43c}\u{435}\u{43d}\u{44f}\u{44e}\u{442}\u{441}\u{44f}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{432} \u{431}\u{43e}\u{44e}.\n */\n export type EquipArtifact = { EquipArtifact: { template_id: __OverlordEventArtifactTemplateId } };\n /**\n * \u{412}\u{441}\u{442}\u{430}\u{432}\u{438}\u{442}\u{44c} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}\u{430} \u{432} \u{43e}\u{434}\u{438}\u{43d} \u{438}\u{437} \u{448}\u{435}\u{441}\u{442}\u{438} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{43e}\u{432}. \u{421}\u{43e}\u{43a}\u{435}\u{442}, \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{44b}\u{439} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c}\n * \u{43f}\u{440}\u{438}\u{43d}\u{438}\u{43c}\u{430}\u{435}\u{442}, \u{437}\u{430}\u{434}\u{430}\u{43d} \u{435}\u{433}\u{43e} \u{448}\u{430}\u{431}\u{43b}\u{43e}\u{43d}\u{43e}\u{43c}; \u{447}\u{443}\u{436}\u{43e}\u{439} \u{441}\u{43e}\u{43a}\u{435}\u{442} \u{43e}\u{442}\u{43a}\u{43b}\u{43e}\u{43d}\u{44f}\u{435}\u{442}\u{441}\u{44f}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{432} \u{431}\u{43e}\u{44e}.\n */\n export type InsertArtifactStone = { InsertArtifactStone: { template_id: __OverlordEventArtifactStoneTemplateId; socket: __OverlordEventArtifactSocketSlot } };\n /**\n * \u{412}\u{44b}\u{43d}\u{443}\u{442}\u{44c} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}\u{430} \u{438}\u{437} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{430}. \u{41a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{43e}\u{441}\u{442}\u{430}\u{451}\u{442}\u{441}\u{44f} \u{432} \u{43a}\u{43e}\u{43b}\u{43b}\u{435}\u{43a}\u{446}\u{438}\u{438} \u{441}\n * \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{435}\u{43c} \u{438} \u{43a}\u{43e}\u{43f}\u{438}\u{44f}\u{43c}\u{438}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{432} \u{431}\u{43e}\u{44e}.\n */\n export type RemoveArtifactStone = { RemoveArtifactStone: { template_id: __OverlordEventArtifactStoneTemplateId } };\n /**\n * \u{41f}\u{43e}\u{434}\u{43d}\u{44f}\u{442}\u{44c} \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}\u{430} \u{43d}\u{430} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{437}\u{430} \u{441}\u{44b}\u{440}\u{44b}\u{435} \u{43a}\u{43e}\u{43f}\u{438}\u{438}. \u{41f}\u{440}\u{430}\u{432}\u{438}\u{43b}\u{43e} \u{43d}\u{435} \u{43c}\u{435}\u{43d}\u{44f}\u{435}\u{442}\u{441}\u{44f},\n * \u{440}\u{430}\u{441}\u{442}\u{451}\u{442} \u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{432}\u{435}\u{43b}\u{438}\u{447}\u{438}\u{43d}\u{430}. \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{432} \u{431}\u{43e}\u{44e}.\n */\n export type UpgradeArtifactStone = { UpgradeArtifactStone: { template_id: __OverlordEventArtifactStoneTemplateId } };\n /**\n * \u{421}\u{435}\u{440}\u{432}\u{435}\u{440} \u{432}\u{44b}\u{434}\u{430}\u{43b} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}\u{44b} \u{438}/\u{438}\u{43b}\u{438} \u{43a}\u{430}\u{43c}\u{43d}\u{438} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}\u{430}. \u{41f}\u{435}\u{440}\u{432}\u{430}\u{44f} \u{43a}\u{43e}\u{43f}\u{438}\u{44f} \u{441}\u{43e}\u{437}\u{434}\u{430}\u{451}\u{442}\n * \u{43f}\u{440}\u{435}\u{434}\u{43c}\u{435}\u{442} \u{43f}\u{435}\u{440}\u{432}\u{43e}\u{433}\u{43e} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{44f}; \u{43a}\u{430}\u{436}\u{434}\u{44b}\u{439} \u{434}\u{443}\u{431}\u{43b}\u{438}\u{43a}\u{430}\u{442} \u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{431}\u{430}\u{43d}\u{43a}\u{443}\u{435}\u{442}\u{441}\u{44f} \u{441}\u{44b}\u{440}\u{43e}\u{439} \u{43a}\u{43e}\u{43f}\u{438}\u{435}\u{439},\n * \u{432} \u{442}\u{43e}\u{43c} \u{447}\u{438}\u{441}\u{43b}\u{435} \u{43d}\u{430} \u{43c}\u{430}\u{43a}\u{441}\u{438}\u{43c}\u{430}\u{43b}\u{44c}\u{43d}\u{43e}\u{43c} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{435}. \u{423}\u{440}\u{43e}\u{432}\u{43d}\u{438} \u{43c}\u{435}\u{43d}\u{44f}\u{44e}\u{442} \u{43e}\u{442}\u{434}\u{435}\u{43b}\u{44c}\u{43d}\u{44b}\u{435} \u{43a}\u{43b}\u{438}\u{435}\u{43d}\u{442}\u{441}\u{43a}\u{438}\u{435}\n * \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{44f} \u{443}\u{43b}\u{443}\u{447}\u{448}\u{435}\u{43d}\u{438}\u{44f}.\n */\n export type PlayerNewArtifacts = { PlayerNewArtifacts: { artifacts: __OverlordEventArtifactTemplateId[]; artifact_stones: __OverlordEventArtifactStoneTemplateId[] } };\n /**\n * \u{417}\u{430}\u{43f}\u{443}\u{441}\u{442}\u{438}\u{442}\u{44c} \u{44d}\u{444}\u{444}\u{435}\u{43a}\u{442}-\u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{43e}\u{442} \u{438}\u{43c}\u{435}\u{43d}\u{438} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}\u{430} \u{2014} \u{441}\u{435}\u{440}\u{432}\u{435}\u{440}\u{43d}\u{43e}\u{435} \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{435}, \u{43a}\u{43b}\u{438}\u{435}\u{43d}\u{442}\n * \u{435}\u{433}\u{43e} \u{43d}\u{435} \u{448}\u{43b}\u{451}\u{442}.\n *\n * \u{421}\u{443}\u{449}\u{435}\u{441}\u{442}\u{432}\u{443}\u{435}\u{442} \u{440}\u{430}\u{434}\u{438} \u{43e}\u{434}\u{43d}\u{43e}\u{433}\u{43e} \u{43f}\u{440}\u{430}\u{432}\u{438}\u{43b}\u{430}: `FA-05 Staggered Entrance` \u{440}\u{430}\u{437}\u{43d}\u{43e}\u{441}\u{438}\u{442} \u{441}\u{432}\u{43e}\u{438}\n * \u{43f}\u{44f}\u{442}\u{44c} \u{44d}\u{444}\u{444}\u{435}\u{43a}\u{442}\u{43e}\u{432} \u{43f}\u{43e} \u{43f}\u{43e}\u{43b}\u{441}\u{435}\u{43a}\u{443}\u{43d}\u{434}\u{44b}. \u{412}\u{437}\u{432}\u{43e}\u{434} \u{432} v0.2 \u{2014} \u{43f}\u{440}\u{44f}\u{43c}\u{430}\u{44f} \u{437}\u{430}\u{43f}\u{438}\u{441}\u{44c} \u{432} \u{430}\u{442}\u{440}\u{438}\u{431}\u{443}\u{442}, \u{430} \u{43d}\u{435}\n * \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{435}, \u{43f}\u{43e}\u{44d}\u{442}\u{43e}\u{43c}\u{443} \u{43e}\u{442}\u{43b}\u{43e}\u{436}\u{438}\u{442}\u{44c} \u{441}\u{430}\u{43c} \u{44d}\u{444}\u{444}\u{435}\u{43a}\u{442} \u{43d}\u{435}\u{447}\u{435}\u{43c}; \u{43e}\u{442}\u{43a}\u{43b}\u{430}\u{434}\u{44b}\u{432}\u{430}\u{435}\u{442}\u{441}\u{44f} \u{432}\u{435}\u{441}\u{44c} \u{437}\u{430}\u{43f}\u{443}\u{441}\u{43a}\n * \u{446}\u{435}\u{43b}\u{438}\u{43a}\u{43e}\u{43c}, \u{438} \u{43e}\u{442}\u{43b}\u{43e}\u{436}\u{435}\u{43d}\u{43d}\u{44b}\u{439} \u{437}\u{430}\u{43f}\u{443}\u{441}\u{43a} \u{43d}\u{438}\u{447}\u{435}\u{43c} \u{43d}\u{435} \u{43e}\u{442}\u{43b}\u{438}\u{447}\u{430}\u{435}\u{442}\u{441}\u{44f} \u{43e}\u{442} \u{43e}\u{431}\u{44b}\u{447}\u{43d}\u{43e}\u{433}\u{43e}, \u{43a}\u{440}\u{43e}\u{43c}\u{435}\n * \u{43c}\u{43e}\u{43c}\u{435}\u{43d}\u{442}\u{430}. \u{411}\u{43e}\u{435}\u{432}\u{44b}\u{435} \u{43f}\u{43e}\u{43a}\u{430}\u{437}\u{430}\u{43d}\u{438}\u{44f} \u{43f}\u{435}\u{440}\u{435}\u{447}\u{438}\u{442}\u{44b}\u{432}\u{430}\u{44e}\u{442}\u{441}\u{44f} \u{43d}\u{430} \u{438}\u{441}\u{43f}\u{43e}\u{43b}\u{43d}\u{435}\u{43d}\u{438}\u{438}: \u{431}\u{43b}\u{438}\u{436}\u{430}\u{439}\u{448}\u{438}\u{439} \u{432}\u{440}\u{430}\u{433}\n * \u{447}\u{435}\u{440}\u{435}\u{437} \u{43f}\u{43e}\u{43b}\u{441}\u{435}\u{43a}\u{443}\u{43d}\u{434}\u{44b} \u{43c}\u{43e}\u{436}\u{435}\u{442} \u{431}\u{44b}\u{442}\u{44c} \u{434}\u{440}\u{443}\u{433}\u{438}\u{43c}. \u{415}\u{441}\u{43b}\u{438} \u{431}\u{43e}\u{44f} \u{443}\u{436}\u{435} \u{43d}\u{435}\u{442} \u{2014} \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{435} \u{43d}\u{438}\u{447}\u{435}\u{433}\u{43e} \u{43d}\u{435}\n * \u{434}\u{435}\u{43b}\u{430}\u{435}\u{442}.\n */\n export type FireArtifactEffect = { FireArtifactEffect: { /**\n * \u{411}\u{43e}\u{435}\u{446}, \u{447}\u{435}\u{439} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442} \u{437}\u{430}\u{43f}\u{443}\u{441}\u{43a}\u{430}\u{435}\u{442} \u{44d}\u{444}\u{444}\u{435}\u{43a}\u{442}: \u{43b}\u{43e}\u{43a}\u{430}\u{43b}\u{44c}\u{43d}\u{44b}\u{439} \u{433}\u{435}\u{440}\u{43e}\u{439}, \u{441}\u{43e}\u{44e}\u{437}\u{43d}\u{438}\u{43a} \u{43f}\u{43e}\n * party \u{438}\u{43b}\u{438} PvP-\u{441}\u{43e}\u{43f}\u{435}\u{440}\u{43d}\u{438}\u{43a}. \u{41f}\u{43e}\u{43a}\u{430}\u{437}\u{430}\u{43d}\u{438}\u{44f} \u{431}\u{43e}\u{44f} \u{43f}\u{435}\u{440}\u{435}\u{447}\u{438}\u{442}\u{44b}\u{432}\u{430}\u{44e}\u{442}\u{441}\u{44f} \u{43e}\u{442} \u{435}\u{433}\u{43e} \u{438}\u{43c}\u{435}\u{43d}\u{438}.\n */\n owner_id: __OverlordEventEntityId; effect_template_id: __OverlordEventStoneTemplateId; effect_level: number; /**\n * \u{414}\u{43e}\u{43b}\u{44f} \u{441}\u{438}\u{43b}\u{44b} \u{43f}\u{440}\u{430}\u{432}\u{438}\u{43b}\u{430}, \u{43f}\u{43e}\u{441}\u{447}\u{438}\u{442}\u{430}\u{43d}\u{43d}\u{430}\u{44f} \u{43d}\u{430} \u{444}\u{43b}\u{438}\u{43f}\u{435}. \u{412} \u{434}\u{435}\u{441}\u{44f}\u{442}\u{438}\u{442}\u{44b}\u{441}\u{44f}\u{447}\u{43d}\u{44b}\u{445}, \u{43f}\u{43e}\u{442}\u{43e}\u{43c}\u{443} \u{447}\u{442}\u{43e}\n * enum \u{441}\u{43e}\u{431}\u{44b}\u{442}\u{438}\u{439} \u{432}\u{44b}\u{432}\u{43e}\u{434}\u{438}\u{442} `Eq`, \u{430} `f64` \u{435}\u{433}\u{43e} \u{43d}\u{435} \u{440}\u{435}\u{430}\u{43b}\u{438}\u{437}\u{443}\u{435}\u{442}: `7000` \u{2014} \u{44d}\u{442}\u{43e} 0,7.\n */\n share_permyriad: number; /**\n * \u{41a}\u{430}\u{43c}\u{435}\u{43d}\u{44c}-\u{430}\u{441}\u{43f}\u{435}\u{43a}\u{442}, \u{447}\u{44c}\u{451} \u{43f}\u{440}\u{430}\u{432}\u{438}\u{43b}\u{43e} \u{43e}\u{442}\u{43b}\u{43e}\u{436}\u{438}\u{43b}\u{43e} \u{44d}\u{442}\u{43e}\u{442} \u{43f}\u{440}\u{43e}\u{433}\u{43e}\u{43d}. \u{41d}\u{443}\u{436}\u{435}\u{43d}, \u{447}\u{442}\u{43e}\u{431}\u{44b}\n * \u{43e}\u{442}\u{43b}\u{43e}\u{436}\u{435}\u{43d}\u{43d}\u{44b}\u{439} \u{437}\u{430}\u{43f}\u{443}\u{441}\u{43a} \u{43f}\u{43e}\u{43f}\u{430}\u{43b} \u{432} \u{442}\u{443} \u{436}\u{435} \u{441}\u{442}\u{440}\u{43e}\u{43a}\u{443} \u{440}\u{430}\u{437}\u{431}\u{43e}\u{440}\u{430} \u{431}\u{43e}\u{44f}, \u{447}\u{442}\u{43e} \u{438} \u{43c}\u{433}\u{43d}\u{43e}\u{432}\u{435}\u{43d}\u{43d}\u{44b}\u{439}.\n */\n artifact_stone_id: __OverlordEventArtifactStoneTemplateId } };\n /**\n * \u{41d}\u{430}\u{437}\u{43d}\u{430}\u{447}\u{438}\u{442}\u{44c} \u{43a}\u{430}\u{43c}\u{43d}\u{44e} \u{43f}\u{440}\u{430}\u{432}\u{43e}\u{439} \u{43a}\u{43e}\u{43b}\u{43e}\u{43d}\u{43a}\u{438} \u{437}\u{430}\u{43a}\u{43e}\u{43d}, \u{43d}\u{430} \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{44b}\u{439} \u{43e}\u{43d} \u{434}\u{435}\u{439}\u{441}\u{442}\u{432}\u{443}\u{435}\u{442}, \u{438}\u{43b}\u{438} \u{441}\u{43d}\u{44f}\u{442}\u{44c}\n * \u{43d}\u{430}\u{437}\u{43d}\u{430}\u{447}\u{435}\u{43d}\u{438}\u{435} (`law_template_id: None`). \u{41c}\u{43e}\u{436}\u{43d}\u{43e} \u{43c}\u{435}\u{43d}\u{44f}\u{442}\u{44c} \u{432} \u{431}\u{43e}\u{44e}.\n *\n * \u{410}\u{434}\u{440}\u{435}\u{441}\u{43e}\u{43c} \u{441}\u{43b}\u{443}\u{436}\u{438}\u{442} \u{43e}\u{434}\u{438}\u{43d} \u{437}\u{430}\u{43a}\u{43e}\u{43d}, \u{438} \u{44d}\u{442}\u{43e}\u{433}\u{43e} \u{445}\u{432}\u{430}\u{442}\u{430}\u{435}\u{442} \u{432} \u{442}\u{43e}\u{43c} \u{447}\u{438}\u{441}\u{43b}\u{435} \u{43a}\u{430}\u{43c}\u{43d}\u{44f}\u{43c} \u{43f}\u{440}\u{43e} \u{43c}\u{43e}\u{441}\u{442}\u{44b}:\n * \u{443} \u{43c}\u{43e}\u{441}\u{442}\u{430} \u{43d}\u{435}\u{442} \u{441}\u{432}\u{43e}\u{435}\u{433}\u{43e} \u{438}\u{434}\u{435}\u{43d}\u{442}\u{438}\u{444}\u{438}\u{43a}\u{430}\u{442}\u{43e}\u{440}\u{430}, \u{43d}\u{43e} \u{432} v0.2 \u{443} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{430} \u{440}\u{43e}\u{432}\u{43d}\u{43e} \u{43e}\u{434}\u{438}\u{43d} \u{43f}\u{430}\u{440}\u{442}\u{43d}\u{451}\u{440},\n * \u{43f}\u{43e}\u{44d}\u{442}\u{43e}\u{43c}\u{443} \u{ab}\u{43c}\u{43e}\u{441}\u{442}, \u{432} \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{43e}\u{43c} \u{441}\u{43e}\u{441}\u{442}\u{43e}\u{438}\u{442} \u{437}\u{430}\u{43a}\u{43e}\u{43d} X\u{bb} \u{2014} \u{43e}\u{434}\u{43d}\u{43e}\u{437}\u{43d}\u{430}\u{447}\u{43d}\u{44b}\u{439} \u{430}\u{434}\u{440}\u{435}\u{441}. \u{41e}\u{442}\u{441}\u{44e}\u{434}\u{430}\n * \u{441}\u{43b}\u{435}\u{434}\u{441}\u{442}\u{432}\u{438}\u{435}: \u{435}\u{441}\u{43b}\u{438} \u{438}\u{433}\u{440}\u{43e}\u{43a} \u{440}\u{430}\u{437}\u{431}\u{435}\u{440}\u{451}\u{442} \u{43c}\u{43e}\u{441}\u{442} \u{432}\u{44b}\u{431}\u{440}\u{430}\u{43d}\u{43d}\u{43e}\u{433}\u{43e} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{430} \u{438} \u{43f}\u{43e}\u{441}\u{442}\u{440}\u{43e}\u{438}\u{442} \u{435}\u{43c}\u{443}\n * \u{434}\u{440}\u{443}\u{433}\u{43e}\u{439}, \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c} \u{43f}\u{435}\u{440}\u{435}\u{435}\u{434}\u{435}\u{442} \u{43d}\u{430} \u{43d}\u{43e}\u{432}\u{44b}\u{439} \u{43c}\u{43e}\u{441}\u{442} \u{441}\u{430}\u{43c}.\n */\n export type SetArtifactStoneLawTarget = { SetArtifactStoneLawTarget: { template_id: __OverlordEventArtifactStoneTemplateId; law_template_id: __OverlordEventLawTemplateId | null } };\n /**\n * \u{417}\u{430}\u{43f}\u{43e}\u{43b}\u{43d}\u{44f}\u{435}\u{442} \u{441}\u{432}\u{43e}\u{431}\u{43e}\u{434}\u{43d}\u{44b}\u{435} \u{43e}\u{442}\u{43a}\u{440}\u{44b}\u{442}\u{44b}\u{435} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{44b} \u{41e}\u{414}\u{41d}\u{41e}\u{419} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{438} \u{43b}\u{443}\u{447}\u{448}\u{438}\u{43c}\u{438} \u{43a}\u{430}\u{43c}\u{43d}\u{44f}\u{43c}\u{438} \u{438}\u{437}\n * \u{43a}\u{43e}\u{43b}\u{43b}\u{435}\u{43a}\u{446}\u{438}\u{438}. \u{417}\u{430}\u{43a}\u{440}\u{44b}\u{442}\u{44b}\u{435} \u{438} \u{443}\u{436}\u{435} \u{437}\u{430}\u{43d}\u{44f}\u{442}\u{44b}\u{435} \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{44b} \u{43f}\u{440}\u{43e}\u{43f}\u{443}\u{441}\u{43a}\u{430}\u{44e}\u{442}\u{441}\u{44f}, \u{43f}\u{440}\u{430}\u{432}\u{438}\u{43b}\u{430} \u{43f}\u{440}\u{438}\u{451}\u{43c}\u{430} \u{442}\u{435}\n * \u{436}\u{435}, \u{447}\u{442}\u{43e} \u{443} \u{440}\u{443}\u{447}\u{43d}\u{43e}\u{439} \u{443}\u{441}\u{442}\u{430}\u{43d}\u{43e}\u{432}\u{43a}\u{438}: \u{441}\u{43e}\u{432}\u{43c}\u{435}\u{441}\u{442}\u{438}\u{43c}\u{43e}\u{441}\u{442}\u{44c} \u{43f}\u{43e} \u{442}\u{435}\u{433}\u{430}\u{43c}, \u{43e}\u{434}\u{43d}\u{43e} \u{441}\u{435}\u{43c}\u{435}\u{439}\u{441}\u{442}\u{432}\u{43e} \u{43d}\u{430}\n * \u{43e}\u{434}\u{438}\u{43d} Imprint, \u{43e}\u{434}\u{438}\u{43d} \u{448}\u{430}\u{431}\u{43b}\u{43e}\u{43d} \u{43d}\u{430} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{44c}. \u{421}\u{43e}\u{43a}\u{435}\u{442}, \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{43e}\u{43c}\u{443} \u{43d}\u{435}\u{447}\u{435}\u{433}\u{43e}\n * \u{43f}\u{440}\u{435}\u{434}\u{43b}\u{43e}\u{436}\u{438}\u{442}\u{44c}, \u{43e}\u{441}\u{442}\u{430}\u{451}\u{442}\u{441}\u{44f} \u{43f}\u{443}\u{441}\u{442}\u{44b}\u{43c} \u{431}\u{435}\u{437} \u{43e}\u{448}\u{438}\u{431}\u{43a}\u{438}.\n * \u{414}\u{43e}\u{431}\u{430}\u{432}\u{43b}\u{435}\u{43d}\u{43e} \u{432} \u{445}\u{432}\u{43e}\u{441}\u{442} enum, \u{447}\u{442}\u{43e}\u{431}\u{44b} \u{43d}\u{435} \u{441}\u{434}\u{432}\u{438}\u{43d}\u{443}\u{442}\u{44c} postcard-\u{442}\u{435}\u{433}\u{438} \u{441}\u{443}\u{449}\u{435}\u{441}\u{442}\u{432}\u{443}\u{44e}\u{449}\u{438}\u{445}.\n */\n export type QuickEquipAbilityStones = { QuickEquipAbilityStones: { ability_id: __OverlordEventAbilityId } };\n /**\n * \u{41f}\u{43e}\u{434}\u{43d}\u{438}\u{43c}\u{430}\u{435}\u{442} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{43a}\u{430}\u{436}\u{434}\u{43e}\u{433}\u{43e} \u{43a}\u{430}\u{43c}\u{43d}\u{44f} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{438}, \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{43e}\u{43c}\u{443} \u{445}\u{432}\u{430}\u{442}\u{430}\u{435}\u{442} \u{441}\u{44b}\u{440}\u{44b}\u{445}\n * \u{43a}\u{43e}\u{43f}\u{438}\u{439}, \u{2014} \u{441}\u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{435}\u{439} \u{43f}\u{43e}\u{434}\u{440}\u{44f}\u{434}, \u{441}\u{43a}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{43f}\u{43e}\u{437}\u{432}\u{43e}\u{43b}\u{44f}\u{435}\u{442} \u{43b}\u{435}\u{441}\u{442}\u{43d}\u{438}\u{446}\u{430}. \u{41a}\u{430}\u{43c}\u{43d}\u{438} \u{432}\n * \u{441}\u{43e}\u{43a}\u{435}\u{442}\u{430}\u{445} \u{438} \u{432} \u{43a}\u{43e}\u{43b}\u{43b}\u{435}\u{43a}\u{446}\u{438}\u{438} \u{43e}\u{431}\u{440}\u{430}\u{431}\u{430}\u{442}\u{44b}\u{432}\u{430}\u{44e}\u{442}\u{441}\u{44f} \u{43e}\u{434}\u{438}\u{43d}\u{430}\u{43a}\u{43e}\u{432}\u{43e}; \u{43a}\u{430}\u{43c}\u{435}\u{43d}\u{44c}, \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{44b}\u{439} \u{43d}\u{435} \u{43c}\u{43e}\u{436}\u{435}\u{442}\n * \u{43e}\u{43f}\u{43b}\u{430}\u{442}\u{438}\u{442}\u{44c} \u{441}\u{43b}\u{435}\u{434}\u{443}\u{44e}\u{449}\u{438}\u{439} \u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c}, \u{43f}\u{440}\u{43e}\u{43f}\u{443}\u{441}\u{43a}\u{430}\u{435}\u{442}\u{441}\u{44f}, \u{430} \u{43d}\u{435} \u{440}\u{43e}\u{43d}\u{44f}\u{435}\u{442} \u{432}\u{435}\u{441}\u{44c} \u{432}\u{44b}\u{437}\u{43e}\u{432}.\n * \u{414}\u{43e}\u{431}\u{430}\u{432}\u{43b}\u{435}\u{43d}\u{43e} \u{432} \u{445}\u{432}\u{43e}\u{441}\u{442} enum, \u{447}\u{442}\u{43e}\u{431}\u{44b} \u{43d}\u{435} \u{441}\u{434}\u{432}\u{438}\u{43d}\u{443}\u{442}\u{44c} postcard-\u{442}\u{435}\u{433}\u{438} \u{441}\u{443}\u{449}\u{435}\u{441}\u{442}\u{432}\u{443}\u{44e}\u{449}\u{438}\u{445}.\n */\n export type UpgradeAllAbilityStones = { UpgradeAllAbilityStones: {} };\n /**\n * \u{427}\u{442}\u{43e} \u{438}\u{43c}\u{435}\u{43d}\u{43d}\u{43e} \u{43f}\u{43e}\u{434}\u{43d}\u{44f}\u{43b}\u{430} \u{43c}\u{430}\u{441}\u{441}\u{43e}\u{432}\u{430}\u{44f} \u{43f}\u{440}\u{43e}\u{43a}\u{430}\u{447}\u{43a}\u{430} \u{43a}\u{430}\u{43c}\u{43d}\u{435}\u{439} \u{441}\u{43f}\u{43e}\u{441}\u{43e}\u{431}\u{43d}\u{43e}\u{441}\u{442}\u{435}\u{439}: id \u{448}\u{430}\u{431}\u{43b}\u{43e}\u{43d}\u{430} ->\n * (\u{443}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} \u{434}\u{43e}, \u{43f}\u{43e}\u{441}\u{43b}\u{435}). \u{41a}\u{430}\u{43a} `UpgradedStones` \u{2014} \u{444}\u{440}\u{43e}\u{43d}\u{442} \u{43f}\u{43e}\u{43a}\u{430}\u{437}\u{44b}\u{432}\u{430}\u{435}\u{442} \u{43f}\u{43e} \u{43d}\u{435}\u{43c}\u{443} \u{43e}\u{43a}\u{43d}\u{43e}\n * \u{440}\u{435}\u{437}\u{443}\u{43b}\u{44c}\u{442}\u{430}\u{442}\u{430}. \u{41f}\u{443}\u{441}\u{442}\u{44b}\u{43c} \u{43d}\u{435} \u{43e}\u{442}\u{43f}\u{440}\u{430}\u{432}\u{43b}\u{44f}\u{435}\u{442}\u{441}\u{44f}.\n * \u{414}\u{43e}\u{431}\u{430}\u{432}\u{43b}\u{435}\u{43d}\u{43e} \u{432} \u{445}\u{432}\u{43e}\u{441}\u{442} enum, \u{447}\u{442}\u{43e}\u{431}\u{44b} \u{43d}\u{435} \u{441}\u{434}\u{432}\u{438}\u{43d}\u{443}\u{442}\u{44c} postcard-\u{442}\u{435}\u{433}\u{438} \u{441}\u{443}\u{449}\u{435}\u{441}\u{442}\u{432}\u{443}\u{44e}\u{449}\u{438}\u{445}.\n */\n export type UpgradedAbilityStones = { UpgradedAbilityStones: { upgraded_ability_stones: __OverlordEventUpgradedAbilityStonesMap } };\n /**\n * Raises one owned artifact by one level and atomically spends the exact\n * raw-copy cost configured for that next level. Appended at the enum tail\n * to preserve postcard tags of every existing event.\n */\n export type UpgradeArtifact = { UpgradeArtifact: { template_id: __OverlordEventArtifactTemplateId } };\n /**\n * \u{421}\u{431}\u{440}\u{430}\u{441}\u{44b}\u{432}\u{430}\u{435}\u{442} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{438} \u{41e}\u{411}\u{41e}\u{418}\u{425} \u{44f}\u{434}\u{435}\u{440} \u{432} 0 \u{438} \u{432}\u{43e}\u{437}\u{432}\u{440}\u{430}\u{449}\u{430}\u{435}\u{442} \u{432}\u{441}\u{44e} \u{432}\u{430}\u{43b}\u{44e}\u{442}\u{443}, \u{43f}\u{43e}\u{442}\u{440}\u{430}\u{447}\u{435}\u{43d}\u{43d}\u{443}\u{44e}\n * \u{43d}\u{430} \u{438}\u{445} \u{43f}\u{43e}\u{434}\u{44a}\u{451}\u{43c} (\u{442}\u{43e}\u{447}\u{43d}\u{430}\u{44f} \u{441}\u{443}\u{43c}\u{43c}\u{430} `core_level_cost` \u{43f}\u{43e} \u{43e}\u{431}\u{435}\u{438}\u{43c} \u{43b}\u{435}\u{441}\u{442}\u{43d}\u{438}\u{446}\u{430}\u{43c}).\n * \u{423}\u{440}\u{43e}\u{432}\u{435}\u{43d}\u{44c} 0 \u{43d}\u{435} \u{434}\u{430}\u{451}\u{442} \u{441}\u{43b}\u{43e}\u{442}\u{43e}\u{432} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{43e}\u{432}, \u{43f}\u{43e}\u{44d}\u{442}\u{43e}\u{43c}\u{443} \u{432}\u{441}\u{435} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{44b} \u{441}\u{43d}\u{438}\u{43c}\u{430}\u{44e}\u{442}\u{441}\u{44f} \u{441}\u{43e}\n * \u{441}\u{43b}\u{43e}\u{442}\u{43e}\u{432} \u{43f}\u{443}\u{442}\u{451}\u{43c} `UnslotLaw`: \u{43c}\u{43e}\u{441}\u{442}\u{44b} \u{443}\u{445}\u{43e}\u{434}\u{44f}\u{442}, \u{43a}\u{430}\u{43c}\u{43d}\u{438} \u{430}\u{440}\u{442}\u{435}\u{444}\u{430}\u{43a}\u{442}\u{430} \u{437}\u{430}\u{431}\u{44b}\u{432}\u{430}\u{44e}\u{442}\n * \u{432}\u{44b}\u{431}\u{440}\u{430}\u{43d}\u{43d}\u{44b}\u{435} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{44b}. \u{421}\u{430}\u{43c}\u{438} \u{437}\u{430}\u{43a}\u{43e}\u{43d}\u{44b}, \u{438}\u{445} \u{443}\u{440}\u{43e}\u{432}\u{43d}\u{438} \u{438} \u{43a}\u{43e}\u{43f}\u{438}\u{438} \u{43d}\u{435} \u{442}\u{440}\u{43e}\u{433}\u{430}\u{44e}\u{442}\u{441}\u{44f}.\n * \u{414}\u{43e}\u{431}\u{430}\u{432}\u{43b}\u{435}\u{43d}\u{43e} \u{432} \u{445}\u{432}\u{43e}\u{441}\u{442} enum \u{440}\u{430}\u{434}\u{438} \u{441}\u{442}\u{430}\u{431}\u{438}\u{43b}\u{44c}\u{43d}\u{43e}\u{441}\u{442}\u{438} postcard-\u{442}\u{435}\u{433}\u{43e}\u{432}.\n */\n export type ResetCores = { ResetCores: {} };\n /**\n * \u{412}\u{44b}\u{431}\u{43e}\u{440} \u{43c}\u{438}\u{440}\u{430} (Real/Fantasy), \u{441} \u{43a}\u{43e}\u{442}\u{43e}\u{440}\u{43e}\u{433}\u{43e} \u{438}\u{433}\u{440}\u{43e}\u{43a} \u{441}\u{442}\u{430}\u{440}\u{442}\u{443}\u{435}\u{442} \u{430}\u{440}\u{435}\u{43d}\u{430}-\u{431}\u{43e}\u{438} \u{2014} \u{438} \u{43a}\u{430}\u{43a}\n * \u{430}\u{442}\u{430}\u{43a}\u{443}\u{44e}\u{449}\u{438}\u{439}, \u{438} \u{43a}\u{430}\u{43a} \u{441}\u{43d}\u{430}\u{43f}\u{448}\u{43e}\u{442}-\u{43e}\u{43f}\u{43f}\u{43e}\u{43d}\u{435}\u{43d}\u{442} \u{432} \u{447}\u{443}\u{436}\u{438}\u{445} \u{431}\u{43e}\u{44f}\u{445}. \u{412}\u{430}\u{43b}\u{438}\u{434}\u{435}\u{43d} \u{442}\u{43e}\u{43b}\u{44c}\u{43a}\u{43e} \u{43f}\u{440}\u{438}\n * \u{440}\u{430}\u{437}\u{43b}\u{43e}\u{447}\u{435}\u{43d}\u{43d}\u{43e}\u{43c} \u{444}\u{43b}\u{438}\u{43f}\u{435}. \u{414}\u{43e}\u{431}\u{430}\u{432}\u{43b}\u{435}\u{43d}\u{43e} \u{432} \u{445}\u{432}\u{43e}\u{441}\u{442} enum \u{440}\u{430}\u{434}\u{438} \u{441}\u{442}\u{430}\u{431}\u{438}\u{43b}\u{44c}\u{43d}\u{43e}\u{441}\u{442}\u{438}\n * postcard-\u{442}\u{435}\u{433}\u{43e}\u{432}.\n */\n export type SetArenaWorldSide = { SetArenaWorldSide: { side: __OverlordEventWorldSide } };\n}\n\nexport type OverlordEvent = { OpenItemCase: { batch_size: number } } | { AutoChestOpenItemCase: { batch_size: number } } | { PlayerNewItems: { items: Item[] } } | { PlayerEquipItem: { item_id: Uuid } } | { SellItem: { item_id: Uuid } } | { ItemSold: { item_id: Uuid } } | { ItemsExpired: { item_ids: Uuid[] } } | { PlinkoBallDropped: { item_id: Uuid; path: PlinkoDirection[] } } | { UpgradeItemCase: {} } | { ItemCaseUpgraded: {} } | { SpeedupUpgradeItemCase: {} } | { SkipUpgradeItemCase: {} } | { ClaimUpgradeItemCase: {} } | { EnableAutoSell: {} } | { DisableAutoSell: {} } | { SetGearOverrideEnabled: { item_type: ItemType; enabled: boolean } } | { EnableAutoChest: {} } | { DisableAutoChest: {} } | { EnableAutoChestFilter: { filter_id: AutoChestFilterId } } | { DisableAutoChestFilter: {} } | { EnableAutoChestPowerCompare: {} } | { DisableAutoChestPowerCompare: {} } | { UpdateAutoChestBatchSize: { batch_size: number } } | { NewAutoChestFilter: { filter: AutoChestFilter } } | { UpdateAutoChestFilter: { updated_filter: AutoChestFilter } } | { RemoveAutoChestFilter: { filter_id: AutoChestFilterId } } | { OpenAbilityCase: { roll_type: AbilityCaseRollType } } | { SetAbilityGachaWishlist: { ability_ids: AbilityId[] } } | { UpgradeAbilitySlot: { slot_id: number } } | { AbilityCaseOpened: { batch_size: number } } | { NewAbilities: { abilities: AbilityDrop[] } } | { FastEquipAbilities: {} } | { EquipAbility: { slot_id: number; ability_id: AbilityId } } | { UnequipAbility: { slot_id: AbilitySlotId } } | { EquipAbilities: { equipped_abilities: EquippedAbilities } } | { UpgradeAbility: { ability_id: AbilityId } } | { UpgradeAllAbilities: {} } | { UpgradedAbilities: { upgraded_abilities: UpgradedAbilitiesMap } } | { UpgradeAbilityCase: {} } | { SocketAbilityStone: { ability_id: AbilityId; socket_index: AbilityStoneSocketIndex; stone_id: AbilityStoneId } } | { UnsocketAbilityStone: { ability_id: AbilityId; socket_index: AbilityStoneSocketIndex } } | { UpgradeAbilityStone: { stone_id: AbilityStoneId } } | { NewAbilityStones: { stones: AbilityStoneDrop[] } } | { CurrencyIncrease: { currencies: CurrencyUnit[]; currency_source: CurrencySource } } | { CurrencyDecrease: { currencies: CurrencyUnit[]; currency_consumer: CurrencyConsumer } } | { NewCharacterLevel: { level: number } } | { StartGame: {} } | { PrepareFight: { prepare_fight_type: PrepareFightType } } | { StartFight: { fight_id: Uuid } } | { FightProgress: {} } | { EndFight: { fight_id: Uuid; is_win: boolean; pvp_state: PVPState | null } } | { StageCleared: {} } | { RaidDungeon: { dungeon_id: DungeonTemplateId; difficulty: number; amount: number } } | { WaveCleared: {} } | { StartVassalPVPSync: { opponent_id: Uuid; opponent_suzerain_id: Uuid | null } } | { StartArenaPVPSync: { opponent_id: Uuid; is_bot: boolean } } | { StartArenaRematchSync: { match_id: Uuid } } | { RefreshArenaMatchmaking: {} } | { BuyArenaTicket: {} } | { StartMove: { entity_id: Uuid; to: Coordinates; duration_ticks: number } } | { EndMove: { entity_id: Uuid } } | { SpawnEntity: { id: EntityId; entity_template_id: EntityTemplateId; position: Coordinates; entity_team: EntityTeam; has_big_hp_bar: boolean; entity_attributes: EntityAttributes } } | { StartCastAbility: { by_entity_id: Uuid; ability_id: AbilityId; pet_id: PetId | null; origin: CombatEventOrigin } } | { StartedCastAbility: { by_entity_id: Uuid; ability_id: AbilityId; duration_ticks: number; origin: CombatEventOrigin } } | { CastAbility: { by_entity_id: Uuid; to_entity_id: Uuid; ability_id: AbilityId; origin: CombatEventOrigin } } | { StartCastProjectile: { by_entity_id: Uuid; to_entity_id: Uuid; projectile_id: Uuid; level: number; delay: number; source: CombatSource; origin: CombatEventOrigin } } | { StartedCastProjectile: { by_entity_id: Uuid; to_entity_id: Uuid; projectile_id: Uuid; duration_ticks: number; source: CombatSource; origin: CombatEventOrigin } } | { DerivedAbilityStrike: { by_entity_id: Uuid; to_entity_id: Uuid; ability_id: AbilityId; level: number; payload_permille: number; source_paid_mana_x100: number; delay: number } } | { EntityIncrAttributeDelayed: { entity_id: Uuid; attribute: string; delta: number; delay: number } } | { CastProjectile: { by_entity_id: Uuid; to_entity_id: Uuid; projectile_id: Uuid; level: number; projectile_data: CustomEventData; source: CombatSource; origin: CombatEventOrigin } } | { Damage: { by_entity_id: EntityId | null; entity_id: Uuid; damage: number; damage_data: CustomEventData; origin: CombatEventOrigin; source: CombatSource } } | { GlobalFlip: { entity_id: EntityId; source: FlipProgressSource; from_side: WorldSide; to_side: WorldSide; revision: number } } | { StoneTriggerFired: { entity_id: EntityId; item_type: ItemType; trigger_stone_id: StoneTemplateId } } | { Heal: { by_entity_id: EntityId | null; entity_id: Uuid; heal: number; origin: CombatEventOrigin; source: CombatSource } } | { CounterAttack: { by_entity_id: Uuid; to_entity_id: Uuid; duration_ticks: number; origin: CombatEventOrigin } } | { Multicast: { entity_id: Uuid; amount: number; origin: CombatEventOrigin } } | { Evasion: { entity_id: Uuid; origin: CombatEventOrigin } } | { PlayerDeath: {} } | { EntityDeath: { entity_id: Uuid; reward: CurrencyUnit[]; origin: CombatEventOrigin } } | { EntityIncrAttribute: { entity_id: Uuid; attribute: string; delta: number } } | { EntityAddAbilityCooldown: { entity_id: Uuid; ability_id: Uuid; delta_ticks: number } } | { EntityCancelCastWithCooldown: { entity_id: Uuid; ability_id: Uuid } } | { EntityStun: { entity_id: Uuid; duration_ticks: number } } | { EntityApplyEffect: { entity_id: Uuid; effect_id: Uuid; origin: CombatEventOrigin } } | { CastEffect: { entity_id: Uuid; effect_id: Uuid; origin: CombatEventOrigin } } | { CastEffectFromEvent: { entity_id: Uuid; effect_id: Uuid; caller_event: OverlordEvent } } | { FightCustomEvent: { entity_id: number; value: string } } | { FightVisualEvent: { effect_type: string; effect_data: CustomEventData } } | { SetMaxHp: { entity_id: EntityId; new_max_hp: number; new_hp: number } } | { ClaimVassalReward: { character_id: Uuid } } | { ClaimSuzerainReward: {} } | { NewSuzerain: { new_suzerain: Suzerain | null } } | { RemoveVassal: { vassal_id: Uuid } } | { GiveTask: { vassal_id: Uuid; template_task_id: Uuid } } | { NewTask: { new_task: VassalTask } } | { AcceptTask: { task_id: Uuid; is_good: boolean } } | { TaskAccepted: { task_id: Uuid; started_good: boolean; started_at: DateTime<Utc>; finish_at: DateTime<Utc> } } | { HitHands: { task_id: Uuid } } | { HandsHitted: { task_id: Uuid } } | { TaskFinished: { task_id: Uuid } } | { ClaimTaskReward: { task_id: Uuid } } | { GiveResistTask: { new_resist_task: VassalTask } } | { AcceptResistTask: {} } | { ResistTaskAccepted: { new_resist_task: VassalTask } } | { CatchResistTask: { task_id: Uuid } } | { ResistTaskCatched: { task_id: Uuid } } | { ResistTaskFinished: { task_id: Uuid } } | { ClaimResistTaskReward: { task_id: Uuid } } | { SetCustomValue: { key: string; value: number } } | { SetConnectionStore: { key: string; value: number } } | { ClaimQuest: { quest_id: Uuid } } | { ClaimAllQuests: { quest_group_type: QuestGroupType } } | { PatronQuestCompleted: { quest_id: Uuid } } | { HiddenQuestCompleted: { quest_id: Uuid } } | { QuestCompleted: { quest_id: Uuid } } | { NewQuests: { quest_ids: Uuid[] } } | { UpdateActiveLoopTaskId: { quest_id: Uuid } } | { ResetRepeatingQuests: { quest_ids: Uuid[] } } | { ClaimQuestProgressionReward: { quest_group_type: QuestGroupType } } | { ClaimReferralLvlUpReward: { level: number } } | { ClaimReferralDailyReward: {} } | { ReferralDailyRewardStatusUpdate: { referral_daily_reward_status: boolean } } | { SendGift: { receiver_id: Uuid; config_gift_id: Uuid } } | { NewGift: { new_gift: Gift } } | { AcceptGift: { gift_id: Uuid } } | { ClaimAfkReward: {} } | { AfkRewardClaimed: {} } | { AfkRewardsGatingUnlocked: {} } | { ClaimAfkInstantRewardGems: {} } | { WatchAd: { ad_reward_type: AdRewardType } } | { ShowBird: { variant_id: BirdVariantId } } | { BirdShown: {} } | { ResetAdUsage: { placements: AdPlacement[] } } | { ResetInstantRewardGemsPressCount: {} } | { ClaimBundleStepGeneric: {} } | { AddBundleGroup: { bundle_ids: BundleId[] } } | { LevelUpClass: { class_id: Uuid } } | { Respec: { new_class_id: Uuid } } | { LinkGuestAccount: { token: string } } | { SetUsername: { username: string } } | { SetCharacterBlocked: { character_id: Uuid; blocked: boolean } } | { CreateAbilityPreset: { name: string | null; ability_ids: AbilityId[]; index: number } } | { EditAbilityPreset: { preset_id: AbilityPresetId; name: string; ability_ids: AbilityId[] } } | { EnableCaseUpgradePopUp: {} } | { DisableCaseUpgradePopUp: {} } | { BuySkins: { skin_ids: SkinId[]; equip: boolean } } | { EquipAndUnequipSkins: { equip_skin_ids: SkinId[]; unequip_skin_ids: SkinId[] } } | { RunCheat: { cheat: Cheat } } | { ClaimMail: { mail_id: MailId } } | { ClaimAllMails: {} } | { MakeRead: { mail_id: MailId } } | { MakeAllRead: {} } | { DeleteMail: { mail_id: MailId } } | { DeleteAllMails: {} } | { NewMail: { new_mail: Mail } } | { NewOffer: { offer_template_id: OfferTemplateId } } | { BuyOffer: { purchase_token: string | null; offer_id: OfferId } } | { OfferPurchaseCompleted: { purchase_token: string; offer_id: OfferId; is_test_purchase: boolean } } | { OfferPurchaseFailed: { purchase_token: string; offer_id: OfferId } } | { PurchasesBanned: {} } | { ResetOffers: { new_offers: Offer[] } } | { EquipPet: { slot_id: number; pet_id: PetId } } | { UnequipPet: { slot_id: PetSlotId } } | { FastEquipPets: {} } | { EquipPets: { equipped_pets: EquippedPets } } | { UpgradePet: { pet_id: PetId } } | { UpgradeAllPets: {} } | { SetPetFacetLaw: { role: PetFacetLawRole; law_template_id: LawTemplateId | null } } | { UpgradedPets: { upgraded_pets: UpgradedPetsMap } } | { UpgradePetSlot: { slot_id: number } } | { OpenPetCase: { roll_type: PetCaseRollType } } | { SetPetGachaWishlist: { pet_ids: PetId[] } } | { PetCaseOpened: { batch_size: number } } | { NewPets: { pets: PetDrop[] } } | { UpgradePetCase: {} } | { TutorialShown: { step_number: number } } | { TutorialStepCompleted: { step_number: number } } | { ClientLifecycle: { lifecycle_status: string; active_screen_code: string; session_uptime_secs: number; current_chapter_level: number; current_character_level: number; current_power: number; active_fight: boolean; active_fight_current_wave: number } } | { AddCharacterToParty: { character_id: Uuid } } | { RemoveCharacterFromParty: {} } | { RefreshPartyPlayers: {} } | { RefreshPartyMemberState: {} } | { StartTalentResearch: { talent_id: TalentId } } | { TalentResearchStarted: { talent_id: TalentId; finish_at: DateTime<Utc> } } | { SpeedupTalentResearch: {} } | { SkipTalentResearch: {} } | { ClaimTalentResearch: {} } | { StatueRoll: { set_index: number; locked_slot_indices: number[] } } | { StatueActivateSet: { set_index: number } } | { StatueAddSet: {} } | { StatueRenameSet: { set_index: number; name: string } } | { StatueLockSlot: { set_index: number; slot_index: number; is_locked: boolean } } | { StatueRollNewSlot: { set_index: number; slot_index: number } } | { UpgradeCore: { side: WorldSide } } | { UpgradeLaw: { law_template_id: LawTemplateId } } | { SlotLaw: { law_template_id: LawTemplateId; slot_index: number } } | { UnslotLaw: { law_template_id: LawTemplateId } } | { CreateLawBridge: { first_law_template_id: LawTemplateId; second_law_template_id: LawTemplateId } } | { RemoveLawBridge: { first_law_template_id: LawTemplateId; second_law_template_id: LawTemplateId } } | { NewLawCopies: { law_template_id: LawTemplateId; amount: number } } | { InsertStone: { template_id: StoneTemplateId; item_type: ItemType; socket: StoneSocketSlot } } | { RemoveStone: { template_id: StoneTemplateId } } | { UpgradeStone: { template_id: StoneTemplateId } } | { QuickEquipStones: { item_type: ItemType } } | { UpgradeAllTriggerStones: {} } | { UpgradeAllEffectStones: {} } | { UpgradedStones: { upgraded_stones: UpgradedStonesMap } } | { PlayerNewStones: { trigger_stones: StoneTemplateId[]; effect_stones: StoneTemplateId[] } } | { ClaimProgressPassFreeReward: { tier: number } } | { ClaimProgressPassPaidReward: { tier: number } } | { ClaimAllProgressPassRewards: { is_paid: boolean } } | { UserRating: { rating: number | null } } | { ShowRateUs: {} } | { RateUsShown: {} } | { RateUs: { stars: number } } | { Error: { code: string; message: string } } | { CustomEvent: { event_type: string; data: CustomEventData } } | { MoveProgress: { entity_id: Uuid; to: Coordinates } } | { SetFightContentLoading: { fight_id: Uuid; loading: boolean } } | { ClaimRatingRewards: { rating_type: RatingType } } | { SetRatingRewardAvailability: { availability: RatingRewardAvailability } } | { EquipArtifact: { template_id: ArtifactTemplateId } } | { InsertArtifactStone: { template_id: ArtifactStoneTemplateId; socket: ArtifactSocketSlot } } | { RemoveArtifactStone: { template_id: ArtifactStoneTemplateId } } | { UpgradeArtifactStone: { template_id: ArtifactStoneTemplateId } } | { PlayerNewArtifacts: { artifacts: ArtifactTemplateId[]; artifact_stones: ArtifactStoneTemplateId[] } } | { FireArtifactEffect: { owner_id: EntityId; effect_template_id: StoneTemplateId; effect_level: number; share_permyriad: number; artifact_stone_id: ArtifactStoneTemplateId } } | { SetArtifactStoneLawTarget: { template_id: ArtifactStoneTemplateId; law_template_id: LawTemplateId | null } } | { QuickEquipAbilityStones: { ability_id: AbilityId } } | { UpgradeAllAbilityStones: {} } | { UpgradedAbilityStones: { upgraded_ability_stones: UpgradedAbilityStonesMap } } | { UpgradeArtifact: { template_id: ArtifactTemplateId } } | { ResetCores: {} } | { SetArenaWorldSide: { side: WorldSide } };"

Source§

const SERIALIZATION_CONFIG: SerializationConfig

Source§

type JsType = JsType

§

fn into_js(&self) -> Result<Self::JsType, Error>
where Self: Serialize,

§

fn from_js<T>(js: T) -> Result<Self, Error>
where T: Into<JsValue>, Self: DeserializeOwned,

Source§

impl VariantNames for OverlordEvent

Source§

const VARIANTS: &'static [&'static str]

Names of the variants of this enum
Source§

impl VectorFromWasmAbi for OverlordEvent
where Self: DeserializeOwned,

Source§

type Abi = <JsType as VectorFromWasmAbi>::Abi

Source§

unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>

Source§

impl VectorIntoWasmAbi for OverlordEvent

Source§

type Abi = <JsType as VectorIntoWasmAbi>::Abi

Source§

fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi

Source§

impl WasmDescribe for OverlordEvent

Source§

impl WasmDescribeVector for OverlordEvent

Source§

impl Eq for OverlordEvent

Source§

impl StructuralPartialEq for OverlordEvent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ReturnWasmAbi for T
where T: IntoWasmAbi,

Source§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
Source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,