sovereignx/migration_scripts
cawtds 97143e020f
Refactor move animations (#4683)
* fix getboxmondata for evolutiontracker if compiled with agbcc

* refactored move animation scripts as part of gMovesInfo

* migration script for move anims

* default animation, migration for battle_anim_scripts.s

* added warning for missing animation

* add include to migration

* add struct member in migration script

* removed include and struct member from migration script

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-06-02 08:18:13 +02:00
..
battle_anim_moves_refactor.py Refactor move animations (#4683) 2024-06-02 08:18:13 +02:00
convert_item_icons.py Follow up to #4579: wrong naming (#4591) 2024-05-18 17:05:25 +02:00
convert_partner_parties.py Make trainerproc compatible with partners (#4421) 2024-04-22 17:03:36 +02:00
convert_trainer_parties.py Make trainerproc compatible with partners (#4421) 2024-04-22 17:03:36 +02:00
egg_move_refactor.py Egg Move Refactor (#4534) 2024-05-19 13:47:15 +02:00
item_ball_refactor.py Added directory for migration scripts and added item_ball migration script (#3997) 2024-01-16 18:12:05 +01:00
README.md Added directory for migration scripts and added item_ball migration script (#3997) 2024-01-16 18:12:05 +01:00

Migration Scripts

What are migration scripts?

pokeemerald-expansion rewrites existing systems in pokeemerald to improve their efficiency and make them easier to use and implement for developers. If developers were previously using a system that has been deprecated, it can be difficult to manually migrate between systems.

These scripts exist to help developers make the transition between refactored systems.

Requirements

All migration scripts require python3 to be installed. Migration scripts are executed by running the following commands from the root directory of a developer's project.

chmod +x migration_scripts/*.py ; #give permision to make the script executable
python3 migration_scripts/*.py ; #run the migration script

* will need to be replaced with the name of the appropriate script.

Item Balls

Modifies all item ball scripts defined using to original Game Freak method to the new refactored method.

data/scripts/item_ball_scripts.inc

- Route102_EventScript_ItemPotion::
-	finditem ITEM_POTION
+ Common_EventScript_FindItem::
+   callnative GetObjectEventTrainerRangeFromTemplate
+   finditem VAR_RESULT
	end

data/maps/Route102/map.json

    {
      "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
      "x": 50,
      "y": 5,
      "elevation": 3,
      "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
      "movement_range_x": 1,
      "movement_range_y": 1,
      "trainer_type": "TRAINER_TYPE_NONE",
-      "trainer_sight_or_berry_tree_id": "0",
-      "script": "Route102_EventScript_ItemPotion",
+      "trainer_sight_or_berry_tree_id": "ITEM_POTION",
+      "script": "Common_EventScript_FindItem",
      "flag": "FLAG_ITEM_ROUTE_102_POTION"
    },