actor ChillSpikeBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_10D"
dropitem "ChillSpikeWepCDropped"
Weapon.AmmoUse 16
Weapon.AmmoGive 28
Obituary "$OB_CHILLCLOSE"
weapon.ammotype "SpikesAndChillAmmo"
weapon.ammotype2 "ChillSlideAmmo"
Inventory.Pickupmessage "Whats cooler than being cool? ICE COLD! Alright alright alright alright alright alright alright alright alright alright alright alright alright alright alright alright!"
States
{
Spawn:
C_10 D 1
loop
Ready:
CHIB A 0 ACS_ExecuteAlways(998,0,DYE_CHILLMAN)
CHIB A 0 A_GunFlash
goto Ready1

Ready1:
CHIB A 0 A_JumpIfInventory("SpikesAndChillAmmo",16,"Ready2a")
CHIB A 0 A_JumpIfInventory("ChillSliding",1,"Ready2b")
CHIB A 0 A_JumpIfInventory("ChillSlideAmmo",168,"Ready2b")
CHIB A 3 A_WeaponReady(12)
CHIB A 0 A_GiveInventory("ChillAmmoGiver_P",1)
loop
Ready2a:
CHIB A 0 A_JumpIfInventory("ChillSliding",1,"Ready3")
CHIB A 0 A_JumpIfInventory("ChillSlideAmmo",168,"Ready3")
CHIB A 3 A_WeaponReady(8)
CHIB A 0 A_GiveInventory("ChillAmmoGiver_P",1)
Loop
Ready2b:
CHIB A 0 A_JumpIfInventory("SpikesAndChillAmmo",16,"Ready3")
CHIB A 3 A_WeaponReady(4)
CHIB A 0 A_GiveInventory("ChillAmmoGiver_P",1)
Loop
Ready3:
CHIB A 3 A_WeaponReady
CHIB A 0 A_GiveInventory("ChillAmmoGiver_P",1)
loop

Deselect:
CHIB AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
CHIB A 1 A_Lower
Loop
Select:
CHIB AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
CHIB A 1 A_Raise
Loop

Fire:
CHIB B 0 A_JumpIfInventory("Chill_ItemFlag",1,"SuperMainfire")
CHIB B 0 A_PlaySoundEx("weapon/chillshot","Weapon")
CHIB B 2 A_GiveInventory("ChillManMain_CI",1)
CHIB C 10
CHIB A 2
Goto Ready1
SuperMainfire:
CHIB A 0
CHIB A 0 A_GunFlash("Flash.ItemCancel")

CHIB A 1 OffSet(11,47)A_TakeInventory("Chill_ItemFlag",99)//A_TakeInventory("Chill_ItemCharge",99)
CHIB A 1 OffSet(23,66)A_TakeInventory("ChillSliding",9)
CHIB A 1 OffSet(37,89)
TNT1 A 3//1 tic sound delay is accurate, but 2 allows easy ragerune_st
CHIB C 2 OffSet(260,72)
CHIB C 0 A_PlaySoundEx("weapon/chillsalvo","Weapon")
CHIB C 2 OffSet(209,56)A_SpawnItemEx("ChillSpreadShotWarper5",0,64,32,0,0,0,0,1)
CHIB C 0 A_PlaySoundEx("weapon/chillsalvo","Weapon")
CHIB C 2 OffSet(143,30)A_SpawnItemEx("ChillSpreadShotWarper4",40,40,32,0,0,0,0,1)
CHIB C 0 A_PlaySoundEx("weapon/chillsalvo","Weapon")
CHIB C 2 OffSet(80,5)A_SpawnItemEx("ChillSpreadShotWarper3",64,0,32,0,0,0,0,1)
CHIB C 0 A_PlaySoundEx("weapon/chillsalvo","Weapon")
CHIB C 2 OffSet(21,22)A_SpawnItemEx("ChillSpreadShotWarper2",40,-40,32,0,0,0,0,1)
CHIB C 0 A_PlaySoundEx("weapon/chillsalvo","Weapon")
CHIB C 2 OffSet(-50,51)A_SpawnItemEx("ChillSpreadShotWarper1",0,-64,32,0,0,0,0,1)
CHIB C 2 OffSet(-88,78)
TNT1 A 1
TNT1 AA 3
TNT1 A 1
CHIB D 2 OffSet(-265,46)
CHIB D 2 OffSet(-225,16)
CHIB E 2 OffSet(-131,-18)
CHIB F 2 OffSet(-44,-17)
CHIB G 2 OffSet(24,19)
CHIB G 2 OffSet(72,30)
CHIB G 2 OffSet(120,56)
TNT1 A 0 A_GiveInventory("Chill_ItemCoolD",105)
TNT1 A 0 A_TakeInventory("Chill_ItemCharge")
TNT1 A 1 A_TakeInventory("Chill_ItemFlag",99)
TNT1 AA 2 A_TakeInventory("Chill_ItemFlag",99)
CHIB A 2 OffSet(-18,74)A_TakeInventory("Chill_ItemCharge")
CHIB A 2 OffSet(-10,58)
CHIB A 2 OffSet(-4,44)
goto Ready1

Altfire:
CHIB A 0 A_JumpIfInventory("Chill_ItemFlag",1,"SuperSlide")
CHIB A 0 A_JumpIfInventory("ChillSliding",1,"StopSlide")
CHIB A 0 A_JumpIfInventory("ChillSlideAmmo",168,"Altfire2")
CHIB A 1
Goto Ready1
Altfire2:
CHIB H 0
CHIB H 2 A_GiveInventory("ChillSliding",1)
CHIB A 0 A_TakeInventory("UnSolid",99)
CHIB A 0 A_ChangeFlag("SOLID",0)
CHIB A 0 A_ChangeFlag("THRUSPECIES",1)
CHIB A 2 A_SpawnItemEx("ChillmanSlideWatcher")
CHIB H 2
Goto Ready1
StopSlide:
CHIB HAH 2 A_TakeInventory("ChillSliding",99)
Goto Ready1
SuperSlide:

goto Ready1

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("Chill_ItemFlag",1,"Flash.Item")
TNT1 A 1 A_GiveInventory("ChillFlashInventory_P",1)
Loop
Flash.Item:
TNT1 A 0 A_GiveInventory("ChillSuperCountdownFX_P2",1)
TNT1 A 1 A_GiveInventory("ChillFlashInventory_P",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("Chill_ItemCharge",35,"Flash.ItemTimeout")
TNT1 A 0 A_JumpIfInventory("Chill_ItemFlag",1,"Flash.Item2")
Goto Flash
Flash.Item2:
TNT1 A 0 A_GiveInventory("ChillSuperCountdownFX_P",1)
TNT1 A 1 A_GiveInventory("ChillFlashInventory_P",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("Chill_ItemCharge",35,"Flash.ItemTimeout")
TNT1 A 0 A_JumpIfInventory("Chill_ItemFlag",1,"Flash.Item")
Goto Flash
Flash.ItemTimeout:
TNT1 A 0 A_GiveInventory("ChillSuperCountdownFire_P",1)
TNT1 A 0 A_GiveInventory("Chill_ItemCoolD",105)
TNT1 A 0 A_TakeInventory("Chill_ItemCharge")
TNT1 A 0 A_TakeInventory("Chill_ItemFlag",99)
TNT1 A 1 A_GiveInventory("ChillFlashInventory_P",1)
Goto Flash
Flash.ItemCancel:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("Chill_ItemCoolD",1,"Flash")
TNT1 A 1
loop
}
}

actor SpikesAndChillAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 112
+INVENTORY.IGNORESKILL
}
actor ChillSlideAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 168
+INVENTORY.IGNORESKILL
}

actor ChillHealthFlag : Ammo
{
inventory.amount 1
inventory.maxamount 650
+INVENTORY.IGNORESKILL
}
actor ChillShield : Ammo
{
inventory.amount 1
inventory.maxamount 250
+INVENTORY.IGNORESKILL
}
actor ChillShieldCooldown : Inventory
{
inventory.amount 1
inventory.maxamount 210
}

actor ChillParkour : Powerup
{
Powerup.Duration 5
}
actor ChillSliding : OnceC {}
actor ChillSlideCount : Inventory
{
inventory.amount 1
inventory.maxamount 10
}
actor ChillSlideSpeed1 : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 3
speed 1.88
}
actor ChillSlideSpeed2 : ChillSlideSpeed1
{
speed 1.83
}
actor ChillSlideSpeed3 : ChillSlideSpeed1
{
speed 1.77
}
actor ChillSlideSpeed4 : ChillSlideSpeed1
{
speed 1.55
}
actor ChillPuddleDelay : Powerup
{
Powerup.Duration 3
}

actor ChillPuddleDelayACS_A : Powerup
{//duration between ally/enemy effects from ice trail
Powerup.Duration 2
}
actor ChillPuddleDelayACS_E : ChillPuddleDelayACS_A{}

actor ChillPuddleAllySpeed : PowerSpeed
{
Speed 1.5
powerup.duration 10
}

actor PowerChillmanSlow1 : PowerSpeed
{
Speed 0.70
powerup.duration 7
}
actor PowerChillmanSlow2 : PowerChillmanSlow1
{
powerup.duration 14
}
actor PowerChillmanSlow3 : PowerChillmanSlow1
{
powerup.duration 21
}

actor Chill_ItemCharge : Inventory
{
inventory.amount 1
inventory.maxamount 35
}
actor Chill_ItemCoolD : Inventory
{
inventory.amount 1
inventory.maxamount 105
}
actor Chill_ItemFlag : OnceC{}

actor ChillmanSuperItem : BasicClassItem
{
inventory.icon "ChilIcon"
inventory.pickupmessage "Chill Out."
Tag "Chill Super Trigger"
states
{
Spawn:
CHIB Z 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("Chill_ItemCoolD",1,"No")
TNT1 A 0 A_JumpIfInventory("ChillShield",1,1)
fail//Goto No//A_PlaySoundEx("weapon/adapterchargeloop","SoundSlot7")
TNT1 A 0 A_GiveInventory("Chill_ItemFlag",1)
fail
}
}

actor ChillAmmoGiver_P : CustomInventory
{//Move to ready states if ammo desync
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("ChillSliding",1,3)
TNT1 A 0 A_GiveInventory("ChillSlideAmmo",4)
TNT1 A 0 A_GiveInventory("SpikesAndChillAmmo",1)
TNT1 A 0 A_JumpIfInventory("Chill_ItemCoolD",1,2)
TNT1 AA 0 A_GiveInventory("SpikesAndChillAmmo",1)
Stop
}
}

actor ChillFlashInventory_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("ChillShield",1,1)
Stop
TNT1 A 0 A_JumpIfInventory("Chill_ItemCoolD",1,1)
Stop
TNT1 A 0 A_TakeInventory("Chill_ItemCoolD",1)
Stop
}
}

actor ChillSuperCountdownFX_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("Chill_ItemCharge",1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX_H",0,0,0,0,0,0,0,1)
Stop
}
}
actor ChillSuperCountdownFX_P2 : ChillSuperCountdownFX_P
{
states
{
Pickup:
TNT1 A 0 A_PlaySoundEx("KirbyNES/Beam","SoundSlot7")//weapon/StarMain
goto Super::Pickup
}
}

actor ChillSuperCountdownFire_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("Chill_ItemCharge",35,"Pickup2")
stop
Pickup2:
TNT1 A 0 A_SpawnItemEx("ChillItemFreezer",0,0,28,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"Pickup2_S")
stop
Pickup2_S:
TNT1 A 0 A_SpawnItemEx("ChillItemFreezer",0,0,42,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezer",0,0,14,0,0,0,0,1)
stop
}
}

actor ChillShieldFX_H : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 AA 0 A_SpawnItemEx("ChillShieldFX",Random(-40,40),Random(-40,40),Random(10,60),0,0,0,0,1)
stop
}
}

actor ChillShieldFX : BasicClientSide
{
Renderstyle "Translucent"
Alpha 0.8
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"Spawn2","Spawn3","Spawn4","Spawn5")
Spawn2:
CHIB QQQQ 2 A_Fadeout
Stop
Spawn3:
CHIB RRRR 2 A_Fadeout
Stop
Spawn4:
CHIB SSSS 2 A_Fadeout
Stop
Spawn5:
CHIB TTTT 2 A_Fadeout
Stop
}
}


actor ChillmanArmorAdjustedProtection : PowerProtection
{
Powerup.Duration 0x7FFFFFFD
damagefactor "LightRyu_Stop", 15.0
}

actor ChillmanSpawnStart_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 //ACS_NamedExecuteAlways("CBM_ChillmanArmor",0,650)
TNT1 A 0 A_SpawnItemEx("ChillShieldWatcher")
stop
}
}
actor ChillShieldAcs_On_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("ChillSpikeBoss",1,1)
Stop
TNT1 A 0 A_PlaySound("weapon/ChillIceForm",4,0.8)

TNT1 A 0 SetPlayerProperty(0,1,16)//Buddha on

TNT1 A 0 A_GiveInventory("ChillmanArmorAdjustedProtection",1)
TNT1 A 0 A_TakeInventory("ChillShieldCooldown",999)
TNT1 A 0 A_TakeInventory("GuarddownFlag",99)
TNT1 A 0 ACS_NamedExecuteAlways("C_CHILLSHIELD",0,3)//Record current health

stop
}
}

actor ChillShieldAcs_Off_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("ChillSpikeBoss",1,1)
Stop
TNT1 A 0 A_PlaySoundEx("weapon/ChillIceBrk","Body")

TNT1 A 0 SetPlayerProperty(0,0,16)//Buddha off

TNT1 A 0 A_SpawnItemEx("ChillShieldInvuln_H",0,0,0,0,0,0,0,1)
TNT1 A 0 A_GiveInventory("GuardDownFlag",1)
TNT1 A 0 A_TakeInventory("ChillmanArmorAdjustedProtection",1)

TNT1 A 0 ACS_NamedExecuteAlways("C_CHILLSHIELD",0,2/*,50*/)//Heal to recorded health
stop
}
}

actor ChillShieldAcs_Update_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("ChillSpikeBoss",1,1)
Stop
TNT1 A 0 A_JumpIfInventory("ChillHealthFlag",0,"No")//650//CallACS("cbm_countinv_acs",103,0)+1
TNT1 A 0 A_JumpIf(health>ACS_ExecuteWithResult(CBM_FetchMyHealth,1)*6/13,1)//300
stop
TNT1 A 0 ACS_NamedExecuteAlways("C_CHILLSHIELD",0,1)//Updated recorded health to higher number
stop
No:
TNT1 A 0
stop
}
}

actor ChillShieldInvuln_H : BasicHelper
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("ChillShieldCooldown",1)
TNT1 A 0 //A_PlaySoundEx("KirbyNES/Beam","Weapon")
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,30,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,60,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,120,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,150,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,210,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,240,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,300,1)
TNT1 A 0 A_SpawnItemEx("ChillShieldFX",0,0,40,30,0,0,330,1)
TNT1 A 0 A_GiveToTarget("InvulnerableOn_Pickup",1)
TNT1 A 0 A_TakeFromTarget("ChillShieldCooldown",999)
TNT1 AAAAAA 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 4 A_GiveToTarget("InvulnerableOff_Pickup",1)
Stop
}
}

actor ChillShieldWatcher : BasicHelper
{
+SERVERSIDEONLY
Mass 1
states
{
Spawn:
TNT1 A 0
TNT1 A 5//Delay for if MaxHealth gets changed somehow
goto SpawnRestart
SpawnL:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillShieldAcs_Update_P",1)
TNT1 A 0 A_JumpIfInTargetInventory("ChillShield",Args[2],"SpawnL")//250
TNT1 A 0 A_JumpIfInTargetInventory("ChillShield",1,1)
goto SpawnBrokenStart
TNT1 A 0 A_GiveToTarget("ChillShieldCooldown",Mass)
TNT1 A 0 A_JumpIfInTargetInventory("ChillShieldCooldown",0,"SpawnRestart")
goto SpawnL
SpawnBrokenStart:
TNT1 A 0 A_GiveToTarget("ChillShieldAcs_Off_P",1)
goto SpawnBrokenL
SpawnBrokenL:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillShieldCooldown",Mass)
TNT1 A 0 A_JumpIfInTargetInventory("ChillShieldCooldown",0,"SpawnRestart")
loop
SpawnRestart:
TNT1 A 0 A_SetArg(2,CallACS("cbm_getTIDPointerhealth",2,1)*5/13)//Record Target MaxHP Shield Ratio
TNT1 A 1 A_GiveToTarget("ChillShieldAcs_On_P",1)
goto SpawnL
}
}

actor ChillmanSlideEnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag("THRUSPECIES",0)
TNT1 A 0 A_SpawnItemEx("ResolidifyPlayer_H")
TNT1 A 0 A_TakeInventory("ChillSliding",999)
TNT1 A 0 A_TakeInventory("ChillSlideCount",99)
stop
}
}

actor ChillmanSlideWatcher : BasicHelper
{
states
{
Spawn:
TNT1 A 1
TNT1 A 1 A_TakeFromTarget("ChillSlideAmmo",12)
TNT1 A 1
goto SpawnL
SpawnL:
TNT1 A 0 A_JumpIfInTargetInventory("ChillSliding",1,1)
goto SpawnNo
TNT1 A 0 A_JumpIfInTargetInventory("Chill_ItemFlag",1,"SpawnNo")
TNT1 A 0 A_JumpIfInTargetInventory("ChillSlideAmmo",1,1)
goto SpawnNo
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 //A_TakeFromTarget("ChillSlideAmmo",1)
TNT1 A 1 A_GiveToTarget("ChillSlideInventory_P",1)
loop
SpawnNo:
TNT1 A 1 A_GiveToTarget("ChillmanSlideEnd_P",1)
stop
}
}

actor ChillSlideSnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("ChillSliding",1,1)
stop
TNT1 A 0 A_CheckFloor(1)
stop
TNT1 A 0 A_PlaySoundEx("weapon/ChillSkate","SoundSlot7")
stop
}
}

actor ChillSlideInventory_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_CheckFloor("MoveCheck")
TNT1 A 0 A_TakeInventory("ChillSlideCount",1)
Stop
MoveCheck:
TNT1 A 0 A_JumpIf(CallACS("cbm_FetchMovementInput")!=1,2)
TNT1 A 0 A_JumpIfInventory("ChillSlideCount",1,"Sliding")
Goto Sliding
TNT1 A 0 A_Giveinventory("ChillSlideCount",1)
TNT1 A 0 A_JumpIfInventory("ChillSlideCount",7,"Speed3")
TNT1 A 0 //A_JumpIfInventory("GuardDownFlag",1,"Speed4")
TNT1 A 0 A_JumpIfInventory("ChillSlideCount",4,"Speed2")
TNT1 A 0 A_Giveinventory("ChillSlideSpeed1",1)
goto End
Speed2:
TNT1 A 0 A_Giveinventory("ChillSlideSpeed2",1)
goto End
Speed3:
TNT1 A 0 //A_JumpIfInventory("GuardDownFlag",1,"Speed4P")
TNT1 A 0 A_Giveinventory("ChillSlideSpeed3",1)
goto Puddle
Speed4:
TNT1 A 0 A_Giveinventory("ChillSlideSpeed4",1)
goto End
Speed4P:
TNT1 A 0 A_Giveinventory("ChillSlideSpeed4",1)
goto Puddle
Sliding:
TNT1 A 0 A_TakeInventory("ChillSlideCount",1)
TNT1 A 1 A_ChangeVelocity((momx)*1.0525,(momy)*1.0525,(momz),CVF_REPLACE)
TNT1 A 0 A_JumpIfInventory("ChillSlideCount",4,"Puddle")
Stop
Puddle:
TNT1 A 0 A_JumpIfInventory("ChillPuddleDelay",1,"No")
TNT1 A 0 A_GiveInventory("ChillPuddleDelay",1)
TNT1 A 0 A_SpawnItemEx("ChillIcePuddle",0,0,0,0,0,0,0,1)
goto End
End:
TNT1 A 0 A_TakeInventory("ChillSlideAmmo",3,1)//2
stop
No:
TNT1 A 0
stop
}
}

actor ChillIcePuddle : BasicHelper
{

var int user_A;
//+FLOORHUGGER
Reactiontime 72
RenderStyle "translucent"
Alpha 0.8
Scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 1 A_SetUserVar("user_A",CallACS("cbm_FetchVectorAngle",2))
TNT1 A 0 //ACS_NamedExecuteAlways("cbm_TellVectorAngle",0,user_A,16)
TNT1 A 0 A_JumpIf(user_A==-1,"Ending")
TNT1 A 0 A_PlaySound("weapon/ChillTrail",1,0.1)
goto SpawnL
SpawnL:
Y_AD J 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Ending")
Y_AD J 0 A_SpawnItemEx("ChillIcePuddleFX",frandom(-32,32),frandom(-32,32),frandom(0,8),0,0,frandom(1,3),0,1)
Y_AD J 1 ACS_NamedExecuteAlways("cbm_ChillSlipNSlide",0,user_A,16,36)//Angle|Thrust|Range
Y_AD J 0 A_Countdown
Loop
Ending:
TNT1 A 2
Stop

Death:
TNT1 A 0
TNT1 A 2 A_PlaySound("weapon/ChillTrailEnd",1,0.1)
stop
}
}

actor ChillIcePuddleFX : BasicClientSide
{
RenderStyle "translucent"
Alpha 0.75
Scale 1.25
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetScale(ScaleX+frandom(-0.25f,0.25f))
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5","Spawn6","Spawn7","Spawn8")
Spawn1:
Y_AD M 3
Y_AD MMMM 1 A_Fadeout(0.125)
stop
Spawn2:
Y_AD N 3
Y_AD NNNN 1 A_Fadeout(0.125)
stop
Spawn3:
Y_AD O 3
Y_AD OOOO 1 A_Fadeout(0.125)
stop
Spawn4:
Y_AD M 3
Y_AD NNNO 1 A_Fadeout(0.125)
stop
Spawn5:
Y_AD N 3
Y_AD OOOM 1 A_Fadeout(0.125)
stop
Spawn6:
Y_AD O 3
Y_AD MMMN 1 A_Fadeout(0.125)
stop
Spawn7:
Y_AD M 3
TNT1 A 1
Y_AD N 3
TNT1 A 1
Y_AD O 2
stop
Spawn8:
Y_AD MNO 3
stop
}
}

actor ChillSpreadShotWarper1
{//19 frame delay between shots would be bad
+MISSILE
+NOINTERACTION
-SOLID
+THRUACTORS
+NOGRAVITY
+DONTBLAST
+DONTREFLECT

+NOTIMEFREEZE
RenderStyle "translucent"
Alpha 0.7

ReactionTime 7
Mass 0
Meleerange -64


Height 2
Radius 2
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0
goto SpawnL
SpawnL:
CHIB K 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathNo")
CHIB K 0 A_CountDown
CHIB K 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
CHIB KKK 1 A_Warp(AAPTR_TARGET,Mass,Meleerange,32,0,24)
CHIB L 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathNo")
CHIB L 0 A_CountDown
CHIB L 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
CHIB LLL 1 A_Warp(AAPTR_TARGET,Mass,Meleerange,32,0,24)
CHIB M 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathNo")
CHIB M 0 A_CountDown
CHIB M 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
CHIB MMM 1 A_Warp(AAPTR_TARGET,Mass,Meleerange,32,0,24)
Loop

Death:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillManMain2a_CI",1)
TNT1 A 2
stop
DeathNo:
TNT1 A 2
stop
}
}
actor ChillSpreadShotWarper2 : ChillSpreadShotWarper1
{
ReactionTime 8
Mass 40
Meleerange -40
States
{
Death:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillManMain2b_CI",1)
TNT1 A 2
stop
}
}
actor ChillSpreadShotWarper3 : ChillSpreadShotWarper1
{
ReactionTime 9
Mass 64
Meleerange 0
States
{
Death:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillManMain2c_CI",1)
TNT1 A 2
stop
}
}
actor ChillSpreadShotWarper4 : ChillSpreadShotWarper1
{
ReactionTime 10
Mass 40
Meleerange 40
States
{
Death:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillManMain2d_CI",1)
TNT1 A 2
stop
}
}
actor ChillSpreadShotWarper5 : ChillSpreadShotWarper1
{
ReactionTime 11
Mass 0
Meleerange 64
States
{
Death:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillManMain2e_CI",1)
TNT1 A 2
stop
}
}


actor ChillmanSpikeShot
{
Translation "202:202=202:202","199:199=207:207"
PROJECTILE
-NOGRAVITY
damagetype "ChillM_Shot"
Obituary "$OB_CHILLMANSHOT"
Radius 24
Height 20
Damage (100)
speed 32
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,4,0,1)
Y_AD ABC 2
goto Spawn+2
Death:
TNT1 A 0 A_JumpIf(z-floorz<=5,"Death2")
TNT1 A 0 A_JumpIf(ceilingz-z<=25,"Death3")
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeW_HelpStart",0,0,-(ceilingz-z < 32)*(32-(ceilingz-z)),0,0,0,0,1)
TNT1 A 0
stop
XDeath:
TNT1 A 0
TNT1 A 0
Stop
Death2:
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeF",0,0,0,0,0,0,0,1)
TNT1 A 0
stop
Death3:
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeC",0,0,0,0,0,0,0,1)
TNT1 A 0
stop
}
}

actor ChillmanSpikeShotB : ChillmanSpikeShot{Translation"202:202=205:205","199:199=74:74"}
actor ChillmanSpikeShotR : ChillmanSpikeShot{Translation"202:202=171:171","199:199=41:41"}
actor ChillmanSpikeShotO : ChillmanSpikeShot{Translation"202:202=104:104","199:199=128:128"}
actor ChillmanSpikeShotP : ChillmanSpikeShot{Translation"202:202=229:229","199:199=232:232"}

Actor ChillmanSpikeShot2 : ChillmanSpikeShot{speed 50}
actor ChillmanSpikeShot2B : ChillmanSpikeShotB{speed 50}
actor ChillmanSpikeShot2R : ChillmanSpikeShotR{speed 50}
actor ChillmanSpikeShot2O : ChillmanSpikeShotO{speed 50}
actor ChillmanSpikeShot2P : ChillmanSpikeShotP{speed 50}

const int CHILLMAN_RAD = 20;

actor ChillM_SpikeProtect : PowerProtection
{
Powerup.Duration 5
damagefactor "ChillM_Spike", 0.3
}

actor ChillmanSpikeF
{
PROJECTILE
damagetype "ChillM_Spike"
Obituary "$OB_CHILLMANSPIKE_F"
+DONTBLAST
+DONTREFLECT
+FLOORHUGGER
+SLIDESONWALLS
reactiontime 140
Damage (200)
Radius 24
Height 20
Speed 0
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetAngle(random(0,359))
Y_AD D 0 A_PlaySoundEx("weapon/chillspike","Weapon")
Y_AD D 0 A_SpawnItemEx("ChillmanSpikeFX_F1",CHILLMAN_RAD,0,0,0,0,0,0,1)
Y_AD D 0 A_SpawnItemEx("ChillmanSpikeFX_F1",CHILLMAN_RAD,0,0,0,0,0,120,1)
Y_AD D 0 A_SpawnItemEx("ChillmanSpikeFX_F1",CHILLMAN_RAD,0,0,0,0,0,240,1)
Y_AD D 2
Spawn2:
Y_AD E 0 A_SpawnItemEx("ChillmanSpikeFX_F2",CHILLMAN_RAD,0,0,0,0,0,0,1)
Y_AD E 0 A_SpawnItemEx("ChillmanSpikeFX_F2",CHILLMAN_RAD,0,0,0,0,0,120,1)
Y_AD E 0 A_SpawnItemEx("ChillmanSpikeFX_F2",CHILLMAN_RAD,0,0,0,0,0,240,1)
Y_AD E 1 A_CountDown
loop
Death:
TNT1 A 0 A_PlaySoundEx("weapon/chillbreak","Weapon")
Goto XDeath
XDeath:
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",0,0,0,random(6,12),random(6,12),random(6,12), 0,1)
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",CHILLMAN_RAD,0,0,random(6,12),random(6,12),random(6,12),0,1)
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",CHILLMAN_RAD,0,0,random(6,12),random(6,12),random(6,12),120,1)
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",CHILLMAN_RAD,0,0,random(6,12),random(6,12),random(6,12),240,1)
TNT1 A 2
stop
}
}

actor ChillmanSpikeFX_F1 : BasicClientSide
{
States
{
Spawn:
Y_AD D 3
stop
}
}
actor ChillmanSpikeFX_F2 : BasicClientSide
{
States
{
Spawn:
Y_AD E 2
stop
}
}

actor ChillmanSpikeW_HelpStart
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
Renderstyle None
Damage (0)
Radius 10
Height 32
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeW_HelpF",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("ChillmanSpikeW_HelpB",0,0,0,0,0,0,0,1)
stop
}
}
actor ChillmanSpikeW_HelpF : ChillmanSpikeW_HelpStart
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_JumpIf(pitch>=15,"Spawn2")
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeW_HelpF",2,0,0,0,0,0,0,545)
stop
Spawn2:
TNT1 A 1 A_SpawnItemEx("ChillmanSpikeW",0,0,0,0,0,0,0,33)
stop
Death:
TNT1 A 1 A_SpawnItemEx("ChillmanSpikeW",-2,0,0,0,0,0,0,33)
stop
}
}
actor ChillmanSpikeW_HelpB : ChillmanSpikeW_HelpStart
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeW",0,0,0,0,0,0,0,33)
stop
Death:
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_JumpIf(pitch>=10,"Death2")
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeW_HelpB",-2,0,0,0,0,0,0,545)
stop
Death2:
TNT1 A 1 A_SpawnItemEx("ChillmanSpikeW",0,0,0,0,0,0,0,33)
stop
}
}

actor ChillmanSpikeW : ChillmanSpikeF
{
var int user_angle;
Obituary "$OB_CHILLMANSPIKE_W"
-FLOORHUGGER
+BOUNCEONCEILINGS
Radius 10
Height 32
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar(user_angle,random(1,120))
Y_AD F 0 A_PlaySoundEx("weapon/chillspike","Weapon")
Y_AD F 0 A_SpawnItemEx("ChillmanSpikeFX_W1",0,cos(user_angle)*CHILLMAN_RAD,sin(user_angle)*CHILLMAN_RAD,0,0,0,0,1)
Y_AD F 0 A_SpawnItemEx("ChillmanSpikeFX_W1",0,cos(user_angle+120)*CHILLMAN_RAD,sin(user_angle+120)*CHILLMAN_RAD,0,0,0,0,1)
Y_AD F 0 A_SpawnItemEx("ChillmanSpikeFX_W1",0,cos(user_angle+240)*CHILLMAN_RAD,sin(user_angle+240)*CHILLMAN_RAD,0,0,0,0,1)
Y_AD F 2
Spawn2:
Y_AD G 0 A_SpawnItemEx("ChillmanSpikeFX_W2",0,cos(user_angle)*CHILLMAN_RAD,sin(user_angle)*CHILLMAN_RAD,0,0,0,0,1)
Y_AD G 0 A_SpawnItemEx("ChillmanSpikeFX_W2",0,cos(user_angle+120)*CHILLMAN_RAD,sin(user_angle+120)*CHILLMAN_RAD,0,0,0,0,1)
Y_AD G 0 A_SpawnItemEx("ChillmanSpikeFX_W2",0,cos(user_angle+240)*CHILLMAN_RAD,sin(user_angle+240)*CHILLMAN_RAD,0,0,0,0,1)
Y_AD G 0 A_JumpIfInTargetInventory("ChillParkour",1,2)
Y_AD G 0 A_JumpIfCloser(64,"Parkour")
Y_AD G 1 A_CountDown
loop
Parkour:
Y_AD G 0 A_GiveToTarget("ChillParkour",1)
Y_AD G 1 A_CountDown
Goto Spawn2
Death:
TNT1 A 0 A_PlaySoundEx("weapon/chillbreak","Weapon")
Goto XDeath
XDeath:
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",0,0,28,-random(6,12),0,random(2,6),random(-6,6),1)
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",0,cos(user_angle)*CHILLMAN_RAD,sin(user_angle)*CHILLMAN_RAD+28,-random(6,12),0,random(2,6),random(-6, 6),1)
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",0,cos(user_angle+120)*CHILLMAN_RAD,sin(user_angle+120)*CHILLMAN_RAD+28,-random(6,12),0,random(2,6),random(-6, 6),1)
TNT1 A 0 A_SpawnItemEx("ChillmanSpikeDebris",0,cos(user_angle+240)*CHILLMAN_RAD,sin(user_angle+240)*CHILLMAN_RAD+28,-random(6,12),0,random(2,6),random(-6, 6),1)
TNT1 A 1
stop
}
}

actor ChillmanSpikeFX_W1 : BasicClientSide
{
States
{
Spawn:
Y_AD F 3
stop
}
}
actor ChillmanSpikeFX_W2 : BasicClientSide
{
States
{
Spawn:
Y_AD G 2
stop
}
}

actor ChillmanSpikeC : ChillmanSpikeF
{
Obituary "$OB_CHILLMANSPIKE_C"
-FLOORHUGGER
+CEILINGHUGGER
Height 22
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetAngle(random(0,359))
Y_AD H 0 A_PlaySoundEx("weapon/chillspike","Weapon")
Y_AD H 0 A_SpawnItemEx("ChillmanSpikeFX_C1",CHILLMAN_RAD,0,0,0,0,0,0,1)
Y_AD H 0 A_SpawnItemEx("ChillmanSpikeFX_C1",CHILLMAN_RAD,0,0,0,0,0,120,1)
Y_AD H 0 A_SpawnItemEx("ChillmanSpikeFX_C1",CHILLMAN_RAD,0,0,0,0,0,240,1)
Y_AD H 2
Spawn2:
Y_AD I 0 A_SpawnItemEx("ChillmanSpikeFX_C2",CHILLMAN_RAD,0,0,0,0,0,0,1)
Y_AD I 0 A_SpawnItemEx("ChillmanSpikeFX_C2",CHILLMAN_RAD,0,0,0,0,0,120,1)
Y_AD I 0 A_SpawnItemEx("ChillmanSpikeFX_C2",CHILLMAN_RAD,0,0,0,0,0,240,1)
Y_AD I 1 A_CountDown
loop
}
}

actor ChillmanSpikeFX_C1 : BasicClientSide
{
States
{
Spawn:
Y_AD H 3
stop
}
}
actor ChillmanSpikeFX_C2 : BasicClientSide
{
States
{
Spawn:
Y_AD I 2
stop
}
}

actor ChillItemFreezer : BasicExplosion
{
//maybe spawns some mini spikes on the ground
Damagetype "ChillM_Freeze"
Obituary "$OB_CHILLMANFREEZE"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,30,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,60,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,120,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,150,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,210,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,240,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,300,1)
TNT1 A 0 A_SpawnItemEx("ChillItemFreezerFX",0,0,-14,60,0,0,330,1)

TNT1 A 0 A_Explode(150,196,0,0,196)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"Spawn_S",2)
goto End
Spawn_S:
TNT1 AA 0 A_Explode(150,196,0,0,196)
goto End
End:
TNT1 A 5
stop
}
}

actor ChillItemFreezerFX : BasicClientSide
{
States
{
Spawn:
DUOR T 0
DUOR TTTT 1 A_Fadeout
stop
}
}

actor ChillFreezeStoppered : BasicHelper
{
reactiontime 70
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("ChillFreezeStoppered_P",1)
TNT1 A 0 A_TakeFromTarget("EndBossFlashStoppered",1)
goto Spawn2
Spawn2:
TNT1 A 0 A_JumpIfInTargetInventory("EndBossFlashStoppered",1,"Death")
TNT1 A 1 A_GiveToTarget("ChillFreezeStoppered_P",1)
TNT1 A 0 A_CountDown
loop
}
}

actor ChillFreezeStoppered_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Stop
TNT1 A 0 A_SpawnItemEx("FrozenToFloorFX",0,0,0,0,0,0,0,1)
stop
}
}

actor ChillmanSpikeDebris
{
+MISSILE
-SOLID
+THRUACTORS
+DONTSPLASH
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+BOUNCEAUTOOFF
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
height 2
radius 2
scale 2.5
States
{
Spawn:
Y_AD K 0
Y_AD K 1 A_Jump(256, "Spawn_K", "Spawn_L")
wait
Spawn_K:
Y_AD K 1
wait
Spawn_L:
Y_AD L 1
wait
Spawn2:
"----" "#" 2 A_JumpIf(momz==0, "Death")
wait
Death:
"----" "#" 1
stop
}
}

actor ChillParkourJump_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("ChillParkourJump_H")
stop
}
}
actor ChillParkourJump_P2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 //A_SpawnItemEx("ChillParkourJump_H2",0,0,28,momx,momy,momz,0,9)
TNT1 A 0 A_SpawnItemEx("ChillParkourJump_H2",0,0,28,0,0,0,0,1)
stop
}
}

actor ChillParkourJump_H : BasicHelper
{
var int user_A;
States
{
Spawn:
TNT1 A 0
TNT1 A 2
TNT1 A 4 A_GiveToTarget("ChillParkourJump_P2",1)
stop
}
}

actor ChillParkourJump_H2 : BasicHelper
{
var int user_A;
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_FaceTarget(0,0)
TNT1 A 2 A_SpawnItemEx("ChillParkourJumpFX",0,0,0,0,0,0,0,513)
stop
}
}



actor ChillParkourJumpFX : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ChillParkourJumpFX1",0,0,0,Cos(pitch)*25,0,-sin(pitch)*25,0,1)
TNT1 A 0 A_SpawnItemEx("ChillParkourJumpFX1",0,0,0,Cos(pitch)*28,0,-sin(pitch)*28,30,1)
TNT1 A 0 A_SpawnItemEx("ChillParkourJumpFX1",0,0,0,Cos(pitch)*28,0,-sin(pitch)*28,-30,1)
TNT1 A 0 A_SpawnItemEx("ChillParkourJumpFX1",0,0,0,Cos(pitch)*27,0,-sin(pitch)*27+13.5,15,1)
TNT1 A 0 A_SpawnItemEx("ChillParkourJumpFX1",0,0,0,Cos(pitch)*30,0,-sin(pitch)*27+13.5,-15,1)
TNT1 A 0 A_SpawnItemEx("ChillParkourJumpFX1",0,0,0,Cos(pitch)*27,0,-sin(pitch)*27-13.5,15,1)
TNT1 A 0 A_SpawnItemEx("ChillParkourJumpFX1",0,0,0,Cos(pitch)*27,0,-sin(pitch)*27-13.5,-15,1)

TNT1 A 0
stop
}
}

actor ChillParkourJumpFX1 : BasicClientSide
{
ReactionTime 5
States
{
Spawn:
TNT1 A 0 A_CountDown
TNT1 AAA 0 A_SpawnItemEx("ChillParkourJumpFX2",frandom(-24,24),frandom(-24,24),frandom(-12,12),frandom(-1,1),frandom(-1,1),frandom(-1,1),0,1)
TNT1 A 1
loop
}
}

actor ChillParkourJumpFX2 : ChillIcePuddleFX
{
RenderStyle "Translucent"
Alpha 0.95
Scale 1.75
}

actor ChillManMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot",0,1,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShotB",0,1,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShotR",0,1,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShotO",0,1,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShotP",0,1,-8,0)
goto Done
Done:
TNT1 A 0 A_GiveInventory("ChillSlideAmmo",7)
stop
}
}


actor ChillManMain2a_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2",15,0,-64,4,0,-2)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2B",15,0,-64,4,0,-2)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2R",15,0,-64,4,0,-2)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2O",15,0,-64,4,0,-2)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2P",15,0,-64,4,0,-2)goto Done}}
actor ChillManMain2b_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2",7.5,0,-40,4,0,-1)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2B",7.5,0,-40,4,0,-1)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2R",7.5,0,-40,4,0,-1)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2O",7.5,0,-40,4,0,-1)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2P",7.5,0,-40,4,0,-1)goto Done}}
actor ChillManMain2c_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2",0,0,0,4)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2B",0,0,0,4)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2R",0,0,0,4)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2O",0,0,0,4)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2P",0,0,0,4)goto Done}}
actor ChillManMain2d_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2",-7.5,0,40,4,0,-1)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2B",-7.5,0,40,4,0,-1)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2R",-7.5,0,40,4,0,-1)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2O",-7.5,0,40,4,0,-1)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2P",-7.5,0,40,4,0,-1)goto Done}}
actor ChillManMain2e_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2",-15,0,64,4,0,-2)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2B",-15,0,64,4,0,-2)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2R",-15,0,64,4,0,-2)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2O",-15,0,64,4,0,-2)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ChillmanSpikeShot2P",-15,0,64,4,0,-2)goto Done}}
