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] |
Sí | Identificador único del movimiento. Solo letras mayúsculas, números y guiones bajos. Se usa en el encabezado del bloque. |
Name |
Sí | El nombre visible del movimiento que se muestra al jugador. |
Type |
Sí | El tipo del movimiento (ej: NORMAL, FIRE, WATER, ELECTRIC, etc.). Debe coincidir con un tipo definido en types.txt. |
Category |
Sí | 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.