From a98dcc1745dac35420d8d37d7578123919038485 Mon Sep 17 00:00:00 2001 From: Bryan Bishop Date: Thu, 28 Feb 2013 04:31:45 -0600 Subject: [PATCH] vba warp function --- extras/vba.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/extras/vba.py b/extras/vba.py index e5e481c59..5c6ebfbeb 100644 --- a/extras/vba.py +++ b/extras/vba.py @@ -462,6 +462,16 @@ class crystal: crystal.walk_through_walls() step() + @staticmethod + def disable_triggers(): + set_memory_at(0x23c4, 0xAF) + set_memory_at(0x23d0, 0xAF); + + @staticmethod + def disable_callbacks(): + set_memory_at(0x23f2, 0xAF) + set_memory_at(0x23fe, 0xAF) + @staticmethod def get_map_group_id(): """ @@ -495,6 +505,24 @@ class crystal: y = get_memory_at(0xdcb7) return (x, y) + @staticmethod + def menu_select(id=1): + """ + Sets the cursor to the given pokemon in the player's party. This is + under Start -> PKMN. This is useful for selecting a certain pokemon + with fly or another skill. + + This probably works on other menus. + """ + set_memory_at(0xcfa9, id) + + @staticmethod + def warp_to(map_group_id, map_id): + """ + Warp to a different map. Because I said so. + """ + raise NotImplementedError + @staticmethod def is_in_battle(): """ @@ -541,6 +569,17 @@ class crystal: name = translate_chars(bytez) return name + @staticmethod + def warp(map_group_id, map_id, x, y): + set_memory_at(0xdcb5, map_group_id) + set_memory_at(0xdcb6, map_id) + set_memory_at(0xdcb7, y) + set_memory_at(0xdcb8, x) + set_memory_at(0xd001, 0xFF) + set_memory_at(0xff9f, 0xF1) + set_memory_at(0xd432, 1) + set_memory_at(0xd434, 0 & 251) + @staticmethod def set_partymon2(): """