Tool tree
gradeNot graded
page: Every page
enemies_targets_listAnswer
List the custom targets the reader has made, with the id a fight names each one by (simulator.scenario.set with patch {enemy: id}).
View tool JSON
{
"name": "enemies_targets_list",
"kind": "answer",
"impl": "imperative",
"description": "List the custom targets the reader has made, with the id a fight names each one by (simulator.scenario.set with patch {enemy: id}).",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}enemies_target_newAction
Make a blank custom target — a plain humanoid, every number meant to be replaced — and open it.
View tool JSON
{
"name": "enemies_target_new",
"kind": "act",
"impl": "imperative",
"description": "Make a blank custom target — a plain humanoid, every number meant to be replaced — and open it.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}enemies_target_copyAction
Duplicate the open custom target and open the copy.
View tool JSON
{
"name": "enemies_target_copy",
"kind": "act",
"impl": "imperative",
"description": "Duplicate the open custom target and open the copy.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}enemies_target_openAction
Open a custom target for editing, by the id enemies.targets.list gives it or by its name.
View tool JSON
{
"name": "enemies_target_open",
"kind": "act",
"impl": "imperative",
"description": "Open a custom target for editing, by the id enemies.targets.list gives it or by its name.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "the target's id, or its name"
}
},
"required": [
"name"
]
},
"page": "/"
}enemies_target_setAction
Write fields of the open custom target: faction, scaling_faction, can_be_eximus, stats {base_level, health, shield, armor, overguard, affinity}, damage_modifiers (a column of multipliers by damage type, "faction" to start one from the faction's, or null for the faction's own), status_immunities (the types whose procs cannot land), body_parts [{name, multiplier, is_head, crit_bonus}].
View tool JSON
{
"name": "enemies_target_set",
"kind": "act",
"impl": "imperative",
"description": "Write fields of the open custom target: faction, scaling_faction, can_be_eximus, stats {base_level, health, shield, armor, overguard, affinity}, damage_modifiers (a column of multipliers by damage type, \"faction\" to start one from the faction's, or null for the faction's own), status_immunities (the types whose procs cannot land), body_parts [{name, multiplier, is_head, crit_bonus}].",
"inputSchema": {
"type": "object",
"properties": {
"faction": {
"type": "string",
"description": "faction id or unknown"
},
"scaling_faction": {
"type": "string",
"description": "how its level scales"
},
"can_be_eximus": {
"type": "boolean",
"description": "an Eximus variant exists"
},
"stats": {
"type": "object",
"description": "the numbers to change"
},
"damage_modifiers": {
"description": "an object of multipliers by damage type, \"faction\", or null"
},
"status_immunities": {
"type": "array",
"description": "damage type ids",
"items": {
"type": "object"
}
},
"body_parts": {
"type": "array",
"description": "every part, replacing the list; at least one",
"items": {
"type": "object"
}
}
},
"required": []
},
"page": "/"
}builder_forma_readAction
Read the Forma planner: its rules (catalyst, reach max rank, grant slot first, Omni and Umbra Forma use, a Forma limit), which saved builds are planned together with this one, and the board-reach analysis if it has been run.
View tool JSON
{
"name": "builder_forma_read",
"kind": "act",
"impl": "imperative",
"description": "Read the Forma planner: its rules (catalyst, reach max rank, grant slot first, Omni and Umbra Forma use, a Forma limit), which saved builds are planned together with this one, and the board-reach analysis if it has been run.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_forma_rulesAction
Change the Forma planner's rules — this browser's, for every build — which the Forma plan and the reach both obey. forma_limit is a whole number or null.
View tool JSON
{
"name": "builder_forma_rules",
"kind": "act",
"impl": "imperative",
"description": "Change the Forma planner's rules — this browser's, for every build — which the Forma plan and the reach both obey. forma_limit is a whole number or null.",
"inputSchema": {
"type": "object",
"properties": {
"catalyst": {
"type": "boolean",
"description": "an Orokin Catalyst is installed"
},
"reach_max_rank": {
"type": "boolean",
"description": "every mod reaches its max rank"
},
"grant_slot_first": {
"type": "boolean",
"description": "fill the slot that grants capacity first"
},
"fixed_order": {
"type": "boolean",
"description": "no mod is moved: each slot's polarity serves what every build keeps there"
},
"omni_forma": {
"type": "string",
"description": "when Omni Forma may be used"
},
"umbra_forma": {
"type": "string",
"description": "when Umbra Forma may be used"
},
"forma_limit": {
"type": [
"number",
"null"
],
"description": "most Forma, or null for none"
}
},
"required": []
},
"page": "/"
}builder_forma_partnerAction
Plan another saved build of this weapon together with the open one (on=true) or stop — the Forma plan then fits both on one set of polarities.
View tool JSON
{
"name": "builder_forma_partner",
"kind": "act",
"impl": "imperative",
"description": "Plan another saved build of this weapon together with the open one (on=true) or stop — the Forma plan then fits both on one set of polarities.",
"inputSchema": {
"type": "object",
"properties": {
"build": {
"type": "string",
"description": "saved build id"
},
"on": {
"type": "boolean",
"description": "planned together"
}
},
"required": [
"build",
"on"
]
},
"page": "/"
}builder_reach_runAction
Work out what one polarity layout reaches across this weapon's board rulers, and what each extra Forma buys; optionally set the scope first. Returns the curve and, at the first point that meets the line, each ruler's best build that fits.
View tool JSON
{
"name": "builder_reach_run",
"kind": "act",
"impl": "imperative",
"description": "Work out what one polarity layout reaches across this weapon's board rulers, and what each extra Forma buys; optionally set the scope first. Returns the curve and, at the first point that meets the line, each ruler's best build that fits.",
"inputSchema": {
"type": "object",
"properties": {
"rulers": {
"type": "array",
"description": "ruler ids to cover; omit for every ruler with rows",
"items": {
"type": "object"
}
},
"riven": {
"type": "boolean",
"description": "count riven builds"
},
"planned_builds_must_fit": {
"type": "boolean",
"description": "the builds planned together must fit the layout too"
},
"line": {
"type": "number",
"description": "the share of each ruler's leader to reach, e.g. 0.8"
}
},
"required": []
},
"page": "/"
}builder_reach_markAction
Mark a point of the worked-out reach curve by its index, to read and apply that layout.
View tool JSON
{
"name": "builder_reach_mark",
"kind": "act",
"impl": "imperative",
"description": "Mark a point of the worked-out reach curve by its index, to read and apply that layout.",
"inputSchema": {
"type": "object",
"properties": {
"point": {
"type": "number",
"description": "point index"
}
},
"required": [
"point"
]
},
"page": "/"
}builder_reach_applyAction
Put the open build's slots on the marked point's polarities, as the planner's apply button does.
View tool JSON
{
"name": "builder_reach_apply",
"kind": "act",
"impl": "imperative",
"description": "Put the open build's slots on the marked point's polarities, as the planner's apply button does.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_reach_saveAction
Save a ruler's best-fitting build at the marked point as a build of its own, on that point's polarities.
View tool JSON
{
"name": "builder_reach_save",
"kind": "act",
"impl": "imperative",
"description": "Save a ruler's best-fitting build at the marked point as a build of its own, on that point's polarities.",
"inputSchema": {
"type": "object",
"properties": {
"ruler_index": {
"type": "number",
"description": "the ruler's index in the reach read"
}
},
"required": [
"ruler_index"
]
},
"page": "/"
}simulator_arena_readAnswer
Read the arena: where the player stands, the target (e1, the body the fight is scored against), every other body in the formation, where the player aims, and the gap to the target in metres. Coordinates are metres on the plane.
View tool JSON
{
"name": "simulator_arena_read",
"kind": "answer",
"impl": "imperative",
"description": "Read the arena: where the player stands, the target (e1, the body the fight is scored against), every other body in the formation, where the player aims, and the gap to the target in metres. Coordinates are metres on the plane.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_arena_distanceAction
Put the target this many metres from the player (the gap between them; 0 is contact, where both boards are scored).
View tool JSON
{
"name": "simulator_arena_distance",
"kind": "act",
"impl": "imperative",
"description": "Put the target this many metres from the player (the gap between them; 0 is contact, where both boards are scored).",
"inputSchema": {
"type": "object",
"properties": {
"meters": {
"type": "number",
"description": "gap in metres"
}
},
"required": [
"meters"
]
},
"page": "/"
}simulator_arena_addAction
Add bodies around the target, each of the fight's current enemy, in the first free places — the +1/+8 quick sets.
View tool JSON
{
"name": "simulator_arena_add",
"kind": "act",
"impl": "imperative",
"description": "Add bodies around the target, each of the fight's current enemy, in the first free places — the +1/+8 quick sets.",
"inputSchema": {
"type": "object",
"properties": {
"count": {
"type": "number",
"description": "bodies to add"
}
},
"required": [
"count"
]
},
"page": "/"
}simulator_arena_placeAction
Place one body of the fight's current enemy at a point (metres). Refused where it would overlap another body or the player, or when the floor is full.
View tool JSON
{
"name": "simulator_arena_place",
"kind": "act",
"impl": "imperative",
"description": "Place one body of the fight's current enemy at a point (metres). Refused where it would overlap another body or the player, or when the floor is full.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "metres"
},
"y": {
"type": "number",
"description": "metres"
}
},
"required": [
"x",
"y"
]
},
"page": "/"
}simulator_arena_removeAction
Remove one body from the formation by its id. The target (e1) cannot be removed.
View tool JSON
{
"name": "simulator_arena_remove",
"kind": "act",
"impl": "imperative",
"description": "Remove one body from the formation by its id. The target (e1) cannot be removed.",
"inputSchema": {
"type": "object",
"properties": {
"body": {
"type": "string",
"description": "body id"
}
},
"required": [
"body"
]
},
"page": "/"
}simulator_arena_resetAction
Back to one body, aimed at the target — the fight the boards are measured under.
View tool JSON
{
"name": "simulator_arena_reset",
"kind": "act",
"impl": "imperative",
"description": "Back to one body, aimed at the target — the fight the boards are measured under.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_arena_aimAction
Aim at a point (metres) — aiming is a direction, and the shot hits the first body it crosses — or omit x and y to aim at the target.
View tool JSON
{
"name": "simulator_arena_aim",
"kind": "act",
"impl": "imperative",
"description": "Aim at a point (metres) — aiming is a direction, and the shot hits the first body it crosses — or omit x and y to aim at the target.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "metres"
},
"y": {
"type": "number",
"description": "metres"
}
},
"required": []
},
"page": "/"
}simulator_auras_listAction
List the squad auras, which of them pay this weapon anything, which stack across the squad, and how many run each in this fight.
View tool JSON
{
"name": "simulator_auras_list",
"kind": "act",
"impl": "imperative",
"description": "List the squad auras, which of them pay this weapon anything, which stack across the squad, and how many run each in this fight.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_aura_setAction
Set how many of the squad run an aura (1 to 4 for one that stacks, else 1); 0 removes it. An aura is the fight's, never the build's.
View tool JSON
{
"name": "simulator_aura_set",
"kind": "act",
"impl": "imperative",
"description": "Set how many of the squad run an aura (1 to 4 for one that stacks, else 1); 0 removes it. An aura is the fight's, never the build's.",
"inputSchema": {
"type": "object",
"properties": {
"aura": {
"type": "string",
"description": "aura id"
},
"count": {
"type": "number",
"description": "players running it; 0 removes"
}
},
"required": [
"aura",
"count"
]
},
"page": "/"
}simulator_abilities_listAnswer
List the Warframe abilities that can run in the fight as buffs, with each one's value at the fight's ability strength, its element choices, whether it is on, and whether a stronger one of its kind supersedes it.
View tool JSON
{
"name": "simulator_abilities_list",
"kind": "answer",
"impl": "imperative",
"description": "List the Warframe abilities that can run in the fight as buffs, with each one's value at the fight's ability strength, its element choices, whether it is on, and whether a stronger one of its kind supersedes it.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_ability_setAction
Run a Warframe ability as a buff for the whole fight (on=true) or stop it; where it offers one, choose its element.
View tool JSON
{
"name": "simulator_ability_set",
"kind": "act",
"impl": "imperative",
"description": "Run a Warframe ability as a buff for the whole fight (on=true) or stop it; where it offers one, choose its element.",
"inputSchema": {
"type": "object",
"properties": {
"ability": {
"type": "string",
"description": "ability id"
},
"on": {
"type": "boolean",
"description": "running or not"
},
"element": {
"type": "string",
"description": "one of the ability's elements"
}
},
"required": [
"ability",
"on"
]
},
"page": "/"
}simulator_strength_setAction
Override the Warframe's Ability Strength for the fight, in percent as the arsenal shows it; every ability buff scales with it. Without an override the fight reads the linked Warframe build's.
View tool JSON
{
"name": "simulator_strength_set",
"kind": "act",
"impl": "imperative",
"description": "Override the Warframe's Ability Strength for the fight, in percent as the arsenal shows it; every ability buff scales with it. Without an override the fight reads the linked Warframe build's.",
"inputSchema": {
"type": "object",
"properties": {
"percent": {
"type": "number",
"description": "e.g. 250"
}
},
"required": [
"percent"
]
},
"page": "/"
}simulator_nodes_listAnswer
List the linked Operator's conditional Focus nodes — each one's id, what it does, its state (off, on = assumed up by the Operator build, sim = the fight's action list performs it) and whether the fight can simulate it.
View tool JSON
{
"name": "simulator_nodes_list",
"kind": "answer",
"impl": "imperative",
"description": "List the linked Operator's conditional Focus nodes — each one's id, what it does, its state (off, on = assumed up by the Operator build, sim = the fight's action list performs it) and whether the fight can simulate it.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_node_simulateAction
Have the fight's action list perform an Operator node's action (simulated=true), or stop (false) — the node is then earned in the fight rather than assumed. Only a node simulator.nodes.list marks simulatable. Whether a node is assumed up is the reader's Operator build and not on the door.
View tool JSON
{
"name": "simulator_node_simulate",
"kind": "act",
"impl": "imperative",
"description": "Have the fight's action list perform an Operator node's action (simulated=true), or stop (false) — the node is then earned in the fight rather than assumed. Only a node simulator.nodes.list marks simulatable. Whether a node is assumed up is the reader's Operator build and not on the door.",
"inputSchema": {
"type": "object",
"properties": {
"node": {
"type": "string",
"description": "the node's id"
},
"simulated": {
"type": "boolean",
"description": "true = the fight performs it"
}
},
"required": [
"node",
"simulated"
]
},
"page": "/"
}simulator_triggers_listAction
List the buff triggers the fight can switch off (a buff whose trigger is off never fires, though the run still does the action), by group, with which are off.
View tool JSON
{
"name": "simulator_triggers_list",
"kind": "act",
"impl": "imperative",
"description": "List the buff triggers the fight can switch off (a buff whose trigger is off never fires, though the run still does the action), by group, with which are off.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_trigger_setAction
Switch a buff trigger off (off=true) or back on, or a whole group of them by the group's id.
View tool JSON
{
"name": "simulator_trigger_set",
"kind": "act",
"impl": "imperative",
"description": "Switch a buff trigger off (off=true) or back on, or a whole group of them by the group's id.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "trigger id or group id"
},
"off": {
"type": "boolean",
"description": "true = buffs from it do not fire"
}
},
"required": [
"id",
"off"
]
},
"page": "/"
}simulator_extra_setAction
Set one of the fight's own stat bonuses — what the weapon is handed by something outside its build (a squad buff, another weapon's arcane). A percentage stat takes `percent` (into the same bucket a mod of that stat feeds); final_crit_damage (a multiplier, e.g. 1.6) and the two flat base damages (a number) take `value`. 0 or null clears it.
View tool JSON
{
"name": "simulator_extra_set",
"kind": "act",
"impl": "imperative",
"description": "Set one of the fight's own stat bonuses — what the weapon is handed by something outside its build (a squad buff, another weapon's arcane). A percentage stat takes `percent` (into the same bucket a mod of that stat feeds); final_crit_damage (a multiplier, e.g. 1.6) and the two flat base damages (a number) take `value`. 0 or null clears it.",
"inputSchema": {
"type": "object",
"properties": {
"stat": {
"type": "string",
"description": "which stat"
},
"percent": {
"type": [
"number",
"null"
],
"description": "for a percentage stat: e.g. 30 for +30%"
},
"value": {
"type": [
"number",
"null"
],
"description": "for final_crit_damage (a multiplier, e.g. 1.6) or a flat base damage (a number)"
}
},
"required": [
"stat"
]
},
"page": "/"
}simulator_rules_listAnswer
List the per-class rules a fight may make — what the simulator simplifies for a whole weapon class — with each one's default and this fight's value.
View tool JSON
{
"name": "simulator_rules_list",
"kind": "answer",
"impl": "imperative",
"description": "List the per-class rules a fight may make — what the simulator simplifies for a whole weapon class — with each one's default and this fight's value.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_rule_setAction
Set a per-class rule for this fight, or null to fall back to the default. Only the pairs simulator.rules.list gives exist.
View tool JSON
{
"name": "simulator_rule_set",
"kind": "act",
"impl": "imperative",
"description": "Set a per-class rule for this fight, or null to fall back to the default. Only the pairs simulator.rules.list gives exist.",
"inputSchema": {
"type": "object",
"properties": {
"class": {
"type": "string",
"description": "weapon class"
},
"rule": {
"type": "string",
"description": "the axis"
},
"value": {
"type": [
"boolean",
"number",
"null"
],
"description": "true/false or a number; null clears"
}
},
"required": [
"class",
"rule",
"value"
]
},
"page": "/"
}optimizer_plan_readAnswer
Read the build search: its starts (each a build, with the positions fixed in its answer), its limits (what it may not use per axis — `card@rank` is one rank of a card — and how full it fills) how many builds it answers with and how many fights each candidate gets. Everything the limits leave is a candidate.
View tool JSON
{
"name": "optimizer_plan_read",
"kind": "answer",
"impl": "imperative",
"description": "Read the build search: its starts (each a build, with the positions fixed in its answer), its limits (what it may not use per axis — `card@rank` is one rank of a card — and how full it fills) how many builds it answers with and how many fights each candidate gets. Everything the limits leave is a candidate.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}optimizer_plan_limitAction
Exclude an option from the search, or take it back: a mod as the builder lists it (`card@rank` for one rank of an every-rank card), an arcane, an evolution, a mode or a valence element. Nothing is excluded by default; the last mode or element cannot be.
View tool JSON
{
"name": "optimizer_plan_limit",
"kind": "act",
"impl": "imperative",
"description": "Exclude an option from the search, or take it back: a mod as the builder lists it (`card@rank` for one rank of an every-rank card), an arcane, an evolution, a mode or a valence element. Nothing is excluded by default; the last mode or element cannot be.",
"inputSchema": {
"type": "object",
"properties": {
"axis": {
"type": "string",
"description": "which axis"
},
"id": {
"type": "string",
"description": "the option's id"
},
"excluded": {
"type": "boolean",
"description": "true excludes it, false takes it back"
}
},
"required": [
"axis",
"id",
"excluded"
]
},
"page": "/"
}optimizer_plan_fillAction
Set how full the search fills: at most `mods` cards (0-8), whether the exilus is filled, and whether arcane seat `seat` (0-based) is filled.
View tool JSON
{
"name": "optimizer_plan_fill",
"kind": "act",
"impl": "imperative",
"description": "Set how full the search fills: at most `mods` cards (0-8), whether the exilus is filled, and whether arcane seat `seat` (0-based) is filled.",
"inputSchema": {
"type": "object",
"properties": {
"mods": {
"type": "number",
"description": "the most cards a build holds"
},
"exilus": {
"type": "boolean",
"description": "fill the exilus"
},
"seat": {
"type": "number",
"description": "an arcane seat, with `filled`"
},
"filled": {
"type": "boolean",
"description": "fill that arcane seat"
}
},
"required": []
},
"page": "/"
}optimizer_plan_setAction
Set how many builds the search answers with (the best N it scored, 1-100) and how many fights each candidate gets while the search compares them (1 or 10).
View tool JSON
{
"name": "optimizer_plan_set",
"kind": "act",
"impl": "imperative",
"description": "Set how many builds the search answers with (the best N it scored, 1-100) and how many fights each candidate gets while the search compares them (1 or 10).",
"inputSchema": {
"type": "object",
"properties": {
"finalists": {
"type": "number",
"description": "how many builds the search answers with"
},
"candidate_runs": {
"type": "number",
"description": "1 or 10 fights a candidate"
}
},
"required": []
},
"page": "/"
}rivens_cards_listAction
List the rivens saved for this weapon's family, with the id builder.mod.set seats each one by.
View tool JSON
{
"name": "rivens_cards_list",
"kind": "act",
"impl": "imperative",
"description": "List the rivens saved for this weapon's family, with the id builder.mod.set seats each one by.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}rivens_stats_listAnswer
List the stats a riven for this weapon can roll, which can be the malus, which are modelled, and which are spliced (at most one a card).
View tool JSON
{
"name": "rivens_stats_list",
"kind": "answer",
"impl": "imperative",
"description": "List the stats a riven for this weapon can roll, which can be the malus, which are modelled, and which are spliced (at most one a card).",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}rivens_card_newAction
Make a blank riven for this weapon's family and open it for editing.
View tool JSON
{
"name": "rivens_card_new",
"kind": "act",
"impl": "imperative",
"description": "Make a blank riven for this weapon's family and open it for editing.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}rivens_card_copyAction
Duplicate the open riven and open the copy.
View tool JSON
{
"name": "rivens_card_copy",
"kind": "act",
"impl": "imperative",
"description": "Duplicate the open riven and open the copy.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}rivens_card_openAction
Open a saved riven for editing, by the id rivens.cards.list gives.
View tool JSON
{
"name": "rivens_card_open",
"kind": "act",
"impl": "imperative",
"description": "Open a saved riven for editing, by the id rivens.cards.list gives.",
"inputSchema": {
"type": "object",
"properties": {
"riven": {
"type": "string",
"description": "riven id"
}
},
"required": [
"riven"
]
},
"page": "/"
}rivens_card_setAction
Write the open riven whole: its shape, each bonus and the malus by stat id with either the value printed on the card or a roll (0.9 to 1.1), its rank and polarity. Returns what the engine made of it — printed values, generated name, anything illegal.
View tool JSON
{
"name": "rivens_card_set",
"kind": "act",
"impl": "imperative",
"description": "Write the open riven whole: its shape, each bonus and the malus by stat id with either the value printed on the card or a roll (0.9 to 1.1), its rank and polarity. Returns what the engine made of it — printed values, generated name, anything illegal.",
"inputSchema": {
"type": "object",
"properties": {
"shape": {
"type": "string",
"description": "e.g. \"3+1\" (three bonuses and a malus) or \"2+0\""
},
"bonuses": {
"type": "array",
"description": "[{stat, value} or {stat, roll}], one per bonus",
"items": {
"type": "object"
}
},
"malus": {
"type": [
"object",
"null"
],
"description": "{stat, value} or {stat, roll}; omit or null when the shape has none"
},
"rank": {
"type": "number",
"description": "defaults to the maximum"
},
"polarity": {
"type": "string",
"description": "madurai, vazarin or naramon"
}
},
"required": [
"shape",
"bonuses"
]
},
"page": "/"
}builder_wielders_listAction
List who can hold this weapon: the Warframes allowed, each with the builds saved for it, and whether the unmodded Prototype (the board's floor) is allowed.
View tool JSON
{
"name": "builder_wielders_list",
"kind": "act",
"impl": "imperative",
"description": "List who can hold this weapon: the Warframes allowed, each with the builds saved for it, and whether the unmodded Prototype (the board's floor) is allowed.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_wielder_setAction
Choose who holds the weapon: a Warframe unmodded, a Warframe with one of its saved builds, or frame=null for the Prototype. The wielder's abilities and stats change the weapon's numbers.
View tool JSON
{
"name": "builder_wielder_set",
"kind": "act",
"impl": "imperative",
"description": "Choose who holds the weapon: a Warframe unmodded, a Warframe with one of its saved builds, or frame=null for the Prototype. The wielder's abilities and stats change the weapon's numbers.",
"inputSchema": {
"type": "object",
"properties": {
"frame": {
"type": [
"string",
"null"
],
"description": "Warframe id, or null for the Prototype"
},
"build": {
"type": "string",
"description": "one of that frame's saved build ids"
}
},
"required": [
"frame"
]
},
"page": "/"
}builder_parts_listAction
List a Kitgun's grips and loaders, with the pair installed now; read their numbers with builder.stats.read after installing.
View tool JSON
{
"name": "builder_parts_list",
"kind": "act",
"impl": "imperative",
"description": "List a Kitgun's grips and loaders, with the pair installed now; read their numbers with builder.stats.read after installing.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_part_setAction
Swap a Kitgun's grip or loader. The chamber is the weapon itself; the other slot's version of the same chamber is another weapon id (builder.weapon.set).
View tool JSON
{
"name": "builder_part_set",
"kind": "act",
"impl": "imperative",
"description": "Swap a Kitgun's grip or loader. The chamber is the weapon itself; the other slot's version of the same chamber is another weapon id (builder.weapon.set).",
"inputSchema": {
"type": "object",
"properties": {
"part": {
"type": "string",
"description": "grip or loader"
},
"id": {
"type": "string",
"description": "the part's id"
}
},
"required": [
"part",
"id"
]
},
"page": "/"
}optimizer_search_startAction
Start a build search with the optimizer's current scope against the current fight. Returns at once; a search takes minutes — read its progress with optimizer.search.read.
View tool JSON
{
"name": "optimizer_search_start",
"kind": "act",
"impl": "imperative",
"description": "Start a build search with the optimizer's current scope against the current fight. Returns at once; a search takes minutes — read its progress with optimizer.search.read.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}optimizer_search_readAnswer
Read the build search: while it runs, how far along it is; once done, the ranked builds — each with the starts that settled on it (`from_starts`), or the answer it is nearest to and what differs (`near`).
View tool JSON
{
"name": "optimizer_search_read",
"kind": "answer",
"impl": "imperative",
"description": "Read the build search: while it runs, how far along it is; once done, the ranked builds — each with the starts that settled on it (`from_starts`), or the answer it is nearest to and what differs (`near`).",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "ranked builds to return, default 5"
}
},
"required": []
},
"page": "/"
}optimizer_search_stopAction
Stop the running build search. What it has ranked so far is kept.
View tool JSON
{
"name": "optimizer_search_stop",
"kind": "act",
"impl": "imperative",
"description": "Stop the running build search. What it has ranked so far is kept.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}optimizer_result_saveAction
Save a ranked build from the last search as a new build preset (named opt N). Open it with shell.preset.open to measure it in the simulator.
View tool JSON
{
"name": "optimizer_result_save",
"kind": "act",
"impl": "imperative",
"description": "Save a ranked build from the last search as a new build preset (named opt N). Open it with shell.preset.open to measure it in the simulator.",
"inputSchema": {
"type": "object",
"properties": {
"rank": {
"type": "number",
"description": "the row's rank"
}
},
"required": [
"rank"
]
},
"page": "/"
}shell_presets_listAction
List the saved builds or fight scenarios for this weapon, which one is open, and which are read-only (benchmarks).
View tool JSON
{
"name": "shell_presets_list",
"kind": "act",
"impl": "imperative",
"description": "List the saved builds or fight scenarios for this weapon, which one is open, and which are read-only (benchmarks).",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar"
}
},
"required": [
"bar"
]
},
"page": "/"
}shell_preset_openAction
Open a saved build or scenario by the id presets.list gives.
View tool JSON
{
"name": "shell_preset_open",
"kind": "act",
"impl": "imperative",
"description": "Open a saved build or scenario by the id presets.list gives.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar"
},
"preset": {
"type": "string",
"description": "preset id"
}
},
"required": [
"bar",
"preset"
]
},
"page": "/"
}shell_preset_newAction
Start a new blank build or scenario and open it; the one open before is kept as it was.
View tool JSON
{
"name": "shell_preset_new",
"kind": "act",
"impl": "imperative",
"description": "Start a new blank build or scenario and open it; the one open before is kept as it was.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar"
}
},
"required": [
"bar"
]
},
"page": "/"
}shell_preset_readAction
Read what a saved build holds — its mods, arcanes, evolutions and mode — by the id presets.list gives; the open one is read as it is on screen.
View tool JSON
{
"name": "shell_preset_read",
"kind": "act",
"impl": "imperative",
"description": "Read what a saved build holds — its mods, arcanes, evolutions and mode — by the id presets.list gives; the open one is read as it is on screen.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar"
},
"preset": {
"type": "string",
"description": "preset id"
}
},
"required": [
"bar",
"preset"
]
},
"page": "/"
}shell_preset_undoAction
Undo the last change to a bar's documents — the build, the scenario, the search or the riven — or redo it with redo=true.
View tool JSON
{
"name": "shell_preset_undo",
"kind": "act",
"impl": "imperative",
"description": "Undo the last change to a bar's documents — the build, the scenario, the search or the riven — or redo it with redo=true.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which history"
},
"redo": {
"type": "boolean",
"description": "redo instead of undo"
}
},
"required": [
"bar"
]
},
"page": "/"
}shell_preset_copyAction
Duplicate the open build or scenario and open the copy — the way to try changes without touching the reader's own.
View tool JSON
{
"name": "shell_preset_copy",
"kind": "act",
"impl": "imperative",
"description": "Duplicate the open build or scenario and open the copy — the way to try changes without touching the reader's own.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar"
}
},
"required": [
"bar"
]
},
"page": "/"
}simulator_result_sendAction
Add the build the shown simulated fight measured — as it was when that run was sent, not as its preset stands now — to the optimizer's starts, and open the optimizer.
View tool JSON
{
"name": "simulator_result_send",
"kind": "act",
"impl": "imperative",
"description": "Add the build the shown simulated fight measured — as it was when that run was sent, not as its preset stands now — to the optimizer's starts, and open the optimizer.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_result_readAction
Read the last simulated fight for this build: the headline and whether it is still this build's, kills, time to kill, crit and headshot rates, and which damage sources dealt what share.
View tool JSON
{
"name": "simulator_result_read",
"kind": "act",
"impl": "imperative",
"description": "Read the last simulated fight for this build: the headline and whether it is still this build's, kills, time to kill, crit and headshot rates, and which damage sources dealt what share.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_mods_findAction
Find mods this weapon can seat, by name or effect; with a slot, only the ones that slot takes.
View tool JSON
{
"name": "builder_mods_find",
"kind": "act",
"impl": "imperative",
"description": "Find mods this weapon can seat, by name or effect; with a slot, only the ones that slot takes.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "name or effect words, in any language the page speaks"
},
"limit": {
"type": "number",
"description": "rows to return, default 12"
},
"slot": {
"type": [
"string",
"integer"
],
"description": "0-7, or \"exilus\" / \"stance\""
}
},
"required": []
},
"page": "/"
}builder_arcanes_findAction
Find the arcanes a seat of this weapon takes.
View tool JSON
{
"name": "builder_arcanes_find",
"kind": "act",
"impl": "imperative",
"description": "Find the arcanes a seat of this weapon takes.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "name or effect words, in any language the page speaks"
},
"limit": {
"type": "number",
"description": "rows to return, default 12"
},
"seat": {
"type": "number",
"description": "arcane seat, default 0"
}
},
"required": []
},
"page": "/"
}builder_evolutions_listAction
List this weapon's Incarnon evolution tiers, their options, and which one each tier holds.
View tool JSON
{
"name": "builder_evolutions_list",
"kind": "act",
"impl": "imperative",
"description": "List this weapon's Incarnon evolution tiers, their options, and which one each tier holds.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_modes_listAction
List how this weapon can be played, and why a mode is unavailable where it is.
View tool JSON
{
"name": "builder_modes_list",
"kind": "act",
"impl": "imperative",
"description": "List how this weapon can be played, and why a mode is unavailable where it is.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_enemies_findAction
Find targets for the fight by name, in any language the page speaks.
View tool JSON
{
"name": "simulator_enemies_find",
"kind": "act",
"impl": "imperative",
"description": "Find targets for the fight by name, in any language the page speaks.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "name or effect words, in any language the page speaks"
},
"limit": {
"type": "number",
"description": "rows to return, default 12"
}
},
"required": [
"query"
]
},
"page": "/"
}shell_module_openAction
Open a module of the page, optionally on another weapon.
View tool JSON
{
"name": "shell_module_open",
"kind": "act",
"impl": "imperative",
"description": "Open a module of the page, optionally on another weapon.",
"inputSchema": {
"type": "object",
"properties": {
"module": {
"type": "string",
"description": "which module"
},
"weapon": {
"type": "string",
"description": "weapon id; defaults to the one already open"
}
},
"required": [
"module"
]
},
"page": "/"
}builder_weapon_setAction
Switch the builder to another weapon. Its own presets and fight come with it.
View tool JSON
{
"name": "builder_weapon_set",
"kind": "act",
"impl": "imperative",
"description": "Switch the builder to another weapon. Its own presets and fight come with it.",
"inputSchema": {
"type": "object",
"properties": {
"weapon": {
"type": "string",
"description": "weapon id"
}
},
"required": [
"weapon"
]
},
"page": "/"
}builder_mod_setAction
Seat a mod in a slot, or empty the slot with mod=null. A mod already seated elsewhere is exchanged with this slot, as it is when a reader picks it.
View tool JSON
{
"name": "builder_mod_set",
"kind": "act",
"impl": "imperative",
"description": "Seat a mod in a slot, or empty the slot with mod=null. A mod already seated elsewhere is exchanged with this slot, as it is when a reader picks it.",
"inputSchema": {
"type": "object",
"properties": {
"slot": {
"type": [
"string",
"integer"
],
"description": "0-7, or \"exilus\" / \"stance\""
},
"mod": {
"type": [
"string",
"null"
],
"description": "mod id, or null to empty the slot"
},
"rank": {
"type": "number",
"description": "defaults to the mod's maximum"
}
},
"required": [
"slot",
"mod"
]
},
"page": "/"
}builder_mods_clearAction
Empty every mod slot, leaving the weapon bare.
View tool JSON
{
"name": "builder_mods_clear",
"kind": "act",
"impl": "imperative",
"description": "Empty every mod slot, leaving the weapon bare.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_polarity_setAction
Set a slot's polarity, or remove it with polarity=null. The mod in the slot stays.
View tool JSON
{
"name": "builder_polarity_set",
"kind": "act",
"impl": "imperative",
"description": "Set a slot's polarity, or remove it with polarity=null. The mod in the slot stays.",
"inputSchema": {
"type": "object",
"properties": {
"slot": {
"type": [
"string",
"integer"
],
"description": "0-7, or \"exilus\" / \"stance\""
},
"polarity": {
"type": [
"string",
"null"
],
"description": "polarity, or null"
}
},
"required": [
"slot",
"polarity"
]
},
"page": "/"
}builder_forma_planAction
Re-polarize the slots for the fewest Forma that fit the seated mods, as the auto button does.
View tool JSON
{
"name": "builder_forma_plan",
"kind": "act",
"impl": "imperative",
"description": "Re-polarize the slots for the fewest Forma that fit the seated mods, as the auto button does.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}builder_arcane_setAction
Seat an arcane, or empty the seat with arcane=null. Only arcanes this weapon's seat takes are accepted.
View tool JSON
{
"name": "builder_arcane_set",
"kind": "act",
"impl": "imperative",
"description": "Seat an arcane, or empty the seat with arcane=null. Only arcanes this weapon's seat takes are accepted.",
"inputSchema": {
"type": "object",
"properties": {
"seat": {
"type": "number",
"description": "arcane seat, 0 unless the weapon has two"
},
"arcane": {
"type": [
"string",
"null"
],
"description": "arcane id, or null"
},
"rank": {
"type": "number",
"description": "defaults to the arcane's maximum"
}
},
"required": [
"seat",
"arcane"
]
},
"page": "/"
}builder_evolution_setAction
Install an Incarnon evolution in a tier. Every tier always holds one, so this swaps it.
View tool JSON
{
"name": "builder_evolution_set",
"kind": "act",
"impl": "imperative",
"description": "Install an Incarnon evolution in a tier. Every tier always holds one, so this swaps it.",
"inputSchema": {
"type": "object",
"properties": {
"tier": {
"type": "number",
"description": "evolution tier"
},
"evolution": {
"type": "string",
"description": "evolution id"
}
},
"required": [
"tier",
"evolution"
]
},
"page": "/"
}builder_mode_setAction
Choose how the build is played — the weapon's firing mode or form.
View tool JSON
{
"name": "builder_mode_set",
"kind": "act",
"impl": "imperative",
"description": "Choose how the build is played — the weapon's firing mode or form.",
"inputSchema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"description": "mode id"
}
},
"required": [
"mode"
]
},
"page": "/"
}builder_valence_setAction
An adversary weapon's valence: its element and its bonus as a fraction of base damage (clamped to what a Lich can roll).
View tool JSON
{
"name": "builder_valence_set",
"kind": "act",
"impl": "imperative",
"description": "An adversary weapon's valence: its element and its bonus as a fraction of base damage (clamped to what a Lich can roll).",
"inputSchema": {
"type": "object",
"properties": {
"element": {
"type": "string",
"description": "element"
},
"bonus": {
"type": "number",
"description": "e.g. 0.6 for 60%"
}
},
"required": []
},
"page": "/"
}simulator_scenario_setAction
Change fields of the fight — the enemy, its level, the duration, the metric. Fields that are not a single value (the formation, the buffs) have their own editors and are refused here.
View tool JSON
{
"name": "simulator_scenario_set",
"kind": "act",
"impl": "imperative",
"description": "Change fields of the fight — the enemy, its level, the duration, the metric. Fields that are not a single value (the formation, the buffs) have their own editors and are refused here.",
"inputSchema": {
"type": "object",
"properties": {
"patch": {
"type": "object",
"description": "fight fields to set"
}
},
"required": [
"patch"
]
},
"page": "/"
}simulator_runs_setAction
How many times the simulator replays the fight. A preference of this browser, not part of the fight.
View tool JSON
{
"name": "simulator_runs_set",
"kind": "act",
"impl": "imperative",
"description": "How many times the simulator replays the fight. A preference of this browser, not part of the fight.",
"inputSchema": {
"type": "object",
"properties": {
"runs": {
"type": "number",
"description": "replays per measurement"
}
},
"required": [
"runs"
]
},
"page": "/"
}simulator_run_startAction
Run the fight and return the headline number. Takes as long as the reader's own run takes.
View tool JSON
{
"name": "simulator_run_start",
"kind": "act",
"impl": "imperative",
"description": "Run the fight and return the headline number. Takes as long as the reader's own run takes.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_shapley_partsAnswer
List the parts of the open build a Shapley analysis can switch off, with the key each is chosen by and whether it is chosen now.
View tool JSON
{
"name": "simulator_shapley_parts",
"kind": "answer",
"impl": "imperative",
"description": "List the parts of the open build a Shapley analysis can switch off, with the key each is chosen by and whether it is chosen now.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_shapley_runAction
Run the Shapley analysis on the current fight: every subset of the chosen parts is simulated, and each part's equivalent multiplier, its take-it-out and alone effects, and every pair's interaction come back in log space. 2^k fights, so it can take minutes.
View tool JSON
{
"name": "simulator_shapley_run",
"kind": "act",
"impl": "imperative",
"description": "Run the Shapley analysis on the current fight: every subset of the chosen parts is simulated, and each part's equivalent multiplier, its take-it-out and alone effects, and every pair's interaction come back in log space. 2^k fights, so it can take minutes.",
"inputSchema": {
"type": "object",
"properties": {
"parts": {
"type": "string",
"description": "comma-separated keys from simulator.shapley.parts; omitted keeps the current choice"
},
"runs": {
"type": "number",
"description": "runs per subset; omitted keeps the reader's"
}
},
"required": []
},
"page": "/"
}simulator_roster_readAnswer
Read who is firing: the open build as seat 1, and every other seat the fight holds as a weapon and the preset of it that is acting.
View tool JSON
{
"name": "simulator_roster_read",
"kind": "answer",
"impl": "imperative",
"description": "Read who is firing: the open build as seat 1, and every other seat the fight holds as a weapon and the preset of it that is acting.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}simulator_roster_addAction
Put another gun in the fight — a squadmate, a companion or a summon. It acts on its own clock with its own build, and the result reports each seat separately. Omit preset for the weapon unmodded.
View tool JSON
{
"name": "simulator_roster_add",
"kind": "act",
"impl": "imperative",
"description": "Put another gun in the fight — a squadmate, a companion or a summon. It acts on its own clock with its own build, and the result reports each seat separately. Omit preset for the weapon unmodded.",
"inputSchema": {
"type": "object",
"properties": {
"weapon": {
"type": "string",
"description": "weapon id"
},
"preset": {
"type": "string",
"description": "a saved build of that weapon, by name"
}
},
"required": [
"weapon"
]
},
"page": "/"
}simulator_roster_removeAction
Take one seat out of the fight, by its number. Seat 1 is the open build and cannot be removed.
View tool JSON
{
"name": "simulator_roster_remove",
"kind": "act",
"impl": "imperative",
"description": "Take one seat out of the fight, by its number. Seat 1 is the open build and cannot be removed.",
"inputSchema": {
"type": "object",
"properties": {
"seat": {
"type": "number",
"description": "seat number, as roster.read reports it"
}
},
"required": [
"seat"
]
},
"page": "/"
}builder_weapons_findAction
Find weapons by name, in any language WFSim speaks.
View tool JSON
{
"name": "builder_weapons_find",
"kind": "act",
"impl": "imperative",
"description": "Find weapons by name, in any language WFSim speaks.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "name words, in any language WFSim speaks"
},
"limit": {
"type": "number",
"description": "rows to return, default 12"
}
},
"required": [
"query"
]
},
"page": "/"
}builder_board_readAction
Read a weapon's leaderboard: the measured best builds per ruler (the benchmark fight), mode, and with or without a riven, ranked. Each row carries the link that opens it, and a riven-free row its `build`, which the stats read takes. A row's key opens it with shell.preset.open (bar "build").
View tool JSON
{
"name": "builder_board_read",
"kind": "act",
"impl": "imperative",
"description": "Read a weapon's leaderboard: the measured best builds per ruler (the benchmark fight), mode, and with or without a riven, ranked. Each row carries the link that opens it, and a riven-free row its `build`, which the stats read takes. A row's key opens it with shell.preset.open (bar \"build\").",
"inputSchema": {
"type": "object",
"properties": {
"weapon": {
"type": "string",
"description": "weapon id; on the page, the one open when omitted"
},
"riven": {
"type": "string",
"description": "\"without\" (default), \"with\" or \"any\""
},
"mode": {
"type": "string",
"description": "only this mode id"
},
"limit": {
"type": "number",
"description": "rows per group, default 3"
},
"distinct": {
"type": "boolean",
"description": "one row per place, its preferred build; `limit` counts places"
},
"pooled": {
"type": "boolean",
"description": "rank a ruler's modes together"
}
},
"required": []
},
"page": "/"
}builder_stats_readAnswer
Read the stats panel for a build: every stat per form and part, base and final, with the mod each change came from, and what the weapon's model does not cover.
View tool JSON
{
"name": "builder_stats_read",
"kind": "answer",
"impl": "imperative",
"description": "Read the stats panel for a build: every stat per form and part, base and final, with the mod each change came from, and what the weapon's model does not cover.",
"inputSchema": {
"type": "object",
"properties": {
"build": {
"type": "object",
"description": "the build: {weapon, mods: [mod ids], arcane: [arcane ids], evolutions: [ids], mode} — a board row's `build` is one; on the page, the one on screen when omitted"
}
},
"required": []
},
"page": "/"
}builder_rivens_readAction
The Riven Analyst: each riven the board measured for a weapon, its best score against the #1 riven-free build of the same ruler and mode — what the riven is worth. Only submitted rivens appear.
View tool JSON
{
"name": "builder_rivens_read",
"kind": "act",
"impl": "imperative",
"description": "The Riven Analyst: each riven the board measured for a weapon, its best score against the #1 riven-free build of the same ruler and mode — what the riven is worth. Only submitted rivens appear.",
"inputSchema": {
"type": "object",
"properties": {
"weapon": {
"type": "string",
"description": "weapon id; on the page, the one open when omitted"
},
"ruler": {
"type": "string",
"description": "only this benchmark id"
},
"mode": {
"type": "string",
"description": "only this mode id"
},
"bonuses": {
"type": "array",
"description": "stat ids each riven has as bonuses",
"items": {
"type": "object"
}
},
"malus": {
"type": "string",
"description": "the malus: a stat id, \"any\" or \"none\""
},
"pooled": {
"type": "boolean",
"description": "a ruler's modes as one ranking"
}
},
"required": []
},
"page": "/"
}shell_method_readAnswer
How WFSim judges a build: each rule, why it holds, how to apply it, and the readings behind it. Read it before comparing builds or explaining why one is better.
View tool JSON
{
"name": "shell_method_read",
"kind": "answer",
"impl": "imperative",
"description": "How WFSim judges a build: each rule, why it holds, how to apply it, and the readings behind it. Read it before comparing builds or explaining why one is better.",
"inputSchema": {
"type": "object",
"properties": {
"concept": {
"type": "string",
"description": "one rule's id; every rule when omitted"
}
},
"required": []
},
"page": "/"
}enemies_target_setAction
Write fields of the open custom target: faction, scaling_faction, can_be_eximus, stats {base_level, health, shield, armor, overguard, affinity}, damage_modifiers (a column of multipliers by damage type, "faction" to start one from the faction's, or null for the faction's own), status_immunities (the types whose procs cannot land), body_parts [{name, multiplier, is_head, crit_bonus}].
View tool JSON
{
"name": "enemies_target_set",
"kind": "act",
"impl": "imperative",
"description": "Write fields of the open custom target: faction, scaling_faction, can_be_eximus, stats {base_level, health, shield, armor, overguard, affinity}, damage_modifiers (a column of multipliers by damage type, \"faction\" to start one from the faction's, or null for the faction's own), status_immunities (the types whose procs cannot land), body_parts [{name, multiplier, is_head, crit_bonus}].",
"inputSchema": {
"type": "object",
"properties": {
"faction": {
"type": "string",
"description": "faction id or unknown"
},
"scaling_faction": {
"type": "string",
"description": "how its level scales",
"enum": [
"grineer",
"corpus",
"infested",
"corrupted",
"unaffiliated"
]
},
"can_be_eximus": {
"type": "boolean",
"description": "an Eximus variant exists"
},
"stats": {
"type": "object",
"description": "the numbers to change"
},
"damage_modifiers": {
"description": "an object of multipliers by damage type, \"faction\", or null"
},
"status_immunities": {
"type": "array",
"description": "damage type ids",
"items": {
"type": "object"
}
},
"body_parts": {
"type": "array",
"description": "every part, replacing the list; at least one",
"items": {
"type": "object"
}
}
},
"required": []
},
"page": "/"
}builder_forma_rulesAction
Change the Forma planner's rules — this browser's, for every build — which the Forma plan and the reach both obey. forma_limit is a whole number or null.
View tool JSON
{
"name": "builder_forma_rules",
"kind": "act",
"impl": "imperative",
"description": "Change the Forma planner's rules — this browser's, for every build — which the Forma plan and the reach both obey. forma_limit is a whole number or null.",
"inputSchema": {
"type": "object",
"properties": {
"catalyst": {
"type": "boolean",
"description": "an Orokin Catalyst is installed"
},
"reach_max_rank": {
"type": "boolean",
"description": "every mod reaches its max rank"
},
"grant_slot_first": {
"type": "boolean",
"description": "fill the slot that grants capacity first"
},
"fixed_order": {
"type": "boolean",
"description": "no mod is moved: each slot's polarity serves what every build keeps there"
},
"omni_forma": {
"type": "string",
"description": "when Omni Forma may be used",
"enum": [
"never",
"allowed",
"preferred"
]
},
"umbra_forma": {
"type": "string",
"description": "when Umbra Forma may be used",
"enum": [
"never",
"when_needed",
"allowed"
]
},
"forma_limit": {
"type": [
"number",
"null"
],
"description": "most Forma, or null for none"
}
},
"required": []
},
"page": "/"
}simulator_extra_setAction
Set one of the fight's own stat bonuses — what the weapon is handed by something outside its build (a squad buff, another weapon's arcane). A percentage stat takes `percent` (into the same bucket a mod of that stat feeds); final_crit_damage (a multiplier, e.g. 1.6) and the two flat base damages (a number) take `value`. 0 or null clears it.
View tool JSON
{
"name": "simulator_extra_set",
"kind": "act",
"impl": "imperative",
"description": "Set one of the fight's own stat bonuses — what the weapon is handed by something outside its build (a squad buff, another weapon's arcane). A percentage stat takes `percent` (into the same bucket a mod of that stat feeds); final_crit_damage (a multiplier, e.g. 1.6) and the two flat base damages (a number) take `value`. 0 or null clears it.",
"inputSchema": {
"type": "object",
"properties": {
"stat": {
"type": "string",
"description": "which stat",
"enum": [
"base_damage",
"multishot",
"crit_chance",
"crit_damage",
"status_chance",
"status_damage",
"fire_rate",
"reload_speed",
"magazine",
"ammo_efficiency",
"status_duration",
"flat_crit_chance",
"final_crit_damage",
"flat_base_damage_co",
"flat_base_damage"
]
},
"percent": {
"type": [
"number",
"null"
],
"description": "for a percentage stat: e.g. 30 for +30%"
},
"value": {
"type": [
"number",
"null"
],
"description": "for final_crit_damage (a multiplier, e.g. 1.6) or a flat base damage (a number)"
}
},
"required": [
"stat"
]
},
"page": "/"
}optimizer_plan_limitAction
Exclude an option from the search, or take it back: a mod as the builder lists it (`card@rank` for one rank of an every-rank card), an arcane, an evolution, a mode or a valence element. Nothing is excluded by default; the last mode or element cannot be.
View tool JSON
{
"name": "optimizer_plan_limit",
"kind": "act",
"impl": "imperative",
"description": "Exclude an option from the search, or take it back: a mod as the builder lists it (`card@rank` for one rank of an every-rank card), an arcane, an evolution, a mode or a valence element. Nothing is excluded by default; the last mode or element cannot be.",
"inputSchema": {
"type": "object",
"properties": {
"axis": {
"type": "string",
"description": "which axis",
"enum": [
"mods",
"arcanes",
"evolutions",
"modes",
"valence"
]
},
"id": {
"type": "string",
"description": "the option's id"
},
"excluded": {
"type": "boolean",
"description": "true excludes it, false takes it back"
}
},
"required": [
"axis",
"id",
"excluded"
]
},
"page": "/"
}rivens_card_setAction
Write the open riven whole: its shape, each bonus and the malus by stat id with either the value printed on the card or a roll (0.9 to 1.1), its rank and polarity. Returns what the engine made of it — printed values, generated name, anything illegal.
View tool JSON
{
"name": "rivens_card_set",
"kind": "act",
"impl": "imperative",
"description": "Write the open riven whole: its shape, each bonus and the malus by stat id with either the value printed on the card or a roll (0.9 to 1.1), its rank and polarity. Returns what the engine made of it — printed values, generated name, anything illegal.",
"inputSchema": {
"type": "object",
"properties": {
"shape": {
"type": "string",
"description": "e.g. \"3+1\" (three bonuses and a malus) or \"2+0\"",
"enum": [
"3+1",
"3",
"2+1",
"2"
]
},
"bonuses": {
"type": "array",
"description": "[{stat, value} or {stat, roll}], one per bonus",
"items": {
"type": "object"
}
},
"malus": {
"type": [
"object",
"null"
],
"description": "{stat, value} or {stat, roll}; omit or null when the shape has none"
},
"rank": {
"type": "number",
"description": "defaults to the maximum"
},
"polarity": {
"type": "string",
"description": "madurai, vazarin or naramon"
}
},
"required": [
"shape",
"bonuses"
]
},
"page": "/"
}builder_part_setAction
Swap a Kitgun's grip or loader. The chamber is the weapon itself; the other slot's version of the same chamber is another weapon id (builder.weapon.set).
View tool JSON
{
"name": "builder_part_set",
"kind": "act",
"impl": "imperative",
"description": "Swap a Kitgun's grip or loader. The chamber is the weapon itself; the other slot's version of the same chamber is another weapon id (builder.weapon.set).",
"inputSchema": {
"type": "object",
"properties": {
"part": {
"type": "string",
"description": "grip or loader",
"enum": [
"grip",
"loader"
]
},
"id": {
"type": "string",
"description": "the part's id"
}
},
"required": [
"part",
"id"
]
},
"page": "/"
}shell_presets_listAction
List the saved builds or fight scenarios for this weapon, which one is open, and which are read-only (benchmarks).
View tool JSON
{
"name": "shell_presets_list",
"kind": "act",
"impl": "imperative",
"description": "List the saved builds or fight scenarios for this weapon, which one is open, and which are read-only (benchmarks).",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar",
"enum": [
"build",
"scenario",
"search"
]
}
},
"required": [
"bar"
]
},
"page": "/"
}shell_preset_openAction
Open a saved build or scenario by the id presets.list gives.
View tool JSON
{
"name": "shell_preset_open",
"kind": "act",
"impl": "imperative",
"description": "Open a saved build or scenario by the id presets.list gives.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar",
"enum": [
"build",
"scenario",
"search"
]
},
"preset": {
"type": "string",
"description": "preset id"
}
},
"required": [
"bar",
"preset"
]
},
"page": "/"
}shell_preset_newAction
Start a new blank build or scenario and open it; the one open before is kept as it was.
View tool JSON
{
"name": "shell_preset_new",
"kind": "act",
"impl": "imperative",
"description": "Start a new blank build or scenario and open it; the one open before is kept as it was.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar",
"enum": [
"build",
"scenario",
"search"
]
}
},
"required": [
"bar"
]
},
"page": "/"
}shell_preset_readAction
Read what a saved build holds — its mods, arcanes, evolutions and mode — by the id presets.list gives; the open one is read as it is on screen.
View tool JSON
{
"name": "shell_preset_read",
"kind": "act",
"impl": "imperative",
"description": "Read what a saved build holds — its mods, arcanes, evolutions and mode — by the id presets.list gives; the open one is read as it is on screen.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar",
"enum": [
"build"
]
},
"preset": {
"type": "string",
"description": "preset id"
}
},
"required": [
"bar",
"preset"
]
},
"page": "/"
}shell_preset_undoAction
Undo the last change to a bar's documents — the build, the scenario, the search or the riven — or redo it with redo=true.
View tool JSON
{
"name": "shell_preset_undo",
"kind": "act",
"impl": "imperative",
"description": "Undo the last change to a bar's documents — the build, the scenario, the search or the riven — or redo it with redo=true.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which history",
"enum": [
"build",
"scenario",
"search",
"riven"
]
},
"redo": {
"type": "boolean",
"description": "redo instead of undo"
}
},
"required": [
"bar"
]
},
"page": "/"
}shell_preset_copyAction
Duplicate the open build or scenario and open the copy — the way to try changes without touching the reader's own.
View tool JSON
{
"name": "shell_preset_copy",
"kind": "act",
"impl": "imperative",
"description": "Duplicate the open build or scenario and open the copy — the way to try changes without touching the reader's own.",
"inputSchema": {
"type": "object",
"properties": {
"bar": {
"type": "string",
"description": "which bar",
"enum": [
"build",
"scenario",
"search"
]
}
},
"required": [
"bar"
]
},
"page": "/"
}shell_module_openAction
Open a module of the page, optionally on another weapon.
View tool JSON
{
"name": "shell_module_open",
"kind": "act",
"impl": "imperative",
"description": "Open a module of the page, optionally on another weapon.",
"inputSchema": {
"type": "object",
"properties": {
"module": {
"type": "string",
"description": "which module",
"enum": [
"builder",
"simulator",
"optimizer",
"rivens",
"enemies",
"home"
]
},
"weapon": {
"type": "string",
"description": "weapon id; defaults to the one already open",
"enum": [
"arbucep",
"cortege",
"corvas",
"corvas_prime",
"cyngas",
"dual_decurion",
"fluctus",
"grattler",
"imperator",
"imperator_vandal",
"kuva_ayanga",
"kuva_grattler",
"larkspur",
"larkspur_prime",
"mandonel",
"mausolon",
"morgha",
"phaedra",
"prisma_dual_decurions",
"velocitus",
"garuda_prime_talons",
"garuda_talons",
"shattered_lash",
"valkyr_talons",
"ack_and_brunt",
"amanata",
"amphis",
"anku",
"ankyros",
"ankyros_prime",
"arca_titron",
"argo_and_vel",
"arum_spinosa",
"atterax",
"azothane",
"bo",
"bo_prime",
"boltace",
"broken_scepter",
"broken_war",
"cadus",
"cassowar",
"caustacyst",
"ceramic_dagger",
"cerata",
"ceti_lacera",
"cobra_and_crane",
"cobra_and_crane_prime",
"coda_caustacyst",
"coda_hirudo",
"coda_mire",
"coda_motovore",
"coda_pathocyst",
"corufell",
"corufell_prime",
"cronus",
"dakra_prime",
"dark_dagger",
"dark_split_sword",
"dark_sword",
"destreza",
"destreza_prime",
"dex_dakra",
"dex_nikana",
"dorrclave",
"dragon_nikana",
"dual_cleavers",
"dual_ether",
"dual_heat_swords",
"dual_ichor",
"dual_kamas",
"dual_kamas_prime",
"dual_keres",
"dual_keres_prime",
"dual_raza",
"dual_skana",
"dual_viciss",
"dual_zoren",
"dual_zoren_prime",
"edun",
"ekhein",
"endura",
"ether_daggers",
"ether_reaper",
"ether_sword",
"falcor",
"fang",
"fang_prime",
"fragor",
"fragor_prime",
"furax",
"furax_wraith",
"galariak_prime",
"galatine",
"galatine_prime",
"galvacord",
"gazal_machete",
"ghoulsaw",
"glaive",
"glaive_prime",
"gram",
"gram_prime",
"guandao",
"guandao_prime",
"gunsen",
"gunsen_prime",
"halikar",
"halikar_wraith",
"harmony",
"hate",
"heat_dagger",
"heat_sword",
"heliocor",
"hespar",
"hirudo",
"innodem",
"jat_kittag",
"jat_kusar",
"jaw_sword",
"kama",
"karyst",
"karyst_prime",
"keratinos",
"kesheg",
"kestrel",
"kestrel_prime",
"kogake",
"kogake_prime",
"korrudo",
"korumm",
"kreska",
"krohkur",
"kronen",
"kronen_prime",
"kuva_ghoulsaw",
"kuva_shildeg",
"lacera",
"lecta",
"lesion",
"machete",
"machete_wraith",
"magistar",
"masseter",
"masseter_prime",
"mios",
"mire",
"mk1_bo",
"mk1_furax",
"nami_skyla",
"nami_skyla_prime",
"nami_solo",
"nepheri",
"nikana",
"nikana_prime",
"ninkondi",
"ninkondi_prime",
"obex",
"ohma",
"okina",
"okina_prime",
"orthos",
"orthos_prime",
"orvius",
"pangolin_prime",
"pangolin_sword",
"paracesis",
"pathocyst",
"pennant",
"plasma_sword",
"praedos",
"pride",
"prisma_dual_cleavers",
"prisma_machete",
"prisma_obex",
"prisma_ohma",
"prisma_skana",
"prova",
"prova_vandal",
"pulmonars",
"pupacyst",
"quassus",
"quassus_prime",
"rakta_dark_dagger",
"reaper_prime",
"redeemer",
"redeemer_prime",
"ripkas",
"rumblejack",
"ruvox",
"sampotes",
"sancti_magistar",
"sarofang",
"sarofang_prime",
"sarpa",
"scindo",
"scindo_prime",
"scoliac",
"secura_lecta",
"serro",
"shaku",
"sheev",
"sibear",
"sigma_and_octantis",
"silva_and_aegis",
"silva_and_aegis_prime",
"skana",
"skana_prime",
"skiajati",
"slaytra",
"spinnerex",
"stropha",
"sun_and_moon",
"syam",
"sydon",
"synoid_heliocor",
"tak_and_lug",
"tatsu",
"tatsu_prime",
"tekko",
"tekko_prime",
"telos_boltace",
"tenet_agendus",
"tenet_exec",
"tenet_grigori",
"tenet_livia",
"thalys",
"tipedo",
"tipedo_prime",
"tonbo",
"tonkkatt",
"twin_basolk",
"twin_krohkur",
"vastilok",
"vaykor_sydon",
"venato",
"venato_prime",
"venka",
"venka_prime",
"verdilac",
"vericres",
"vitrica",
"volnus",
"volnus_prime",
"war",
"war_prime",
"wolf_sledge",
"wrath",
"xoris",
"zenistar",
"acceltra",
"acceltra_prime",
"aeolak",
"afentis",
"afentis_prime",
"alternox",
"alternox_prime",
"ambassador",
"amprex",
"arca_plasmor",
"argonak",
"astilla",
"astilla_prime",
"attica",
"ax_52",
"basmu",
"battacor",
"baza",
"baza_prime",
"boar",
"boar_prime",
"boltor",
"boltor_prime",
"braton",
"braton_prime",
"braton_vandal",
"bubonico",
"burston",
"burston_prime",
"buzlok",
"carmine_penta",
"catchmoon_primary",
"cedo",
"cedo_prime",
"cernos",
"cernos_prime",
"cinta",
"coda_bassocyst",
"coda_bubonico",
"coda_hema",
"coda_sporothrix",
"coda_synapse",
"convectrix",
"corinth",
"corinth_prime",
"daikyu",
"daikyu_prime",
"dera",
"dera_vandal",
"dex_sybaris",
"drakgoon",
"dread",
"efv_5_jupiter",
"enkaus",
"evensong",
"exergis",
"felarx",
"ferrox",
"flux_rifle",
"fulmin",
"fulmin_prime",
"gaze_primary",
"glaxion",
"glaxion_vandal",
"gorgon",
"gorgon_wraith",
"gotva_prime",
"grakata",
"grinlok",
"haalvu",
"harpak",
"hek",
"hema",
"higasa",
"hind",
"ignis",
"ignis_wraith",
"javlok",
"karak",
"karak_wraith",
"kohm",
"komorex",
"kuva_bramma",
"kuva_chakkhurr",
"kuva_drakgoon",
"kuva_hek",
"kuva_hind",
"kuva_karak",
"kuva_kohm",
"kuva_ogris",
"kuva_quartakk",
"kuva_sobek",
"kuva_tonkor",
"kuva_zarr",
"lanka",
"latron",
"latron_prime",
"latron_wraith",
"lenz",
"miter",
"mk1_braton",
"mk1_paris",
"mk1_strun",
"mutalist_cernos",
"mutalist_quanta",
"nagantaka",
"nagantaka_prime",
"nataruk_perfect",
"nunchasa",
"ogris",
"opticor",
"opticor_vandal",
"panthera",
"panthera_prime",
"paracyst",
"paris",
"paris_prime",
"penta",
"perigale",
"perigale_prime",
"phage",
"phantasma",
"phantasma_prime",
"phenmor",
"prisma_gorgon",
"prisma_grakata",
"prisma_grinlok",
"prisma_lenz",
"prisma_tetra",
"proboscis_cernos",
"purgator_1",
"quanta",
"quanta_vandal",
"quartakk",
"quellor",
"rakta_cernos",
"rattleguts_primary",
"rauta",
"reconifex",
"rubico",
"rubico_prime",
"sancti_tigris",
"scourge",
"scourge_prime",
"secura_penta",
"shedu",
"simulor",
"snipetron",
"snipetron_vandal",
"sobek",
"soma",
"soma_prime",
"sporelacer_primary",
"sporothrix",
"stahlta",
"steflos",
"stradavar",
"stradavar_prime",
"strun",
"strun_prime",
"strun_wraith",
"supra",
"supra_vandal",
"sybaris",
"sybaris_prime",
"synapse",
"synoid_simulor",
"telos_boltor",
"tenet_arca_plasmor",
"tenet_envoy",
"tenet_ferrox",
"tenet_flux_rifle",
"tenet_glaxion",
"tenet_quanta",
"tenet_tetra",
"tenora",
"tenora_prime",
"tetra",
"thornbak",
"tiberon",
"tiberon_prime",
"tigris",
"tigris_prime",
"tombfinger_primary",
"tonkor",
"torid",
"trumna",
"trumna_prime",
"vadarya_prime",
"vaykor_hek",
"vectis",
"vectis_prime",
"veldt",
"vermisplicer_primary",
"vinquibus",
"vulkar",
"vulkar_wraith",
"zarr",
"zenith",
"zhuge",
"zhuge_prime",
"acrid",
"aegrit",
"afuris",
"afuris_prime",
"akarius",
"akarius_prime",
"akbolto",
"akbolto_prime",
"akbronco",
"akbronco_prime",
"akjagara",
"akjagara_prime",
"aklato",
"aklex",
"aklex_prime",
"akmagnus",
"akmagnus_prime",
"aksomati",
"aksomati_prime",
"aksondol",
"akstiletto",
"akstiletto_prime",
"akvasto",
"akvasto_prime",
"akzani",
"angstrum",
"arca_scisco",
"athodai",
"athodai_prime",
"atomos",
"azima",
"ballistica",
"ballistica_prime",
"bolto",
"brakk",
"bronco",
"bronco_prime",
"cantare",
"castanas",
"catabolyst",
"catchmoon_secondary",
"cestra",
"coda_catabolyst",
"coda_pox",
"coda_tysis",
"cyanex",
"cycron",
"despair",
"detron",
"dex_furis",
"dual_cestra",
"dual_coda_torxica",
"dual_toxocyst",
"efv_8_mars",
"embolist",
"epitaph",
"epitaph_prime",
"euphona_prime",
"furis",
"fusilai",
"gammacor",
"gaze_secondary",
"grimoire",
"hikou",
"hikou_prime",
"hystrix",
"hystrix_prime",
"knell",
"knell_prime",
"kohmak",
"kompressa",
"kompressa_prime",
"kraken",
"kulstar",
"kunai",
"kuva_brakk",
"kuva_kraken",
"kuva_nukor",
"kuva_seer",
"kuva_twin_stubbas",
"laetum",
"lato",
"lato_prime",
"lato_vandal",
"lex",
"lex_prime",
"magnus",
"magnus_prime",
"mara_detron",
"marelok",
"mk1_furis",
"mk1_kunai",
"nukor",
"ocucor",
"onos",
"pandero",
"pandero_prime",
"plinx",
"pox",
"prisma_angstrum",
"prisma_twin_gremlins",
"pyrana",
"pyrana_prime",
"quatz",
"rakta_ballistica",
"rattleguts_secondary",
"riot_848",
"sagek_prime",
"sancti_castanas",
"scyotid",
"secura_dual_cestra",
"seer",
"sepulcrum",
"sicarus",
"sicarus_prime",
"sonicor",
"spectra",
"spectra_vandal",
"spira",
"spira_prime",
"sporelacer_secondary",
"staticor",
"stubba",
"stug",
"synoid_gammacor",
"talons",
"telos_akbolto",
"tenet_cycron",
"tenet_detron",
"tenet_diplos",
"tenet_plinx",
"tenet_spirex",
"tombfinger_secondary",
"twin_grakatas",
"twin_gremlins",
"twin_kohmak",
"twin_rogga",
"twin_vipers",
"twin_vipers_wraith",
"tysis",
"vasto",
"vasto_prime",
"vaykor_marelok",
"velox",
"velox_prime",
"vermisplicer_secondary",
"vesper_77",
"viper",
"viper_wraith",
"zakti",
"zakti_prime",
"zylok",
"zylok_prime",
"zymos",
"artax",
"burst_laser",
"burst_laser_prime",
"cryotra",
"deconstructor",
"deconstructor_prime",
"deth_machine_rifle",
"deth_machine_rifle_prime",
"helstrum",
"laser_rifle",
"multron",
"prime_laser_rifle",
"prisma_burst_laser",
"stinger",
"sweeper",
"sweeper_prime",
"tazicor",
"verglas",
"verglas_prime",
"vulcax",
"vulklok"
]
}
},
"required": [
"module"
]
},
"page": "/"
}builder_weapon_setAction
Switch the builder to another weapon. Its own presets and fight come with it.
View tool JSON
{
"name": "builder_weapon_set",
"kind": "act",
"impl": "imperative",
"description": "Switch the builder to another weapon. Its own presets and fight come with it.",
"inputSchema": {
"type": "object",
"properties": {
"weapon": {
"type": "string",
"description": "weapon id",
"enum": [
"arbucep",
"cortege",
"corvas",
"corvas_prime",
"cyngas",
"dual_decurion",
"fluctus",
"grattler",
"imperator",
"imperator_vandal",
"kuva_ayanga",
"kuva_grattler",
"larkspur",
"larkspur_prime",
"mandonel",
"mausolon",
"morgha",
"phaedra",
"prisma_dual_decurions",
"velocitus",
"garuda_prime_talons",
"garuda_talons",
"shattered_lash",
"valkyr_talons",
"ack_and_brunt",
"amanata",
"amphis",
"anku",
"ankyros",
"ankyros_prime",
"arca_titron",
"argo_and_vel",
"arum_spinosa",
"atterax",
"azothane",
"bo",
"bo_prime",
"boltace",
"broken_scepter",
"broken_war",
"cadus",
"cassowar",
"caustacyst",
"ceramic_dagger",
"cerata",
"ceti_lacera",
"cobra_and_crane",
"cobra_and_crane_prime",
"coda_caustacyst",
"coda_hirudo",
"coda_mire",
"coda_motovore",
"coda_pathocyst",
"corufell",
"corufell_prime",
"cronus",
"dakra_prime",
"dark_dagger",
"dark_split_sword",
"dark_sword",
"destreza",
"destreza_prime",
"dex_dakra",
"dex_nikana",
"dorrclave",
"dragon_nikana",
"dual_cleavers",
"dual_ether",
"dual_heat_swords",
"dual_ichor",
"dual_kamas",
"dual_kamas_prime",
"dual_keres",
"dual_keres_prime",
"dual_raza",
"dual_skana",
"dual_viciss",
"dual_zoren",
"dual_zoren_prime",
"edun",
"ekhein",
"endura",
"ether_daggers",
"ether_reaper",
"ether_sword",
"falcor",
"fang",
"fang_prime",
"fragor",
"fragor_prime",
"furax",
"furax_wraith",
"galariak_prime",
"galatine",
"galatine_prime",
"galvacord",
"gazal_machete",
"ghoulsaw",
"glaive",
"glaive_prime",
"gram",
"gram_prime",
"guandao",
"guandao_prime",
"gunsen",
"gunsen_prime",
"halikar",
"halikar_wraith",
"harmony",
"hate",
"heat_dagger",
"heat_sword",
"heliocor",
"hespar",
"hirudo",
"innodem",
"jat_kittag",
"jat_kusar",
"jaw_sword",
"kama",
"karyst",
"karyst_prime",
"keratinos",
"kesheg",
"kestrel",
"kestrel_prime",
"kogake",
"kogake_prime",
"korrudo",
"korumm",
"kreska",
"krohkur",
"kronen",
"kronen_prime",
"kuva_ghoulsaw",
"kuva_shildeg",
"lacera",
"lecta",
"lesion",
"machete",
"machete_wraith",
"magistar",
"masseter",
"masseter_prime",
"mios",
"mire",
"mk1_bo",
"mk1_furax",
"nami_skyla",
"nami_skyla_prime",
"nami_solo",
"nepheri",
"nikana",
"nikana_prime",
"ninkondi",
"ninkondi_prime",
"obex",
"ohma",
"okina",
"okina_prime",
"orthos",
"orthos_prime",
"orvius",
"pangolin_prime",
"pangolin_sword",
"paracesis",
"pathocyst",
"pennant",
"plasma_sword",
"praedos",
"pride",
"prisma_dual_cleavers",
"prisma_machete",
"prisma_obex",
"prisma_ohma",
"prisma_skana",
"prova",
"prova_vandal",
"pulmonars",
"pupacyst",
"quassus",
"quassus_prime",
"rakta_dark_dagger",
"reaper_prime",
"redeemer",
"redeemer_prime",
"ripkas",
"rumblejack",
"ruvox",
"sampotes",
"sancti_magistar",
"sarofang",
"sarofang_prime",
"sarpa",
"scindo",
"scindo_prime",
"scoliac",
"secura_lecta",
"serro",
"shaku",
"sheev",
"sibear",
"sigma_and_octantis",
"silva_and_aegis",
"silva_and_aegis_prime",
"skana",
"skana_prime",
"skiajati",
"slaytra",
"spinnerex",
"stropha",
"sun_and_moon",
"syam",
"sydon",
"synoid_heliocor",
"tak_and_lug",
"tatsu",
"tatsu_prime",
"tekko",
"tekko_prime",
"telos_boltace",
"tenet_agendus",
"tenet_exec",
"tenet_grigori",
"tenet_livia",
"thalys",
"tipedo",
"tipedo_prime",
"tonbo",
"tonkkatt",
"twin_basolk",
"twin_krohkur",
"vastilok",
"vaykor_sydon",
"venato",
"venato_prime",
"venka",
"venka_prime",
"verdilac",
"vericres",
"vitrica",
"volnus",
"volnus_prime",
"war",
"war_prime",
"wolf_sledge",
"wrath",
"xoris",
"zenistar",
"acceltra",
"acceltra_prime",
"aeolak",
"afentis",
"afentis_prime",
"alternox",
"alternox_prime",
"ambassador",
"amprex",
"arca_plasmor",
"argonak",
"astilla",
"astilla_prime",
"attica",
"ax_52",
"basmu",
"battacor",
"baza",
"baza_prime",
"boar",
"boar_prime",
"boltor",
"boltor_prime",
"braton",
"braton_prime",
"braton_vandal",
"bubonico",
"burston",
"burston_prime",
"buzlok",
"carmine_penta",
"catchmoon_primary",
"cedo",
"cedo_prime",
"cernos",
"cernos_prime",
"cinta",
"coda_bassocyst",
"coda_bubonico",
"coda_hema",
"coda_sporothrix",
"coda_synapse",
"convectrix",
"corinth",
"corinth_prime",
"daikyu",
"daikyu_prime",
"dera",
"dera_vandal",
"dex_sybaris",
"drakgoon",
"dread",
"efv_5_jupiter",
"enkaus",
"evensong",
"exergis",
"felarx",
"ferrox",
"flux_rifle",
"fulmin",
"fulmin_prime",
"gaze_primary",
"glaxion",
"glaxion_vandal",
"gorgon",
"gorgon_wraith",
"gotva_prime",
"grakata",
"grinlok",
"haalvu",
"harpak",
"hek",
"hema",
"higasa",
"hind",
"ignis",
"ignis_wraith",
"javlok",
"karak",
"karak_wraith",
"kohm",
"komorex",
"kuva_bramma",
"kuva_chakkhurr",
"kuva_drakgoon",
"kuva_hek",
"kuva_hind",
"kuva_karak",
"kuva_kohm",
"kuva_ogris",
"kuva_quartakk",
"kuva_sobek",
"kuva_tonkor",
"kuva_zarr",
"lanka",
"latron",
"latron_prime",
"latron_wraith",
"lenz",
"miter",
"mk1_braton",
"mk1_paris",
"mk1_strun",
"mutalist_cernos",
"mutalist_quanta",
"nagantaka",
"nagantaka_prime",
"nataruk_perfect",
"nunchasa",
"ogris",
"opticor",
"opticor_vandal",
"panthera",
"panthera_prime",
"paracyst",
"paris",
"paris_prime",
"penta",
"perigale",
"perigale_prime",
"phage",
"phantasma",
"phantasma_prime",
"phenmor",
"prisma_gorgon",
"prisma_grakata",
"prisma_grinlok",
"prisma_lenz",
"prisma_tetra",
"proboscis_cernos",
"purgator_1",
"quanta",
"quanta_vandal",
"quartakk",
"quellor",
"rakta_cernos",
"rattleguts_primary",
"rauta",
"reconifex",
"rubico",
"rubico_prime",
"sancti_tigris",
"scourge",
"scourge_prime",
"secura_penta",
"shedu",
"simulor",
"snipetron",
"snipetron_vandal",
"sobek",
"soma",
"soma_prime",
"sporelacer_primary",
"sporothrix",
"stahlta",
"steflos",
"stradavar",
"stradavar_prime",
"strun",
"strun_prime",
"strun_wraith",
"supra",
"supra_vandal",
"sybaris",
"sybaris_prime",
"synapse",
"synoid_simulor",
"telos_boltor",
"tenet_arca_plasmor",
"tenet_envoy",
"tenet_ferrox",
"tenet_flux_rifle",
"tenet_glaxion",
"tenet_quanta",
"tenet_tetra",
"tenora",
"tenora_prime",
"tetra",
"thornbak",
"tiberon",
"tiberon_prime",
"tigris",
"tigris_prime",
"tombfinger_primary",
"tonkor",
"torid",
"trumna",
"trumna_prime",
"vadarya_prime",
"vaykor_hek",
"vectis",
"vectis_prime",
"veldt",
"vermisplicer_primary",
"vinquibus",
"vulkar",
"vulkar_wraith",
"zarr",
"zenith",
"zhuge",
"zhuge_prime",
"acrid",
"aegrit",
"afuris",
"afuris_prime",
"akarius",
"akarius_prime",
"akbolto",
"akbolto_prime",
"akbronco",
"akbronco_prime",
"akjagara",
"akjagara_prime",
"aklato",
"aklex",
"aklex_prime",
"akmagnus",
"akmagnus_prime",
"aksomati",
"aksomati_prime",
"aksondol",
"akstiletto",
"akstiletto_prime",
"akvasto",
"akvasto_prime",
"akzani",
"angstrum",
"arca_scisco",
"athodai",
"athodai_prime",
"atomos",
"azima",
"ballistica",
"ballistica_prime",
"bolto",
"brakk",
"bronco",
"bronco_prime",
"cantare",
"castanas",
"catabolyst",
"catchmoon_secondary",
"cestra",
"coda_catabolyst",
"coda_pox",
"coda_tysis",
"cyanex",
"cycron",
"despair",
"detron",
"dex_furis",
"dual_cestra",
"dual_coda_torxica",
"dual_toxocyst",
"efv_8_mars",
"embolist",
"epitaph",
"epitaph_prime",
"euphona_prime",
"furis",
"fusilai",
"gammacor",
"gaze_secondary",
"grimoire",
"hikou",
"hikou_prime",
"hystrix",
"hystrix_prime",
"knell",
"knell_prime",
"kohmak",
"kompressa",
"kompressa_prime",
"kraken",
"kulstar",
"kunai",
"kuva_brakk",
"kuva_kraken",
"kuva_nukor",
"kuva_seer",
"kuva_twin_stubbas",
"laetum",
"lato",
"lato_prime",
"lato_vandal",
"lex",
"lex_prime",
"magnus",
"magnus_prime",
"mara_detron",
"marelok",
"mk1_furis",
"mk1_kunai",
"nukor",
"ocucor",
"onos",
"pandero",
"pandero_prime",
"plinx",
"pox",
"prisma_angstrum",
"prisma_twin_gremlins",
"pyrana",
"pyrana_prime",
"quatz",
"rakta_ballistica",
"rattleguts_secondary",
"riot_848",
"sagek_prime",
"sancti_castanas",
"scyotid",
"secura_dual_cestra",
"seer",
"sepulcrum",
"sicarus",
"sicarus_prime",
"sonicor",
"spectra",
"spectra_vandal",
"spira",
"spira_prime",
"sporelacer_secondary",
"staticor",
"stubba",
"stug",
"synoid_gammacor",
"talons",
"telos_akbolto",
"tenet_cycron",
"tenet_detron",
"tenet_diplos",
"tenet_plinx",
"tenet_spirex",
"tombfinger_secondary",
"twin_grakatas",
"twin_gremlins",
"twin_kohmak",
"twin_rogga",
"twin_vipers",
"twin_vipers_wraith",
"tysis",
"vasto",
"vasto_prime",
"vaykor_marelok",
"velox",
"velox_prime",
"vermisplicer_secondary",
"vesper_77",
"viper",
"viper_wraith",
"zakti",
"zakti_prime",
"zylok",
"zylok_prime",
"zymos",
"artax",
"burst_laser",
"burst_laser_prime",
"cryotra",
"deconstructor",
"deconstructor_prime",
"deth_machine_rifle",
"deth_machine_rifle_prime",
"helstrum",
"laser_rifle",
"multron",
"prime_laser_rifle",
"prisma_burst_laser",
"stinger",
"sweeper",
"sweeper_prime",
"tazicor",
"verglas",
"verglas_prime",
"vulcax",
"vulklok"
]
}
},
"required": [
"weapon"
]
},
"page": "/"
}builder_polarity_setAction
Set a slot's polarity, or remove it with polarity=null. The mod in the slot stays.
View tool JSON
{
"name": "builder_polarity_set",
"kind": "act",
"impl": "imperative",
"description": "Set a slot's polarity, or remove it with polarity=null. The mod in the slot stays.",
"inputSchema": {
"type": "object",
"properties": {
"slot": {
"type": [
"string",
"integer"
],
"description": "0-7, or \"exilus\" / \"stance\""
},
"polarity": {
"type": [
"string",
"null"
],
"description": "polarity, or null",
"enum": [
"Madurai",
"Naramon",
"Vazarin",
"Umbra",
"Omni"
]
}
},
"required": [
"slot",
"polarity"
]
},
"page": "/"
}builder_board_readAction
Read a weapon's leaderboard: the measured best builds per ruler (the benchmark fight), mode, and with or without a riven, ranked. Each row carries the link that opens it, and a riven-free row its `build`, which the stats read takes. A row's key opens it with shell.preset.open (bar "build").
View tool JSON
{
"name": "builder_board_read",
"kind": "act",
"impl": "imperative",
"description": "Read a weapon's leaderboard: the measured best builds per ruler (the benchmark fight), mode, and with or without a riven, ranked. Each row carries the link that opens it, and a riven-free row its `build`, which the stats read takes. A row's key opens it with shell.preset.open (bar \"build\").",
"inputSchema": {
"type": "object",
"properties": {
"weapon": {
"type": "string",
"description": "weapon id; on the page, the one open when omitted"
},
"riven": {
"type": "string",
"description": "\"without\" (default), \"with\" or \"any\"",
"enum": [
"without",
"with",
"any"
]
},
"mode": {
"type": "string",
"description": "only this mode id"
},
"limit": {
"type": "number",
"description": "rows per group, default 3"
},
"distinct": {
"type": "boolean",
"description": "one row per place, its preferred build; `limit` counts places"
},
"pooled": {
"type": "boolean",
"description": "rank a ruler's modes together"
}
},
"required": []
},
"page": "/"
}