actor Roll_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_0E"
dropitem "RollSweepWep"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Obituary "$OB_ROLLSWING"
Inventory.Pickupmessage "Power up! Roll Swing!"
weapon.ammotype "RollHealAmmo"
weapon.ammotype2 "RollHyperDashAmmo"
inventory.icon "Rol2Icon"
States
{
Spawn:
C_00 E 1//RSWB Z 1
loop

Deselect:
RSWB A 0 A_TakeInventory("SecondSwing")//offset(1,180)
goto DeselectSwap
Select:
RSWB A 0
goto SelectSwap

Ready:
RSWB A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_ROLLC,0,CBM_TCLR_DEFAULT)
RSWB A 0 A_GunFlash("Flash",1)
goto Ready2
Ready2:
RSWB A 2 A_WeaponReady
RSWB A 0 A_GiveInventory("Roll_ReadyState_P")
loop

Flash:
TNT1 A 2
TNT1 A 0 A_GiveInventory("Roll_FlashState_P")
loop

Fire:
RSWB A 0 A_JumpIfInventory("IsBot",1,"BotFire")
RSWB A 0 A_PlaySoundEx("weapon/RollSwing","Weapon")
RSWB A 0 A_JumpIfInventory("SecondSwing",1,"Fire2")

RSWB A 0 A_GiveInventory("VivifyDelay5")
RSWB A 0 A_Refire(1)

RSWB B 2 OffSet(-12,20)
RSWB C 2 OffSet(-39,23)A_GiveInventory("RollSwingChecker_P1",1)
RSWB C 2 OffSet(-84,32)
RSWB D 2 OffSet(-133,42)
RSWB E 2 OffSet(-164,44)
RSWB E 2 OffSet(-208,55)
RSWB E 2 OffSet(-256,69)
RSWB E 2 OffSet(-304,86)

TNT1 A 6//7
TNT1 A 2 A_GiveInventory("SecondSwing",1)
TNT1 A 15 A_WeaponReady
TNT1 A 0 A_TakeInventory("SecondSwing")

RSWB A 2 OffSet(-48,217)A_WeaponReady(1)
RSWB A 2 OffSet(-32,162)A_WeaponReady(1)
RSWB A 2 OffSet(-19,118)A_WeaponReady(1)
RSWB A 2 OffSet(-10,83)A_WeaponReady(1)
RSWB A 2 OffSet(-3,55)A_WeaponReady(1)
Goto Ready2

Fire2:
RSWB A 0 A_GiveInventory("VivifyDelay5")
RSWB A 0 A_Refire(1)

RSWB F 2 OffSet(-110,47)
RSWB F 0 A_GiveInventory("PowerRollRepulsion",1)
RSWB G 2 OffSet(-93,42)A_FireCustomMissile("BossRollSwing2",0,0,0,0)
RSWB G 2 OffSet(-46,33)
RSWB H 2 OffSet(-30,25)
RSWB H 2 OffSet(19,19)
RSWB H 2 OffSet(72,21)
RSWB H 2 OffSet(129,33)

TNT1 A 6
TNT1 A 2 A_TakeInventory("SecondSwing")

RSWB A 2 OffSet(78,67)A_WeaponReady(1)
RSWB A 2 OffSet(54,54)A_WeaponReady(1)
RSWB A 2 OffSet(32,45)A_WeaponReady(1)
RSWB A 2 OffSet(16,39)A_WeaponReady(1)
RSWB A 2 OffSet(6,35)A_WeaponReady(1)
RSWB A 0
Goto Ready2

Altfire:
RSWB I 0 OffSet(-14,64)A_GiveInventory("SlideVivifyFlag",1)
RSWB I 0 A_GiveInventory("RollSlideThrust_P")
RSWB I 0 A_Refire(1)
RSWB I 1 OffSet(-14,64)
RSWB I 1 OffSet(-32,41)
RSWB I 0 A_TakeInventory("SlideVivifyFlag")
RSWB I 10 OffSet(-56,15)A_WeaponReady(11)
RSWB I 3 OffSet(-43,35)A_WeaponReady(11)
RSWB I 3 OffSet(-26,60)A_WeaponReady(11)
RSWB I 2 OffSet(-4,91)A_WeaponReady(11)
RSWB I 0
Goto Ready2

BotFire:
RSWB A 0 A_JumpIfInventory("SecondSwing",1,"BotFire1")
RSWB A 0 A_JumpIfInventory("RollHyperDashAmmo",111,"BotFire2")
RSWB A 0 A_Jump(192,"BotFireSwap")
goto Fire+1
BotFire1:
RSWB A 0 A_FaceTarget
RSWB A 0 A_Jump(160,1)
goto BotFire+1
RSWB A 0 A_GiveInventory("RollHyperDashAmmo",random(7,77))
goto Fire+1
BotFire2:
RSWB A 0 A_Jump(96,"Altfire")
goto Fire+1
BotFireSwap:
RSWB A 0 A_SelectWeapon("Roll_W2")
goto Ready2
}
}

actor Roll_W2 : BaseMM8BDMWep_CBM
{
tag "$TAGC_0E2"
dropitem "RollSweepWep"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Obituary "$OB_ROLLBUCKET"
Inventory.Pickupmessage "Power up! Roll Bucket!"
weapon.ammotype "RollHealAmmo"
weapon.ammotype2 "RollHyperDashAmmo"
inventory.icon "Rol1Icon"
States
{
Spawn:
C_00 E 1
loop
//RSWB Z 1

Deselect:
RSWB O 0
goto DeselectSwap
Select:
RSWB O 0
goto SelectSwap

Ready:
RSWB O 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_ROLLC,0,CBM_TCLR_DEFAULT)
RSWB O 0 A_GunFlash("Flash",1)
Goto Ready2
Ready2:
RSWB O 2 A_WeaponReady
RSWB O 0 A_GiveInventory("Roll_ReadyState_P")
loop

Flash:
TNT1 A 2
TNT1 A 0 A_GiveInventory("Roll_FlashState_P")
loop

Fire:
RSWB O 0 A_JumpIfInventory("IsBot",1,"BotFire")
RSWB O 0 A_PlaySoundEx("weapon/WaveSummonGo","Weapon")
RSWB O 0 A_FireCustomMissile("RollCleanserShot",0,0,0,0)
RSWB O 2 OffSet(-5,22)
RSWB PQO 2 OffSet(-10,12)
RSWB O 2 OffSet(-5,22)
RSWB O 0 A_WeaponReady(14)
RSWB OOOO 2
goto Ready2

Altfire:
RSWB I 0 OffSet(-14,64)A_GiveInventory("SlideVivifyFlag",1)
RSWB I 0 A_GiveInventory("RollSlideThrust_P")
RSWB I 0 A_Refire(1)
RSWB I 1 OffSet(-14,64)
RSWB I 1 OffSet(-32,41)
RSWB I 0 A_TakeInventory("SlideVivifyFlag")
RSWB I 10 OffSet(-56,15)A_WeaponReady(11)
RSWB I 3 OffSet(-43,35)A_WeaponReady(11)
RSWB I 3 OffSet(-26,60)A_WeaponReady(11)
RSWB I 2 OffSet(-4,91)A_WeaponReady(11)
RSWB I 0
Goto Ready2

BotFire:
RSWB O 0 A_JumpIfInventory("RollHyperDashAmmo",777,"BotFire1")
RSWB O 0 A_JumpIfInventory("RollHyperDashAmmo",111,"BotFire2")
RSWB O 0 A_FaceTarget(35)
goto Fire+1
BotFire1:
RSWB O 0 A_FaceTarget
RSWB O 0 A_Jump(192,"BotFireSwap")
goto BotFire+1
BotFire2:
RSWB O 0 A_GiveInventory("RollHyperDashAmmo",random(33,77))
RSWB O 0 A_Jump(32,"Altfire")
goto Fire+1
BotFireSwap:
RSWB O 0 A_SelectWeapon("Roll_W")
goto Ready2
}
}

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

actor RollHyperDashAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 777
+INVENTORY.IGNORESKILL
}

actor SecondSwing : Inventory{}

actor RollAmmoRegenDelay : Inventory
{
inventory.amount 1
inventory.maxamount 28
}

actor PowerRollDashing : Powerup
{
Powerup.Duration 22
}

actor PowerRollRepulsion : Powerup
{
Powerup.Duration 3
}
actor PowerRollRepulsionX : Powerup
{
Powerup.Duration 3
}

actor Roll_StaminaDelay : Powerup
{
Powerup.Duration -2
}
actor Roll_StaminaDelayW : Powerup
{
Powerup.Duration -1
}

actor RollSwingChecker_P1 : CustomInventory
{
States
{
Pickup:
//TNT1 A 0 A_GiveInventory("Roll_StaminaDelayW",1)
TNT1 A 0 A_JumpIfInventory("PowerRollDashing",1,"PickupX")
TNT1 A 0 A_GiveInventory("PowerRollRepulsion",1)
TNT1 A 0 A_FireCustomMissile("BossRollSwing",0,0,0,0)
stop
PickupX:
TNT1 A 0 A_GiveInventory("PowerRollRepulsionX",1)
TNT1 A 0 A_FireCustomMissile("BossRollSwingX",0,0,0,0)
TNT1 A 0 A_TakeInventory("PowerRollDashing",99)
stop
}
}

actor Roll_ReadyState_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("Roll_StaminaDelay",1,3)
TNT1 A 0 A_JumpIfInventory("Roll_StaminaDelayW",1,2)
TNT1 A 0 A_GiveInventory("RollHyperDashAmmo",2)
TNT1 A 0
stop
}
}

actor Roll_FlashState_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("RollAmmoRegenDelay",28,"Give")
TNT1 A 0 A_GiveInventory("RollAmmoRegenDelay",1)
goto SlideAmmo
Give:
TNT1 A 0 A_GiveInventory("RollHealAmmo",1)
TNT1 A 0 A_TakeInventory("RollAmmoRegenDelay")
goto SlideAmmo
SlideAmmo:
TNT1 A 0 A_JumpIfInventory("Roll_StaminaDelay",1,3)
TNT1 A 0 A_JumpIfInventory("Roll_StaminaDelayW",1,2)
TNT1 A 0 A_GiveInventory("RollHyperDashAmmo",2)
TNT1 A 0
stop
}
}

actor RollSlideThrust_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("RollSlideFX",-10,0,16,0,0,0,0,1)

TNT1 A 0 A_TakeInventory("SecondSwing")
TNT1 A 0 A_GiveInventory("PowerRollDashing",1)
TNT1 A 0 A_PlaySoundEx("weapon/superboost","Body")

TNT1 A 0 A_JumpIfInventory("RollHyperDashAmmo",111,"Pickup2")
goto Pickup1
Pickup1:
TNT1 A 0 A_GiveInventory("Roll_StaminaDelayW",1)
TNT1 A 0 A_JumpIf(z-floorz==0,"PickupG1")
TNT1 A 0 A_ChangeVelocity(13,0,momz,3)
TNT1 A 0 ThrustThingZ(0,6,0,1)
stop
PickupG1:
TNT1 A 0 A_ChangeVelocity(17,0,momz,3)
TNT1 A 0 ThrustThingZ(0,14,0,0)
stop
Pickup2:
TNT1 A 0 A_GiveInventory("Roll_StaminaDelay",1)
TNT1 A 0 A_JumpIf(z-floorz==0,"PickupG2")
//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)
goto End
PickupG2:
//TNT1 A 0 A_Recoil(-25)//-28
//TNT1 A 0 ThrustThingZ(0,28,0,0) 
TNT1 A 0 A_ChangeVelocity(34,0,momz,3)
TNT1 A 0 ThrustThingZ(0,28,0,0)
goto End
End:
TNT1 A 0 A_TakeInventory("RollHyperDashAmmo",111,1)
stop
}
}

actor RollSlideFX : BasicGraphicEffect
{
States
{
SpawnFrame://DrillBomb Smoke
4DBS ABCDE 3
stop
}
}

actor BossRollSwing : ProjSpawnFuncActor
{
PROJECTILE
damagetype "Roll_Whiff"
Obituary "$OB_ROLLSWING"
+DONTBLAST
+SKYEXPLODE
+EXPLODEONWATER
+NOGRAVITY
-NOBLOCKMAP
+SHOOTABLE
+NOTARGETSWITCH
//+NODAMAGE
+INVULNERABLE
+NORADIUSDMG
+DONTRIP
+NOBLOOD
+THRUSPECIES
+DONTREFLECT
//+REFLECTIVE

ReactionTime 1
Damage (0)
Radius 20
Height 16
speed 27
Species "RollStuff"
Scale 2.5
States
{
Spawn:
RSWD A 0
RSWD A 0 A_SpawnItemEx("PropBlowerEffect")
//RSWD A 0 A_JumpIfInTargetInventory("PowerRollDashing",1,"Spawn2")
RSWD ABCCD 1
RSWD E 1 A_CountDown
wait
Spawn2:
RSWD ABCCD 1 //A_GiveInventory("RollRepulsion2",1)
RSWD E 1 A_CountDown
wait
Death:
RSWD E 0
RSWD E 0 A_SpawnItemEx("PropBlowerEffect")
//RSWD E 0 A_SetDamageType("Roll_Whiff")
RSWD E 1 A_Explode(140,128,0,0,32)
stop
XDeath:
RSWD E 0
RSWD E 0 A_SpawnItemEx("PropBlowerEffect")
RSWD E 1 A_Explode(200,128,0,0,32)
stop
}
}

actor PainRoll_SwingHit : BasicWatcher
{
States
{
Spawn:
TNT1 A 0 nodelay A_GiveToTarget("RollHealAmmo",4,AAPTR_TARGET)
stop
}
}

actor BossRollSwing2 : BossRollSwing
{
damagetype "Roll_Swing"
Speed 30
States
{
Spawn:
RSWD F 0
RSWD F 0 A_SpawnItemEx("PropBlowerEffect")
RSWD FGHHI 1
RSWD J 1 A_CountDown
wait
Death:
RSWD J 0
RSWD J 0 A_SpawnItemEx("PropBlowerEffect")
RSWD J 0 A_SetDamageType("Roll_Whiff")
RSWD J 1 A_Explode(140,128,0,0,32)
stop
XDeath:
RSWD J 0
RSWD J 0 A_SpawnItemEx("PropBlowerEffect")
RSWD J 1 A_Explode(200,128,0,0,32)
stop
}
}

actor BossRollSwingX : BossRollSwing {Speed 38}

actor RollRepulsion : CustomInventory
{
//damagetype "Melee"
States
{
Pickup:
TNT1 A 0 //A_RadiusGive("PowerRollDashing",192,RGF_MISSILES,1,"RollCleanserShot")
TNT1 A 0 A_Blast(0,255,192,25.0,"RollRepulsionFX")
stop
}
}


actor RollRepulsion2 : CustomInventory
{
//damagetype "Melee"
States
{
Pickup:
TNT1 A 0 //A_RadiusGive("PowerRollDashing",192,RGF_MISSILES,1,"RollCleanserShot")
TNT1 A 0 A_Blast(0,255,192,40.0,"RollRepulsionFX")
stop
}
}

actor RollRepulsionFX : BasicGraphicEffect
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1// A_Stop
//ROL6 BCDE 2
stop
}
}

actor RollCleanserShot : ProjSpawnFuncActor
{
PROJECTILE
damagetype "Roll_Cleanse"
Obituary "$OB_ROLLBUCKET"
-NOGRAVITY
+SKYEXPLODE

+BOUNCEONCEILINGS
+BOUNCEONWALLS
BounceCount 4
BounceFactor 0.25
WallBounceFactor 0.01


+THRUSPECIES
Species "RollStuff"
MeleeRange 8
Damage (150)
Height 10
Radius 10
speed 32
Scale 2.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_ChangeVelocity(0,0,MeleeRange/4.0)
TNT1 A 0 ThrustThing(angle*256/360,0,1,0)
RSWD R 1
wait
Crash:
XDeath:
TNT1 A 1
stop
DeathF:
TNT1 A 1 A_SpawnItemEx("RollCleanserBlob")
stop
Death:
TNT1 A 0
TNT1 A 0 A_JumpIf(z-floorz<=Height,"DeathF")
TNT1 A 1 A_SpawnItemEx("RollCleanserShotFall",0,0,0,0,0,-1)
stop

//RSWD R 0 A_JumpIf(z-floorz<=0,"Death2")
//RSWD R 1 A_GiveInventory("CutterFlag",1)
//RSWD R 0 A_JumpIfInventory("CutterFlag",175,"Xdeath")
//loop
//Death2:
//RSWD R 1 A_SpawnItemEx("RollCleanserBlob",0,0,0,0,0,0,0,1)
//stop
}
}


actor RollCleanserShotFall : RollCleanserShot
{
damagetype "Roll_CleanseShock"
MeleeRange -8
ReactionTime 1
States
{
Spawn:
RSWD R 0
RSWD R 175 A_ChangeVelocity(0,0,MeleeRange/4.0)
RSWD R 1
stop
Death:
TNT1 A 0
TNT1 A 0 A_JumpIf(z-floorz<=Height,"DeathF")
TNT1 A 1
stop
}
}

Actor RollCleanserBlob : ProjSpawnFuncActor
{
Obituary "$OB_ROLLBUCKET"
damagetype "Roll_CleanseShock"
+MISSILE
+DONTSPLASH
+EXPLODEONWATER
+NOEXPLODEFLOOR
+THRUSPECIES
Species "RollStuff"
reactiontime 1
Damage (100)
Height 10
Radius 10
scale 2.5
Args 175
states
{
Spawn:
TNT1 A 0
RSWD T 1
Goto Spawn2
Spawn2:
RSWD T 1 A_Stop
Goto SlideWait
SlideWait:
RSWD S 1 A_CountDownArg(0)
RSWD S 1
RSWD S 0 A_JumpIf(abs(z*100000-floorz*100000)>50,"NewShot")
RSWD S 0 A_JumpIfInTargetInventory("PowerRollRepulsionX",1,"NewShotFling2")
RSWD S 0 A_JumpIfInTargetInventory("PowerRollRepulsion",1,"NewShotFling")
loop
NewShot:
//TNT1 A 0 A_CheckFlag("BLASTED",1)
//goto SlideWait
TNT1 A 0 A_SpawnItemEx("RollCleanserShot2",0,0,0,momx,momy,momz,0,8)
stop
NewShotFling:
TNT1 A 0 A_JumpIfCloser(192,1)
goto SlideWait
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_SpawnItemEx("RollCleanserShot2",0,0,0,-25,0,7.25,0,0)
stop
NewShotFling2:
TNT1 A 0 A_JumpIfCloser(192,1)
goto SlideWait
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_SpawnItemEx("RollCleanserShot2",0,0,0,-40,0,7.25,0,0)
stop
Death:
TNT1 A 0
stop
}
}

actor Roll_CleanseShockProtect : PowerProtection
{
Powerup.Duration 6
DamageFactor "Roll_CleanseShock", 0.35
}

actor RollCleanserShot2 : RollCleanserShot
{
damagetype "Roll_CleanseShock"
//BounceCount 4
WallBounceFactor 0.25
MeleeRange 1
Damage (250)//30
}


actor RollHealItem : BasicClassItem
{
inventory.icon "RollIcon"
inventory.pickupmessage "Congartulations!"
Tag "Roll Health Create"
states
{
Spawn:
RSWB X 1
loop
UseCBM:
TNT1 A 0 A_JumpIfInventory("RollHealAmmo",14,"Success")
fail
Success:
TNT1 A 0 A_PlaySoundEx("weapon/RollHeal","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RollHealAmmo",28,"Success2")
//TNT1 A 0 A_FireCustomMissile("RollHealX",0,0,0,0)
//TNT1 A 0 //A_SpawnItemEx("RollHeal_P",40,0,256,0,0,0,0,32,0)
TNT1 A 0 A_TakeInventory("RollHealAmmo",4)
TNT1 A 0 A_TakeInventory("RollHealAmmo",10,1)
TNT1 A 0 A_FireCustomMissile("RollHealShot2",0,0)
fail
Success2:
TNT1 A 0 A_TakeInventory("RollHealAmmo",7)
TNT1 A 0 A_TakeInventory("RollHealAmmo",21,1)
TNT1 A 0 A_FireCustomMissile("RollHealShot",0,0)
fail
}
}


actor RollHealShot : ProjSpawnFuncActor
{
var int user_translateLikePlayer;
Translation "192:192=104:104","198:198=110:110"
//+MISSILE
//+CANPASS
+DROPOFF
-SOLID
+NOGRAVITY
+THRUACTORS
+THRUGHOST
+DONTBLAST
+DONTREFLECT
RenderStyle "Translucent"
Alpha 0.25
ReactionTime 1
radius 2
height 2
Speed 41//50
scale 2.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteWithResult("core_copytranslation")
RSWB SSSSSSSSSSSS 1 A_SpawnItemEx("RollHealFX",0,random(-20,20),random(-2,28),0,0,0,0,1)
RSWB S 1 A_CountDown
wait
Death:
RSWB RRRRRRRRRRRRRRRR 1 A_FadeIn(0.05)
TNT1 A 4 A_SpawnItemEx("RollHeal_P",0,0,0,0,0,0,0,1)
stop
}
}

actor RollHealShot2 : RollHealShot
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteWithResult("core_copytranslation")
RSWB UUUUUUUUUUUU 1 A_SpawnItemEx("RollHealFX",0,random(-16,16),random(-2,22),0,0,0,0,1)
RSWB U 1 A_CountDown
wait
Death:
RSWB TTTTTTTTTTTTTTTT 1 A_FadeIn(0.05)
TNT1 A 4 A_SpawnItemEx("RollHeal2_P",0,0,0,0,0,0,0,1)
stop
}
}

actor RollHeal_P : CustomInventory
{
+USESPAWNEVENTSCRIPT
var int user_UseProjSpawnFunc;
var int user_translateLikePlayer;

//var int user_NoTranslation;
inventory.pickupmessage "Picked up Roll's large health gift."
//inventory.pickupsound "item/energyup"
Gravity 0.5
Scale 2.0
Args 42
States
{
Spawn:
RSWB R 0
RSWB R 0
SpawnL:
RSWB R 0 A_SpawnItemEx("RollHealFX1",0,0,0,0,0,0,Args[0]*8,1)
RSWB RSRS 6
RSWB R 0 A_CountDownArg(0)
loop

Pickup:
Health:
TNT1 A 0 A_JumpIf(CallACS("core_CanGainHealth"),2)
TNT1 A 0 A_JumpIfInventory("CanSnatch_F",1,"TheSnatch")
//fail
TNT1 A 0 A_PlaySound("item/energyup/large",3,1.0)
TNT1 A 0 ACS_NamedExecuteWithResult("core_HealScript",30)
stop
TheSnatch:
TNT1 A 0 A_GiveInventory("SnatchItems_P2",1)
stop
}
}

actor RollHeal2_P : RollHeal_P
{
inventory.pickupmessage "Picked up Roll's health gift."
States
{
Spawn:
RSWB T 0
RSWB T 0 A_SpawnItemEx("RollHealFX1",0,0,0,0,0,0,Args[0]*8,1)
RSWB TUTU 6
RSWB T 0 A_CountDownArg(0)
loop

Pickup:
Health:
TNT1 A 0 A_JumpIf(CallACS("core_CanGainHealth"),2)
TNT1 A 0 A_JumpIfInventory("CanSnatch_F",1,"TheSnatch")
//fail
TNT1 A 0 A_PlaySound("item/energyup/large",3,1.0)
TNT1 A 0 ACS_NamedExecuteWithResult("core_HealScript",15)
stop
TheSnatch:
TNT1 A 0 A_GiveInventory("SnatchItems_P2",1)
stop
TheSnatch:
TNT1 A 0 A_GiveInventory("SnatchItems_P1",1)
stop
}
}

actor RollHealFX1 : BasicGraphicEffect
{
var int user_A;
ReactionTime 12
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("RollHealFX2",0,0,10,12,0,0,30*ReactionTime,1)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor RollHealFX2 : BasicGraphicEffect
{
ReactionTime 3
states
{
Spawn:
TNT1 A 3 A_CountDown
TNT1 A 0 A_SpawnItemEx("RollHealFX",0,0,0,0,0,1,0,1)
loop
}
}

actor RollHealFX : BasicGraphicEffect
{
States
{
SpawnFrame:
TNT1 A 0
TNT1 A 0 A_Jump(64,"Spawn3")
TNT1 A 0 A_Jump(128,"Spawn2")
Spawn1:
X_0C AAABBB 1 A_FadeOut(0.05)
loop
Spawn2:
X_0C CCCDDD 1 A_FadeOut(0.05)
loop
Spawn3:
X_0C EEEFFF 1 A_FadeOut(0.05)
loop
}
}



actor Roll_W_NormalBar : NormalBar {Args 216,176}
actor Roll_W_ScriptBar : ScriptBar {}
actor Roll_W2_NormalBar : NormalBar {Args 216,176}
actor Roll_W2_ScriptBar : ScriptBar {}