actor ZaWarudoWep_NormalBar : NormalBar {args 213, 165}
actor ZaWarudoWep_ScriptBar : ScriptBar {}

actor ZaWarudoWep : BaseMM8BDMWep
{
	//$Category RNC-Weapons
	//$Title Za Warudo
	//$Sprite RNCWH0
	Weapon.AmmoUse 112
	Weapon.AmmoGive 112
	Weapon.SlotNumber 6
	Tag "$TAG_ZAWARUDO"
	Obituary "$OB_ZAWARUDO"
	Inventory.Pickupmessage "$PU_ZAWARUDO"
	weapon.ammotype "ZaWarudoAmmo_RNC"
	inventory.icon "RNCWP8"
	States
	{
		SpawnLoop:
			RNCW H -1
			loop

		Ready:
			NCH2 V 0 ACS_NamedExecuteWithResult("core_weaponcolor",CLR_ZAWARUDO)
			NCH2 V 1 A_WeaponReady
			goto Ready+1

		Deselect:
			NCH2 V 0
			goto DeselectSwap
		Select:
			NCH2 V 0
			goto SelectSwap

		Fire:
			NCH2 V 0 A_JumpIfNoAmmo("NoAmmo")
			NCH2 WXY 2
			TNT1 A 8
			NCH2 Z 2
			NCH3 A 2
			NCH3 A 0 A_PlaySoundEx("weapon/timestopper","Weapon")
			NCH3 A 0 A_SpawnItemEx("ZaWarudoSparkleHelper",0,0,28,0,0,0,0)
			NCH3 A 0 A_GiveInventory("ZaWarudoCharge",60)
			NCH3 A 0 A_TakeInventory("ZaWarudoAmmo_RNC",112,TIF_NOTAKEINFINITE)
		Fire1:
			NCH3 A 0 A_FireCustomMissile("ZaWarudoRadius1",0,0,8,0)
			NCH3 BBBBB 1 A_TakeInventory("ZaWarudoCharge",1)
			NCH3 A 0 A_JumpIfInventory("ZaWarudoCharge",1,"Fire2")
			goto FireEnd
		Fire2:
			NCH3 A 0 A_FireCustomMissile("ZaWarudoRadius2",0,0,8,0)
			NCH3 BBBBB 1 A_TakeInventory("ZaWarudoCharge",1)
			NCH3 A 0 A_JumpIfInventory("ZaWarudoCharge",1,"Fire1")
			goto FireEnd
		FireEnd:
			NCH3 A 0 A_FireCustomMissile("ZaWarudoRadius1",0,0,8,0)
			NCH3 B 22
			NCH3 A 2
			NCH2 Z 2
			TNT1 A 2
			NCH2 YXW 2
			goto Ready+1
			
		NoAmmo:
			NCH2 V 1 ACS_NamedExecute("core_noammo",0)
			goto Ready+1
	}
}

actor ZaWarudoAmmo_RNC : Ammo {inventory.amount 1 inventory.maxamount 112}

actor ZaWarudoRadius : BasicExplosion
{
	+FORCEXYBILLBOARD
	damagetype "ZaWarudo"
	Obituary "$OB_ZAWARUDO"
	Translation "30:40=213:213", "230:240=165:165"
	Scale 4.5
}

actor ZaWarudoRadius1 : ZaWarudoRadius
{
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 1 A_Explode(CallACS("rnc_cbm_damage",5),450,0)
			SLOD EFGHI 1
			stop
	}
}

actor ZaWarudoRadius2 : ZaWarudoRadius
{
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 1 A_Explode(CallACS("rnc_cbm_damage",5),450,0)
			SLOD JKLMN 1
			stop
	}
}

actor ZaWarudoSparkle : BasicGraphicEffect
{
	Renderstyle "Translucent"
	Alpha 0.95
	ReactionTime 10
	States
	{
		Spawn:
			FLAS A 0
			FLAS A 0 A_Jump(256,1,2,3)
		SpawnLoop:
			FLAS A 2 bright A_CountDown
			FLAS B 2 bright A_CountDown
			FLAS C 2 bright A_Countdown
			FLAS A 0 bright
			loop
	}
}

actor ZaWarudoSparkleHelper : BasicGraphicEffect
{
	ReactionTime 3
	var int user_TranslateWhiteColors;
	States
	{
		SpawnFrame:
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZaWarudoSparkle",random(-384,384),random(-384,384),random(-384,384),0,0,0,0,129)
			TNT1 A 2 A_CountDown
			loop
	}
}

actor ZaWarudoCharge : WeaponCharge
{
	inventory.maxamount 60
}