actor PlantPastureWep_NormalBar : NormalBar{args 100, 60}
actor PlantPastureWep : BaseMM8BDMWep
{
Weapon.AmmoUse 4
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_PLANTPASTURE"
Obituary "$OB_PLANTPASTURE"
Tag "$TAG_PLANTPASTURE"
weapon.ammotype "PlantPastureAmmo"
inventory.icon "PLNPICON"
States
{
SpawnLoop:
PLNP Z 1
loop
Ready:
PPST A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_PLANTPASTURE)
PPST A 0 A_JumpIfNoAmmo("ReadyNoAmmo")
PPST A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
ReadyNoAmmo:
PPST I 1 A_WeaponReady
PPST I 0 A_JumpIfNoAmmo("ReadyNoAmmo")
Goto Ready+1
Deselect:
PPST A 0
goto DeselectSwap
Select:
PPST A 0
goto SelectSwap
Fire:
PPST B 0 A_JumpIfNoAmmo("NoAmmo")
PPST B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
PPST B 0 A_FireCustomMissile("PlantPastureBomb",0,1,8,0)
PPST CDEFGH 3
PPST A 0 A_JumpIfNoAmmo("NoneWait")
PPST A 3 Offset(0,42)
PPST A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
goto Ready+1
NoneWait:
PPST I 3 Offset(0,42)
PPST I 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
goto Ready+1
NoAmmo:
PPST I 1 ACS_NamedExecute("core_noammo",0)
goto Ready+1

}
}

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

actor PlantPastureBomb : BasicProjectile
{
PROJECTILE
Radius 16
Height 16
Scale 3.0
Damage (CallACS("vile_cbm_damage",4))
-NOGRAVITY
+DONTSPLASH
+HEXENBOUNCE
Damagetype "PlantPasture"
Obituary "$OB_PLANTPASTURE"
reactiontime 33
Speed 30
States
{
Spawn:
TNT1 A 0
TNT1 A 1 ThrustThingZ(0, 8, 0, 1)
Spawn2:
PPST X 0 A_Countdown
PPST XX 1 A_SpawnItemEx("PlantPasturePetalFX_1")
PPST X 0 A_Countdown
PPST YY 1 A_SpawnItemEx("PlantPasturePetalFX_2")
loop
Death:
HARD B 0 A_SpawnItemEx("PlantPastureShield")
HARD BCDE 1 A_PlaySoundEx("weapon/leafshield","Weapon",0)
stop
}
}

actor PlantPastureShield : BasicProjectile
{
scale 2.0
PROJECTILE
+NOEXPLODEFLOOR
+NOGRAVITY
+NOINTERACTION
Damage(0)
Obituary "$OB_PlantPasture"
damagetype "PlantPasture"
Radius 110
Height 110
Speed 0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/leafshield","Weapon",0)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 A_Explode(CallACS("vile_cbm_damage",4),110,0,0,110)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 A_Explode(CallACS("vile_cbm_damage",3),110,0,0,110)
TNT1 A 0 A_PlaySoundEx("weapon/leafshield","Weapon",0)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 A_Explode(CallACS("vile_cbm_damage",4),110,0,0,110)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 A_Explode(CallACS("vile_cbm_damage",3),110,0,0,110)
TNT1 A 0 A_PlaySoundEx("weapon/leafshield","Weapon",0)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 A_Explode(CallACS("vile_cbm_damage",4),110,0,0,110)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 A_Explode(CallACS("vile_cbm_damage",3),110,0,0,110)
TNT1 A 0 A_PlaySoundEx("weapon/leafshield","Weapon",0)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 A_Explode(CallACS("vile_cbm_damage",4),110,0,0,110)
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 1 
TNT1 AAAA 0 A_SpawnItemEx("PlantPetal2",random(2,111),0,random(-55,111),0,0,0,frandom(0,360))
TNT1 A 2 A_Explode(CallACS("vile_cbm_damage",3),110,0,0,110)
TNT1 A 0 A_PlaySoundEx("weapon/leafshield","Weapon",0)
TNT1 A 1
goto Death
Death:
HARD BCDE 1
stop
}
}

actor PlantPasturePetalFX_1 : BasicGraphicEffect
{
scale 2.5
+NOGRAVITY
+CLIENTSIDEONLY
+MISSILE
+DONTSPLASH
Damage (0)
height 0
radius 0
reactiontime 10
States
{
SpawnFrame:
PPST X 0
PPST X 0 A_SetScale(scaleX-0.1)
PPST X 0 A_SetScale(scaleY-0.1)
PPST X 1 A_Countdown//A_Fadeout(0.2)
loop
}
}

actor PlantPasturePetalFX_2 : PlantPasturePetalFX_1
{
States
{
SpawnFrame:
PPST Y 0
PPST Y 0 A_SetScale(scaleX-0.1)
PPST Y 0 A_SetScale(scaleY-0.1)
PPST Y 1 A_Countdown//A_Fadeout(0.2)
loop
}
}

actor PlantPetal : BasicGraphicEffect
{
	Renderstyle Translucent
	Alpha 0.85
	States
	{
		SpawnFrame:
		TNT1 A 0
		PPST X 1
		stop
	}
}

actor PlantPetal2 : PlantPetal
{
	+NOINTERACTION
	Alpha 1.0
	Scale 2.5
	States
	{
		SpawnFrame:
		TNT1 A 0
		PPST X 2 A_Fadeout
		loop
	}
}

actor PlantPastureFXSpawnerP : CustomInventory
{
	States
	{
		Pickup:
			TNT1 AAAAAA 0 A_SpawnItemEx("PlantPetal2",32,0,random(2,48),0,0,0,frandom(0,360))
			stop
	}
}

actor PainPlantPasture : vile_BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainPlantPastureHit_P",1)
stop
}
}

actor PainPlantPastureHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PlantPastureHealBurst",1)
stop
}
}

actor PlantPastureHealBurst : CustomInventory
{
States
{
Pickup:
TNT1 A 0 
TNT1 A 0 A_PlaySoundEx("item/energyup","Body")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(975,0)==2,"LMS")
TNT1 A 0 A_GiveInventory("Health", CallACS("vile_cbm_damage",2))
TNT1 AAA 0 A_SpawnItemEx("ETankParticle1",50,0,24,momx,momy,momz+random(1,4),random(1,8)*45,SXF_ABSOLUTEMOMENTUM|SXF_WEPFXCOLOR)
stop
LMS:
TNT1 A 0 A_GiveInventory("Health", CallACS("vile_cbm_damage",1))
TNT1 AA 0 A_SpawnItemEx("ETankParticle1",50,0,24,momx,momy,momz+random(1,4),random(1,8)*45,SXF_ABSOLUTEMOMENTUM|SXF_WEPFXCOLOR)
stop
Nope:
TNT1 A 0
stop
}
}
