summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2013-11-10 16:32:16 -0600
committerBryan Bishop <kanzure@gmail.com>2013-11-10 16:32:35 -0600
commit4fab1088d9718ef94bb72caa3463a0648aff848a (patch)
tree4a0521ff404866daa5692c1d8d3b40362706465b
parentc76156f3f0d48a6eed324c7f99e20a365f2da416 (diff)
function to start a battle by rocksmash
01:04 < padz> u cunt
-rw-r--r--pokemontools/vba/vba.py21
1 files changed, 4 insertions, 17 deletions
diff --git a/pokemontools/vba/vba.py b/pokemontools/vba/vba.py
index a3c8b7b..60cd0ab 100644
--- a/pokemontools/vba/vba.py
+++ b/pokemontools/vba/vba.py
@@ -884,26 +884,13 @@ class crystal(object):
self.call(calculate_address(givepoke_address), bank=calculate_bank(givepoke_address))
- def broken_start_random_battle_by_rocksmash_battle_script(self):
+ def start_random_battle_by_rocksmash_battle_script(self):
"""
- This doesn't start a battle.
+ Initiates a wild battle using the same function that using rocksmash
+ would call.
"""
- CallScript_address = 0x261f
RockSmashBattleScript_address = 0x97cf9
- ScriptRunning = 0xd438
- ScriptBank = 0xd439
- ScriptPos = 0xd43a
-
- memory = self.vba.memory
- memory[ScriptBank] = calculate_bank(RockSmashBattleScript_address)
- memory[ScriptPos] = (calculate_address(RockSmashBattleScript_address) & 0xff00) >> 8
- memory[ScriptPos+1] = calculate_address(RockSmashBattleScript_address) & 0xff
- memory[ScriptRunning] = 0xff
- self.vba.memory = memory
-
- self.vba.registers["af"] = (calculate_bank(RockSmashBattleScript_address) << 8) | (self.vba.registers.af & 0xff)
- self.vba.registers["hl"] = calculate_address(RockSmashBattleScript_address)
- self.call(calculate_address(CallScript_address), bank=calculate_bank(CallScript_address))
+ self.call_script(RockSmashBattleScript_address)
#def attempt_start_battle_by_startbattle(self):
# StartBattle_address = 0x3f4c1