actor WilyGun : Megabuster
{
Weapon.AmmoUse 1
Weapon.AmmoGive 0
Weapon.SlotNumber 1
scale 2.0
Obituary "%o was bombed by %k's Wily Gun."
weapon.ammotype "PlasmaAmmo"
+WEAPON.AMMO_OPTIONAL
+WEAPON.DONTBOB
States
{
Spawn:
TNT1 A 0
stop
Ready:
WIAR A 0 ACS_ExecuteAlways(998,0,1)
WISS B 0 A_GunFlash
TNT1 A 0 A_JumpIfInventory("PlasmaAmmo",2,"Ready2")
WIAR A 10 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
WIAR A 0 A_GiveInventory("CapsuleAmmo",1)
WIAR A 0 A_GiveInventory("PlasmaAmmo",1)
TNT1 A 0 A_JumpIfInventory("CapsuleAmmo",28,"Transform")
Goto Ready+2
Ready2:
WIAR A 10 A_WeaponReady(WRF_NOSWITCH)
WIAR A 0 A_GiveInventory("CapsuleAmmo",1)
WIAR A 0 A_GiveInventory("PlasmaAmmo",1)
TNT1 A 0 A_JumpIfInventory("CapsuleAmmo",28,"Transform")
loop
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
WIAR A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WIAR A 1 A_Raise
Loop
Fire:
TNT1 A 0 A_JumpIfInventory("PlasmaAmmo",2,"Fire2")
goto NoAmmo
Fire2:
WIAR A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
WIAR A 0 A_FireCustomMissile("WilyNoShot",0,0,8,0)
WIAR A 0 A_TakeInventory("PlasmaAmmo",2)
WIAR BC 3
WIAR A 14
WIAR A 0 A_Refire
goto Ready+2
NoAmmo:
//WIAR A 1
WIAR A 0
Goto Ready+2
Transform:
TNT1 A 0 A_GiveInventory("AlienTransform",1)
TNT1 A 1
Loop
Flash:
TNT1 A 1 A_TakeInventory("BasicArmor",999)
goto Flash
}
}

/*actor AlienTransformItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "SSIcon"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
ALIE A 1
loop
Death:
TNT1 A 0 A_PlaySoundEx("Weapon/Junkend","Weapon")
TNT1 A 1 A_TakeInventory("AlienTransform",1)
stop
loop
Use:
TNT1 A 1
TNT1 A 0 A_GiveInventory("AlienTransform",1)
stop
}
}*/

actor AlienTransform : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
States
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 1 //SetPlayerProperty(0, 1, 3)
TNT1 A 0 A_GiveInventory("SkullSuitWep",1)
TNT1 A 0 A_TakeInventory("WilyGun",1)
TNT1 A 0 A_TakeInventory("CapsuleAmmo",28)
TNT1 A 0 //A_TakeInventory("AlienTransformItem",1)
TNT1 A 0 A_GiveInventory("AlienTrigger",1)
TNT1 A 0 A_TakeInventory("WilyTrigger",1)
HEAA A 0 A_TakeInventory("GlassHealthBar",999)
HEAA A 0 A_GiveInventory("LightHealthBar",1)
stop
}
}

actor CapsuleTransform : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
States
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 0 //A_JumpIf(ACS_ExecuteWithResult(975,0)==2,"Death")
TNT1 A 1 SetPlayerProperty(0, 1, 3)
TNT1 A 0 A_GiveInventory("CapsuleFireWep",1)
TNT1 A 0 A_GiveInventory("CapsuleIceWep",1)
TNT1 A 0 A_TakeInventory("WilyGun",1)
TNT1 A 0 A_TakeInventory("SkullSuitWep",1)
TNT1 A 0 A_TakeInventory("CapsuleTransformItem",1)
//TNT1 A 0 A_GiveInventory("CapsuleWep",1)
TNT1 A 0 //A_GiveInventory("AlienTrigger",1)
TNT1 A 0 A_TakeInventory("AlienTrigger",1)
TNT1 A 0 A_GiveInventory("WilyTrigger",1)
TNT1 A 0 A_GiveInventory("WilyTransformItem",1)
HEAA A 0 A_TakeInventory("GlassHealthBar",999)
HEAA A 0 A_GiveInventory("LightHealthBar",1)
stop
}
}

actor CapsuleTransformItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "CapIcon"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
ALIE A 1
loop
Death:
TNT1 A 0 A_PlaySoundEx("Weapon/Junkend","Weapon")
TNT1 A 1 A_TakeInventory("CapsuleTransformItem",1)
stop
loop
Use:
TNT1 A 1 A_GiveInventory("CapsuleTransform",1)
stop
}
}

actor WilyTransform : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
States
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 1 SetPlayerProperty(0, 0, 3)
TNT1 A 0 A_GiveInventory("WilyGun",1)
TNT1 A 0 A_TakeInventory("SkullSuitWep",1)
TNT1 A 0 A_TakeInventory("CapsuleFireWep",1)
TNT1 A 0 A_TakeInventory("CapsuleIceWep",1)
TNT1 A 0 A_TakeInventory("WilyTransformItem",1)
TNT1 A 0 A_TakeInventory("PlasmaAmmo",28)
TNT1 A 0 A_TakeInventory("CapsuleAmmo",28)
TNT1 A 0 A_TakeInventory("AlienTrigger",1)
TNT1 A 0 A_GiveInventory("WilyTrigger",1)
HEAA A 0 A_TakeInventory("BasicArmor",999)
HEAA A 0 A_TakeInventory("LightHealthBar",999)
HEAA A 0 A_GiveInventory("GlassHealthBar",1)
TNT1 A 0 //A_GiveInventory("AlienTransform",1)
stop
}
}

actor WilyTransformItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "WilyIcon"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WILY A 1
loop
Use:
TNT1 A 1 A_GiveInventory("WilyTransform",1)
stop
}
}

actor SkullSuitWep : Megabuster
{
Weapon.AmmoUse 1
Weapon.AmmoGive 0
Weapon.AmmoUse2 1
Weapon.AmmoGive2 0
Weapon.SlotNumber 1
scale 2.0
Obituary "%o was bombed by %k's Skull Suit."
weapon.ammotype "PlasmaAmmo"
weapon.ammotype2 "PlasmaAmmo"
+WEAPON.AMMO_OPTIONAL
+WEAPON.Alt_AMMO_OPTIONAL
+WEAPON.DONTBOB
States
{
Spawn:
TNT1 A 0
stop
Ready:
WIAR A 0 ACS_ExecuteAlways(991,0,53)
WISS B 0 A_GunFlash
//WISS B 0 SetPlayerProperty(0,0,3)
WISS A 0 A_JumpIfInventory("PlasmaAmmo",2,"Ready2")
WISS A 8 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
WISS A 0 A_GiveInventory("PlasmaAmmo",1)
Goto Ready+2
Ready2:
WISS A 8 A_WeaponReady(WRF_NOSWITCH)
WISS A 0 A_GiveInventory("PlasmaAmmo",1)
loop
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
WISS A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WISS A 1 A_Raise
Loop
Fire:
WISS A 0 A_JumpIfInventory("PlasmaAmmo",2,"Fire2")
goto NoAmmo
Fire2:
WISS A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
WISS A 0 A_FireCustomMissile("WilyNoShot",0,0,8,0)
WISS A 0 A_TakeInventory("PlasmaAmmo",2)
WISS BC 3
WISS A 14
WISS A 0 A_Refire
goto Ready+2
AltFire:
WISS A 0 A_JumpIfInventory("PlasmaAmmo",26,"AltFire1")
WISS A 0 A_JumpIfInventory("PlasmaAmmo",14,"AltFire2")
WISS A 0 A_JumpIfInventory("PlasmaAmmo",1,"AltFire3")
WISS A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
WISS A 0 A_FireCustomMissile("WilyShot4",0,0,8,0)
WISS BC 3
WISS A 2
WISS A 0 A_Refire
goto Ready+2
AltFire1:
WISS A 0 A_PlaySoundEx("weapon/wilyshot4","Weapon")
WISS A 0 A_FireCustomMissile("WilyShot1",0,0,8,0)
WISS A 0 A_TakeInventory("PlasmaAmmo",4)
WISS BC 3
WISS A 6
WIAR A 0 A_Refire
goto Ready+2
AltFire2:
WIAR A 0 A_PlaySoundEx("weapon/wilyshot3","Weapon")
WIAR A 0 A_FireCustomMissile("WilyShot2",0,0,8,0)
WIAR A 0 A_TakeInventory("PlasmaAmmo",2)
WISS BC 3
WISS A 4
WIAR A 0 A_Refire
goto Ready+2
AltFire3:
WIAR A 0 A_PlaySoundEx("weapon/wilyshot2","Weapon")
WIAR A 0 A_FireCustomMissile("WilyShot3",0,0,8,0)
WIAR A 0 A_TakeInventory("PlasmaAmmo",1)
WISS BC 3
WISS A 2
WIAR A 0 A_Refire
goto Ready+2
/*Altfire:
WISS B 1 A_JumpIfInventory("PlasmaAmmo", 1, "Fly")
Goto Ready
Fly:
WISS B 0 SetPlayerProperty(0,1,3)
WISS B 0 A_Recoil(-3)
WISS B 0 ThrustThingZ(0, 1, 0, 1)
WISS B 0 A_PlaySoundEX("weapon/superboost", "Weapon")
WISS B 0 A_SpawnItemEX("BoosterFX", 0, -10, 0, 0, 0, 0, 0, 0)
WISS A 1 A_SpawnItemEX("BoosterFX", 0, 10, 0, 0, 0, 0, 0, 0)
WISS B 0 ThrustThingZ(0, 1, 0, 1)
WISS B 0 A_PlaySoundEX("weapon/superboost", "Weapon")
WISS B 0 A_SpawnItemEX("BoosterFX", 0, -10, 0, 0, 0, 0, 0, 0)
WISS A 1 A_SpawnItemEX("BoosterFX", 0, 10, 0, 0, 0, 0, 0, 0)
WISS B 0 ThrustThingZ(0, 1, 0, 1)
WISS B 0 A_PlaySoundEX("weapon/superboost", "Weapon")
WISS B 0 A_SpawnItemEX("BoosterFX", 0, -10, 0, 0, 0, 0, 0, 0)
WISS A 1 A_SpawnItemEX("BoosterFX", 0, 10, 0, 0, 0, 0, 0, 0)
WISS B 0 ThrustThingZ(0, 1, 0, 1)
WISS B 0 A_PlaySoundEX("weapon/superboost", "Weapon")
WISS B 0 A_SpawnItemEX("BoosterFX", 0, -10, 0, 0, 0, 0, 0, 0)
WISS A 1 A_SpawnItemEX("BoosterFX", 0, 10, 0, 0, 0, 0, 0, 0)
WISS B 0 ThrustThingZ(0, 1, 0, 1)
WISS B 0 A_PlaySoundEX("weapon/superboost", "Weapon")
WISS B 0 A_SpawnItemEX("BoosterFX", 0, -10, 0, 0, 0, 0, 0, 0)
WISS A 1 A_SpawnItemEX("BoosterFX", 0, 10, 0, 0, 0, 0, 0, 0)
WISS B 0 A_TakeInventory("PlasmaAmmo", 1)
WISS B 0 A_Refire
Goto Ready*/
Flash:
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 0 A_JumpIfInventory("CapsuleTransformItem", 1, "Flash")
TNT1 A 0 A_GiveInventory("CapsuleAmmo",1)
TNT1 A 0 A_JumpIfInventory("CapsuleAmmo", 28, "CapsuleReady")
loop
CapsuleReady:
TNT1 A 0 A_GiveInventory("CapsuleTransformItem",1)
goto Flash
NoFlash:
TNT1 A 0
stop
NoAmmo:
WISS A 0
//WISS A 1
Goto Ready+2
}
}

actor AlienTrigger : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor WilyTrigger : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor WilyNoShot : DiveMissile
{
damagetype "Buster"
States
{
Spawn:
TNT1 A 1
MMFX D 2 A_MStaffTrack
MMFX D 0 A_SpawnItemEx("WilyShotFX")
Goto Spawn+1
Death:
stop
}
}

actor WilyShotFX
{
PROJECTILE
Speed 1
+CLIENTSIDEONLY
Damage (0)
//damagetype "Buster"
//Damage (10)
radius 5
height 5
scale 1.5
States
{
Spawn:
MMFX D 6
stop
}
}

actor WilyShot1
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 26
Damage (30)
radius 40
height 40
scale 5
States
{
Spawn:
MMFX D 4
loop
Crash:
MMFX D 1
stop
}
}

actor WilyShot2 : WilyShot1
{
Damage (20)
radius 20
height 20
scale 2.5
}

actor WilyShot3 : WilyShot1
{
Damage (15)
radius 15
height 15
scale 2
}

actor WilyShot4 : WilyShot1
{
Damage (10)
radius 7
height 7
Scale 1
}

actor PlasmaAmmo : Ammo
{
Inventory.Amount 1
Inventory.MaxAmount 28
}

actor CapsuleAmmo : Ammo
{
Inventory.Amount 1
Inventory.MaxAmount 28
}

actor CapsuleIceWep : Megabuster
{
Weapon.AmmoUse 7
Weapon.AmmoGive 28
Weapon.SlotNumber 1
scale 2.0
Obituary "%o was bombed by %k's Wily Capsule."
weapon.ammotype "PlasmaAmmo"
+WEAPON.AMMO_OPTIONAL
+WEAPON.DONTBOB
States
{
Spawn:
TNT1 A 0
stop
Ready:
WICH A 0 ACS_ExecuteAlways(998,0,1)
WICH A 0 A_GunFlash
WICH A 0 A_JumpIfInventory("PlasmaAmmo",7,"Ready2")
WICH D 5 A_WeaponReady(WRF_NOFIRE)
WICH A 0 A_GiveInventory("PlasmaAmmo",1)
//WICH A 0 SetPlayerProperty(0,1,3)
Goto Ready+2
Ready2:
WICH A 0 A_JumpIfInventory("PlasmaAmmo",14,"Ready3")
WICH D 5 A_WeaponReady(WRF_NOSECONDARY)
WICH A 0 A_GiveInventory("PlasmaAmmo",1)
//WICH A 0 SetPlayerProperty(0,1,3)
loop
Ready3:
WICH D 5 A_WeaponReady
WICH A 0 A_GiveInventory("PlasmaAmmo",1)
//WICH A 0 SetPlayerProperty(0,1,3)
loop
Deselect:
TNT1 A 0 A_SelectWeapon("CapsuleFireWep")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
WICH D 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WICH D 1 A_Raise
Loop
Fire:
TNT1 A 0 A_JumpIfNoAmmo("NoAmmo")
//WICH A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BLIZ D 0 A_FireCustomMissile("CapsuleIceX",20,1,70,0)
WICH E 8 A_FireCustomMissile("CapsuleIceX",-20,0,-70,0)
BLIZ D 0 A_FireCustomMissile("CapsuleIceX",0,0,40,0)
BLIZ D 0 A_FireCustomMissile("CapsuleIceX",0,0,-40,0)
WICH D 27
WICH A 0 A_Refire
goto Ready+2
Altfire:
WICH A 0 A_JumpIfInventory("PlasmaAmmo",14,"GroundSplit")
Goto Ready+2
GroundSplit:
WICH A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon")
TNT1 A 0 A_FireCustomMissile("WilyCapsuleGroundSplitX",0,1,8,0)
TNT1 A 0 A_TakeInventory("PlasmaAmmo",14)
WICH F 5
WICH D 25
WICH A 0 A_Refire
NoAmmo:
WICH D 0
//WICH A 1
Goto Ready+2
Flash:
TNT1 A 0 A_TakeInventory("CapsuleAmmo",1)
TNT1 A 0 A_JumpIfInventory("CapsuleAmmo", 1, "CapsuleFlash")
goto CapsuleEnd
CapsuleFlash:
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
TNT1 A 1 A_SpawnItemEx("WilyCapFX",2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("WilyCapFX",-2,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
HEAA A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_GiveInventory("WilyArmor",1)
goto Flash
CapsuleEnd:
TNT1 A 0 A_GiveInventory("WilyTransform",1)
stop
NoFlash:
TNT1 A 0
stop
}
}

actor CapsuleFireWep : CapsuleIceWep
{
Weapon.AmmoUse 2
States
{
Ready:
WICH A 0 ACS_ExecuteAlways(998,0,1)
WICH A 0 A_GunFlash
WICH A 0 A_JumpIfInventory("PlasmaAmmo",2,"Ready2")
WICH A 4 A_WeaponReady(WRF_NOFIRE)
WICH A 0 A_GiveInventory("PlasmaAmmo",1)
//WICH A 0 SetPlayerProperty(0,1,3)
Goto Ready+2
Ready2:
WICH A 0 A_JumpIfInventory("PlasmaAmmo",14,"Ready3")
WICH A 4 A_WeaponReady(WRF_NOSECONDARY)
WICH A 0 A_GiveInventory("PlasmaAmmo",1)
//WICH A 0 SetPlayerProperty(0,1,3)
loop
Ready3:
WICH A 4 A_WeaponReady
WICH A 0 A_GiveInventory("PlasmaAmmo",1)
//WICH A 0 SetPlayerProperty(0,1,3)
loop
Deselect:
TNT1 A 0 A_SelectWeapon("CapsuleIceWep")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
WICH A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WICH A 1 A_Raise
Loop
Fire:
TNT1 A 0 A_JumpIfNoAmmo("NoAmmo")
HEAA A 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
TNT1 A 0 A_FireCustomMissile("CapsuleFireB",random(-15,15),1,8,0)
WICH B 4
WICH A 0 A_Refire
goto Ready+2
Altfire:
WICH A 0 A_JumpIfInventory("PlasmaAmmo",14,"GroundSplit")
Goto Ready+2
GroundSplit:
WICH A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon")
TNT1 A 0 A_FireCustomMissile("WilyCapsuleGroundSplitX",0,1,8,0)
TNT1 A 0 A_TakeInventory("PlasmaAmmo",14)
WICH C 5
WICH A 25
WICH A 0 A_Refire
NoAmmo:
WICH A 0
//WICH A 1
Goto Ready+2
}
}

actor WilyCapFX
{
-SOLID
+NOGRAVITY
+NOBLOCKMAP
+FIXMAPTHINGPOS
Height 6
Radius 6
+MISSILE
damage 0
scale 2.5
+CLIENTSIDEONLY
//+NOINTERACTION
States
{
Spawn:
TNT1 A 0
WCAP A 1
stop
}
}

actor RandomCapsuleProjectileX
{
PROJECTILE
Speed 50
States
{
Spawn:
TNT1 A 4
TNT1 A 0 A_Jump(85,"Lightning")
TNT1 A 0 A_Jump(85,"Ice")
Goto Fire
Lightning:
TNT1 A 0 A_CustomMissile("CapsuleLightningX")
stop
Fire:
TNT1 A 0 A_CustomMissile("CapsuleFireX")
stop
Ice:
TNT1 A 0 A_CustomMissile("CapsuleIceX")
stop
}
}

actor CapsuleLightningX
{
Obituary "%o was electrocuted by %k's Wily Capsule."
PROJECTILE
+HEXENBOUNCE
+RIPPER
BounceCount 8
BounceFactor 1.0
WallBounceFactor 1.0
Height 16
Radius 16
Scale 2.5
Speed 30
damagetype "WilyLightning"
+LOOKALLAROUND
Damage (12)
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/wrapfire","Voice")
TNT1 A 0 //A_ClearTarget
WCPJ DEF 3
goto Spawn+2
}
}

actor CapsuleFireX : CapsuleLightningX
{
Obituary "%o was burned by %k's Wily Capsule."
damagetype "WilyFire"
-RIPPER
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/wrapfire","Voice")
TNT1 A 0 //A_ClearTarget
WCPJ ABC 3
goto Spawn+2
}
}

actor CapsuleFireB
{
damagetype "WilyFireB1"
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
+RIPPER
//seesound "weapon/mbuster"
Speed 30
Damage (6)
radius 5
height 5
scale 2.5
states
{
Spawn:
WCPJ ABCABC 3
stop
}
}

actor CapsuleIceX : CapsuleLightningX
{
Obituary "%o was frozen by %k's Wily Capsule."
damagetype "WilyIce"
-RIPPER
BounceCount 3
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/wrapfire","Voice")
TNT1 A 0 //A_ClearTarget
WCPJ GHI 3
goto Spawn+2
}
}

actor WilyCapsuleGroundSplitX
{
Obituary "%o was electrocuted by %k's Wily Capsule."
PROJECTILE
+RIPPER
-NOGRAVITY
Speed 0
damagetype "WilyLightning"
Damage (5)
scale 2.5
States
{
Spawn:
WCPJ JKL 1
loop
Death:
WCPJ JKL 1
WCPJ J 0 A_SpawnItemEx("WilyCapsuleGroundLitX",0,0,0,20,0,0,0)
WCPJ J 0 A_SpawnItemEx("WilyCapsuleGroundLitX",0,0,0,20,0,0,90)
WCPJ J 0 A_SpawnItemEx("WilyCapsuleGroundLitX",0,0,0,20,0,0,180)
WCPJ J 0 A_SpawnItemEx("WilyCapsuleGroundLitX",0,0,0,20,0,0,270)
stop
}
}

actor WilyCapsuleGroundLitX
{
Obituary "%o was electrocuted by %k's Wily Capsule."
PROJECTILE
Height 32
scale 2.5
Radius 32
+FLOORHUGGER
+RIPPER
damagetype "WilyLightning"
Damage (6)
Speed 50
States
{
Spawn:
WCPJ MNON 2
loop
}
}

actor WilyArmor : BasicArmorPickup
{
Armor.Savepercent 25
Armor.Saveamount 100
States
{
Spawn:
PLAY A 1
loop
}
}