Ncp damage calculator
Skill pmwl0128/pokemon_champion_agent/.agents/skills/ncp-damage-calculator
Run Pokémon Champions damage and speed-line calculations using the bundled NCP VGC Damage Calculator formulas. Use when the request asks for a concrete damage, KO, survival, or speed-order calculation between specified Pokémon, moves, spreads, field states, items, abilities, or stat stages. For broad team-building or tuning, use the team skill first and let it delegate exact calc checks. Chinese examples include "X用Y打Z多少", "X能确一/二确Z吗", "Z吃得下X的Y吗", "X快过Z吗", "多少SP能快过/抗住". English examples include "calc X's move into Y", "does this OHKO/2HKO", "can Y survive this hit", "does X outspeed Y", "what spread reaches this benchmark". Japanese examples include "XのYでZにどれくらい入る?", "確定一発/二発?", "ZはYを耐える?", "XはZを抜ける?", "このラインに必要なSPは?".From its SKILL.md
npx -y skills add pmwl0128/pokemon_champion_agent --skill ncp-damage-calculatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
4.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
NCP Damage Calculator
Compute Pokémon Champions damage ranges and speed lines with the bundled NCP VGC Damage Calculator core. Use exact calculations whenever a claim depends on damage, KO, survival, or move order.
Workflow
- Resolve Chinese or Japanese names through
$pokemon-champions-dex; the NCP wrapper itself uses English calculator keys. - Run the wrapper's
resolvecommand to align canonical English names to exact NCP keys. - Supply the actual item, ability, nature, SP spread, stat stages, status, and relevant field state.
- Use the damage API for a concrete attack, or the speed API for one Pokémon, a table, or a direct comparison.
- Report assumptions with the result. A successful calculation does not establish Champions legality.
Damage
Run one calculation with JSON on stdin or use batch with a JSON array:
@'
{
"attacker": {
"name": "Mega Metagross",
"ability": "Tough Claws",
"item": "Metagrossite",
"nature": "Jolly",
"sps": {"hp": 2, "atk": 32, "def": 0, "spa": 0, "spd": 0, "spe": 32},
"moves": ["Earthquake"]
},
"defender": {
"name": "Mega Raichu Y",
"ability": "No Guard",
"item": "Raichunite Y",
"nature": "Timid",
"sps": {"hp": 2, "atk": 0, "def": 0, "spa": 32, "spd": 0, "spe": 32},
"moves": ["Zap Cannon"]
},
"move": "Earthquake",
"field": {}
}
'@ | python scripts\ncp-calc-api.py
The result includes all rolls, percentage rolls, min/max values, defender HP, and the calculator description.
Speed
Query one speed line:
@'
{"name":"Mega Staraptor"}
'@ | python scripts\ncp-speedline-api.py
Query a filtered table or compare two complete speed states. compare also reports move order under
Trick Room:
@'
{"filters":{"type":"Flying","speedMin":170},"limit":20}
'@ | python scripts\ncp-speedline-api.py table
@'
{"a":{"name":"Garchomp","nature":"Jolly","sps":{"spe":32}},
"b":{"name":"Archaludon","nature":"Modest","item":"Choice Scarf","sps":{"spe":32}}}
'@ | python scripts\ncp-speedline-api.py compare
Name Resolution
Do not scan vendored data files manually. Resolve calculator keys through the CLI; --kind defaults
to pokemon:
'["garchomp","Rotom Wash","Mega Charizard X"]' | python scripts\ncp-calc-api.py resolve
'["close combat","earthquake"]' | python scripts\ncp-calc-api.py resolve --kind move
'["choice scarf","lifeorb"]' | python scripts\ncp-calc-api.py resolve --kind item
'["roughskin","intimidate"]' | python scripts\ncp-calc-api.py resolve --kind ability
Contract
Treat the executable schemas as authoritative for commands, input fields, output fields, and errors:
python scripts\ncp-calc-api.py schema
python scripts\ncp-speedline-api.py schema
Read references/api.md when field options, batch shapes, speed modifiers, or a complete example are
needed. It is explanatory documentation, not a second contract.
Caveats
- The wrapper vendors, rather than reimplements, the NCP core. Attribution and its upstream license
are in
references/upstream-LICENSE. - The Python CLIs host that vendored JavaScript in-process via
quickjs-ng(python -m pip install -r requirements.txt), so no Node runtime is needed. If quickjs-ng is not installed, those same Python entries automatically delegate to the Node CLIs (node scripts\ncp-calc-api.js/ncp-speedline-api.js); calculation and query results are identical. - It targets Pokémon Champions at level 50 with Champions stat points; canonical keys are
hp/atk/def/spa/spd/spe. - NCP contains entries beyond the Champions-legal roster. Use
$pokemon-champions-teamor the dex for legality. - Damage results model the fields exposed by the API, not every possible residual or multi-turn effect.
- Speed defaults are 31 Speed IV, 32 Speed SP, and a positive Speed nature unless explicitly replaced.
What ships with it: 26 files
884.0 KB alongside SKILL.md, 22 of them executable
agents/
- openai.yaml265 B
references/
- api.md6.3 KB
- upstream-LICENSE1.1 KB
scripts/
- ncp-calc-api.jsruns40.4 KB
- ncp-calc-api.pyruns2.0 KB
- ncp_cli_runtime.pyruns3.4 KB
- ncp_engine.pyruns9.8 KB
- ncp-speedline-api.jsruns11.5 KB
- ncp-speedline-api.pyruns1.9 KB
- script_res/ability_data.jsruns11.3 KB
- script_res/damage_dpp.jsruns18.5 KB
- script_res/damage_gsc.jsruns5.8 KB
- script_res/damage_MASTER.jsruns113.3 KB
- script_res/damage_rby.jsruns4.6 KB
- script_res/damage_rse.jsruns9.8 KB
- script_res/damage_SV.jsruns8.7 KB
- script_res/damage_xy.jsruns5.8 KB
- script_res/item_data.jsruns35.3 KB
- script_res/ko_chance.jsruns31.2 KB
- script_res/move_data.jsruns135.8 KB
- script_res/move_data_za.jsruns18.3 KB
- script_res/nature_data.jsruns635 B
- script_res/pokedex.jsruns393.3 KB
- script_res/stat_data.jsruns4.4 KB
- script_res/type_data.jsruns10.4 KB
- requirements.txt164 B