#####################################
# SOC_Kirby
# Objects/States for Kirby's main
# abilities
#####################################
#OppositeColor = SKINCOLOR_VAPOR
Character
SkinName = kirby
DisplayName = Kirby
TagTextColor = SKINCOLOR_ROSY
TagOutlineColor = SKINCOLOR_NEON
OppositeColor = SKINCOLOR_WAVE
PlayerText = ^1Kirby^0 may not be as fast as the others, but he makes up for it in versatility.

^1Ability:^0 Inhale
Press spin to start inhaling whatever's in front of him. Once something is inhaled, press spin again to spit it out, or press custom 2 to swallow the item and copy its ability!

^1Tip:^0 Kirby will flash orange if whatever he has inhaled can be copied.
#

# Suck object
Object MT_KIRBYSUCKS
SpawnState = S_KIRBYSUCKS
Radius = 16*FRACUNIT
Height = 48*FRACUNIT
Flags = MF_SPECIAL|MF_NOCLIPHEIGHT|MF_NOGRAVITY

# PUT SPIT STARE OBJECT HERE	# 2019 note: Why did I write this like this, and how has this made it from 2017 (2018?) all the way to 2019?
Object MT_KIRBYSPITSTAR
Speed = 60*FRACUNIT
SpawnState = S_KIRBYSTAR1
SpawnHealth = 1
DeathState = S_KIRBYSTARDIE1
Radius = 16*FRACUNIT
Height = 32*FRACUNIT
Flags = MF_MISSILE|MF_NOGRAVITY

# Discarded Ability
Object MT_KIRBYSTARDROP
SpawnState = S_KIRBYSTAR1
DeathState = S_KIRBYSTARDIE1
Radius = 16*FRACUNIT
Height = 48*FRACUNIT
Flags = MF_SPECIAL|MF_BOUNCE

# Air puff
Object MT_KIRBYAIRPUFF
Speed = 6*FRACUNIT
SpawnState = S_KIRBYAIRPUFF1
SpawnHealth = 1
DeathState = S_NULL
Radius = 8*FRACUNIT
Height = 16*FRACUNIT
Flags = MF_MISSILE|MF_NOGRAVITY|MF_NOCLIPHEIGHT

# Star particle
Object MT_KIRBY_STARPARTICLE
SpawnState = S_KIRBY_STARPARTICLE
Radius = 4*FRACUNIT
Height = 8*FRACUNIT
Flags = MF_SPECIAL|MF_NOCLIPHEIGHT|MF_NOGRAVITY

# Boss star
Object MT_KIRBY_BOSSSTAR
SpawnState = S_KIRBYSTAR1
DeathState = S_KIRBYSTARDIE1
Radius = 16*FRACUNIT
Height = 48*FRACUNIT
Flags = MF_SPECIAL|MF_BOUNCE


# Ducking
State S_KIRBY_DUCK
SpriteName = SPR_PLAY
SpriteFrame = SPR2_DUCK
Next = S_KIRBY_DUCK
Duration = -1
Var1 = 0
Var2 = 0

# Slide state
State S_KIRBY_SLIDE
SpriteName = SPR_PLAY
SpriteFrame = SPR2_SLID
Next = S_KIRBY_SLIDE
Duration = -1
Var1 = 0
Var2 = 0

# Floating
State S_KIRBY_FLOATSTART
SpriteName = SPR_PLAY
SpriteFrame = SPR2_PUFF
Next = S_KIRBY_FLOAT
Duration = 4
Var1 = 0
Var2 = 0

State S_KIRBY_FLOAT
SpriteName = SPR_PLAY
SpriteFrame = SPR2_FLOT
Next = S_KIRBY_FLOAT
Duration = 6
Var1 = 0
Var2 = 0

State S_KIRBY_FLOATEND
SpriteName = SPR_PLAY
SpriteFrame = SPR2_PUFF
Next = S_PLAY_FALL
Duration = 4
Var1 = 0
Var2 = 0

State S_KIRBY_FLOATTIRE
SpriteName = SPR_PLAY
SpriteFrame = SPR2_TIRE
Next = S_KIRBY_FLOATTIRE
Duration = 2
Var1 = 0
Var2 = 0

# Death states
State S_KIRBY_DEATHTUMBLE
SpriteName = SPR_PLAY
SpriteFrame = SPR2_TMBL
Next = S_KIRBY_DEATHTUMBLE
Duration = 1
Var1 = 0
Var2 = 0

# Swim states
State S_KIRBY_SWIM
SpriteName = SPR_PLAY
SpriteFrame = SPR2_SWIM
Next = S_KIRBY_SWIM
Duration = 4
Var1 = 0
Var2 = 0

# Sucking
State S_KIRBY_SUCK
SpriteName = SPR_PLAY
SpriteFrame = SPR2_GASP
Next = S_KIRBY_SUCK
Duration = -1
Var1 = 0
Var2 = 0

State S_KIRBY_SUCKMOVE
SpriteName = SPR_PLAY
SpriteFrame = SPR2_SUKM
Next = S_KIRBY_SUCKMOVE
Duration = 4
Var1 = 0
Var2 = 0

# Spit
State S_KIRBY_SPIT
SpriteName = SPR_PLAY
SpriteFrame = SPR2_GASP
Next = S_PLAY_STND
Duration = 4
Var1 = 0
Var2 = 0

# Consume
State S_KIRBY_CONSUME
SpriteName = SPR_PLAY
SpriteFrame = SPR2_CNSM|FF_ANIMATE
Next = S_PLAY_STND
Duration = 8
Var1 = 0
Var2 = 2

# Transform
State S_KIRBY_TRANSFORM1
SpriteName = SPR_PLAY
SpriteFrame = SPR2_ABLG
Next = S_KIRBY_TRANSFORM2
Duration = 3
Var1 = 0
Var2 = 0

State S_KIRBY_TRANSFORM2
SpriteName = SPR_PLAY
SpriteFrame = SPR2_ABLG
Next = S_KIRBY_TRANSFORM2
Duration = -1
Var1 = 0
Var2 = 0

# Starship
State S_KIRBY_STARSHIP
SpriteName = SPR_KSTR
SpriteFrame = A
Next = S_KIRBY_STARSHIP
Duration = -1
Var1 = 0
Var2 = 0

# Suck states
State S_KIRBYSUCKS
SpriteName = SPR_STAR
SpriteFrame = A
Next = S_NULL
Duration = 10
Var1 = 0
Var2 = 0

# Star states
State S_KIRBYSTAR1
SpriteName = SPR_STAR
SpriteFrame = A
Next = S_KIRBYSTAR2
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYSTAR2
SpriteName = SPR_STAR
SpriteFrame = B
Next = S_KIRBYSTAR3
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYSTAR3
SpriteName = SPR_STAR
SpriteFrame = C
Next = S_KIRBYSTAR4
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYSTAR4
SpriteName = SPR_STAR
SpriteFrame = D
Next = S_KIRBYSTAR1
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYSTARDIE1
SpriteName = SPR_STRD
SpriteFrame = A
Next = S_KIRBYSTARDIE2
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYSTARDIE2
SpriteName = SPR_STRD
SpriteFrame = B
Next = S_KIRBYSTARDIE3
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYSTARDIE3
SpriteName = SPR_STRD
SpriteFrame = C
Next = S_KIRBYSTARDIE4
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYSTARDIE4
SpriteName = SPR_STRD
SpriteFrame = A
Next = S_NULL
Duration = 2
Var1 = 0
Var2 = 0

# Air puff
State S_KIRBYAIRPUFF1
SpriteName = SPR_KARP
SpriteFrame = A
Next = S_KIRBYAIRPUFF2
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYAIRPUFF2
SpriteName = SPR_KARP
SpriteFrame = B
Next = S_KIRBYAIRPUFF3
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYAIRPUFF3
SpriteName = SPR_KARP
SpriteFrame = C
Next = S_KIRBYAIRPUFF4
Duration = 2
Var1 = 0
Var2 = 0

State S_KIRBYAIRPUFF4
SpriteName = SPR_KARP
SpriteFrame = D
Next = S_NULL
Duration = 2
Var1 = 0
Var2 = 0

# Star partcile
State S_KIRBY_STARPARTICLE
SpriteName = SPR_STRS
SpriteFrame = A
Next = S_NULL
Duration = 8
Var1 = 0
Var2 = 0

Object MT_KIRBY_STARSHIPSTAR
SpawnState = S_KIRBY_STARSHIPSTAR
Radius = 4*FRACUNIT
Height = 1
Flags = MF_NOCLIPHEIGHT|MF_NOGRAVITY

State S_KIRBY_STARSHIPSTAR
SpriteName = SPR_KSTR
SpriteFrame = B
Next = S_KIRBY_STARSHIPSTAR
Duration = -1
Var1 = 0
Var2 = 0

# Copied from dirk so characters use the same animation at all times
Sprite2 SPR2_FROZ
Default = SPR2_DEAD
