tibiawiki-mcp
An MCP server that lets AI assistants query an offline SQLite snapshot of TibiaWiki to answer structured questions about Tibia.
Search wiki pages by name across creatures, items, NPCs, quests, spells, mounts, houses, updates, and more
Get full details for a page: creature loot/abilities, item stats and buyers, NPC trades, quest requirements, spell cooldowns, etc.
Find creatures by stats like hitpoints, experience, elemental weaknesses/resistances, and behaviour
Find items by class, type, resistances, skill bonuses, imbuement slots, weight, and required level
Find spells by vocation, level, element, and type
Find quests by level, premium status, and location
Find houses by city, rent, beds, and size
Look up every way to obtain an item: drops, vendors, and quest rewards
Find game updates by text and release date
Find the best NPC buyer for loot, grouped by city
Parse pasted loot messages into item counts and NPC gold values
Find boat and carpet travel routes with fares
Works offline after initial install; also available as a hosted remote server
Provides tools to search and retrieve TibiaWiki content (hosted on Fandom), including creature stats and elemental weaknesses, item attributes, drops, vendor prices, and quest rewards.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tibiawiki-mcpwhich creatures are weak to fire and give over 500 experience?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tibiawiki-mcp
An MCP server for TibiaWiki. It lets an AI assistant answer the questions the wiki itself cannot:
Which creatures are weak to fire and give over 500 experience?
What drops a Dragon Shield, and how likely is it?
Where do I buy a Steel Helmet, and for how much?
Every answer comes from a SQLite snapshot of the wiki that installs with the server. Queries return in milliseconds and work offline. The server makes no network calls.
Use it
Hosted, nothing to install
Add https://mcp.tibia.sh/wiki to your MCP client as a remote server. It needs no account and no
key. In claude.ai, add it as a custom connector.
It allows about 300 messages a minute per IP address and writes no request logs. The landing page at
https://mcp.tibia.sh shows the versions it runs.
tibia-sh/mcp.tibia.sh has the details.
Claude Code
Install it as a plugin, from your terminal. You get the server and a skill that teaches the agent the traps in the data, like damage modifiers where 100 is neutral:
claude plugin marketplace add tibia-sh/tibiawiki-mcp
claude plugin install tibiawiki-mcp@tibiawiki-mcpAny other MCP client
Add this to your client's MCP configuration, for example claude_desktop_config.json for Claude
Desktop or .cursor/mcp.json for Cursor. It needs Node 22.13 or later:
{
"mcpServers": {
"tibiawiki": { "command": "npx", "args": ["-y", "@tibia.sh/tibiawiki-mcp"] }
}
}The first start downloads the package and its 18 MB index. After that it works offline.
Related MCP server: tibiawiki_en_mcp
Tools
You ask questions, and your assistant calls these:
Tool | Answers |
| "Is there a page called roughly X?" or "List every mount." Items also match by the name or plural the game prints, like "vial of lifefluid" |
| "Tell me everything about X." X is a wiki title, and can be a creature, item, NPC, quest or spell. An item says its client ID, the name and plural the game prints, whether it stacks, can be picked up or is immobile, and which NPCs buy it, for how much and where. A creature says its name as the game prints it, how it behaves, like when it flees, and its gold per kill. An NPC says what it buys and sells |
| "Which creatures match these stats?" Also by behaviour, like seeing invisible or being pushable, and ranked by gold per kill |
| "Which items match these stats?" Also by resistance, skill bonus, imbuement slots, weight, hands, client ID, weapon element, life or mana leech, and whether it stacks or can be picked up |
| "Which healing spells can a level 30 druid cast?" |
| "Which quests can a level 20 character do, and what do they give?" |
| "What is the cheapest house in Thais with two beds?" |
| "Where do I get X?" Drops, vendors and quest rewards in one call. X can be the wiki title or the name the game prints |
| "What changed for knights in 2026?" Game updates by text and release date |
| "Where do I sell all this loot?" The NPC paying the most for each item, grouped by city. It takes the names the game prints too, like "gold coins", and lists a name several items share with those items |
| "What is this loot worth?" Paste loot messages as the game prints them and get each item's count and NPC value in gold, with client IDs per line on request |
| "Which boat goes to Svargrond, and for how much?" Boat and carpet routes to or from a place, with fares. Each row is one leg with its start, not a planned journey |
The server tells your assistant how to read the data, for example that a damage modifier of 100 is neutral. What the skill adds lists the traps.
How fresh the data is
The index is a snapshot. Every answer says when it was taken, as indexGeneratedAt. It ships as
its own package, @tibia.sh/tibiawiki-data, rebuilt
on Tuesdays and Fridays and released when the wiki changed. A fresh install gets the newest one.
The hosted server follows each release by itself.
Take the whole index
The tools answer questions. If you are building a loot filter, a hunt planner or a bot's data layer and want every row, install the index itself:
npm install @tibia.sh/tibiawiki-dataIt exports DB_PATH, the absolute path to index.db, and SCHEMA_VERSION. Open the file
read-only with any SQLite client. In Node 22.13 or later, node:sqlite does it:
import { DatabaseSync } from 'node:sqlite'
import { DB_PATH } from '@tibia.sh/tibiawiki-data'
const db = new DatabaseSync(DB_PATH, { readOnly: true })Its README says what the tables hold and how the versions work. The data stays CC BY-SA, so credit TibiaWiki when you ship it.
Why it exists
TibiaWiki runs on Fandom without Cargo, Semantic MediaWiki or CirrusSearch, so there is
no way to query it by attribute. Every structured value is trapped inside Infobox
wikitext, and the built-in search returns Dragon Necklace for fire resistant dragon.
The public REST API over the same wiki exposes exactly one query parameter. Building a
local index is the only way to ask a real question.
More
docs/USAGE.md => the plugin in detail, serving over HTTP yourself, building your own index
docs/MAINTAINING.md => working on the server and releasing it
Attribution
Data from TibiaWiki (https://tibia.fandom.com), licensed CC BY-SA. Tibia is made by CipSoft; game content and images are copyright CipSoft GmbH.
The index is generated by our copy of tibiawiki-sql (Apache-2.0). Images are deliberately never fetched or stored.
This project's own code is MIT licensed, see LICENSE. That covers the code only. The
data it serves is CC BY-SA and not ours to relicense.
Available Tools
12 toolstibia_find_creaturesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | experience, hitpoints and gold_per_kill: highest first. | experience |
| limit | No | ||
| cursor | No | ||
| is_boss | No | ||
| weak_to | No | Elements the creature takes extra damage from. | |
| pushable | No | ||
| summonable | No | true: summon cost above 0. false: 0. | |
| paralysable | No | ||
| convinceable | No | true: convince cost above 0. false: 0. | |
| resistant_to | No | ||
| hitpoints_max | No | Creatures whose hitpoints are unrecorded are excluded from this filter. | |
| hitpoints_min | No | Creatures whose hitpoints are unrecorded are excluded from this filter. | |
| bestiary_class | No | e.g. "Dragon", "Human". | |
| bestiary_level | No | Creatures with no recorded bestiary level are excluded from this filter. | |
| experience_max | No | ||
| experience_min | No | ||
| sees_invisible | No | ||
| include_inactive | No | ||
| location_contains | No | Substring of the location text. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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_housesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Exact city name, e.g. "Thais", any case. | |
| sort | No | rent ascends, size descends, title is alphabetical. | rent |
| limit | No | ||
| cursor | No | ||
| beds_min | No | ||
| rent_max | No | Highest monthly rent in gold. | |
| size_min | No | Fewest tiles. | |
| is_guildhall | No | ||
| include_inactive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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_itemsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | weight ascends, armor, attack and defense descend, title is alphabetical. value descends by NPC gold price, and prices in other currencies come last. | title |
| hands | No | ||
| leech | No | Leeches everything listed. | |
| limit | No | ||
| cursor | No | ||
| vocation | No | Matches required_vocation, e.g. "knight". | |
| armor_min | No | ||
| item_type | No | e.g. "Sword Weapons". | |
| attack_max | No | ||
| attack_min | No | ||
| client_ids | No | The item's client ID, any listed. Item variants can share one. | |
| item_class | No | e.g. "Weapons", "Armors". | |
| weight_max | No | In oz. Items without a weight never match. | |
| damage_type | No | Weapon element. | |
| defense_min | No | ||
| skill_bonus | No | Raises every listed skill. | |
| weapon_type | No | e.g. "Sword", "Axe", "Club". | |
| is_stackable | No | ||
| resistant_to | No | Resists everything listed (resistance above 0). | |
| is_pickupable | No | ||
| include_inactive | No | ||
| required_level_max | No | ||
| imbuement_slots_min | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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_questsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Levels ascend, title is alphabetical. Unknown levels come last. | level_recommended |
| limit | No | ||
| cursor | No | ||
| level_max | No | Highest level the character has. Quests with no level requirement always match. | |
| is_premium | No | ||
| is_rookgaard | No | ||
| include_inactive | No | ||
| location_contains | No | Literal substring of the location, case-insensitive. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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_spellsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | level and mana ascend, title is alphabetical. Spells with a variable cost (party spells) store mana 0, so they come first by mana. | level |
| group | No | Runes are all filed under support, so find attack runes by spell_type and element. | |
| limit | No | ||
| cursor | No | ||
| element | No | Damage element. For healing spells, use group. | |
| vocation | No | ||
| level_max | No | Highest level the caster has. | |
| is_premium | No | ||
| spell_type | No | ||
| include_inactive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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_travelARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Exact destination, e.g. "Svargrond", any case. | |
| from | No | Exact start place of the leg, e.g. "Meriana", any case. | |
| sort | No | price ascends with 0 fares last, npc is alphabetical. | price |
| limit | No | ||
| cursor | No | ||
| include_inactive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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_updatesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Literal substring, e.g. "knight". | |
| limit | No | ||
| cursor | No | ||
| released_after | No | YYYY-MM-DD, inclusive. | |
| released_before | No | YYYY-MM-DD, inclusive. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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_getARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Page name, e.g. "Dragon Lord". Case-insensitive. | |
| type | No | Restrict the lookup to one kind of page. | |
| verbosity | No | "detailed" adds extra descriptive columns. | concise |
| include_inactive | No | Include deprecated, event-only and unavailable pages. Applies to the requested page and to the NPCs or items in its trade lists. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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_obtainARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| item_name | Yes | Item page name or the name the game prints, e.g. "Dragon Shield". | |
| include_inactive | No | Include deprecated or event-only creatures, NPCs and quests as sources. |
Output Schema
| Name | Required | Description |
|---|---|---|
| item | Yes | |
| note | Yes | |
| source | Yes | |
| status | Yes | |
| droppedBy | Yes | |
| soldByNpcs | Yes | |
| questRewards | Yes |
TDQS
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.
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.
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.
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.
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.
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_lootARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Loot messages, one per line. | |
| include_lines | No | Also give each line with its items, client IDs and prices. |
Output Schema
| Name | Required | Description |
|---|---|---|
| lines | No | Each loot line, with include_lines. |
| totals | Yes | |
| unparsed | Yes | Lines that are no loot message, the first 100. |
| indexGeneratedAt | Yes | |
| unresolvedEntries | Yes | Entries with no single item, the first 100. |
TDQS
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.
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.
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.
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.
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.
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_searchARead-onlyInspect
Find Tibia pages of any kind whose name contains a substring. Items also match by the name and plural the game prints. Turns an approximate or in-game name into the exact page name tibia_get expects. With a query, shortest name first, so the closest match leads. With types and no query, lists every page of those types by title, as in "list every mount".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Substring to match against page names, case-insensitive. Omit it to list every page of types. | |
| types | No | Restrict to these kinds of page. Defaults to all. Required without a query. | |
| cursor | No | Opaque cursor from a previous call. | |
| include_inactive | No | Include deprecated, event-only and unavailable pages. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| nextCursor | No | |
| totalMatches | Yes | |
| indexGeneratedAt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses meaningful behavior: substring matching, plural matching for items, shortest-name-first ordering, and list-all behavior when types are given without a query. This goes beyond a simple read-only declaration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with no filler. Each sentence earns its place: core behavior, item plural matching, tibia_get relationship, ordering rule, and list-mode example all contribute directly to correct tool use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema, annotations, and 80% schema coverage, the description covers the main decision space well. It leaves minor gaps such as pagination/cursor guidance and explicit routing away from specialized finder siblings, but these are partially covered by the schema and sibling names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the baseline is 3, but the description adds real semantic value: omitting query triggers type listing, and items match by game-printed plural as well as name. Limit, cursor, and include_inactive remain dependent on the schema, but the core query/types behavior is enriched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 pages of any kind whose name contains a substring.' It clearly distinguishes itself from type-specific siblings by emphasizing 'any kind' and by positioning itself as the resolver of approximate names before tibia_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage modes: query-based search for approximate names, and type-based listing when no query is provided. It does not explicitly name the specialized finder siblings as alternatives, but the phrase 'of any kind' and the tibia_get handoff make the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tibia_where_to_sellARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Item names, any case, as the wiki titles them or the game prints them, e.g. "Dragon Shield" or "vial of lifefluid". |
Output Schema
| Name | Required | Description |
|---|---|---|
| cities | Yes | |
| noGoldBuyer | Yes | Items no active NPC buys for gold. |
| unknownItems | Yes | Names that match no item. |
| ambiguousItems | Yes | Names more than one item goes by, with those items. |
| indexGeneratedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v0.17.1- Changed
tibia_find_items3 fields changed- changed
Input schema / properties / sort / descriptionPrevious 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." - added
Output schema / properties / results / items / properties / valueBuyCurrencyAdded 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" + ] +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "title", - "actualName", - "itemClass", - "itemType", - "weight", - "valueBuy", - "clientId", - "isStackable", - "isPickupable", - "attributes" -]New value: +[ + "title", + "actualName", + "itemClass", + "itemType", + "weight", + "valueBuy", + "valueBuyCurrency", + "clientId", + "isStackable", + "isPickupable", + "attributes" +]
- Changed
tibia_get1 field changed- changed
Output schema / oneOfPrevious 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" + } +]
1 tool update
v0.16.1- Changed
tibia_get1 field changed- changed
Output schema / oneOfPrevious 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" + } +]
2 tool updates
v0.14.0- Changed
tibia_find_creatures2 fields changed- added
Output schema / properties / results / items / properties / raceIdAdded value: +{ + "description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.", + "type": [ + "number", + "null" + ] +} - changed
Output schema / properties / results / items / requiredPrevious 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" +]
- Changed
tibia_get1 field changed- changed
Output schema / oneOfPrevious 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" + } +]
8 tool updates
v0.13.0- Changed
tibia_find_creatures2 fields changed- added
Output schema / properties / results / items / properties / nameAdded value: +{ + "description": "Name as the game prints it.", + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "title", - "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" +]
- Changed
tibia_find_items8 fields changed- added
Input schema / properties / damage_typeAdded value: +{ + "description": "Weapon element.", + "enum": [ + "death", + "earth", + "energy", + "fire", + "holy", + "ice", + "physical" + ], + "type": "string" +} - added
Input schema / properties / is_pickupableAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / is_stackableAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / leechAdded value: +{ + "description": "Leeches everything listed.", + "items": { + "enum": [ + "life", + "mana" + ], + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / results / items / properties / actualNameAdded value: +{ + "description": "Name as the game prints it.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / results / items / properties / isPickupableAdded value: +{ + "type": [ + "boolean", + "null" + ] +} - added
Output schema / properties / results / items / properties / isStackableAdded value: +{ + "type": [ + "boolean", + "null" + ] +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "title", - "itemClass", - "itemType", - "weight", - "valueBuy", - "clientId", - "attributes" -]New value: +[ + "title", + "actualName", + "itemClass", + "itemType", + "weight", + "valueBuy", + "clientId", + "isStackable", + "isPickupable", + "attributes" +]
- Added
tibia_find_travel - Changed
tibia_get1 field changed- changed
Output schema / oneOfPrevious 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" - ] - }, - "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" - }, - "paralysable": { - "type": [ - "boolean", - "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", - "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": { - "attributes": { - "additionalProperties": { - "type": [ - "string", - "number" - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "boughtBy": { - "items": { - "additionalProperties": false, - "properties": { - "city": { - "type": [ - "string", - "null" - ] - }, - "currency": { - "type": "string" - }, - "npc": { - "type": "string" - }, - "position": { - "additionalProperties": false, - "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." - }, - "isMarketable": { - "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" - }, - "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", - "itemClass", - "itemType", - "typeSecondary", - "weight", - "valueBuy", - "valueSell", - "isMarketable", - "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": { - "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" + } +]
- Changed
tibia_how_to_obtain1 field changed- changed
Input schema / properties / item_name / descriptionPrevious value: -"Item page name, e.g. \"Dragon Shield\"."New value: +"Item page name or the name the game prints, e.g. \"Dragon Shield\"."
- Added
tibia_parse_loot - Changed
tibia_search1 field changed- changed
Input schema / properties / types / descriptionPrevious value: -"Restrict to these kinds of page. Defaults to all fourteen. Required without a query."New value: +"Restrict to these kinds of page. Defaults to all. Required without a query."
- Changed
tibia_where_to_sell7 fields changed- changed
Input schema / properties / items / descriptionPrevious value: -"Exact item names, any case, e.g. \"Dragon Shield\"."New value: +"Item names, any case, as the wiki titles them or the game prints them, e.g. \"Dragon Shield\" or \"vial of lifefluid\"." - added
Output schema / properties / ambiguousItemsAdded value: +{ + "description": "Names more than one item goes by, with those items.", + "items": { + "additionalProperties": false, + "properties": { + "candidates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "input": { + "type": "string" + } + }, + "required": [ + "input", + "candidates" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / cities / items / properties / buyers / items / properties / items / items / properties / inputAdded value: +{ + "description": "The name as you first wrote it.", + "type": "string" +} - changed
Output schema / properties / cities / items / properties / buyers / items / properties / items / items / requiredPrevious value: -[ - "item", - "price" -]New value: +[ + "item", + "input", + "price" +] - added
Output schema / properties / cities / items / properties / buyers / items / properties / position / descriptionAdded value: +"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." - changed
Output schema / properties / cities / items / properties / city / descriptionPrevious value: -"null for Rashid, who moves daily: see rashidSchedule."New value: +"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." - changed
Output schema / requiredPrevious value: -[ - "cities", - "noGoldBuyer", - "unknownItems", - "indexGeneratedAt" -]New value: +[ + "cities", + "noGoldBuyer", + "unknownItems", + "ambiguousItems", + "indexGeneratedAt" +]
8 tool updates
v0.10.0- Changed
tibia_find_creatures16 fields changed- added
Input schema / properties / bestiary_levelAdded value: +{ + "description": "Creatures with no recorded bestiary level are excluded from this filter.", + "enum": [ + "harmless", + "trivial", + "easy", + "medium", + "hard", + "challenging" + ], + "type": "string" +} - added
Input schema / properties / convinceableAdded value: +{ + "description": "true: convince cost above 0. false: 0.", + "type": "boolean" +} - added
Input schema / properties / paralysableAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / pushableAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / sees_invisibleAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / sort / descriptionAdded value: +"experience, hitpoints and gold_per_kill: highest first." - changed
Input schema / properties / sort / enumPrevious value: -[ - "experience", - "hitpoints", - "title" -]New value: +[ + "experience", + "hitpoints", + "title", + "gold_per_kill" +] - added
Input schema / properties / summonableAdded value: +{ + "description": "true: summon cost above 0. false: 0.", + "type": "boolean" +} - added
Output schema / properties / results / items / properties / convinceCostAdded value: +{ + "description": "Mana. 0: cannot be convinced.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / results / items / properties / goldPerKillAdded value: +{ + "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" + ] +} - added
Output schema / properties / results / items / properties / paralysableAdded value: +{ + "type": [ + "boolean", + "null" + ] +} - added
Output schema / properties / results / items / properties / pushableAdded value: +{ + "type": [ + "boolean", + "null" + ] +} - added
Output schema / properties / results / items / properties / runsAtAdded value: +{ + "description": "Hit points at which it flees. 0: never flees.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / results / items / properties / seesInvisibleAdded value: +{ + "type": [ + "boolean", + "null" + ] +} - added
Output schema / properties / results / items / properties / summonCostAdded value: +{ + "description": "Mana. 0: cannot be summoned.", + "type": [ + "number", + "null" + ] +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "title", - "hitpoints", - "experience", - "bestiaryClass", - "isBoss", - "modifiers" -]New value: +[ + "title", + "hitpoints", + "experience", + "bestiaryClass", + "isBoss", + "modifiers", + "runsAt", + "seesInvisible", + "paralysable", + "pushable", + "summonCost", + "convinceCost", + "goldPerKill" +]
- Added
tibia_find_houses - Changed
tibia_find_items10 fields changed- added
Input schema / properties / client_idsAdded value: +{ + "description": "The item's client ID, any listed. Item variants can share one.", + "items": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" +} - added
Input schema / properties / handsAdded value: +{ + "enum": [ + "one", + "two" + ], + "type": "string" +} - added
Input schema / properties / imbuement_slots_minAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / resistant_toAdded value: +{ + "description": "Resists everything listed (resistance above 0).", + "items": { + "enum": [ + "physical", + "earth", + "fire", + "ice", + "energy", + "death", + "holy", + "drown", + "lifedrain", + "manadrain", + "critical_hit" + ], + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / skill_bonusAdded value: +{ + "description": "Raises every listed skill.", + "items": { + "enum": [ + "magic_level", + "sword", + "axe", + "club", + "distance", + "fist", + "shielding" + ], + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / sort / descriptionAdded value: +"weight ascends, value, armor, attack and defense descend, title is alphabetical." - changed
Input schema / properties / sort / enumPrevious value: -[ - "title", - "weight", - "value" -]New value: +[ + "title", + "weight", + "value", + "armor", + "attack", + "defense" +] - added
Input schema / properties / weight_maxAdded value: +{ + "description": "In oz. Items without a weight never match.", + "type": "number" +} - added
Output schema / properties / results / items / properties / clientIdAdded value: +{ + "type": [ + "number", + "null" + ] +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "title", - "itemClass", - "itemType", - "weight", - "valueBuy", - "attributes" -]New value: +[ + "title", + "itemClass", + "itemType", + "weight", + "valueBuy", + "clientId", + "attributes" +]
- Added
tibia_find_quests - Added
tibia_find_spells - Changed
tibia_get2 fields changed- changed
Input schema / properties / include_inactive / descriptionPrevious value: -"Include deprecated, event-only and unavailable pages. Applies to the requested page."New value: +"Include deprecated, event-only and unavailable pages. Applies to the requested page and to the NPCs or items in its trade lists." - changed
Output schema / oneOfPrevious 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" - ] - }, - "bestiaryClass": { - "type": [ - "string", - "null" - ] - }, - "detail": { - "additionalProperties": { - "type": [ - "string", - "number", - "null" - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "experience": { - "type": [ - "number", - "null" - ] - }, - "hitpoints": { - "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." - }, - "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" - }, - "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" - ] - }, - "title": { - "type": "string" - }, - "type": { - "const": "creature", - "type": "string" - } - }, - "required": [ - "type", - "image", - "title", - "hitpoints", - "experience", - "armor", - "speed", - "bestiaryClass", - "isBoss", - "status", - "modifiers", - "loot", - "abilities", - "maxDamage", - "sounds", - "source" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "attributes": { - "additionalProperties": { - "type": [ - "string", - "number" - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "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." - }, - "isMarketable": { - "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" - }, - "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", - "itemClass", - "itemType", - "typeSecondary", - "weight", - "valueBuy", - "valueSell", - "isMarketable", - "status", - "attributes", - "keys", - "storeOffers", - "proficiencyPerks", - "sounds", - "source" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "city": { - "type": [ - "string", - "null" - ] - }, - "destinations": { - "items": { - "additionalProperties": false, - "properties": { - "name": { - "type": "string" - }, - "notes": { - "type": [ - "string", - "null" - ] - }, - "price": { - "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" - }, - "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", - "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" + ] + }, + "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" + }, + "paralysable": { + "type": [ + "boolean", + "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", + "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": { + "attributes": { + "additionalProperties": { + "type": [ + "string", + "number" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "boughtBy": { + "items": { + "additionalProperties": false, + "properties": { + "city": { + "type": [ + "string", + "null" + ] + }, + "currency": { + "type": "string" + }, + "npc": { + "type": "string" + }, + "position": { + "additionalProperties": false, + "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." + }, + "isMarketable": { + "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" + }, + "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", + "itemClass", + "itemType", + "typeSecondary", + "weight", + "valueBuy", + "valueSell", + "isMarketable", + "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": { + "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" + } +]
- Changed
tibia_search3 fields changed- changed
Input schema / properties / query / descriptionPrevious value: -"Substring to match against page names, case-insensitive."New value: +"Substring to match against page names, case-insensitive. Omit it to list every page of types." - changed
Input schema / properties / types / descriptionPrevious value: -"Restrict to these kinds of page. Defaults to all fourteen."New value: +"Restrict to these kinds of page. Defaults to all fourteen. Required without a query." - removed
Input schema / requiredRemoved value: -[ - "query" -]
- Added
tibia_where_to_sell
2 tool updates
v0.7.0- Added
tibia_find_updates - Changed
tibia_get1 field changed- changed
Output schema / oneOfPrevious 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" - ] - }, - "bestiaryClass": { - "type": [ - "string", - "null" - ] - }, - "detail": { - "additionalProperties": { - "type": [ - "string", - "number", - "null" - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "experience": { - "type": [ - "number", - "null" - ] - }, - "hitpoints": { - "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." - }, - "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" - }, - "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" - ] - }, - "title": { - "type": "string" - }, - "type": { - "const": "creature", - "type": "string" - } - }, - "required": [ - "type", - "image", - "title", - "hitpoints", - "experience", - "armor", - "speed", - "bestiaryClass", - "isBoss", - "status", - "modifiers", - "loot", - "abilities", - "maxDamage", - "sounds", - "source" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "attributes": { - "additionalProperties": { - "type": [ - "string", - "number" - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "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." - }, - "isMarketable": { - "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" - }, - "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", - "itemClass", - "itemType", - "typeSecondary", - "weight", - "valueBuy", - "valueSell", - "isMarketable", - "status", - "attributes", - "keys", - "storeOffers", - "proficiencyPerks", - "sounds", - "source" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "city": { - "type": [ - "string", - "null" - ] - }, - "destinations": { - "items": { - "additionalProperties": false, - "properties": { - "name": { - "type": "string" - }, - "notes": { - "type": [ - "string", - "null" - ] - }, - "price": { - "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" - }, - "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", - "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." - }, - "cooldown": { - "type": [ - "number", - "null" - ] - }, - "detail": { - "additionalProperties": { - "type": [ - "string", - "number", - "null" - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "element": { - "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." - }, - "isPremium": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "type": [ - "number", - "null" - ] - }, - "mana": { - "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" - }, - "words": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "type", - "areaShape", - "image", - "title", - "words", - "spellType", - "element", - "mana", - "level", - "soul", - "isPremium", - "cooldown", - "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" + ] + }, + "bestiaryClass": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "additionalProperties": { + "type": [ + "string", + "number", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "experience": { + "type": [ + "number", + "null" + ] + }, + "hitpoints": { + "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." + }, + "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" + }, + "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" + ] + }, + "title": { + "type": "string" + }, + "type": { + "const": "creature", + "type": "string" + } + }, + "required": [ + "type", + "image", + "title", + "hitpoints", + "experience", + "armor", + "speed", + "bestiaryClass", + "isBoss", + "status", + "modifiers", + "loot", + "abilities", + "maxDamage", + "sounds", + "source" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": { + "type": [ + "string", + "number" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "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." + }, + "isMarketable": { + "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" + }, + "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", + "itemClass", + "itemType", + "typeSecondary", + "weight", + "valueBuy", + "valueSell", + "isMarketable", + "status", + "attributes", + "keys", + "storeOffers", + "proficiencyPerks", + "sounds", + "source" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "city": { + "type": [ + "string", + "null" + ] + }, + "destinations": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "price": { + "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" + }, + "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", + "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" + } +]
5 tool updates
v0.5.0- Changed
tibia_find_creatures15 fields changed- removed
Input schema / additionalPropertiesRemoved value: -{} - added
Input schema / properties / bestiary_classAdded value: +{ + "description": "e.g. \"Dragon\", \"Human\".", + "type": "string" +} - added
Input schema / properties / cursorAdded value: +{ + "type": "string" +} - added
Input schema / properties / experience_maxAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / experience_minAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / hitpoints_maxAdded value: +{ + "description": "Creatures whose hitpoints are unrecorded are excluded from this filter.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / hitpoints_minAdded value: +{ + "description": "Creatures whose hitpoints are unrecorded are excluded from this filter.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / include_inactiveAdded value: +{ + "default": false, + "type": "boolean" +} - added
Input schema / properties / is_bossAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "default": 25, + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / location_containsAdded value: +{ + "description": "Substring of the location text.", + "type": "string" +} - added
Input schema / properties / resistant_toAdded value: +{ + "items": { + "enum": [ + "physical", + "earth", + "fire", + "ice", + "energy", + "death", + "holy", + "drown", + "lifedrain", + "healing" + ], + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / sortAdded value: +{ + "default": "experience", + "enum": [ + "experience", + "hitpoints", + "title" + ], + "type": "string" +} - added
Input schema / properties / weak_toAdded value: +{ + "description": "Elements the creature takes extra damage from.", + "items": { + "enum": [ + "physical", + "earth", + "fire", + "ice", + "energy", + "death", + "holy", + "drown", + "lifedrain", + "healing" + ], + "type": "string" + }, + "type": "array" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "indexGeneratedAt": { + "type": "string" + }, + "nextCursor": { + "type": "string" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "bestiaryClass": { + "type": [ + "string", + "null" + ] + }, + "experience": { + "type": [ + "number", + "null" + ] + }, + "hitpoints": { + "type": [ + "number", + "null" + ] + }, + "isBoss": { + "type": "boolean" + }, + "modifiers": { + "additionalProperties": { + "type": [ + "number", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "hitpoints", + "experience", + "bestiaryClass", + "isBoss", + "modifiers" + ], + "type": "object" + }, + "type": "array" + }, + "totalMatches": { + "type": "number" + } + }, + "required": [ + "results", + "totalMatches", + "indexGeneratedAt" + ], + "type": "object" +}
- Changed
tibia_find_items15 fields changed- removed
Input schema / additionalPropertiesRemoved value: -{} - added
Input schema / properties / armor_minAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / attack_maxAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / attack_minAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / cursorAdded value: +{ + "type": "string" +} - added
Input schema / properties / defense_minAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / include_inactiveAdded value: +{ + "default": false, + "type": "boolean" +} - added
Input schema / properties / item_classAdded value: +{ + "description": "e.g. \"Weapons\", \"Armors\".", + "type": "string" +} - added
Input schema / properties / item_typeAdded value: +{ + "description": "e.g. \"Sword Weapons\".", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "default": 25, + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / required_level_maxAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / sortAdded value: +{ + "default": "title", + "enum": [ + "title", + "weight", + "value" + ], + "type": "string" +} - added
Input schema / properties / vocationAdded value: +{ + "description": "Matches required_vocation, e.g. \"knight\".", + "type": "string" +} - added
Input schema / properties / weapon_typeAdded value: +{ + "description": "e.g. \"Sword\", \"Axe\", \"Club\".", + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "indexGeneratedAt": { + "type": "string" + }, + "nextCursor": { + "type": "string" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": { + "type": [ + "string", + "number" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "itemClass": { + "type": [ + "string", + "null" + ] + }, + "itemType": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": "string" + }, + "valueBuy": { + "type": [ + "number", + "null" + ] + }, + "weight": { + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "title", + "itemClass", + "itemType", + "weight", + "valueBuy", + "attributes" + ], + "type": "object" + }, + "type": "array" + }, + "totalMatches": { + "type": "number" + } + }, + "required": [ + "results", + "totalMatches", + "indexGeneratedAt" + ], + "type": "object" +}
- Changed
tibia_get7 fields changed- removed
Input schema / additionalPropertiesRemoved value: -{} - added
Input schema / properties / include_inactiveAdded value: +{ + "default": false, + "description": "Include deprecated, event-only and unavailable pages. Applies to the requested page.", + "type": "boolean" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Page name, e.g. \"Dragon Lord\". Case-insensitive.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "Restrict the lookup to one kind of page.", + "enum": [ + "creature", + "item", + "npc", + "quest", + "spell", + "achievement", + "house", + "imbuement", + "charm", + "mount", + "outfit", + "book", + "world", + "update" + ], + "type": "string" +} - added
Input schema / properties / verbosityAdded value: +{ + "default": "concise", + "description": "\"detailed\" adds extra descriptive columns.", + "enum": [ + "concise", + "detailed" + ], + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "name" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "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" + ] + }, + "bestiaryClass": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "additionalProperties": { + "type": [ + "string", + "number", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "experience": { + "type": [ + "number", + "null" + ] + }, + "hitpoints": { + "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." + }, + "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" + }, + "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" + ] + }, + "title": { + "type": "string" + }, + "type": { + "const": "creature", + "type": "string" + } + }, + "required": [ + "type", + "image", + "title", + "hitpoints", + "experience", + "armor", + "speed", + "bestiaryClass", + "isBoss", + "status", + "modifiers", + "loot", + "abilities", + "maxDamage", + "sounds", + "source" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": { + "type": [ + "string", + "number" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "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." + }, + "isMarketable": { + "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" + }, + "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", + "itemClass", + "itemType", + "typeSecondary", + "weight", + "valueBuy", + "valueSell", + "isMarketable", + "status", + "attributes", + "keys", + "storeOffers", + "proficiencyPerks", + "sounds", + "source" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "city": { + "type": [ + "string", + "null" + ] + }, + "destinations": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "price": { + "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" + }, + "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", + "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." + }, + "cooldown": { + "type": [ + "number", + "null" + ] + }, + "detail": { + "additionalProperties": { + "type": [ + "string", + "number", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "element": { + "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." + }, + "isPremium": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "type": [ + "number", + "null" + ] + }, + "mana": { + "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" + }, + "words": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type", + "areaShape", + "image", + "title", + "words", + "spellType", + "element", + "mana", + "level", + "soul", + "isPremium", + "cooldown", + "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" + } + ], + "type": "object" +}
- Changed
tibia_how_to_obtain5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -{} - added
Input schema / properties / include_inactiveAdded value: +{ + "default": false, + "description": "Include deprecated or event-only creatures, NPCs and quests as sources.", + "type": "boolean" +} - added
Input schema / properties / item_nameAdded value: +{ + "description": "Item page name, e.g. \"Dragon Shield\".", + "minLength": 1, + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "item_name" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "droppedBy": { + "items": { + "additionalProperties": false, + "properties": { + "chance": { + "type": [ + "number", + "null" + ] + }, + "creature": { + "type": "string" + }, + "max": { + "type": [ + "number", + "null" + ] + }, + "min": { + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "creature", + "chance", + "min", + "max" + ], + "type": "object" + }, + "type": "array" + }, + "item": { + "type": "string" + }, + "note": { + "type": "string" + }, + "questRewards": { + "items": { + "type": "string" + }, + "type": "array" + }, + "soldByNpcs": { + "items": { + "additionalProperties": false, + "properties": { + "city": { + "type": [ + "string", + "null" + ] + }, + "currency": { + "type": "string" + }, + "npc": { + "type": "string" + }, + "price": { + "type": "number" + } + }, + "required": [ + "npc", + "city", + "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" + ] + } + }, + "required": [ + "item", + "status", + "droppedBy", + "soldByNpcs", + "questRewards", + "note", + "source" + ], + "type": "object" +}
- Changed
tibia_search8 fields changed- removed
Input schema / additionalPropertiesRemoved value: -{} - added
Input schema / properties / cursorAdded value: +{ + "description": "Opaque cursor from a previous call.", + "type": "string" +} - added
Input schema / properties / include_inactiveAdded value: +{ + "default": false, + "description": "Include deprecated, event-only and unavailable pages.", + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "default": 25, + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / queryAdded value: +{ + "description": "Substring to match against page names, case-insensitive.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / typesAdded value: +{ + "description": "Restrict to these kinds of page. Defaults to all fourteen.", + "items": { + "enum": [ + "creature", + "item", + "npc", + "quest", + "spell", + "achievement", + "house", + "imbuement", + "charm", + "mount", + "outfit", + "book", + "world", + "update" + ], + "type": "string" + }, + "type": "array" +} - added
Input schema / requiredAdded value: +[ + "query" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "indexGeneratedAt": { + "type": "string" + }, + "nextCursor": { + "type": "string" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "title": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "title", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "totalMatches": { + "type": "number" + } + }, + "required": [ + "results", + "totalMatches", + "indexGeneratedAt" + ], + "type": "object" +}
5 tool updates
v0.1.0- First observed
tibia_find_creatures - First observed
tibia_find_items - First observed
tibia_get - First observed
tibia_how_to_obtain - First observed
tibia_search
TDQS
Scored across 12 tools
Most tools target clearly distinct entities or actions (find_creatures, find_spells, find_quests, find_houses, find_travel, find_updates), and tibia_get acts as the universal detail fetch. There is mild overlap between tibia_find_items and tibia_search (both find items, one by filters one by name) and between tibia_how_to_obtain and tibia_where_to_sell (both involve NPC selling), though the descriptions explicitly steer usage.
All names share a consistent tibia_ prefix and mostly follow a find_<entity> pattern (find_items, find_creatures, find_spells, find_quests, find_houses, find_updates, find_travel). A few deviate (tibia_get, tibia_search, tibia_parse_loot, tibia_how_to_obtain, tibia_where_to_sell) but remain readable and self-descriptive.
Twelve tools is well within the healthy 3-15 range, and each tool covers a distinct facet of the Tibia wiki domain (entity finders, a generic get, and specialized helpers). No tool feels redundant or padded.
The surface covers creatures, items, spells, quests, houses, updates, travel, loot parsing, item sourcing, and selling, plus a generic page fetch, which is strong lifecycle coverage for a read-only wiki. Minor gaps exist (no dedicated NPC finder or mount/outfit finder, though tibia_search can approximate these via types).
Maintenance
Related MCP Connectors
Wikipedia, Wikidata and Wiktionary as clean JSON, not HTML. 1.9M searchable. Free, no auth.
Search a curated directory of agent tools, MCP servers, APIs, protocols and skills. No auth.
Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers.
Search 2b2t locations, groups, highways, renders, Archive warps, and WDL metadata.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceEnables AI agents to query TibiaWiki data including creatures, items, NPCs, quests, and more via 19 MCP tools.9-
- FlicenseNot gradedqualityCmaintenanceA 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.-
- AlicenseAqualityBmaintenanceProvides read-only Arknights intelligence over MCP, enabling structured queries about stages, enemies, operators, and modules with region tagging and evidence-backed analysis. It uses versioned SQLite snapshots and never fetches upstream data at query time.413Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables agents to search a local, fully offline personal document library (Markdown/txt/PDF/docx) via SQLite FTS5 trigram search with subject-terminology expansion, returning every hit with its domain, document title, section path, and page or offset provenance. It also exposes domain statistics, incremental ingestion, and document deprecation as tools, alongside a read-only, runtime-persona-scoped ask/coverage mode.-