//Movement recoded
actor Quint : SemiHighArmorClass
{
Player.ScoreIcon "QUINMUGS"
player.startitem "BaseFlagPack", 1
player.soundclass "quintc"
player.displayname "Quint"
player.startitem "IsFromGB2"
player.startitem "SakugarneBoss"
player.startitem "Base112Ammo", 112
player.startitem "UltimateAttackItem3", 1
player.startitem "UltSoundWatcherSpawn3"
States
{
Animation5:
Spawn:
QUIN A 0
QUIN B 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN A 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN A 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn+2

See:
QUIN B 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN B 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN B 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN B 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN B 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN B 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN B 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN B 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN B 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN B 1 A_JumpIf(z-floorz>0, "Jumping")

QUIN C 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN C 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN C 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN C 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN C 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN C 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN C 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN C 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN C 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN C 1 A_JumpIf(z-floorz>0, "Jumping")

QUIN D 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN D 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN D 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN D 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN D 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN D 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN D 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN D 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN D 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN D 1 A_JumpIf(z-floorz>0, "Jumping")

QUIN E 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN E 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN E 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN E 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN E 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN E 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN E 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN E 1 A_JumpIf(z-floorz>0, "Jumping")
QUIN E 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN E 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn

Jumping:
QUIN L 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
QUIN L 1 A_JumpIf(z-floorz<=0, "Land")
loop

Land:
QUIN L 0 A_PlaySoundEx("quint/land","Voice")
goto Spawn

Missile:
QUIN M 0 A_JumpIfInventory("QuintPogoFlag",1,"SakuMissile")

Animation6:
QUIN MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 1 A_JumpIfInventory("QuintPogoFlag",1,"SakuSee")
Goto Spawn

SakuSee:
QUIN J 2 

SakuSeeLoop:
QUIN J 1 A_CheckFloor("Landing")
loop

Landing:
QUIN I 1 A_GiveInventory("QuintMovementCheck")

Animation3:
LandingWait:
QUIN I 0 A_JumpIf(z-floorz>0, "SakuSee")
QUIN I 1 A_GiveInventory("QuintMovementCheck")
loop

SakuMissile:
QUIN IJ 4
Goto LandingWait

Animation1:
QUKS ABCDEFGH 1
loop

Animation2:
QUIN JI 4
loop

Animation4:
QUIN J 1 A_JumpIf(z-floorz<=0, "A4Land")
loop

A4Land:
QUIN I 4
goto LandingWait

ClassPain:
QUIN H 0 A_JumpIfInventory("QuintPogoFlag",1,"QuintSakuPain")
QUIN HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
QuintSakuPain:
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
QUIN V 0 A_SpawnItem("PainFX",0,3)
QUIN VV 1 A_GiveInventory("QuintMovementCheck")
Goto LandingWait
ClassDeath:
QUIN H 0 A_SpawnItemEx("QuintDeathProp2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
CUTM H 0 A_JumpIfInTargetInventory("SakugarneWepM",1,2)
CUTM H 0 A_GiveToTarget("WeaponGetter")
CUTM H 0 A_GiveToTarget("SakugarneWepM")
goto ClassDeath
}
}

actor QuintDeathProp2 : QuintDeathProp
{
PROJECTILE
-NOGRAVITY
//+CLIENTSIDEONLY
+NOEXPLODEFLOOR
SPEED 0
	states
	{
	Spawn:
	QUIN O 0
	QUIN O 0 A_SpawnItemEx("QuintDeathHelmetB",0,0,4,-4,-4,8,0,SXF_TRANSFERTRANSLATION)
	//QUIN O 0 A_ChangeVelocity(-5,0,5,CVF_RELATIVE)
	//QUIN OO 19
	//QUIN O 0 ThrustThingZ(0,125,1,0)
	QUIN P 1 A_CheckFloor(1)
	wait
	QUIN U 0 A_Stop
	Death:
	QUIN U 20
	TNT1 A 5 
	QUIN U 5
	TNT1 A 5
	QUIN U 5
	TNT1 A 5
	QUIN U 5
	TNT1 A 5
	QUIN U 5
	TNT1 A 5
	QUIN U 5
	TNT1 A 0 A_PlaySoundEx("quint/dead","Weapon")
	TNT1 A 5 A_SpawnItemEx("FakeDeathFXMMII",0,0,20,0,0,0,0,1)
	//QUIH H 0 Thing_SetTranslation(0,218)
	loopit:
	QUIH H 2 A_Fadeout(0.09)
	loop
}
}

actor QuintDeathHelmetB : QuintDeathHelmet
{
	States
	{
	Death:
	QUIN Q 19
	loopit:
	QUIN Q 2 A_Fadeout(0.19)
	loop
	}
}

actor SakugarneBoss : VCBaseWeapon
{
Weapon.AmmoUse 8
Weapon.SlotNumber 1
Weapon.AmmoGive 112
weapon.ammotype "Base112Ammo"
Obituary "$OB_QUINT1"
States
{
Ready:
TNT1 A 0
TNT1 A 0 A_TakeInventory("CutterFlag",999)
QUIS D 5

Ready2:
QUIS D 1 A_WeaponReady//(WRF_NOSECONDARY)
loop

Ready.Pogo:
QUIS A 0 A_CheckFloor("Ready.PogoFloor")
QUIS A 0 A_GiveInventory("PogoWaterCheck")
QUIS A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",2,8)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",2,28)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",2,28)) QUIS A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)*ACS_NamedExecuteWithResult("VC_QuintUser1Check")==3,"User1")
QUIS A 0 A_GiveInventory("Base112Ammo",1)
loop

Ready.PogoFloor:
QUIS B 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",2,8)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",2,28)) QUIS A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)*ACS_NamedExecuteWithResult("VC_QuintUser1Check")==3,"User1")
QUIS B 0 A_GiveInventory("Base112Ammo",1)
QUIS B 0 A_CheckFloor("Ready.PogoFloor")
goto Ready.Pogo

Select:
QUIS D 0 ACS_ExecuteAlways(998,0,946)
QUIS D 5 A_WeaponReady(10)
goto Ready

Deselect:
QUIS D 0 A_TakeInventory("QuintPogoFlag",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
QUIS D 1 A_Lower
Loop

User1:
QUIS D 0 A_GunFlash("NoFlash")
QUIS E 1 Offset(-4,28) A_GiveInventory("QuintTFHandler",1)
QUIS E 1 Offset(-8,24)
QUIS E 6 Offset(-14,18)
QUIS E 1 Offset(-8,24)
QUIS E 1 Offset(-4,28)
QUIS D 0 A_WeaponReady(WRF_NOFIRE)

U1.Wait:
QUIS D 0 A_TakeInventory("Base112Ammo",4)
QUIS DDDDDDD 1 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"U1.End")
QUIS D 0 A_JumpIfInventory("Base112Ammo",1,"U1.Wait")
goto U1.End

U1.End:
QUIS D 0 SetPlayerProperty(0,1,0)
QUIS D 0 ACS_ExecuteAlways(191,0,APROP_JumpZ,0,1)
QUIS F 1 Offset(0,128)
QUIS F 1 Offset(0,96)
QUIS F 1 Offset(0,80)

U1.EndLoop:
QUIS D 0 ACS_NamedExecuteWithResult("VC_SetState",6)
QUIS F 1 A_GiveInventory("VC_Timer",1)
QUIS D 0 A_JumpIfInventory("VC_Timer",280,"U1.Return")
loop

U1.Return:
QUIS D 0 A_GiveInventory("QuintReturnHandler")
goto GetOnThatStick

Fire:
QUIS D 0 A_JumpIfInventory("QuintPogoFlag",1,"Fire.Pogo")
goto Fire1

Fire.Pogo:
QUIS A 0 A_CheckFloor(1)
goto Fire.PogoAirLoop
QUIS A 0 A_PlaySoundEx("weapon/sakugarne","Weapon")
QUIS A 0 A_PlaySoundEx("weapon/spreaddrillhit","Auto")
QUIS A 0 A_FireCustomMissile("QuintM1Rock",-6,1,0,4)
QUIS A 0 A_FireCustomMissile("QuintM1Rock",-18,0,0,4)
QUIS A 0 A_FireCustomMissile("QuintM1Rock",6,0,0,4)
QUIS A 0 A_FireCustomMissile("QuintM1Rock",18,0,0,4)
QUIS CCCCBBAA 1 A_Stop
goto Ready.PogoFloor

Fire.PogoAirLoop:
QUIS D 0 A_SpawnItemEx("QuintDragDownHitbox")
QUIS D 0 ThrustThingZ(0,100,1,0)
//QUIS D 0 A_GiveInventory("QuintCounter",1)
QUIS C 1 Offset(-1,0) A_CheckFloor("Fire.PogoAirLand")
QUIS D 0 A_SpawnItemEx("QuintDragDownHitbox")
QUIS D 0 ThrustThingZ(0,100,1,0)
//QUIS D 0 A_GiveInventory("QuintCounter",1)
QUIS C 1 Offset(1,0) A_CheckFloor("Fire.PogoAirLand")
loop

Fire.PogoAirLand:
QUIS C 0 A_Refire("Fire.Pogo")//A_GiveInventory("QuintAirAltHandler2")
QUIS CBB 1 A_Stop
goto Ready.Pogo

Fire1:
QUIS F 1 Offset(0,96) A_TakeInventory("CutterFlag",999)
QUIS F 1 Offset(0,72)
G3TE A 0 A_PlaySoundEx("quint/sakusummon","Weapon")
QUIS F 0 A_SpawnItemEx("QuintSakuTeleportSummon",0,0,12,momx,momy,200,0,SXF_NOCHECKPOSITION|SXF_ABSOLUTEMOMENTUM,0)

Fire1.Wait:
QUIS F 1 Offset(0,48)
QUIS F 0 A_WeaponReady(WRF_NOFIRE)
QUIS FFFFFFFFFFFFFFFFFFFFFFFF 1 A_JumpIfInventory("DrillFlag",1,"GetOnThatStick")

WaitForPogo:
QUIS D 0 A_JumpIfInventory("DrillFlag",1,"GetOnThatStick")
QUIS D 1 A_GiveInventory("CutterFlag",1)
QUIS D 0 A_JumpIfInventory("CutterFlag",350,"Ready2")
goto WaitForPogo

GetOnThatStick:
QUIS F 0 A_WeaponReady(WRF_NOFIRE)
QUIS D 0 A_TakeInventory("VC_Timer",999)
QUIS D 0 A_TakeInventory("CutterFlag",999)
QUIS D 0 A_TakeInventory("DrillFlag")
QUIS D 0 ACS_Execute(191,0,APROP_JumpZ,18,1)
QUIS A 1 A_GiveInventory("QuintPogoFlag",1)
QUIS D 0 A_TakeInventory("VC_Timer",999)
QUIS D 0 A_GunFlash
goto Ready.Pogo

Altfire:
QUIS D 0 A_JumpIfInventory("QuintPogoFlag",1,"Altfire.Pogo")
RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready.Pogo")
goto Altfire1

Altfire1:
QUIS F 1 Offset(0,96) A_TakeInventory("CutterFlag",999)
QUIS F 1 Offset(0,72)
G3TE A 0 A_PlaySoundEx("quint/sakusummon","Weapon")
QUIS F 0 A_SpawnItemEx("QuintSakuTeleportSummon",120,0,12,momx,momy,200,0,SXF_NOCHECKPOSITION|SXF_ABSOLUTEMOMENTUM,0)
QUIS F 1 A_Jump(256,"Fire1.Wait")
wait

Altfire.Pogo:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready.Pogo")
QUIS A 1
FLAB A 0 A_JumpIf(z-floorz<20,"Altfire.PogoGround")
QUIS AB 1
QUIS A 0 A_PlaySoundEx("weapon/tengudash","Weapon")

Altfire.PogoAirLoop:
QUIS D 0 A_SpawnItemEx("QuintDragDownHitbox")
QUIS D 0 ThrustThingZ(0,100,1,0)
QUIS D 0 A_GiveInventory("QuintCounter",1)
QUIS C 1 Offset(-1,0) A_CheckFloor("Altfire.PogoAirLand")
QUIS D 0 A_SpawnItemEx("QuintDragDownHitbox")
QUIS D 0 ThrustThingZ(0,100,1,0)
QUIS D 0 A_GiveInventory("QuintCounter",1)
QUIS C 1 Offset(1,0) A_CheckFloor("Altfire.PogoAirLand")
loop

Altfire.PogoAirLand:
QUIS C 0 A_GiveInventory("QuintAirAltHandler2")
QUIS CCCCCCCCCCBB 1 A_Stop
goto Ready.Pogo

Altfire.PogoGround:
QUIS C 0 A_TakeInventory("JumpCancler")
QUIS C 0 A_GiveInventory("QuintAirBoostHandler")
QUIS C 0 A_PlaySoundEx("weapon/superboost","Weapon")
HAZH D 0 A_TakeInventory("UnSolid",1)
HAZH D 0 A_ChangeFlag("SOLID",0)
HAZH D 0 A_ChangeFlag("PICKUP",0)
HAZH D 0 A_ChangeFlag("THRUACTORS",1)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
QUIS AAAAAAAAAA 1 A_SpawnItemEx("QuintTrailFXClass",0,0,0,0,0,0,0,1)
QUIS C 0 A_TakeInventory("Base112Ammo",28)
QUIN C 0 A_PlaySoundEx("misc/mwsburst","Weapon")

Altfire.PogoWait:
QUIS B 0 A_SpawnItemEx("QuintTrailFXClass",0,0,0,0,0,0,0,1)
QUIS B 0 A_GiveInventory("QuintGroundM2Loop_CI")//A_ChangeVelocity(0,0.0,-20.0,CVF_REPLACE|CVF_RELATIVE)
QUIS B 1 A_CheckFloor("Altfire.PogoLand")
loop

Altfire.PogoLand:
QUIS CCCCCC 0 A_SpawnItemEx("QuintClassDebrisFXAlt",0,0,0,random(1,5),random(-10,10),random(8,12),random(-5,5))
QUIS C 0 A_SpawnItemEx("SakugarneExplosionThing")
QUIS C 0 A_PlaySoundEx("misc/mm3explosion","Weapon")
DRIA A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_ChangeFlag("PICKUP",1)
HAZH D 0 A_ChangeFlag("THRUACTORS",0)
QUIS C 0 A_Quake(4,16,0,500)
QUIS C 1 Offset(10,0) A_Stop
QUIS C 1 Offset(-9,0) A_Stop
QUIS C 1 Offset(8,0) A_Stop
QUIS C 1 Offset(-7,0) A_Stop
QUIS C 1 Offset(6,0) A_Stop
QUIS C 1 Offset(-5,0) A_Stop
QUIS C 1 Offset(4,0) A_Stop
QUIS C 1 Offset(-3,0) A_Stop
QUIS C 1 Offset(2,0) A_Stop
QUIS C 1 Offset(-1,0) A_Stop
QUIS C 0 A_WeaponReady(WRF_NOFIRE)
goto Ready.PogoFloor

UltimateAttack:
QUIS A 0 A_GiveInventory("QuintUltHandler")
QUIN I 0 A_ChangeVelocity(48,0,20,CVF_RELATIVE|CVF_REPLACE)
QUIS A 10
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
QUIN J 0 A_PlaySoundEx("misc/quintspin","Auto")
QUIN J 0 A_Stop
QUIN I 0 A_ChangeVelocity(0,0,23,CVF_RELATIVE|CVF_REPLACE)

UltLoop:
TNT1 A 0 A_GiveInventory("QuintUltCooldown",1)
QUIS A 0 A_SpawnItemEx("QuintUltHitbox",0,0,-10,0,0,-32)
QUIS A 0 A_ChangeVelocity(0,0,-1,CVF_RELATIVE)
QUIS A 0 A_SpawnItemEx("QuintSpinFX",0,0,-8,0,0,0,random(0,359))
QUIS A 0 A_SpawnItemEx("QuintSpinFX",0,0,-8,0,0,0,random(0,359))
QUIS A 1 Offset(-2,0) A_Jumpif(floorz==z, "UltLand")
QUIS A 0 A_SpawnItemEx("QuintUltHitbox",0,0,-10,0,0,-32)
QUIS A 0 A_ChangeVelocity(0,0,-1,CVF_RELATIVE)
QUIS A 0 A_SpawnItemEx("QuintSpinFX",0,0,-8,0,0,0,random(0,359))
QUIS A 0 A_SpawnItemEx("QuintSpinFX",0,0,-8,0,0,0,random(0,359))
QUIS A 1 Offset(2,0) A_Jumpif(floorz==z, "UltLand")
loop

UltLand:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)

UltLoop:
QUIS A 0 A_SpawnItemEx("QuintBossSpinCrusherClass",0,0,13)
QUIS A 0 A_Quake(6,26,0,500)
QUIS BCABCABCA 2 A_WeaponReady(WRF_NOFIRE)
QUIS A 0 A_GiveInventory("WeaponCharge",1)
QUIS A 0 A_JumpIfInventory("WeaponCharge",6,1)
loop

UltFinish:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
QUIS AAAAAA 1 A_TakeInventory("WeaponCharge",9)
TNT1 A 0 ACS_ExecuteAlways(191,0,APROP_JumpZ,18,1)
TNT1 A 0 SetPlayerProperty(0,0,0)
DRIA A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_ChangeFlag("PICKUP",1)
HAZH D 0 A_ChangeFlag("THRUACTORS",0)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
TNT1 A 0 A_TakeInventory("InvProtection")
TNT1 A 0 A_GiveInventory("SakugarneSpeed")
goto Ready.PogoFloor

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("QuintJumpHitboxHandler")
loop
}
}

actor QuintPogoFlag : VCOnce{}

actor QuintFallingHitbox 
{
species "DustManType"
+DONTREFLECT
+THRUSPECIES
PROJECTILE
+DONTSPLASH
+DONTBLAST
Damagetype "QuintFall"
radius 32
damage(2)
height 15
Obituary "$OB_QUINT1"
states
{
Spawn:
TNT1 A 1
stop
}
}

actor QuintDragDownHitbox : QuintFallingHitbox
{
damage(3)
Damagetype "QuintSpike"
Obituary "$OB_QUINT1"
}

actor QuintUltHitbox : QuintFallingHitbox
{
damage(1000)
Damagetype "QuintUlt"
Obituary "$OB_QUINT3"
}

actor QuintLandHitbox : QuintFallingHitbox
{
+MISSILE
-SOLID
-DONTBLAST
+NOGRAVITY
+RIPPER
+SKYEXPLODE
+NOINTERACTION
+DONTSPLASH
+THRUGHOST
+THRUACTORS
radius 2
height 2
damage(0)
Damagetype "QuintKnockback"
Obituary "$OB_QUINT1"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(16,128,0,0,128)
stop
}
}

actor QuintLandHitbox2 : QuintLandHitbox
{
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(32,256,0,0,256)
stop
}
}

actor QuintFallProtect : PowerProtection
{
Powerup.Duration 4
Damagefactor "QuintFall", 0.0
}

actor SakugarneExplosionThing
{
species "DustManType"
+THRUSPECIES
PROJECTILE
radius 16
height 16
damage (9)
+DONTSPLASH
-NOGRAVITY
//gravity 0.8
Damagetype "Quint"
Obituary "$OB_QUINT1"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ShortSakugarneRadiusThingyFX")
TNT1 A 0 A_JumpIfInTargetInventory("QuintCounter",9,"Extraplode")
TNT1 A 0 A_TakeFromTarget("QuintCounter",999)
TNT1 A 0 A_Explode(30,200,0,0,64)
stop
Extraplode:
TNT1 A 0 A_SpawnItemEx("SakugarneDamageShockwaveSpawner")
TNT1 A 0 A_TakeFromTarget("QuintCounter",999)
TNT1 A 0 A_Explode(30,200,0,0,164)
stop
}
}

actor ShortSakugarneRadiusThingyFX : GravityHoldFX
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_angle", random(0, 6))
SpawnLoop:
TNT1 A 0 A_SpawnItemEx("QuintShockwaveFX", 0, 0, 0, 15, 0, 0, user_angle, SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION)
TNT1 A 0 A_SetUserVar("user_angle", user_angle + 20)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor QuintShockwaveFX : BasicClientSide
{
+NOCLIP
translation "192:192=4:4"
scale 2.0
Radius 32
Height 8
States
{
Spawn:
	TNT1 AA 0 A_GiveInventory("ProjectileCode")
	QBOP G 2
	QBOP G 5 A_ChangeFlag("NOINTERACTION",0)
	Death:
	QBOP GGGGGGGG 1 A_FadeOut(0.1)
	loop
}
}
actor QuintSakuTeleportSummon
{
Radius 8
Height 8
scale 2.5
PROJECTILE
+DONTBLAST
+DONTREFLECT
+SKYEXPLODE
+THRUACTORS
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 2
Death:
TNT1 A 0 A_SpawnItemEx("QuintSakuTeleport", 0, 0, 0, momx, momy, -36, 0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEMOMENTUM, 0)
stop
}
}

actor QuintSakuTeleport
{
Radius 8
Height 8
scale 2.5
+NOCLIP
PROJECTILE
-DONTBLAST
+SKYEXPLODE
+DONTREFLECT
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
SAKU B 4
SAKU B 0 A_ChangeFlag("NOCLIP", 0)
SAKU BBBBBBBBBB 1 A_CheckFloor("Next")
Goto Next
Next:
SAKU B 0 //A_ChangeFlag(NOGRAVITY, false)
Goto Death
Death:
TNT1 A 0 A_SpawnItemEx("QuintSakuPickup",0,0,3,0,0,momz,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION,0) 
stop
}
}

actor QuintSakuPickup
{
PROJECTILE
-SOLID
-DONTBLAST
+NOCLIP
+SKYEXPLODE
+MISSILE
-ISMONSTER
+DONTREFLECT
Obituary "$OB_QUINT4"
scale 2.5
Radius 1
Height 1
states
{
Spawn:
TNT1 AA 0 A_GiveToTarget("ProjectileCode")
SAKU B 0 A_ChangeFlag("MISSILE",0)
loopit:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
SAKU B 0 A_ChangeVelocity(0, 0, -32, CVF_REPLACE)
SAKU B 1 A_JumpIf(z-floorz<=0, "Tick")
loop
Tick:
SAKU A 0 A_PlaySoundEx("weapon/sakugarne","Body")
SAKU A 0 A_Explode(40,64,0,0,64)
TNT1 AAAAA 0 A_SpawnItemEx("QuintClassDebrisFX",0,0,0,random(1,5),random(-10,10),random(8,12),random(-5,5))
SAKU A 2 A_ChangeFlag("NOCLIP",0)
Ticking:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death2")
SAKU B 1 A_JumpIfCloser(64,"GiveSaku")
SAKU B 0 A_GiveInventory("CutterFlag",1)
SAKU B 0 A_JumpIfInventory("CutterFlag",300,"Death")
loop
Death:
G3TE A 0 A_ChangeFlag("NOINTERACTION",1)
G3TE A 0 A_PlaySoundEx("quint/sakutele","Body")
G3TE DCB 2
G3TE A 35 ThrustThingZ(0,100,0,0)
stop
Death2:
G3TE A 0 A_TakeFromTarget("SakugarneSpeed",1)
goto Death
GiveSaku:
TNT1 A 0 A_GiveToTarget("SakugarneSpeed")
TNT1 A 0 A_GiveToTarget("DrillFlag",1)
stop
}
}

actor QuintClassDebrisFX
{
translation "192:192=34:34", "198:198=39:39"
PROJECTILE
Height 16
Radius 16
scale 2.5
damagetype "Quint"
+THRUSPECIES
Speed 40
Damage (0)
-NOGRAVITY
States
{
	Spawn:
	TNT1 AA 0 A_GiveInventory("ProjectileCode")
	TNT1 A 1
	TNT1 A 0 A_Jump(256,"Debris1","Debris2","Debris3","Debris4")
	Debris1:
	QBOP A -1
	goto Death
	Debris2:
	QBOP B -1
	goto Death
	Debris3:
	QBOP C -1
	goto Death
	Debris4:
	QBOP E -1
	goto Death
	Death:
	IIDX A 0 A_ChangeFlag("NOGRAVITY",1)
	IIDX ABC 3 A_Stop
	stop
}
}

actor QuintDebrisUlt : QuintClassDebrisFX
{
translation "192:192=89:89", "198:198=186:186"
}

actor QuintClassDebrisFXAlt : QuintClassDebrisFX
{
translation "192:192=4:4", "198:198=93:93"
}

actor QuintM1Rock : QuintClassDebrisFX
{
Obituary "$OB_QUINT2"
translation "192:192=220:220", "198:198=46:46"
damage(8)
}

actor QuintMovementCheck : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_CheckFloor("Next")
stop

Next:
TNT1 A 0 A_JumpIf(momx>0.9||momy>0.9||momx<-0.9||momy<-0.9,"Last")
stop

Last:
TNT1 A 0 A_PlaySoundEx("weapon/sakugarne","Body")
TNT1 II 0 A_SpawnItemEx("QuintClassDebrisFX",0,0,0,random(1,5),random(-10,10),random(8,12),random(-5,5))
//TNT1 A 0 A_GiveInventory("QuintWS")
//TNT1 A 0 A_GiveInventory("QuintAD")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2)>0,"HighJump")
TNT1 A 0 ThrustThingZ(0,20,0,0)
stop

HighJump:
TNT1 A 0 A_JumpIfInventory("JumpCancler",1,"Yes")
stop

Yes:
TNT1 A 0 ThrustThingZ(0,80,0,0)
stop
}
}

Actor QuintWS : CustomInventory
{
States
{
Pickup:
//TNT1 A 0 A_PlaySoundEx("shadowman/jump","Body")
TNT1 A 0 A_JumpIf(abs(momx)+abs(momy)>1.2,"Gone")
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",1)==3,"JumpFront")
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",1)==5,"JumpBack")
Gone:
TNT1 A 0
//TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",1)==17,"JumpLeft")
//TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",1)==9,"JumpRight")
stop
JumpBack:
//TNT1 A 0 A_ChangeVelocity(0,0,momz,CVF_REPLACE)
TNT1 A 0 A_ChangeVelocity(-5,0,0,CVF_RELATIVE)//A_ChangeVelocity(-5,0,10,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_PlaySoundEx("shadowman/jump","Body")
stop
JumpFront:
//TNT1 A 0 A_ChangeVelocity(0,0,momz,CVF_REPLACE)
TNT1 A 0 A_ChangeVelocity(5,0,0,CVF_RELATIVE)//A_ChangeVelocity(-5,0,10,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_PlaySoundEx("shadowman/jump","Body")
stop
}
}

Actor QuintAD : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",1)==17,"JumpFront")
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",1)==9,"JumpBack")
stop
JumpBack:
TNT1 A 0 //A_ChangeVelocity(0,0,momz,CVF_REPLACE)
TNT1 A 0 A_ChangeVelocity(0,-5,0,CVF_RELATIVE)//A_ChangeVelocity(-5,0,10,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_PlaySoundEx("shadowman/jump","Body")
stop
JumpFront:
TNT1 A 0 A_ChangeVelocity(0,5,0,CVF_RELATIVE)//A_ChangeVelocity(-5,0,10,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_PlaySoundEx("shadowman/jump","Body")
stop
}
}

actor QuintJumpHitboxHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_CheckFloor("Nope")
TNT1 A 0 A_SpawnItemEx("QuintFallingHitbox",0,0,-10,0,0,-32)
stop

Nope:
TNT1 A 0
stop
}
}

actor QuintTrailFXClass : QuintTrailFX
{
States
{
Spawn:
QUIN J 1 A_FadeOut(0.1)
loop
}
}

Actor QuintGroundM2Loop_CI : CustomInventory
{
States
{
Pickup:
QUIS D 0 A_GiveInventory("QuintCounter",1)

QUIS D 0 A_JumpIfInventory("QuintCounter",7,"Speed2")
QUIS D 0 A_ChangeVelocity(0,0.0,-20.0,CVF_REPLACE|CVF_RELATIVE)
stop
Speed2:
QUIS D 0 A_ChangeVelocity(0,0.0,-80.0,CVF_REPLACE|CVF_RELATIVE)
stop
}
}

actor QuintBossSpinCrusherClass
{
PROJECTILE
Obituary "$OB_QUINT3"
damagetype "QuintUlt"
States
{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,0)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,15)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,30)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,45)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,60)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,75)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,90)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,105)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,120)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,135)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,150)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,165)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,180)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,195)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,210)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,225)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,240)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,255)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,270)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,285)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,300)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,315)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,330)
	TNT1 A 0 A_SpawnItemEx("QuintCrusherRockClass",0,0,20,17,0,1,345)
	TNT1 A 0 A_PlaySoundEx("misc/hugequake2","Body")
	
	TNT1 A 1 A_Explode(80,256,0,0,64)
	TNT1 AAAAAAAAA 2 A_SpawnItemEx("QuintDebrisUlt",0,0,5,0,random(2,8),random(5,10),random(0,360))
	
	stop
}
}

actor QuintUltHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,115)
TNT1 A 0 ACS_ExecuteAlways(191,0,APROP_JumpZ,0,1)
TNT1 A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",300)
TNT1 A 0 A_TakeInventory("UltAttackFlag")
HAZH D 0 A_TakeInventory("UnSolid",1)
HAZH D 0 A_ChangeFlag("SOLID",0)
HAZH D 0 A_ChangeFlag("PICKUP",0)
HAZH D 0 A_ChangeFlag("THRUACTORS",1)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",1)
TNT1 A 0 A_GiveInventory("InvProtection")
TNT1 A 0 A_GiveInventory("QuintUltCooldown",1)
CUTA A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
stop
}
}

actor QuintUltCooldown : UltBuildCooldownGiver
{
Powerup.Duration 35
}

actor QuintCrusherRockClass : QuintClassDebrisFX
{
gravity 0.1
radius 32
height 32
speed 90
Obituary "$OB_QUINT3"
damagetype "QuintUlt"
translation "192:192=89:89", "198:198=186:186"
damage(20)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 
TNT1 A 0 A_Jump(256,"Debris3","Debris4")
Debris3:
QBOP D 1 A_GiveToTarget("QuintUltCooldown",1)
loop
Debris4:
QBOP F 1 A_GiveToTarget("QuintUltCooldown",1)
loop
Death:
MMFX F 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 AAAA 0 A_SpawnItemEx("QuintClassDebrisFX",0,0,5,0,random(-5,5),random(5,7),random(0,360),1)
MMFX FGHI 5 A_Stop
stop
}
}

actor QuintAirAltHandler2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("QuintCounter",14,"Pickup2")
TNT1 A 0 A_TakeInventory("QuintCounter",999)
TNT1 AAAAAAAA 0 A_SpawnItemEx("QuintClassDebrisFX",random(0,100),0,0,0,0,random(12,20),random(0,359))
TNT1 A 0 A_PlaySoundEx("misc/quake","Weapon")
TNT1 A 0 A_SpawnItemEx("QuintLandHitbox")
TNT1 A 0 A_Quake(2,10,0,100)
stop

Pickup2:
TNT1 A 0 A_TakeInventory("QuintCounter",999)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("QuintClassDebrisFX",random(0,500),0,0,0,0,random(20,40),random(0,359))
TNT1 A 0 A_PlaySoundEx("misc/hugequake","Auto")
TNT1 A 0 A_SpawnItemEx("QuintLandHitbox2")
TNT1 A 0 A_Quake(6,20,0,500)
stop
}
}

Actor QuintAirBoostHandler : BaseMovement//CustomInventory
{
States
{
itTimeGo:
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",1)==5,"LessJump")
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",40),0,20,CVF_RELATIVE|CVF_REPLACE)
stop

LessJump:
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",30),0,10,CVF_RELATIVE|CVF_REPLACE)
stop
}
}

Actor PogoWaterCheck : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUnderWater",1,"Next")
stop

Next:
TNT1 A 0 ThrustThingZ(0,3,1,1)
stop
}
}

actor SakugarneSpeed : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 0x7FFFFFFD
Speed 1.60
}

actor QuintTFHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("QuintPogoSolo",0,0,4)
TNT1 A 0 A_TakeInventory("QuintPogoFlag",999)
TNT1 A 0 ACS_ExecuteAlways(191,0,APROP_JumpZ,10,1)
TNT1 A 0 A_TakeInventory("SakugarneSpeed",999)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",5)
stop
}
}

actor QuintReturnHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("QuintPogoFlag",1)
TNT1 A 0 ACS_ExecuteAlways(191,0,APROP_JumpZ,18,1)
TNT1 A 0 A_GiveInventory("SakugarneSpeed",1)
TNT1 A 0 SetPlayerProperty(0,0,0)
stop
}
}

actor QuintPogoSolo
{
Obituary "$OB_QUINT1"
bouncetype Hexen
PROJECTILE
-NOGRAVITY
+NOBLOOD
+CANBOUNCEWATER
+FORCEXYBILLBOARD
+NOEXPLODEFLOOR
-BOUNCEONFLOORS
+SEEKERMISSILE
+LOOKALLAROUND
+SKYEXPLODE
+BOUNCEONWALLS
+BOUNCEONCEILINGS
-BOUNCEONACTORS
+RIPPER
-SOLID
+DONTREFLECT
bouncefactor 1.0
wallbouncefactor 1.0
Height 70
bouncecount 999
damagetype "Quint"
//translation "198:198=0:0", "192:192=95:95"
scale 2.5
damage (3)
reactiontime 13
gravity 1.0
radius 16
speed 1
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")

JumpLoop:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SAKU B 0 A_JumpIfInTargetInventory("VC_Timer",1,"Return")
SAKU B 1 A_JumpIf(z-floorz<=0, "Land")
loop

Land:
SAKU B 0 A_PlaySoundEx("weapon/sakugarne","Body")
SAKU B 0 A_Explode(18,128,0)
SAKU B 0 ThrustThingZ(0,0,0,1)
SAKU B 0 A_Stop
SAKU B 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_NULL)
SAKU B 1 A_JumpIfInTargetInventory("VC_Timer",1,"Return")

OtherSpawn:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SAKU AAA 1 A_JumpIfInTargetInventory("VC_Timer",1,"Return")
SAKU A 0 A_SeekerMissile(0, 0, SMF_LOOK, 256)
SAKU A 0 A_FaceTracer
SAKU B 0 A_Recoil(-18)
SAKU B 0 ThrustThingZ(0,45,0,0)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SAKU BB 1 A_JumpIfInTargetInventory("VC_Timer",1,"Return")
goto JumpLoop

Return:
SAKU A 0 A_CustomMissile("SakuReturn",0,0,0,0)
stop

Death:
G3TE A 0 A_Stop
G3TE A 0 A_ChangeFlag("NOINTERACTION",1)
G3TE A 0 A_ChangeFlag("NOGRAVITY",1)
G3TE A 0 A_PlaySoundEx("quint/sakutele","Body")
G3TE DCB 2
G3TE A 0 A_TakeFromTarget("Base112Ammo",112)
G3TE A 0 A_GiveToTarget("VC_Timer",350)
G3TE A 35 ThrustThingZ(0,100,0,0)
stop
}
}

actor SakuReturn : KnightCrush
{
radius 0
height 0
speed 20
+NOINTERACTION
+NOCLIP
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SAKU B 0 A_JumpIfInTargetInventory("VC_Timer",350,"Death")
SAKU BBBBBB 1 A_JumpIfCloser(42,"Return")
SAKU B 0 A_CustomMissile("SakuReturn",0,0,0,0)
stop
Return:
TNT1 A 0 A_GiveToTarget("VC_Timer",350)
stop
Death:
G3TE A 0 A_ChangeFlag("NOINTERACTION",1)
G3TE A 0 A_PlaySoundEx("quint/sakutele","Body")
G3TE DCB 2
G3TE A 35 ThrustThingZ(0,100,0,0)
stop
}
}

actor QuintCounter : Inventory
{
	inventory.amount 1
	inventory.maxamount 14
	+INVENTORY.IGNORESKILL
}


actor SakugarneDamageShockwaveSpawner : GravityHoldFX
{
+MISSILE
-CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_angle", 0)
SpawnLoop:
TNT1 A 0 A_SpawnItemEx("QuintClassDamageShockwave", 0, 0, 0, 45, 0, 0, user_angle, SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION)
TNT1 A 0 A_SetUserVar("user_angle", user_angle + 20)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}


actor QuintClassDamageShockwave
{
translation "192:192=34:34", "198:198=39:39"
PROJECTILE
Height 16
Radius 16
scale 2.5
damagetype "QuintFall"
+THRUSPECIES
Speed 40
Damage (7)
+FLOORHUGGER
States
{
	Spawn:
	TNT1 AA 0 A_GiveInventory("ProjectileCode")
	SAL3 ABC 1
	goto Spawn+2
}
}