add helmet chuchu subtypes, basic hopping movement
This commit is contained in:
@@ -2,12 +2,12 @@
|
|||||||
; Sprite Properties
|
; Sprite Properties
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
!SPRID = $00; The sprite ID you are overwriting (HEX)
|
!SPRID = $05 ; The sprite ID you are overwriting (HEX)
|
||||||
!NbrTiles = 00 ; Number of tiles used in a frame
|
!NbrTiles = 05 ; Number of tiles used in a frame
|
||||||
!Harmless = 00 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
|
!Harmless = 00 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
|
||||||
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is
|
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is
|
||||||
!Health = 00 ; Number of Health the sprite have
|
!Health = $20 ; Number of Health the sprite have
|
||||||
!Damage = 00 ; (08 is a whole heart), 04 is half heart
|
!Damage = 08 ; (08 is a whole heart), 04 is half heart
|
||||||
!DeathAnimation = 00 ; 00 = normal death, 01 = no death animation
|
!DeathAnimation = 00 ; 00 = normal death, 01 = no death animation
|
||||||
!ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it
|
!ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it
|
||||||
!SmallShadow = 00 ; 01 = small shadow, 00 = no shadow
|
!SmallShadow = 00 ; 01 = small shadow, 00 = no shadow
|
||||||
@@ -29,14 +29,21 @@
|
|||||||
!ImperviousArrow = 00 ; 01 = Impervious to arrows
|
!ImperviousArrow = 00 ; 01 = Impervious to arrows
|
||||||
!ImpervSwordHammer = 00 ; 01 = Impervious to sword and hammer attacks
|
!ImpervSwordHammer = 00 ; 01 = Impervious to sword and hammer attacks
|
||||||
!Boss = 00 ; 00 = normal sprite, 01 = sprite is a boss
|
!Boss = 00 ; 00 = normal sprite, 01 = sprite is a boss
|
||||||
|
|
||||||
%Set_Sprite_Properties(Sprite_HelmetChuchu_Prep, Sprite_HelmetChuchu_Long)
|
%Set_Sprite_Properties(Sprite_HelmetChuchu_Prep, Sprite_HelmetChuchu_Long)
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
|
; 0-1: No Helmet Green
|
||||||
|
; 2-3: Mask Red
|
||||||
|
; 4-5: Helmet Green
|
||||||
|
|
||||||
Sprite_HelmetChuchu_Long:
|
Sprite_HelmetChuchu_Long:
|
||||||
|
{
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|
||||||
JSR Sprite_HelmetChuchu_Draw ; Call the draw code
|
JSR Sprite_HelmetChuchu_Draw ; Call the draw code
|
||||||
|
JSL Sprite_DrawShadow
|
||||||
JSL Sprite_CheckActive ; Check if game is not paused
|
JSL Sprite_CheckActive ; Check if game is not paused
|
||||||
BCC .SpriteIsNotActive ; Skip Main code is sprite is innactive
|
BCC .SpriteIsNotActive ; Skip Main code is sprite is innactive
|
||||||
|
|
||||||
@@ -45,35 +52,77 @@ Sprite_HelmetChuchu_Long:
|
|||||||
.SpriteIsNotActive
|
.SpriteIsNotActive
|
||||||
PLB ; Get back the databank we stored previously
|
PLB ; Get back the databank we stored previously
|
||||||
RTL ; Go back to original code
|
RTL ; Go back to original code
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Sprite_HelmetChuchu_Prep:
|
||||||
Sprite_HelmetChuchu_Prep:
|
{
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|
||||||
; Add more code here to initialize data
|
LDA.b #$80 : STA.w SprHealth, X
|
||||||
|
JSL GetRandomInt : AND.b #$02 : STA SprAction, X
|
||||||
|
|
||||||
PLB
|
PLB
|
||||||
RTL
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
Sprite_HelmetChuchu_Main:
|
Sprite_HelmetChuchu_Main:
|
||||||
LDA.w SprAction, X; Load the SprAction
|
{
|
||||||
JSL UseImplicitRegIndexedLocalJumpTable; Goto the SprAction we are currently in
|
LDA.w SprAction, X
|
||||||
dw Action00
|
JSL UseImplicitRegIndexedLocalJumpTable
|
||||||
|
|
||||||
|
dw HelmetGreen
|
||||||
|
dw NoHelmetGreen
|
||||||
|
dw MaskRed
|
||||||
|
|
||||||
|
HelmetGreen:
|
||||||
|
{
|
||||||
|
%StartOnFrame(4)
|
||||||
|
%PlayAnimation(4, 5, 16)
|
||||||
|
JSL Sprite_CheckDamageFromPlayer : BCC .no_damage
|
||||||
|
%GotoAction(1)
|
||||||
|
.no_damage
|
||||||
|
JSR Sprite_Chuchu_Move
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Action00:
|
NoHelmetGreen:
|
||||||
|
{
|
||||||
|
%PlayAnimation(0, 1, 16)
|
||||||
|
JSL Sprite_CheckDamageFromPlayer
|
||||||
|
JSR Sprite_Chuchu_Move
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
MaskRed:
|
||||||
|
{
|
||||||
|
%PlayAnimation(2, 3, 16)
|
||||||
|
|
||||||
|
JSL Sprite_CheckDamageFromPlayer : BCC .no_damage
|
||||||
|
%GotoAction(1)
|
||||||
|
.no_damage
|
||||||
|
JSR Sprite_Chuchu_Move
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Sprite_Chuchu_Move:
|
||||||
|
{
|
||||||
|
JSL Sprite_PlayerCantPassThrough
|
||||||
|
JSL GetRandomInt : AND.b #$08 : STA $09 ; Speed
|
||||||
|
JSL GetRandomInt : AND.b #$06 : STA $08 ; Height
|
||||||
|
JSL Sprite_BounceTowardPlayer
|
||||||
|
JSL Sprite_BounceFromTileCollision
|
||||||
RTS
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
Sprite_HelmetChuchu_Draw:
|
Sprite_HelmetChuchu_Draw:
|
||||||
|
{
|
||||||
JSL Sprite_PrepOamCoord
|
JSL Sprite_PrepOamCoord
|
||||||
JSL Sprite_OAM_AllocateDeferToPlayer
|
JSL Sprite_OAM_AllocateDeferToPlayer
|
||||||
|
|
||||||
@@ -130,6 +179,9 @@ Sprite_HelmetChuchu_Draw:
|
|||||||
|
|
||||||
|
|
||||||
; =======================================================
|
; =======================================================
|
||||||
|
; chr prop
|
||||||
|
; Mask $04 $37
|
||||||
|
; Helmet $08 $3B
|
||||||
|
|
||||||
.start_index
|
.start_index
|
||||||
db $00, $02, $03, $06, $08, $0A
|
db $00, $02, $03, $06, $08, $0A
|
||||||
@@ -150,10 +202,13 @@ Sprite_HelmetChuchu_Draw:
|
|||||||
dw 0, -8
|
dw 0, -8
|
||||||
dw 0, -4
|
dw 0, -4
|
||||||
.chr
|
.chr
|
||||||
|
; No Helmet Green
|
||||||
db $26, $16
|
db $26, $16
|
||||||
db $24
|
db $24
|
||||||
|
; Mask Red
|
||||||
db $26, $16, $04
|
db $26, $16, $04
|
||||||
db $24, $04
|
db $24, $04
|
||||||
|
; Helmet Green
|
||||||
db $26, $08
|
db $26, $08
|
||||||
db $24, $08
|
db $24, $08
|
||||||
.properties
|
.properties
|
||||||
@@ -170,3 +225,4 @@ Sprite_HelmetChuchu_Draw:
|
|||||||
db $02, $02
|
db $02, $02
|
||||||
db $02, $02
|
db $02, $02
|
||||||
db $02, $02
|
db $02, $02
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user