diff options
Diffstat (limited to 'data/odd_eggs.asm')
-rw-r--r-- | data/odd_eggs.asm | 103 |
1 files changed, 3 insertions, 100 deletions
diff --git a/data/odd_eggs.asm b/data/odd_eggs.asm index 2a1e7d997..a46d84bdc 100644 --- a/data/odd_eggs.asm +++ b/data/odd_eggs.asm @@ -1,106 +1,9 @@ -GiveOddEgg: ; 1fb4b6 - - ; Figure out which egg to give. - - ; Compare a random word to - ; probabilities out of 0xffff. - call Random - ld hl, .Probabilities - ld c, 0 - ld b, c -.loop - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - - ; Break on $ffff. - ld a, d - cp $ffff / $100 - jr nz, .not_done - ld a, e - cp $ffff % $100 - jr z, .done -.not_done - - ; Break when [hRandom] <= de. - ld a, [hRandom + 1] - cp d - jr c, .done - jr z, .ok - jr .next -.ok - ld a, [hRandom + 0] - cp e - jr c, .done - jr z, .done -.next - inc bc - jr .loop -.done - - ld hl, OddEggs - ld a, OddEgg2 - OddEgg1 - call AddNTimes - - ld de, OddEggSpecies - ld bc, PARTYMON_STRUCT_LENGTH + 2 * PKMN_NAME_LENGTH - call CopyBytes - - ld a, EGG_TICKET - ld [CurItem], a - ld a, 1 - ld [wItemQuantityChangeBuffer], a - ld a, -1 - ld [CurItemQuantity], a - ld hl, NumItems - call TossItem - - ; load species in wcd2a - ld a, EGG - ld [wMobileMonSpeciesBuffer], a - - ; load pointer to (wMobileMonSpeciesBuffer - 1) in wMobileMonSpeciesPointerBuffer - ld a, (wMobileMonSpeciesBuffer - 1) % $100 - ld [wMobileMonSpeciesPointerBuffer], a - ld a, (wMobileMonSpeciesBuffer - 1) / $100 - ld [wMobileMonSpeciesPointerBuffer + 1], a - ; load pointer to OddEggSpecies in wMobileMonStructurePointerBuffer - ld a, OddEggSpecies % $100 - ld [wMobileMonStructurePointerBuffer], a - ld a, OddEggSpecies / $100 - ld [wMobileMonStructurePointerBuffer + 1], a - - ; load Odd Egg Name in wTempOddEggNickname - ld hl, .Odd - ld de, wTempOddEggNickname - ld bc, PKMN_NAME_LENGTH - call CopyBytes - - ; load pointer to wTempOddEggNickname in wMobileMonOTNamePointerBuffer - ld a, wTempOddEggNickname % $100 - ld [wMobileMonOTNamePointerBuffer], a - ld a, wTempOddEggNickname / $100 - ld [wMobileMonOTNamePointerBuffer + 1], a - ; load pointer to wOddEggName in wMobileMonNicknamePointerBuffer - ld a, wOddEggName % $100 - ld [wMobileMonNicknamePointerBuffer], a - ld a, wOddEggName / $100 - ld [wMobileMonNicknamePointerBuffer + 1], a - callba AddMobileMonToParty - ret -; 1fb546 - -.Odd: - db "ODD@@@@@@@@@" - -.Probabilities: - -prob: MACRO +prob: macro prob_total = prob_total + (\1) dw prob_total * $ffff / 100 -ENDM +endm +OddEggProbabilities: prob_total = 0 ; Pichu prob 8 |