154 lines
7.4 KiB
Go
154 lines
7.4 KiB
Go
|
package characters
|
||
|
|
||
|
import "time"
|
||
|
|
||
|
// Character is a struct that holds info on a character
|
||
|
type Character struct {
|
||
|
Name string `json:"name"`
|
||
|
Skin Skin `json:"skin"`
|
||
|
Level int `json:"level"`
|
||
|
Xp int `json:"xp"`
|
||
|
MaxXp int `json:"max_xp"`
|
||
|
TotalXp int `json:"total_xp"`
|
||
|
Gold int `json:"gold"`
|
||
|
Speed int `json:"speed"`
|
||
|
MiningLevel int `json:"mining_level"`
|
||
|
MiningXp int `json:"mining_xp"`
|
||
|
MiningMaxXp int `json:"mining_max_xp"`
|
||
|
WoodcuttingLevel int `json:"woodcutting_level"`
|
||
|
WoodcuttingXp int `json:"woodcutting_xp"`
|
||
|
WoodcuttingMaxXp int `json:"woodcutting_max_xp"`
|
||
|
FishingLevel int `json:"fishing_level"`
|
||
|
FishingXp int `json:"fishing_xp"`
|
||
|
FishingMaxXp int `json:"fishing_max_xp"`
|
||
|
WeaponcraftingLevel int `json:"weaponcrafting_level"`
|
||
|
WeaponcraftingXp int `json:"weaponcrafting_xp"`
|
||
|
WeaponcraftingMaxXp int `json:"weaponcrafting_max_xp"`
|
||
|
GearcraftingLevel int `json:"gearcrafting_level"`
|
||
|
GearcraftingXp int `json:"gearcrafting_xp"`
|
||
|
GearcraftingMaxXp int `json:"gearcrafting_max_xp"`
|
||
|
JewelrycraftingLevel int `json:"jewelrycrafting_level"`
|
||
|
JewelrycraftingXp int `json:"jewelrycrafting_xp"`
|
||
|
JewelrycraftingMaxXp int `json:"jewelrycrafting_max_xp"`
|
||
|
CookingLevel int `json:"cooking_level"`
|
||
|
CookingXp int `json:"cooking_xp"`
|
||
|
CookingMaxXp int `json:"cooking_max_xp"`
|
||
|
Hp int `json:"hp"`
|
||
|
Haste int `json:"haste"`
|
||
|
CriticalStrike int `json:"critical_strike"`
|
||
|
Stamina int `json:"stamina"`
|
||
|
AttackFire int `json:"attack_fire"`
|
||
|
AttackEarth int `json:"attack_earth"`
|
||
|
AttackWater int `json:"attack_water"`
|
||
|
AttackAir int `json:"attack_air"`
|
||
|
DmgFire int `json:"dmg_fire"`
|
||
|
DmgEarth int `json:"dmg_earth"`
|
||
|
DmgWater int `json:"dmg_water"`
|
||
|
DmgAir int `json:"dmg_air"`
|
||
|
ResFire int `json:"res_fire"`
|
||
|
ResEarth int `json:"res_earth"`
|
||
|
ResWater int `json:"res_water"`
|
||
|
ResAir int `json:"res_air"`
|
||
|
X int `json:"x"`
|
||
|
Y int `json:"y"`
|
||
|
Cooldown int `json:"cooldown"`
|
||
|
CooldownExpiration time.Time `json:"cooldown_expiration"`
|
||
|
WeaponSlot string `json:"weapon_slot"`
|
||
|
ShieldSlot string `json:"shield_slot"`
|
||
|
HelmetSlot string `json:"helmet_slot"`
|
||
|
BodyArmorSlot string `json:"body_armor_slot"`
|
||
|
LegArmorSlot string `json:"leg_armor_slot"`
|
||
|
BootsSlot string `json:"boots_slot"`
|
||
|
Ring1Slot string `json:"ring1_slot"`
|
||
|
Ring2Slot string `json:"ring2_slot"`
|
||
|
AmuletSlot string `json:"amulet_slot"`
|
||
|
Artifact1Slot string `json:"artifact1_slot"`
|
||
|
Artifact2Slot string `json:"artifact2_slot"`
|
||
|
Artifact3Slot string `json:"artifact3_slot"`
|
||
|
Consumable1Slot string `json:"consumable1_slot"`
|
||
|
Consumable1SlotQuantity int `json:"consumable1_slot_quantity"`
|
||
|
Consumable2Slot string `json:"consumable2_slot"`
|
||
|
Consumable2SlotQuantity int `json:"consumable2_slot_quantity"`
|
||
|
InventorySlot1 string `json:"inventory_slot1"`
|
||
|
InventorySlot1Quantity int `json:"inventory_slot1_quantity"`
|
||
|
InventorySlot2 string `json:"inventory_slot2"`
|
||
|
InventorySlot2Quantity int `json:"inventory_slot2_quantity"`
|
||
|
InventorySlot3 string `json:"inventory_slot3"`
|
||
|
InventorySlot3Quantity int `json:"inventory_slot3_quantity"`
|
||
|
InventorySlot4 string `json:"inventory_slot4"`
|
||
|
InventorySlot4Quantity int `json:"inventory_slot4_quantity"`
|
||
|
InventorySlot5 string `json:"inventory_slot5"`
|
||
|
InventorySlot5Quantity int `json:"inventory_slot5_quantity"`
|
||
|
InventorySlot6 string `json:"inventory_slot6"`
|
||
|
InventorySlot6Quantity int `json:"inventory_slot6_quantity"`
|
||
|
InventorySlot7 string `json:"inventory_slot7"`
|
||
|
InventorySlot7Quantity int `json:"inventory_slot7_quantity"`
|
||
|
InventorySlot8 string `json:"inventory_slot8"`
|
||
|
InventorySlot8Quantity int `json:"inventory_slot8_quantity"`
|
||
|
InventorySlot9 string `json:"inventory_slot9"`
|
||
|
InventorySlot9Quantity int `json:"inventory_slot9_quantity"`
|
||
|
InventorySlot10 string `json:"inventory_slot10"`
|
||
|
InventorySlot10Quantity int `json:"inventory_slot10_quantity"`
|
||
|
InventorySlot11 string `json:"inventory_slot11"`
|
||
|
InventorySlot11Quantity int `json:"inventory_slot11_quantity"`
|
||
|
InventorySlot12 string `json:"inventory_slot12"`
|
||
|
InventorySlot12Quantity int `json:"inventory_slot12_quantity"`
|
||
|
InventorySlot13 string `json:"inventory_slot13"`
|
||
|
InventorySlot13Quantity int `json:"inventory_slot13_quantity"`
|
||
|
InventorySlot14 string `json:"inventory_slot14"`
|
||
|
InventorySlot14Quantity int `json:"inventory_slot14_quantity"`
|
||
|
InventorySlot15 string `json:"inventory_slot15"`
|
||
|
InventorySlot15Quantity int `json:"inventory_slot15_quantity"`
|
||
|
InventorySlot16 string `json:"inventory_slot16"`
|
||
|
InventorySlot16Quantity int `json:"inventory_slot16_quantity"`
|
||
|
InventorySlot17 string `json:"inventory_slot17"`
|
||
|
InventorySlot17Quantity int `json:"inventory_slot17_quantity"`
|
||
|
InventorySlot18 string `json:"inventory_slot18"`
|
||
|
InventorySlot18Quantity int `json:"inventory_slot18_quantity"`
|
||
|
InventorySlot19 string `json:"inventory_slot19"`
|
||
|
InventorySlot19Quantity int `json:"inventory_slot19_quantity"`
|
||
|
InventorySlot20 string `json:"inventory_slot20"`
|
||
|
InventorySlot20Quantity int `json:"inventory_slot20_quantity"`
|
||
|
InventoryMaxItems int `json:"inventory_max_items"`
|
||
|
Task string `json:"task"`
|
||
|
TaskType string `json:"task_type"`
|
||
|
TaskProgress int `json:"task_progress"`
|
||
|
TaskTotal int `json:"task_total"`
|
||
|
}
|
||
|
|
||
|
// Skin is a custom type used for the allowed skins
|
||
|
type Skin string
|
||
|
|
||
|
// allowed skins
|
||
|
const (
|
||
|
Man1 Skin = "men1"
|
||
|
Man2 Skin = "men2"
|
||
|
Man3 Skin = "men3"
|
||
|
Woman1 Skin = "women1"
|
||
|
Woman2 Skin = "women2"
|
||
|
Woman3 Skin = "women3"
|
||
|
)
|
||
|
|
||
|
// CharacterMovement is a struct that holds info on the movement of a character
|
||
|
type CharacterMovement struct {
|
||
|
Cooldown Cooldown
|
||
|
Destination Destination
|
||
|
Character Character
|
||
|
}
|
||
|
|
||
|
// Cooldown is a struct that holds info on the remaining time for a given action
|
||
|
type Cooldown struct {
|
||
|
TotalSeconds int `json:"totalSeconds"`
|
||
|
RemainingSeconds int `json:"remainingSeconds"`
|
||
|
Expiration time.Time `json:"expiration"`
|
||
|
Reason string `json:"reason"`
|
||
|
}
|
||
|
|
||
|
// Destination is a struct that holds info on a map tile
|
||
|
type Destination struct {
|
||
|
Name string `json:"name"`
|
||
|
X int `json:"x"`
|
||
|
Y int `json:"y"`
|
||
|
Content any `json:"content"`
|
||
|
}
|