Error: [CONVEX Q(playerCharacters:resolvePlayerCharacter)] [Request ID: 755e038d90905fd1] Server Error ReturnsValidationError: Value does not match validator. Value: {_creationTime: 1752650315787.5266, _id: "k57cer5qgka751hmyv6306f4mh7ktt6m", baseProtection: {acid: 0.0, bludgeoning: 0.0, cold: 0.0, fire: 0.0, lightning: 0.0, necrotic: 0.0, piercing: 0.0, poison: 0.0, psychic: 0.0, radiant: 0.0, slashing: 0.0, thunder: 0.0}, baseStats: {cha: 15.0, dex: 15.0, int: 15.0, luck: 15.0, str: 15.0, vit: 15.0, wis: 15.0}, bothHands: {_creationTime: 1745735816901.54, _id: "mh7erhq95djg44wa3h96qzpv4s7etkz4", description: "A light, double-edged sword with a straight blade.", grants: {abilities: [{baseCost: {stamina: 5.0}, damageScaling: {dex: 0.5, str: 0.5}, effectPayloads: [{damagePayload: {slashing: 1.0}}], hitsAutomatically: false, name: "Quick Slash", target: "enemy"}, {baseCost: {stamina: 10.0}, damageScaling: {dex: 0.5, str: 1.0}, effectPayloads: [{damagePayload: {slashing: 1.0}}], hitsAutomatically: false, name: "Heavy Slash", target: "enemy"}], conditionImmunities: [], resourceBoosts: {}, statBoosts: {}}, handedness: "one-handed", name: "Shortsword", range: "melee", rarity: "common", value: 5.0, weightKg: 2.0}, description: "A brave adventurer who has ventured into the dungeon to uncover its secrets.", equipmentSlots: {chest: {_creationTime: 1745737741592.6099, _id: "mn78x4p96cz6r5hjf8acnjgy6d7evbws", description: "A sleeveless jerkin stitched from thick leather.", name: "Leather Jerkin", protection: {bludgeoning: 7.0, piercing: 7.0, slashing: 7.0}, rarity: "common", validEquipmentType: "chest", value: 15.0, weightKg: 2.5}, legs: {_creationTime: 1745737748051.426, _id: "mn7395s5gc2mwdgx9y9za31j297etvj3", description: "Basic trousers woven from rough fabric.", name: "Cloth Trousers", protection: {bludgeoning: 3.0, piercing: 3.0, slashing: 3.0}, rarity: "common", validEquipmentType: "legs", value: 5.0, weightKg: 1.0}}, inventory: {_creationTime: 1752650315787.5264, _id: "p578yhq54xc8jfpw3d42x6cnbd7kv0bq", consumables: [{item: {_creationTime: 1751789395536.9597, _id: "m577sg03rtfrrahrmabnc5wkgs7k7gh3", description: "A small vial that restores a modest amount of health.", durationTurns: 0.0, name: "Minor Healing Potion", onConsumeEffectPayload: {healingPayload: 20.0}, rarity: "common", value: 5.0, weightKg: 0.3}, qty: 3.0}, {item: {_creationTime: 1751789397535.743, _id: "m571c8as0pnmrfwpbvqe9tpr4h7k7t7b", description: "A pale-blue elixir that replenishes a small reserve of magical energy.", durationTurns: 0.0, name: "Minor Mana Potion", onConsumeEffectPayload: {manaPayload: 20.0}, rarity: "common", value: 5.0, weightKg: 0.3}, qty: 3.0}], description: "Character's inventory", gold: 100.0, misc: [], name: "Inventory", saveId: "n5720fctwcrnc6z9m2trne2bzx7kvjcy", type: "character", weapons: [{item: {_creationTime: 1745735836493.5964, _id: "mh79k9dbcjc85s39qb59c200sd7evkmt", description: "A lightweight bow with a modest draw strength.", grants: {abilities: [{baseCost: {stamina: 5.0}, damageScaling: {dex: 0.5}, effectPayloads: [{damagePayload: {piercing: 1.0}}], name: "Quick Shot", target: "enemy"}]}, handedness: "two-handed", name: "Shortbow", range: "ranged", rarity: "common", value: 5.0, weightKg: 1.8}, qty: 1.0}], wearables: []}, level: 1.0, name: "Epic guy 69", resourceCaps: {hp: 46.0, mp: 46.0, sp: 46.0}, resources: {hp: 46.0, mp: 46.0, sp: 46.0}, saveId: "n5720fctwcrnc6z9m2trne2bzx7kvjcy", spells: [{_creationTime: 1745739695819.7903, _id: "nd7avhqbyg4qwkhh3wj44bn71d7evw93", ability: {baseCost: {mp: 2.0}, effectPayloads: [{conditionPayloads: {invisible: 0.0}}], hitsAutomatically: true, name: "Orb of Light", target: "self"}, description: "Creates a small orb of light that follows the caster, illuminating dark areas and revealing hidden objects.", onUseGrants: [{durationTurns: 3.0, grants: {resourceBoosts: {mp: 10.0}, statBoosts: {int: 1.0}}}], requiredStats: {int: 5.0}, school: "arcane"}, {_creationTime: 1745739724827.5544, _id: "nd73jyp5n1dcmecj3kd9hgjw7s7etbax", ability: {baseCost: {mp: 20.0}, effectPayloads: [{conditionPayloads: {restrained: 2.0}}], hitsAutomatically: true, name: "Vine Grasp", target: "enemy", targetsAmount: 1.0}, description: "Summons thick, grasping vines that sprout from the ground to restrain and immobilize enemies.", onUseGrants: [{durationTurns: 3.0, grants: {resourceBoosts: {mp: 10.0}, statBoosts: {wis: 2.0}}}], requiredStats: {wis: 15.0}, school: "primal"}], xp: 0.0} Validator: v.union(v.object({baseProtection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), baseStats: v.object({cha: v.float64(), dex: v.float64(), int: v.float64(), luck: v.float64(), str: v.float64(), vit: v.float64(), wis: v.float64()}), bodyForm: v.optional(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze"))), bothHands: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("weapons")), description: v.string(), focusType: v.optional(v.union(v.literal("arcane"), v.literal("divine"), v.literal("primal"), v.literal("dark"), v.literal("none"))), grants: v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))}), handedness: v.union(v.literal("one-handed"), v.literal("two-handed")), name: v.string(), range: v.union(v.literal("melee"), v.literal("ranged"), v.literal("thrown"), v.literal("magic")), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), value: v.float64(), weightKg: v.float64()})), creatureFamily: v.optional(v.string()), description: v.string(), equipmentSlots: v.object({accessory1: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()})), accessory2: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()})), accessory3: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()})), accessory4: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()})), chest: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()})), head: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()})), legs: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()}))}), iconUrl: v.optional(v.string()), inventory: v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("containers")), consumables: v.array(v.object({item: v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("consumables")), description: v.string(), durationTurns: v.optional(v.float64()), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), onConsumeEffectPayload: v.optional(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), value: v.float64(), weightKg: v.float64()}), qty: v.float64()})), description: v.optional(v.string()), gold: v.float64(), locationId: v.optional(v.id("locationInstances")), misc: v.array(v.object({item: v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("miscItems")), abilities: v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())})), description: v.string(), name: v.string(), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), value: v.float64(), weightKg: v.float64()}), qty: v.float64()})), name: v.string(), saveId: v.id("saves"), type: v.union(v.literal("location"), v.literal("character")), weapons: v.array(v.object({item: v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("weapons")), description: v.string(), focusType: v.optional(v.union(v.literal("arcane"), v.literal("divine"), v.literal("primal"), v.literal("dark"), v.literal("none"))), grants: v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))}), handedness: v.union(v.literal("one-handed"), v.literal("two-handed")), name: v.string(), range: v.union(v.literal("melee"), v.literal("ranged"), v.literal("thrown"), v.literal("magic")), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), value: v.float64(), weightKg: v.float64()}), qty: v.float64()})), wearables: v.array(v.object({item: v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("wearables")), description: v.string(), grants: v.optional(v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), name: v.string(), protection: v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())}), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), validEquipmentType: v.union(v.literal("head"), v.literal("chest"), v.literal("legs"), v.literal("accessories")), value: v.float64(), weightKg: v.float64()}), qty: v.float64()}))}), leftHand: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("weapons")), description: v.string(), focusType: v.optional(v.union(v.literal("arcane"), v.literal("divine"), v.literal("primal"), v.literal("dark"), v.literal("none"))), grants: v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))}), handedness: v.union(v.literal("one-handed"), v.literal("two-handed")), name: v.string(), range: v.union(v.literal("melee"), v.literal("ranged"), v.literal("thrown"), v.literal("magic")), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), value: v.float64(), weightKg: v.float64()})), level: v.optional(v.float64()), lineage: v.optional(v.array(v.string())), locationId: v.optional(v.id("locationInstances")), mobility: v.optional(v.array(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")))), name: v.string(), resourceCaps: v.object({hp: v.float64(), mp: v.float64(), sp: v.float64()}), resources: v.object({hp: v.float64(), mp: v.float64(), sp: v.float64()}), rightHand: v.optional(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("weapons")), description: v.string(), focusType: v.optional(v.union(v.literal("arcane"), v.literal("divine"), v.literal("primal"), v.literal("dark"), v.literal("none"))), grants: v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))}), handedness: v.union(v.literal("one-handed"), v.literal("two-handed")), name: v.string(), range: v.union(v.literal("melee"), v.literal("ranged"), v.literal("thrown"), v.literal("magic")), rarity: v.union(v.literal("common"), v.literal("uncommon"), v.literal("rare"), v.literal("very-rare"), v.literal("legendary")), value: v.float64(), weightKg: v.float64()})), saveId: v.id("saves"), size: v.optional(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal"))), spells: v.array(v.object({_creationTime: v.optional(v.float64()), _id: v.optional(v.id("spells")), ability: v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}), description: v.string(), onUseGrants: v.array(v.object({durationTurns: v.optional(v.float64()), grants: v.object({abilities: v.optional(v.array(v.object({accuracyMultiplier: v.optional(v.float64()), baseCost: v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), stamina: v.optional(v.float64())}), damageScaling: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())})), effectPayloads: v.array(v.object({conditionPayloads: v.optional(v.object({bleeding: v.optional(v.float64()), burning: v.optional(v.float64()), dead: v.optional(v.float64()), frightened: v.optional(v.float64()), grappled: v.optional(v.float64()), invisible: v.optional(v.float64()), poisoned: v.optional(v.float64()), prone: v.optional(v.float64()), restrained: v.optional(v.float64()), stunned: v.optional(v.float64())})), damagePayload: v.optional(v.object({acid: v.optional(v.float64()), arcane: v.optional(v.float64()), bludgeoning: v.optional(v.float64()), cold: v.optional(v.float64()), fire: v.optional(v.float64()), lightning: v.optional(v.float64()), necrotic: v.optional(v.float64()), piercing: v.optional(v.float64()), poison: v.optional(v.float64()), psychic: v.optional(v.float64()), radiant: v.optional(v.float64()), slashing: v.optional(v.float64()), thunder: v.optional(v.float64())})), healingPayload: v.optional(v.float64()), manaPayload: v.optional(v.float64()), staminaPayload: v.optional(v.float64()), statAffectPayloads: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})), hitsAutomatically: v.optional(v.boolean()), name: v.string(), target: v.union(v.literal("self"), v.literal("ally"), v.literal("enemy")), targetsAmount: v.optional(v.float64())}))), bodyFormTags: v.optional(v.array(v.union(v.union(v.literal("solid"), v.literal("liquid"), v.literal("gas"), v.literal("swarm"), v.literal("mist"), v.literal("can_squeeze")), v.string()))), conditionImmunities: v.optional(v.array(v.union(v.literal("bleeding"), v.literal("burning"), v.literal("poisoned"), v.literal("stunned"), v.literal("frightened"), v.literal("invisible"), v.literal("prone"), v.literal("grappled"), v.literal("restrained"), v.literal("dead")))), environmentalAdaptationTags: v.optional(v.array(v.string())), lineageTags: v.optional(v.array(v.string())), mobilityTags: v.optional(v.array(v.union(v.union(v.literal("can_fly"), v.literal("can_swim"), v.literal("water_walk"), v.literal("can_climb"), v.literal("wall_crawl"), v.literal("burrow"), v.literal("high_jump"), v.literal("blink_step"), v.literal("phase_shift"), v.literal("portal_key")), v.string()))), resourceBoosts: v.optional(v.object({hp: v.optional(v.float64()), mp: v.optional(v.float64()), sp: v.optional(v.float64())})), sizeTags: v.optional(v.array(v.union(v.union(v.literal("tiny"), v.literal("small"), v.literal("medium"), v.literal("large"), v.literal("huge"), v.literal("colossal")), v.string()))), statBoosts: v.optional(v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}))})})), requiredStats: v.object({cha: v.optional(v.float64()), dex: v.optional(v.float64()), int: v.optional(v.float64()), luck: v.optional(v.float64()), str: v.optional(v.float64()), vit: v.optional(v.float64()), wis: v.optional(v.float64())}), school: v.union(v.literal("arcane"), v.literal("divine"), v.literal("primal"), v.literal("dark"), v.literal("none"))})), xp: v.float64()}), v.null()) Called by client at OptimisticQueryResults.queryResult (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:2537:19) at BaseConvexClient.localQueryResult (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:3932:44) at Object.localQueryResult (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5418:44) at QueriesObserver.getLocalResults (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5747:31) at useQueriesHelper.useMemo[subscription] (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5864:41) at useSubscription.useEffect.checkForUpdates (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5227:43) at basicStateReducer (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:4241:47) at updateReducerImpl (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:4323:79) at updateReducer (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:4273:16) at Object.useState (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:13454:24) at exports.useState (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_0f1b9fd4._.js:1702:36) at useSubscription (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5198:205) at useQueriesHelper (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5878:201) at useQueries (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5844:12) at useQuery (http://localhost:3000/_next/static/chunks/node_modules_299aaf8a._.js:5623:200) at SavePage (http://localhost:3000/_next/static/chunks/_a341e406._.js:4088:209) at Object.react_stack_bottom_frame (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:13014:24) at renderWithHooks (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:4064:24) at updateFunctionComponent (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:5428:21) at beginWork (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:6022:24) at runWithFiberInDEV (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:890:74) at performUnitOfWork (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:8236:97) at workLoopSync (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:8128:40) at renderRootSync (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:8111:13) at performWorkOnRoot (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:7870:56) at performWorkOnRootViaSchedulerTask (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1f56dc06._.js:8820:9) at MessagePort.performWorkUntilDeadline (http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_0f1b9fd4._.js:2588:64)