actor RighteousSpiralWep_NormalBar : NormalBar{args 214,223}
actor RighteousSpiralWep : BaseMM8BDMWep
{
Weapon.AmmoUse 4
Weapon.AmmoGive 28
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_RIGHTEOUSSPIRAL"
Obituary "$OB_RIGHTEOUSSPIRAL"
Tag "$TAG_RIGHTEOUSSPIRAL"
weapon.ammotype "RighteousSpiralAmmo"
inventory.icon "RSPRICON"
Scale 2.0
States
{
SpawnLoop:
RSPR Z 3
loop
Ready:
RSPR A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_RIGHTEOUSSPIRAL)
RSPR A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
RSPR A 0 
goto DeselectSwap
Select:
RSPR A 0 
goto SelectSwap
Fire:
RSPR B 0 A_JumpIfNoAmmo("NoAmmo")
RSPR B 0 A_PlaySoundEx("weapon/powerparcel2","Weapon")
RSPR B 0 A_FireCustomMissile("RighteousSpiralCore",0,1,8,0)
RSPR BCDEF 3
TNT1 A 12
RSPR GH 4
RSPR A 6
RSPR B 0 A_Refire
goto Ready+1
NoAmmo:
RSPR A 1 ACS_NamedExecuteAlways("core_noammo",0)
RSPR A 0 A_Refire
goto Ready+1
}
}

actor RighteousSpiralAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor RighteousSpiralCore : BasicProjectile
{
PROJECTILE
+BRIGHT
damagetype "RighteousSpiral"
Obituary "$OB_RIGHTEOUSSPIRAL"
Radius 12
Height 12
+RIPPER
scale 2.5
damage (CallACS("vile_cbm_damage",4+(pitch/16)))
speed 10
States
{
Spawn:
RSPR X 0
RSPR XXYY 1
RSPR X 0 A_SetPitch(0)
ExpandA:
RSPR X 0 A_ScaleVelocity(1.075)
RSPR X 0 A_SetPitch(Pitch+3)//
RSPR X 0 A_SetAngle(angle+12)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,0,SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
RSPR X 1 A_JumpIf(Pitch>=128,"Expanded")
ExpandB:
RSPR X 0 A_SetPitch(Pitch+3)
RSPR X 0 A_SetAngle(angle+12)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,0, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
RSPR X 1 A_JumpIf(Pitch==128,"Expanded")
ExpandC:
RSPR Y 0 A_SetPitch(Pitch+3)
RSPR Y 0 A_SetAngle(angle+12)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,0, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
RSPR Y 1 A_JumpIf(Pitch==128,"Expanded")
ExpandD:
RSPR Y 0 A_SetPitch(Pitch+3)
RSPR Y 0 A_SetAngle(angle+12)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,0, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
RSPR Y 1 A_JumpIf(Pitch==128,"Expanded")
goto ExpandA
Expanded:
RSPR X 0 A_SetAngle(angle+12)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,0, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR X 1 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
RSPR X 0 A_SetAngle(angle+12)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,0, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR X 0 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR X 1 A_SpawnItemEx("RighteousSpiralAttack1",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
RSPR Y 0 A_SetAngle(angle+12)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,0, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR Y 1 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
RSPR Y 0 A_SetAngle(angle+12)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,0, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,90, SXF_TRANSFERPITCH)
RSPR Y 0 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,180, SXF_TRANSFERPITCH)
RSPR Y 1 A_SpawnItemEx("RighteousSpiralAttack2",Pitch,0,0,0,0,0,270, SXF_TRANSFERPITCH)
loop
}
}

actor RighteousSpiralAttack1 : BasicProjectile
{
PROJECTILE
+BRIGHT
damagetype "RighteousSpiral"
Obituary "$OB_RIGHTEOUSSPIRAL"
Radius 12
Height 12
+RIPPER
scale 2.5
damage (CallACS("vile_cbm_damage",4+(pitch/16)))
speed 0
States
{
Spawn:
RSPR X 2
stop
}
}

actor RighteousSpiralAttack2 : RighteousSpiralAttack1
{
States
{
Spawn:
RSPR Y 2
stop
}
}

actor RighteousSpiralProtect : PowerProtection {powerup.duration 3 damagefactor "RighteousSpiral", 0.4}