Skip to main content
Glama

Server Details

TibiaWiki knowledge base: attribute queries over creatures, items, NPCs, quests and spells

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
tibia-sh/tibiawiki-mcp
GitHub Stars
0
Server Listing
tibiawiki-mcp

TDQS

A4.3/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct entity or task: find_* tools cover separate Tibia domains, while get, search, how_to_obtain, where_to_sell, and parse_loot have clearly differentiated roles. The only potential overlap is between how_to_obtain and where_to_sell, but descriptions make the buy-vs-sell direction clear.

Naming Consistency4/5

All names use the tibia_ prefix and snake_case, with a dominant find_* pattern for discovery tools. Minor deviations appear in use-case names like how_to_obtain and where_to_sell, which are descriptive rather than verb_noun, but remain predictable.

Tool Count5/5

Twelve tools is well-scoped for a Tibia wiki covering creatures, items, quests, spells, houses, travel, updates, and utility lookups. Each tool earns its place without excessive fragmentation.

Completeness4/5

The surface covers discovery, exact-page detail, item sources, selling locations, and loot parsing across most major Tibia domains. Minor gaps exist for filtered NPC-only searches or attribute-based mount/outfit queries, but generic search/get can work around them.

Available Tools

12 tools
tibia_find_creaturesA
Read-only
Inspect

Find Tibia creatures matching stat filters. Damage modifiers are percentages where 100 is neutral: "weak_to" means the creature takes MORE than 100% damage from that element, "resistant_to" means less. Use this for questions like "which creatures are weak to fire and give over 500 experience". Behaviour filters skip creatures whose value is unrecorded.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoexperience, hitpoints and gold_per_kill: highest first.experience
limitNo
cursorNo
is_bossNo
weak_toNoElements the creature takes extra damage from.
pushableNo
summonableNotrue: summon cost above 0. false: 0.
paralysableNo
convinceableNotrue: convince cost above 0. false: 0.
resistant_toNo
hitpoints_maxNoCreatures whose hitpoints are unrecorded are excluded from this filter.
hitpoints_minNoCreatures whose hitpoints are unrecorded are excluded from this filter.
bestiary_classNoe.g. "Dragon", "Human".
bestiary_levelNoCreatures with no recorded bestiary level are excluded from this filter.
experience_maxNo
experience_minNo
sees_invisibleNo
include_inactiveNo
location_containsNoSubstring of the location text.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds valuable behavior beyond that: damage modifiers are percentages where 100 is neutral, weak_to/resistant_to are defined precisely, and behavior filters skip creatures with unrecorded values. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: purpose is front-loaded, followed by essential damage-modifier semantics, an example, and an edge-case behavior note. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-parameter filter tool with an output schema and read-only annotation, the description covers core filter semantics and unrecorded-value behavior. It omits pagination/cursor and sort/limit details, but those are either in the schema or secondary for a first call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 47%, so the description must compensate. It explains the non-obvious weak_to/resistant_to semantics and the unrecorded-value behavior for filters. However, many parameters (cursor, limit, booleans, experience ranges) remain undocumented in both schema and description, so compensation is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Find') and resource ('Tibia creatures') with 'matching stat filters', clearly distinguishing it from sibling find_items/spells/quests tools. The example query reinforces the exact purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit example use case ('which creatures are weak to fire and give over 500 experience'), giving clear context for when to use this tool. It does not name sibling alternatives or exclusions, but the resource-specific naming makes selection straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_find_housesA
Read-only
Inspect

Find Tibia houses and guildhalls by city, rent, beds and size. Use this for questions like "cheapest house in Thais with two beds". Call tibia_get with a title for its location and position.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoExact city name, e.g. "Thais", any case.
sortNorent ascends, size descends, title is alphabetical.rent
limitNo
cursorNo
beds_minNo
rent_maxNoHighest monthly rent in gold.
size_minNoFewest tiles.
is_guildhallNo
include_inactiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already covers the safety profile, and the description adds useful behavioral context by explaining that results are titles to be passed to tibia_get for location/position. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the purpose, provide a concrete example, and give a cross-tool pointer. Every word earns its place with no repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and self-explanatory parameter names, the description is largely complete. It could mention default sort order or the include_inactive default, but the example disambiguates the primary use case and the follow-up to tibia_get is important context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is just 44%, so the description carries some burden. It names the key filter dimensions (city, rent, beds, size) and gives an example, but it does not clarify the semantics of beds_min, size_min, is_guildhall, include_inactive, limit, or cursor beyond their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'find', the specific resources 'Tibia houses and guildhalls', and the filtering dimensions 'by city, rent, beds and size'. This clearly distinguishes it from sibling find_* tools like tibia_find_creatures or tibia_find_items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete example of when to use the tool ('cheapest house in Thais with two beds') and a follow-up instruction to call tibia_get with a title. It does not explicitly list exclusions versus alternatives, but the resource-specific focus makes the context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_find_itemsA
Read-only
Inspect

Find Tibia items matching class, type and stat filters such as attack, defense, armor and required level, resistances, skill bonuses, imbuement slots, weight and hands. Use this for questions like "which two-handed swords need level 100 or less" or "which sorcerer items resist fire". Vocation and weapon type match by membership, so "knight" matches "knights". Call tibia_get on a title for the full item.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoweight ascends, armor, attack and defense descend, title is alphabetical. value descends by NPC gold price, and prices in other currencies come last.title
handsNo
leechNoLeeches everything listed.
limitNo
cursorNo
vocationNoMatches required_vocation, e.g. "knight".
armor_minNo
item_typeNoe.g. "Sword Weapons".
attack_maxNo
attack_minNo
client_idsNoThe item's client ID, any listed. Item variants can share one.
item_classNoe.g. "Weapons", "Armors".
weight_maxNoIn oz. Items without a weight never match.
damage_typeNoWeapon element.
defense_minNo
skill_bonusNoRaises every listed skill.
weapon_typeNoe.g. "Sword", "Axe", "Club".
is_stackableNo
resistant_toNoResists everything listed (resistance above 0).
is_pickupableNo
include_inactiveNo
required_level_maxNo
imbuement_slots_minNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safe read profile (readOnlyHint=true, openWorldHint=false), so the description is free to add semantics it alone can supply: membership-style matching for vocation/weapon type ('knight' matches 'knights') and the fact that results are summaries requiring tibia_get for full data. It omits pagination/limit behavior on a 23-parameter search, which is the notable remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the capability, then two illustrative queries, then the matching quirk and the follow-up call. Every sentence carries distinct information; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description covers the dominant filter use cases plus the tibia_get follow-up. For a 23-parameter tool with 0 required params, the missing notes on pagination and sort defaults are a modest but real incompleteness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 48%, so the description must compensate, and it largely does: it names the filter families an agent is likely to reach for and adds non-obvious matching semantics for vocation and weapon_type that the schema does not state. Sort, limit/cursor, client_ids, include_inactive, is_stackable and is_pickupable remain undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find Tibia items') and enumerates the filter dimensions covered (class, type, attack, defense, armor, level, resistances, skill bonuses, imbuement slots, weight, hands). The resource noun cleanly separates it from tibia_find_creatures, tibia_find_spells, tibia_find_houses and the other find_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete triggering questions ('which two-handed swords need level 100 or less', 'which sorcerer items resist fire') and routes the agent onward to tibia_get for full item detail. It never states when *not* to use it or what the alternative would be for a different query shape, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_find_questsA
Read-only
Inspect

Find Tibia quests by level, premium, Rookgaard and location, with their rewards. Use this for questions like "which quests can a level 20 character do". Call tibia_get with a title for the legend and dangers.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoLevels ascend, title is alphabetical. Unknown levels come last.level_recommended
limitNo
cursorNo
level_maxNoHighest level the character has. Quests with no level requirement always match.
is_premiumNo
is_rookgaardNo
include_inactiveNo
location_containsNoLiteral substring of the location, case-insensitive.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given the readOnlyHint annotation, the description adds behavioral context beyond it by noting that results include rewards and that legend/dangers require a separate tibia_get call. This tells agents what the tool returns and what it does not, though it does not mention pagination or defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short, purposeful sentences: purpose, example, and follow-up instruction. It is front-loaded with the core function, uses no filler, and each sentence earns its place, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters and an output schema, the description covers the primary use case and highlights the relationship to tibia_get. It does not elaborate on every parameter, but the schema provides those details; the description is sufficient for typical queries, though a mention of include_inactive or pagination would strengthen it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 38%, so the description must compensate. It maps the main filters (level, premium, Rookgaard, location) to likely parameters, but does not clarify others like include_inactive, limit, cursor, or the exact behavior of is_premium. Thus it adds partial value but leaves gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Find), the resource (Tibia quests), and the key filters (level, premium, Rookgaard, location) along with output (rewards). This distinguishes it from sibling find_* tools by focusing specifically on quests, and the example query makes the intended use unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a concrete use case ('which quests can a level 20 character do') and explicitly directs users to call tibia_get for additional details, implying when to use this tool versus the follow-up. However, it does not explicitly state when not to use this tool or name alternatives among the find_* siblings, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_find_spellsA
Read-only
Inspect

Find Tibia spells by vocation, level, group, element and type. Use this for questions like "which healing spells can a level 30 druid cast". Call tibia_get with a title for cooldowns, effect and area.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNolevel and mana ascend, title is alphabetical. Spells with a variable cost (party spells) store mana 0, so they come first by mana.level
groupNoRunes are all filed under support, so find attack runes by spell_type and element.
limitNo
cursorNo
elementNoDamage element. For healing spells, use group.
vocationNo
level_maxNoHighest level the caster has.
is_premiumNo
spell_typeNo
include_inactiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already covers the safe read-only nature of the tool. The description adds one useful behavioral signal by implying that detailed spell properties are not included here and must be fetched via tibia_get, but it does not mention pagination, default limits, or inactive-spell filtering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with no filler. The main purpose is front-loaded, followed by a concrete example and a pointer to the sibling tool, all in minimal space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 filter parameters and an output schema present, the description gives enough for basic use but omits guidance on pagination and several boolean/optional filters. It is adequate for a simple search query but not fully complete for advanced filtering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40%, and the description does not compensate for the gap. It lists filter dimensions like 'vocation, level, group, element and type' without mapping them to actual parameter names, and it omits meaning for cursor, limit, is_premium, include_inactive, and spell_type, which are otherwise undocumented except for their enums.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource, 'Find Tibia spells by vocation, level, group, element and type', making the tool's function immediately clear. It also distinguishes itself from sibling find_* tools by naming the exact resource and gives a concrete example query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this for questions like...' explicitly states the intended use case. It also names the relevant alternative, tibia_get, and defines the boundary: use tibia_get for cooldowns, effect, and area. This is clear routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_find_travelA
Read-only
Inspect

Find boat, carpet and other travel routes to or from a place, with fares. Each row is one leg with its start (origin) and the NPC's recorded city, location and position. Rows are single legs: this does not plan journeys.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoExact destination, e.g. "Svargrond", any case.
fromNoExact start place of the leg, e.g. "Meriana", any case.
sortNoprice ascends with 0 fares last, npc is alphabetical.price
limitNo
cursorNo
include_inactiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds valuable behavioral context beyond the annotations: rows represent single legs, each row includes the start/origin and the NPC's recorded city, location, and position, and fares are included. This helps the agent interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. It front-loads the core action and resource, then adds the key row-level detail and the important limitation. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential semantics for a read-only lookup tool, and the output schema handles return-value details. It clearly states the single-leg limitation and row composition. It could be slightly more complete by mentioning pagination or the inactive-route filter, but these are secondary given the schema defaults and output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with limit, cursor, and include_inactive left undocumented in the schema. The description does not compensate for these gaps; it only restates the general to/from concept already covered by the schema. It adds no meaning for the pagination, limit, or inactive-route parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Find') and resource ('boat, carpet and other travel routes') and clearly distinguishes this tool from the sibling find_* tools by focusing on travel. It also clarifies the output granularity ('Each row is one leg') and what the tool does not do ('does not plan journeys'), leaving no ambiguity about its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use the tool: to look up individual travel legs with fares. It explicitly states a when-not ('does not plan journeys'), which prevents misuse for multi-leg trip planning, though it does not name a specific alternative tool for journey planning.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_find_updatesA
Read-only
Inspect

Find Tibia game updates by text and release date, for questions like "what changed for knights in 2026" or "which update added X". Matches the text, case-insensitive for ASCII letters, in an update's title, name, summary and change list, newest first, and returns the matching change lines. For the full changes, call tibia_get with type "update" and the returned title.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoLiteral substring, e.g. "knight".
limitNo
cursorNo
released_afterNoYYYY-MM-DD, inclusive.
released_beforeNoYYYY-MM-DD, inclusive.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses important search behavior beyond the readOnlyHint annotation: case-insensitive ASCII matching, the fields searched (title, name, summary, change list), newest-first ordering, and that it returns matching change lines. This is exactly the behavioral context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences cover purpose, examples, matching behavior, ordering, return content, and the follow-up call to tibia_get. Information is front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and parameter documentation, the description is complete enough for an agent to correctly select and invoke the tool. It covers what is matched, how results are ordered, what is returned, and how to retrieve full changes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds useful meaning for the text parameter by explaining where and how matching occurs, and it summarizes release-date filtering. The schema already documents text, released_after, and released_before, so the description does not need to repeat those details; limit and cursor are left as standard pagination parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Find Tibia game updates by text and release date.' The examples like 'what changed for knights in 2026' make the intended use unmistakable, and the resource name clearly distinguishes it from sibling tools like tibia_find_creatures, tibia_find_items, and tibia_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases and a clear handoff: 'For the full changes, call tibia_get with type "update" and the returned title.' This tells an agent when this tool is appropriate and when to switch to an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_getA
Read-only
Inspect

Full detail for one Tibia page of any kind, with a creature's loot, abilities and max damage, the NPCs that buy an item and what an NPC buys and sells. Takes an exact page name. Use tibia_search first for an uncertain or in-game name, or tibia_find_updates for an update. Pass type for a shared name. Creature abilities may carry an area: Grid of map tiles, row-major, as the caster faces. '.' unaffected tile, '#' effect tile, '@' the caster, '*' the target tile, digits 4-8 a second effect the scene draws on extra sprite layers, '?' an unrecognised value. effectTiles counts effect tiles only. effectOnCaster, from the wiki rather than the grid, says whether the caster is caught in its own effect.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPage name, e.g. "Dragon Lord". Case-insensitive.
typeNoRestrict the lookup to one kind of page.
verbosityNo"detailed" adds extra descriptive columns.concise
include_inactiveNoInclude deprecated, event-only and unavailable pages. Applies to the requested page and to the NPCs or items in its trade lists.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint=false, so safety is covered. The description adds genuine non-obvious behavior: it requires an exact page name, and it explains the `area` grid encoding (row-major, caster-relative, tile symbols) plus the wiki-vs-grid distinction for effectOnCaster, which the agent cannot infer elsewhere.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and routing are front-loaded in the first two sentences. The trailing grid legend is dense and long, but it earns its place because it is required to interpret the returned `area` field; structure is otherwise efficient with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description need not restate return structure, yet it supplements the one field (the `area` grid) that would otherwise be cryptic. It omits any note on verbosity/inactive behavior, but those are fully documented in the schema, so the definition is effectively complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description goes beyond the schema by explaining the disambiguating purpose of `type` ("Pass `type` for a shared name") and the exactness requirement on `name`, adding selection value the enum alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+scope: "Full detail for one Tibia page of any kind". It further enumerates the payload (loot, abilities, max damage, NPC trade lists), so the agent knows exactly what it retrieves, and it names sibling tools for adjacent needs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: use tibia_search first for an uncertain or in-game name, tibia_find_updates for an update, and pass `type` for a shared name. The when-to-use-this vs when-to-use-alternatives condition is fully spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_how_to_obtainA
Read-only
Inspect

Every in-game source for one item in a single call: which creatures drop it and how likely, which NPCs sell it and for how much (the price the player pays), and which quests reward it. Prefer this over three separate lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_nameYesItem page name or the name the game prints, e.g. "Dragon Shield".
include_inactiveNoInclude deprecated or event-only creatures, NPCs and quests as sources.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes
noteYes
sourceYes
statusYes
droppedByYes
soldByNpcsYes
questRewardsYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds useful behavioral context: it returns all sources in one call, includes drop likelihood, and clarifies that NPC prices are what the player pays. This goes beyond the schema and annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The core scope is front-loaded, and the usage preference is stated in a single closing sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the read-only annotation is present, and both parameters are fully documented in the schema, the description covers the essential behavior and scope. Nothing critical is missing for an agent to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents item_name and include_inactive. The description reinforces that the tool is item-centric but adds no parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it retrieves every in-game source for one item in a single call, enumerating creature drops, NPC prices, and quest rewards. This clearly distinguishes it from narrower sibling tools like tibia_find_creatures or tibia_where_to_sell.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to prefer this tool over three separate lookups, giving clear usage direction. It does not name the exact sibling alternatives or state when not to use it, but the guidance is sufficient for an agent to select it for consolidated item-source queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_parse_lootA
Read-only
Inspect

Parses loot messages as the game prints them, one per line, such as "12:34 Loot of a dragon: 2 small diamonds, a steel shield (active prey bonus)." It reads in-game names, not wiki titles. Gives totals by item with count and value, and entries it cannot resolve. Prices are NPC prices in gold, coins at face value. Other lines come back unparsed. Both lists stop at 100, their counts in totals do not.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesLoot messages, one per line.
include_linesNoAlso give each line with its items, client IDs and prices.

Output Schema

ParametersJSON Schema
NameRequiredDescription
linesNoEach loot line, with include_lines.
totalsYes
unparsedYesLines that are no loot message, the first 100.
indexGeneratedAtYes
unresolvedEntriesYesEntries with no single item, the first 100.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While annotations already flag this as read-only, the description adds substantial behavioral detail beyond that: prices are NPC prices with coins at face value, unresolved entries are returned, non-loot lines come back unparsed, and both result lists cap at 100 while totals still include everything. This gives the agent accurate expectations about output limits and edge cases with no contradiction to the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and an example, then packs important caveats into compact sentences. Every sentence provides useful operational detail—input format, naming convention, price interpretation, unresolved entries, unparsed lines, and list limits—with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description does not need to enumerate return types; it still covers the key behavioral details an agent needs to invoke the tool correctly, such as input constraints, output limits, and price semantics. The description is complete for a read-only parser with these parameters and annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the schema already explains the 'text' and 'include_lines' parameters clearly. The description adds some context about output semantics (totals, unresolved entries, price type) but does not materially expand parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Parses loot messages'), includes a concrete example of the exact input format, and states key scoping rules ('in-game names, not wiki titles'). This clearly differentiates it from the sibling search/find tools, which look up entities rather than parse raw game text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes it obvious this tool is for parsing raw loot messages as printed by the game, and the example plus the 'in-game names, not wiki titles' warning clarify the expected input source. It does not explicitly name alternatives or state when not to use it, but the context is clear enough for an agent to route loot-message parsing here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_where_to_sellA
Read-only
Inspect

Answers "where do I sell all this": for each item, the active NPC paying the most, grouped by city and NPC. Prices are NPC prices in gold. Call tibia_get on an NPC for more.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesItem names, any case, as the wiki titles them or the game prints them, e.g. "Dragon Shield" or "vial of lifefluid".

Output Schema

ParametersJSON Schema
NameRequiredDescription
citiesYes
noGoldBuyerYesItems no active NPC buys for gold.
unknownItemsYesNames that match no item.
ambiguousItemsYesNames more than one item goes by, with those items.
indexGeneratedAtYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as read-only, so the description does not need to restate safety. It adds meaningful behavior: results are the active NPC paying the most, grouped by city and NPC, and prices are NPC prices in gold. This fills in the semantics of 'where to sell' beyond what the annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver the core behavior, output grouping, price units, and a follow-up routing hint without any filler. The user-facing question is front-loaded, making the tool's purpose immediately recognizable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool with an output schema present, the description is complete: it states what input is processed, how results are grouped, what the prices mean, and where to go for further detail. Nothing essential is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the items parameter including case-insensitivity and format examples. The description adds only the minor context that each item is processed individually, which does not substantially extend the schema's guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb-resource pair: it answers where to sell items by finding the active NPC paying the most per item. It clearly distinguishes itself from siblings like tibia_how_to_obtain by focusing on selling rather than obtaining, and from tibia_get by positioning itself as the aggregation tool with tibia_get as the follow-up.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The opening phrase "Answers 'where do I sell all this'" gives clear context for when the tool is appropriate. It does not explicitly list exclusions or compare with alternatives, but it does point to tibia_get for more detail on an NPC, which guides the agent to the natural next step rather than leaving it to guess.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedtibia_find_items3 fields changed
      • changedInput schema / properties / sort / description
        Previous value: -"weight ascends, value, armor, attack and defense descend, title is alphabetical."New value: +"weight ascends, armor, attack and defense descend, title is alphabetical. value descends by NPC gold price, and prices in other currencies come last."
      • addedOutput schema / properties / results / items / properties / valueBuyCurrency
        Added value: +{
        +  "description": "Currency of the price beside it, as the wiki names it, e.g. Gold Coin, Tibia Coins or Event Points. null when there is no price.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "title",
        -  "actualName",
        -  "itemClass",
        -  "itemType",
        -  "weight",
        -  "valueBuy",
        -  "clientId",
        -  "isStackable",
        -  "isPickupable",
        -  "attributes"
        -]New value: +[
        +  "title",
        +  "actualName",
        +  "itemClass",
        +  "itemType",
        +  "weight",
        +  "valueBuy",
        +  "valueBuyCurrency",
        +  "clientId",
        +  "isStackable",
        +  "isPickupable",
        +  "attributes"
        +]
    • Changedtibia_get1 field changed
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "abilities": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "area": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "ascii": {
        -                      "type": "string"
        -                    },
        -                    "cells": {
        -                      "items": {
        -                        "type": "number"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "effectOnCaster": {
        -                      "type": "boolean"
        -                    },
        -                    "effectTiles": {
        -                      "type": "number"
        -                    },
        -                    "height": {
        -                      "type": "number"
        -                    },
        -                    "key": {
        -                      "type": "string"
        -                    },
        -                    "width": {
        -                      "type": "number"
        -                    }
        -                  },
        -                  "required": [
        -                    "key",
        -                    "width",
        -                    "height",
        -                    "cells",
        -                    "ascii",
        -                    "effectTiles",
        -                    "effectOnCaster"
        -                  ],
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "element": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "effect",
        -            "element",
        -            "area"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "armor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "article": {
        -        "description": "Article the game prints before the name. Null: none, as for bosses.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryLevel": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "convinceCost": {
        -        "description": "Mana. 0: cannot be convinced.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "experience": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "goldPerKill": {
        -        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "hitpoints": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "illusionable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBoss": {
        -        "type": "boolean"
        -      },
        -      "loot": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "chance": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "max": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "min": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "chance",
        -            "min",
        -            "max"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "maxDamage": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "propertyNames": {
        -              "type": "string"
        -            },
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "modifiers": {
        -        "additionalProperties": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "name": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "paralysable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pushObjects": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "pushable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "raceId": {
        -        "description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "runsAt": {
        -        "description": "Hit points at which it flees. 0: never flees.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "seesInvisible": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "summonCost": {
        -        "description": "Mana. 0: cannot be summoned.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "creature",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "name",
        -      "plural",
        -      "article",
        -      "hitpoints",
        -      "experience",
        -      "armor",
        -      "speed",
        -      "bestiaryClass",
        -      "bestiaryLevel",
        -      "isBoss",
        -      "status",
        -      "runsAt",
        -      "seesInvisible",
        -      "paralysable",
        -      "pushable",
        -      "pushObjects",
        -      "illusionable",
        -      "summonCost",
        -      "convinceCost",
        -      "goldPerKill",
        -      "raceId",
        -      "modifiers",
        -      "loot",
        -      "abilities",
        -      "maxDamage",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "actualName": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "attributes": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "boughtBy": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": "string"
        -            },
        -            "npc": {
        -              "type": "string"
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "npc",
        -            "price",
        -            "currency",
        -            "city",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "clientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isImmobile": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isMarketable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPickupable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isStackable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "itemClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "itemType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keys": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "material": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "number": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "title": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "title",
        -            "number",
        -            "name",
        -            "material",
        -            "location",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "proficiencyPerks": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "level": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "skill": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "level",
        -            "effect",
        -            "skill"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "storeOffers": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "price",
        -            "amount",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "item",
        -        "type": "string"
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valueBuy": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "valueSell": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "weight": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "actualName",
        -      "plural",
        -      "itemClass",
        -      "itemType",
        -      "typeSecondary",
        -      "weight",
        -      "valueBuy",
        -      "valueSell",
        -      "isMarketable",
        -      "isStackable",
        -      "isPickupable",
        -      "isImmobile",
        -      "clientId",
        -      "status",
        -      "attributes",
        -      "keys",
        -      "storeOffers",
        -      "proficiencyPerks",
        -      "boughtBy",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "buys": {
        -        "description": "Items the player can sell to this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "destinations": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "name": {
        -              "type": "string"
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "origin": {
        -              "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "description": "Route price in gold. 0: free or not recorded, see notes.",
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "price",
        -            "origin",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "gender": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "jobs": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "positions": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "geolabel": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            },
        -            "subarea": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "city",
        -            "subarea",
        -            "geolabel",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "races": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rashidSchedule": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "day": {
        -              "type": "string"
        -            },
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "day",
        -            "city",
        -            "location",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sells": {
        -        "description": "Items the player can buy from this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "subarea": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "npc",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "gender",
        -      "city",
        -      "subarea",
        -      "location",
        -      "position",
        -      "status",
        -      "jobs",
        -      "races",
        -      "destinations",
        -      "positions",
        -      "buys",
        -      "sells",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "dangers": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "legend": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "levelRecommended": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "levelRequired": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "questLog": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "rewards": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "quest",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "levelRequired",
        -      "levelRecommended",
        -      "isPremium",
        -      "questLog",
        -      "legend",
        -      "status",
        -      "dangers",
        -      "rewards",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "areaShape": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "affectedTiles": {
        -                "type": "number"
        -              },
        -              "ascii": {
        -                "type": "string"
        -              },
        -              "cells": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "type": "array"
        -              },
        -              "corroborated": {
        -                "type": "boolean"
        -              },
        -              "derivedFrom": {
        -                "const": "animation",
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "sourceImage": {
        -                "type": "string"
        -              },
        -              "sourceUrl": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "width",
        -              "height",
        -              "cells",
        -              "ascii",
        -              "affectedTiles",
        -              "derivedFrom",
        -              "sourceImage",
        -              "sourceUrl",
        -              "corroborated"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Tiles a spell covers, read from its wiki animation."
        -      },
        -      "basePower": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "cooldown": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "element": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "group": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "groupCooldown": {
        -        "description": "Seconds before another spell of the same group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isPassive": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPromotion": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isWheelSpell": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "level": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "mana": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "runeGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroupCooldown": {
        -        "description": "Seconds before another spell of its secondary group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "soul": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spellType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "spell",
        -        "type": "string"
        -      },
        -      "vocations": {
        -        "items": {
        -          "enum": [
        -            "knight",
        -            "sorcerer",
        -            "druid",
        -            "paladin",
        -            "monk"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "words": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "areaShape",
        -      "image",
        -      "title",
        -      "words",
        -      "spellType",
        -      "element",
        -      "mana",
        -      "level",
        -      "soul",
        -      "isPremium",
        -      "cooldown",
        -      "effect",
        -      "vocations",
        -      "isPromotion",
        -      "isWheelSpell",
        -      "isPassive",
        -      "basePower",
        -      "group",
        -      "secondaryGroup",
        -      "runeGroup",
        -      "groupCooldown",
        -      "secondaryGroupCooldown",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievementId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "description": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "grade": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isSecret": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "points": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spoiler": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "achievement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "grade",
        -      "points",
        -      "description",
        -      "spoiler",
        -      "isSecret",
        -      "isPremium",
        -      "achievementId",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "beds": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "floors": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "houseId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isGuildhall": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "rent": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rooms": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "size": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "street": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "house",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "houseId",
        -      "city",
        -      "street",
        -      "location",
        -      "beds",
        -      "rent",
        -      "size",
        -      "rooms",
        -      "floors",
        -      "position",
        -      "isGuildhall",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "category": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "imbuementType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "materials": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "amount"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "slots": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tier": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "imbuement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "tier",
        -      "category",
        -      "imbuementType",
        -      "effect",
        -      "slots",
        -      "status",
        -      "materials",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "charmType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "costs": {
        -        "items": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "charm",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "charmType",
        -      "effect",
        -      "costs",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "clientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBuyable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "lightColor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "lightRadius": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "price": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "priceCurrency": {
        -        "description": "Currency of price as the wiki names it, e.g. Tibia Coins or Event Points. null when there is no price.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tamingMethod": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "mount",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "speed",
        -      "tamingMethod",
        -      "isBuyable",
        -      "price",
        -      "priceCurrency",
        -      "achievement",
        -      "lightColor",
        -      "lightRadius",
        -      "clientId",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "femaleClientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "fullPrice": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isBought": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isTournament": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "maleClientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "outfitType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "quests": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "quest": {
        -              "type": "string"
        -            },
        -            "unlockType": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "quest",
        -            "unlockType"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "outfit",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "outfitType",
        -      "isPremium",
        -      "isBought",
        -      "isTournament",
        -      "fullPrice",
        -      "achievement",
        -      "maleClientId",
        -      "femaleClientId",
        -      "status",
        -      "quests",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "author": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "blurb": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bookType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "itemId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "nextBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "prevBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "text": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "book",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "bookType",
        -      "itemId",
        -      "location",
        -      "blurb",
        -      "author",
        -      "prevBook",
        -      "nextBook",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "battleye": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "battleyeType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isExperimental": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPreview": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "mergedInto": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "onlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "protectedSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pvpType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "tradeBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "type": {
        -        "const": "world",
        -        "type": "string"
        -      },
        -      "worldBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "pvpType",
        -      "isPreview",
        -      "isExperimental",
        -      "onlineSince",
        -      "offlineSince",
        -      "mergedInto",
        -      "battleye",
        -      "battleyeType",
        -      "protectedSince",
        -      "worldBoard",
        -      "tradeBoard",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "changes": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "newsId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "next": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "previous": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "releaseDate": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "summary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "update",
        -        "type": "string"
        -      },
        -      "typePrimary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "releaseDate",
        -      "newsId",
        -      "typePrimary",
        -      "typeSecondary",
        -      "previous",
        -      "next",
        -      "summary",
        -      "changes",
        -      "source"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "abilities": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "area": {
        +              "anyOf": [
        +                {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "ascii": {
        +                      "type": "string"
        +                    },
        +                    "cells": {
        +                      "items": {
        +                        "type": "number"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "effectOnCaster": {
        +                      "type": "boolean"
        +                    },
        +                    "effectTiles": {
        +                      "type": "number"
        +                    },
        +                    "height": {
        +                      "type": "number"
        +                    },
        +                    "key": {
        +                      "type": "string"
        +                    },
        +                    "width": {
        +                      "type": "number"
        +                    }
        +                  },
        +                  "required": [
        +                    "key",
        +                    "width",
        +                    "height",
        +                    "cells",
        +                    "ascii",
        +                    "effectTiles",
        +                    "effectOnCaster"
        +                  ],
        +                  "type": "object"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "element": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "effect",
        +            "element",
        +            "area"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "armor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "article": {
        +        "description": "Article the game prints before the name. Null: none, as for bosses.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryLevel": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "convinceCost": {
        +        "description": "Mana. 0: cannot be convinced.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "experience": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "goldPerKill": {
        +        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "hitpoints": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "illusionable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBoss": {
        +        "type": "boolean"
        +      },
        +      "loot": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chance": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "max": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "min": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "chance",
        +            "min",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "maxDamage": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "modifiers": {
        +        "additionalProperties": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "name": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "paralysable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pushObjects": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "pushable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "raceId": {
        +        "description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "runsAt": {
        +        "description": "Hit points at which it flees. 0: never flees.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "seesInvisible": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "summonCost": {
        +        "description": "Mana. 0: cannot be summoned.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "creature",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "name",
        +      "plural",
        +      "article",
        +      "hitpoints",
        +      "experience",
        +      "armor",
        +      "speed",
        +      "bestiaryClass",
        +      "bestiaryLevel",
        +      "isBoss",
        +      "status",
        +      "runsAt",
        +      "seesInvisible",
        +      "paralysable",
        +      "pushable",
        +      "pushObjects",
        +      "illusionable",
        +      "summonCost",
        +      "convinceCost",
        +      "goldPerKill",
        +      "raceId",
        +      "modifiers",
        +      "loot",
        +      "abilities",
        +      "maxDamage",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "actualName": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "attributes": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "boughtBy": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": "string"
        +            },
        +            "npc": {
        +              "type": "string"
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "npc",
        +            "price",
        +            "currency",
        +            "city",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isImmobile": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isMarketable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPickupable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isStackable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "itemClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "itemType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keys": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "material": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "number": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "title",
        +            "number",
        +            "name",
        +            "material",
        +            "location",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "proficiencyPerks": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "level": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "skill": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "level",
        +            "effect",
        +            "skill"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "storeOffers": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "price",
        +            "amount",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "item",
        +        "type": "string"
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valueBuy": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "valueBuyCurrency": {
        +        "description": "Currency of the price beside it, as the wiki names it, e.g. Gold Coin, Tibia Coins or Event Points. null when there is no price.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valueSell": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "weight": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "actualName",
        +      "plural",
        +      "itemClass",
        +      "itemType",
        +      "typeSecondary",
        +      "weight",
        +      "valueBuy",
        +      "valueBuyCurrency",
        +      "valueSell",
        +      "isMarketable",
        +      "isStackable",
        +      "isPickupable",
        +      "isImmobile",
        +      "clientId",
        +      "status",
        +      "attributes",
        +      "keys",
        +      "storeOffers",
        +      "proficiencyPerks",
        +      "boughtBy",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "buys": {
        +        "description": "Items the player can sell to this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "destinations": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "origin": {
        +              "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "description": "Route price in gold. 0: free or not recorded, see notes.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "price",
        +            "origin",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "gender": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "jobs": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "positions": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "geolabel": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "subarea": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "city",
        +            "subarea",
        +            "geolabel",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "races": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "rashidSchedule": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "day": {
        +              "type": "string"
        +            },
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            }
        +          },
        +          "required": [
        +            "day",
        +            "city",
        +            "location",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sells": {
        +        "description": "Items the player can buy from this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "subarea": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "npc",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "gender",
        +      "city",
        +      "subarea",
        +      "location",
        +      "position",
        +      "status",
        +      "jobs",
        +      "races",
        +      "destinations",
        +      "positions",
        +      "buys",
        +      "sells",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "dangers": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "legend": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "levelRecommended": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "levelRequired": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "questLog": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "rewards": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "quest",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "levelRequired",
        +      "levelRecommended",
        +      "isPremium",
        +      "questLog",
        +      "legend",
        +      "status",
        +      "dangers",
        +      "rewards",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "areaShape": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "affectedTiles": {
        +                "type": "number"
        +              },
        +              "ascii": {
        +                "type": "string"
        +              },
        +              "cells": {
        +                "items": {
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "corroborated": {
        +                "type": "boolean"
        +              },
        +              "derivedFrom": {
        +                "const": "animation",
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "sourceImage": {
        +                "type": "string"
        +              },
        +              "sourceUrl": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "width",
        +              "height",
        +              "cells",
        +              "ascii",
        +              "affectedTiles",
        +              "derivedFrom",
        +              "sourceImage",
        +              "sourceUrl",
        +              "corroborated"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Tiles a spell covers, read from its wiki animation."
        +      },
        +      "basePower": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "cooldown": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "element": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "group": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "groupCooldown": {
        +        "description": "Seconds before another spell of the same group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isPassive": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPromotion": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isWheelSpell": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "level": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "mana": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "runeGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroupCooldown": {
        +        "description": "Seconds before another spell of its secondary group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "soul": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spellType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "spell",
        +        "type": "string"
        +      },
        +      "vocations": {
        +        "items": {
        +          "enum": [
        +            "knight",
        +            "sorcerer",
        +            "druid",
        +            "paladin",
        +            "monk"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "words": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "areaShape",
        +      "image",
        +      "title",
        +      "words",
        +      "spellType",
        +      "element",
        +      "mana",
        +      "level",
        +      "soul",
        +      "isPremium",
        +      "cooldown",
        +      "effect",
        +      "vocations",
        +      "isPromotion",
        +      "isWheelSpell",
        +      "isPassive",
        +      "basePower",
        +      "group",
        +      "secondaryGroup",
        +      "runeGroup",
        +      "groupCooldown",
        +      "secondaryGroupCooldown",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievementId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "description": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "grade": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isSecret": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "points": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spoiler": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "achievement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "grade",
        +      "points",
        +      "description",
        +      "spoiler",
        +      "isSecret",
        +      "isPremium",
        +      "achievementId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "beds": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "floors": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "houseId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isGuildhall": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "rent": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rooms": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "size": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "street": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "house",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "houseId",
        +      "city",
        +      "street",
        +      "location",
        +      "beds",
        +      "rent",
        +      "size",
        +      "rooms",
        +      "floors",
        +      "position",
        +      "isGuildhall",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "category": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "imbuementType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "materials": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "amount"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "slots": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tier": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "imbuement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "tier",
        +      "category",
        +      "imbuementType",
        +      "effect",
        +      "slots",
        +      "status",
        +      "materials",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "charmType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "costs": {
        +        "items": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "charm",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "charmType",
        +      "effect",
        +      "costs",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBuyable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "lightColor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "lightRadius": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "price": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "priceCurrency": {
        +        "description": "Currency of the price beside it, as the wiki names it, e.g. Gold Coin, Tibia Coins or Event Points. null when there is no price.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tamingMethod": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "mount",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "speed",
        +      "tamingMethod",
        +      "isBuyable",
        +      "price",
        +      "priceCurrency",
        +      "achievement",
        +      "lightColor",
        +      "lightRadius",
        +      "clientId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "femaleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "fullPrice": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isBought": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isTournament": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "maleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "outfitType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "quests": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "quest": {
        +              "type": "string"
        +            },
        +            "unlockType": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "quest",
        +            "unlockType"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "outfit",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "outfitType",
        +      "isPremium",
        +      "isBought",
        +      "isTournament",
        +      "fullPrice",
        +      "achievement",
        +      "maleClientId",
        +      "femaleClientId",
        +      "status",
        +      "quests",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "author": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "blurb": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bookType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "itemId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "nextBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "prevBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "text": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "book",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "bookType",
        +      "itemId",
        +      "location",
        +      "blurb",
        +      "author",
        +      "prevBook",
        +      "nextBook",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "battleye": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "battleyeType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isExperimental": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPreview": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "mergedInto": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "onlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "protectedSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pvpType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "tradeBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "const": "world",
        +        "type": "string"
        +      },
        +      "worldBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "pvpType",
        +      "isPreview",
        +      "isExperimental",
        +      "onlineSince",
        +      "offlineSince",
        +      "mergedInto",
        +      "battleye",
        +      "battleyeType",
        +      "protectedSince",
        +      "worldBoard",
        +      "tradeBoard",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "changes": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "newsId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "next": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "previous": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "releaseDate": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "summary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "update",
        +        "type": "string"
        +      },
        +      "typePrimary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "releaseDate",
        +      "newsId",
        +      "typePrimary",
        +      "typeSecondary",
        +      "previous",
        +      "next",
        +      "summary",
        +      "changes",
        +      "source"
        +    ],
        +    "type": "object"
        +  }
        +]
  2. 1 tool update
    • Changedtibia_get1 field changed
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "abilities": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "area": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "ascii": {
        -                      "type": "string"
        -                    },
        -                    "cells": {
        -                      "items": {
        -                        "type": "number"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "effectOnCaster": {
        -                      "type": "boolean"
        -                    },
        -                    "effectTiles": {
        -                      "type": "number"
        -                    },
        -                    "height": {
        -                      "type": "number"
        -                    },
        -                    "key": {
        -                      "type": "string"
        -                    },
        -                    "width": {
        -                      "type": "number"
        -                    }
        -                  },
        -                  "required": [
        -                    "key",
        -                    "width",
        -                    "height",
        -                    "cells",
        -                    "ascii",
        -                    "effectTiles",
        -                    "effectOnCaster"
        -                  ],
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "element": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "effect",
        -            "element",
        -            "area"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "armor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "article": {
        -        "description": "Article the game prints before the name. Null: none, as for bosses.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryLevel": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "convinceCost": {
        -        "description": "Mana. 0: cannot be convinced.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "experience": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "goldPerKill": {
        -        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "hitpoints": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "illusionable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBoss": {
        -        "type": "boolean"
        -      },
        -      "loot": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "chance": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "max": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "min": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "chance",
        -            "min",
        -            "max"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "maxDamage": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "propertyNames": {
        -              "type": "string"
        -            },
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "modifiers": {
        -        "additionalProperties": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "name": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "paralysable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pushObjects": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "pushable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "raceId": {
        -        "description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "runsAt": {
        -        "description": "Hit points at which it flees. 0: never flees.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "seesInvisible": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "summonCost": {
        -        "description": "Mana. 0: cannot be summoned.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "creature",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "name",
        -      "plural",
        -      "article",
        -      "hitpoints",
        -      "experience",
        -      "armor",
        -      "speed",
        -      "bestiaryClass",
        -      "bestiaryLevel",
        -      "isBoss",
        -      "status",
        -      "runsAt",
        -      "seesInvisible",
        -      "paralysable",
        -      "pushable",
        -      "pushObjects",
        -      "illusionable",
        -      "summonCost",
        -      "convinceCost",
        -      "goldPerKill",
        -      "raceId",
        -      "modifiers",
        -      "loot",
        -      "abilities",
        -      "maxDamage",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "actualName": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "attributes": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "boughtBy": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": "string"
        -            },
        -            "npc": {
        -              "type": "string"
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "npc",
        -            "price",
        -            "currency",
        -            "city",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "clientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isImmobile": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isMarketable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPickupable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isStackable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "itemClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "itemType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keys": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "material": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "number": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "title": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "title",
        -            "number",
        -            "name",
        -            "material",
        -            "location",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "proficiencyPerks": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "level": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "skill": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "level",
        -            "effect",
        -            "skill"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "storeOffers": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "price",
        -            "amount",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "item",
        -        "type": "string"
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valueBuy": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "valueSell": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "weight": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "actualName",
        -      "plural",
        -      "itemClass",
        -      "itemType",
        -      "typeSecondary",
        -      "weight",
        -      "valueBuy",
        -      "valueSell",
        -      "isMarketable",
        -      "isStackable",
        -      "isPickupable",
        -      "isImmobile",
        -      "clientId",
        -      "status",
        -      "attributes",
        -      "keys",
        -      "storeOffers",
        -      "proficiencyPerks",
        -      "boughtBy",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "buys": {
        -        "description": "Items the player can sell to this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "destinations": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "name": {
        -              "type": "string"
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "origin": {
        -              "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "description": "Route price in gold. 0: free or not recorded, see notes.",
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "price",
        -            "origin",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "gender": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "jobs": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "positions": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "geolabel": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            },
        -            "subarea": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "city",
        -            "subarea",
        -            "geolabel",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "races": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rashidSchedule": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "day": {
        -              "type": "string"
        -            },
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "day",
        -            "city",
        -            "location",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sells": {
        -        "description": "Items the player can buy from this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "subarea": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "npc",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "gender",
        -      "city",
        -      "subarea",
        -      "location",
        -      "position",
        -      "status",
        -      "jobs",
        -      "races",
        -      "destinations",
        -      "positions",
        -      "buys",
        -      "sells",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "dangers": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "legend": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "levelRecommended": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "levelRequired": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "questLog": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "rewards": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "quest",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "levelRequired",
        -      "levelRecommended",
        -      "isPremium",
        -      "questLog",
        -      "legend",
        -      "status",
        -      "dangers",
        -      "rewards",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "areaShape": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "affectedTiles": {
        -                "type": "number"
        -              },
        -              "ascii": {
        -                "type": "string"
        -              },
        -              "cells": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "type": "array"
        -              },
        -              "corroborated": {
        -                "type": "boolean"
        -              },
        -              "derivedFrom": {
        -                "const": "animation",
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "sourceImage": {
        -                "type": "string"
        -              },
        -              "sourceUrl": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "width",
        -              "height",
        -              "cells",
        -              "ascii",
        -              "affectedTiles",
        -              "derivedFrom",
        -              "sourceImage",
        -              "sourceUrl",
        -              "corroborated"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Tiles a spell covers, read from its wiki animation."
        -      },
        -      "basePower": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "cooldown": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "element": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "group": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "groupCooldown": {
        -        "description": "Seconds before another spell of the same group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isPassive": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPromotion": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isWheelSpell": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "level": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "mana": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "runeGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroupCooldown": {
        -        "description": "Seconds before another spell of its secondary group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "soul": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spellType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "spell",
        -        "type": "string"
        -      },
        -      "vocations": {
        -        "items": {
        -          "enum": [
        -            "knight",
        -            "sorcerer",
        -            "druid",
        -            "paladin",
        -            "monk"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "words": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "areaShape",
        -      "image",
        -      "title",
        -      "words",
        -      "spellType",
        -      "element",
        -      "mana",
        -      "level",
        -      "soul",
        -      "isPremium",
        -      "cooldown",
        -      "effect",
        -      "vocations",
        -      "isPromotion",
        -      "isWheelSpell",
        -      "isPassive",
        -      "basePower",
        -      "group",
        -      "secondaryGroup",
        -      "runeGroup",
        -      "groupCooldown",
        -      "secondaryGroupCooldown",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievementId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "description": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "grade": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isSecret": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "points": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spoiler": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "achievement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "grade",
        -      "points",
        -      "description",
        -      "spoiler",
        -      "isSecret",
        -      "isPremium",
        -      "achievementId",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "beds": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "floors": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "houseId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isGuildhall": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "rent": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rooms": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "size": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "street": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "house",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "houseId",
        -      "city",
        -      "street",
        -      "location",
        -      "beds",
        -      "rent",
        -      "size",
        -      "rooms",
        -      "floors",
        -      "position",
        -      "isGuildhall",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "category": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "imbuementType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "materials": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "amount"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "slots": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tier": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "imbuement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "tier",
        -      "category",
        -      "imbuementType",
        -      "effect",
        -      "slots",
        -      "status",
        -      "materials",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "charmType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "costs": {
        -        "items": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "charm",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "charmType",
        -      "effect",
        -      "costs",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "clientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBuyable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "lightColor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "lightRadius": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "price": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tamingMethod": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "mount",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "speed",
        -      "tamingMethod",
        -      "isBuyable",
        -      "price",
        -      "achievement",
        -      "lightColor",
        -      "lightRadius",
        -      "clientId",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "femaleClientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "fullPrice": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isBought": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isTournament": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "maleClientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "outfitType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "quests": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "quest": {
        -              "type": "string"
        -            },
        -            "unlockType": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "quest",
        -            "unlockType"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "outfit",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "outfitType",
        -      "isPremium",
        -      "isBought",
        -      "isTournament",
        -      "fullPrice",
        -      "achievement",
        -      "maleClientId",
        -      "femaleClientId",
        -      "status",
        -      "quests",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "author": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "blurb": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bookType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "itemId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "nextBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "prevBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "text": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "book",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "bookType",
        -      "itemId",
        -      "location",
        -      "blurb",
        -      "author",
        -      "prevBook",
        -      "nextBook",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "battleye": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "battleyeType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isExperimental": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPreview": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "mergedInto": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "onlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "protectedSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pvpType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "tradeBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "type": {
        -        "const": "world",
        -        "type": "string"
        -      },
        -      "worldBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "pvpType",
        -      "isPreview",
        -      "isExperimental",
        -      "onlineSince",
        -      "offlineSince",
        -      "mergedInto",
        -      "battleye",
        -      "battleyeType",
        -      "protectedSince",
        -      "worldBoard",
        -      "tradeBoard",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "changes": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "newsId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "next": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "previous": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "releaseDate": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "summary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "update",
        -        "type": "string"
        -      },
        -      "typePrimary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "releaseDate",
        -      "newsId",
        -      "typePrimary",
        -      "typeSecondary",
        -      "previous",
        -      "next",
        -      "summary",
        -      "changes",
        -      "source"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "abilities": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "area": {
        +              "anyOf": [
        +                {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "ascii": {
        +                      "type": "string"
        +                    },
        +                    "cells": {
        +                      "items": {
        +                        "type": "number"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "effectOnCaster": {
        +                      "type": "boolean"
        +                    },
        +                    "effectTiles": {
        +                      "type": "number"
        +                    },
        +                    "height": {
        +                      "type": "number"
        +                    },
        +                    "key": {
        +                      "type": "string"
        +                    },
        +                    "width": {
        +                      "type": "number"
        +                    }
        +                  },
        +                  "required": [
        +                    "key",
        +                    "width",
        +                    "height",
        +                    "cells",
        +                    "ascii",
        +                    "effectTiles",
        +                    "effectOnCaster"
        +                  ],
        +                  "type": "object"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "element": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "effect",
        +            "element",
        +            "area"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "armor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "article": {
        +        "description": "Article the game prints before the name. Null: none, as for bosses.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryLevel": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "convinceCost": {
        +        "description": "Mana. 0: cannot be convinced.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "experience": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "goldPerKill": {
        +        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "hitpoints": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "illusionable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBoss": {
        +        "type": "boolean"
        +      },
        +      "loot": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chance": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "max": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "min": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "chance",
        +            "min",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "maxDamage": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "modifiers": {
        +        "additionalProperties": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "name": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "paralysable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pushObjects": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "pushable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "raceId": {
        +        "description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "runsAt": {
        +        "description": "Hit points at which it flees. 0: never flees.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "seesInvisible": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "summonCost": {
        +        "description": "Mana. 0: cannot be summoned.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "creature",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "name",
        +      "plural",
        +      "article",
        +      "hitpoints",
        +      "experience",
        +      "armor",
        +      "speed",
        +      "bestiaryClass",
        +      "bestiaryLevel",
        +      "isBoss",
        +      "status",
        +      "runsAt",
        +      "seesInvisible",
        +      "paralysable",
        +      "pushable",
        +      "pushObjects",
        +      "illusionable",
        +      "summonCost",
        +      "convinceCost",
        +      "goldPerKill",
        +      "raceId",
        +      "modifiers",
        +      "loot",
        +      "abilities",
        +      "maxDamage",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "actualName": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "attributes": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "boughtBy": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": "string"
        +            },
        +            "npc": {
        +              "type": "string"
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "npc",
        +            "price",
        +            "currency",
        +            "city",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isImmobile": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isMarketable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPickupable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isStackable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "itemClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "itemType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keys": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "material": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "number": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "title",
        +            "number",
        +            "name",
        +            "material",
        +            "location",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "proficiencyPerks": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "level": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "skill": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "level",
        +            "effect",
        +            "skill"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "storeOffers": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "price",
        +            "amount",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "item",
        +        "type": "string"
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valueBuy": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "valueSell": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "weight": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "actualName",
        +      "plural",
        +      "itemClass",
        +      "itemType",
        +      "typeSecondary",
        +      "weight",
        +      "valueBuy",
        +      "valueSell",
        +      "isMarketable",
        +      "isStackable",
        +      "isPickupable",
        +      "isImmobile",
        +      "clientId",
        +      "status",
        +      "attributes",
        +      "keys",
        +      "storeOffers",
        +      "proficiencyPerks",
        +      "boughtBy",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "buys": {
        +        "description": "Items the player can sell to this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "destinations": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "origin": {
        +              "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "description": "Route price in gold. 0: free or not recorded, see notes.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "price",
        +            "origin",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "gender": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "jobs": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "positions": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "geolabel": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "subarea": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "city",
        +            "subarea",
        +            "geolabel",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "races": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "rashidSchedule": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "day": {
        +              "type": "string"
        +            },
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            }
        +          },
        +          "required": [
        +            "day",
        +            "city",
        +            "location",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sells": {
        +        "description": "Items the player can buy from this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "subarea": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "npc",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "gender",
        +      "city",
        +      "subarea",
        +      "location",
        +      "position",
        +      "status",
        +      "jobs",
        +      "races",
        +      "destinations",
        +      "positions",
        +      "buys",
        +      "sells",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "dangers": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "legend": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "levelRecommended": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "levelRequired": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "questLog": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "rewards": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "quest",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "levelRequired",
        +      "levelRecommended",
        +      "isPremium",
        +      "questLog",
        +      "legend",
        +      "status",
        +      "dangers",
        +      "rewards",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "areaShape": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "affectedTiles": {
        +                "type": "number"
        +              },
        +              "ascii": {
        +                "type": "string"
        +              },
        +              "cells": {
        +                "items": {
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "corroborated": {
        +                "type": "boolean"
        +              },
        +              "derivedFrom": {
        +                "const": "animation",
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "sourceImage": {
        +                "type": "string"
        +              },
        +              "sourceUrl": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "width",
        +              "height",
        +              "cells",
        +              "ascii",
        +              "affectedTiles",
        +              "derivedFrom",
        +              "sourceImage",
        +              "sourceUrl",
        +              "corroborated"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Tiles a spell covers, read from its wiki animation."
        +      },
        +      "basePower": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "cooldown": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "element": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "group": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "groupCooldown": {
        +        "description": "Seconds before another spell of the same group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isPassive": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPromotion": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isWheelSpell": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "level": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "mana": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "runeGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroupCooldown": {
        +        "description": "Seconds before another spell of its secondary group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "soul": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spellType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "spell",
        +        "type": "string"
        +      },
        +      "vocations": {
        +        "items": {
        +          "enum": [
        +            "knight",
        +            "sorcerer",
        +            "druid",
        +            "paladin",
        +            "monk"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "words": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "areaShape",
        +      "image",
        +      "title",
        +      "words",
        +      "spellType",
        +      "element",
        +      "mana",
        +      "level",
        +      "soul",
        +      "isPremium",
        +      "cooldown",
        +      "effect",
        +      "vocations",
        +      "isPromotion",
        +      "isWheelSpell",
        +      "isPassive",
        +      "basePower",
        +      "group",
        +      "secondaryGroup",
        +      "runeGroup",
        +      "groupCooldown",
        +      "secondaryGroupCooldown",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievementId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "description": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "grade": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isSecret": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "points": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spoiler": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "achievement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "grade",
        +      "points",
        +      "description",
        +      "spoiler",
        +      "isSecret",
        +      "isPremium",
        +      "achievementId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "beds": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "floors": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "houseId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isGuildhall": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "rent": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rooms": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "size": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "street": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "house",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "houseId",
        +      "city",
        +      "street",
        +      "location",
        +      "beds",
        +      "rent",
        +      "size",
        +      "rooms",
        +      "floors",
        +      "position",
        +      "isGuildhall",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "category": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "imbuementType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "materials": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "amount"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "slots": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tier": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "imbuement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "tier",
        +      "category",
        +      "imbuementType",
        +      "effect",
        +      "slots",
        +      "status",
        +      "materials",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "charmType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "costs": {
        +        "items": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "charm",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "charmType",
        +      "effect",
        +      "costs",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBuyable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "lightColor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "lightRadius": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "price": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "priceCurrency": {
        +        "description": "Currency of price as the wiki names it, e.g. Tibia Coins or Event Points. null when there is no price.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tamingMethod": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "mount",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "speed",
        +      "tamingMethod",
        +      "isBuyable",
        +      "price",
        +      "priceCurrency",
        +      "achievement",
        +      "lightColor",
        +      "lightRadius",
        +      "clientId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "femaleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "fullPrice": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isBought": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isTournament": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "maleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "outfitType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "quests": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "quest": {
        +              "type": "string"
        +            },
        +            "unlockType": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "quest",
        +            "unlockType"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "outfit",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "outfitType",
        +      "isPremium",
        +      "isBought",
        +      "isTournament",
        +      "fullPrice",
        +      "achievement",
        +      "maleClientId",
        +      "femaleClientId",
        +      "status",
        +      "quests",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "author": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "blurb": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bookType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "itemId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "nextBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "prevBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "text": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "book",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "bookType",
        +      "itemId",
        +      "location",
        +      "blurb",
        +      "author",
        +      "prevBook",
        +      "nextBook",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "battleye": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "battleyeType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isExperimental": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPreview": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "mergedInto": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "onlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "protectedSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pvpType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "tradeBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "const": "world",
        +        "type": "string"
        +      },
        +      "worldBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "pvpType",
        +      "isPreview",
        +      "isExperimental",
        +      "onlineSince",
        +      "offlineSince",
        +      "mergedInto",
        +      "battleye",
        +      "battleyeType",
        +      "protectedSince",
        +      "worldBoard",
        +      "tradeBoard",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "changes": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "newsId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "next": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "previous": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "releaseDate": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "summary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "update",
        +        "type": "string"
        +      },
        +      "typePrimary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "releaseDate",
        +      "newsId",
        +      "typePrimary",
        +      "typeSecondary",
        +      "previous",
        +      "next",
        +      "summary",
        +      "changes",
        +      "source"
        +    ],
        +    "type": "object"
        +  }
        +]
  3. 2 tool updates
    • Changedtibia_find_creatures2 fields changed
      • addedOutput schema / properties / results / items / properties / raceId
        Added value: +{
        +  "description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "title",
        -  "name",
        -  "hitpoints",
        -  "experience",
        -  "bestiaryClass",
        -  "isBoss",
        -  "modifiers",
        -  "runsAt",
        -  "seesInvisible",
        -  "paralysable",
        -  "pushable",
        -  "summonCost",
        -  "convinceCost",
        -  "goldPerKill"
        -]New value: +[
        +  "title",
        +  "name",
        +  "hitpoints",
        +  "experience",
        +  "bestiaryClass",
        +  "isBoss",
        +  "modifiers",
        +  "runsAt",
        +  "seesInvisible",
        +  "paralysable",
        +  "pushable",
        +  "summonCost",
        +  "convinceCost",
        +  "goldPerKill",
        +  "raceId"
        +]
    • Changedtibia_get1 field changed
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "abilities": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "area": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "ascii": {
        -                      "type": "string"
        -                    },
        -                    "cells": {
        -                      "items": {
        -                        "type": "number"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "effectOnCaster": {
        -                      "type": "boolean"
        -                    },
        -                    "effectTiles": {
        -                      "type": "number"
        -                    },
        -                    "height": {
        -                      "type": "number"
        -                    },
        -                    "key": {
        -                      "type": "string"
        -                    },
        -                    "width": {
        -                      "type": "number"
        -                    }
        -                  },
        -                  "required": [
        -                    "key",
        -                    "width",
        -                    "height",
        -                    "cells",
        -                    "ascii",
        -                    "effectTiles",
        -                    "effectOnCaster"
        -                  ],
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "element": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "effect",
        -            "element",
        -            "area"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "armor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "article": {
        -        "description": "Article the game prints before the name. Null: none, as for bosses.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryLevel": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "convinceCost": {
        -        "description": "Mana. 0: cannot be convinced.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "experience": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "goldPerKill": {
        -        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "hitpoints": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "illusionable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBoss": {
        -        "type": "boolean"
        -      },
        -      "loot": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "chance": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "max": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "min": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "chance",
        -            "min",
        -            "max"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "maxDamage": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "propertyNames": {
        -              "type": "string"
        -            },
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "modifiers": {
        -        "additionalProperties": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "name": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "paralysable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pushObjects": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "pushable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "runsAt": {
        -        "description": "Hit points at which it flees. 0: never flees.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "seesInvisible": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "summonCost": {
        -        "description": "Mana. 0: cannot be summoned.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "creature",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "name",
        -      "plural",
        -      "article",
        -      "hitpoints",
        -      "experience",
        -      "armor",
        -      "speed",
        -      "bestiaryClass",
        -      "bestiaryLevel",
        -      "isBoss",
        -      "status",
        -      "runsAt",
        -      "seesInvisible",
        -      "paralysable",
        -      "pushable",
        -      "pushObjects",
        -      "illusionable",
        -      "summonCost",
        -      "convinceCost",
        -      "goldPerKill",
        -      "modifiers",
        -      "loot",
        -      "abilities",
        -      "maxDamage",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "actualName": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "attributes": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "boughtBy": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": "string"
        -            },
        -            "npc": {
        -              "type": "string"
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "npc",
        -            "price",
        -            "currency",
        -            "city",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "clientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isImmobile": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isMarketable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPickupable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isStackable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "itemClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "itemType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keys": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "material": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "number": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "title": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "title",
        -            "number",
        -            "name",
        -            "material",
        -            "location",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "proficiencyPerks": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "level": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "skill": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "level",
        -            "effect",
        -            "skill"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "storeOffers": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "price",
        -            "amount",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "item",
        -        "type": "string"
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valueBuy": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "valueSell": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "weight": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "actualName",
        -      "plural",
        -      "itemClass",
        -      "itemType",
        -      "typeSecondary",
        -      "weight",
        -      "valueBuy",
        -      "valueSell",
        -      "isMarketable",
        -      "isStackable",
        -      "isPickupable",
        -      "isImmobile",
        -      "clientId",
        -      "status",
        -      "attributes",
        -      "keys",
        -      "storeOffers",
        -      "proficiencyPerks",
        -      "boughtBy",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "buys": {
        -        "description": "Items the player can sell to this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "destinations": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "name": {
        -              "type": "string"
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "origin": {
        -              "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "description": "Route price in gold. 0: free or not recorded, see notes.",
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "price",
        -            "origin",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "gender": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "jobs": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "positions": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "geolabel": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            },
        -            "subarea": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "city",
        -            "subarea",
        -            "geolabel",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "races": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rashidSchedule": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "day": {
        -              "type": "string"
        -            },
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "day",
        -            "city",
        -            "location",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sells": {
        -        "description": "Items the player can buy from this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "subarea": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "npc",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "gender",
        -      "city",
        -      "subarea",
        -      "location",
        -      "position",
        -      "status",
        -      "jobs",
        -      "races",
        -      "destinations",
        -      "positions",
        -      "buys",
        -      "sells",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "dangers": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "legend": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "levelRecommended": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "levelRequired": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "questLog": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "rewards": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "quest",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "levelRequired",
        -      "levelRecommended",
        -      "isPremium",
        -      "questLog",
        -      "legend",
        -      "status",
        -      "dangers",
        -      "rewards",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "areaShape": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "affectedTiles": {
        -                "type": "number"
        -              },
        -              "ascii": {
        -                "type": "string"
        -              },
        -              "cells": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "type": "array"
        -              },
        -              "corroborated": {
        -                "type": "boolean"
        -              },
        -              "derivedFrom": {
        -                "const": "animation",
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "sourceImage": {
        -                "type": "string"
        -              },
        -              "sourceUrl": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "width",
        -              "height",
        -              "cells",
        -              "ascii",
        -              "affectedTiles",
        -              "derivedFrom",
        -              "sourceImage",
        -              "sourceUrl",
        -              "corroborated"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Tiles a spell covers, read from its wiki animation."
        -      },
        -      "basePower": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "cooldown": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "element": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "group": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "groupCooldown": {
        -        "description": "Seconds before another spell of the same group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isPassive": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPromotion": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isWheelSpell": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "level": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "mana": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "runeGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroupCooldown": {
        -        "description": "Seconds before another spell of its secondary group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "soul": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spellType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "spell",
        -        "type": "string"
        -      },
        -      "vocations": {
        -        "items": {
        -          "enum": [
        -            "knight",
        -            "sorcerer",
        -            "druid",
        -            "paladin",
        -            "monk"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "words": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "areaShape",
        -      "image",
        -      "title",
        -      "words",
        -      "spellType",
        -      "element",
        -      "mana",
        -      "level",
        -      "soul",
        -      "isPremium",
        -      "cooldown",
        -      "effect",
        -      "vocations",
        -      "isPromotion",
        -      "isWheelSpell",
        -      "isPassive",
        -      "basePower",
        -      "group",
        -      "secondaryGroup",
        -      "runeGroup",
        -      "groupCooldown",
        -      "secondaryGroupCooldown",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievementId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "description": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "grade": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isSecret": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "points": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spoiler": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "achievement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "grade",
        -      "points",
        -      "description",
        -      "spoiler",
        -      "isSecret",
        -      "isPremium",
        -      "achievementId",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "beds": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "floors": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "houseId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isGuildhall": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "rent": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rooms": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "size": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "street": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "house",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "houseId",
        -      "city",
        -      "street",
        -      "location",
        -      "beds",
        -      "rent",
        -      "size",
        -      "rooms",
        -      "floors",
        -      "position",
        -      "isGuildhall",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "category": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "imbuementType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "materials": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "amount"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "slots": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tier": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "imbuement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "tier",
        -      "category",
        -      "imbuementType",
        -      "effect",
        -      "slots",
        -      "status",
        -      "materials",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "charmType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "costs": {
        -        "items": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "charm",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "charmType",
        -      "effect",
        -      "costs",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "clientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBuyable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "lightColor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "lightRadius": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "price": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tamingMethod": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "mount",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "speed",
        -      "tamingMethod",
        -      "isBuyable",
        -      "price",
        -      "achievement",
        -      "lightColor",
        -      "lightRadius",
        -      "clientId",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "femaleClientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "fullPrice": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isBought": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isTournament": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "maleClientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "outfitType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "quests": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "quest": {
        -              "type": "string"
        -            },
        -            "unlockType": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "quest",
        -            "unlockType"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "outfit",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "outfitType",
        -      "isPremium",
        -      "isBought",
        -      "isTournament",
        -      "fullPrice",
        -      "achievement",
        -      "maleClientId",
        -      "femaleClientId",
        -      "status",
        -      "quests",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "author": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "blurb": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bookType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "itemId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "nextBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "prevBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "text": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "book",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "bookType",
        -      "itemId",
        -      "location",
        -      "blurb",
        -      "author",
        -      "prevBook",
        -      "nextBook",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "battleye": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "battleyeType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isExperimental": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPreview": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "mergedInto": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "onlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "protectedSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pvpType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "tradeBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "type": {
        -        "const": "world",
        -        "type": "string"
        -      },
        -      "worldBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "pvpType",
        -      "isPreview",
        -      "isExperimental",
        -      "onlineSince",
        -      "offlineSince",
        -      "mergedInto",
        -      "battleye",
        -      "battleyeType",
        -      "protectedSince",
        -      "worldBoard",
        -      "tradeBoard",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "changes": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "newsId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "next": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "previous": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "releaseDate": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "summary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "update",
        -        "type": "string"
        -      },
        -      "typePrimary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "releaseDate",
        -      "newsId",
        -      "typePrimary",
        -      "typeSecondary",
        -      "previous",
        -      "next",
        -      "summary",
        -      "changes",
        -      "source"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "abilities": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "area": {
        +              "anyOf": [
        +                {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "ascii": {
        +                      "type": "string"
        +                    },
        +                    "cells": {
        +                      "items": {
        +                        "type": "number"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "effectOnCaster": {
        +                      "type": "boolean"
        +                    },
        +                    "effectTiles": {
        +                      "type": "number"
        +                    },
        +                    "height": {
        +                      "type": "number"
        +                    },
        +                    "key": {
        +                      "type": "string"
        +                    },
        +                    "width": {
        +                      "type": "number"
        +                    }
        +                  },
        +                  "required": [
        +                    "key",
        +                    "width",
        +                    "height",
        +                    "cells",
        +                    "ascii",
        +                    "effectTiles",
        +                    "effectOnCaster"
        +                  ],
        +                  "type": "object"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "element": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "effect",
        +            "element",
        +            "area"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "armor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "article": {
        +        "description": "Article the game prints before the name. Null: none, as for bosses.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryLevel": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "convinceCost": {
        +        "description": "Mana. 0: cannot be convinced.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "experience": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "goldPerKill": {
        +        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "hitpoints": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "illusionable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBoss": {
        +        "type": "boolean"
        +      },
        +      "loot": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chance": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "max": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "min": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "chance",
        +            "min",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "maxDamage": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "modifiers": {
        +        "additionalProperties": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "name": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "paralysable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pushObjects": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "pushable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "raceId": {
        +        "description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "runsAt": {
        +        "description": "Hit points at which it flees. 0: never flees.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "seesInvisible": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "summonCost": {
        +        "description": "Mana. 0: cannot be summoned.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "creature",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "name",
        +      "plural",
        +      "article",
        +      "hitpoints",
        +      "experience",
        +      "armor",
        +      "speed",
        +      "bestiaryClass",
        +      "bestiaryLevel",
        +      "isBoss",
        +      "status",
        +      "runsAt",
        +      "seesInvisible",
        +      "paralysable",
        +      "pushable",
        +      "pushObjects",
        +      "illusionable",
        +      "summonCost",
        +      "convinceCost",
        +      "goldPerKill",
        +      "raceId",
        +      "modifiers",
        +      "loot",
        +      "abilities",
        +      "maxDamage",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "actualName": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "attributes": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "boughtBy": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": "string"
        +            },
        +            "npc": {
        +              "type": "string"
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "npc",
        +            "price",
        +            "currency",
        +            "city",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isImmobile": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isMarketable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPickupable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isStackable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "itemClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "itemType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keys": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "material": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "number": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "title",
        +            "number",
        +            "name",
        +            "material",
        +            "location",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "proficiencyPerks": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "level": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "skill": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "level",
        +            "effect",
        +            "skill"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "storeOffers": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "price",
        +            "amount",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "item",
        +        "type": "string"
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valueBuy": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "valueSell": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "weight": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "actualName",
        +      "plural",
        +      "itemClass",
        +      "itemType",
        +      "typeSecondary",
        +      "weight",
        +      "valueBuy",
        +      "valueSell",
        +      "isMarketable",
        +      "isStackable",
        +      "isPickupable",
        +      "isImmobile",
        +      "clientId",
        +      "status",
        +      "attributes",
        +      "keys",
        +      "storeOffers",
        +      "proficiencyPerks",
        +      "boughtBy",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "buys": {
        +        "description": "Items the player can sell to this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "destinations": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "origin": {
        +              "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "description": "Route price in gold. 0: free or not recorded, see notes.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "price",
        +            "origin",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "gender": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "jobs": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "positions": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "geolabel": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "subarea": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "city",
        +            "subarea",
        +            "geolabel",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "races": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "rashidSchedule": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "day": {
        +              "type": "string"
        +            },
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            }
        +          },
        +          "required": [
        +            "day",
        +            "city",
        +            "location",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sells": {
        +        "description": "Items the player can buy from this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "subarea": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "npc",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "gender",
        +      "city",
        +      "subarea",
        +      "location",
        +      "position",
        +      "status",
        +      "jobs",
        +      "races",
        +      "destinations",
        +      "positions",
        +      "buys",
        +      "sells",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "dangers": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "legend": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "levelRecommended": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "levelRequired": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "questLog": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "rewards": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "quest",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "levelRequired",
        +      "levelRecommended",
        +      "isPremium",
        +      "questLog",
        +      "legend",
        +      "status",
        +      "dangers",
        +      "rewards",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "areaShape": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "affectedTiles": {
        +                "type": "number"
        +              },
        +              "ascii": {
        +                "type": "string"
        +              },
        +              "cells": {
        +                "items": {
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "corroborated": {
        +                "type": "boolean"
        +              },
        +              "derivedFrom": {
        +                "const": "animation",
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "sourceImage": {
        +                "type": "string"
        +              },
        +              "sourceUrl": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "width",
        +              "height",
        +              "cells",
        +              "ascii",
        +              "affectedTiles",
        +              "derivedFrom",
        +              "sourceImage",
        +              "sourceUrl",
        +              "corroborated"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Tiles a spell covers, read from its wiki animation."
        +      },
        +      "basePower": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "cooldown": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "element": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "group": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "groupCooldown": {
        +        "description": "Seconds before another spell of the same group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isPassive": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPromotion": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isWheelSpell": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "level": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "mana": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "runeGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroupCooldown": {
        +        "description": "Seconds before another spell of its secondary group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "soul": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spellType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "spell",
        +        "type": "string"
        +      },
        +      "vocations": {
        +        "items": {
        +          "enum": [
        +            "knight",
        +            "sorcerer",
        +            "druid",
        +            "paladin",
        +            "monk"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "words": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "areaShape",
        +      "image",
        +      "title",
        +      "words",
        +      "spellType",
        +      "element",
        +      "mana",
        +      "level",
        +      "soul",
        +      "isPremium",
        +      "cooldown",
        +      "effect",
        +      "vocations",
        +      "isPromotion",
        +      "isWheelSpell",
        +      "isPassive",
        +      "basePower",
        +      "group",
        +      "secondaryGroup",
        +      "runeGroup",
        +      "groupCooldown",
        +      "secondaryGroupCooldown",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievementId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "description": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "grade": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isSecret": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "points": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spoiler": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "achievement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "grade",
        +      "points",
        +      "description",
        +      "spoiler",
        +      "isSecret",
        +      "isPremium",
        +      "achievementId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "beds": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "floors": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "houseId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isGuildhall": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "rent": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rooms": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "size": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "street": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "house",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "houseId",
        +      "city",
        +      "street",
        +      "location",
        +      "beds",
        +      "rent",
        +      "size",
        +      "rooms",
        +      "floors",
        +      "position",
        +      "isGuildhall",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "category": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "imbuementType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "materials": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "amount"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "slots": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tier": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "imbuement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "tier",
        +      "category",
        +      "imbuementType",
        +      "effect",
        +      "slots",
        +      "status",
        +      "materials",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "charmType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "costs": {
        +        "items": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "charm",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "charmType",
        +      "effect",
        +      "costs",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBuyable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "lightColor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "lightRadius": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "price": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tamingMethod": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "mount",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "speed",
        +      "tamingMethod",
        +      "isBuyable",
        +      "price",
        +      "achievement",
        +      "lightColor",
        +      "lightRadius",
        +      "clientId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "femaleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "fullPrice": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isBought": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isTournament": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "maleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "outfitType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "quests": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "quest": {
        +              "type": "string"
        +            },
        +            "unlockType": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "quest",
        +            "unlockType"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "outfit",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "outfitType",
        +      "isPremium",
        +      "isBought",
        +      "isTournament",
        +      "fullPrice",
        +      "achievement",
        +      "maleClientId",
        +      "femaleClientId",
        +      "status",
        +      "quests",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "author": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "blurb": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bookType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "itemId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "nextBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "prevBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "text": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "book",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "bookType",
        +      "itemId",
        +      "location",
        +      "blurb",
        +      "author",
        +      "prevBook",
        +      "nextBook",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "battleye": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "battleyeType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isExperimental": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPreview": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "mergedInto": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "onlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "protectedSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pvpType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "tradeBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "const": "world",
        +        "type": "string"
        +      },
        +      "worldBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "pvpType",
        +      "isPreview",
        +      "isExperimental",
        +      "onlineSince",
        +      "offlineSince",
        +      "mergedInto",
        +      "battleye",
        +      "battleyeType",
        +      "protectedSince",
        +      "worldBoard",
        +      "tradeBoard",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "changes": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "newsId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "next": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "previous": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "releaseDate": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "summary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "update",
        +        "type": "string"
        +      },
        +      "typePrimary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "releaseDate",
        +      "newsId",
        +      "typePrimary",
        +      "typeSecondary",
        +      "previous",
        +      "next",
        +      "summary",
        +      "changes",
        +      "source"
        +    ],
        +    "type": "object"
        +  }
        +]
  4. 2 tool updates
    • Changedtibia_find_travel5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / from
        Added value: +{
        +  "description": "Exact start place of the leg, e.g. \"Meriana\", any case.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • removedInput schema / properties / from_city
        Removed value: -{
        -  "description": "Exact city of the NPC, any case.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • addedOutput schema / properties / results / items / properties / origin
        Added value: +{
        +  "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "npc",
        -  "city",
        -  "subarea",
        -  "location",
        -  "position",
        -  "to",
        -  "price",
        -  "notes"
        -]New value: +[
        +  "npc",
        +  "city",
        +  "subarea",
        +  "location",
        +  "position",
        +  "to",
        +  "origin",
        +  "price",
        +  "notes"
        +]
    • Changedtibia_get1 field changed
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "abilities": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "area": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "ascii": {
        -                      "type": "string"
        -                    },
        -                    "cells": {
        -                      "items": {
        -                        "type": "number"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "effectOnCaster": {
        -                      "type": "boolean"
        -                    },
        -                    "effectTiles": {
        -                      "type": "number"
        -                    },
        -                    "height": {
        -                      "type": "number"
        -                    },
        -                    "key": {
        -                      "type": "string"
        -                    },
        -                    "width": {
        -                      "type": "number"
        -                    }
        -                  },
        -                  "required": [
        -                    "key",
        -                    "width",
        -                    "height",
        -                    "cells",
        -                    "ascii",
        -                    "effectTiles",
        -                    "effectOnCaster"
        -                  ],
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "element": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "effect",
        -            "element",
        -            "area"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "armor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "article": {
        -        "description": "Article the game prints before the name. Null: none, as for bosses.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bestiaryLevel": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "convinceCost": {
        -        "description": "Mana. 0: cannot be convinced.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "experience": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "goldPerKill": {
        -        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "hitpoints": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "illusionable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBoss": {
        -        "type": "boolean"
        -      },
        -      "loot": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "chance": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "max": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "min": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "chance",
        -            "min",
        -            "max"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "maxDamage": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "propertyNames": {
        -              "type": "string"
        -            },
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "modifiers": {
        -        "additionalProperties": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "name": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "paralysable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pushObjects": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "pushable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "runsAt": {
        -        "description": "Hit points at which it flees. 0: never flees.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "seesInvisible": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "summonCost": {
        -        "description": "Mana. 0: cannot be summoned.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "creature",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "name",
        -      "plural",
        -      "article",
        -      "hitpoints",
        -      "experience",
        -      "armor",
        -      "speed",
        -      "bestiaryClass",
        -      "bestiaryLevel",
        -      "isBoss",
        -      "status",
        -      "runsAt",
        -      "seesInvisible",
        -      "paralysable",
        -      "pushable",
        -      "pushObjects",
        -      "illusionable",
        -      "summonCost",
        -      "convinceCost",
        -      "goldPerKill",
        -      "modifiers",
        -      "loot",
        -      "abilities",
        -      "maxDamage",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "actualName": {
        -        "description": "Name as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "attributes": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "boughtBy": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": "string"
        -            },
        -            "npc": {
        -              "type": "string"
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "npc",
        -            "price",
        -            "currency",
        -            "city",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "clientId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isImmobile": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isMarketable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPickupable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isStackable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "itemClass": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "itemType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keys": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "material": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "name": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "number": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "title": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "title",
        -            "number",
        -            "name",
        -            "material",
        -            "location",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "plural": {
        -        "description": "Plural as the game prints it.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "proficiencyPerks": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "effect": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "level": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "skill": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "level",
        -            "effect",
        -            "skill"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sounds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "storeOffers": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "currency": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "price",
        -            "amount",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "item",
        -        "type": "string"
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valueBuy": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "valueSell": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "weight": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "actualName",
        -      "plural",
        -      "itemClass",
        -      "itemType",
        -      "typeSecondary",
        -      "weight",
        -      "valueBuy",
        -      "valueSell",
        -      "isMarketable",
        -      "isStackable",
        -      "isPickupable",
        -      "isImmobile",
        -      "clientId",
        -      "status",
        -      "attributes",
        -      "keys",
        -      "storeOffers",
        -      "proficiencyPerks",
        -      "boughtBy",
        -      "sounds",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "buys": {
        -        "description": "Items the player can sell to this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "destinations": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "name": {
        -              "type": "string"
        -            },
        -            "notes": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "price": {
        -              "description": "Route price in gold. 0: free or not recorded, see notes.",
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "price",
        -            "notes"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "gender": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "jobs": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "races": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rashidSchedule": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "city": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "day": {
        -              "type": "string"
        -            },
        -            "location": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            },
        -            "position": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "y": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                },
        -                "z": {
        -                  "type": [
        -                    "number",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y",
        -                "z"
        -              ],
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "day",
        -            "city",
        -            "location",
        -            "position"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "sells": {
        -        "description": "Items the player can buy from this NPC.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "currency": {
        -              "type": "string"
        -            },
        -            "item": {
        -              "type": "string"
        -            },
        -            "price": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "price",
        -            "currency"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "subarea": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "npc",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "gender",
        -      "city",
        -      "subarea",
        -      "location",
        -      "position",
        -      "status",
        -      "jobs",
        -      "races",
        -      "destinations",
        -      "buys",
        -      "sells",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "dangers": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "legend": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "levelRecommended": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "levelRequired": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "questLog": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "rewards": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "quest",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "levelRequired",
        -      "levelRecommended",
        -      "isPremium",
        -      "questLog",
        -      "legend",
        -      "status",
        -      "dangers",
        -      "rewards",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "areaShape": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "affectedTiles": {
        -                "type": "number"
        -              },
        -              "ascii": {
        -                "type": "string"
        -              },
        -              "cells": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "type": "array"
        -              },
        -              "corroborated": {
        -                "type": "boolean"
        -              },
        -              "derivedFrom": {
        -                "const": "animation",
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "sourceImage": {
        -                "type": "string"
        -              },
        -              "sourceUrl": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "width",
        -              "height",
        -              "cells",
        -              "ascii",
        -              "affectedTiles",
        -              "derivedFrom",
        -              "sourceImage",
        -              "sourceUrl",
        -              "corroborated"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Tiles a spell covers, read from its wiki animation."
        -      },
        -      "basePower": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "cooldown": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "element": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "group": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "groupCooldown": {
        -        "description": "Seconds before another spell of the same group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isPassive": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPromotion": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isWheelSpell": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "level": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "mana": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "runeGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroup": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "secondaryGroupCooldown": {
        -        "description": "Seconds before another spell of its secondary group can be cast.",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "soul": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spellType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "spell",
        -        "type": "string"
        -      },
        -      "vocations": {
        -        "items": {
        -          "enum": [
        -            "knight",
        -            "sorcerer",
        -            "druid",
        -            "paladin",
        -            "monk"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "words": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "areaShape",
        -      "image",
        -      "title",
        -      "words",
        -      "spellType",
        -      "element",
        -      "mana",
        -      "level",
        -      "soul",
        -      "isPremium",
        -      "cooldown",
        -      "effect",
        -      "vocations",
        -      "isPromotion",
        -      "isWheelSpell",
        -      "isPassive",
        -      "basePower",
        -      "group",
        -      "secondaryGroup",
        -      "runeGroup",
        -      "groupCooldown",
        -      "secondaryGroupCooldown",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievementId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "description": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "grade": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isSecret": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "points": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "spoiler": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "achievement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "grade",
        -      "points",
        -      "description",
        -      "spoiler",
        -      "isSecret",
        -      "isPremium",
        -      "achievementId",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "beds": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "city": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "floors": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "houseId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isGuildhall": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "position": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "x": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "y": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "z": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "x",
        -          "y",
        -          "z"
        -        ],
        -        "type": "object"
        -      },
        -      "rent": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rooms": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "size": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "street": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "house",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "houseId",
        -      "city",
        -      "street",
        -      "location",
        -      "beds",
        -      "rent",
        -      "size",
        -      "rooms",
        -      "floors",
        -      "position",
        -      "isGuildhall",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "category": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "imbuementType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "materials": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "amount": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "item": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "item",
        -            "amount"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "slots": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tier": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "imbuement",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "tier",
        -      "category",
        -      "imbuementType",
        -      "effect",
        -      "slots",
        -      "status",
        -      "materials",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "charmType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "costs": {
        -        "items": {
        -          "type": [
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "effect": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "charm",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "charmType",
        -      "effect",
        -      "costs",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "image": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "descriptionUrl": {
        -                "type": "string"
        -              },
        -              "fileName": {
        -                "type": "string"
        -              },
        -              "height": {
        -                "type": "number"
        -              },
        -              "mimeType": {
        -                "type": "string"
        -              },
        -              "url": {
        -                "type": "string"
        -              },
        -              "width": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "fileName",
        -              "url",
        -              "descriptionUrl",
        -              "width",
        -              "height",
        -              "mimeType"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Sprite image link. Dimensions are pixels, not map squares."
        -      },
        -      "isBuyable": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "lightColor": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "lightRadius": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "price": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "speed": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tamingMethod": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "mount",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "image",
        -      "title",
        -      "speed",
        -      "tamingMethod",
        -      "isBuyable",
        -      "price",
        -      "achievement",
        -      "lightColor",
        -      "lightRadius",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "achievement": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "fullPrice": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "isBought": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPremium": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isTournament": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "outfitType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "quests": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "quest": {
        -              "type": "string"
        -            },
        -            "unlockType": {
        -              "type": [
        -                "string",
        -                "null"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "quest",
        -            "unlockType"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "outfit",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "outfitType",
        -      "isPremium",
        -      "isBought",
        -      "isTournament",
        -      "fullPrice",
        -      "achievement",
        -      "status",
        -      "quests",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "author": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "blurb": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "bookType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "itemId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "nextBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "prevBook": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "text": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "book",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "bookType",
        -      "itemId",
        -      "location",
        -      "blurb",
        -      "author",
        -      "prevBook",
        -      "nextBook",
        -      "status",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "battleye": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "battleyeType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "isExperimental": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "isPreview": {
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "mergedInto": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "onlineSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "protectedSince": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "pvpType": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "tradeBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "type": {
        -        "const": "world",
        -        "type": "string"
        -      },
        -      "worldBoard": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "location",
        -      "pvpType",
        -      "isPreview",
        -      "isExperimental",
        -      "onlineSince",
        -      "offlineSince",
        -      "mergedInto",
        -      "battleye",
        -      "battleyeType",
        -      "protectedSince",
        -      "worldBoard",
        -      "tradeBoard",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "changes": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "detail": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "number",
        -            "null"
        -          ]
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "newsId": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "next": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "previous": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "releaseDate": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "source": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "indexGeneratedAt": {
        -            "type": "string"
        -          },
        -          "page": {
        -            "type": "string"
        -          },
        -          "url": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "page",
        -          "url",
        -          "indexGeneratedAt"
        -        ],
        -        "type": "object"
        -      },
        -      "summary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "update",
        -        "type": "string"
        -      },
        -      "typePrimary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "typeSecondary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "releaseDate",
        -      "newsId",
        -      "typePrimary",
        -      "typeSecondary",
        -      "previous",
        -      "next",
        -      "summary",
        -      "changes",
        -      "source"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "abilities": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "area": {
        +              "anyOf": [
        +                {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "ascii": {
        +                      "type": "string"
        +                    },
        +                    "cells": {
        +                      "items": {
        +                        "type": "number"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "effectOnCaster": {
        +                      "type": "boolean"
        +                    },
        +                    "effectTiles": {
        +                      "type": "number"
        +                    },
        +                    "height": {
        +                      "type": "number"
        +                    },
        +                    "key": {
        +                      "type": "string"
        +                    },
        +                    "width": {
        +                      "type": "number"
        +                    }
        +                  },
        +                  "required": [
        +                    "key",
        +                    "width",
        +                    "height",
        +                    "cells",
        +                    "ascii",
        +                    "effectTiles",
        +                    "effectOnCaster"
        +                  ],
        +                  "type": "object"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "element": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "effect",
        +            "element",
        +            "area"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "armor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "article": {
        +        "description": "Article the game prints before the name. Null: none, as for bosses.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bestiaryLevel": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "convinceCost": {
        +        "description": "Mana. 0: cannot be convinced.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "experience": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "goldPerKill": {
        +        "description": "Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "hitpoints": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "illusionable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBoss": {
        +        "type": "boolean"
        +      },
        +      "loot": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chance": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "max": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "min": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "chance",
        +            "min",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "maxDamage": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "modifiers": {
        +        "additionalProperties": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "name": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "paralysable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pushObjects": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "pushable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "runsAt": {
        +        "description": "Hit points at which it flees. 0: never flees.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "seesInvisible": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "summonCost": {
        +        "description": "Mana. 0: cannot be summoned.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "creature",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "name",
        +      "plural",
        +      "article",
        +      "hitpoints",
        +      "experience",
        +      "armor",
        +      "speed",
        +      "bestiaryClass",
        +      "bestiaryLevel",
        +      "isBoss",
        +      "status",
        +      "runsAt",
        +      "seesInvisible",
        +      "paralysable",
        +      "pushable",
        +      "pushObjects",
        +      "illusionable",
        +      "summonCost",
        +      "convinceCost",
        +      "goldPerKill",
        +      "modifiers",
        +      "loot",
        +      "abilities",
        +      "maxDamage",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "actualName": {
        +        "description": "Name as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "attributes": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "boughtBy": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": "string"
        +            },
        +            "npc": {
        +              "type": "string"
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "description": "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.",
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "npc",
        +            "price",
        +            "currency",
        +            "city",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isImmobile": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isMarketable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPickupable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isStackable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "itemClass": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "itemType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keys": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "material": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "number": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "title",
        +            "number",
        +            "name",
        +            "material",
        +            "location",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "plural": {
        +        "description": "Plural as the game prints it.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "proficiencyPerks": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "effect": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "level": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "skill": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "level",
        +            "effect",
        +            "skill"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sounds": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "storeOffers": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "currency": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "price",
        +            "amount",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "item",
        +        "type": "string"
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valueBuy": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "valueSell": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "weight": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "actualName",
        +      "plural",
        +      "itemClass",
        +      "itemType",
        +      "typeSecondary",
        +      "weight",
        +      "valueBuy",
        +      "valueSell",
        +      "isMarketable",
        +      "isStackable",
        +      "isPickupable",
        +      "isImmobile",
        +      "clientId",
        +      "status",
        +      "attributes",
        +      "keys",
        +      "storeOffers",
        +      "proficiencyPerks",
        +      "boughtBy",
        +      "sounds",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "buys": {
        +        "description": "Items the player can sell to this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "destinations": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "notes": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "origin": {
        +              "description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "price": {
        +              "description": "Route price in gold. 0: free or not recorded, see notes.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "price",
        +            "origin",
        +            "notes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "gender": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "jobs": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "positions": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "geolabel": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            },
        +            "subarea": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "city",
        +            "subarea",
        +            "geolabel",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "races": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "rashidSchedule": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "city": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "day": {
        +              "type": "string"
        +            },
        +            "location": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "position": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "y": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "z": {
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y",
        +                "z"
        +              ],
        +              "type": "object"
        +            }
        +          },
        +          "required": [
        +            "day",
        +            "city",
        +            "location",
        +            "position"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "sells": {
        +        "description": "Items the player can buy from this NPC.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "currency": {
        +              "type": "string"
        +            },
        +            "item": {
        +              "type": "string"
        +            },
        +            "price": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "price",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "subarea": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "npc",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "gender",
        +      "city",
        +      "subarea",
        +      "location",
        +      "position",
        +      "status",
        +      "jobs",
        +      "races",
        +      "destinations",
        +      "positions",
        +      "buys",
        +      "sells",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "dangers": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "legend": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "levelRecommended": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "levelRequired": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "questLog": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "rewards": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "quest",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "levelRequired",
        +      "levelRecommended",
        +      "isPremium",
        +      "questLog",
        +      "legend",
        +      "status",
        +      "dangers",
        +      "rewards",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "areaShape": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "affectedTiles": {
        +                "type": "number"
        +              },
        +              "ascii": {
        +                "type": "string"
        +              },
        +              "cells": {
        +                "items": {
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "corroborated": {
        +                "type": "boolean"
        +              },
        +              "derivedFrom": {
        +                "const": "animation",
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "sourceImage": {
        +                "type": "string"
        +              },
        +              "sourceUrl": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "width",
        +              "height",
        +              "cells",
        +              "ascii",
        +              "affectedTiles",
        +              "derivedFrom",
        +              "sourceImage",
        +              "sourceUrl",
        +              "corroborated"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Tiles a spell covers, read from its wiki animation."
        +      },
        +      "basePower": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "cooldown": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "element": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "group": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "groupCooldown": {
        +        "description": "Seconds before another spell of the same group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isPassive": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPromotion": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isWheelSpell": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "level": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "mana": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "runeGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroup": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "secondaryGroupCooldown": {
        +        "description": "Seconds before another spell of its secondary group can be cast.",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "soul": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spellType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "spell",
        +        "type": "string"
        +      },
        +      "vocations": {
        +        "items": {
        +          "enum": [
        +            "knight",
        +            "sorcerer",
        +            "druid",
        +            "paladin",
        +            "monk"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "words": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "areaShape",
        +      "image",
        +      "title",
        +      "words",
        +      "spellType",
        +      "element",
        +      "mana",
        +      "level",
        +      "soul",
        +      "isPremium",
        +      "cooldown",
        +      "effect",
        +      "vocations",
        +      "isPromotion",
        +      "isWheelSpell",
        +      "isPassive",
        +      "basePower",
        +      "group",
        +      "secondaryGroup",
        +      "runeGroup",
        +      "groupCooldown",
        +      "secondaryGroupCooldown",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievementId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "description": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "grade": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isSecret": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "points": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "spoiler": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "achievement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "grade",
        +      "points",
        +      "description",
        +      "spoiler",
        +      "isSecret",
        +      "isPremium",
        +      "achievementId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "beds": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "city": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "floors": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "houseId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isGuildhall": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "position": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "x": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "y": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "z": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "x",
        +          "y",
        +          "z"
        +        ],
        +        "type": "object"
        +      },
        +      "rent": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rooms": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "size": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "street": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "house",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "houseId",
        +      "city",
        +      "street",
        +      "location",
        +      "beds",
        +      "rent",
        +      "size",
        +      "rooms",
        +      "floors",
        +      "position",
        +      "isGuildhall",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "category": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "imbuementType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "materials": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "item": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "item",
        +            "amount"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "slots": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tier": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "imbuement",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "tier",
        +      "category",
        +      "imbuementType",
        +      "effect",
        +      "slots",
        +      "status",
        +      "materials",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "charmType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "costs": {
        +        "items": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "type": "array"
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "effect": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "charm",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "charmType",
        +      "effect",
        +      "costs",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "clientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "image": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "descriptionUrl": {
        +                "type": "string"
        +              },
        +              "fileName": {
        +                "type": "string"
        +              },
        +              "height": {
        +                "type": "number"
        +              },
        +              "mimeType": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              },
        +              "width": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "fileName",
        +              "url",
        +              "descriptionUrl",
        +              "width",
        +              "height",
        +              "mimeType"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Sprite image link. Dimensions are pixels, not map squares."
        +      },
        +      "isBuyable": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "lightColor": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "lightRadius": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "price": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "speed": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tamingMethod": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "mount",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "image",
        +      "title",
        +      "speed",
        +      "tamingMethod",
        +      "isBuyable",
        +      "price",
        +      "achievement",
        +      "lightColor",
        +      "lightRadius",
        +      "clientId",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "achievement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "femaleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "fullPrice": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "isBought": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPremium": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isTournament": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "maleClientId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "outfitType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "quests": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "quest": {
        +              "type": "string"
        +            },
        +            "unlockType": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "quest",
        +            "unlockType"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "outfit",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "outfitType",
        +      "isPremium",
        +      "isBought",
        +      "isTournament",
        +      "fullPrice",
        +      "achievement",
        +      "maleClientId",
        +      "femaleClientId",
        +      "status",
        +      "quests",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "author": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "blurb": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "bookType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "itemId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "nextBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "prevBook": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "text": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "book",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "bookType",
        +      "itemId",
        +      "location",
        +      "blurb",
        +      "author",
        +      "prevBook",
        +      "nextBook",
        +      "status",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "battleye": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "battleyeType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "isExperimental": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "isPreview": {
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "mergedInto": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "onlineSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "protectedSince": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "pvpType": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "tradeBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "const": "world",
        +        "type": "string"
        +      },
        +      "worldBoard": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "location",
        +      "pvpType",
        +      "isPreview",
        +      "isExperimental",
        +      "onlineSince",
        +      "offlineSince",
        +      "mergedInto",
        +      "battleye",
        +      "battleyeType",
        +      "protectedSince",
        +      "worldBoard",
        +      "tradeBoard",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "changes": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "detail": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "newsId": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "next": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "previous": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "releaseDate": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "source": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "indexGeneratedAt": {
        +            "type": "string"
        +          },
        +          "page": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "page",
        +          "url",
        +          "indexGeneratedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "summary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "update",
        +        "type": "string"
        +      },
        +      "typePrimary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "typeSecondary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "releaseDate",
        +      "newsId",
        +      "typePrimary",
        +      "typeSecondary",
        +      "previous",
        +      "next",
        +      "summary",
        +      "changes",
        +      "source"
        +    ],
        +    "type": "object"
        +  }
        +]

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A server that downloads, parses, and indexes TibiaWiki content, providing 19 MCP tools for AI agents to query structured data such as creatures, items, and quests.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides Elden Ring lookups including item locations, NPC quest steps, weapon/spell/talisman/armor stats, and boss info, with answers sourced from a versioned wiki snapshot and source attribution.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.