actor LeafShieldBoss : MegaBuster 20011
{
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "%o was slashed by %k's Leaf Shield."
weapon.ammotype "IncredibleAmmo"
weapon.ammouse 2
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
WEAP F 1
loop
Ready:
WOOA A 0 ACS_ExecuteAlways(991,0,10)
WOOA A 0 A_ClearRefire
WOOA A 0 A_JumpIfInventory("IncredibleAmmo",2,"Ready2")
WOOA A 8 A_WeaponReady(WRF_NOPRIMARY)
WOOA A 0 A_GiveInventory("IncredibleAmmo",1)
Goto Ready+2
Ready2:
WOOA A 8 A_WeaponReady
WOOA A 0 A_GiveInventory("IncredibleAmmo",1)
loop
Deselect:
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
ICEB A 0 A_TakeInventory("LeafShieldBoss")
ICEB A 0 A_GiveInventory("LeafShieldBoss")
WOOA A 1 A_SelectWeapon("LeafShieldBoss")
Loop
WOOA A 0
WOOA A 0 A_TakeInventory("ShieldCheck",1)
WOOA A 0 A_FireCustomMissile("LeafShield",0,0,0,0)
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WOOA A 1 A_Raise
Loop
Fire:
/*WOOA A 0 A_JumpIfInventory("Crack",1,1)
goto SlamEnd2*/
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
WOOA A 0 A_JumpIfNoAmmo("NoAmmo")
WOOA A 0 A_TakeInventory("BasicArmor",9999)
WOOA A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
//WOOA A 0 A_ChangeFlag("INVULNERABLE",1)
WOOA A 1 A_GiveInventory("ShieldCheck",1)//A_SpawnItemEx("BubbleLeadStart",6,0,0,8,0,8,0,0,0)
WOOA BCDEF 2
WOOA GH 2
WOOA A 0 A_ChangeFlag("INVULNERABLE",1)
goto ShieldActive
Hold:
WOOA A 1
goto Ready+1
ShieldActive:
WOOA A 0 A_PlayWeaponSound("weapon/leafshield")
WOOA A 1 A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_PlayWeaponSound("weapon/leafshield")
WOOA A 1 A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_GunFlash
Goto Shield
Shield:
WOOA A 0 A_ChangeFlag("INVULNERABLE",1)
WOOA A 0 A_JumpIfNoAmmo("NoAmmo")
WOOA A 0 A_TakeInventory("IncredibleAmmo",1)
WOOA A 1 A_WeaponReady
//WOOA A 0 A_PlayWeaponSound("weapon/leafshield")
WOOA A 0 A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_WeaponReady
WOOA A 0 A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_WeaponReady
WOOA A 0 A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_WeaponReady
WOOA A 0 A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIfNoAmmo("NoAmmo")
WOOA A 0 A_TakeInventory("IncredibleAmmo",1)
WOOA A 1 A_WeaponReady
//WOOA A 0 A_PlayWeaponSound("weapon/leafshield")
WOOA A 0 A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_WeaponReady
WOOA A 0 A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_WeaponReady
WOOA A 0 A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 1 A_WeaponReady
WOOA A 0 A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
loop
ShieldThrow:
WOOA A 0 A_TakeInventory("ShieldCheck",999)
WOOA A 0 A_ChangeFlag("INVULNERABLE",0)
WOOA A 0 A_TakeInventory("INCREDIBLEAMMO",1)
WOOA A 0 A_FireCustomMissile("LeafShieldThrowBoss",0,0,0,0)
WOOA FEDCB 3
WOOA GH 2
WOOA A 15
goto Ready+1
Altfire:
WOOA A 0 A_JumpIfInventory("Crack",1,1)
goto SlamEnd2
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
WOOA A 0 A_JumpIf(z-floorz==0, "BodySlam")
WOOA A 0 A_JumpIf(momz==0, "MomZVerify")
goto NoAmmo
MomZVerify:
WOOA A 1
WOOA A 0 A_JumpIf(z-floorz==0, "BodySlam")
WOOA A 0 A_JumpIf(momz==0, "BodySlam")
goto NoAmmo
BodySlam:
WOOA A 0 A_GiveInventory("StunArmor", 1)
WOOA A 0 A_TakeInventory("Crack", 999)
WOOA A 0 A_TakeInventory("WoodSlamTimer", 999)
WOOA A 0 ACS_ExecuteAlways(648,0,1)
WOOA A 0 SetPlayerProperty(0,1,0)
WOOA A 0 A_PlayWeaponSound("weapon/coilbounce1")
WOOA A 0 ThrustThingZ(0,30,0,0)
WOOA A 0 A_Recoil(-15)
Slam1:
WOOA B 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd2")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA B 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd2")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA C 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd2")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA C 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd2")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA D 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd2")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA D 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA E 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA E 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
WOOA F 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
TNT1 A 0
Slam2:
WOOA F 0 A_GiveInventory("WoodSlamTimer",1)
WOOA F 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
TNT1 A 0 A_JumpIf(momz<=0, "Slam3")
TNT1 A 0 A_JumpIfInventory ("WoodSlamTimer",25,"Slam2Cancel")
goto Slam2
Slam2Cancel:
//TNT1 A 0 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
TNT1 A 0 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
goto Slam2
Slam3:
WOOA F 0 A_GiveInventory("WoodSlamTimer",1)
WOOA F 1 A_SpawnItemEX("WoodSlamCheck",0,0,0,momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
WOOA A 0 A_JumpIf(z-floorz==0, "SlamEnd")
TNT1 A 0 A_JumpIfInventory ("Crack",1,"SlamEnd")
TNT1 A 0 A_JumpIf(momz>=0, "SlamEnd")
TNT1 A 0 A_JumpIfInventory ("WoodSlamTimer",25,"Slam3Cancel")
loop
Slam3Cancel:
//TNT1 A 0 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
TNT1 A 0 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
goto Slam3
SlamEnd:
WOOA A 0 A_TakeInventory("StunArmor",999)
WOOA A 0 A_GiveInventory("Crack", 1)
TNT1 A 0 A_PlaySoundEx("weapon/blizzstrike","Weapon")
TNT1 A 10 A_FireCustomMissile("WoodSlam",0,0,8,0)
TNT1 A 0 ACS_ExecuteAlways(648,0,0)
TNT1 A 0 SetPlayerProperty(0,0,0)
WOOA GH 3
WOOA A 10
WOOA A 0 A_GiveInventory("IncredibleAmmo",2)
goto Ready+1
SlamEnd2:
WOOA A 0 A_TakeInventory("StunArmor",999)
WOOA A 0 A_GiveInventory("Crack", 1)
TNT1 A 5
//TNT1 A 10
TNT1 A 0 ACS_ExecuteAlways(648,0,0)
TNT1 A 0 SetPlayerProperty(0,0,0)
WOOA GH 2
//WOOA GH 3
WOOA A 5
//WOOA A 10
WOOA A 0 A_GiveInventory("IncredibleAmmo",1)
goto Ready+1
NoAmmo:
//WOOA A 1 ACS_Execute(979,0)
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
goto Ready+1
Flash:
TNT1 A 1 A_TakeInventory("LeafCounter",999)
Flash2:
TNT1 A 0 A_PlayWeaponSound("weapon/leafshield")
TNT1 A 0 A_JumpIfInventory("LeafCounter",1,"Counter")
TNT1 A 1 A_SpawnItemEx("LeafCounterDude", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
goto Noflash
TNT1 A 0 A_JumpIfInventory("LeafCounter",1,"Counter")
TNT1 A 1 A_SpawnItemEx("LeafCounterDude", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
goto Noflash
TNT1 A 0 A_JumpIfInventory("LeafCounter",1,"Counter")
TNT1 A 1 A_SpawnItemEx("LeafCounterDude", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
goto Noflash
TNT1 A 0 A_JumpIfInventory("LeafCounter",1,"Counter")
TNT1 A 1 A_SpawnItemEx("LeafCounterDude", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,"Flash2")
goto Noflash
Counter:
//TNT1 A 0 A_PlayWeaponSound("weapon/leafcounter")
TNT1 A 5 A_SpawnItemEx("LeafRiseSound", 0, 0, 0, 0, 0, 20, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 5 A_SpawnItemEx("LeafRise", 0, 0, 0, 0, 0, 20, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 5 A_SpawnItemEx("LeafRise", 0, 0, 0, 0, 0, 20, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 5 A_SpawnItemEx("LeafRise", 0, 0, 0, 0, 0, 20, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 0 A_FireCustomMissile("LeafFaller",0,0,25,0)
TNT1 A 0 A_FireCustomMissile("LeafFaller",0,0,75,0)
TNT1 A 0 A_FireCustomMissile("LeafFaller",0,0,-25,0)
TNT1 A 0 A_FireCustomMissile("LeafFaller",0,0,-75,0)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,"Flash")
goto NoFlash
Noflash:
TNT1 A 0
stop
}
}

actor IncredibleAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
}

actor Leaf
{
-SOLID
PROJECTILE
+NOGRAVITY
Damage (20)
damagetype "Leaf"
Height 7
Radius 7
Scale 2.5
speed 28
States
{
Spawn:
LEAF XYZWXYZW 5
loop
}
}


actor LeafShield1Boss : LeafShield1
{
-CLIENTSIDEONLY
+DONTBLAST
+NOINTERACTION
+NONETID
States
{
Spawn:
LEAF L 1
LEAF L 1
stop
}
}
actor LeafShield2Boss : LeafShield1Boss
{
States
{
Spawn:
LEAF M 1
LEAF M 1
stop
}
}
actor LeafShield3Boss : LeafShield1Boss
{
States
{
Spawn:
LEAF N 1
LEAF N 1
stop
}
}
actor LeafShield4Boss : LeafShield1Boss
{
States
{
Spawn:
LEAF O 1
LEAF O 1
stop
}
}

actor LeafRise
{
scale 2.5
PROJECTILE
Damage (0)
Speed 0
Height 7
Radius 7
+CLIENTSIDEONLY
+DONTBLAST
States
{
Spawn:
LEAF XYZW 3
stop
}
}

actor LeafRiseSound : LeafRise
{
States
{
Spawn:
LEAF X 0
LEAF X 3 A_PlaySoundEx("weapon/leafcounter","Weapon")
LEAF YZW 3
stop
}
}

actor LeafShieldThrowBoss : LeafShieldC
{
+THRUGHOST
States
{
Spawn:
LEAF P 1
LEAF P 1 A_ChangeFlag("THRUGHOST", 0)
LEAF QRSP 2
goto Spawn+2
}
}

actor LeafCounterDude
{
height 56
renderstyle "none"
damagefactor "LeafFall", 0.0
radius 40
scale 2.5
painchance 256
health 99999
+SHOOTABLE
+NOTARGETSWITCH
-SOLID
+DONTRIP
+GHOST
States
{
Spawn:
PLAY A 0
PLAY A 1
stop
Pain:
PLAY A 1 A_GiveToTarget("LeafCounter",1)
stop
}
}

actor LeafCounter : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor WoodSlamTimer : Inventory
{
inventory.amount 1
inventory.maxamount 999
}

actor LeafFaller
{
-SOLID
PROJECTILE
+FLOORHUGGER
//+NOCLIP
+RIPPER
+THRUGHOST
//+NOINTERACTION
+DONTBLAST
+DONTREFLECT
//+NOTARGETSWITCH
//maxstepheight 0
Damage (0)
Height 7
Radius 7
speed 13
States
{
Spawn:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("LeafFall",0,0,100,0,0,-5)
loop
}
}

actor LeafFall
{
-SOLID
PROJECTILE
-NOGRAVITY
+DONTBLAST
+NOCLIP
Damage (20)
damagetype "LeafFall"
Height 7
Radius 7
Scale 2.5
speed 0
Gravity 0.4
States
{
Spawn:
LEAF X 0
LEAF X 5 A_ChangeFlag("NOCLIP", 0)
LEAF YZWX 5
goto spawn+2
}
}

actor WoodSlamCheck
{
PROJECTILE
+NOGRAVITY
Radius 60
Height 60
damage 0
States
{
Spawn:
TNT1 A 1
stop
XDeath:
TNT1 A 0 A_GiveToTarget("Crack",1)
Stop
Death:
TNT1 A 0
Stop
}
}

actor WoodSlam
{
-SOLID
+NOGRAVITY
PROJECTILE
damage 0
radius 1
height 1
damagetype "Leaf"
Obituary "%o was slammed by %k's Body Slam."
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(30,150,0)
stop
}
}