const int TINT_RIGHTEOUSBISONDEATH = 20650+12;

actor ClassBaseSlot50 : ClassBaseSlot49 //Vile Weapons
{
var int user_wepangle;
States
{
Pain.RestrictionRing:
"----" H 0 A_SpawnItemEx("SparkShockFX",6,0,32)
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 6, 0, true, AAPTR_TARGET)
"----" H 0 A_GiveInventory("RestRingShocked",1)
Goto Pain+2

Pain.GearMetal:
Pain.JoeGrenade:
Pain.BadgeBarrier:
Pain.WishingShield:
Pain.ScatterTrickshotBit:
Pain.TerrorSpines:
Pain.PlaguePurge:
Pain.LavaLauncher:
Pain.FishFinder:
Pain.InfernoFireball:
Pain.PierceSnake:
Pain.NemesisStriker:
Pain.SniperBarrage:
Pain.BlamBarrage:
Pain.ClusterBomb:
Pain.StarFlow:
Pain.SpreaderFlame:
Pain.JetMissile:
Pain.VolcanoCannon:
Pain.LeafBomb_V:
Pain.MetalCatcher_V:
Pain.TimeWrap_V:
Pain.SnakeCommando_V:
Pain.TwinkleBuster:
Pain.DanceTornado:
Pain.OpticRay:
goto Pain+1

Pain.BoomerangRush:
Pain.ForestToss:
Pain.NapalmCrash:
Pain.AutoBomber:
Pain.RoyalSpin:
Pain.LunarDiscs:
Pain.UsagiKunai:
Pain.GroovitySpark:
Pain.WhimsicalStar:
Pain.ScrambleThunder:
Pain.LeechCrossbow:
Pain.ClusterBombSplit:
Pain.PlantPasture:
Pain.PastMinionSkull:
Pain.PastMinionLeaf:
Pain.PastMinionSolar:
Pain.PastMinionBubble:
Pain.SharkLaser:
Pain.DoppelCrashClone:
Pain.BrassBullet:
Pain.FlameShower:
Pain.TrailsparkNeedle:
goto Pain+2

Pain.FlameBarge:
"----" H 0 A_GiveInventory("FlameBargeProtection",1)
goto Pain+1

Pain.PlasmaTrident:
"----" H 0 A_GiveInventory("PlasmaTridentProtect",1)
goto Pain+2

Pain.FrostShard:
"----" H 0 A_GiveInventory("FrostShardProtect",1)
goto Pain+2

Pain.ToxinBomb:
"----" H 0 A_GiveInventory("ToxinBombProtect",1)
goto Pain+2

Pain.CrashBang:
"----" H 0 A_GiveInventory("CrashBangProtect",1)
goto Pain+2

Pain.FlashClock:
"----" H 0 A_GiveInventory("FlashClockProtect",1)
goto Pain.TimeStopper

Pain.NapalmCrash2:
"----" H 0 A_GiveInventory("NapalmCrashProtect",1)
goto Pain+2

Pain.SonicSpin:
"----" H 0 A_GiveInventory("SonicSpinProtect",1)
goto Pain+1

Pain.BinarySplitter:
"----" H 0 A_GiveInventory("BinarySplitterProtect",1)
goto Pain+1

Pain.NebulousGuardShield:
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 6, 0, true, AAPTR_TARGET)
goto Pain+1

Pain.JusticeMeteor:
"----" H 0 A_GiveInventory("JusticeMeteorKnockback_P")
"----" H 0 A_GiveInventory("JusticeMeteorProtect",1)
Goto Pain+1
Pain.JusticeMeteor2:
"----" H 0 A_GiveInventory("JusticeMeteorKnockback_P")
"----" H 0 A_GiveInventory("JusticeMeteor2Protect",1)
Goto Pain+1
Death.JusticeMeteor:
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 40, 0, true, AAPTR_TARGET)
"----" H 0 ThrustThingZ(0,48,0,0)
Goto Death_NoStop//VileFlingDeath
Death.JusticeMeteor2:
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 40, 0, true, AAPTR_TARGET)
"----" H 0 ThrustThingZ(0,48,0,0)
Goto Death_NoStop//VileFlingDeath

Pain.TrioTribeam:
"----" H 0 A_GiveInventory("TrioTribeamProtect",1)
"----" H 0 A_GiveInventory("TrioTribeamPickup",1)
Goto Pain+1


Pain.HoneycombHive:
"----" H 0 A_GiveInventory("HoneycombSlowPickup",1)
goto Pain+1

Pain.BadgeBarrierShield:
"----" H 0 A_GiveInventory("BadgeBarrierProtect",1)
goto Pain+1

Pain.NeapolitanBomb:
"----" H 0 A_GiveInventory("NeapolitanBombProtect",1)
goto Pain+1
Pain.NeapolitanBombSplit:
"----" H 0 A_GiveInventory("NeapolitanBombSplitProtect",1)
goto Pain+2

Pain.CyberDistorter:
"----" H 0 A_GiveInventory("CyberDistortActivator", 1)
Goto Pain+1

Pain.ForceBeam:
"----" H 0 A_GiveInventory("ForceBeamCWProtection",1)
goto Pain+2

Pain.WishingShield:
"----" H 0 A_GiveInventory("WishingShieldProtect",1)
goto Pain+1

Pain.SearCombustion:
"----" H 0 A_GiveInventory("SearCombustionProtection",1)
goto Pain+1

Pain.BoilBlazer:
"----" H 0 A_GiveInventory("BoilBlazerProtection",1)
goto Pain+1

Pain.NeonFlash:
"----" H 0 A_GiveInventory("NeonFlashProtection",1)
goto pain+1
Pain.NeonFlash2:
"----" H 0 
"----" H 0 A_GiveInventory("NeonFlashProtection",1)
"----" H 0 A_GiveInventory("NeonFlashHit",1)
goto pain+1

Pain.ScatterTrickshot: 
"----" H 0 A_GiveInventory("ScatterTrickshotProtect",1)
goto Pain+1

Pain.WarSword1:
"----" H 0 A_GiveInventory("WarSwordProtect",1)
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 3, 0, true, AAPTR_TARGET)
Goto pain+1
Pain.WarSword2:
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 7, 0, true, AAPTR_TARGET)
Goto pain+1

Pain.DeathScythe:
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 32, 0, true, AAPTR_TARGET)
Goto pain+1
Death.DeathScythe:
"----" H 0 A_PlaySoundEx("weapon/deathscythereap","item",0,0)
Death.VileFling:
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 40, 0, true, AAPTR_TARGET)
"----" H 1 ThrustThingZ(0,48,0,0)
"----" H 0 A_TakeInventory("CriticalDeath",1)
Goto Death_NoStop//VileFlingDeath


Pain.RighteousSpiral:
"----" H 0 A_GiveInventory("RighteousSpiralProtect",1)
goto Pain+1

Pain.KinglyBlade3:
"----" H 0 A_GiveInventory("KinglyBladeProtection",1)
goto Pain

Death.NemesisStrikerDuck:
"----" H 0 A_PlaySoundEx("weapon/fuckingquack","Voice",0,1)
goto Death

Pain.PorcupineFish:
"----" H 0 A_GiveInventory("PorcupineFishProtect",1)
goto Pain+1

Pain.RendingShieldShield:
"----" H 0 A_GiveInventory("RendingShieldProtection",1)
goto Pain+1

Pain.LimoBoogie:
"----" H 0 A_GiveInventory("LimoBoogieProtect",1)
"----" H 0 ThrustThingZ(0,80,0,0)
goto Pain

Pain.SurgeTorrent:
"----" H 0 A_SpawnItemEx("SurgeTorrentWatcher")
goto Pain+2

Pain.DeflectorPanel:
"----" H 0 A_GiveInventory("DeflectorPanelProtect")
goto Pain+1

Pain.PileDriver:
"----" H 0 A_GiveInventory("PileDriverProtect",1)
goto Pain

Pain.BounceBall:
"----" H 0 A_GiveInventory("BounceBallProtect",1)
goto Pain+1

Pain.BlazingTorch:
"----" H 0 A_GiveInventory("BlazingTorchProtect",1)
goto Pain+2

Pain.TimeHold:
"----" H 0 A_Stop
"----" H 0 A_Recoil(1)
goto pain+1

Pain.SparkLobber:
"----" H 0 A_SpawnItemEx("ShockFX",4,0,32)
"----" H 0 A_GiveInventory("SparkLobberProtect",1)
"----" H 0 A_GiveInventory("SlowedSpark",1)
Goto Pain+2

Pain.PlantPasture:
"----" H 0 A_SpawnItemEx("PainPlantPasture")
goto Pain+1

Pain.CompactFlash:
"----" H 0 
"----" H 0 A_GiveInventory("NeonFlashBlind",1)
goto pain+1

Pain.GravityCoil:
"----" H 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)
"----" H 0 A_CheckFloor(2)
"----" H 0 ThrustThingZ(0,150,1,0)
"----" H 0
Goto Pain+1

Pain.NozzleHose:
"----" H 0 A_GiveInventory("NozzleHoseProtect",1)
goto Pain+2

Pain.LightningFlash:
"----" H 0 A_JumpIfInventory("LightningFlashSpeedCooldown",1,"Pain.VolcanoCannon")
"----" H 0 A_GiveInventory("LightningFlash_P",1)
goto Pain+1

Pain.RedoundAxe:
"----" H 0 A_GiveInventory("RedoundAxeProtection",1)
goto Pain+2

Pain.AssaultLance:
"----" H 0 A_GiveInventory("AssaultLanceProtect",1)
"----" H 0 ACS_NamedExecuteWithResult("vile_knockback", 20, 0, true, AAPTR_TARGET)
"----" H 1 ThrustThingZ(0,32,0,0)
goto Pain+2
Death.AssaultLance:
goto Death.VileFling

Pain.NeedleCrusher_V:
"----" H 0 A_GiveInventory("NeedleCrusherProtect_V",1)
goto Pain+1
Pain.NeedleCrusher2_V:
"----" H 0 A_GiveInventory("NeedleCrusherProtect2_V",1)
goto Pain+1

Pain.ClashBlaster_V:
"----" H 0 A_GiveInventory("ClashBlasterProtect_V",1)
goto Pain+1

Pain.VulcanBurst_V:
"----" H 0 A_GiveInventory("VulcanBurstProtect_V",1)
Goto Pain

Pain.DreamTwins_V:
"----" H 0 A_GiveInventory("DreamTwinsProtect_V",1)
goto Pain+1

Pain.SurgeBinder_V:
"----" H 0 A_JumpIfInventory("SurgeBinderProtect_V",1,"Pain")
"----" H 0 A_GiveInventory("SurgeBinderProtect_V",1)
"----" H 0 A_SpawnItemEx("SurgeBinderShockFX_V",6,0,32)
"----" A 0 A_JumpIf(ACS_NamedExecuteWithResult("vile_saxtoncheck")==1,"Pain.TimeSlow")
"----" H 0 A_GiveInventory("Shocked",1)
goto Pain

Pain.HookDrillMelee_V:
"----" H 0 A_GiveInventory("HookDrillMeleeProtect_V",1)
goto Pain+1

Pain.RubberDuff:
"----" H 0 A_GiveInventory("RubberDuffProtect",1)
goto Pain+1

Pain.AcidDripAcid:
"----" H 0 A_GiveInventory("AcidDripProtect",1)
goto Pain+2

Pain.CrescentKick_W:
"----" H 0 A_GiveInventory("CrescentKickKnockback_P")
Goto pain+1
Death.CrescentKick_W:
Goto Death.VileFling


Pain.DropThunder:
"----" H 0 A_GiveInventory("DropThunderProtect",1)
goto Pain+1

Pain.SunriseSalvo:
"----" H 0 A_GiveInventory("SunriseSalvoProtect",1)
goto Pain+2

Pain.CardinalRing:
PLY1 H 0 A_GiveInventory("CardinalRingProtection",1)
goto Pain+1

Pain.FlameMixer:
PLY1 H 0 A_ScaleVelocity(0.9)
Goto Pain+1

Pain.BarrierWind:
PLY1 H 0 A_SpawnItemEx("BarrierWindKnockback")
goto Pain+1

Pain.WindCyclone:
PLY1 H 0 A_SpawnItemEx("WindCycloneKnockback")
goto Pain+1

Pain.TimeBomb:
Pain.TimeBombExplosion:
PLY1 H 0 A_GiveInventory("Slowed",1)
Goto pain+1

Pain.KingRod:
PLY1 H 0 A_GiveInventory("KingRodProtect",1)
PLY1 H 0 A_Stop
PLY1 H 0 A_SpawnItemEx("KingRodKnockback")
goto Pain+1

Pain.HyperTorrent:
PLY1 H 0 A_SpawnItemEx("HyperTorrentKnockback")
Goto pain+1

Pain.GlitchShot:
"----" H 0 A_GiveInventory("GlitchShotFXPickup")
goto Pain+1
Pain.GlitchShotPoison:
"----" H 0 
goto Pain+1

Pain.ParallelBeam:
"----" H 0 ThrustThing(random(0,255),7,0,0)
"----" H 0 ThrustThingZ(0,8,0,0)
"----" H 0 A_GiveInventory("ParallelBeamProtection",1)
"----" H 0 A_SpawnItemEx("ParallelBeamFix")
goto Pain+1

Pain.ClammyHarpoon:
"----" H 0 A_ScaleVelocity(0.25)
goto Pain
Pain.ClammyHarpoon2:
"----" H 0 ThrustThingZ(0,30,0,0)
goto Pain+2
Death.ClammyHarpoon2:
goto Death.WindStorm
Death.HyperTorrent:
Goto Death.VileFling

Death.FrostShard:
Death.FreezeSplice:
Death.PolarPlows:
Death.TundraStorm:
Death.IceShield:
goto Ice

Death.RighteousBison:
"----" H 0 A_PlaySoundEx("weapon/bisondeath","body",0,0)
"----" H 0 ACS_NamedExecuteAlways("core_chargecolor",0,20650+11,TINT_RIGHTEOUSBISONDEATH) //idk
"----" H 0 A_ChangeFlag(NOGRAVITY,1)
"----" H 0 A_ChangeVelocity(0,0,2,1|2)
"----" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_SpawnItemEx("RighteousBisonDeathFX",frandom(-4,4),frandom(-32,32),frandom(32,40),0,0,frandom(0,6),0,1)
"----" HHHHH 1 A_Fadeout(0.19)
"----" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_SpawnItemEx("RighteousBisonDeathFX",frandom(-4,4),frandom(-32,32),frandom(16,36),0,0,frandom(0,6),0,1)
"----" H 0 A_ChangeFlag(NOGRAVITY,0)
goto MegamanErase

VileFlingDeath:
PLY1 HH 1 A_JumpIfInventory("CriticalDeath",1,"VileFlingDeathGib")
PLY1 HHHHHHHHHHHHHHHHHHH 1
goto MegamanExplode
VileFlingDeathGib:
PLY1 HHHHHHHHHHHHHHHHHHH 1
goto MegaManGib
}
}
