diff --git a/pages/_meta.json b/pages/_meta.json index 7efed48..e75d3b8 100644 --- a/pages/_meta.json +++ b/pages/_meta.json @@ -6,7 +6,7 @@ "concepts": "Game concepts", "api_guide": "API Guide", "resources": "Resources", - "others": "Others", + "members": "Members", "database": { "title": "Encyclopedia ↗", "type": "page", diff --git a/pages/api_guide/authorization.mdx b/pages/api_guide/authorization.mdx index 08d909a..196a413 100644 --- a/pages/api_guide/authorization.mdx +++ b/pages/api_guide/authorization.mdx @@ -5,7 +5,7 @@ The API requires that you authenticate with a valid JWT bearer token in order to You can create an account and get your token directly on [our website](https://artifactsmmo.com/account). Once you have a JWT bearer token, you can use it to authenticate with the API by including it in the **Authorization** header of every request. The following is an example of authenticating with the API: - + ```http filename="cURL" copy curl --location --request GET 'https://api.artifactsmmo.com/my/characters?page=1&size=50' \ --header 'Accept: application/json' \ diff --git a/pages/api_guide/openapi_spec.mdx b/pages/api_guide/openapi_spec.mdx index 609b48b..5f1c42a 100644 --- a/pages/api_guide/openapi_spec.mdx +++ b/pages/api_guide/openapi_spec.mdx @@ -2,4 +2,4 @@ You can download the OpenAPI specifications here: -[Download OpenAPI Spec](https://api.artifactsmmo.com/openapi.json) \ No newline at end of file +[Download OpenAPI Spec](https://api.artifactsmmo.com/openapi.json) \ No newline at end of file diff --git a/pages/api_guide/rate_limits.mdx b/pages/api_guide/rate_limits.mdx index a59c43c..960fd1f 100644 --- a/pages/api_guide/rate_limits.mdx +++ b/pages/api_guide/rate_limits.mdx @@ -6,4 +6,4 @@ | Token | 50 requests / hour | IP | | Data | 32 requests / second; 200 requests / minute; 7200 / hour | IP | | Actions | 7requests / 2second; 200 requests / minute; 7200 / hour | IP | - \ No newline at end of file + \ No newline at end of file diff --git a/pages/api_guide/response_codes.mdx b/pages/api_guide/response_codes.mdx index e4cd3e8..ab4c77b 100644 --- a/pages/api_guide/response_codes.mdx +++ b/pages/api_guide/response_codes.mdx @@ -39,11 +39,11 @@ code_same_password: int = 458 code_current_password_invalid: int = 459 code_account_not_member: int = 451 code_account_skin_not_owned: int = 550 - + # Character Error Codes code_character_not_enough_hp: int = 483 -code_character_maximum_utilites_equiped: int = 484 -code_character_item_already_equiped: int = 485 +code_character_maximum_utilities_equipped: int = 484 +code_character_item_already_equipped: int = 485 code_character_locked: int = 486 code_character_not_this_task: int = 474 code_character_too_many_items_task: int = 475 @@ -62,7 +62,6 @@ code_character_not_found: int = 498 code_character_in_cooldown: int = 499 # Item Error Codes -code_item_insufficient_quantity: int = 471 code_item_invalid_equipment: int = 472 code_item_recycling_invalid_item = 473 code_item_invalid_consumable: int = 476 @@ -86,10 +85,17 @@ code_bank_transaction_in_progress: int = 461 code_bank_full: int = 462 # Maps Error Codes +code_map_no_path_found: int = 595 +code_map_blocked: int = 596 code_map_not_found: int = 597 code_map_content_not_found: int = 598 # NPC Error Codes code_npc_not_for_sale: int = 441 -code_npc_not_for_buy: int = 442 \ No newline at end of file +code_npc_not_for_buy: int = 442 + +# Event Error Codes +code_event_insufficient_tokens: int = 563 +code_event_not_found: int = 564 +``` \ No newline at end of file diff --git a/pages/concepts/achievements.mdx b/pages/concepts/achievements.mdx index c26a4a2..b06dec1 100644 --- a/pages/concepts/achievements.mdx +++ b/pages/concepts/achievements.mdx @@ -5,7 +5,7 @@ Achievements are objectives to be met during the season by all your characters. Progress is tracked at the account level, so all your characters contribute together to unlock achievements. Achievement points and the number of achievements required to complete a season may change. You can always check the current requirements using the [server status endpoint](https://api.artifactsmmo.com/docs/#/operations/get_server_details__get) - + ## Achievement Types - `combat_kill` – Defeat monsters diff --git a/pages/concepts/actions.mdx b/pages/concepts/actions.mdx index 2b6ed56..911c566 100644 --- a/pages/concepts/actions.mdx +++ b/pages/concepts/actions.mdx @@ -3,9 +3,10 @@ To execute an action with your character, you need to send an API request. Here's the list of actions currently available: - + * [Move](https://api.artifactsmmo.com/docs/#/operations/action_move_my__name__action_move_post) * [Fight](https://api.artifactsmmo.com/docs/#/operations/action_fight_my__name__action_fight_post) +* [Transition](https://api.artifactsmmo.com/docs/#/operations/action_transition_my__name__action_transition_post) * [Rest](https://api.artifactsmmo.com/docs/#/operations/action_rest_my__name__action_rest_post) * [Gathering](https://api.artifactsmmo.com/docs/#/operations/action_gathering_my__name__action_gathering_post) * [Crafting](https://api.artifactsmmo.com/docs/#/operations/action_crafting_my__name__action_crafting_post) diff --git a/pages/concepts/events.mdx b/pages/concepts/events.mdx index a2e9446..17f849d 100644 --- a/pages/concepts/events.mdx +++ b/pages/concepts/events.mdx @@ -2,7 +2,7 @@ import { Callout } from 'nextra/components' # Events Events let exclusive monsters, resources and NPCs appear randomly in the world. When an event appears, you have a limited amount of time to get to the map to kill monsters, gather resources or buy/sell items to an npc. - + | Name | Content | | ---------------- | ---------------------------------- | | Bandit Camp |[Bandit Lizard (Monster)](https://artifactsmmo.com/encyclopedia/monsters/bandit_lizard) | diff --git a/pages/concepts/give.mdx b/pages/concepts/give.mdx index bcac157..a4392b4 100644 --- a/pages/concepts/give.mdx +++ b/pages/concepts/give.mdx @@ -1,7 +1,7 @@ ## Give Items & Gold Your character can give items or gold to other characters on your account, as long as both characters are on the same map. This feature enables you to specialize some characters as dedicated transporters or traders, making it easier to manage resources within your team. - + You can use this to optimize logistics or simply transfer gear, resources, or currency to the character who needs them most. - Both the sender and receiver must be **your own characters**, and they must be located **on the same map**. diff --git a/pages/concepts/grand_exchange.mdx b/pages/concepts/grand_exchange.mdx index 7e6ce80..d171d7e 100644 --- a/pages/concepts/grand_exchange.mdx +++ b/pages/concepts/grand_exchange.mdx @@ -1,7 +1,7 @@ import { Callout } from 'nextra/components' # Grand Exchange - + The Grande Exchange lets you buy and sell items from other players. Please note there is a 3% listing tax, charged at the time of posting, on the total price. diff --git a/pages/concepts/inventory_and_bank.mdx b/pages/concepts/inventory_and_bank.mdx index 334d700..71401f6 100644 --- a/pages/concepts/inventory_and_bank.mdx +++ b/pages/concepts/inventory_and_bank.mdx @@ -3,7 +3,7 @@ Each character has 20 slots in their inventory, which can hold a maximum of 100 items. So you can have 20 different items, but a maximum of 100 items in total. At each level, the maximum total items increases by 2. You can view the contents of your inventory with [this request.](https://api.artifactsmmo.com/docs/#/operations/get_my_characters_my_characters_get) - + ```http filename="JSON" copy .... "inventory": [ diff --git a/pages/concepts/maps_and_movement.mdx b/pages/concepts/maps_and_movement.mdx index 03b9e87..1a86160 100644 --- a/pages/concepts/maps_and_movement.mdx +++ b/pages/concepts/maps_and_movement.mdx @@ -1,44 +1,327 @@ -## Maps +# Maps -The world is in 2D, and each map is identified by an X and Y coordinate. +The world is a 2D grid addressed by integer coordinates **(x, y)** on a given **layer**: -![Characters](https://artifactsmmo.com/images/docs/map.png) - -You can also view the list of maps [on our website](https://artifactsmmo.com/encyclopedia/maps) or use [an API request](https://api.artifactsmmo.com/docs/#/operations/get_all_maps_maps__get). - -Here's an example of an API request response. +| Layer | Enum value | Content | +|--------------|----------------|--------------------------------------| +| Overworld | `overworld` | Main surface maps | +| Underground | `underground` | Mines, caves | +| Interior | `interior` | Houses, dungeons | + +![Maps](https://artifactsmmo.com/images/docs/map.png) +Every map is uniquely identified by: +- Its tuple: `(layer, x, y)` +- Or its numeric `map_id` + +Retrieve maps with: +- All maps: [GET `/maps`](https://api-test.artifactsmmo.com/docs/#/operations/get_all_maps_maps_get) +- Filter by layer: [GET `/maps/{layer}`](https://api-test.artifactsmmo.com/docs/#/operations/get_layer_maps_maps__layer__get) +- By coordinates: [GET `/maps/{layer}/{x}/{y}`](https://api.artifactsmmo.com/docs/#/operations/get_map_by_position_maps__layer___x___y__get) +- By ID: [GET `/maps/{id}/(map_id}`](https://api.artifactsmmo.com/docs/#/operations/get_map_by_id_maps_id__map_id__get) + +You can also view the list of maps [on our website](https://artifactsmmo.com/encyclopedia/maps). + +--- + +## Content + +If something is present on a map tile, it will be listed under `interactions.content`. + + +**Example:** + ```http filename="JSON" copy +{ + "data": { + "map_id": 1231, + "name": "Forest", + "skin": "forest_3", + "x": -5, + "y": -5, + "layer": "overworld", + "access": { + "type": "standard", + "conditions": [] + }, + "interactions": { + "content": { + "type": "monster", + "code": "red_slime" + }, + "transition": null + } + } +} +``` + +A map tile can contain different types of content, indicated by the `content.type` field. Here are the possible types you may encounter: + +- `monster`: A monster is present on the tile. [See all monsters](https://artifactsmmo.com/encyclopedia/monsters) +- `resource`: A resource node is available. [See all resources](https://artifactsmmo.com/encyclopedia/resources) +- `workshop`: A workshop for crafting items. [See all workshops and crafts](https://artifactsmmo.com/encyclopedia/items) +- `bank`: Access to a bank. +- `grand_exchange`: Access to the grand exchange. +- `tasks_master`: A tasks master NPC is present. +- `npc`: A trader/seller NPC is present. + + +--- + + +## Transition + +A transition represents a way to move instantly from one map tile to another, such as through a door, staircase, portal, or similar mechanism. Transitions can connect different locations, including those on separate layers (e.g., from the overworld to an interior or underground area). + +A map tile can define a `transition` under `interactions.transition`, specifying the destination and any conditions required to use it. + +**Example:** +```http filename="JSON" copy +{ + "map_id": 572, + "name": "Underground", + "skin": "mine_1", + "x": -2, + "y": 6, + "layer": "underground", + "access": { + "type": "standard", + "conditions": [] + }, + "interactions": { + "transition": { + "map_id": 571, + "x": -2, + "y": 6, + "layer": "overworld", + "conditions": [] + } + } +} +``` + +--- + +## Access Types & Conditions + +Not every map is freely traversable. The field `access.type` can be: + +| Type | Description | +| ---- | ----------- | +| `standard` | Freely accessible. | +| `blocked` | Not walkable (void, obstacle, mountain, water, etc.). | +| `teleportation` | Only reachable via teleport effects (e.g. consumable). | +| `conditional` | Requires all listed conditions to be satisfied. | + +Conditions may appear in: +- `access.conditions` (to step onto / remain on a tile) +- `interactions.transition.conditions` (to use a portal / door / stairs) + +### Global condition operators + +The generic operators used for items also work on maps. It can use any character variable as the `code` in a condition. For example, it may require a minimum level, a specific skill level, or any other attribute available on the character. +| Operator | Meaning | +|----------|---------| +| `eq` | Equal to | +| `ne` | Not equal | +| `gt` | Greater than | +| `lt` | Less than | + + +#### Examples + +> The examples use fictional maps created to help illustrate how conditions work. + +Here is an example where you must have less than 1000 HP to use a transition. + +```http filename="JSON" copy + +{ + "data": { + "map_id": 1231, + "name": "Sandwhisper Isle", + "skin": "desertisland_10", + "x": -3, + "y": 19, + "layer": "overworld", + "access": { + "type": "standard", + "conditions": [] + }, + "interactions": { + "content": null, + "transition": { + "map_id": 1233, + "x": -3, + "y": 19, + "layer": "interior", + "conditions": [ + { + "code": "hp", + "operator": "lt", + "value": "1000" + } + ] + } + } + } +} +``` + +Here is an example where you must have woodcutting level 30 or higher to enter a map. + +```http filename="JSON" copy + { "data": { + "map_id": 3012, "name": "Forest", - "code": "forest_1", - "x": -1, - "y": -1, + "skin": "forest_3", + "x": 10, + "y": 10, + "layer": "overworld", + "access": { + "type": "standard", + "conditions": [ + { + "code": "woodcutting_level", + "operator": "gt", + "value": "30" + } + ] + }, + "interactions": { + "content": { + "type": "resource", + "code": "magic_tree" + }, + "transition": null + } + } +} + +``` + +### Maps condition operators +The following operators are specific to the map system. They can be used on access and transition conditions: + +| Operator | Meaning | Consumed? | Notes | +| -------- | ------- | --------- | ----- | +| `has_item` | You must possess (inventory or equipped) the specified item `code` | No | | +| `cost` | You must pay an item or gold | Yes | `code` = item (or `gold`), `value` = quantity. | +| `achievement_unlocked` | Specific achievement must be completed | N/A | `code` = achievement identifier. | + + +#### Examples + +> The examples use fictional maps created to help illustrate how conditions work. + +Here is an example of a map where you must pay an item to use the transition. On successful transition, one `lich_tomb_key` is consumed. + +```http filename="JSON" copy +{ + "map_id": 655, + "name": "Graveyard", + "skin": "forest_skeleton5", + "x": 9, + "y": 7, + "layer": "overworld", + "access": { + "type": "standard", + "conditions": [] + }, + "interactions": { + "transition": { + "map_id": 656, + "x": 9, + "y": 7, + "layer": "underground", + "conditions": [ + { + "code": "lich_tomb_key", + "operator": "cost", + "value": "1" + } + ] + } + } +} +``` + +Here is an example of a map where you must have completed an achievement to access it. + +```http filename="JSON" copy +{ + "map_id": 1234, + "name": "Sandwhisper Isle", + "skin": "desertisland_11", + "x": -2, + "y": 19, + "layer": "overworld", + "access": { + "type": "standard", + "conditions": [ + { + "code": "secure_the_island", + "operator": "achievement_unlocked", + "value": "1" + } + ] + }, + "interactions": { "content": { - "type": "monster", - "code": "red_slime" + "type": "bank", + "code": "bank" + } + } +} +``` + +Here is an example where you must have an item either in your inventory or equipped to use the transition. + +```http filename="JSON" copy +{ + "map_id": 934, + "name": "Forest", + "skin": "forest_house1", + "x": 0, + "y": 13, + "layer": "overworld", + "access": { + "type": "standard", + "conditions": [] + }, + "interactions": { + "content": null, + "transition": { + "map_id": 935, + "x": 0, + "y": 13, + "layer": "interior", + "conditions": [ + { + "code": "cultist_cloak", + "operator": "has_item", + "value": "1" + } + ] } } } -``` +``` +--- -If there's anything on the map, you'll be able to view it in the "content" section. +## Actions -This is what you can find on a map: -* Monster (All monsters: https://artifactsmmo.com/encyclopedia/monsters) -* Resource (All ressources: https://artifactsmmo.com/encyclopedia/resources) -* Workshop (All crafts by workshop : https://artifactsmmo.com/encyclopedia/items) -* Bank -* Grand Exchange -* Tasks Master -* NPC +### Move +The movement system uses A* pathfinding to find the shortest path, bypassing blocked maps. The cooldown is 5 seconds per map. -## Movement - -To do most of the actions in the game, you'll need to move on the map. -The move cooldown is currently fixed at 5 seconds per map. In the future, it will be possible to increase movement speed to reduce this cooldown. +**Endpoint:** `POST /my/{name}/action/move` + +You must supply either: +- Coordinates: `{ "x": , "y": }` +- Or a direct `{ "map_id": }` Here's an example of an API request to move your character. @@ -50,6 +333,8 @@ curl --location -g --request POST 'https://api.artifactsmmo.com/my/INSERT_CHARAC --data-raw '{ "x": 4, "y": -1 + // OR + // "map_id": 101 }' ``` ```js filename="Javascript" copy @@ -61,6 +346,8 @@ myHeaders.append("Authorization", "Bearer INSERT_TOKEN_HERE"); var raw = JSON.stringify({ "x": 4, "y": -1 + // OR + // "map_id": 101 }); var requestOptions = { @@ -77,4 +364,38 @@ fetch("https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/move", reque ``` [View API Request](https://api.artifactsmmo.com/docs/#/operations/action_move_my__name__action_move_post) - \ No newline at end of file + + +### Transition + +If no path is possible using move, it is very likely that a transition is necessary to reach the map. A transition represents doors, stairs, boats, etc. It allows you to teleport from one tile to another, either on the same layer or to a different layer. A transition always has a cooldown of 5 seconds. + +**Endpoint:** `POST /my/{name}/action/transition` + +Here is an example of an API request to use a transition. + +```http filename="cURL" copy +curl --location --request POST 'https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/transition' \ +--header 'Accept: application/json' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer INSERT_TOKEN_HERE' +``` +```js filename="Javascript" copy +var myHeaders = new Headers(); +myHeaders.append("Accept", "application/json"); +myHeaders.append("Content-Type", "application/json"); +myHeaders.append("Authorization", "Bearer INSERT_TOKEN_HERE"); + +var requestOptions = { + method: 'POST', + headers: myHeaders, + redirect: 'follow' +}; + +fetch("https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/transition", requestOptions) + .then(response => response.text()) + .then(result => console.log(result)) + .catch(error => console.log('error', error)); +``` + +[View API Request](https://api.artifactsmmo.com/docs/#/operations/action_transition_my__name__action_transition_post) diff --git a/pages/concepts/npcs.mdx b/pages/concepts/npcs.mdx index 8f6e80f..fbdd3a7 100644 --- a/pages/concepts/npcs.mdx +++ b/pages/concepts/npcs.mdx @@ -5,7 +5,7 @@ NPCs are merchant or trader characters from whom you can buy, sell or trade item ## List of NPCs You can use this GET request to view the list of all existing NPCs. - + ```http filename="cURL" copy curl --location --request GET 'https://api.artifactsmmo.com/npcs/details' \ --header 'Accept: application/json' \ diff --git a/pages/concepts/recycling.mdx b/pages/concepts/recycling.mdx index f0cdb07..2125809 100644 --- a/pages/concepts/recycling.mdx +++ b/pages/concepts/recycling.mdx @@ -6,7 +6,7 @@ This lets you get back some of the item's resources. The minimum is resource pe You can recycle an item using this POST request. - + ```http filename="cURL" copy curl --request POST \ --url https://api.artifactsmmo.com/my/{name}/action/recycling \ diff --git a/pages/concepts/resting_and_using_items.mdx b/pages/concepts/resting_and_using_items.mdx index 46e1256..6e92d61 100644 --- a/pages/concepts/resting_and_using_items.mdx +++ b/pages/concepts/resting_and_using_items.mdx @@ -3,7 +3,7 @@ Resting allows you to recover your hit points. The cooldown is 1 second per 5 HP recovered. You can rest by using this POST request. - + ```http filename="cURL" copy curl --request POST \ --url https://api.artifactsmmo.com/my/{name}/action/rest \ diff --git a/pages/concepts/skills.mdx b/pages/concepts/skills.mdx index 544913c..00a9ad0 100644 --- a/pages/concepts/skills.mdx +++ b/pages/concepts/skills.mdx @@ -112,7 +112,7 @@ myHeaders.append("Authorization", "Bearer INSERT_YOUR_TOKEN_HERE"); var raw = JSON.stringify({ "code": "INSERT_ITEM_CODE" }); - + var requestOptions = { method: 'POST', headers: myHeaders, @@ -131,45 +131,55 @@ fetch("https://api.artifactsmmo.com/my/{name}/action/crafting", requestOptions) ## Experience to level Here's the table showing the experience required to level up for all skills. -| Level | XP Required | -|-------|-------------| -| 1 | 150 | -| 2 | 250 | -| 3 | 350 | -| 4 | 450 | -| 5 | 700 | -| 6 | 950 | -| 7 | 1200 | -| 8 | 1450 | -| 9 | 1700 | -| 10 | 2100 | -| 11 | 2500 | -| 12 | 2900 | -| 13 | 3300 | -| 14 | 3700 | -| 15 | 4400 | -| 16 | 5100 | -| 17 | 5800 | -| 18 | 6500 | -| 19 | 7200 | -| 20 | 8200 | -| 21 | 9200 | -| 22 | 10200 | -| 23 | 11200 | -| 24 | 12200 | -| 25 | 13400 | -| 26 | 14600 | -| 27 | 15800 | -| 28 | 17000 | -| 29 | 18200 | -| 30 | 19700 | -| 31 | 21200 | -| 32 | 22700 | -| 33 | 24200 | -| 34 | 25700 | -| 35 | 27200 | -| 36 | 28700 | -| 37 | 30500 | -| 38 | 32300 | -| 39 | 34100 | -| 40 | 35900 | +| Level | XP Total | +|-------|----------| +| 1 | 150 | +| 2 | 250 | +| 3 | 350 | +| 4 | 450 | +| 5 | 700 | +| 6 | 950 | +| 7 | 1200 | +| 8 | 1450 | +| 9 | 1850 | +| 10 | 2250 | +| 11 | 2650 | +| 12 | 3050 | +| 13 | 3450 | +| 14 | 4150 | +| 15 | 4850 | +| 16 | 5550 | +| 17 | 6250 | +| 18 | 6950 | +| 19 | 7950 | +| 20 | 8950 | +| 21 | 9950 | +| 22 | 10950 | +| 23 | 11950 | +| 24 | 13150 | +| 25 | 14350 | +| 26 | 15550 | +| 27 | 16750 | +| 28 | 17950 | +| 29 | 19450 | +| 30 | 20950 | +| 31 | 22450 | +| 32 | 23950 | +| 33 | 25450 | +| 34 | 27250 | +| 35 | 29050 | +| 36 | 30850 | +| 37 | 32650 | +| 38 | 34450 | +| 39 | 36550 | +| 40 | 38650 | +| 41 | 40750 | +| 42 | 42850 | +| 43 | 44950 | +| 44 | 46750 | +| 45 | 48550 | +| 46 | 50350 | +| 47 | 52150 | +| 48 | 53950 | +| 49 | 55750 | +| 50 | 57550 | \ No newline at end of file diff --git a/pages/concepts/stats_and_fights.mdx b/pages/concepts/stats_and_fights.mdx index 4177120..ac53e74 100644 --- a/pages/concepts/stats_and_fights.mdx +++ b/pages/concepts/stats_and_fights.mdx @@ -12,10 +12,13 @@ Here are all the stats a player can have: * Prospecting * Wisdom * Critical Strike +* Initiative +* Threat * Haste You can view your character's stats directly [on the site](https://artifactsmmo.com/my/characters) or use [this request](https://api.artifactsmmo.com/docs/#/operations/get_my_characters_my_characters_get). + ### Elemental attacks Attack is the basic stats. Each attack removes one hit point from its opponent. @@ -58,6 +61,14 @@ Here's the formula for calculating the effects of damage reduction, it is given For example, if a monster has a resistance buff of 30 and the player has 100 attack, the monster will block 30 damage. 1 resistance buff = 1% damage reduction (1 less damage using the example above) +### Initative + +Initiative determines the turn order in combat. The character or monster with the highest initiative acts first, followed by the others in descending order of initiative. +If two characters or monsters have the same initiative, the one with the higher HP will act first. If they also have the same HP, the turn order is determined randomly. + +### Threat + +The character with the highest threat in a multi-character fight will be the main target of the monster's attacks. ### Haste @@ -75,10 +86,10 @@ Your basic drop chance is 100%, if you have 100 prospecting your total drop chan ## Fights -Combat is based on a turn-by-turn system. The player always attacks first. +Combat is based on a turn-by-turn system. The turn order is determined by initiative. -Fights can take a maximum of 100 turns (i.e. 50 attacks for the player, 50 attacks for the monster), otherwise you've automatically lost the fight. -If you lose a fight, you return to the spawn (0,0) with 1 HP. +Fights can take a maximum of 100 turns, otherwise you've automatically lost the fight. +If you lose a fight, you return to the spawn (0,0 (overworld)) with 1 HP. Each round of combat adds 2 seconds of cooldown. Haste (equipment stats) reduces cooldown time. The minimum combat cooldown is 5 seconds. @@ -111,9 +122,11 @@ Here's everything you can equip: | Keyword | Condition | | ------- | ---------------------------------------------------- | | Restore | Heals X HP when the player has lost 50% of their life. | +| Splash Restore | Restores x HP at the start of the turn to another character who has lost the most health if that character has less than 50% of their health points remaining. | | Boost | Gives X (HP, % damage, % res, prospecting, critical strike) at the start of fight. | | Antipoison | At the beginning of the turn, if the character has at least one poison on him, removes x poison damage. + [View all utilities](https://artifactsmmo.com/encyclopedia/items?type=utility) #### Runes keywords @@ -125,6 +138,11 @@ Runes are equipment that will launch an ability in combat. There are currently 3 | Burn | On his first turn, apply a burn effect of x% of your attack of all elements. The damage is applied each turn and decreases by 10% each time. | | Lifesteal | Restores x% of the total attack of all elements in HP after a critical strike. | | Healing | Every 3 played turns, restores x% of HP at the start of the turn.| +| Healing Aura | Every 2 played turns, they heal all allies for x% of their maximum HP. This effect does not heal the caster. | +| Vampiric Strike | After landing a critical hit, they heal the ally with the lowest HP for x% of the damage dealt. Can only trigger once every 3 turns. This effect does not heal the caster. | +| Frenzy | Each time they land a critical hit, they give x% damage to themselves and their allies until the end of their next turn. | +| Shell | When they drop below 40% of their HP, they gain x% resistance to all elements for 3 turns. Activates once per combat. This effect is only active during boss fights. | +| Guard | If one or more allies have less than 50% of their HP, protects the ally with the lowest HP percentage, redirecting x% of their damage to this character until the start of my next turn. Activates a maximum of 3 times per combat.| [View all runes](https://artifactsmmo.com/encyclopedia/items?type=rune) @@ -141,6 +159,10 @@ Some monsters launch abilities called effects. These are additional effects that | Reconstitution | At the beginning of the turn x, restores all HP. | Poison | At the start of its first turn, applies a x poison to its opponent. Loses x HP per turn. | Corrupted | After every time the bearer of this effect is attacked, their resistance to the attack's element is reduced by x%, and can go negative. +| Frenzy | Each time they land a critical hit, they give x% damage to themselves and their allies until the end of their next turn. | +| Berserker Rage | When they drop below 25% HP, they gain x% damage permanently. Applies once per combat. | +| Void Drain | Every 4 turns, Drains x% HP from each enemy to heal themselves.| +| Barrier | At the start of the fight and every 5 played turns, gain a protective barrier of xHP. All attacks are redirected to this barrier until it is destroyed.| ### Equip @@ -241,7 +263,9 @@ fetch("https://api.artifactsmmo.com/my/{name}/action/unequip", requestOptions) ### Action -To start a fight, you must be on a map with a monster. [To learn more about the map, click here.](https://docs.artifactsmmo.com/concepts/maps_and_movement) You can start a fight using this API request. + +To start a fight, you must be on a map with a monster. [To learn more about the map, click here.](https://docs.artifactsmmo.com/concepts/maps_and_movement) +You can start a fight using this API request. ```http filename="cURL" copy curl --location --request POST 'https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/fight' \ @@ -250,67 +274,113 @@ curl --location --request POST 'https://api.artifactsmmo.com/my/INSERT_CHARACTER --header 'Authorization: Bearer INSERT_TOKEN_HERE' ``` ```js filename="Javascript" copy -var myHeaders = new Headers(); -myHeaders.append("Accept", "application/json"); -myHeaders.append("Content-Type", "application/json"); -myHeaders.append("Authorization", "Bearer INSERT_TOKEN_HERE"); - -var requestOptions = { - method: 'POST', - headers: myHeaders, - redirect: 'follow' +const url = 'https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/fight'; +const options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + Authorization: 'Bearer INSERT_TOKEN_HERE' + }, }; - -fetch("https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/fight", requestOptions) - .then(response => response.text()) - .then(result => console.log(result)) - .catch(error => console.log('error', error)); + +try { + const response = await fetch(url, options); + const data = await response.json(); + console.log(data); +} catch (error) { + console.error(error); +} +``` + +You can fight with up to 2 other of **YOUR characters** against boss-type monsters. +To do this, all your characters must be on the boss's map and you must add their names in the payload. + + +```http filename="cURL" copy +curl --location --request POST 'https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/fight' \ +--header 'Accept: application/json' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer INSERT_TOKEN_HERE' +--data '{ + "participants": ["Character2","Character3"] +}' +``` +```js filename="Javascript" copy +const url = 'https://api.artifactsmmo.com/my/INSERT_CHARACTER_NAME/action/fight'; +const options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + Authorization: 'Bearer INSERT_TOKEN_HERE' + }, + body: '{"participants":["Character2","Character3"]}' +}; + +try { + const response = await fetch(url, options); + const data = await response.json(); + console.log(data); +} catch (error) { + console.error(error); +} ``` -[View the API Reference](https://api.artifactsmmo.com/docs/#/operations/get_monster_monsters__code__get) +[View the API Reference](https://api.artifactsmmo.com/docs/#/operations/action_fight_my__name__action_fight_post) ## Experience to level Here's the table showing the experience required to level up. -| Level | XP Required | -|-------|-------------| -| 1 | 150 | -| 2 | 250 | -| 3 | 350 | -| 4 | 450 | -| 5 | 700 | -| 6 | 950 | -| 7 | 1200 | -| 8 | 1450 | -| 9 | 1700 | -| 10 | 2100 | -| 11 | 2500 | -| 12 | 2900 | -| 13 | 3300 | -| 14 | 3700 | -| 15 | 4400 | -| 16 | 5100 | -| 17 | 5800 | -| 18 | 6500 | -| 19 | 7200 | -| 20 | 8200 | -| 21 | 9200 | -| 22 | 10200 | -| 23 | 11200 | -| 24 | 12200 | -| 25 | 13400 | -| 26 | 14600 | -| 27 | 15800 | -| 28 | 17000 | -| 29 | 18200 | -| 30 | 19700 | -| 31 | 21200 | -| 32 | 22700 | -| 33 | 24200 | -| 34 | 25700 | -| 35 | 27200 | -| 36 | 28700 | -| 37 | 30500 | -| 38 | 32300 | -| 39 | 34100 | -| 40 | 35900 | +| Level | XP Total | +|-------|----------| +| 1 | 150 | +| 2 | 250 | +| 3 | 350 | +| 4 | 450 | +| 5 | 700 | +| 6 | 950 | +| 7 | 1200 | +| 8 | 1450 | +| 9 | 1850 | +| 10 | 2250 | +| 11 | 2650 | +| 12 | 3050 | +| 13 | 3450 | +| 14 | 4150 | +| 15 | 4850 | +| 16 | 5550 | +| 17 | 6250 | +| 18 | 6950 | +| 19 | 7950 | +| 20 | 8950 | +| 21 | 9950 | +| 22 | 10950 | +| 23 | 11950 | +| 24 | 13150 | +| 25 | 14350 | +| 26 | 15550 | +| 27 | 16750 | +| 28 | 17950 | +| 29 | 19450 | +| 30 | 20950 | +| 31 | 22450 | +| 32 | 23950 | +| 33 | 25450 | +| 34 | 27250 | +| 35 | 29050 | +| 36 | 30850 | +| 37 | 32650 | +| 38 | 34450 | +| 39 | 36550 | +| 40 | 38650 | +| 41 | 40750 | +| 42 | 42850 | +| 43 | 44950 | +| 44 | 46750 | +| 45 | 48550 | +| 46 | 50350 | +| 47 | 52150 | +| 48 | 53950 | +| 49 | 55750 | +| 50 | 57550 | \ No newline at end of file diff --git a/pages/concepts/tasks.mdx b/pages/concepts/tasks.mdx index 968baa9..ff57021 100644 --- a/pages/concepts/tasks.mdx +++ b/pages/concepts/tasks.mdx @@ -7,7 +7,7 @@ Tasks coins can be exchanged at all Tasks Masters. For 6 coins, you can get a ra You can check your objective and its progress directly on your character by using this [request](https://api.artifactsmmo.com/docs/#/operations/get_character_characters__name__get). - + ## Tasks You can use this GET request to view the list of all existing tasks. diff --git a/pages/index.mdx b/pages/index.mdx index 4d62cd0..071ffad 100644 --- a/pages/index.mdx +++ b/pages/index.mdx @@ -23,16 +23,15 @@ If you want to get started quickly, check out our [Quickstart Guide](/quickstart Have questions, want to share your projects, or provide feedback? Join our [Discord community](https://discord.gg/prEBQ8a6Vs)! -## Season 5 is now available - -![New season](https://artifactsmmo.com/images/docs/season_msg_s5.png) +## Season 6 is now available + +![New season](https://muigetsuvb.github.io/artifacts-devblog/intro.png) This season introduces new features and content: -- **NPCs Traders:** NPCs traders now populate the world, offering new opportunities for item exchange. -- **New Events:** Corruption has invaded the world of Artifacts, affecting many monsters and adding unique challenges. -- **Item/Gold Transfers:** You can give items or gold to your other characters, as long as both characters are on the same map. -- **Updated Gathering Tools:** They now require specific skill levels rather than combat levels. -- **New Content:** 5 new levels, over 40 new items, 4 new monsters, and much more! +- **New map system:** A new map system with pathfinding and a layer-based world structure +- **Multi-character fight:** Fight bosses with up to 3 of your characters at the same time. +- **Content Expansion:** Explore Sandwhisper Isle, the new content expansion for Artifacts that lets you level up to 50: new resources, new monsters, new bosses, and plenty of mysteries. +- **New Members/Founders Feature:** Combat Simulator lets you test and optimize your strategies, and Event Tokens now allow you to spawn events. Read the full [patch notes](https://docs.artifactsmmo.com/resources/updates) for all the details. @@ -52,7 +51,7 @@ Artifacts is currently in alpha and under active development, with new features Alpha 4 introduces the following features: - Elemental combat system (fire, air, water, earth) -- 45 levels of combat and skills +- 50 levels of combat and skills - 8 skills: Mining, Woodcutting, Cooking, Alchemy, Gearcrafting, Weaponcrafting, Jewelrycrafting - Grand Exchange for trading items with other players - Banking system @@ -60,7 +59,7 @@ Alpha 4 introduces the following features: - A dynamic tasks system for earning exclusive items - Achievements system -Currently, the game features **over 380 items, 35 monsters, 250+ crafting recipes, and 357 maps**. +Currently, the game features **over 450 items, 45 monsters, 300+ crafting recipes, and 400 maps**. A game client with a built-in JavaScript editor is also available, making it easy to experiment and discover the game in the best possible conditions. diff --git a/pages/members/_meta.json b/pages/members/_meta.json new file mode 100644 index 0000000..c59833c --- /dev/null +++ b/pages/members/_meta.json @@ -0,0 +1,8 @@ +{ + "event_tokens": "Event Tokens", + "fight_simulator": "Fight Simulator", + "sandbox_server": "Sandbox Server", + "test_server": "Test Server", + "websockets": "WebSockets", + "webhooks": "Webhooks" + } \ No newline at end of file diff --git a/pages/members/event_tokens.mdx b/pages/members/event_tokens.mdx new file mode 100644 index 0000000..7ab40f6 --- /dev/null +++ b/pages/members/event_tokens.mdx @@ -0,0 +1,58 @@ +import { Callout } from 'nextra/components' + +# Event Tokens + + +Event Tokens is a feature reserved for members. If you are a founder, you have access to this feature until the game launches. + + +Event Tokens are a currency reserved for members that allows you to trigger an event of your choice for all players. +This feature is still in development, but currently, each founder account receives 3 tokens per month, for a total of 12 tokens during the season. + +**For season 6:** +| Date | Tokens | +|-------------------|-----------| +| October 4, 2025 | 3 tokens | +| November 4, 2025 | 3 tokens | +| December 4, 2025 | 3 tokens | +| January 4, 2026 | 3 tokens | + +If you become a founder during the season, you will receive all the tokens you should have received. +The number of tokens you have during a season is limited, so use **them only when absolutely necessary.** + +You can spawn an event using this POST request. + + +```http filename="cURL" copy +curl --request POST \ + --url https://api.artifactsmmo.com/events/spawn \ + --header 'Accept: application/json' \ + --header 'Authorization: Bearer INSERT_YOUR_TOKEN_HERE' \ + --header 'Content-Type: application/json' \ + --data '{ + "code": "string" +}' +``` +```js filename="Javascript" copy +const url = 'https://api.artifactsmmo.com/events/spawn'; +const options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + Authorization: 'Bearer INSERT_YOUR_TOKEN_HERE' + }, + body: '{"code":"string"} + +}; + +try { + const response = await fetch(url, options); + const data = await response.json(); + console.log(data); +} catch (error) { + console.error(error); +} +``` +[View the API Reference](https://api.artifactsmmo.com/docs/#/operations/spawn_event_events_spawn_post) + diff --git a/pages/members/fight_simulator.mdx b/pages/members/fight_simulator.mdx new file mode 100644 index 0000000..e8e64ce --- /dev/null +++ b/pages/members/fight_simulator.mdx @@ -0,0 +1,69 @@ +import { Callout } from 'nextra/components' + +# Fight Simulator + + +Fight Simulator is a feature reserved for members. If you are a founder, you have access to this feature until the game launches. + + +The Fight Simulator allows you to simulate solo or group battles against a monster. It can be used [via an interface by clicking here](https://simulator.artifactsmmo.com) or directly with the API. + +You can use this POST request to use the simulator. + + +```http filename="cURL" copy +curl --request POST \ + --url https://api.artifactsmmo.com/simulation/fight_simulation \ + --header 'Accept: application/json' \ + --header 'Authorization: Bearer INSERT_YOUR_TOKEN_HERE' \ + --header 'Content-Type: application/json' \ + --data '{ + "characters": [ + { + "level": 1, + "weapon_slot": "string", + "rune_slot": "string", + "shield_slot": "string", + "helmet_slot": "string", + "body_armor_slot": "string", + "leg_armor_slot": "string", + "boots_slot": "string", + "ring1_slot": "string", + "ring2_slot": "string", + "amulet_slot": "string", + "artifact1_slot": "string", + "artifact2_slot": "string", + "artifact3_slot": "string", + "utility1_slot": "string", + "utility1_slot_quantity": 1, + "utility2_slot": "string", + "utility2_slot_quantity": 1 + } + ], + "monster": "MONSTER_CODE", + "iterations": 1 +}' +``` +```js filename="Javascript" copy +const url = 'https://api.artifactsmmo.com/simulation/fight_simulation'; +const options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + Authorization: 'Bearer INSERT_YOUR_TOKEN_HERE' + }, + body: '{"characters":[{"level":1,"weapon_slot":"string","rune_slot":"string","shield_slot":"string","helmet_slot":"string","body_armor_slot":"string","leg_armor_slot":"string","boots_slot":"string","ring1_slot":"string","ring2_slot":"string","amulet_slot":"string","artifact1_slot":"string","artifact2_slot":"string","artifact3_slot":"string","utility1_slot":"string","utility1_slot_quantity":1,"utility2_slot":"string","utility2_slot_quantity":1}],"monster":"MONSTER_CODE","iterations":1}' + +}; + +try { + const response = await fetch(url, options); + const data = await response.json(); + console.log(data); +} catch (error) { + console.error(error); +} +``` +[View the API Reference](https://api.artifactsmmo.com/docs/#/operations/fight_simulation_simulation_fight_simulation_post) + diff --git a/pages/members/sandbox_server.mdx b/pages/members/sandbox_server.mdx new file mode 100644 index 0000000..324c4ad --- /dev/null +++ b/pages/members/sandbox_server.mdx @@ -0,0 +1,9 @@ +import { Callout } from 'nextra/components' + +# Sandbox Server + + +Sandbox Server is a feature reserved for members. If you are a founder, you have access to this feature until the game launches. + + +This server will be deployed in the coming months. diff --git a/pages/members/test_server.mdx b/pages/members/test_server.mdx new file mode 100644 index 0000000..794a4d2 --- /dev/null +++ b/pages/members/test_server.mdx @@ -0,0 +1,34 @@ +import { Callout } from 'nextra/components' + +# Test Server + + +Test Server is a feature reserved for members. If you are a founder, you have access to this feature until the game launches. + + +The test server is a temporary server that allows you to test the new Artifacts season before its official release, usually about a week before the season launches. + +The encyclopedia, public API, and documentation **are available for free to everyone**. However, to connect to the server and use the sandbox features, you must be a member. + +The test server for **Season 6** will be available starting **September 13**. + + +| Server | URL | +|--------------|-------------------| +| API server | https://api-test.artifactsmmo.com/ | +| API Documentation | https://api-test.artifactsmmo.com/docs/#/ | +| Websockets server | wss://realtime-test.artifactsmmo.com (New notifications not available yet) | +| Documentation | https://docs-test.artifactsmmo.com/ | +| Site/Encyclopedia | https://site-test.artifactsmmo.com/ | +| Fight Simulator | https://simulator.artifactsmmo.com/ | + + +It is highly recommended to join [the Discord server](https://discord.gg/prEBQ8a6Vs) to connect with the community and report bugs. + + +## Sandbox features +Sandbox features are enabled on the test server, allowing you to: + * [Give Gold](https://api-test.artifactsmmo.com/docs/#/operations/give_gold_sandbox_give_gold_post) + * [Give Item](https://api-test.artifactsmmo.com/docs/#/operations/give_item_sandbox_give_item_post) + * [Give XP](https://api-test.artifactsmmo.com/docs/#/operations/give_xp_sandbox_give_xp_post) + * [Spawn Event](https://api-test.artifactsmmo.com/docs/#/operations/spawn_event_sandbox_spawn_event_post) diff --git a/pages/others/webhooks.mdx b/pages/members/webhooks.mdx similarity index 52% rename from pages/others/webhooks.mdx rename to pages/members/webhooks.mdx index 1ef3bc9..d3ff5b5 100644 --- a/pages/others/webhooks.mdx +++ b/pages/members/webhooks.mdx @@ -3,7 +3,7 @@ import { Callout } from 'nextra/components' # Webhooks -Webhooks is a feature reserved for founder members and, in the future, for subscribers. +Webhooks is a feature reserved for members. If you are a founder, you have access to this feature until the game launches. - + Webhooks are not yet available. \ No newline at end of file diff --git a/pages/others/websockets.mdx b/pages/members/websockets.mdx similarity index 90% rename from pages/others/websockets.mdx rename to pages/members/websockets.mdx index 82a37f2..41e2fb3 100644 --- a/pages/others/websockets.mdx +++ b/pages/members/websockets.mdx @@ -3,9 +3,9 @@ import { Callout } from 'nextra/components' # WebSockets -WebSockets is a feature reserved for founder members and, in the future, for subscribers. +WebSockets is a feature reserved for members. If you are a founder, you have access to this feature until the game launches. - + WebSockets allow you to receive real-time notifications from the server. **Notifications supported:** @@ -15,7 +15,10 @@ WebSockets allow you to receive real-time notifications from the server. | Event removed|event_removed| Events |Server| Send `ActiveEventSchema` when an event expires and is removed. | | Grand Exchange new order |grandexchange_neworder | Grand Exchange|Server| Send `GEOrderSchema` when a sales order is created on the Grand Exchange | | Grand Exchange sell |grandexchange_sell | Grand Exchange|Server| Send `GeOrderHistorySchema` when a sale is made on the Grand Exchange. | +| Online characters |online_characters | Characters|Server| Send `array[ActiveCharacterSchema]` every 10 minutes with the list of online characters. | +| Announcement |announcement | Announcements|Server| Sends `{"message": "string"}` when a new announcement is published. | | Achievement unlock |achievement_unlocked | Achievements|Account| Send `AchievementSchema` when an achievement is unlocked on your account. | +| Account log |account_log | Logs|Account| Send `LogSchema` every time an action is performed on one of the characters in your account. | | Test |test | Test|Test| Send Test message every 60 seconds. | diff --git a/pages/others/_meta.json b/pages/others/_meta.json deleted file mode 100644 index 3d1c7ab..0000000 --- a/pages/others/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "websockets": "WebSockets", - "webhooks": "Webhooks" - } \ No newline at end of file diff --git a/pages/quickstart/crafting.mdx b/pages/quickstart/crafting.mdx index 2202677..5f850dd 100644 --- a/pages/quickstart/crafting.mdx +++ b/pages/quickstart/crafting.mdx @@ -3,7 +3,7 @@ import { Callout } from 'nextra/components' ## Unequip your weapon The other item required for crafting is **your current weapon**, the **Wooden Stick**. You can now unequip it and use it for crafting. - + To unequip, use this request POST. ```http filename="cURL" copy diff --git a/pages/quickstart/first_fight.mdx b/pages/quickstart/first_fight.mdx index 5465f7d..72fbf94 100644 --- a/pages/quickstart/first_fight.mdx +++ b/pages/quickstart/first_fight.mdx @@ -3,7 +3,7 @@ import { Callout } from 'nextra/components' # Your first fight Now that you're on the map, you're ready to fight the chicken. - + ![Chicken](https://artifactsmmo.com/images/docs/chicken.png) As you can see, the monster is weak, with only 60 hit points and 4 water attack. If you look at your stats, you have 4 earth damage from the weapon your character equips by default. You can view the weapon in the "Equipment" tab. diff --git a/pages/quickstart/hp_recovery.mdx b/pages/quickstart/hp_recovery.mdx index 1f29eba..59fe7ea 100644 --- a/pages/quickstart/hp_recovery.mdx +++ b/pages/quickstart/hp_recovery.mdx @@ -3,7 +3,7 @@ When you finish a fight, you need to recover your hit points when you lose them. ![HP Recovery](https://artifactsmmo.com/images/docs/hp_recovery.png) - + The easiest way to do this is to rest. To do this, you can execute this POST request when your combat cooldown is over. diff --git a/pages/quickstart/introduction.mdx b/pages/quickstart/introduction.mdx index 0bbdaf7..7948ca8 100644 --- a/pages/quickstart/introduction.mdx +++ b/pages/quickstart/introduction.mdx @@ -60,7 +60,7 @@ To move, you'll need to know the coordinates of the map you want to move your ch If you look at (0,1) on the map, you'll find the chicken. A low-level monster that's easy enough to kill when you start the game. We're going to fight him. ![Chicken](https://artifactsmmo.com/images/docs/chicken.png) - + By default, your character spawns in position (0,0) on the map. To move him, you'll need to make your first POST request. We'll show you examples in cURL and Javascript in the guide, but you can send API requests directly from your browser and see examples in other programming languages in the [API Reference](https://api.artifactsmmo.com/docs/#/operations/action_move_my__name__action_move_post). diff --git a/pages/quickstart/new_mission.mdx b/pages/quickstart/new_mission.mdx index c6065da..03e60c3 100644 --- a/pages/quickstart/new_mission.mdx +++ b/pages/quickstart/new_mission.mdx @@ -14,7 +14,7 @@ If you click on **Ash Wood**, you'll be able to see all the crafts you can do wi ![tree2](https://artifactsmmo.com/images/docs/ash_tree2.png) The craft we're going to make is **Wooden Staff.** Most other equipment that uses wood will need to be transformed into a plank before being used in a craft. - + Before gathering woods, you'll need to move to the map (-1,0) using the same POST request. ```http filename="cURL" copy diff --git a/pages/quickstart/the_end.mdx b/pages/quickstart/the_end.mdx index d2daafa..9ed4d2a 100644 --- a/pages/quickstart/the_end.mdx +++ b/pages/quickstart/the_end.mdx @@ -23,4 +23,4 @@ Examples (better examples soon): Artifacts is an Alpha game, with many things to come very soon. If you have any questions or want to talk with other players, here's [our Discord](https://discord.gg/tysrGjVrCU). -Have fun \ No newline at end of file +Have fun \ No newline at end of file diff --git a/pages/resources/_meta.json b/pages/resources/_meta.json index e8acfff..bae3fc1 100644 --- a/pages/resources/_meta.json +++ b/pages/resources/_meta.json @@ -1,4 +1,4 @@ { "updates": "Updates", "images": "Images" - } \ No newline at end of file + } \ No newline at end of file diff --git a/pages/resources/images.mdx b/pages/resources/images.mdx index bcf1207..b59b0cd 100644 --- a/pages/resources/images.mdx +++ b/pages/resources/images.mdx @@ -16,4 +16,4 @@ If you want to develop a visual interface, Artifacts makes available all the ima - \ No newline at end of file + \ No newline at end of file diff --git a/pages/resources/updates.mdx b/pages/resources/updates.mdx index 47d0dab..8c959e0 100644 --- a/pages/resources/updates.mdx +++ b/pages/resources/updates.mdx @@ -1,3 +1,92 @@ +## Update 04/10/25: Season 6 (Preliminary) + +Here's the patch notes for Season 6. + + +**Maps** +- Maps now have a `map_id` which represents a unique identifier for each map. +- Maps now have an `access` type: standard, teleportation, conditional or blocked. + | Type | Description | + | --- | --- | + | Standard | Normal access | + | Teleportation | Only accessible via a teleportation potion (not currently used) | + | Conditional | Only accessible if access conditions are met (not currently used) | + | Blocked | Inaccessible map, represents an obstacle | +- New A* pathfinding system. The cooldown is 5 seconds per map, but obstacles (blocked maps) are now taken into account when calculating the route. +- New layer system (3 layers currently available: underground, overworld and interior). +- The `/maps/{x}/{y}` endpoint has been replaced by `/maps/{layer}/{x}/{y}` +- New endpoint `/maps/id/{map_id}` +- New endpoint `/maps/{layer}` +- Added the `hide_blocked_maps` parameter to remove blocked maps from the search results on the `/maps` and `/maps/layer` endpoints +- Added the `/my/{name}/action/transition` endpoint which allows moving to another map in the same layer or to a different layer. Primarily used for boats, doors, caves, etc. + + +**Characters** +- Maximum level increased to 50. +- New stat: Initiative (affects turn order in combat). Initiative determines the turn order in combat. The character or monster with the highest initiative acts first, followed by the others in descending order of initiative. +- New stat: Threat (affects monster targeting in multi-characters combat). Threat determines which character a monster will target in combat. The character with the highest threat will be targeted in priority + +**Accounts** +- Added `event_token` to the `MyAccountDetails` schema. + +**Crafting** +- XP gained from crafting has been increased to make progression smoother. +- XP gained for cooking has been decreased by aproximately 50%. + + +**Fights** +- New multi-character combat system. You can now fight with up to 3 characters at the same time. Only for boss-type monsters. +- Added optional `participants` payload in the `/my/{name}/action/fight` endpoint. Add the names of your other characters in this array to include them in boss fights. +- Turn order is now determined by initiative. In case of a tie, the character/monster with the most HP acts first. If they also have the same amount of HP, turn order is determined randomly. +- New effects: + | Effect | Description | + | --- | --- | + | Healing Aura | Every 2 played turns, they heal all allies for x% of their maximum HP. This effect does not heal the caster. | + | Vampiric Strike | After landing a critical hit, they heal the ally with the lowest HP for x% of the damage dealt. Can only trigger once every 3 turns. This effect does not heal the caster. | + | Frenzy | Each time they land a critical hit, they give x% damage to themselves and their allies until the end of their next turn. | + | Shell | When they drop below 40% of their HP, they gain x% resistance to all elements for 3 turns. Activates once per combat. This effect is only active during boss fights. | + | Guard | If one or more allies have less than 50% of their HP, protects the ally with the lowest HP percentage, redirecting x% of their damage to this character until the start of my next turn. Activates a maximum of 3 times per combat. | + | Void Drain | Every 4 turns, Drains x% HP from each enemy to heal themselves. | + | Barrier | At the start of the fight and every 5 played turns, gain a protective barrier of xHP. All attacks are redirected to this barrier until it is destroyed. | + +**Simulation** +- New Combat Simulator feature for members/founders. Test and optimize your strategies against any monster in the game. Available via the endpoint `/simulation/fight_simulation` or through the interface https://simulator.artifactsmmo.com/. + +**Event Tokens** +- New Event Tokens feature for members/founders. Each founder account receives 3 tokens per month, for a total of 12 tokens during the season. Event Tokens allow you to trigger an event of your choice for all players. Currently only available via the API `/events/spawn` + +**Items** +- Added 72 new items. +- Rebalanced numerous items (stats, crafting). + +**Monsters** +- 9 new monsters: + - King Slime (Boss) : Level 15 + - Cultist Alchemist : Level 40 + - Sand Snake : Level 44 + - Sea Marauder : Level 45 + - Dusk Beetle : Level 47 + - Duskworm (Boss): Level 48 + - Sandwarden : Level 50 + - Desert Scorpion : Level 50 + - Sandwhisper Empress (Boss): Level 55 +- Monsters now have initiative. Initiative determines the turn order in combat. The character or monster with the highest initiative acts first, followed by the others in descending order of initiative. + +**Resources** +- 4 new resources: + - Torch Cactus (Alchemy) : Lvl 50 + - Swordfish Spot (Fishing) : Lvl 50 + - Palm Tree (Woodcutting) : Lvl 50 + - Adamantite Rocks (Mining) : Lvl 50 + + +**NPC** +- 1 new NPC: + - Sandwshiper Trader: Trades various items for sandwshiper coins. + + + + ## Update 29/06/25: Season 5 Here's the patch notes for Season 5. diff --git a/pages/roadmap.mdx b/pages/roadmap.mdx index 7530d0d..8e9b587 100644 --- a/pages/roadmap.mdx +++ b/pages/roadmap.mdx @@ -5,42 +5,21 @@ import Image from 'next/image' # Roadmap -Here's the roadmap to 2025 and beyond, with features scheduled for beta launch. - -![Roadmap](https://artifactsmmo.com/images/docs/roadmap.png) - -## Combat System - -**PHASE 1** -- ~~New Equipment Stats~~ -- ~~New Critical Strike System~~ -- ~~New Monster Effects System: A system enabling new mechanics for bosses and high-level monsters, such as poison, life regeneration, buffs, or burns. These effects will roll out progressively throughout the year, with the first ones launching this winter.~~ -- ~~New Rune System: Each character will be able to equip a rune that alters the functionality of their weapon. For example, you could steal life from your enemy with every critical hit or apply a burn effect. Runes will be added gradually over the year, with the first ones arriving this winter.~~ - -**PHASE 2** -- The first dungeons and multi-character fights will make their debut. Alongside this, new utilities and runes designed for multi-character combat will be introduced. - -**PHASE 3** -- It’s time to find some bot friends because the first raid will launch, allowing you, for the first time, to team up with other players. - -## Others features - -There are also other features that will be implemented throughout the year. These features are not the main focus for this year, and plans may change. This is only indicative of what is currently planned. - -**HIGH PRIORITY** -- Client/site overhaul with in-game tutorial -- ~~Updated gathering system~~ (partly done, new system of conditions for tools) -- ~~NPC Vendors/sellers~~ - -**MEDIUM PRIORITY** -- Subscription features -- Equipment upgrades -- Equipment sets -- Buy orders (Grand Exchange) - -**LOW PRIORITY** -- Mailbox -- Competition/PVP -- Game content - -The roadmap includes just the main lines, of course, but there are other, more minor features in the pipeline. \ No newline at end of file +**Artifacts** is scheduled to launch in early 2026 with its version 1. +Here is the planned roadmap until the end of the year. + +## Planned for Launch: +- New web game client +- Finalization of the website +- Update of the Artifacts map to fully integrate the new map system +- Achievement system update +- Economy update: + - Addition of buy offers in the Grand Exchange + - Dynamic pricing for resources sold/bought by NPCs +- Launch of the subscription system +- Launch of the permanent test server: **Artifacts Sandbox** +- Addition of webhooks + +## Future Features (this section will be updated in the future): +- Mount system to move faster on the map +- Multiplayer combat system (PVP, PVE) \ No newline at end of file