Vulture
From TLoZ: ALTTP Hacking Resources
Sprite $01: The Vulture
Vulture
Description
Desert bird of prey. Circles the player and closes in slowly.
Combat Strategy
Spin attacks can be effective when the vulture has closed in on the player.
Stats And Properties
$06B081
Bit(s) | Info | Value |
---|---|---|
Bit 7 | Harmless | 0 |
Bit 6 | ? | 0 |
Bit 5 | ? | 0 |
Bits 4-0 | OAM Slots | 00010 ($02) |
$06B174
Bit(s) | Info | Value |
---|---|---|
Bits 7-0 | HP | 0000 0110 ($06) |
$06B267
Bit(s) | Info | Value |
---|---|---|
Bits 7-4 | ? | 1000 ($80) |
Bits 3-0 | Damage Type | 0011 ($03) |
$06B35A
Bit(s) | Info | Value |
---|---|---|
Bit 7 | No Death Animation | 0 |
Bit 6 | Invincible | 0 |
Bit 5 | Adjust Child coordinates | 0 |
Bit 4 | Draw Shadow | 0 |
Bit 3-1 | Palette | 101 ($05) |
Bit 0 | ? | 1 |
$06B44D
Bit(s) | Info | Value |
---|---|---|
Bit 7 | Ignore Collision Settings | 0 |
Bit 6 | Statis | 0 |
Bit 5 | Persist | 0 |
Bits 4-0 | Hit Box Dimensions | 00000 ($00) |
$06B540
Bit(s) | Info | Value |
---|---|---|
Bits 7-4 | Tile Interaction Hit Box | 0000 ($00) |
Bit 3 | ? | 0 |
Bit 2 | ? | 0 |
Bit 1 | Dies Like A Boss | 0 |
Bit 0 | Falls In Holes | 0 |
$06B633
Bit(s) | Info | Value |
---|---|---|
Bit 7 | Disable Tile Interactions | 1 |
Bit 6 | ? | 0 |
Bit 5 | Is shield Blockable | 0 |
Bit 4 | Alternate Damage Sound | 1 |
Bit 3-0 | Prize Pack | 0110 ($06) |
$06B726
Bit(s) | Info | Value |
---|---|---|
Bit 7 | ? | 0 |
Bit 6 | ? | 0 |
Bit 5 | Is Interactive | 0 |
Bit 4 | Deflect Projectiles | 0 |
Bit 3 | Collide With Less Tiles | 0 |
Bit 2 | Impervious To Sword/Hammer | 0 |
Bit 1 | Impervious To Arrows? | 0 |
Bit 0 | ? | 0 |
Code
; *$EDC72-$EDC79 LONG Sprite_VultureLong: { PHB : PHK : PLB JSR Sprite_Vulture PLB RTL }
- ==============================================================================
; *$EDC7A-$EDC9B LOCAL Sprite_Vulture: { LDA $0B89, X : ORA.b #$30 : STA $0B89, X JSR Vulture_Draw JSR Sprite4_CheckIfActive JSR Sprite4_CheckIfRecoiling JSR Sprite4_CheckDamage JSR Sprite4_Move LDA $0D80, X JSL UseImplicitRegIndexedLocalJumpTable dw Vulture_Dormant dw Vulture_Circling }
- ==============================================================================
; *$EDC9C-$EDCB4 JUMP LOCATION Vulture_Dormant: { INC $0E80, X : LDA $0E80, X : CMP.b #$A0 : BNE .activation_delay INC $0D80, X LDA.b #$1E : JSL Sound_SetSfx3PanLong LDA.b #$10 : STA $0DF0, X .activation_delay RTS }
- ==============================================================================
; $EDCB5-$EDCB8 DATA pool Vulture_Circling: { .animation_states db 1, 2, 3, 2 }
- ==============================================================================
; *$EDCB9-$EDD1D JUMP LOCATION Vulture_Circling: { LDA $1A : LSR A : AND.b #$03 : TAY LDA .animation_states, Y : STA $0DC0, X LDA $0DF0, X : BEQ .finished_ascending INC $0F70, X RTS .finished_ascending TXA : EOR $1A : AND.b #$01 : BNE .dont_adjust_xy_speeds TXA : AND.b #$0F : ADD.b #$18 JSL Sprite_ProjectSpeedTowardsPlayerLong LDA $00 : EOR.b #$FF : INC A : STA $0D50, X LDA $01 : STA $0D40, X LDA $0E : ADD.b #$28 : CMP.b #$50 : BCS .too_far_from_player LDA $0F : ADD.b #$28 : CMP.b #$50 : BCS .too_far_from_player .dont_adjust_xy_speeds RTS .too_far_from_player ; This mess o' logic keep the vulture from going too far from the ; player by apparently reversing somewhat... LDA $00 : ASL $00 : PHP : ROR A : PLP : ROR A : ADD $0D40, X : STA $0D40, X LDA $01 : ASL $01 : PHP : ROR A : PLP : ROR A : ADD $0D50, X : STA $0D50, X RTS }
- ==============================================================================
; $EDD1E-$EDD5D DATA pool Vulture_Draw: { .oam_groups dw -8, 0 : db $86, $00, $00, $02 dw 8, 0 : db $86, $40, $00, $02 dw -8, 0 : db $80, $00, $00, $02 dw 8, 0 : db $80, $40, $00, $02 dw -8, 0 : db $82, $00, $00, $02 dw 8, 0 : db $82, $40, $00, $02 dw -8, 0 : db $84, $00, $00, $02 dw 8, 0 : db $84, $40, $00, $02 }
- ==============================================================================
; *$EDD5E-$EDD7A LOCAL Vulture_Draw: { LDA.b #$00 : XBA LDA $0DC0, X : REP #$20 : ASL #4 : ADC.w #.oam_groups : STA $08 SEP #$20 LDA.b #$02 : JSR Sprite4_DrawMultiple JSL Sprite_DrawShadowLong RTS }