//Movement recoded
Actor Strikeman : VCBaseClass
{
Player.ScoreIcon "STRIMUGS"
player.startitem "BaseFlagPack", 1
player.startitem "NormalArmor"
player.soundclass "StrikemanC"
player.displayname "Strikeman"
player.jumpz 10
Player.ViewHeight 46
player.startitem "ReboundStrikerBoss"
player.startitem "Base28Ammo", 28
player.startitem "BaseAltfireAmmo", 112
player.startitem "UltimateAttackItem1", 1
player.startitem "UltSoundWatcherSpawn1"
player.startitem "IsFromMM10"
States
{
Animation2:
Spawn:
STKM A 0
STKM B 1 A_JumpIf(z-floorz>0, "Jumping1")
STKM A 0 A_JumpIfInventory("StrikemanStunTimer",1,"Animation7")
STKM A 1 A_JumpIf(z-floorz>0, "Jumping1")
Goto Spawn+2

See:
STKM BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping1")
Goto Spawn

Jumping1:
STKM Y 1 A_JumpIf(z-floorz<=0, "Landing")
Animation1:
Jumping:
STKM Q 1 A_JumpIf(z-floorz<=0, "Landing")
wait

Landing:
STKM YYY 1 A_JumpIf(z-floorz>0, "Jumping")
goto Spawn+2

Animation3:
Missile.Ball:
STKM OPOP 1
STKM OP 1 A_JumpIfInventory("HalfDamageProtection",1,"Missile.Ball")
Goto Jumping

Animation4:
STKM IIJJ 1 A_JumpIf(z-floorz<=0, "Spawn")
loop

Missile:
STKM O 0 A_JumpIfInventory("HalfDamageProtection",1,"Missile.Ball")
STKM FF 1 A_JumpIf(z-floorz>0, "JumpingMissile")

Missile2:
STKM GGGGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
Goto Spawn+1

JumpingMissile:
STKM KKL 1 A_JumpIf(z-floorz<=0, "Missile")

JumpingMissile2:
STKM MMMMMMM 1 A_JumpIf(z-floorz<=0, "Missile2")
goto Jumping

Animation5:
STKM F 1 A_JumpIf(z-floorz>0, "Animation5Air")
wait

Animation5Air:
STKM K 1 A_JumpIf(z-floorz<=0, "Animation5")
wait

Animation6:
STKM G 19 A_JumpIf(z-floorz>0, "Animation6Air")
goto Spawn+1

Animation6Air:
STKM L 1
STKM M 18
goto Jumping

Animation7:
STKM RSTS 5
loop

Animation8:
STKM UUUVWWWUUUVWWWWWWWWWW 2
goto Spawn+2

Pain.TimeStop:
PLAY A 0 SetPlayerProperty(0,1,4)
PLAY A 0 ACS_Execute(528,0)
STKM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
PLAY A 0 SetPlayerProperty(0,0,4)
Goto pain+1

ClassPain:
STKM H 0 A_JumpIfInventory("HalfDamageProtection",1,"ClassPain.Ball")
STKM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
STKM R 0 A_JumpIfInventory("StrikemanStunTimer",1,"Animation7")
Goto Spawn+1
ClassPain.Ball:
STKM POOP 2 A_SpawnItem("PainFX",0,3)
Goto Animation3
ClassDeath:
STKM H 20 ACS_ExecuteAlways(999,0,0)
STKM H 0 A_PlayerScream
NOFX A 0 A_SpawnItemEx("FakeDeathFXMM9",0,0,32)
NOFX A 1 A_CheckPlayerDone
wait
ClassIceDeath:
STKM A 35
NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
CUTM H 0 A_JumpIfInTargetInventory("ReboundStrikerWepM",1,2)
CUTM H 0 A_GiveToTarget("WeaponGetter")
CUTM H 0 A_GiveToTarget("ReboundStrikerWepM")
goto ClassDeath
}
}

actor ReboundStrikerBoss : VCBaseWeapon
{
	Weapon.AmmoType "Base28Ammo"
	Weapon.AmmoType2 "BaseAltfireAmmo"
	Weapon.ammouse 4
	Obituary "$OB_STRIKEMAN1"
	States
	{
		Ready:
		TNT1 A 0
		SRKH A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
		"####" A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,37)) "####" A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		"####" A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,37)) "####" A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")		SRKH A 0 A_GiveInventory("Base28Ammo",1)
		"####" A 0 A_GiveInventory("BaseAltfireAmmo",2)
		goto Ready
		
		AltSkinFrame:
		SRK1 A 0
		goto Ready+2
		
		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		SRKH A 1 A_Lower
		Loop
		
		Select:
		TNT1 A 0 A_SpawnItemEx("StrikeManSkinWatcher")
		TNT1 A 0 ACS_ExecuteAlways(991,0,1905)
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		SRKH A 1 A_Raise
		Loop
		
		Fire:	
		"####" BC 1
		"####" D 0 A_GiveInventory("ReboundStrikerHandler")
		"####" DEF 1
		"####" X 10
		"####" GA 2
		goto Ready
		
		AltFire:
		"####" A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
		"####" A 0 A_CheckFloor("Altfire.Ground")
		"####" A 0 A_JumpIf(callACS("core_CheckFooting")== 1 || (abs(z-floorz) < 30 && momz <= 0),"Altfire.Ground")//A_CheckFloor("Altfire.Ground")
		goto Altfire.Air
		
		Altfire.Air:
		"####" A 0 A_JumpIfInventory("StrikemanAltCooldown",1,"Ready")
		"####" A 0 A_Stop
		"####" A 0 A_SetGravity(0.0)
		"####" A 0 SetPlayerProperty(0,1,0)
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
		"####" A 0 A_WeaponReady(WRF_NOFIRE)
		"####" A 0 A_GiveInventory("StrikeAmmoTaker",1)
		"####" A 0 A_PlaySoundEx("weapon/strikespin","Weapon")
		"####" A 0 A_GiveInventory("StrikemanSpinAmmo",6)
		
		AltFire.SpinThrow:
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
		"####" D 0 A_GiveInventory("ReboundStrikerHandlerSpin")
		"####" HIJHIJ 1
		"####" H 0 A_TakeInventory("StrikemanSpinAmmo",1)
		"####" HIJ 1
		"####" A 0 A_JumpIfInventory("StrikemanSpinAmmo",1,1)
		goto AltFire.SpinThrowEndStun
		"####" A 0 A_Refire("AltFire.SpinThrow")
		
		AltFire.SpinThrowEnd:	
		"####" A 0 A_TakeInventory("VC_Timer",9)
		"####" X 3 ACS_NamedExecuteWithResult("VC_SetState",1)
		"####" A 0 A_GunFlash
		"####" A 0 A_GiveInventory("StrikemanAltCooldown",175)
		"####" GA 1 A_TakeInventory("StrikemanSpinAmmo",999)
		"####" A 0 A_GiveInventory("GravityRestore")
		"####" A 0 SetPlayerProperty(0,0,0)
		goto Ready
		
		Altfire.SpinThrowEndStun:
		"####" A 0 A_GiveInventory("GravityRestore")
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		"####" GA 1 A_TakeInventory("StrikemanSpinAmmo",999)
		
		AltFire.SpinThrowEndStunWait:
		"####" A 0 SetPlayerProperty(0,0,0)
		"####" A 0 A_TakeInventory("StrikemanSpinAmmo",1)
		"####" A 1 A_CheckFloor("SpinStun")
		loop
		
		SpinStun:
		"####" A 0 A_Stop
		"####" A 0 SetPlayerProperty(0,1,0)
		"####" A 0 ACS_Execute(191,0,APROP_JumpZ,0,1)
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",7)
		"####" A 0 A_GiveInventory("StrikeStunCooldownHandler")
		///////////////////// 1
		"####" A 2 Offset(0,0)		
		"####" A 2 Offset(5,0)
		"####" A 2 Offset(10,0)
		"####" A 2 Offset(5,0)
		///////////////////// 2
		"####" A 2 Offset(0,0)
		"####" A 2 Offset(-5,0)
		"####" A 2 Offset(-10,0)
		"####" A 2 Offset(-5,0)
		///////////////////// 3
		"####" A 2 Offset(0,0)
		"####" A 2 Offset(5,0)
		"####" A 2 Offset(10,0)
		"####" A 2 Offset(5,0)
		///////////////////// 4
		"####" A 2 Offset(0,0)
		"####" A 2 Offset(-5,0)
		"####" A 2 Offset(-10,0)
		"####" A 2 Offset(-5,0)
		///////////////////// 5
		"####" A 2 Offset(0,0)
		"####" A 2 Offset(5,0)
		"####" A 2 Offset(10,0)
		"####" A 2 Offset(5,0)
		///////////////////// 6
		"####" A 2 Offset(0,0)
		"####" A 2 Offset(-5,0)
		"####" A 2 Offset(-10,0)
		"####" A 2 Offset(-5,0)
		/////////////////////
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		"####" A 0 ACS_Execute(191,0,APROP_JumpZ,10,1)
		"####" A 0 SetPlayerProperty(0,0,0)
		goto Ready
		
		Altfire.Ground:
		"####" A 0 A_GiveInventory("HalfDamageProtection")
		Altfire.Ground2:
		"####" D 0 A_JumpIfInventory("BaseAltfireAmmo",1,1)
		goto Altfire.GroundEnd
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
		"####" XX 1 A_GiveInventory("StrikemanAltLoop_CI")
		"####" D 0 A_Refire("Altfire.Ground2")
		
		Altfire.GroundEnd:
		"####" A 0 A_TakeInventory("HalfDamageProtection")
		"####" X 3 A_GiveInventory("StrikeAmmoTaker",1)
		"####" GA 2
		goto Ready
		
		UltimateAttack:
		"####" A 1
		"####" A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		"####" A 0 A_GiveInventory("StrikeUltSound")
		"####" A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,92)
		"####" A 0 A_Stop
		"####" B 0 ACS_Execute(191,0,APROP_JumpZ,0,1)
		"####" A 0 A_SetGravity(0.0)
		"####" A 0 SetPlayerProperty(0,1,0)
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",8)
		"####" A 0 A_GiveInventory("InvProtection")
		"####" A 0 A_ChangeFlag("INVULNERABLE",1)
		"####" A 4 Offset(0,40)
		"####" A 4 Offset(0,48)
		"####" A 4 Offset(0,56)
		"####" A 18 Offset(0,64)
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",5)
		"####" B 35 A_WeaponReady(WRF_NOFIRE)
		"####" B 1 Offset(-1,0)
		"####" B 1 Offset(2,0)
		"####" B 1 Offset(-3,0)
		"####" B 1 Offset(4,0)
		"####" B 1 Offset(-5,0)
		"####" B 1 Offset(6,0)
		"####" B 1 Offset(-7,0)
		"####" B 1 Offset(8,0)
		"####" B 1 Offset(-9,0)
		"####" B 1 Offset(10,0)
		"####" B 1 Offset(-11,0)
		"####" B 1 Offset(12,0)
		"####" B 1 Offset(-13,0)
		"####" D 0 ACS_NamedExecuteWithResult("VC_SetState",6)
		"####" D 0 A_GiveInventory("ReboundStrikerHandlerUltra")
		"####" CDEF 1 A_WeaponReady(WRF_NOFIRE)
		"####" X 7
		"####" GA 2
		"####" A 4
		"####" B 0 ACS_Execute(191,0,APROP_JumpZ,10,1)
		"####" A 0 A_GiveInventory("GravityRestore")
		"####" A 0 SetPlayerProperty(0,0,0)
		"####" A 0 A_TakeInventory("UltAttackFlag")
		"####" A 0 A_TakeInventory("ShortUltimateAmmo",100)
		goto Ready
		
		Flash:
		TNT1 A 1 A_TakeInventory("StrikemanAltCooldown",1)
		TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("StrikemanAltCooldown",1,"Flash")
		goto NoFlash
	}
}
Actor StrikemanAltLoop_CI : BaseMovement//CustomInventory
{
States
{
itTimeGo:
TNT1 A 0 A_GiveInventory("FloorHazardWeakness")
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",1)
TNT1 A 0 A_SpawnItemEx("StrikeBallHitbox", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(Z-Floorz==0,"Bounce")
stop
Bounce:
TNT1 A 0 A_Recoil(CallACS("VC_XYMob",-10))
TNT1 A 0 A_StopSound(0)
TNT1 A 0 A_PlaySoundEx("weapon/strikeball","Body")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2),"BounceHigher")
TNT1 A 0 ThrustThingZ(0,35,0,0)
stop
BounceHigher:
TNT1 A 0 ThrustThingZ(0,70,0,0)
stop
}
}
actor ReboundStrikerHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/strikethrow","Weapon")
TNT1 A 0 A_FireCustomMissile("ReboundStrikerStrikeman",0,1,1,4)
stop

}
}

actor StrikeStunCooldownHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("StrikemanStunTimer",48)
TNT1 A 0 A_PlaySoundEx("weapon/strikedizzy","Body")
TNT1 A 0 A_SpawnItemEx("StrikeStunCooldownWatcher")
stop
}
}

actor StrikeStunCooldownWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn: 
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_TakeFromTarget("StrikemanStunTimer",1)
TNT1 A 0 A_JumpIfInTargetInventory("StrikemanStunTimer",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

actor StrikeBallHitbox
{
species "DustManType"
+THRUSPECIES
Obituary "$OB_STRIKEMAN2"
PROJECTILE
+NOEXPLODEFLOOR
Radius 40
Height 40
scale 1
speed 0
damage (24)
Damagetype "StrikeManBall"
States
{
Spawn:
TNT1 A 2
stop
}
}

actor StrikeManBallProtect : PowerProtection
{
powerup.duration 35
damagefactor "StrikeManBall", 0.0
}

actor StrikemanSpinAmmo : Ammo
{
	inventory.amount 6
	inventory.maxamount 6
	+INVENTORY.IGNORESKILL
}
actor StrikemanStunTimer : Ammo
{
	inventory.amount 48
	inventory.maxamount 48
	+INVENTORY.IGNORESKILL
}

actor StrikemanAltCooldown : Ammo
{
	inventory.amount 175
	inventory.maxamount 175
	+INVENTORY.IGNORESKILL
}

actor ReboundStrikerHandlerSpin : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("VC_Timer",1)
TNT1 A 0 A_JumpIfInventory("VC_Timer",6,"Pickup2")
TNT1 A 0 A_FireCustomMissile("ReboundStrikerStrikemanSpin",0,0,1,4)
stop

Pickup2:
TNT1 A 0 A_TakeInventory("VC_Timer",9)
TNT1 A 0 A_FireCustomMissile("ReboundStrikerStrikemanSpin2",0,0,1,4)
stop
}
}

actor ReboundStrikerHandlerUltra : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/grenadedash","Weapon")
TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
TNT1 A 0 A_TakeInventory("InvProtection")
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin2",1,"Pickup2")
TNT1 A 0 A_FireCustomMissile("ReboundStrikerStrikemanUltra",0,0,1,4)
stop

Pickup2:
TNT1 A 0 A_FireCustomMissile("ReboundStrikerStrikemanUltra2",0,0,1,4)
stop
}
}

actor StrikeManTrailEffect : PowerSpeed
{
Speed 1.5
powerup.duration 0x7FFFFFFD
}

actor ReboundStrikerStrikeman
{
PROJECTILE
+FORCEXYBILLBOARD
+HEXENBOUNCE
+CANBOUNCEWATER
-ALLOWBOUNCEONACTORS
+USEBOUNCESTATE
+FORCEXYBILLBOARD
Obituary "$OB_STRIKEMAN1"
damagetype "ReboundStriker"
//seesound "weapon/reboundstriker"
Radius 16
Height 16
scale 2.5
speed 45
bouncecount 6
wallbouncefactor 1.0
bouncefactor 1.0
var int user_bouncenum;
damage (15+user_bouncenum)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
STRI BCHI 2
goto Spawn+2
Bounce:
STRI B 0 A_PlaySoundEx("weapon/reboundstriker","Body")
STRI B 0 A_JumpIf(user_bouncenum > 10, "Spawn3")
STRI B 0 A_SetUserVar(user_bouncenum, user_bouncenum+3)
STRI B 0 A_JumpIf(user_bouncenum > 10, 2)
goto Spawn2
STRI B 0
STRI B 0
goto Spawn3
Spawn2:
STRI BCHI 1
loop
Spawn3:
STRI DEFG 1 BRIGHT
loop
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,10)
stop
}
}

actor ReboundStrikerStrikemanSpin : ReboundStrikerStrikeman
{
Obituary "$OB_STRIKEMAN3"
speed 60
damage (18)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
loopit:
STRI DFBC 2
loop
Bounce:
STRI B 0 A_PlaySoundEx("weapon/reboundstriker","Body")
goto loopit
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,10)
stop
}
}

actor ReboundStrikerStrikemanSpin2 : ReboundStrikerStrikemanSpin
{
damage (36)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
loopit:
STRI DDFFBBCC 1 A_SpawnItemEx("ReboundStrikerEcho")
loop
Bounce:
STRI B 0 A_PlaySoundEx("weapon/reboundstriker","Body")
goto loopit
}
}

actor ReboundStrikerEcho : BasicClientSide
{
renderstyle translucent
alpha 0.75
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
TNT1 A 1
STRI DFBC 1 A_FadeOut(0.15)
stop
}
}

actor ReboundStrikerStrikemanUltra
{
renderstyle add
PROJECTILE
+FORCEXYBILLBOARD
//+HEXENBOUNCE
//+CANBOUNCEWATER
//-ALLOWBOUNCEONACTORS
//+USEBOUNCESTATE
+FORCEXYBILLBOARD
+RIPPER
+THRUGHOST
Obituary "$OB_STRIKEMAN4"
damagetype "StrikeManUlt"
+HEXENBOUNCE
bouncecount 2
wallbouncefactor 1.0
bouncefactor 1.0
Radius 16
Height 16
scale 2.5
speed 120
damage (9999)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
TNT1 A 0 A_GiveToTarget("WindUltCooldown")
STRI E 0 A_SpawnItemEx("StrikeUltBallSound")
STRI E 1 A_SpawnItemEx("StrikeUltFX",0,0,0,0,0,0,0,1)
STRI G 0 //A_GiveInventory("TenguDustHandler1Strike")
STRI G 0 A_SpawnItemEx("TenguDust",0,0,0,0,0,-9999)
STRI G 0 A_SpawnItemEx("TenguDust",60,0,0,0,0,-9999)
STRI G 0 A_SpawnItemEx("StrikeUltBallSound")
STRI G 0 A_Quake(3,10,0,128)
STRI G 1 A_SpawnItemEx("StrikeUltFX",0,0,0,0,0,0,0,1)
STRI G 0 A_SpawnItemEx("TenguDust",0,0,0,0,0,-9999)
STRI G 0 A_SpawnItemEx("TenguDust",60,0,0,0,0,-9999)
STRI G 0 A_Quake(3,10,0,128)
goto Spawn+2
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,10)
stop
}
}

actor StrikeUltBallSound : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_PlaySoundEx("weapon/strikefastball","Body")
stop
}
}

actor StrikeUltFX : BasicClientSide
{
renderstyle add
States
{
Spawn:
TNT1 A 0
TNT1 A 1
STRI EGEGEGEGEGEGEGEGEGEG 1 A_SetScale(scalex-0.125,scaley-0.125)
stop
}
}

actor StrikeCheerSound : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_PlaySoundEx("weapon/strikecheer","Body")
stop
}
}

actor TenguDustHandlerStrike : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(z-floorz<=200, "Pickup2")
stop

Pickup2:
TNT1 A 0 A_SpawnItemEx("TenguDust",0,0,0,0)
stop
}
}


actor StrikeAmmoTaker : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",37)
TNT1 A 0 A_TakeInventory("FloorHazardWeakness")
stop
}
}


actor StrikeManSkinWatcher
{
Height 0
Radius 0
+NOINTERACTION
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 AAA 1 A_GiveToTarget("StrikeManSkinCheck")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
loop
Death:
TNT1 A 0
stop
}
}
actor StrikeManSkinCheck : SkinChecker
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(CallACS("GC_GetSkinNum")==269,"AltSkin1")
TNT1 A 0 A_JumpIf(CallACS("GC_GetSkinNum")==274,"AltSkin2")
goto NormalSkin
}
}

actor StrikeUltSound : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin2",1,"Pickup2")
TNT1 A 0 A_PlaySoundEx("weapon/StrikeManUlt","Auto")
stop

Pickup2:
TNT1 A 0 A_PlaySoundEx("weapon/StrikeManWedding","Auto")
stop
}
}

actor ReboundStrikerStrikemanUltra2 : ReboundStrikerStrikemanUltra
{
Obituary "$OB_STRIKEMAN5"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_GiveToTarget("WindUltCooldown")
SBOQ A 0 A_SpawnItemEx("StrikeUltBallSound")
SBOQ A 1 A_SpawnItemEx("StrikeUltFX2",0,0,0,0,0,0,0,1)

STRI G 0 //A_GiveInventory("TenguDustHandler1Strike")
STRI G 0 A_SpawnItemEx("TenguDust",0,0,0,0,0,-9999)
STRI G 0 A_SpawnItemEx("TenguDust",60,0,0,0,0,-9999)
STRI G 0 A_Quake(3,10,0,128)

SBOQ B 0 A_SpawnItemEx("StrikeUltBallSound")
SBOQ B 1 A_SpawnItemEx("StrikeUltFX2",0,0,0,0,0,0,0,1)

STRI G 0 A_SpawnItemEx("TenguDust",0,0,0,0,0,-9999)
STRI G 0 A_SpawnItemEx("TenguDust",60,0,0,0,0,-9999)
STRI G 0 A_Quake(3,10,0,128)
goto Spawn+2
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,10)
stop
}
}

actor StrikeUltFX2 : StrikeUltFX
{
renderstyle add
States
{
Spawn:
TNT1 A 0
TNT1 AAAA 0 A_SpawnItemEx("StrikeFlower",random(-16,16),0,random(0,24),random(-4,4),0,random(-2,6),random(0,359),1)
TNT1 A 1
SBOQ ABABABABABABABABABAB 1 A_SetScale(scalex-0.125,scaley-0.125)
stop
}
}

actor StrikeFlower : TenguLeaf
{
reactiontime 14

States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"S1","S2","S3","S4")

S1:
SBOQ CDE 5 A_Countdown
loop

S2:
SBOQ FGH 5 A_Countdown
loop

S3:
SBOQ IJK 5 A_Countdown
loop

S4:
SBOQ LMNO 5 A_Countdown
loop
}
}

actor FloorHazardWeakness : PowerProtection
{
powerup.duration -999
damagefactor "Drowning", 999.9
damagefactor "DrowningTag", 999.9
damagefactor "Fire", 999.9
damagefactor "Falling", 999.9
damagefactor "FallingTag", 999.9
damagefactor "Slime", 999.9
damagefactor "SlimeTag", 999.9
damagefactor "Spiney", 999.9
damagefactor "Massacre", 999.9
damagefactor "Ice", 999.9
}