actor LeafShieldBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_2H"
dropitem "LeafShieldWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 0
Obituary "$OB_LEAFSHIELD"
weapon.ammotype "IncredibleAmmo"
States
{
Spawn:
C_02 H 1
loop
Ready:
WOOH A 0 ACS_ExecuteAlways(998,0,DYE_WOODMAN)
WOOH A 0 A_GunFlash
WOOH A 0 A_ClearRefire
Ready2:
WOOH A 5 A_WeaponReady
WOOH A 0 A_JumpIfInventory("ShieldCheck",1,"Ready2")
WOOH A 0 A_GiveInventory("IncredibleAmmo",1)
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
WOOH A 1 A_Lower
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WOOH A 1 A_Raise
Loop

Fire:
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,"Rain")
WOOH Q 2
WOOH O 1
WOOH P 1 OffSet(-3,29)
WOOH P 1 OffSet(-7,23)
WOOH P 1 OffSet(-14,17)
WOOH P 2 OffSet(-17,15)
WOOH N 0 A_PlaySoundEx("weapon/TopManShot","Weapon")
WOOH N 0 A_GiveInventory("WoodmanMain1_CI")
WOOH N 2 OffSet(-15,17)
WOOH N 2 OffSet(-12,20)
WOOH N 1 OffSet(-9,23)
WOOH N 1 OffSet(-6,26)
WOOH N 1 OffSet(-3,29)
WOOH N 4 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
WOOH O 4
WOOH O 9
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,2)
WOOA A 0 A_GiveInventory("IncredibleAmmo",5)
WOOH O 2
WOOH Q 2
WOOH A 2
goto Ready+2

/*Rain:
WOOH B 0 A_PlaySoundEx("weapon/leafcounter","Weapon")
//WOOH BCDE 5 A_GiveInventory("WoodmanMain2_CI",1)
WOOH G 0  A_GiveInventory("WoodmanMain2_CI",1)
WOOH GH 1
WOOH I 1 Offset(4,36)
WOOH I 1 Offset(4,28)
WOOH I 1 Offset(-4,36)
WOOH I 1 Offset(-4,28)
WOOH I 1 Offset(-4,36)
WOOH I 1 Offset(4,28)
WOOH I 1 Offset(4,36)
//7
WOOH I 0 A_GiveInventory("WoodmanMain2_CI",1)
WOOH I 1 Offset(4,28)
WOOH I 1 Offset(-4,36)
WOOH I 1 Offset(-4,28)
WOOH I 1 Offset(-4,36)
WOOH I 1 Offset(4,28)
WOOH I 1 Offset(4,36)
WOOH H 1
//7
WOOH J 1 A_GiveInventory("WoodmanMain2_CI",1)
WOOH K 1
WOOH D 1
TNT1 A 3
//6
TNT1 A 2
TNT1 A 6 A_GiveInventory("WoodmanMain2_CI",1)
TNT1 A 8
WOOH CBA 2
WOOH A 3*/

Rain:
WOOH B 0 A_PlaySoundEx("weapon/leafcounter","Weapon")
//WOOH BCDE 5 A_GiveInventory("WoodmanMain2_CI",1)
WOOH G 0  A_GiveInventory("WoodmanMain2_CI",1)
WOOH KJ 1
WOOH I 7
//7
WOOH I 0 A_GiveInventory("WoodmanMain2_CI",1)
WOOH I 5
WOOH J 1
WOOH K 1
//7
WOOH L 1  A_GiveInventory("WoodmanMain2_CI",1)
WOOH M 5
//6
WOOH M 2
TNT1 A 0 A_GiveInventory("WoodmanMain2_CI",1)
WOOH M 10
WOOH M 1 Offset(0,60)
WOOH M 1 Offset(0,90)
WOOH M 1 Offset(0,120)
TNT1 A 5
WOOH A 1
WOOH A 1 Offset(0,96)
WOOH A 1 Offset(0,72)
WOOH A 1 Offset(0,48)
WOOH A 1 Offset(0,32)
goto Ready+2


Altfire:
WOOH A 0 A_JumpIfInventory("WoodSlamFlag",1,"SlamStart")
goto SlamEnd2
SlamStart:
WOOH A 0 ACS_NamedExecute("BULL_SetState",0,1)
WOOH B 1
WOOH A 0 A_GiveInventory("StunArmor",1)
WOOH A 0 A_TakeInventory("WoodSlamFlag",999)
WOOH A 0 A_TakeInventory("WoodSlamTimer",999)
WOOH A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
WOOH A 0 A_PlayWeaponSound("weapon/WoodLeap")
WOOH A 0 A_Recoil(-15)
WOOH A 0 ThrustThingZ(0,30,0,1)

Slam1:
WOOH C 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH C 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOH C 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOH C 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH C 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOH C 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
TNT1 A 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH C 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOH C 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
TNT1 A 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH C 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOH C 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOH D 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH D 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOH D 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOH D 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH D 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOH D 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOH E 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH E 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOH E 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOH E 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH E 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOH E 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOH F 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH F 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOH F 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOH F 0
Slam2:
WOOH F 0 A_GiveInventory("WoodSlamTimer",1)
WOOH F 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH F 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOH F 0 A_JumpIfInventory("WoodSlamFlag",1,"SlamEnd")
WOOH F 0 A_JumpIf(momz<=0,"Slam3")
WOOH F 0 A_JumpIfInventory("WoodSlamTimer",50,"Slam2Cancel")
goto Slam2
Slam2Cancel:
WOOH F 0 A_WeaponReady(6)
goto Slam2
Slam3:
WOOH F 0 A_GiveInventory("WoodSlamTimer",1)
WOOH F 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOH F 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOH F 0 A_JumpIfInventory("WoodSlamFlag",1,"SlamEnd")
WOOH F 0 A_JumpIf(momz>=0,"SlamEnd")
WOOH F 0 A_JumpIfInventory("WoodSlamTimer",50,"Slam3Cancel")
loop
Slam3Cancel:
WOOH F 0 A_WeaponReady(6)
goto Slam3
SlamEnd:
TNT1 A 0 A_TakeInventory("StunArmor",999)
TNT1 A 0 A_GiveInventory("WoodSlamFlag",1)
TNT1 A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 A_PlaySoundEx("weapon/WoodSlam","Weapon")
WOOH G 0 A_FireCustomMissile("WoodSlam",0,0,0,0)
WOOH H 1 Offset(0,64)
WOOH H 1 Offset(0,86)
WOOH H 1 Offset(0,108)
WOOH G 5
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
TNT1 A 0 SetPlayerProperty(0,0,0)
WOOH G 5

WOOH G 1 Offset(1,130)
WOOH G 1 Offset(1,160)
WOOH G 1 Offset(1,190)
WOOH G 1 Offset(1,220)
TNT1 A 1
WOOH A 2 
WOOH A 1 Offset(0,96)
WOOH A 1 Offset(0,72)
WOOH A 1 Offset(0,48)
WOOH A 1 Offset(0,32)
goto Ready+2
SlamEnd2:
WOOH A 0 A_TakeInventory("StunArmor",999)
WOOH A 0 A_GiveInventory("WoodSlamFlag",1)
TNT1 AA 2
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
TNT1 A 0
WOOH G 0 A_JumpIfInventory("ShieldCheck",1,2)
WOOH G 0 A_GiveInventory("IncredibleAmmo",4)
WOOH GHAAA 2
goto Ready+2

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,"Flash.ShieldStart")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_HealthDamageRage",0,19)
loop
Flash.ShieldStart:
TNT1 A 0 A_GiveInventory("WoodmanFlashStart_P",1)
TNT1 A 0 A_GiveInventory("WoodmanFlashStart2_P",1)
TNT1 A 1 ACS_NamedExecuteAlways("cbm_HealthDamageRage",0,19)
goto Flash.Shield
Flash.Shield:
TNT1 A 0 A_PlaySound("weapon/leafshield",4,0.9)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_HealthDamageRage",0,19)
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,1)
goto Flash.ShieldEnd
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_HealthDamageRage",0,19)
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,1)
goto Flash.ShieldEnd
TNT1 A 0 A_TakeInventory("IncredibleAmmo",1)
TNT1 A 0 A_JumpIfInventory("IncredibleAmmo",1,1)
goto Flash.ShieldEnd+1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_HealthDamageRage",0,19)
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,1)
goto Flash.ShieldEnd
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_HealthDamageRage",0,19)
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,1)
goto Flash.ShieldEnd
TNT1 A 0 A_TakeInventory("IncredibleAmmo",1)
TNT1 A 0 A_JumpIfInventory("IncredibleAmmo",1,"Flash.Shield")
goto Flash.ShieldEnd+1
Flash.ShieldEnd:
TNT1 A 0 A_GiveInventory("WoodmanOther_CI",1)
TNT1 A 0 A_GiveInventory("WoodmanFlashEnd_P",1)
goto Flash+2
}
}

actor IncredibleAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 168
+INVENTORY.IGNORESKILL
}

actor WoodArmorPower : BasePowerPro
{
damagefactor "Normal", 0.75
}

actor WoodShieldDelay : BasePowerPro
{
Powerup.Duration 22
}
actor WoodInvunDelay : BasePowerPro
{
Powerup.Duration -2
}

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

actor WoodmanFlag : OnceC{}

actor WoodmanShieldItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "WoodIcon"
scale 2.0
Tag "$TAGC_2H2"
inventory.pickupmessage "Nice is a terrible joke."//KILL YOUR SELF
+INVBAR
states
{
Spawn:
WOOA M 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,"Use2")
TNT1 A 0 A_JumpIfInventory("WoodShieldDelay",1,"No")
TNT1 A 0 A_JumpIfInventory("IncredibleAmmo",42,"Use1")
fail
Use1:
TNT1 A 0 A_GiveInventory("WoodmanFlag",1)
fail
Use2:
TNT1 A 0 A_TakeInventory("WoodmanFlag",9)
fail
No:
TNT1 A 0
fail
}
}

actor WoodmanFlashStart_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("SemiStunArmor",1)
TNT1 A 0 A_GiveInventory("GuardUpFlag",1)
TNT1 A 0 A_GiveInventory("WoodArmorPower",1)
TNT1 A 0 A_GiveInventory("ShieldCheck",1)
TNT1 A 0 A_SpawnItemEx("WoodmanShieldWarper",0,0,32,0,0,0,0,1)
stop
}
}
actor WoodmanFlashStart2_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("WoodmanShieldWarperX",0,0,28,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("IncredibleAmmo",0,"Bonus")
stop
Bonus:
TNT1 A 0 A_GiveInventory("InvulnerableOn_Pickup",1)
TNT1 A 0 A_GiveInventory("WoodInvunDelay",1)
TNT1 A 0 A_SpawnItemEx("WoodInvunDelay_H")
stop
}
}

actor WoodmanFlashEnd_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("InvulnerableOff_Pickup",1)
TNT1 A 0 A_TakeInventory("SemiStunArmor",9)
TNT1 A 0 A_TakeInventory("GuardUpFlag",9)
TNT1 A 0 A_TakeInventory("WoodArmorPower",9)
TNT1 A 0 A_TakeInventory("WoodmanFlag",9)
TNT1 A 0 A_TakeInventory("ShieldCheck",9)
stop
}
}

actor WoodInvunDelay_H : BasicHelper
{
states
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("ShieldCheck",1,1)
goto Spawn2
TNT1 A 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Spawn")
goto Spawn2
Spawn2:
TNT1 A 1 A_GiveToTarget("InvulnerableOff_Pickup",1)
stop
}
}

actor LeafTrap
{
Translation"192:192=211:211","198:198=220:220"
PROJECTILE
damagetype "WoodM_Seed"
Obituary "$OB_LEAFSEED"
-NOGRAVITY
//+RIPPER
//+THRUGHOST
+SKYEXPLODE
//+BOUNCEONFLOORS
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
BounceFactor 0.85
WallBounceFactor 0.75
Bouncecount 6

Damage (4)
Height 8
Radius 8
Speed 42
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,8,0,1)
TNT1 A 0 A_Jump(256,1,2,3,4)
Spawn2:
WOOB ABCD 2
loop
Set:
TNT1 A 0 A_Stop
WOOB E 0 A_ChangeFlag("DONTBLAST",1)
WOOB EFGHI 2
TNT1 A 0 A_SpawnItemEx("LeafTrapSet",0,0,0,0,0,0,0,1)
stop
XDeath:
WOOB E 0 A_Stop
WOOB E 0 A_ChangeFlag("NOGRAVITY",1)
WOOB E 2
TNT1 A 2
WOOB E 2
TNT1 A 2
WOOB E 2
TNT1 A 2
stop
Death:
WOOB E 0 A_Stop
WOOB E 0 A_ChangeFlag("NOGRAVITY",1)
WOOB E 0 A_JumpIf(z-floorz<10,"Set")
WOOB E 2
TNT1 A 2
WOOB E 2
TNT1 A 2
WOOB E 2
TNT1 A 2
stop
}
}

actor LeafTrapB : LeafTrap{Translation"192:192=205:205","198:198=74:74"}
actor LeafTrapR : LeafTrap{Translation"192:192=171:171","198:198=41:41"}
actor LeafTrapO : LeafTrap{Translation"192:192=104:104","198:198=128:128"}
actor LeafTrapP : LeafTrap{Translation"192:192=229:229","198:198=232:232"}

actor LeafTrap2 : LeafTrap
{
Speed 37
}
actor LeafTrap2B : LeafTrapB{Speed 38}
actor LeafTrap2R : LeafTrapR{Speed 38}
actor LeafTrap2O : LeafTrapO{Speed 38}
actor LeafTrap2P : LeafTrapP{Speed 38}

actor LeafTrap3 : LeafTrap
{
Speed 32
}
actor LeafTrap3B : LeafTrapB{Speed 32}
actor LeafTrap3R : LeafTrapR{Speed 32}
actor LeafTrap3O : LeafTrapO{Speed 32}
actor LeafTrap3P : LeafTrapP{Speed 32}

actor LeafTrapSet
{
PROJECTILE
damagetype "WoodM_SeedStun"
Obituary "$OB_LEAFTOWERX"
+FLOORHUGGER
+THRUGHOST
+DONTREFLECT
+DONTBLAST
ReactionTime 4
Damage (2)
Height 8
Radius 8
Scale 2.5
States
{
Spawn:
WOOB J 0
WOOB J 0 A_Stop
goto InvisibleTime
InvisibleTime:
WOOB J 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
WOOB J 35
WOOB J 0 A_CountDown
loop
Death:
XDeath:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("LeafTrapSetFX",0,0,8,0,0,0,0,1)
Stop
Crash:
WOOB J 0
WOOB J 0 A_PlaySoundEx("weapon/WoodTower","Weapon")
WOOB KLMNOPPPPPPPONMLKJ 2 A_SpawnItemEx("LeafTrapSetBoom",0,0,20,0,0,0,0,1)
stop
}
}

actor LeafTrapSetFX : BasicClientSide
{
States
{
Spawn:
TMFX I 0
TMFX IJKD 2
stop
}
}

actor WoodM_SeedStunProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "WoodM_SeedStun", 0.0
}


actor LeafTrapSetBoom_H : BasicExplosion
{
States
{
Spawn:
WOOB J 0
WOOB J 0 A_PlaySoundEx("weapon/WoodTower","Weapon")
WOOB KLMNOPPPPPPPONMLKJ 2 A_SpawnItemEx("LeafTrapSetBoom",0,0,20,0,0,0,0,1)
stop
}
}

actor LeafTrapSetBoom : BasicExplosion
{
damagetype "WoodM_SeedTrap"
Obituary "$OB_LEAFTOWER"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(2,32,0,0,32)
stop
}
}

actor WoodM_SeedTrapProtect : PowerProtection
{
Powerup.Duration 10
DamageFactor "WoodM_SeedTrap", 0.0
}


actor Leaf
{
PROJECTILE
Obituary "$OB_LEAFSHIELD"
damagetype "WoodM_Leaf"
+NOGRAVITY
Damage (2)
Radius 8
Height 8
speed 28
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
WOOA XYZWXYZW 5
loop
}
}


actor WoodmanLeafFall_H : BasicHelper
{
Translation "199:199=104:104"
States
{
Spawn:
TNT1 A 0
TNT1 A 9 A_SpawnItemEx("WoodmanLeafFallFX",0,0,0,0,0,13,0,1)
TNT1 A 2 A_GiveToTarget("CBM_TargetMarker",1)
TNT1 A 1 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100)
TNT1 A 0 A_SpawnItemEx("WoodmanLeafFallLine",0,0,0,13,0,0,0,1)
TNT1 A 2
stop
}
}

actor WoodmanLeafFall_HB : WoodmanLeafFall_H{translation "199:199=74:74"}
actor WoodmanLeafFall_HR : WoodmanLeafFall_H{translation "199:199=41:41"}
actor WoodmanLeafFall_HO : WoodmanLeafFall_H{translation "199:199=128:128"}
actor WoodmanLeafFall_HP : WoodmanLeafFall_H{translation "199:199=232:232"}

actor WoodmanLeafFallFX : BasicClientSide
{
States
{
Spawn:
WOOA XYZW 3
stop
}
}

actor WoodmanLeafFallLine
{
PROJECTILE
+FLOORHUGGER
+THRUACTORS
+THRUGHOST
+DONTBLAST
+DONTREFLECT
Damage (0)
Height 13
Radius 13
speed 13
States
{
Spawn:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("WoodmanLeafFall",0,0,100,0,0,-5,0,1)
loop
Death:
TNT1 A 0
Stop
}
}

actor WoodmanLeafFall
{
PROJECTILE
Obituary "$OB_LEAFRAIN"
damagetype "WoodM_LeafRain"
-NOGRAVITY
+DONTBLAST
//+NOCLIP
Gravity 0.4
Damage (16)
Radius 13
Height 13
speed 0
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,1,0,1)//A_ChangeFlag("NOCLIP",0)
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)//A_JumpIf(momz==0,"Death")
Spawn2:
WOOA YWZXZW 3
loop
}
}

actor WoodM_LeafRainProtect : PowerProtection
{
Powerup.Duration 12
DamageFactor "WoodM_LeafRain", 0.25
}

actor WoodmanShieldThrow
{
Translation "199:199=104:104"
PROJECTILE
damagetype "WoodM_Shield"
Obituary "$OB_LEAFSHIELD"
Damage (22)
Radius 14
Height 14
Speed 28
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
WOOA PQRS 2
loop
}
}


actor WoodmanShieldThrowB : WoodmanShieldThrow{translation "199:199=74:74"}
actor WoodmanShieldThrowR : WoodmanShieldThrow{translation "199:199=41:41"}
actor WoodmanShieldThrowO : WoodmanShieldThrow{translation "199:199=128:128"}
actor WoodmanShieldThrowP : WoodmanShieldThrow{translation "199:199=232:232"}


actor WoodSlamCheck
{
PROJECTILE
Damagetype "WoodM_Slam"
Obituary "$OB_WOODSLAM"
+NOGRAVITY
+SKYEXPLODE
+DONTSPLASH
+DONTBLAST
+THRUGHOST
+DONTREFLECT
damage (0)
Radius 62
Height 72
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0
stop
XDeath:
TNT1 A 0 A_GiveToTarget("WoodSlamFlag",1)
TNT1 A 0
Stop
Death:
TNT1 A 0
Stop
}
}

actor WoodSlam : BasicExplosion
{
//damagetype "LeafShield"
Damagetype "WoodM_Slam"
Obituary "$OB_WOODSLAM"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("WoodSlamFX",0,0,0,0,0,0,random(0,30),4)
TNT1 A 2 A_Explode(35,136,0,0,8)
stop
}
}

actor WoodSlamFX : BasicClientSide
{
var int user_A;
reactiontime 12
States
{
Spawn:
TNT1 A 0
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",136,0,0,0,0,0,user_A,37)
TNT1 A 0 A_SetUserVar("user_A",user_A+30)
TNT1 A 0 A_Countdown
goto Spawn+2
}
}

actor WoodmanShieldWarper : ShieldWarper_CBM
{
+NOTIMEFREEZE
States
{
Shield:
WOOA P 0 A_JumpIfInTargetInventory("PowerRage_ST",1,"ShieldR")
WOOA PPQQRRSS 1 A_Warp(AAPTR_TARGET,0,0,32,0,24)
loop
ShieldR:
WOOA PQRS 1 A_Warp(AAPTR_TARGET,0,0,32,0,24)
goto Shield
}
}

actor WoodmanShieldWarperX : WoodmanShieldWarper
{
States
{
Shield:
TNT1 A 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield1")
stop
Shield1:
//TNT1 A 0 A_SpawnItemEx("WoodmanShieldWarperFX",random(12,24),random(-4,4),random(-16,16),random(2,6),random(-2,2),random(2,6),random(0,359),1)
WOOA R 0 A_JumpIfInTargetInventory("PowerRage_ST",1,"ShieldR1")
WOOA RR 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA S 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield2")
stop
Shield2:
WOOA S 0 A_JumpIfInTargetInventory("PowerRage_ST",1,"ShieldR2")
WOOA SS 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA P 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield3")
stop
Shield3:
WOOA P 0 A_JumpIfInTargetInventory("PowerRage_ST",1,"ShieldR3")
WOOA PP 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA Q 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield4")
stop
Shield4:
WOOA Q 0 A_JumpIfInTargetInventory("PowerRage_ST",1,"ShieldR4")
WOOA QQ 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA R 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield1")
stop
ShieldR1:
WOOA R 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA S 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield1")
stop
ShieldR2:
WOOA S 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA P 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield2")
stop
ShieldR3:
WOOA P 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA Q 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield3")
stop
ShieldR4:
WOOA Q 1 A_Warp(AAPTR_TARGET,0,0,28,0,24)
WOOA R 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield4")
stop
}
}

actor WoodmanShieldWarperFX
{
+MISSILE
+THRUACTORS
+DONTBLAST
+DONTSPLASH
Damage (0)
Radius 2
Height 2
Speed 40
Scale 1.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8)
WOOB UVWYZYXV 2
goto Spawn+2
}
}

actor WoodmanMain1_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("LeafTrap3",-14,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2",-7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2",7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap3",14,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("LeafTrap3B",-14,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2B",-7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrapB",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2B",7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap3B",14,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("LeafTrap3R",-14,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2R",-7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrapR",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2R",7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap3R",14,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("LeafTrap3O",-14,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2O",-7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrapO",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2O",7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap3O",14,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("LeafTrap3P",-14,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2P",-7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrapP",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap2P",7,0,8,0)
TNT1 A 0 A_FireCustomMissile("LeafTrap3P",14,0,8,0)
goto Done
}
}

actor WoodmanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WoodmanLeafFall_H",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WoodmanLeafFall_HB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WoodmanLeafFall_HR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WoodmanLeafFall_HO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WoodmanLeafFall_HP",0,0,0,0)
goto Done
Done:
TNT1 A 0 A_TakeInventory("IncredibleAmmo",5,1)
stop
}
}

actor WoodmanOther_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WoodmanShieldThrow",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WoodmanShieldThrowB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WoodmanShieldThrowR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WoodmanShieldThrowO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WoodmanShieldThrowP",0,0,0,0)
goto Done
Done:
TNT1 A 0 A_GiveInventory("WoodShieldDelay",1)
TNT1 A 0 A_TakeInventory("IncredibleAmmo",ACS_NamedExecuteWithResult("cbm_countinv_acs",27,0)*0.4,1)
stop
}
}



