File tree 1 file changed +13
-1
lines changed
1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ class PlayerMagicNumbers(IntEnum):
21
21
LUCK = 0x34
22
22
ACCURACY = 0x36
23
23
BATTLE_OVERDRIVE = 0x5BC
24
+ DEFENDING = 0x617
24
25
OVERDRIVE = 0x39
25
26
AFFECTION_POINTER = 0x00D2CABC
26
27
SLVL = 0x00D32097
@@ -218,7 +219,14 @@ def defend(self):
218
219
logger .debug ("Defending" )
219
220
# Update matches memory.main.turn_ready.
220
221
# Updated 11/27/22, still to be validated.
221
- while memory .main .turn_ready ():
222
+
223
+ # Make sure we are not already in defend state_berserk
224
+ while self .is_defending ():
225
+ pass
226
+ memory .main .wait_frames (1 ) # Buffer for safety
227
+
228
+ #Now tap to defending status.
229
+ while not self .is_defending ():
222
230
xbox .tap_y ()
223
231
224
232
def navigate_to_battle_menu (self , target : int ):
@@ -348,6 +356,10 @@ def is_status_ok(self) -> bool:
348
356
349
357
def escaped (self ) -> bool :
350
358
return self ._read_char_battle_state_address (PlayerMagicNumbers .ESCAPED )
359
+
360
+ def is_defending (self ) -> bool :
361
+ defend_byte = self ._read_char_battle_state_address (offset = PlayerMagicNumbers .DEFENDING )
362
+ return (defend_byte >> 3 ) == 1
351
363
352
364
def hp (self , combat = False ) -> int :
353
365
if not combat :
You can’t perform that action at this time.
0 commit comments