Skip to content

GameActionsEnum Reference

Overview

The GameActionsEnum is an enum-like structure in the HighSpell client, defining 118 action or event types (IDs 0–117). These are used to categorize game events, such as player movements, inventory changes, and UI interactions, primarily for WebSocket communication between the client and server. This document lists each action, its ID, and its purpose, aligning with the HighSpell Botting project’s goal of transparent, educational documentation.

Important Notes

  • Changeability: These IDs are specific to the current client version. Major updates may reorder, add, or remove actions, requiring verification in the client code (e.g., via browser developer tools or deobfuscated scripts). Always check the latest GameActionsEnum definition after updates.
  • WebSocket Usage: Each action’s ID is used as an opcode in WebSocket messages, paired with an array payload (e.g., ["43",[5,0,605]] for PerformActionOnEntity).

Game Actions

ID Action Name Data Structure
0 GameStateUpdate Array of objects: [{ Name, Data }]
- Name: String name of the state update.
- Data: Associated data (format varies).
Purpose: Represents multiple game state updates (e.g., server-wide changes).
1 PlayerMoveTo [EntityID, X, Y]
- EntityID: Player’s unique ID.
- X: Destination X-coordinate.
- Y: Destination Y-coordinate.
Purpose: Moves a player to a new position (e.g., via PositionEntity).
2 NPCMoveTo [EntityID, X, Y]
- EntityID: NPC’s unique ID.
- X: Destination X-coordinate.
- Y: Destination Y-coordinate.
Purpose: Moves an NPC to a new position.
3 PlayerEnteredChunk [EntityID, EntityTypeID, PlayerType, Username, CombatLevel, HitpointsLevel, CurrentHitpointsLevel, MapLevel, X, Y, HairStyleID, BeardStyleID, ShirtID, BodyTypeID, LegsID, EquipmentHeadID, EquipmentBodyID, EquipmentLegsID, EquipmentBootsID, EquipmentNecklaceID, EquipmentWeaponID, EquipmentShieldID, EquipmentBackPackID, EquipmentGlovesID, EquipmentProjectileID, CurrentState, IsSprinting, MentalClarity]
- EntityID: Player’s ID.
- EntityTypeID: Player entity type.
- PlayerType: Player’s type (e.g., regular, admin).
- Username: Player’s username.
- CombatLevel: Player’s combat level.
- HitpointsLevel: Max hitpoints level.
- CurrentHitpointsLevel: Current hitpoints.
- MapLevel: Map level (e.g., ground, underground).
- X, Y: Player’s coordinates.
- HairStyleID, BeardStyleID, ShirtID, BodyTypeID, LegsID: Appearance IDs.
- Equipment*ID: IDs of equipped items (helmet, chest, etc.) or null.
- CurrentState: Player’s state (e.g., idle, combat).
- IsSprinting: 1 if sprinting, 0 otherwise.
- MentalClarity: Mental clarity stat (e.g., for magic).
Purpose: Notifies when a player enters a map chunk, including appearance and equipment.
4 NPCEnteredChunk [EntityID, NPCID, CurrentMapLevel, X, Y, CurrentHitpointsLevel, IsSprinting, VisibilityRequirements]
- EntityID: NPC’s ID.
- NPCID: NPC type ID.
- CurrentMapLevel: Map level.
- X, Y: Coordinates.
- CurrentHitpointsLevel: NPC’s current hitpoints.
- IsSprinting: 1 if sprinting, 0 otherwise.
- VisibilityRequirements: Visibility rules (format unclear).
Purpose: Notifies when an NPC enters a map chunk.
5 ItemEnteredChunk [EntityID, ItemID, Amount, IsIOU, MapLevel, X, Y]
- EntityID: Item’s unique ID.
- ItemID: Item definition ID (via ItemDefs.getDefById).
- Amount: Item quantity.
- IsIOU: 1 if IOU (placeholder), 0 otherwise.
- MapLevel: Map level.
- X, Y: Item’s coordinates.
Purpose: Notifies when a dropped item enters a map chunk.
6 EntityExitedChunk [EntityID, EntityType]
- EntityID: Entity’s ID.
- EntityType: Type of entity (e.g., player, NPC).
Purpose: Notifies when an entity exits a map chunk.
7 IncreaseCombatExp [Style, DamageAmount]
- Style: Combat style (e.g., melee, ranged).
- DamageAmount: Amount of damage dealt, contributing to XP.
Purpose: Awards combat experience based on damage.
8 ShowDamage [SenderEntityID, ReceiverEntityID, DamageAmount]
- SenderEntityID: Attacker’s ID.
- ReceiverEntityID: Target’s ID.
- DamageAmount: Damage dealt.
Purpose: Displays damage dealt in combat.
9 ObtainedResource [ItemID]
- ItemID: ID of obtained resource.
Purpose: Notifies resource acquisition (e.g., ore, fish).
10 SendMovementPath [X, Y]
- X, Y: Coordinates of a pathfinding waypoint.
Purpose: Sends a movement path waypoint for pathfinding.
11 IEnteredChunk [CenterX, CenterY]
- CenterX, CenterY: Center coordinates of the chunk entered by the local player.
Purpose: Notifies local player’s chunk entry.
12 PublicMessage [EntityID, Style, Message, PlayerType]
- EntityID: Sender’s ID.
- Style: Message style (e.g., color, format).
- Message: Chat message text.
- PlayerType: Sender’s player type.
Purpose: Sends a public chat message.
13 EnteredIdleState [EntityID, EntityType]
- EntityID: Entity’s ID.
- EntityType: Entity type (e.g., player, NPC).
Purpose: Notifies an entity entering an idle state.
14 Login [Username, Token, CurrentClientVersion]
- Username: Player’s username.
- Token: Authentication token.
- CurrentClientVersion: Client version string.
Purpose: Initiates a login attempt.
15 LoginFailed [Reason]
- Reason: Failure reason (e.g., invalid credentials).
Purpose: Notifies a failed login attempt.
16 LoggedIn [EntityID, EntityTypeID, PlayerType, Username, MapLevel, X, Y, CombatStyle, AutoRetaliate, Inventory, HairStyleID, BeardStyleID, ShirtID, BodyTypeID, LegsID, EquipmentHead, EquipmentBody, EquipmentLegs, EquipmentBoots, EquipmentNecklace, EquipmentWeapon, EquipmentShield, EquipmentBackPack, EquipmentGloves, EquipmentProjectile, CurrentHour, HitpointsExp, HitpointsCurrLvl, AccuracyExp, AccuracyCurrLvl, StrengthExp, StrengthCurrLvl, DefenseExp, DefenseCurrLvl, MagicExp, MagicCurrLvl, FishingExp, FishingCurrLvl, CookingExp, CookingCurrLvl, ForestryExp, ForestryCurrLvl, MiningExp, MiningCurrLvl, CraftingExp, CraftingCurrLvl, CrimeExp, CrimeCurrLvl, PotionmakingExp, PotionmakingCurrLvl, SmithingExp, SmithingCurrLvl, HarvestingExp, HarvestingCurrLvl, EnchantingExp, EnchantingCurrLvl, RangeExp, RangeCurrLvl, QuestCheckpoints, IsEmailConfirmed, LastLoginIP, LastLoginBrowser, LastLoginTimeMS, CurrentState, PlayerSessionID, ChatToken, MentalClarity]
- EntityID, EntityTypeID, PlayerType, Username, MapLevel, X, Y: Player details.
- CombatStyle, AutoRetaliate: Combat settings.
- Inventory: Array of [ItemID, Amount, IsIOU] or null.
- HairStyleID, BeardStyleID, etc.: Appearance and equipment IDs.
- HitpointsExp, HitpointsCurrLvl, etc.: Skill XP and current levels.
- QuestCheckpoints: Quest progress data.
- IsEmailConfirmed: 1 if confirmed, 0 otherwise.
- LastLogin*: Login metadata.
- CurrentState, PlayerSessionID, ChatToken, MentalClarity: Session and stat data.
Purpose: Confirms successful login with player data.
17 Logout [EntityID]
- EntityID: Player’s ID.
Purpose: Initiates a logout.
18 LogoutFailed [Reason]
- Reason: Failure reason.
Purpose: Notifies a failed logout attempt.
19 LoggedOut [EntityID]
- EntityID: Player’s ID.
Purpose: Confirms successful logout.
20 StartedBanking [EntityID, BankID]
- EntityID: Player’s ID.
- BankID: Bank instance ID.
Purpose: Opens the bank UI.
21 StoppedBanking [EntityID]
- EntityID: Player’s ID.
Purpose: Closes the bank UI.
22 ReceivedBankItems [Items]
- Items: Array of [ItemID, Amount] or null.
Purpose: Sends bank item data to the client.
23 TradeRequested [RequestingPlayerID, OtherPlayerID]
- RequestingPlayerID: Initiator’s ID.
- OtherPlayerID: Target player’s ID.
Purpose: Initiates a trade request.
24 TradePlayerAccepted [PlayerID]
- PlayerID: Accepting player’s ID.
Purpose: Confirms a player’s trade acceptance.
25 TradeStatusReset []
Purpose: Resets trade status (no data).
26 TradeGoToFinalStep []
Purpose: Advances trade to final step (no data).
27 TradeStarted [Player1ID, Player2ID]
- Player1ID, Player2ID: IDs of trading players.
Purpose: Starts a trade session.
28 TradeCancelled [Player1ID, Player2ID, Reason]
- Player1ID, Player2ID: Trading players’ IDs.
- Reason: Cancellation reason.
Purpose: Cancels a trade.
29 TradeCompleted [Player1ID, Player2ID, CurrentInventory]
- Player1ID, Player2ID: Trading players’ IDs.
- CurrentInventory: Array of items or null (28 slots).
Purpose: Completes a trade, updating inventories.
30 UseItemOnEntity [ItemID, EntityType, EntityID]
- ItemID: Item used.
- EntityType, EntityID: Target entity.
Purpose: Uses an item on an entity.
31 CreateItem [ItemID, Amount, MenuType]
- ItemID, Amount: Item and quantity to create.
- MenuType: Crafting menu type.
Purpose: Initiates item crafting.
32 CreatedItem [ItemID, Amount, RecipeInstancesToRemove]
- ItemID, Amount: Created item details.
- RecipeInstancesToRemove: Recipe data to remove.
Purpose: Confirms item creation.
33 StartedTargeting [EntityID, EntityType, TargetID, TargetType]
- EntityID, EntityType: Attacker’s details.
- TargetID, TargetType: Target’s details.
Purpose: Begins targeting an entity for combat.
34 StoppedTargeting [EntityID, EntityType]
- EntityID, EntityType: Entity stopping targeting.
Purpose: Stops targeting an entity.
35 StartedSkilling [PlayerEntityID, TargetID, Skill, TargetType]
- PlayerEntityID: Player’s ID.
- TargetID: Target entity/resource ID.
- Skill: Skill type (e.g., mining).
- TargetType: Type of target (default: Environment).
Purpose: Starts a skilling activity.
36 StoppedSkilling [PlayerEntityID, Skill, DidExhaustResources]
- PlayerEntityID, Skill: Player and skill.
- DidExhaustResources: 1 if resources exhausted, 0 otherwise.
Purpose: Stops a skilling activity.
37 EquippedItem [PlayerEntityID, ItemID]
- PlayerEntityID, ItemID: Player and equipped item.
Purpose: Equips an item.
38 UnequippedItem [PlayerEntityID, ItemID]
- PlayerEntityID, ItemID: Player and unequipped item.
Purpose: Unequips an item.
39 PlayerSkillLevelIncreased [PlayerEntityID, Skill, LevelsGained, NewLevel]
- PlayerEntityID, Skill: Player and skill.
- LevelsGained, NewLevel: Level increase details.
Purpose: Notifies skill level increase.
40 PlayerCombatLevelIncreased [PlayerEntityID, NewCombatLevel]
- PlayerEntityID, NewCombatLevel: Player and new combat level.
Purpose: Notifies combat level increase.
41 CookedItem [ItemID]
- ItemID: ID of cooked item.
Purpose: Confirms successful cooking.
42 OvercookedItem [ItemID]
- ItemID: ID of overcooked item.
Purpose: Notifies overcooked item.
43 PerformActionOnEntity [TargetAction, EntityType, EntityID]
- TargetAction: Action type (e.g., attack).
- EntityType, EntityID: Target entity.
Purpose: Performs an action on an entity.
44 InGameHourChanged [CurrentHour]
- CurrentHour: New in-game hour.
Purpose: Updates in-game time.
45 ChangeCombatStyle [CombatStyle, IsSelected]
- CombatStyle: New combat style.
- IsSelected: 1 if selected, 0 otherwise.
Purpose: Requests combat style change.
46 CombatStyleChanged [CombatStyle]
- CombatStyle: Confirmed combat style.
Purpose: Confirms combat style change.
47 ChangeAutoRetaliate [AutoRetaliate]
- AutoRetaliate: 1 if enabled, 0 otherwise.
Purpose: Toggles auto-retaliate.
48 AutoRetaliateChanged [AutoRetaliate]
- AutoRetaliate: 1 if enabled, 0 otherwise.
Purpose: Confirms auto-retaliate change.
49 TeleportTo [EntityID, EntityType, X, Y, MapLevel, Type, SpellID]
- EntityID, EntityType: Teleporting entity.
- X, Y, MapLevel: Destination coordinates and map level.
- Type, SpellID: Teleport type and spell ID (default -1).
Purpose: Teleports an entity to a location.
50 PlayerDied [VictimEntityID, PKerEntityID]
- VictimEntityID: Dead player’s ID.
- PKerEntityID: Killer’s ID (default -1).
Purpose: Notifies player death.
51 StartedShopping [ShopID, EntityID, CurrentStock]
- ShopID, EntityID: Shop and player IDs.
- CurrentStock: Array of [ItemID, Amount] or null.
Purpose: Opens shop UI with stock data.
52 StoppedShopping [ShopID, EntityID]
- ShopID, EntityID: Shop and player IDs.
Purpose: Closes shop UI.
53 UpdatedShopStock [ItemID, Amount]
- ItemID, Amount: Updated shop item and quantity.
Purpose: Updates shop inventory.
54 StartedChangingAppearance [EntityID, IsFirstTime]
- EntityID: Player’s ID.
- IsFirstTime: 1 if first-time appearance change, 0 otherwise.
Purpose: Opens appearance change UI.
55 StoppedChangingAppearance [EntityID]
- EntityID: Player’s ID.
Purpose: Closes appearance change UI.
56 ChangeAppearance [HairID, BeardID, ShirtID, BodyID, PantsID]
- HairID, BeardID, etc.: New appearance IDs.
Purpose: Requests appearance change.
57 ChangedAppearance [EntityID, HairID, BeardID, ShirtID, BodyID, PantsID]
- EntityID: Player’s ID.
- HairID, BeardID, etc.: Confirmed appearance IDs.
Purpose: Confirms appearance change (e.g., via ChangeAppearancePlayerEventAction).
58 MenuStateKeepAlivePing [IsActive]
- IsActive: 1 if menu is active, 0 otherwise.
Purpose: Keeps menu state alive (e.g., for CenterMenu).
59 ToggleSprint [IsSprinting]
- IsSprinting: 1 if sprinting enabled, 0 otherwise.
Purpose: Toggles sprint mode.
60 ToggledSprint [EntityID, EntityType, IsSprinting]
- EntityID, EntityType: Entity details.
- IsSprinting: 1 if sprinting, 0 otherwise.
Purpose: Confirms sprint mode toggle.
61 RestoredStats [Skills]
- Skills: Array of restored skill data.
Purpose: Restores player stats (e.g., health).
62 EntityExhaustedResources [EntityTypeIDs, IsChunkSnapshot, ChunkCenter]
- EntityTypeIDs: String of entity type IDs.
- IsChunkSnapshot: 1 if chunk snapshot, 0 otherwise.
- ChunkCenter: Chunk center coordinates or null.
Purpose: Notifies resource exhaustion (e.g., tree, ore vein).
63 EntityReplenishedResources [EntityTypeID]
- EntityTypeID: Replenished entity type ID.
Purpose: Notifies resource replenishment.
64 ShookTree [TreeShakerEntityID, TreeShakerEntityType, TreeID]
- TreeShakerEntityID, TreeShakerEntityType: Shaker’s details.
- TreeID: Tree’s ID.
Purpose: Player shakes a tree for resources.
65 GainedExp [Skill, Amount]
- Skill, Amount: Skill and experience gained.
Purpose: Awards experience to a skill.
66 ShakeTreeResult [ItemID, IsRare]
- ItemID: ID of item obtained (default 0).
- IsRare: 1 if rare item, 0 otherwise.
Purpose: Notifies tree shake results.
67 OpenedSkillingMenu [TargetID, MenuType]
- TargetID: Target entity/resource ID.
- MenuType: Skilling menu type.
Purpose: Opens a skilling menu (e.g., crafting).
68 UseItemOnItem [MenuType, UsingItemSlot, UsingItemID, UsingItemIsIOU, TargetItemSlot, TargetItemID, TargetItemIsIOU, ItemOnItemActionResultIndex, AmountToCreate]
- MenuType: Inventory menu type.
- UsingItemSlot, UsingItemID, UsingItemIsIOU: Item used.
- TargetItemSlot, TargetItemID, TargetItemIsIOU: Target item.
- ItemOnItemActionResultIndex: Result index.
- AmountToCreate: Quantity to create.
Purpose: Uses one item on another (e.g., crafting).
69 UsedItemOnItem [MenuType, UsingItemSlot, UsingItemID, UsingItemIsIOU, TargetItemSlot, TargetItemID, TargetItemIsIOU, ItemOnItemActionResultIndex, AmountToCreate, Success]
- Same as UseItemOnItem, plus:
- Success: 1 if successful, 0 otherwise.
Purpose: Confirms item-on-item action.
70 WentThroughDoor [DoorEntityTypeID, EntityID]
- DoorEntityTypeID: Door’s type ID.
- EntityID: Player’s ID.
Purpose: Player passes through a door.
71 CastTeleportSpell [SpellID]
- SpellID: Teleport spell ID.
Purpose: Casts a teleport spell.
72 CastedTeleportSpell [EntityID, EntityType, SpellID]
- EntityID, EntityType, SpellID: Caster and spell details.
Purpose: Confirms teleport spell cast.
73 CastInventorySpell [SpellID, Menu, Slot, ItemID, IsIOU]
- SpellID, Menu, Slot, ItemID, IsIOU: Spell and target item details.
Purpose: Casts a spell on an inventory item.
74 CastedInventorySpell [EntityID, EntityType, SpellID, TargetItemID]
- EntityID, EntityType, SpellID, TargetItemID: Caster and target details.
Purpose: Confirms inventory spell cast.
75 CastSingleCombatOrStatusSpell [SpellID, TargetID, TargetEntityType]
- SpellID, TargetID, TargetEntityType: Spell and target details.
Purpose: Casts a combat or status spell.
76 CastedSingleCombatOrStatusSpell [SpellID, CasterID, CasterEntityType, TargetID, TargetEntityType, DamageAmount, IsConfused]
- SpellID, CasterID, CasterEntityType, TargetID, TargetEntityType, DamageAmount, IsConfused: Spell and combat details.
Purpose: Confirms combat/status spell cast.
77 ToggleAutoCast [SpellID]
- SpellID: Spell to toggle autocast.
Purpose: Toggles spell autocast.
78 ToggledAutoCast [SpellID]
- SpellID: Confirmed autocast spell.
Purpose: Confirms autocast toggle.
79 SkillCurrentLevelChanged [Skill, CurrentLevel]
- Skill, CurrentLevel: Skill and new current level.
Purpose: Notifies skill level change (e.g., via SkillCurrentLevelChangedPlayerEventAction).
80 ServerInfoMessage [Message, Style]
- Message, Style: Server message and style.
Purpose: Sends server announcements.
81 ForcePublicMessage [EntityID, EntityType, Message]
- EntityID, EntityType, Message: Forced message details.
Purpose: Sends a forced public message.
82 QuestProgressed [QuestID, CurrentCheckpoint]
- QuestID, CurrentCheckpoint: Quest progress details.
Purpose: Notifies quest progression.
83 CreatedUseItemOnItemActionItems [UseItemID, UsedItemOnID, UseItemOnItemIndex]
- UseItemID, UsedItemOnID, UseItemOnItemIndex: Item-on-item action details.
Purpose: Confirms creation from item-on-item action.
84 PathfindingFailed [EntityID]
- EntityID: Entity with failed pathfinding.
Purpose: Notifies pathfinding failure.
85 FiredProjectile [ProjectileID, RangerID, RangerEntityType, TargetID, TargetEntityType, DamageAmount, IsConfused]
- ProjectileID, RangerID, RangerEntityType, TargetID, TargetEntityType, DamageAmount, IsConfused: Projectile details.
Purpose: Notifies a fired projectile.
86 ServerShutdownCountdown [MinutesUntilShutdown]
- MinutesUntilShutdown: Time until server shutdown.
Purpose: Notifies server shutdown countdown.
87 CanLogin []
Purpose: Confirms login eligibility (no data).
88 ReconnectToServer [Username, PlayerSessionID]
- Username, PlayerSessionID: Reconnection details.
Purpose: Initiates server reconnection.
89 EntityStunned [EntityID, EntityType, StunTicks]
- EntityID, EntityType, StunTicks: Stunned entity details.
Purpose: Notifies entity stun.
90 GlobalPublicMessage [EntityID, Name, Message, PlayerType]
- EntityID, Name, Message, PlayerType: Global message details.
Purpose: Sends a global chat message.
91 HealthRestored [EntityType, EntityID, CurrentHealth]
- EntityType, EntityID, CurrentHealth: Health restoration details.
Purpose: Notifies health restoration.
92 PlayerCountChanged [CurrentPlayerCount]
- CurrentPlayerCount: Current number of players.
Purpose: Notifies player count change.
93 ForcedSkillCurrentLevelChanged [Skill, CurrentLevel, ShowStatRestorationMessage]
- Skill, CurrentLevel, ShowStatRestorationMessage: Forced skill change details.
Purpose: Notifies server-forced skill level change.
94 ReceivedNPCConversationDialogue [EntityID, NPCConversationID, ConversationDialogueID, IsInitialDialogue, NPCText, PlayerConversationOptions]
- EntityID, NPCConversationID, ConversationDialogueID, IsInitialDialogue, NPCText, PlayerConversationOptions: Dialogue details.
Purpose: Sends NPC conversation dialogue.
95 SelectNPCConversationOption [PlayerConversationOptionID]
- PlayerConversationOptionID: Selected option ID.
Purpose: Selects an NPC conversation option.
96 EndedNPCConversation [EntityID]
- EntityID: Player’s ID.
Purpose: Ends an NPC conversation.
97 InvokeInventoryItemAction [Action, MenuType, Slot, ItemID, Amount, IsIOU]
- Action, MenuType, Slot, ItemID, Amount, IsIOU: Inventory action details.
Purpose: Initiates an inventory item action.
98 InvokedInventoryItemAction [Action, MenuType, Slot, ItemID, Amount, IsIOU, Success, Data]
- Same as InvokeInventoryItemAction, plus:
- Success: 1 if successful, 0 otherwise.
- Data: Additional data or 0.
Purpose: Confirms inventory item action.
99 UsedItemOnEntity [EntityID, EntityType, TargetEntityID, TargetEntityType, ItemID, Success]
- EntityID, EntityType, TargetEntityID, TargetEntityType, ItemID, Success: Item-on-entity details.
Purpose: Confirms item use on entity.
100 InsertAtBankStorageSlot [Slot1, Slot2]
- Slot1, Slot2: Bank slot indices.
Purpose: Inserts an item into a bank slot.
101 InsertedAtBankStorageSlot [Result]
- Result: 1 if successful, 0 otherwise.
Purpose: Confirms bank slot insertion.
102 RemovedItemFromInventoryAtSlot [MenuType, Slot, ItemID, Amount, IsIOU, RemainingAmountAtSlot]
- MenuType, Slot, ItemID, Amount, IsIOU, RemainingAmountAtSlot: Inventory removal details (e.g., via InventoryChangeEvent).
Purpose: Removes an item from an inventory slot.
103 AddedItemAtInventorySlot [MenuType, Slot, ItemID, Amount, IsIOU, PreviousAmountAtSlot]
- MenuType, Slot, ItemID, Amount, IsIOU, PreviousAmountAtSlot: Inventory addition details.
Purpose: Adds an item to an inventory slot.
104 ShowLootMenu [Items, Type]
- Items: Array of item data or null.
- Type: Loot menu type (e.g., Default).
Purpose: Opens a loot menu.
105 ReorganizeInventorySlots [Menu, Slot1, ItemID1, IsIOU1, Slot2, ItemID2, IsIOU2, Type]
- Menu, Slot1, ItemID1, IsIOU1, Slot2, ItemID2, IsIOU2, Type: Inventory reorganization details.
Purpose: Reorganizes inventory slots.
106 ReorganizedInventorySlots [Menu, Slot1, ItemID1, IsIOU1, Slot2, ItemID2, IsIOU2, Type, Success]
- Same as ReorganizeInventorySlots, plus:
- Success: 1 if successful, 0 otherwise.
Purpose: Confirms inventory reorganization.
107 SwitchToIdleState [Switch]
- Switch: Always 1.
Purpose: Switches to idle state.
108 UpdateTradeStatus [Status]
- Status: Trade status data.
Purpose: Updates trade status.
109 StartedDigging [EntityID]
- EntityID: Player’s ID.
Purpose: Starts digging.
110 StoppedDigging [EntityID]
- EntityID: Player’s ID.
Purpose: Stops digging.
111 PlayerInfo [Info]
- Info: Player info data (format unclear).
Purpose: Sends player information.
112 CaptchaAction [CaptchaActionType, CaptchaGuessText]
- CaptchaActionType, CaptchaGuessText: CAPTCHA details.
Purpose: Submits a CAPTCHA response.
113 OpenedCaptchaScreen [EntityID]
- EntityID: Player’s ID.
Purpose: Opens CAPTCHA screen.
114 ReceivedCaptcha [ImageDataURL, Width, Height]
- ImageDataURL, Width, Height: CAPTCHA image details.
Purpose: Sends CAPTCHA challenge data.
115 CaptchaActionResult [CaptchaActionType]
- CaptchaActionType: Result type (e.g., pass/fail).
Purpose: Notifies CAPTCHA result.
116 MentalClarityChanged [EntityID, OldMentalClarity, NewMentalClarity]
- EntityID, OldMentalClarity, NewMentalClarity: Mental clarity change details.
Purpose: Notifies mental clarity stat change.
117 MutedPlayer [Name, IsMuted]
- Name: Player’s lowercase name.
- IsMuted: 1 if muted, 0 otherwise.
Purpose: Notifies player mute status.

WebSocket Communication

  • Mechanism: HighSpell uses WebSockets (via wss://server#.example.com:8888) to send/receive messages tagged with GameActionsEnum IDs. Each message includes:
  • type with the enum ID (e.g., 68 for UseItemOnItem).
  • data with an Array payload (e.g., [0,0,154,0,1,64,0,0,11]).
  • Monitoring: Filter by “WS” in Chrome DevTools’ Network tab for basic inspection.
  • Changeability: IDs may shift in major client updates (e.g., new actions added, existing ones reordered). Verify IDs by:
  • Inspecting the GameActionsEnum definition in the client code (via developer tools or deobfuscated scripts).
  • Monitoring WebSocket traffic to correlate IDs with payloads.

Per the HighSpell Botting Resources ethos: - This documentation is for educational purposes, analyzing observable game client behavior. - Using this information to create bots violates HighSpell’s terms of service, risking account bans.