From 8bdbfe69750ac58b5e40a015bda74c7fd8d8a85f Mon Sep 17 00:00:00 2001 From: judicornadamsfoster Date: Mon, 7 Sep 2026 11:03:51 +0100 Subject: [PATCH] Created RoamersPlus - multiple Roamers at once (markdown) --- RoamersPlus-‐-multiple-Roamers-at-once.md | 65 +++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 RoamersPlus-‐-multiple-Roamers-at-once.md diff --git a/RoamersPlus-‐-multiple-Roamers-at-once.md b/RoamersPlus-‐-multiple-Roamers-at-once.md new file mode 100644 index 0000000..5721b1a --- /dev/null +++ b/RoamersPlus-‐-multiple-Roamers-at-once.md @@ -0,0 +1,65 @@ +***original source: [DarkDown's pokecommunity post](https://www.pokecommunity.com/threads/roamersplus-multiple-concurrent-roamers-and-other-roamer-related-features.472080/)*** + +## From DarkDown's post: + +***Github branch:*** +https://github.com/Sneed69/pokeemerald/tree/RoamersPlus + +***IMPORTANT:*** +***If using the RHH expansion, my changes to src/battle_ai_script_commands.c instead go into src/battle_ai_main.c*** + +As most of you already know, in Pokemon Emerald, the player hears about the Eon Pokemon on TV and then chooses one of them to appear in the game. +The chosen Pokemon will then roam through certain routes and flee from battles instead of engaging the player in battle. +At its default state the game only allows for one roamer to exist at a time. +This branch allows you to set up as many roamers as you can fit into your saveblocks. +The Saveblock1 size of a Roamer has been reduced from 28 to 24 bytes. Each roamer beyond the first will of course take up an additional 24 bytes. + +### ***Other features:*** + +***Unbound Roaming*** +An optional feature that extends roaming to all routes. Normally roamers do not frequent most of the western routes. +***Terrestrial Roamers*** +These roamers cannot be found on water tiles and do not roam on sea routes. Why is that Entei surfing? +***Battling Roamers*** +Choose whether a roamer flees or battles normally. +***Stalkers*** +These "roamers" will always move to your location. They leave the area after battle, but will follow you to the next area. Stalkers are not shown on the Pokedex by default. +***Respawning Roamers*** +Select one of four respawning modes: no respawn, daily, weekly or instant respawn. Respawning roamers will not stop existing until they are caught. +***Scaling Roamers*** +Adding a roamer with a level of 0 will create a scaling roamer. A scaling roamer's level increases based on your highest level party member and a constant modifier. +Includes an optional feature that allows roamers to evolve if they are high enough level. +Roamers will not level down or devolve if encountered with a weaker party. +***Save/Load Persistent Locations*** +Roamer locations are added to SaveBlock1 and thus will not be randomized on game load. + +A branch that does not include Persistent Locations can be found [here](https://github.com/Sneed69/pokeemerald/tree/RoamersPlus-No-Persistent-Locations). In this branch the Roamer struct takes up 16 bytes. + +I included an example that, at the start of a new game or when InitRoamer() is called, creates the following roamers to showcase these features: + + A basic Latias roamer that respawns weekly + A terrestrial Pikachu roamer that respawns daily + A terrestrial Pikachu that does not flee from battle + A scaling Weedle stalker that does not flee from battle and respawns instantly + +All these species are also added to the Pokedex so you can track them. + +__________ + +### How To Use: + +pull from branches + +Unbound / Terrestrial / Battling Roamers / Stalkers / Respawning / Scaling / Persistant Locations +[compare](https://github.com/Sneed69/pokeemerald/tree/RoamersPlus) +``` +git add remote Sneed69 https://github.com/Sneed69/pokeemerald.git +git pull Sneed69 RoamersPlus +``` + +The above, but without Persistant Locations +[compare](https://github.com/Sneed69/pokeemerald/tree/RoamersPlus-No-Persistent-Locations) +``` +git add remote Sneed69 https://github.com/Sneed69/pokeemerald.git +git pull Sneed69 RoamersPlus-No-Persistent-Locations +``` \ No newline at end of file