actor RollSwingBoss : BaseMM8BDMWep_CBM
{
dropitem "CopyClassUpgradeDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 6
Obituary "$OB_ROLLSWING"
Inventory.Pickupmessage "Power up! Roll Swing!"
weapon.ammotype "RollHealAmmo"
inventory.icon "Rol2Icon"
States
{
Spawn:
C_00 E 1
loop
//RSWB Z 1
Ready:
RSWB A 0 ACS_ExecuteAlways(998,0,704)
goto Ready2
Ready2:
RSWB A 1 A_WeaponReady
loop
Deselect:
RSWB A 0 A_TakeInventory("SecondSwing",999)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
RSWB A 1 offset(1,180)A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
RSWB A 1 offset(1,180)A_Raise
Loop

Fire:
RSWB A 0 A_PlaySoundEx("weapon/RollSwing","Weapon")
RSWB A 0 A_JumpIfInventory("RollSlideX",1,"FireX")
RSWB A 0 A_JumpIfInventory("SecondSwing",1,"Fire2")
RSWB A 0 //A_JumpIfInventory("PowerRage_ST",1,"FireRage")
RSWB A 1 OffSet(-20,33)
RSWB B 1 OffSet(-40,35)
RSWB B 1 OffSet(-60,38)
RSWB C 0 A_GiveInventory("RollRepulsion",1)
RSWB C 1 OffSet(-68,40)A_GiveInventory("RollMain_CI",1)
RSWB C 1 OffSet(-83,42)
RSWB D 1 OffSet(-90,44)
RSWB D 1 OffSet(-105,46)
RSWB E 1 OffSet(-112,38)SetPlayerProperty(0,0,0)
RSWB E 1 OffSet(-128,42)
RSWB E 1 OffSet(-144,46)
RSWB E 1 OffSet(-160,50)
RSWB E 1 OffSet(-176,54)
RSWB E 1 OffSet(-192,58)

RSWB E 1 OffSet(-208,63)
RSWB E 1 OffSet(-225,69)
RSWB E 1 OffSet(-243,76)
RSWB E 1 OffSet(-262,83)
RSWB E 1 OffSet(-282,91)
RSWB E 1 OffSet(-303,100)
TNT1 A 6
TNT1 A 0 A_GiveInventory("SecondSwing",15)
//TNT1 A 0 A_Refire
Goto ReadySwing
FireRage:
RSWB B 1 OffSet(-40,35)
RSWB C 0 A_GiveInventory("RollRepulsion",1)
RSWB C 1 OffSet(-68,40)A_GiveInventory("RollMain_CI",1)
RSWB D 1 OffSet(-90,44)
RSWB E 1 OffSet(-112,38)SetPlayerProperty(0,0,0)
RSWB E 1 OffSet(-144,46)
RSWB E 1 OffSet(-176,54)
RSWB E 1 OffSet(-208,63)
RSWB E 1 OffSet(-243,76)
RSWB E 1 OffSet(-282,91)
TNT1 A 6
TNT1 A 0 A_GiveInventory("SecondSwing",15)
//TNT1 A 0 A_Refire
Goto ReadySwing

FireX:
RSWB A 0 //A_JumpIfInventory("PowerRage_ST",1,"FireXRage")
RSWB A 1 OffSet(-20,33)
RSWB B 1 OffSet(-40,35)
RSWB B 1 OffSet(-60,38)
RSWB C 0 A_GiveInventory("RollRepulsion",1)
RSWB C 1 OffSet(-68,40)A_GiveInventory("RollMainX_CI",1)
RSWB C 1 OffSet(-83,42)
RSWB D 1 OffSet(-90,44)
RSWB D 1 OffSet(-105,46)
RSWB E 0 A_TakeInventory("RollSlideX",99)
RSWB E 1 OffSet(-112,38)SetPlayerProperty(0,0,0)
goto Fire+13
FireXRage:
RSWB B 1 OffSet(-40,35)
RSWB C 0 A_GiveInventory("RollRepulsion",1)
RSWB C 1 OffSet(-68,40)A_GiveInventory("RollMainX_CI",1)
RSWB D 1 OffSet(-90,44)
RSWB E 0 A_TakeInventory("RollSlideX",99)
RSWB E 1 OffSet(-112,38)SetPlayerProperty(0,0,0)
goto FireRage+5


ReadySwing:
TNT1 A 0 A_TakeInventory("SecondSwing",1)
TNT1 A 1 A_WeaponReady//1
TNT1 A 0 //A_GiveInventory("",1)
TNT1 A 0 A_JumpIfInventory("SecondSwing",1,"ReadySwing")
TNT1 A 0 A_TakeInventory("SecondSwing",99)
goto ReadyX3
ReadyX3:
RSWB A 0 //A_JumpIfInventory("PowerRage_ST",1,"ReadyX3Rage")
RSWB A 1 OffSet(30,192)A_WeaponReady(1)
RSWB A 1 OffSet(25,167)A_WeaponReady(1)
RSWB A 1 OffSet(20,142)A_WeaponReady(1)
RSWB A 1 OffSet(16,122)A_WeaponReady(1)
RSWB A 1 OffSet(12,87)A_WeaponReady(1)
RSWB A 1 OffSet(9,72)A_WeaponReady(1)
RSWB A 1 OffSet(6,62)A_WeaponReady(1)
RSWB A 1 OffSet(4,52)A_WeaponReady(1)
RSWB A 1 OffSet(2,47)A_WeaponReady(1)
RSWB A 1 OffSet(1,42)A_WeaponReady(1)
Goto Ready2
ReadyX3Rage:
RSWB A 1 OffSet(30,192)A_WeaponReady(1)
RSWB A 1 OffSet(20,142)A_WeaponReady(1)
RSWB A 1 OffSet(12,87)A_WeaponReady(1)
RSWB A 1 OffSet(6,62)A_WeaponReady(1)
RSWB A 1 OffSet(2,47)A_WeaponReady(1)
Goto Ready2


Fire2:
RSWB F 0 //A_JumpIfInventory("PowerRage_ST",1,"Fire2Rage")
RSWB F 1 OffSet(-135,66)
RSWB F 1 OffSet(-110,52)
RSWB F 1 OffSet(-85,38)
RSWB G 0 A_GiveInventory("RollRepulsion",1)
RSWB G 1 OffSet(-88,40)A_GiveInventory("RollMain1_CI",1)
RSWB G 1 OffSet(-70,35)
RSWB G 1 OffSet(-52,30)
RSWB G 1 OffSet(-34,25)
RSWB G 1 OffSet(-18,21)SetPlayerProperty(0,0,0)
RSWB G 1 OffSet(-2,17)
RSWB H 1 OffSet(-4,20)
RSWB H 1 OffSet(15,23)
RSWB H 1 OffSet(34,27)
RSWB H 1 OffSet(53,33)
RSWB H 1 OffSet(72,39)
RSWB H 1 OffSet(92,46)

RSWB H 1 OffSet(112,54)
RSWB H 1 OffSet(132,63)

TNT1 A 8
TNT1 A 0 A_TakeInventory("SecondSwing",99)
//TNT1 A 0 A_Refire
Goto Fire2End
Fire2Rage:
RSWB F 1 OffSet(-110,52)
RSWB G 0 A_GiveInventory("RollRepulsion",1)
RSWB G 1 OffSet(-88,40)A_GiveInventory("RollMain1_CI",1)
RSWB G 1 OffSet(-52,30)
RSWB G 1 OffSet(-18,21)
RSWB H 1 OffSet(-4,20)SetPlayerProperty(0,0,0)
RSWB H 1 OffSet(34,27)
RSWB H 1 OffSet(72,39)

RSWB H 1 OffSet(112,54)

TNT1 A 8
TNT1 A 0 A_TakeInventory("SecondSwing",99)
//TNT1 A 0 A_Refire
Goto Fire2EndRage

Fire2End:
RSWB A 1 OffSet(90,72)A_WeaponReady(1)
RSWB A 1 OffSet(77,66)A_WeaponReady(1)
RSWB A 1 OffSet(64,60)A_WeaponReady(1)
RSWB A 1 OffSet(53,55)A_WeaponReady(1)
RSWB A 1 OffSet(42,50)A_WeaponReady(1)
RSWB A 1 OffSet(33,46)A_WeaponReady(1)
RSWB A 1 OffSet(24,42)A_WeaponReady(1)
RSWB A 1 OffSet(17,39)A_WeaponReady(1)
RSWB A 1 OffSet(10,36)A_WeaponReady(1)
RSWB A 1 OffSet(5,34)A_WeaponReady(1)
Goto Ready2
Fire2End2Rage:
RSWB A 1 OffSet(90,72)A_WeaponReady(1)
RSWB A 1 OffSet(64,60)A_WeaponReady(1)
RSWB A 1 OffSet(42,50)A_WeaponReady(1)
RSWB A 1 OffSet(24,42)A_WeaponReady(1)
RSWB A 1 OffSet(10,36)A_WeaponReady(1)
Goto Ready2

NoAmmo:
goto Ready2
Altfire:
RSWB I 0 A_TakeInventory("SecondSwing",999)
RSWB I 0 A_GiveInventory("RollSlide",1)
RSWB I 0 A_GiveInventory("RollSlideX",1)
RSWB I 0 A_PlaySoundEx("weapon/superboost","Body")
RSWB I 0 SetPlayerProperty(0,1,0)
RSWB I 0 A_GiveInventory("RollSlideThrust",1)
//RSWB I 0 A_JumpIfInventory("PowerRage_ST",1,"Altfire2Rage")
RSWB I 1 OffSet(-16,62)A_WeaponReady(15)
RSWB I 1 OffSet(-32,42)A_WeaponReady(15)
RSWB I 0 A_TakeInventory("RollSlide",99)
RSWB I 1 OffSet(-48,22)A_WeaponReady(11)
RSWB I 1 OffSet(-52,18)A_WeaponReady(11)
RSWB I 1 OffSet(-54,16)A_WeaponReady(11)
RSWB I 1 OffSet(-55,15)A_WeaponReady(11)
RSWB I 1 OffSet(-54,16)A_WeaponReady(11)
RSWB I 1 OffSet(-52,18)A_WeaponReady(11)
RSWB I 1 OffSet(-48,21)A_WeaponReady(11)
RSWB I 1 OffSet(-44,25)A_WeaponReady(11)
RSWB I 0 SetPlayerProperty(0,0,0)
RSWB I 1 OffSet(-40,30)A_WeaponReady(11)
RSWB I 1 OffSet(-36,36)A_WeaponReady(11)
RSWB I 1 OffSet(-32,43)A_WeaponReady(11)
RSWB I 1 OffSet(-28,51)A_WeaponReady(11)
RSWB I 1 OffSet(-24,60)A_WeaponReady(11)
RSWB I 1 OffSet(-20,70)A_WeaponReady(11)
RSWB I 1 OffSet(-16,80)A_WeaponReady(11)
RSWB I 1 OffSet(-12,91)A_WeaponReady(11)
RSWB I 1 OffSet(-8,102)A_WeaponReady(11)
RSWB I 1 OffSet(-4,113)A_WeaponReady(11)
RSWB I 0 A_TakeInventory("RollSlide",99)
RSWB I 0 A_Refire
Goto Ready2
Altfire2Rage:
RSWB I 1 OffSet(-16,62)A_WeaponReady(15)
RSWB I 0 A_TakeInventory("RollSlide",99)
RSWB I 1 OffSet(-48,22)A_WeaponReady(11)
RSWB I 1 OffSet(-55,15)A_WeaponReady(11)
RSWB I 1 OffSet(-52,18)A_WeaponReady(11)
RSWB I 1 OffSet(-44,25)A_WeaponReady(11)
RSWB I 0 SetPlayerProperty(0,0,0)
RSWB I 1 OffSet(-40,30)A_WeaponReady(11)
RSWB I 1 OffSet(-32,43)A_WeaponReady(11)
RSWB I 1 OffSet(-24,60)A_WeaponReady(11)
RSWB I 1 OffSet(-16,80)A_WeaponReady(11)
RSWB I 1 OffSet(-8,102)A_WeaponReady(11)
RSWB I 0 A_TakeInventory("RollSlide",99)
RSWB I 0 A_Refire
Goto Ready2
}
}

actor RollBucketBoss : BaseMM8BDMWep_CBM
{
dropitem "CopyClassUpgradeDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 7
Obituary "$OB_ROLLBUCKET"
Inventory.Pickupmessage "Power up! Roll Bucket!"
weapon.ammotype "RollHealAmmo"
inventory.icon "Rol1Icon"
States
{
Spawn:
C_00 E 1
loop
//RSWB Z 1
Ready:
RSWB A 0 ACS_ExecuteAlways(998,0,704)
RSWB O 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
RSWB O 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
RSWB O 1 A_Raise
Loop
Fire:
RSWB O 0 A_JumpIfInventory("RollSlideX",1,"Fire2")
//RSWB O 0 SetPlayerProperty(0,0,0)
RSWB O 0 A_PlaySoundEx("weapon/WaveSummonGo","Weapon")
RSWB O 0 A_GiveInventory("RollMain2_CI",1)
RSWB PQR 2
RSWB POOOO 2 SetPlayerProperty(0,0,0)
RSWB O 0 A_Refire
goto Ready+1
Fire2:
RSWB O 0 A_TakeInventory("RollSlideX",99)
RSWB O 0 A_PlaySoundEx("weapon/WaveSummonGo","Weapon")
RSWB O 0 A_GiveInventory("RollMain2_CI",1)
RSWB PQR 2
RSWB POOOOOO 2 SetPlayerProperty(0,0,0)
RSWB O 0 A_Refire
goto Ready+1
NoAmmo:
RSWB O 0
goto Ready+1

Altfire:
RSWB I 0 A_GiveInventory("RollSlide",1)
RSWB I 0 A_GiveInventory("RollSlideX",1)
RSWB I 0 A_PlaySoundEx("weapon/superboost","Body")
RSWB I 0 SetPlayerProperty(0,1,0)
RSWB I 0 A_GiveInventory("RollSlideThrust",1)
//RSWB I 0 A_JumpIfInventory("PowerRage_ST",1,"Altfire2Rage")
RSWB I 1 OffSet(-16,62)A_WeaponReady(15)
RSWB I 1 OffSet(-32,42)A_WeaponReady(15)
RSWB I 0 A_TakeInventory("RollSlide",99)
RSWB I 1 OffSet(-48,22)A_WeaponReady(11)
RSWB I 1 OffSet(-52,18)A_WeaponReady(11)
RSWB I 1 OffSet(-54,16)A_WeaponReady(11)
RSWB I 1 OffSet(-55,15)A_WeaponReady(11)
RSWB I 1 OffSet(-54,16)A_WeaponReady(11)
RSWB I 1 OffSet(-52,18)A_WeaponReady(11)
RSWB I 1 OffSet(-48,21)A_WeaponReady(11)
RSWB I 1 OffSet(-44,25)A_WeaponReady(11)
RSWB I 0 SetPlayerProperty(0,0,0)
RSWB I 1 OffSet(-40,30)A_WeaponReady(11)
RSWB I 1 OffSet(-36,36)A_WeaponReady(11)
RSWB I 1 OffSet(-32,43)A_WeaponReady(11)
RSWB I 1 OffSet(-28,51)A_WeaponReady(11)
RSWB I 1 OffSet(-24,60)A_WeaponReady(11)
RSWB I 1 OffSet(-20,70)A_WeaponReady(11)
RSWB I 1 OffSet(-16,80)A_WeaponReady(11)
RSWB I 1 OffSet(-12,91)A_WeaponReady(11)
RSWB I 1 OffSet(-8,102)A_WeaponReady(11)
RSWB I 1 OffSet(-4,113)A_WeaponReady(11)
RSWB I 0 A_TakeInventory("RollSlideX",99)
RSWB I 0 A_Refire
Goto Ready+1
Altfire2Rage:
RSWB I 1 OffSet(-16,62)A_WeaponReady(15)
RSWB I 0 A_TakeInventory("RollSlide",99)
RSWB I 1 OffSet(-48,22)A_WeaponReady(11)
RSWB I 1 OffSet(-55,15)A_WeaponReady(11)
RSWB I 1 OffSet(-52,18)A_WeaponReady(11)
RSWB I 1 OffSet(-44,25)A_WeaponReady(11)
RSWB I 0 SetPlayerProperty(0,0,0)
RSWB I 1 OffSet(-40,30)A_WeaponReady(11)
RSWB I 1 OffSet(-32,43)A_WeaponReady(11)
RSWB I 1 OffSet(-24,60)A_WeaponReady(11)
RSWB I 1 OffSet(-16,80)A_WeaponReady(11)
RSWB I 1 OffSet(-8,102)A_WeaponReady(11)
RSWB I 0 A_TakeInventory("RollSlideX",99)
RSWB I 0 A_Refire
Goto Ready+1

}
}

actor RollHealAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor RollSlide : OnceC {}
actor RollSlideX : OnceC {}

actor SecondSwing : Inventory
{
inventory.amount 1
inventory.maxamount 15
}

actor RollSlideThrust : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("RollSlideFX",-10,0,16,0,0,0,0,1)
TNT1 A 0 A_JumpIf(z-floorz==0,"Ground")
//TNT1 A 0 A_Recoil(-20)//-23
//TNT1 A 0 ThrustThingZ(0,12,0,1)
TNT1 A 0 A_ChangeVelocity(26,0,momz,3)
TNT1 A 0 ThrustThingZ(0,12,0,1)
stop
Ground:
//TNT1 A 0 ThrustThingZ(0,28,0,0) 
//TNT1 A 0 A_Recoil(-25)//-28
TNT1 A 0 A_ChangeVelocity(34,0,momz,3)
TNT1 A 0 ThrustThingZ(0,28,0,0)
stop
}
}

actor RollSlideFX : BasicClientSide
{
Scale 2.5
States
{
Spawn:
RSWD MNOPQ 3
stop
}
}

actor BossRollSwing
{
Translation "199:199=197:197", "202:202=196:196"
PROJECTILE
damagetype "RollSwing2"
Obituary "$OB_ROLLSWING"
+DONTBLAST
+NOGRAVITY
-NOBLOCKMAP
+SHOOTABLE
+NOTARGETSWITCH
//+NODAMAGE
+INVULNERABLE
+NORADIUSDMG
+DONTRIP
+NOBLOOD
+THRUSPECIES
//+REFLECTIVE
Bouncetype Classic
+BOUNCEONWALLS
-BOUNCEONFLOORS
+NOEXPLODEFLOOR
Bouncecount 2
BounceFactor 1.0
WallBounceFactor 1.0
ReactionTime 1
Damage (0)
Radius 20
Height 16
speed 32
Species "RollStuff"
Scale 2.0
States
{
Spawn:
SLSA J 0
SLSA J 0// A_JumpIfInTargetInventory("RollSlideX",1,"Spawn2")
SLSA I 1
SLSA JK 2
//SCLA IJ 2
SLSA K 0 A_CountDown
stop
Spawn2:
SLSA I 1
SLSA J 1 A_ScaleVelocity(1.50)
SLSA JK 2
stop
Death:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("BossRollSwingDeath")
stop
XDeath:
TNT1 A 0
TNT1 A 1 A_Explode(18,128,0,0,24)
stop
}
}

actor BossRollSwingB : BossRollSwing{translation "202:202=205:205", "199:199=74:74"}
actor BossRollSwingR : BossRollSwing{translation "202:202=171:171", "199:199=41:41"}
actor BossRollSwingO : BossRollSwing{translation "202:202=104:104", "199:199=128:128"}
actor BossRollSwingP : BossRollSwing{translation "202:202=229:229", "199:199=232:232"}

actor BossRollSwing2 : BossRollSwing {damagetype "RollSwing" Speed 36}
actor BossRollSwing2B : BossRollSwingB {damagetype "RollSwing" Speed 36}
actor BossRollSwing2R : BossRollSwingR {damagetype "RollSwing" Speed 36}
actor BossRollSwing2O : BossRollSwingO {damagetype "RollSwing" Speed 36}
actor BossRollSwing2P : BossRollSwingP {damagetype "RollSwing" Speed 36}

actor BossRollSwingX : BossRollSwing {Speed 45}
actor BossRollSwingXB : BossRollSwingB {Speed 45}
actor BossRollSwingXR : BossRollSwingR {Speed 45}
actor BossRollSwingXO : BossRollSwingO {Speed 45}
actor BossRollSwingXP : BossRollSwingP {Speed 45}

actor BossRollSwingDeath : BasicExplosion
{
Obituary "$OB_ROLLSWING"
damagetype "RollSwing2"
Species "RollStuff"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(14,112,0,0,16)
stop
}
}

actor RollRepulsion : CustomInventory
{
//damagetype "Melee"
States
{
Pickup:
TNT1 A 0 A_Blast(0,255,192,25.0)
stop
}
}

actor RollCleanserShot
{
Translation "199:199=197:197", "202:202=196:196"
PROJECTILE
Damage (15)
Obituary "$OB_ROLLBUCKET"
damagetype "RollCleanse"
Height 10
Radius 9
-NOGRAVITY
Scale 2.0
speed 32
+THRUSPECIES
Species "RollStuff"
States
{
Spawn:
OILL K 0
OILL K 5 A_CheckFloor("Death")
loop
Crash:
XDeath:
OILL K 1
stop
Death:
OILL K 0 
OILL K 0 A_JumpIf(z-floorz<=0,"Death2")
OILL K 1 A_GiveInventory("CutterFlag",1)
OILL K 0 A_JumpIfInventory("CutterFlag",175,"Xdeath")
loop
Death2:
OILL K 1 A_SpawnItemEx("RollCleanserBlob",0,0,0,0,0,0,0,1)
stop
}
}

actor RollCleanserShotB : RollCleanserShot{translation "202:202=205:205", "199:199=74:74"}
actor RollCleanserShotR : RollCleanserShot{translation "202:202=171:171", "199:199=41:41"}
actor RollCleanserShotO : RollCleanserShot{translation "202:202=104:104", "199:199=128:128"}
actor RollCleanserShotP : RollCleanserShot{translation "202:202=229:229", "199:199=232:232"}


Actor RollCleanserBlob
{
//Translation "240:255=197:197", "47:47=196:196"
+MISSILE
+NODAMAGETHRUST
+NOBLOOD
+DONTSPLASH
+NOEXPLODEFLOOR
+NOTARGETSWITCH
+HEXENBOUNCE
BounceCount 2
BounceFactor 0.25
WallBounceFactor 0.25
Damage (10)
Obituary "$OB_ROLLBUCKET"
damagetype "RollShock"
Height 10
Radius 9
scale 2.5
mass 99999
reactiontime 250
painchance 256
states
{
Spawn:
OILL M 0
OILL M 1 
OILL M 0 //A_ChangeFlag("SHOOTABLE",1)
Goto Spawn2
Spawn2:
OILL M 1 A_Stop
Goto SlideWait
SlideWait:
OILL L 1
OILL L 0 A_GiveInventory("CutterFlag",1)
OILL L 0 A_JumpIf(z-floorz>0,"NewShot")
OILL L 0 A_JumpIfInventory("CutterFlag",175,"Death")
loop
NewShot:
OILL K 0 A_SpawnItemEx("RollCleanserShot2",0,0,0,momx,momy,momz,0,9)
Goto Death 
Death:
TNT1 A 0
stop
}
}

actor RollCleanserShot2 : RollCleanserShot
{
//Translation "240:255=197:197", "47:47=196:196"
Damage (30)
damagetype "RollShock"
}


actor UnholyCopyHealthShot
{
//+MISSILE
//+CANPASS
+DROPOFF
-SOLID
+NOGRAVITY
+THRUACTORS
+THRUGHOST
+DONTBLAST
+DONTREFLECT
radius 2
height 2
Speed 50
scale 2.0
RenderStyle "Translucent"
Alpha 0.25
ReactionTime 3
States
{
Spawn:
RSWB N 0
RSWB N 4 A_CountDown
loop
Death:
RSWB NNNNNNNNNNNNNNNNNNNNN 1 A_FadeIn(0.05)
RSWB N 0 A_SpawnItemEx("RollHeal",0,0,0)
stop
}
}


actor RollHealItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "RollIcon"
inventory.pickupmessage "Congartulations!"
scale 2.0
+INVBAR
states
{
Spawn:
RSWB L 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("RollHealAmmo",28,"Success")
fail
Success:
TNT1 A 0 A_TakeInventory("RollHealAmmo",28)
TNT1 A 0 A_PlaySoundEx("weapon/RollHeal","SoundSlot7")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"BlueHeal")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==1,"RedHeal")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"OrangeHeal")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"PurpleHeal")
TNT1 A 0 A_FireCustomMissile("RollHealX",0,0,0,0)
TNT1 A 0 //A_SpawnItemEx("RollHeal",40,0,256,0,0,0,0,32,0)
fail
BlueHeal:
TNT1 A 0 A_FireCustomMissile("BlueRollHealX",0,0,0,0)
TNT1 A 0 //A_SpawnItemEx("BlueRollHeal",40,0,256,0,0,0,0,32,0)
goto TeamSelf
RedHeal:
TNT1 A 0 A_FireCustomMissile("RedRollHealX",0,0,0,0)
TNT1 A 0 //A_SpawnItemEx("RedRollHeal",40,0,256,0,0,0,0,32,0)
goto TeamSelf
OrangeHeal:
TNT1 A 0 A_FireCustomMissile("OrangeRollHealX",0,0,0,0)
TNT1 A 0 //A_SpawnItemEx("OrangeRollHeal",40,0,256,0,0,0,0,32,0)
goto TeamSelf
PurpleHeal:
TNT1 A 0 A_FireCustomMissile("PurpleRollHealX",0,0,0,0)
TNT1 A 0 //A_SpawnItemEx("PurpleRollHeal",40,0,256,0,0,0,0,32,0)
goto TeamSelf
TeamSelf:
TNT1 A 0 HealThing(17)//20
fail
}
}


actor RollHealX : UnholyCopyHealthShot
{
States
{
Death:
RSWB MMMMMMMMMMMMMMMMMMMMM 1 A_FadeIn(0.05)
RSWB M 0 A_SpawnItemEx("RollHeal",0,0,0)
stop
}
}

actor RollHeal : CustomInventory
{
inventory.pickupmessage "Picked up Roll's health gift."
//inventory.pickupsound "item/energyup"
Scale 2.0
Gravity 0.5
ReactionTime 1000
States
{
Spawn:
RSWB MMMMMMNNNNNN 1 A_CountDown
loop
Pickup:
Health:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_HEALTHACS,1)==0,"PirateCheck")
TNT1 A 0 A_PlaySound("item/energyup",3,1.0)
TNT1 A 0 ACS_ExecuteAlways(C_HEALTHACS,0,3,25)
stop
PirateCheck:
TNT1 A 0 A_JumpIfInventory("IsAPirate",1,"Pirate")
goto Health+1
Pirate:
TNT1 A 0 A_GiveInventory("PirateTreasureStack",2)
TNT1 A 0 A_Jump(128,2)
TNT1 A 0 A_PlaySound("classes/Stolen2",3,1.0)
stop
TNT1 A 0 A_PlaySound("classes/Stolen3",3,1.0)
stop
No:
TNT1 A 0
Stop
}
}

actor RollHealT : RollHeal
{
states
{
Health:
TNT1 A 0 A_JumpIfInventory("RollHealItem",1,"No")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_HEALTHACS,1)==0,"No")
TNT1 A 0 A_PlaySound("item/energyup",3,1.0)
TNT1 A 0 ACS_ExecuteAlways(C_HEALTHACS,0,3,20)
stop
HealthSteal:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_HEALTHACS,1)==0,"PirateCheck")
TNT1 A 0 A_PlaySound("item/energyup",3,1.0)
TNT1 A 0 ACS_ExecuteAlways(C_HEALTHACS,0,3,5)
stop
PirateCheck:
TNT1 A 0 A_JumpIfInventory("IsAPirate",1,"Pirate")
goto HealthSteal+1
}
}

actor BlueRollHealX : UnholyCopyHealthShot
{
Translation "96:144=74:74"
States
{
Death:
RSWB MMMMMMMMMMMMMMMMMMMMM 1 A_FadeIn(0.05)
RSWB M 0 A_SpawnItemEx("BlueRollHeal",0,0,0)
stop
}
}
actor BlueRollHeal : RollHealT
{
Translation "96:144=74:74"
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"Health")
goto HealthSteal
}
}

actor RedRollHealX : UnholyCopyHealthShot
{
Translation "96:144=41:41"
States
{
Death:
RSWB MMMMMMMMMMMMMMMMMMMMM 1 A_FadeIn(0.05)
RSWB M 0 A_SpawnItemEx("RedRollHeal",0,0,0)
stop
}
}
actor RedRollHeal : RollHealT
{
Translation "96:144=41:41"
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==1,"Health")
goto HealthSteal
}
}

actor OrangeRollHealX : UnholyCopyHealthShot
{
Translation "96:144=128:128"
States
{
Death:
RSWB MMMMMMMMMMMMMMMMMMMMM 1 A_FadeIn(0.05)
RSWB M 0 A_SpawnItemEx("OrangeRollHeal",0,0,0)
stop
}
}
actor OrangeRollHeal : RollHealT
{
Translation "96:144=128:128"
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"Health")
goto HealthSteal
}
}

actor PurpleRollHealX : UnholyCopyHealthShot
{
Translation "96:144=232:232"
States
{
Death:
RSWB MMMMMMMMMMMMMMMMMMMMM 1 A_FadeIn(0.05)
RSWB M 0 A_SpawnItemEx("PurpleRollHeal",0,0,0)
stop
}
}
actor PurpleRollHeal : RollHealT
{
Translation "96:144=232:232"
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"Health")
goto HealthSteal
}
}






actor RollMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BossRollSwing",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BossRollSwingB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BossRollSwingR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BossRollSwingO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BossRollSwingP",0,0,0,0)
goto Done
}
}

actor RollMain1_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BossRollSwing2",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BossRollSwing2B",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BossRollSwing2R",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BossRollSwing2O",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BossRollSwing2P",0,0,0,0)
goto Done
}
}

actor RollMainX_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BossRollSwingX",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BossRollSwingXB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BossRollSwingXR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BossRollSwingXO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BossRollSwingXP",0,0,0,0)
goto Done
}
}

actor RollMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("RollCleanserShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("RollCleanserShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("RollCleanserShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("RollCleanserShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("RollCleanserShotP",0,0,8,0)
goto Done
}
}

