Definir un Movimiento

Los movimientos se definen en el archivo PBS moves.txt, ubicado en la carpeta PBS/ de tu proyecto. Cada movimiento se define como un bloque de propiedades que el compilador lee para generar los datos internos del juego.

Formato del archivo moves.txt

Cada movimiento se define con un encabezado entre corchetes que contiene su nombre interno, seguido de sus propiedades línea por línea:

[NOMBRE_INTERNO]
Name = Nombre visible
Type = TIPO
Category = Physical/Special/Status
Power = 0-250
Accuracy = 0-100
TotalPP = 5-40
Target = Objetivo
Priority = -6 a 6
FunctionCode = Código
Flags = Banderas
EffectChance = 0-100
Description = Descripción del movimiento.

Tabla de propiedades

Propiedad Obligatoria Descripción
[NOMBRE_INTERNO] Identificador único del movimiento. Solo letras mayúsculas, números y guiones bajos. Se usa en el encabezado del bloque.
Name El nombre visible del movimiento que se muestra al jugador.
Type El tipo del movimiento (ej: NORMAL, FIRE, WATER, ELECTRIC, etc.). Debe coincidir con un tipo definido en types.txt.
Category La categoría del movimiento: Physical (físico), Special (especial) o Status (estado).
Power No La potencia base del movimiento. Se omite o se pone 0 para movimientos de estado. Rango típico: 10-250.
Accuracy No La precisión del movimiento (0-100). Si se pone 0, el movimiento nunca falla (como Golpe Aéreo, Rapidez).
TotalPP No Los PP (puntos de poder) base del movimiento. Por defecto es 5 si se omite.
Target No A quién puede apuntar el movimiento. Por defecto es NearOther. Ver tabla de objetivos abajo.
Priority No La prioridad del movimiento. Rango de -6 a 6. Por defecto es 0. Movimientos como Ataque Rápido tienen 1, Protección tiene 4.
FunctionCode No El código de la función que define el efecto del movimiento. Por defecto es None (sin efecto adicional, solo daño). Ver Efectos de Movimientos.
Flags No Lista de banderas separadas por comas que otorgan propiedades especiales al movimiento. Ver tabla de flags abajo.
EffectChance No La probabilidad (en %) de que ocurra el efecto secundario del movimiento. Por defecto es 0 (100% de probabilidad si el movimiento tiene efecto).
Description No La descripción del movimiento que se muestra en la pantalla de resumen y combate.

Valores de Target (Objetivo)

El campo Target determina a quién puede apuntar el movimiento durante el combate:

Valor Descripción Ejemplo
NearAlly Apunta a un aliado adyacente. Aromaterapia
User El movimiento afecta solo al usuario. Danza Espada, Protección
NearFoe Apunta a un enemigo adyacente. Placaje, Lanzallamas
AllNearFoes Golpea a todos los enemigos adyacentes. Terremoto (enemigos), Onda Ígnea
NearOther Apunta a cualquier Pokémon adyacente (aliado o enemigo). Valor por defecto. La mayoría de movimientos de ataque
AllNearOthers Golpea a todos los Pokémon adyacentes (aliados y enemigos). Terremoto, Surf (en combates dobles)
UserSide Afecta al lado del campo del usuario. Pantalla de Luz, Reflejo
FoeSide Afecta al lado del campo enemigo. Púas, Red Viscosa
BothSides Afecta a ambos lados del campo. Día Soleado, Danza Lluvia
UserAndAllies Afecta al usuario y a todos sus aliados. Aromaterapia, Campana Cura
AllBattlers Afecta a todos los Pokémon en el campo. Llovizna, Vendaval
RandomNearFoe Golpea a un enemigo adyacente al azar. Metrónomo (cuando llama a un ataque)
None No tiene objetivo específico. Movimientos de campo

Flags (Banderas)

Las flags otorgan propiedades adicionales al movimiento. Se definen como una lista separada por comas en el campo Flags:

Flag Descripción
Contact El movimiento hace contacto físico. Activa habilidades como Punto Tóxico y objetos como Chaleco Asalto.
CanProtect El movimiento puede ser bloqueado por Protección, Detección, etc.
CanMirrorMove El movimiento puede ser copiado por Mov. Espejo.
ThawsUser Si el usuario está congelado, se descongela al usar este movimiento.
HighCriticalHitRate El movimiento tiene una tasa de golpe crítico aumentada (+1).
Bite El movimiento es de tipo mordisco. Potenciado por la habilidad Mandíbula Fuerte.
Punch El movimiento es de tipo puñetazo. Potenciado por la habilidad Puño de Hierro.
Sound El movimiento es de tipo sonido. Ignora Sustituto y es bloqueado por Insonorizar.
Powder El movimiento es de tipo polvo. No afecta a Pokémon tipo Planta, ni con la habilidad Herbívoro, ni con Gafas Protectoras.
Pulse El movimiento es de tipo pulso/aura. Potenciado por la habilidad Megadisparador.
Bomb El movimiento es de tipo bomba/bola. Bloqueado por la habilidad Antibalas.
Dance El movimiento es de tipo danza. Copiado por la habilidad Bailarín.
TramplingMove El movimiento pisa al objetivo. Golpea a Pokémon minimizados con daño doble.
WindMove El movimiento es de tipo viento. Interactúa con la habilidad Comevientos.
SlicingMove El movimiento es de tipo corte. Potenciado por la habilidad Cortante.

Ejemplos de entradas en el PBS

Movimiento físico

[THUNDERPUNCH]
Name = Puño Trueno
Type = ELECTRIC
Category = Physical
Power = 75
Accuracy = 100
TotalPP = 15
Target = NearOther
FunctionCode = ParalyzeTarget
Flags = Contact,CanProtect,CanMirrorMove,Punch
EffectChance = 10
Description = Puñetazo eléctrico que puede paralizar al objetivo.

Movimiento especial

[FLAMETHROWER]
Name = Lanzallamas
Type = FIRE
Category = Special
Power = 90
Accuracy = 100
TotalPP = 15
Target = NearOther
FunctionCode = BurnTarget
Flags = CanProtect,CanMirrorMove
EffectChance = 10
Description = El objetivo es golpeado con una gran llamarada. Puede causar quemaduras.

Movimiento de estado

[SWORDSDANCE]
Name = Danza Espada
Type = NORMAL
Category = Status
Accuracy = 0
TotalPP = 20
Target = User
FunctionCode = RaiseUserAttack2
Flags = Dance
Description = Danza frenética que sube mucho el Ataque del usuario.

Movimiento multi-objetivo

[EARTHQUAKE]
Name = Terremoto
Type = GROUND
Category = Physical
Power = 100
Accuracy = 100
TotalPP = 10
Target = AllNearOthers
FunctionCode = DoublePowerIfTargetUnderground
Flags = CanProtect,CanMirrorMove
Description = Terremoto que afecta a todos los Pokémon adyacentes. Doble daño si el objetivo usa Excavar.

FunctionCodes comunes

El FunctionCode determina el efecto especial del movimiento. Aquí hay algunos de los más usados:

FunctionCode Efecto Ejemplo
None Sin efecto adicional, solo causa daño. Placaje, Fuerza
PoisonTarget Puede envenenar al objetivo. Picotazo Veneno
BadPoisonTarget Puede envenenar gravemente al objetivo. Tóxico
ParalyzeTarget Puede paralizar al objetivo. Onda Trueno, Puño Trueno
BurnTarget Puede quemar al objetivo. Lanzallamas, Fuego Fatuo
FreezeTarget Puede congelar al objetivo. Rayo Hielo, Ventisca
SleepTarget Duerme al objetivo. Hipnosis, Somnífero
ConfuseTarget Confunde al objetivo. Rayo Confuso
FlinchTarget Puede hacer retroceder al objetivo. Mordisco, Cabezazo
RaiseUserAttack1 Sube el Ataque del usuario en 1 nivel. Afilagarras
RaiseUserAttack2 Sube el Ataque del usuario en 2 niveles. Danza Espada
RaiseUserSpeed2 Sube la Velocidad del usuario en 2 niveles. Agilidad
LowerTargetAttack1 Baja el Ataque del objetivo en 1 nivel. Gruñido
LowerTargetSpeed1 Baja la Velocidad del objetivo en 1 nivel. Rayo Burbuja
StartSunWeather Invoca el clima soleado. Día Soleado
StartRainWeather Invoca lluvia. Danza Lluvia
StartSandstormWeather Invoca tormenta de arena. Tormenta de Arena
HealUserHalfOfTotalHP Cura la mitad de los PS máximos del usuario. Recuperación, Descanso
UserFaintsExplosive El usuario se debilita para atacar. Tipo explosión. Explosión, Autodestrucción
ProtectUser Protege al usuario de todos los ataques este turno. Protección, Detección
DoublePowerIfTargetUnderground Duplica el daño si el objetivo usa Excavar. Terremoto
HitTwoTimes Golpea dos veces en un turno. Doble Patada
HitTwoToFiveTimes Golpea de 2 a 5 veces en un turno. Golpe Roca, Pin Misil
RecoilQuarterOfDamageDealt El usuario recibe 1/4 del daño causado como retroceso. Derribo
RecoilThirdOfDamageDealt El usuario recibe 1/3 del daño causado como retroceso. Doble Filo
Nota: Para más información sobre cómo crear efectos personalizados de movimientos, consulta la página Efectos de Movimientos.