diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2019-09-09 23:14:57 +0100 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2019-09-09 23:14:57 +0100 |
commit | 35859ec72f645affa3cfc0e6eae6e5327e03c62e (patch) | |
tree | 4c6d331986276cfff85c112059c15812acbb4208 /src | |
parent | 4984d5204818795c4a0c200c0f21f31610661e2e (diff) |
Disassemble and label CheckIfAnyCardIDinLocation
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/bank05.asm | 57 |
1 files changed, 46 insertions, 11 deletions
diff --git a/src/engine/bank05.asm b/src/engine/bank05.asm index c0287b9..3b790f0 100644 --- a/src/engine/bank05.asm +++ b/src/engine/bank05.asm @@ -1593,8 +1593,43 @@ CountNumberOfEnergyCardsAttached: ; 15787 (5:5787) ret ; 0x157a3 -Func_157a3: ; 157a3 (5:57a3) - INCROM $157a3, $158b2 +; returns carry if any card with ID in e is found +; in card location in a +; input: +; a = card location to look in; +; e = card ID to look for. +CheckIfAnyCardIDinLocation: ; 157a3 (5:57a3) + ld b, a + ld c, e + lb de, 0, 0 +.loop + ld a, DUELVARS_CARD_LOCATIONS + add e + call GetTurnDuelistVariable + cp b + jr nz, .next + ld a, e + push de + call GetCardIDFromDeckIndex + ld a, e + pop de + cp c + jr z, .set_carry +.next + inc e + ld a, DECK_SIZE + cp e + jr nz, .loop + or a + ret +.set_carry + ld a, e + scf + ret +; 0x157c6 + +Func_157c6: ; 157c6 (5:57c6) + INCROM $157c6, $158b2 ; determine AI score for retreating ; return carry if AI decides to retreat @@ -4889,7 +4924,7 @@ Func_16dcd: ; 16dcd (5:6dcd) .asm_16e3e ld a, CARD_LOCATION_DECK - call Func_157a3 + call CheckIfAnyCardIDinLocation jr nc, .done ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA call GetTurnDuelistVariable @@ -4904,11 +4939,11 @@ Func_16dcd: ; 16dcd (5:6dcd) .asm_16e55 ld e, NIDORANM ld a, CARD_LOCATION_DECK - call Func_157a3 + call CheckIfAnyCardIDinLocation jr c, .asm_16e67 ld e, NIDORANF ld a, CARD_LOCATION_DECK - call Func_157a3 + call CheckIfAnyCardIDinLocation jr nc, .done .asm_16e67 ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA @@ -4924,19 +4959,19 @@ Func_16dcd: ; 16dcd (5:6dcd) .asm_16e77 ld e, GEODUDE ld a, CARD_LOCATION_DECK - call Func_157a3 + call CheckIfAnyCardIDinLocation jr c, .asm_16e9d ld e, ONIX ld a, CARD_LOCATION_DECK - call Func_157a3 + call CheckIfAnyCardIDinLocation jr c, .asm_16e9d ld e, CUBONE ld a, CARD_LOCATION_DECK - call Func_157a3 + call CheckIfAnyCardIDinLocation jr c, .asm_16e9d ld e, RHYHORN ld a, CARD_LOCATION_DECK - call Func_157a3 + call CheckIfAnyCardIDinLocation jr c, .asm_16e9d jr .done .asm_16e9d @@ -5041,7 +5076,7 @@ Func_16dcd: ; 16dcd (5:6dcd) .asm_16f41: ; 16f41 (5:6f41) ld e, PSYCHIC_ENERGY ld a, CARD_LOCATION_DISCARD_PILE - call Func_157a3 + call CheckIfAnyCardIDinLocation jp nc, .done ld a, $82 ret @@ -5150,7 +5185,7 @@ Func_16dcd: ; 16dcd (5:6dcd) .asm_16ff2: ; 16ff2 (5:6ff2) ld a, CARD_LOCATION_DECK ld e, LIGHTNING_ENERGY - call Func_157a3 + call CheckIfAnyCardIDinLocation jp nc, .done call Func_164a1 jp nc, .done |