actor LeafShieldWep : MegaBuster 10011
{
Weapon.AmmoGive 28
Weapon.SlotNumber 7
Obituary "%o was slashed by %k's Leaf Shield."
Inventory.Pickupmessage "Power up! Leaf Shield!"
weapon.ammotype "LeafAmmo"
weapon.ammouse 8
inventory.pickupsound "weapon/weaponup"
inventory.icon "LEAFI"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
WEAP F 1
loop
Ready:
LEAF A 0 ACS_ExecuteAlways(998,0,2)
LEAF A 0 A_ClearRefire
LEAF A 1 A_WeaponReady
Goto Ready+2
Deselect:
LEAF A 0 A_JumpIfInventory("ShieldCheck",1,24)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
LEAF A 1 A_Lower
Goto Deselect+1
LEAF A 0
LEAF A 0 A_TakeInventory("ShieldCheck",1)
LEAF A 0 A_FireCustomMissile("LeafShield",0,0,0,0)
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
LEAF A 1 A_Raise
Loop
Fire:
LEAF A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
LEAF A 0 A_JumpIfNoAmmo("NoAmmo")
LEAF A 0 A_TakeInventory("BasicArmor",9999)
LEAF A 0 //A_PlaySoundEx("weapon/mbuster","Weapon")
LEAF A 0 A_TakeInventory("LeafAmmo",4)
LEAF A 1 A_GiveInventory("ShieldCheck",1)//A_SpawnItemEx("BubbleLeadStart",6,0,0,8,0,8,0,0,0)
LEAF BCDEF 2
goto ShieldActive
Hold:
LEAF A 1
goto Ready+1
ShieldActive:
LEAF A 0 A_PlayWeaponSound("weapon/leafshield")
LEAF G 1 A_SpawnItemEx("LeafShield1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF G 1 A_SpawnItemEx("LeafShield1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF H 1 A_SpawnItemEx("LeafShield2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF H 1 A_SpawnItemEx("LeafShield2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 0 A_PlayWeaponSound("weapon/leafshield")
LEAF A 1 A_SpawnItemEx("LeafShield3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_SpawnItemEx("LeafShield3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_SpawnItemEx("LeafShield4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_SpawnItemEx("LeafShield4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
Goto Shield
Shield:
LEAF A 1 A_WeaponReady
LEAF A 0 A_PlayWeaponSound("weapon/leafshield")
LEAF A 0 A_SpawnItemEx("LeafShield1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_WeaponReady
LEAF A 0 A_SpawnItemEx("LeafShield1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_WeaponReady
LEAF A 0 A_SpawnItemEx("LeafShield2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_WeaponReady
LEAF A 0 A_SpawnItemEx("LeafShield2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_WeaponReady
LEAF A 0 A_PlayWeaponSound("weapon/leafshield")
LEAF A 0 A_SpawnItemEx("LeafShield3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_WeaponReady
LEAF A 0 A_SpawnItemEx("LeafShield3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_WeaponReady
LEAF A 0 A_SpawnItemEx("LeafShield4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
LEAF A 1 A_WeaponReady
LEAF A 0 A_SpawnItemEx("LeafShield4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
LEAF A 0 A_GiveInventory("Repulsion",1)
loop
ShieldThrow:
LEAF A 0 A_TakeInventory("ShieldCheck",999)
LEAF A 0 A_FireCustomMissile("LeafShield",0,0,0,0)
LEAF IJ 3
LEAF K 27
LEAF I 3
goto Ready+1
NoAmmo:
LEAF A 1 ACS_Execute(979,0)
goto Ready+1
}
}

actor LeafShield1
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
WOOD A 1
WOOD A 1
stop
}
}

actor LeafShield2
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
WOOD B 1
WOOD B 1
stop
}
}

actor LeafShield3
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
WOOD C 1
WOOD C 1
stop
}
}

actor LeafShield4
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
WOOD D 1
WOOD D 1
stop
}
}


actor LeafShield
{
scale 2.5
PROJECTILE
Damage (30)
+DONTBLAST
Speed 20
Radius 12
Height 12
States
{
Spawn:
WOOD EFGH 2
loop
}
}

ACTOR Repulsion : ArtiBlastRadius
{
+AUTOACTIVATE
}

actor LeafAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}


actor ShieldCheck : Inventory
{
inventory.amount 1
inventory.maxamount 1
States
{
Spawn:
TNT1 A 1
loop
}
}