sovereignx/migration_scripts
2024-05-18 17:05:25 +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
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"
    },