Enum Command

Source
#[non_exhaustive]
pub enum Command {
Show 128 variants Custom { cmd_name: String, arguments: Vec<String>, }, Login { username: String, pw_hash: String, login_count: u32, }, SSOLogin { uuid: String, character_id: String, bearer_token: String, }, Register { username: String, password: String, gender: Gender, race: Race, class: Class, }, Update, HallOfFamePage { page: usize, }, HallOfFameFortressPage { page: usize, }, ViewPlayer { ident: String, }, BuyBeer, StartQuest { quest_pos: usize, overwrite_inv: bool, }, CancelQuest, FinishQuest { skip: Option<TimeSkip>, }, StartWork { hours: u8, }, CancelWork, FinishWork, CheckNameAvailable { name: String, }, BuyMount { mount: Mount, }, IncreaseAttribute { attribute: AttributeType, increase_to: u32, }, RemovePotion { pos: usize, }, CheckArena, Fight { name: String, use_mushroom: bool, }, CollectCalendar, ViewGuild { guild_ident: String, }, GuildFound { name: String, }, GuildInvitePlayer { name: String, }, GuildKickPlayer { name: String, }, GuildSetLeader { name: String, }, GuildToggleOfficer { name: String, }, GuildLoadMushrooms, GuildIncreaseSkill { skill: GuildSkill, current: u16, }, GuildJoinAttack, GuildJoinDefense, GuildAttack { guild: String, }, GuildRaid, GuildPortalBattle, GuildGetFightableTargets, ToiletFlush, ToiletOpen, ToiletDrop { inventory: PlayerItemPlace, pos: usize, }, BuyShop { shop_type: ShopType, shop_pos: usize, inventory: PlayerItemPlace, inventory_pos: usize, }, SellShop { inventory: PlayerItemPlace, inventory_pos: usize, }, InventoryMove { inventory_from: PlayerItemPlace, inventory_from_pos: usize, inventory_to: PlayerItemPlace, inventory_to_pos: usize, }, ItemMove { from: ItemPlace, from_pos: usize, to: ItemPlace, to_pos: usize, }, UsePotion { from: ItemPlace, from_pos: usize, }, MessageOpen { pos: i32, }, MessageDelete { pos: i32, }, ViewScrapbook, ViewPet { pet_id: u16, }, UnlockFeature { unlockable: Unlockable, }, FightPortal, FightDungeon { dungeon: Dungeon, use_mushroom: bool, }, FightTower { current_level: u8, use_mush: bool, }, FightPetOpponent { habitat: HabitatType, opponent_id: PlayerId, }, FightPetDungeon { use_mush: bool, habitat: HabitatType, enemy_pos: u32, player_pet_id: u32, }, GuildSetInfo { description: String, emblem: Emblem, }, GambleSilver { amount: u64, }, GambleMushrooms { amount: u64, }, SendMessage { to: String, msg: String, }, SetDescription { description: String, }, WitchDropCauldron { inventory_t: PlayerItemPlace, position: usize, }, Blacksmith { inventory_t: PlayerItemPlace, position: u8, action: BlacksmithAction, }, GuildSendChat { message: String, }, WitchEnchant { enchantment: EnchantmentIdent, }, SpinWheelOfFortune { payment: FortunePayment, }, CollectEventTaskReward { pos: usize, }, CollectDailyQuestReward { pos: usize, }, EquipCompanion { from_inventory: InventoryType, from_pos: u8, to_companion: CompanionClass, to_slot: EquipmentSlot, }, FortressGather { resource: FortressResourceType, }, FortressGatherSecretStorage { stone: u64, wood: u64, }, FortressBuild { f_type: FortressBuildingType, }, FortressBuildCancel { f_type: FortressBuildingType, }, FortressBuildFinish { f_type: FortressBuildingType, mushrooms: u32, }, FortressBuildUnit { unit: FortressUnitType, count: u32, }, FortressGemStoneSearch, FortressGemStoneSearchCancel, FortressGemStoneSearchFinish { mushrooms: u32, }, FortressAttack { soldiers: u32, }, FortressNewEnemy { use_mushroom: bool, }, FortressSetCAEnemy { msg_id: u32, }, FortressUpgradeHallOfKnights, Whisper { player_name: String, message: String, }, UnderworldCollect { resource: UnderWorldResourceType, }, UnderworldUnitUpgrade { unit: UnderworldUnitType, }, UnderworldUpgradeStart { building: UnderworldBuildingType, mushrooms: u32, }, UnderworldUpgradeCancel { building: UnderworldUnitType, }, UnderworldUpgradeFinish { building: UnderworldBuildingType, mushrooms: u32, }, UnderworldAttack { player_id: PlayerId, }, RollDice { payment: RollDicePrice, dices: [DiceType; 5], }, PetFeed { pet_id: u32, fruit_idx: u32, }, GuildPetBattle { use_mushroom: bool, }, IdleUpgrade { typ: IdleBuildingType, amount: u64, }, IdleSacrifice, UpgradeSkill { attribute: AttributeType, next_attribute: u32, }, RefreshShop { shop: ShopType, }, HallOfFameGroupPage { page: u32, }, HallOfFameUnderworldPage { page: u32, }, HallOfFamePetsPage { page: u32, }, SwapManequin, UpdateFlag { flag: Option<Flag>, }, BlockGuildInvites { block_invites: bool, }, ShowTips { show_tips: bool, }, ChangePassword { username: String, old: String, new: String, }, ChangeMailAddress { old_mail: String, new_mail: String, password: String, username: String, }, SetLanguage { language: String, }, SetPlayerRelation { player_id: PlayerId, relation: Relationship, }, SetPortraitFrame { portrait_id: i64, }, SwapRunes { from: ItemPlace, from_pos: usize, to: ItemPlace, to_pos: usize, }, ChangeItemLook { inv: ItemPlace, pos: usize, raw_model_id: u16, }, ExpeditionPickEncounter { pos: usize, }, ExpeditionContinue, ExpeditionPickReward { pos: usize, }, ExpeditionStart { pos: usize, }, ExpeditionSkipWait { typ: TimeSkip, }, SetQuestsInsteadOfExpeditions { value: ExpeditionSetting, }, HellevatorEnter, HellevatorViewGuildRanking, HellevatorFight { use_mushroom: bool, }, HellevatorBuy { position: usize, typ: HellevatorTreatType, price: u32, use_mushroom: bool, }, HellevatorRefreshShop, HellevatorJoinHellAttack { use_mushroom: bool, plain: usize, }, HellevatorClaimDaily, HellevatorClaimDailyYesterday, HellevatorClaimFinal, HellevatorPreviewRewards, HallOfFameHellevatorPage { page: usize, }, ClaimablePreview { msg_id: i64, }, ClaimableClaim { msg_id: i64, }, BuyGoldFrame,
}
Expand description

A command, that can be send to the sf server

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Custom

If there is a command you somehow know/reverse engineered, or need to extend the functionality of one of the existing commands, this is the command for you

Fields

§cmd_name: String

The thing in the command, that comes before the ‘:’

§arguments: Vec<String>

The values this command gets as arguments. These will be joines with ‘/’

§

Login

👎Deprecated: Use the login method instead

Manually sends a login request to the server. WARN: The behaviour for a credentials mismatch, with the credentials in the user is undefined. Use the login method instead for a safer abstraction

Fields

§username: String
👎Deprecated: Use the login method instead

The username of the player you are trying to login

§pw_hash: String
👎Deprecated: Use the login method instead

The sha1 hashed password of the player

§login_count: u32
👎Deprecated: Use the login method instead

Honestly, I am not 100% sure what this is anymore, but it is related to the maount of times you have logged in. Might be useful for logging in again after error

§

SSOLogin

👎Deprecated: Use a login method instead

Manually sends a login request to the server. WARN: The behaviour for a credentials mismatch, with the credentials in the user is undefined. Use the login method instead for a safer abstraction

Fields

§uuid: String
👎Deprecated: Use a login method instead

The Identifies the S&F account, that has this character

§character_id: String
👎Deprecated: Use a login method instead

Identifies the specific character an account has

§bearer_token: String
👎Deprecated: Use a login method instead

The thing to authenticate with

§

Register

👎Deprecated: Use the register method instead

Registers a new normal character in the server. I am not sure about the portrait, so currently this sets the same default portrait for every char

Fields

§username: String
👎Deprecated: Use the register method instead

The username of the new account

§password: String
👎Deprecated: Use the register method instead

The password of the new account

§gender: Gender
👎Deprecated: Use the register method instead

The gender of the new character

§race: Race
👎Deprecated: Use the register method instead

The race of the new character

§class: Class
👎Deprecated: Use the register method instead

The class of the new character

§

Update

Updates the current state of the entire gamestate. Also notifies the guild, that the player is logged in. Should therefore be send regularely

§

HallOfFamePage

Queries 51 Hall of Fame entries starting from the top. Starts at 0

NOTE: The server might return less then 51, if there is a “broken” player encountered. This is NOT a library bug, this is a S&F bug and will glitch out the UI, when trying to view the page in a browser.

Fields

§page: usize

The page of the Hall of Fame you want to query.

0 => rank(0..=50), 1 => rank(51..=101), …

§

HallOfFameFortressPage

Queries 51 Hall of Fame entries for the fortress starting from the top. Starts at 0

Fields

§page: usize

The page of the Hall of Fame you want to query.

0 => rank(0..=50), 1 => rank(51..=101), …

§

ViewPlayer

Looks at a specific player. Ident is either their name, or player_id. The information about the player can then be found by using the lookup_* methods on HallOfFames

Fields

§ident: String

Either the name, or the playerid.to_string()

§

BuyBeer

Buys a beer in the tavern

§

StartQuest

Starts one of the 3 tavern quests. 0,1,2

Fields

§quest_pos: usize

The position of the quest in the quest array

§overwrite_inv: bool

Has the player acknowledged, that their inventory is full and this may lead to the loss of an item?

§

CancelQuest

Cancels the currently running quest

§

FinishQuest

Finishes the current quest, which starts the battle. This can be used with a QuestSkip to skip the remaining time

Fields

§skip: Option<TimeSkip>

If this is Some(), it will use the selected skip to skip the remaining quest wait

§

StartWork

Goes working for the specified amount of hours (1-10)

Fields

§hours: u8

The amount of hours you want to work

§

CancelWork

Cancels the current guard job

§

FinishWork

Collects the pay from the guard job

§

CheckNameAvailable

Checks if the given name is still available to register

Fields

§name: String

The name to check

§

BuyMount

Buys a mount, if the player has enough silver/mushrooms

Fields

§mount: Mount

The mount you want to buy

§

IncreaseAttribute

Increases the given base attribute to the requested number. Should be current + 1

Fields

§attribute: AttributeType

The attribute you want to increase

§increase_to: u32

The value you increase it to. This should be current + 1

§

RemovePotion

Removes the currently active potion 0,1,2

Fields

§pos: usize

The position of the posion you want to remove

§

CheckArena

Queries the currently available enemies in the arena

§

Fight

Fights the selected enemy. This should be used for both arena fights and normal fights. Note that this actually needs the name, not just the id

Fields

§name: String

The name of the player you want to fight

§use_mushroom: bool

If the arena timer has not elapsed yet, this will spend a mushroom and fight regardless. Currently the server ignores this and fights always, but the client sends the correctly set command, so you should too

§

CollectCalendar

Collects the current reward from the calendar

§

ViewGuild

Queries information about another guild. The information can bet found in hall_of_fames.other_guilds

Fields

§guild_ident: String

Either the id, or name of the guild you want to look at

§

GuildFound

Founds a new guild

Fields

§name: String

The name of the new guild you want to found

§

GuildInvitePlayer

Invites a player with the given name into the players guild

Fields

§name: String

The name of the player you want to invite

§

GuildKickPlayer

Kicks a player with the given name from the players guild

Fields

§name: String

The name of the guild member you want to kick

§

GuildSetLeader

Promote a player from the guild into the leader role

Fields

§name: String

The name of the guild member you want to set as the guild leader

§

GuildToggleOfficer

Toggles a member between officer and normal member

Fields

§name: String

The name of the player you want to toggle the officer status for

§

GuildLoadMushrooms

Loads a mushroom into the catapult

§

GuildIncreaseSkill

Increases one of the guild skills by 1. Needs to know the current, not the new value for some reason

Fields

§skill: GuildSkill

The skill you want to increase

§current: u16

The current value of the guild skill

§

GuildJoinAttack

Joins the current ongoing attack

§

GuildJoinDefense

Joins the defense of the guild

§

GuildAttack

Starts an attack in another guild

Fields

§guild: String

The name of the guild you want to attack

§

GuildRaid

Starts the next possible raid

§

GuildPortalBattle

Battles the enemy in the guildportal

§

GuildGetFightableTargets

Fetch the fightable guilds

§

ToiletFlush

Flushes the toilet

§

ToiletOpen

Opens the toilet door for the first time.

§

ToiletDrop

Drops an item from one of the inventories into the toilet

Fields

§inventory: PlayerItemPlace

The inventory you want to take the item from

§pos: usize

The position of the item in the inventory. Starts at 0

§

BuyShop

Buys an item from the shop and puts it in the inventoy slot specified

Fields

§shop_type: ShopType

The shop you want to buy from

§shop_pos: usize

the position of the item you want to buy from the shop

§inventory: PlayerItemPlace

The inventory you want to put the new item into

§inventory_pos: usize

The position in the chosen inventory you

§

SellShop

Sells an item from the players inventory. To make this more convenient, this picks a shop&item position to sell to for you

Fields

§inventory: PlayerItemPlace

The inventory you want to sell an item from

§inventory_pos: usize

The position of the item you want to sell

§

InventoryMove

Moves an item from one inventory position to another

Fields

§inventory_from: PlayerItemPlace

The inventory you move the item from

§inventory_from_pos: usize

The position of the item you want to move

§inventory_to: PlayerItemPlace

The inventory you move the item to

§inventory_to_pos: usize

The inventory you move the item from

§

ItemMove

Allows moving items from any position to any other position items can be at. You should make sure, that the move makes sense (do not move items from shop to shop)

Fields

§from: ItemPlace

The place of thing you move the item from

§from_pos: usize

The position of the item you want to move

§to: ItemPlace

The place of thing you move the item to

§to_pos: usize

The position of the item you want to move

§

UsePotion

Allows using an potion from any position

Fields

§from: ItemPlace

The place of the potion you use from

§from_pos: usize

The position of the potion you want to use

§

MessageOpen

Opens the message at the specified index [0-100]

Fields

§pos: i32

The index of the message in the inbox vec

§

MessageDelete

Deletes a single message, if you provide the index. -1 = all

Fields

§pos: i32

The position of the message to delete in the inbox vec. If this is -1, it deletes all

§

ViewScrapbook

Pulls up your scrapbook to reveal more info, than normal

§

ViewPet

Views a specific pet. This fetches its stats and places it into the specified pet in the habitat

Fields

§pet_id: u16

The id of the pet, that you want to view

§

UnlockFeature

Unlocks a feature. The these unlockables can be found in pending_unlocks on GameState

Fields

§unlockable: Unlockable

The thing to unlock

§

FightPortal

Starts a fight against the enemy in the players portal

§

FightDungeon

Enters a specific dungeon. This works for all dungeons, except the Tower, which you must enter via the FightTower command

Fields

§dungeon: Dungeon

The dungeon you want to fight in (except the tower). If you only have a LightDungeon, or ShadowDungeon, you need to call into() to turn them into a generic dungeon

§use_mushroom: bool

If this is true, you will spend a mushroom, if the timer has not run out. Note, that this is currently ignored by the server for some reason

§

FightTower

Attacks the requested level of the tower

Fields

§current_level: u8

The current level you are on the tower

§use_mush: bool

If this is true, you will spend a mushroom, if the timer has not run out. Note, that this is currently ignored by the server for some reason

§

FightPetOpponent

Fights the player opponent with your pet

Fields

§habitat: HabitatType

The habitat opponent you want to attack the opponent in

§opponent_id: PlayerId

The id of the player you want to fight

§

FightPetDungeon

Fights the pet in the specified habitat dungeon

Fields

§use_mush: bool

If this is true, you will spend a mushroom, if the timer has not run out. Note, that this is currently ignored by the server for some reason

§habitat: HabitatType

The habitat, that you want to fight in

§enemy_pos: u32

This is explored + 1 of the given habitat. Note that 20 explored is the max, so providing 21 here will return an err

§player_pet_id: u32

This pet_id is the id of the pet you want to send into battle. The pet has to be from the same habitat, as the dungeon you are trying

§

GuildSetInfo

Sets the guild info. Note the info about length limit from SetDescription for the description

Fields

§description: String

The description you want to set

§emblem: Emblem

The emblem you want to set

§

GambleSilver

Gambles the desired amount of silver. Picking the right thing is not actually required. That just masks the determined result. The result will be in gamble_result on Tavern

Fields

§amount: u64

The amount of silver to gamble

§

GambleMushrooms

Gambles the desired amount of mushrooms. Picking the right thing is not actually required. That just masks the determined result. The result will be in gamble_result on Tavern

Fields

§amount: u64

The amount of mushrooms to gamble

§

SendMessage

Sends a message to another player

Fields

§to: String

The name of the player to send a message to

§msg: String

The message to send

§

SetDescription

The description may only be 240 chars long, when it reaches the server. The problem is, that special chars like ‘/’ have to get escaped into two chars “$s” before getting send to the server. That means this string can be 120-240 chars long depending on the amount of escaped chars. We ‘could’ truncate the response, but that could get weird with character boundaries in UTF8 and split the escapes themself, so just make sure you provide a valid value here to begin with and be prepared for a server error

Fields

§description: String

The description to set

§

WitchDropCauldron

Drop the item from the specified position into the witches cauldron

Fields

§inventory_t: PlayerItemPlace

The inventory you want to move an item from

§position: usize

The position of the item to move

§

Blacksmith

Uses the blacksmith with the specified action on the specified item

Fields

§inventory_t: PlayerItemPlace

The inventory the item you want to act upon is in

§position: u8

The position of the item in the inventory

§action: BlacksmithAction

The action you want to use on the item

§

GuildSendChat

Sends the specified message in the guild chat

Fields

§message: String

The message to send

§

WitchEnchant

Enchants the currently worn item, associated with this enchantment, with the enchantment

Fields

§enchantment: EnchantmentIdent

The enchantment to apply

§

SpinWheelOfFortune

Spins the wheel. All information about when you can spin, or what you won are in game_state.specials.wheel

Fields

§payment: FortunePayment

The resource you want to spend to spin the wheel

§

CollectEventTaskReward

Collects the reward for event points

Fields

§pos: usize

One of [0,1,2], depending on which reward has been unlocked

§

CollectDailyQuestReward

Collects the reward for collecting points.

Fields

§pos: usize

One of [0,1,2], depending on which chest you want to collect

§

EquipCompanion

Moves an item from a normal inventory, onto one of the companions

Fields

§from_inventory: InventoryType

The inventory of your character you take the item from

§from_pos: u8

The position in the inventory, that you

§to_companion: CompanionClass

The companion you want to equip

§to_slot: EquipmentSlot

The slot of the companion you want to equip

§

FortressGather

Collects a specific resource from the fortress

Fields

§resource: FortressResourceType

The type of resource you want to collect

§

FortressGatherSecretStorage

Collects resources from the fortress secret storage Note that the official client only ever collect either stone or wood but not both at the same time

Fields

§stone: u64

The amount of stone you want to collect

§wood: u64

The amount of wood you want to collect

§

FortressBuild

Builds, or upgrades a building in the fortress

Fields

§f_type: FortressBuildingType

The building you want to upgrade, or build

§

FortressBuildCancel

Cancels the current build/upgrade, of the specified building in the fortress

Fields

§f_type: FortressBuildingType

The building you want to cancel the upgrade, or build of

§

FortressBuildFinish

Finish building/upgrading a Building When mushrooms != 0, mushrooms will be used to “skip” the upgrade timer. However, this command also needs to be sent when not skipping the wait, with mushrooms = 0, after the build/upgrade timer has finished.

Fields

§mushrooms: u32
§

FortressBuildUnit

Builds new units of the selected type

Fields

§count: u32
§

FortressGemStoneSearch

Starts the search for gems

§

FortressGemStoneSearchCancel

Cancels the search for gems

§

FortressGemStoneSearchFinish

Finishes the gem stone search using the appropriate amount of mushrooms. The price is one mushroom per 600 sec / 10 minutes of time remaining

Fields

§mushrooms: u32
§

FortressAttack

Attacks the current fortress attack target with the provided amount of soldiers

Fields

§soldiers: u32
§

FortressNewEnemy

Re-rolls the enemy in the fortress

Fields

§use_mushroom: bool
§

FortressSetCAEnemy

Sets the fortress enemy to the counterattack target of the message

Fields

§msg_id: u32
§

FortressUpgradeHallOfKnights

Upgrades the Hall of Knights to the next level

§

Whisper

Sends a whisper message to another player

Fields

§player_name: String
§message: String
§

UnderworldCollect

Collects the resources of the selected type in the underworld

Fields

§

UnderworldUnitUpgrade

Upgrades the selected underworld unit by one level

§

UnderworldUpgradeStart

Starts the upgrade of a building in the underworld

Fields

§mushrooms: u32
§

UnderworldUpgradeCancel

Cancels the upgrade of a building in the underworld

Fields

§

UnderworldUpgradeFinish

Finishes an upgrade after the time has run out (or before using mushrooms)

Fields

§mushrooms: u32
§

UnderworldAttack

Lures a player into the underworld

Fields

§player_id: PlayerId
§

RollDice

Rolls the dice. The first round should be all re-rolls, after that, either re-roll again, or take some of the dice on the table

Fields

§dices: [DiceType; 5]
§

PetFeed

Feeds one of your pets

Fields

§pet_id: u32
§fruit_idx: u32
§

GuildPetBattle

Fights with the guild pet against the hydra

Fields

§use_mushroom: bool
§

IdleUpgrade

Upgrades an idle building by the requested amount

Fields

§amount: u64
§

IdleSacrifice

Sacrifice all the money in the idle game for runes

§

UpgradeSkill

Upgrades a skill to the requested attribute. Should probably be just current + 1 to mimic a user clicking

Fields

§attribute: AttributeType
§next_attribute: u32
§

RefreshShop

Spend 1 mushroom to update the inventory of a shop

Fields

§

HallOfFameGroupPage

Fetches the Hall of Fame page for guilds

Fields

§page: u32
§

HallOfFameUnderworldPage

Crawls the Hall of Fame page for the underworld

Fields

§page: u32
§

HallOfFamePetsPage

Fields

§page: u32
§

SwapManequin

Switch equipment with the manequin, if it is unlocked

§

UpdateFlag

Updates your flag in the Hall of Fame

Fields

§flag: Option<Flag>
§

BlockGuildInvites

Changes if you can receive invites or not

Fields

§block_invites: bool
§

ShowTips

Changes if you want to gets tips in the gui. Does nothing for the API

Fields

§show_tips: bool
§

ChangePassword

Change your password. Note that I have not tested this and this might invalidate your session

Fields

§username: String
§

ChangeMailAddress

Changes your mail to another address

Fields

§old_mail: String
§new_mail: String
§password: String
§username: String
§

SetLanguage

Sets the language of the character. This should be basically irrelevant, but is still included for completeness sake. Expects a valid county code. I have not tested all, but it should be one of: ru,fi,ar,tr,nl,ja,it,sk,fr,ko,pl,cs,el,da,en,hr,de,zh,sv,hu,pt,es, pt-br, ro

Fields

§language: String
§

SetPlayerRelation

Sets the relation to another player

Fields

§player_id: PlayerId
§relation: Relationship
§

SetPortraitFrame

I have no character with anything but the default (0) to test this with. If I had to guess, they continue sequentially

Fields

§portrait_id: i64
§

SwapRunes

Swaps the runes of two items

Fields

§from_pos: usize
§to_pos: usize
§

ChangeItemLook

Changes the look of the item to the selected raw_model_id for 10 mushrooms. Note that this is NOT the normal model id. it is the model_id + (class as usize) * 1000 if I remember correctly. Pretty sure nobody will ever uses this though, as it is only for looks.

Fields

§pos: usize
§raw_model_id: u16
§

ExpeditionPickEncounter

Continues the expedition by picking one of the <=3 encounters [0,1,2]

Fields

§pos: usize

The position of the encounter you want to pick

§

ExpeditionContinue

Continues the expedition, if you are currently in a situation, where there is only one option. This can be starting a fighting, or starting the wait after a fight (collecting the non item reward). Behind the scenes this is just ExpeditionPickReward(0)

§

ExpeditionPickReward

If there are multiple items to choose from after fighting a boss, you can choose which one to take here. [0,1,2]

Fields

§pos: usize

The array position/index of the reward you want to take

§

ExpeditionStart

Starts one of the two expeditions [0,1]

Fields

§pos: usize

The index of the expedition to start

§

ExpeditionSkipWait

Skips the waiting period of the current expedition. Note that mushroom may not always be possible

Fields

§typ: TimeSkip

The “currency” you want to skip the expedition

§

SetQuestsInsteadOfExpeditions

This sets the “Questing instead of expeditions” value in the settings. This will decide if you can go on expeditions, or do quests, when expeditions are available. Going on the “wrong” one will return an error. Similarly this setting can only be changed, when no Thirst for Adventure has been used today, so make sure to check if that is full and beer_drunk == 0

Fields

§value: ExpeditionSetting

The value you want to set

§

HellevatorEnter

§

HellevatorViewGuildRanking

§

HellevatorFight

Fields

§use_mushroom: bool
§

HellevatorBuy

Fields

§position: usize
§price: u32
§use_mushroom: bool
§

HellevatorRefreshShop

§

HellevatorJoinHellAttack

Fields

§use_mushroom: bool
§plain: usize
§

HellevatorClaimDaily

§

HellevatorClaimDailyYesterday

§

HellevatorClaimFinal

§

HellevatorPreviewRewards

§

HallOfFameHellevatorPage

Fields

§page: usize
§

ClaimablePreview

Fields

§msg_id: i64
§

ClaimableClaim

Fields

§msg_id: i64
§

BuyGoldFrame

Spend 1000 mushrooms to buy a gold frame

Trait Implementations§

Source§

impl Clone for Command

Source§

fn clone(&self) -> Command

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 Command

Source§

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

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

impl<'de> Deserialize<'de> for Command

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 PartialEq for Command

Source§

fn eq(&self, other: &Command) -> 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 Serialize for Command

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 StructuralPartialEq for Command

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> Same for T

Source§

type Output = T

Should always be Self
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, 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<T> WithSubscriber for T

Source§

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
Source§

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>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T