targetnestInky: ld bc,32+(32*256) jr t targetnestClyde: ld bc,32 jr t targetnestPinky: ld bc,-8 jr t targetnestBlinky: ld bc,-8+(28*256) jr t targetHome: ld bc,12+(13*256) t: ld (targetY),bc ret getTargetBlinky: ld a,(redGhostData+6) cp a,EYES_ACTIVE jp z,targetHome ld a,(FrightModeON) or a,a jp nz,getRandomTarget ld a,(ScatterModeON) or a,a jp z,targetnestBlinky getTargetPacMan: ld hl,(PacManY) ; get X and Y tiles ld de,7+(7*256) add hl,de ex de,hl call getTileReal ld (targetY),bc ret getTargetPinky: ld a,(pinkGhostData+6) cp a,EYES_ACTIVE jp z,targetHome ld a,(FrightModeON) or a,a jp nz,getRandomTarget ld a,(ScatterModeON) or a,a jr z,targetnestPinky call getTargetPacMan ld hl,t push hl ld a,(PacManDir) or a,a jp z,detLeft dec a jp z,detDown dec a jp z,detRight jp detUp getTargetInky: ; Only one not like the orignal, because it's wierd. ld a,(blueGhostData+6) cp a,EYES_ACTIVE jp z,targetHome ld a,(FrightModeON) or a,a jp nz,getRandomTarget ld a,(ScatterModeON) or a,a jp z,targetnestInky call getTargetPacMan call getRand jr z,+_ ld a,b sub a,10 ld b,a jr ++_ _: ld a,c add a,10 ld c,a _: ld (targetY),bc ret getRandomTarget: ld b,30 call irandom push af ld b,30 call irandom pop bc ld c,a call _SetBCUto0 jp t ;-----> Generate a random number ; input b=upper bound ; ouput a=answer 0<=a