$ python3 migration_scripts/convert_parties.py src/data/trainers.h src/data/trainer_parties.h src/data/npc_trainers.party
Is available to convert Trainer Control-formatted trainers/parties into
Competitive-formatted ones.
Multiple '#include's can be placed in the trainer section of src/data.c
to support spreading the trainers across multiple .party files.
trainerproc does not interpret the values, leaving that job to the C
compiler, so we use '#line' to associate those errors with the lines in
the .party file(s). Because the columns don't make sense we use
-fno-show-column and -fno-diagostics-show-caret. We might want to move
gTrainers into its own file so that the rest of src/data.c isn't
affected by those flags.
Extensions (misfeatures, imo):
- .party files are passed through cpp, so '#define's are supported, and so
are '// ...' and '/* ... */' comments.
- .party files also support writing, e.g. 'SPECIES_PIKACHU' instead of
'Pikachu'. This allows people to write constants explicitly if they
like.
Pragmas:
- '#pragma trainerproc ivs explicit' requires an explicit 'IVs:' line
rather than defaulting to 31s.
- '#pragma trainerproc ivs <IVs>' changes the default IVs.
- '#pragma trainerproc level explicit' requires an explicit 'Level:'
line rather than defaulting to 100.
- '#pragma trainerproc level <level>' changes the default level.
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Ogerpon form icons
* Sprigatito family
* Fuecoco family
* Quaxly family
* Lechonk family
* Tarountula family
* Nymble family
* Pawmi family
* Tandemaus family
* Fidough family
* Smoliv family
* Squawkabilly forms
* Nacli family
* Charcadet family
* Tadbulb family
* Wattrel family
* Maschiff family
* Shroodle family
* Bramblin family
* Toedscool family
* Klawf
* Capsakid family
* Rellor family
* Flittle family
* Tinkatink family
* Wiglett family
* Bombirdier
* Finizen family
* Varoom family
* Cyclizar
* Orthworm
* Glimmet family
* Greavard family
* Flamigo
* Cetoddle family
* Veluza
* Dondozo
* Tatsugiri forms
* Annihilape
* Clodsire
* Farigiraf
* Dudunsparce
* Kingambit
* Great Tusk
* Scream Tail
* Brute Bonnet
* Flutter Mane
* Slither Wing
* Sandy Shocks
* Iron Treads
* Iron Bundle
* Iron Hands
* Iron Jugulis
* Iron Moth
* Iron Thorns
* Frigibax family
* Gimmighoul family
* Treasures of Ruin
* Roaring Moon
* Iron Valiant
* Paradox duo
* Walking Wake
* Iron Leaves
* Dipplin
* Poltchageist family
* The Loyal Three
* Ursaluna Bloodmoon
* Revert "Ursaluna Bloodmoon"
This reverts commit 33486816cf19ebe4b868117824c0ac77e183e806.
* Revert "Revert "Ursaluna Bloodmoon""
This reverts commit 2d0e90e51d896517821cda42aea5bb5fabd0b61e.
* Oops, out of order :(
* Paldean Tauros breeds
* PLA New Pokemon
* PLA Hisuian Forms
* Archaludon
* Hydrapple
* Gouging Fire
* Raging Bolt
* Iron Boulder
* Iron Crown
* Terapagos forms
* Pecharunt
* Partner Pikachu
* Partner Eevee
* Address reviews
* Arboliva tweak
* more customization to struct FacilityMon, remove facility item ids, convert vanilla data, add CreateFacilityMon universal function
* fix some unused vars
* use TrainerMon struct instead of FacilityMon
* add dynamaxLevel, gigantamaxFactor to CreateFacilityMon
* some struct TrainerMon documentation
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
* Absolute IDs
* Mothim internal forms
* Scatterbug/Spewpa internal forms
* Fixed Mothim not having form tables
* Totem Alolan Raticate
* Moved shared dex text to its own folder
* Totem Mimikyu
* Added missing empty third-ability fields
* Totem Gumshoos + missing totem flags
* Renamed files to better match their contents
* Fixed Disguise on Totem Mimikyu
* Totem Vikavolt/Alolan Marowak + missing Gumshoos form table
* Totem Ribombee/Araquanid/Lurantis/Salazzle
* Totem Togedemaru/Kommo-O
* Partner Pikachu/Eevee
* Reintroduced shinyLocked species flag for convenience
* Revert "Reintroduced shinyLocked species flag for convenience"
This reverts commit 3e07bd378ba6a249effe0aed83a424d0c775f236.
* Moved gTypeNames into gTypes
* Added invalid move text to struct
* Added max move to struct
* Added icon palette to struct
* Added macros for invalid and max moves
* Swapped palette and max move order
* Renamed invalid to generic
* Renamed invalid to generic in struct definition
* Added zMoves and items to type struct
* Addressed comments
* Incorporated newer comments
* Updated comment format
* Lvl up learnsets by generation
I think the title sums it up pretty nicely
* Update level_up_learnsets.h
forgot some newer pokemon
* divided the learnset file into generations
* Separated learnsets by generation
Separated the learnsets by generation, added a bit more documentation in the config file
* Update src/pokemon.c
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Update include/config/pokemon.h
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* PLA aux item sprites
* Gen 6 lvl up Learnset update
Updates gen 6's level up learnsets to ORAS (previously XY)
* Revert "Merge branch 'upcoming' of https://github.com/MartyKen/pokeemerald-expansion into upcoming"
This reverts commit 53462c4088926a813f216a7917b1dfeb5ef2ca25, reversing
changes made to 051a93058c83c691f8476fbb97035e64fcee38aa.
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Adds Tidy Up + minor Dragon Cheer follow up
* improve tidy up script
* Add IncreaseTidyUpScore function
* remove useless calls
* 2 small tests and a correction for IncreasyTidyUpScore
* Sets neutral nature and ability 0 as default in trainer control
* add config to generate a random ability
* minor correction
* move config to battle.h
* fixed compiling
* Last Respects effect + Fixed Supreme Overlord
* Fixed ability pop-up happening when there's no fainted party members
* Fixed Supreme Overlord counting faints during the battle instead of fainted party
* Removed invalid test.
* Converted GetSupremeOverlordModifier to an inline function
* Created inline functions to obtain faint counters
* Fixed erroneous implemenation and tests
* Lvl up learnsets by generation
I think the title sums it up pretty nicely
* Update level_up_learnsets.h
forgot some newer pokemon
* divided the learnset file into generations
* Separated learnsets by generation
Separated the learnsets by generation, added a bit more documentation in the config file
* Update src/pokemon.c
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Update include/config/pokemon.h
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* settwoturnstring command
* Unified two-turn attacks and Meteor Beam
To do: Solar Beam
* Solar Beam
Also fixed various function, removed EFFECT_GUST (who knows why that exists?)
* Updated Solar Beam + tests
* Redid two turn move + animations logic
Removed pointless various function; to do: remove Skull Bash, fix AI test
* Removed now-pointless flag
* Removed Skull Bash
And temporarily commented out failing AI tests
* Removed Sky Uppercut effect
Not sure when or why this was ever necessary
* Removed BattleScript_EffectSemiInvulnerable
Now uses BattleScript_EffectTwoTurnsAttack. Kept the effect; used the argument field to determine which STATUS3 such moves should apply but added a function to jump over weather checks in BattleScript_EffectTwoTurnsAttack if the current move is semi-invulnerable (since the instant-fire weather check and STATUS3 use the same field)
* Applied review changes
* Replaced VARIOUS with callnative
Tried to fix test but couldn't :/ wtf is going on
* Fixed one AI test
Cant fix the other...
* Added KNOWN_FAILING to failing AI tests
Separated them out into their own test
* Optimised script, overhauled charge turn string setting
Condensed multiple confusing macros into one, jumpifweathercheckchargeeffects. Script now tweaked and trimmed, string ids for charge turns now added to argument along with status3 (thanks to compression macro) and instant-fire-weather for semi-invulnerable and two-turn moves respectively. Also introduced a savedStringId in gBattleScripting to make string selection work.
* Unified two turn move tests + minor corrections
* Added semi-invulnerable move tests
Set the Razor Wind test to known failing - something to do with its animation?
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* metaprogram.h
Created by Mr. Griffin. Removed non-relevant parts
* Added DEFAULT/DEFAULT_2 macros
Also added a demonstration in battle_main
* Removed GET_ARGS
* Expanded DEFAULT
Because why not?
* Added EXCEPT
Expands to everything but the first x arguments.
* Added BIT_INDEX (thanks to MGriffin) and COMPRESS_BIT macros
These let you compress a bit up to a word in size inside a single byte and uncompress at the same time. BIT_INDEX just tells you where the bit is.
* Updated HANDLE_EXPANDED_MOVE_NAME
---------
Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>