Actor CopipiSwarmWep_V_NormalBar : NormalBar{Args 4, 41}
actor CopipiSwarmWep_V : BaseMM8BDMWep
{
Weapon.AmmoUse 7
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_COPIPISWARM"
Obituary "$OB_COPIPISWARM"
Tag "$TAG_COPIPISWARM"
weapon.ammotype "CopipiSwarmAmmo_V"
inventory.icon "CPSWICON"
States
{
SpawnLoop:
CPSW A 1
loop
ReadyC: Goto Ready+1
Ready:
CPSW B 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_COPIPISWARM)
CPSW B 0 A_CheckFloor(2)
CPSW B 1 A_WeaponReady
Goto Ready+1
CPSW B 0 A_TakeInventory("CopipiSwarmAntiMoonJumpProtocallFlag_V",1)
CPSW B 1 A_WeaponReady
Goto Ready+1
Deselect:
CPSW B 0
goto DeselectSwap
Select:
CPSW B 0
goto SelectSwap
Fire:
CPSW B 0 A_JumpIfNoAmmo("NoAmmo")
CPSW B 0 A_JumpIfInventory("CopipiSwarmAntiMoonJumpProtocallFlag_V",1,"AntiMoonJumpProtocall")
CPSW B 0 A_GiveInventory("CopipiSwarmAntiMoonJumpProtocallFlag_V",1)
CPSW B 0 A_PlaySoundEx("weapon/airshooter","Weapon")
CPSW B 0 A_ChangeVelocity(momx,momy,1+CallACS("CBM_FetchJumpZ"),2)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",0,1,8,0)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",45,0,8,0)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",90,0,8,0)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",135,0,8,0)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",180,0,8,0)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",225,0,8,0)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",270,0,8,0)
CPSW B 0 A_FireCustomMissile("CopipiShot_V",315,0,8,0)
CPSW CD 3
CPSW B 8
CPSW B 0 A_Refire
goto Ready+1
NoAmmo:
CPSW B 1 ACS_NamedExecuteAlways("core_noammo", 0)
Goto Ready+1
AntiMoonJumpProtocall:
CPSW B 1
Goto Ready+1
}
}

actor CopipiSwarmAntiMoonJumpProtocallFlag_V : Once{}

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

actor CopipiShot_V : BasicProjectile
{
PROJECTILE
Radius 6
Height 7
Scale 2.5
Damage (CallACS("vile_cbm_damage",11))
+NOEXPLODEFLOOR
Damagetype "CopipiSwarm_V"
Obituary "$OB_COPIPISWARM"
Speed 18
States
{
Spawn:
CPSW E 0
CPSW F 1 ThrustThingZ(0, 30, 1, 1)
Spawn2:
CPSW EFEFEF 1 ThrustThingZ(0, 3, 0, 1)
Loop
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1", 0, 0, 0, 0, 0, 0, 0, SXF_WEPFXCOLOR)
stop
}
}