KS
Killer-Skills

add-move — how to use add-move how to use add-move, add-move setup guide, pokemon gacha discord bot moves, add-move alternative, add-move vs other discord bots, add-move install, what is add-move, add-move documentation, modifying battleEnums.js, adding custom moves to pokemon gacha

v1.0.0
GitHub

About this Skill

Ideal for AI Agents specializing in Discord bot development and Pokemon game mechanics modification. add-move is a technical skill for modifying the Pokemon Gacha Discord Bot, allowing developers to add new moves by updating the battleEnums.js and moves.js files.

Features

Modifies src/enums/battleEnums.js to add new moveIdEnum entries
Updates src/battle/data/moves.js to implement new move structures
Utilizes the Move class with properties like id, name, type, and power
Supports addition of custom moves with specific types, such as FIRE, WATER, or GRASS
Requires careful modification of specific files without altering other moves or battleConfig.js

# Core Topics

ewei068 ewei068
[0]
[0]
Updated: 3/6/2026

Quality Score

Top 5%
33
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add ewei068/pokestar/add-move

Agent Capability Analysis

The add-move MCP Server by ewei068 is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion. Optimized for how to use add-move, add-move setup guide, pokemon gacha discord bot moves.

Ideal Agent Persona

Ideal for AI Agents specializing in Discord bot development and Pokemon game mechanics modification.

Core Value

Enables direct modification of Pokemon battle mechanics by adding new move implementations to the battle system. Provides structured access to modify moveIdEnum in battleEnums.js and implement complete move objects in moves.js with type, power, and effect specifications.

Capabilities Granted for add-move MCP Server

Extending battle system capabilities with custom moves
Modifying Pokemon Gacha bot gameplay mechanics
Adding new combat options to Discord bot battles

! Prerequisites & Limits

  • Requires filesystem access to modify src/enums/battleEnums.js and src/battle/data/moves.js
  • Limited to Pokemon Gacha Discord Bot architecture
  • Cannot modify battleConfig.js without explicit permission
Project
SKILL.md
3.9 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

Adding Moves to Pokestar

Quick Reference

Files to modify:

  1. src/enums/battleEnums.js - Add moveIdEnum.YOUR_MOVE entry (ONLY if not exists)
  2. src/battle/data/moves.js - Add the move implementation

DO NOT modify other moves or battleConfig.js unless explicitly asked.

Move Structure

javascript
1[moveIdEnum.MOVE_NAME]: new Move({ 2 id: moveIdEnum.MOVE_NAME, 3 name: "Move Name", 4 type: pokemonTypes.TYPE, // FIRE, WATER, GRASS, etc. 5 power: 80, // Base damage (null for non-damaging) 6 accuracy: 100, // Hit chance % (null = always hits) 7 cooldown: 3, // Turns before reusable 8 targetType: targetTypes.ENEMY, // ENEMY, ALLY, ANY 9 targetPosition: targetPositions.FRONT, // FRONT, BACK, ANY, SELF, NON_SELF 10 targetPattern: targetPatterns.SINGLE, // See references/target-patterns.md 11 tier: moveTiers.POWER, // BASIC, POWER, ULTIMATE 12 damageType: damageTypes.PHYSICAL, // PHYSICAL, SPECIAL, OTHER 13 description: "Move description", 14 execute() { /* implementation */ }, 15}),

Execute Context

NOTE: The execute function binds this to the MoveInstance.js MoveInstance class, with properties such as:

Example Properties:

  • this.source - User of the move
  • this.primaryTarget - Main target selected
  • this.allTargets - All affected targets (based on pattern)
  • this.missedTargets - Targets that were missed
  • this.battle - Battle instance
  • this.power, this.type, this.id - Move properties

Example Generic Methods

All generic methods are available in MoveInstance.js. These are some common examples:

javascript
1// Deal damage to all targets 2this.genericDealAllDamage(); 3// Returns { damageInstances: {targetId: damage}, totalDamageDealt: number } 4 5// Custom damage calculation 6this.genericDealAllDamage({ 7 calculateDamageFunction: (args) => 8 this.source.calculateMoveDamage(args) * 1.5, 9 offTargetDamageMultiplier: 0.5, 10 backTargetDamageMultiplier: 0.7, 11 attackOverride: this.source.getStat("def"), 12}); 13 14// Apply status (BURN, PARALYSIS, FROZEN, SLEEP, POISON) 15this.genericApplyAllStatus({ 16 statusId: statusConditions.BURN, 17 probability: 0.3, 18}); 19 20// Apply effect (see references/effects.md) 21this.genericApplyAllEffects({ 22 effectId: "atkUp", 23 duration: 3, 24 probability: 0.5, 25}); 26 27// Single target effect 28this.genericApplySingleEffect({ 29 target: this.primaryTarget, 30 effectId: "shield", 31 duration: 3, 32 initialArgs: { shield: 100 }, 33}); 34 35// Combat readiness 36this.genericChangeAllCombatReadiness({ amount: 25, action: "boost" }); // or "reduce" 37 38// Healing 39this.genericHealAllTargets({ healPercent: 25 }); 40this.genericHealSingleTarget({ target, healAmount: 100 });

Move Tags

Optional tags array for ability interactions:

  • "punch" - Boosted by Iron Fist ability
  • "slice" - Boosted by Sharpness ability
  • "charge" - Two-turn move

Dynamic Move Properties

Use overrideFields to change properties based on context:

javascript
1overrideFields: (options) => { 2 if (options.source?.speciesId === pokemonIdEnum.SPECIAL_FORM) { 3 return { power: 120, description: "Enhanced version" }; 4 } 5},

Useful BattlePokemon Methods

  • pokemon.getStat("atk") - Get effective stat
  • pokemon.hasType(pokemonTypes.FIRE) - Check type
  • pokemon.applyEffect(id, duration, source, initialArgs)
  • pokemon.dispellEffect(effectId) - Remove effect
  • pokemon.removeStatus() - Clear status condition
  • pokemon.dealDamage(amount, target, info) - Deal damage
  • pokemon.giveHeal(amount, target, info) - Heal
  • pokemon.boostCombatReadiness(source, amount)
  • pokemon.getPartyPokemon() - Get ally array
  • pokemon.isFainted - Check if fainted

References

  • references/target-patterns.md - Visual guide to target patterns
  • references/effects.md - List of all buff/debuff effect IDs
  • references/pattern-*.md - Code examples for common move types

Related Skills

Looking for an alternative to add-move or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication