actor WoodMan_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_2H"
dropitem "LeafShieldWep"
Weapon.AmmoUse 1
Weapon.AmmoGive 0
Obituary "$OB_LEAFSHIELD"
weapon.ammotype "IncredibleAmmo"
States
{
Spawn:
C_02 H 1
loop

Deselect:
WOOA A 0
goto DeselectSwap
Select:
WOOA A 0 A_GiveInventory("WoodSlamFlag",1)
goto SelectSwap

Ready:
WOOA A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_WOODMAN)
WOOA A 0 A_GunFlash("Flash.Begin",1)
WOOA A 0 A_ClearRefire
Ready2:
WOOA A 5 A_WeaponReady
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,"Ready2")
WOOA A 0 A_GiveInventory("IncredibleAmmo",1)
loop

Fire:
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,"Rain")
WOOA IJ 4
WOOA K 15 A_GiveInventory("Woodman_Fire1_P")
WOOA J 3
WOOA I 3
WOOA A 0 A_JumpIfInventory("ShieldCheck",1,2)
WOOA A 0 A_GiveInventory("IncredibleAmmo",5)
WOOA A 6
goto Ready+2

Rain:
WOOA B 0 A_PlaySoundEx("weapon/leafcounter","Weapon")
//WOOA BCDE 5 A_GiveInventory("Woodman_Fire2_P")
WOOA B 5 A_GiveInventory("Woodman_Fire2_P")
WOOA C 2
WOOA C 3 A_GiveInventory("Woodman_Fire2_P")
WOOA D 4
WOOA D 1 A_GiveInventory("Woodman_Fire2_P")
WOOA E 5
WOOA F 2
WOOA F 3 A_GiveInventory("Woodman_Fire2_P")
TNT1 A 3
TNT1 A 8
WOOA GHA 2
WOOA A 3
goto Ready+2


Altfire:
WOOA A 0 A_JumpIfInventory("WoodSlamFlag",1,"SlamStart")
goto SlamEnd2
SlamStart:
WOOA A 1
WOOA A 0 ACS_NamedExecuteWithResult("cbm_NoHitStunplayer",0,true)
WOOA A 0 A_TakeInventory("WoodSlamFlag")
WOOA A 0 A_TakeInventory("WoodSlamTimer")
WOOA A 0 A_GiveInventory("CBM_DisableJumpPowerGiver",1)
WOOA A 0 A_PlaySound("weapon/WoodLeap",1)
WOOA A 0 A_Recoil(-15)
WOOA A 0 ThrustThingZ(0,30,0,1)

Slam1:
WOOA B 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA B 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOA B 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA B 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA B 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOA B 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA C 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA C 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOA C 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA C 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA C 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOA C 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA D 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA D 0 A_JumpIf(z-floorz==0,"SlamEnd2")
WOOA D 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA D 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA D 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOA D 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA E 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA E 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOA E 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA E 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA E 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOA E 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA F 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA F 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOA F 0 A_JumpIfInventory ("WoodSlamFlag",1,"SlamEnd")
WOOA F 0
Slam2:
WOOA F 0 A_GiveInventory("WoodSlamTimer",1)
WOOA F 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA F 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOA F 0 A_JumpIfInventory("WoodSlamFlag",1,"SlamEnd")
WOOA F 0 A_JumpIf(momz<=0,"Slam3")
WOOA F 0 A_JumpIfInventory("WoodSlamTimer",50,"Slam2Cancel")
goto Slam2
Slam2Cancel:
WOOA F 0 A_WeaponReady(6)
goto Slam2
Slam3:
WOOA F 0 A_GiveInventory("WoodSlamTimer",1)
WOOA F 1 A_SpawnItemEX("WoodSlamCheck",0,0,-8,momx,momy,momz,0,8,0)
WOOA F 0 A_JumpIf(z-floorz==0,"SlamEnd")
WOOA F 0 A_JumpIfInventory("WoodSlamFlag",1,"SlamEnd")
WOOA F 0 A_JumpIf(momz>=0,"SlamEnd")
WOOA F 0 A_JumpIfInventory("WoodSlamTimer",50,"Slam3Cancel")
loop
Slam3Cancel:
WOOA F 0 A_WeaponReady(6)
goto Slam3
SlamEnd:
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_NoHitStunplayer",0,false)
TNT1 A 0 A_GiveInventory("WoodSlamFlag",1)
TNT1 A 0 ACS_NamedExecuteWithResult("core_stopplayer",0,1)
TNT1 A 0 A_PlaySoundEx("weapon/WoodSlam","Weapon")
TNT1 A 8 A_FireCustomMissile("WoodSlam",0,0,0,0)
TNT1 A 0 A_TakeInventory("CBM_DisableJumpPower")
TNT1 A 0 ACS_NamedExecuteWithResult("core_stopplayer",0,0)
WOOA GH 4
WOOA A 8
goto Ready+2
SlamEnd2:
WOOA A 0 ACS_NamedExecuteWithResult("cbm_NoHitStunplayer",0,false)
WOOA A 0 A_GiveInventory("WoodSlamFlag",1)
TNT1 AA 2
TNT1 A 0 A_TakeInventory("CBM_DisableJumpPower")
TNT1 A 0
WOOA G 0 A_JumpIfInventory("ShieldCheck",1,2)
WOOA G 0 A_GiveInventory("IncredibleAmmo",4)
WOOA GH 2
WOOA A 6
goto Ready+2


Flash.Begin:
TNT1 A 4
goto Flash
Flash:
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,"Flash.ShieldStart")
TNT1 A 1 ACS_NamedExecuteWithResult("cbm_HealthDamageRage",19)//Damage >> Ammo
loop
Flash.ShieldStart:
TNT1 A 0 A_GiveInventory("WoodmanFlashStart_P",1)
TNT1 A 0 A_GiveInventory("WoodmanFlashStart2_P",1)
TNT1 A 1 ACS_NamedExecuteWithResult("cbm_HealthDamageRage",19)
goto Flash.Shield
Flash.Shield:
TNT1 A 0 A_PlaySound("weapon/leafshield",4,0.9)
TNT1 A 1 ACS_NamedExecuteWithResult("cbm_HealthDamageRage",19)
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,1)
goto Flash.ShieldEnd
TNT1 A 1 ACS_NamedExecuteWithResult("cbm_HealthDamageRage",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 1 ACS_NamedExecuteWithResult("cbm_HealthDamageRage",19)
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,1)
goto Flash.ShieldEnd
TNT1 A 1 ACS_NamedExecuteWithResult("cbm_HealthDamageRage",19)
TNT1 A 0 A_JumpIfInventory("WoodmanFlag",1,1)
goto Flash.ShieldEnd
TNT1 A 0 A_TakeInventory("IncredibleAmmo",1,1)
TNT1 A 0 A_JumpIfInventory("IncredibleAmmo",1,"Flash.Shield")
goto Flash.ShieldEnd+1
Flash.ShieldEnd:
TNT1 A 0 A_GiveInventory("Woodman_Fire3_P")
TNT1 A 0 A_GiveInventory("WoodmanFlashEnd_P",1)
goto Flash+1
}
}

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 -3//-2
}

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

actor WoodmanFlag : Inventory{}

actor WoodmanShieldItem : BasicClassItem
{
inventory.icon "WoodIcon"
inventory.pickupmessage "Nice is a terrible joke."
Tag "Leaf Shield Trigger"
states
{
Spawn:
WOOA "[" 1
loop
UseCBM:
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
}
}


actor Woodman_Fire1_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/TopManShot","Weapon")
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)
stop
}
}

actor Woodman_Fire2_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_TakeInventory("IncredibleAmmo",2)
TNT1 A 0 A_TakeInventory("IncredibleAmmo",2,1)
TNT1 A 0 A_SpawnItemEx("WoodmanLeafFall_H",0,0,32)
//TNT1 A 0 A_FireCustomMissile("WoodmanLeafFall_H",0,0,0,0)
stop
}
}


actor Woodman_Fire3_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_FireCustomMissile("WoodmanShieldThrow",0,0,0,0)
TNT1 A 0 A_GiveInventory("WoodShieldDelay",1)
TNT1 A 0 A_SetArg(0,CallACS("cbm_countinv_acs",27,0))//IncredibleAmmo
TNT1 A 0 A_JumpIf(Args[0]*0.1<1,2)
TNT1 A 0 A_TakeInventory("IncredibleAmmo",Args[0]*0.1)
TNT1 A 0 A_TakeInventory("IncredibleAmmo",Args[0]*0.3,1)
stop
}
}


actor WoodmanFlashStart_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_HalfHitStunplayer",0,true)
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 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,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("Woodman_InvunCheck_P")
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_HalfHitStunplayer",0,false)
TNT1 A 0 A_TakeInventory("GuardUpFlag")
TNT1 A 0 A_TakeInventory("WoodArmorPower")
TNT1 A 0 A_TakeInventory("WoodmanFlag")
TNT1 A 0 A_TakeInventory("ShieldCheck")
stop
}
}
actor Woodman_InvunCheck_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("WoodInvunDelay",1,1)
stop
TNT1 A 0 A_TakeInventory("WoodInvunDelay")
TNT1 A 0 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,0)
stop
}
}

actor WoodInvunDelay_H : BasicHelper
{
+SERVERSIDEONLY
Args 70
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_CountDownArg(0)
TNT1 A 1 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),2)
TNT1 A 0 A_JumpIfInTargetInventory("ShieldCheck",1,"Spawn")
TNT1 A 1 
stop
Death:
TNT1 A 0 A_GiveToTarget("Woodman_InvunCheck_P",1)
stop
}
}

actor LeafTrap : ProjSpawnFuncActor
{
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 (40)
Height 8
Radius 8
Speed 42
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_ChangeVelocity(0,0,2)
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")
stop
XDeath:
WOOB E 0 A_SetGravity(0.0)
goto Death+2
Death:
WOOB E 0 A_SetGravity(0.0)
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 LeafTrap2 : LeafTrap{Speed 38}
actor LeafTrap3 : LeafTrap{Speed 32}

actor LeafTrapSet : ProjSpawnFuncActor
{
PROJECTILE
damagetype "WoodM_SeedStun"
Obituary "$OB_LEAFTOWERX"
+FLOORHUGGER
+THRUGHOST
+DONTREFLECT
+DONTBLAST
ReactionTime 4
Damage (20)
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(!CallACS("cbm_PointerExists",AAPTR_TARGET),"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)
stop
}
}

actor LeafTrapSetFX : BasicGraphicEffect
{
States
{
SpawnFrame:
TNT1 A 0
MMFX NCDE 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 : BasicImplosion
{
damagetype "WoodM_SeedTrap"
Obituary "$OB_LEAFTOWER"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(20,32,0,0,32)
stop
}
}

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


actor Leaf : ProjSpawnFuncActor
{
PROJECTILE
Obituary "$OB_LEAFSHIELD"
damagetype "WoodM_Leaf"
+NOGRAVITY
Damage (200)
Radius 8
Height 8
speed 28
Scale 2.5
States
{
Spawn:
WOOA XYZWXYZW 5
loop
}
}


actor WoodmanLeafFall_H : BasicExplosion
{
States
{
Spawn:
TNT1 A 0
//TNT1 A 0 A_GiveInventory("MM8BDMProjSpawnFuncClient")
TNT1 A 0 A_SetArg(1,CallACS("core_checkrune",RUNE_SPREAD,2))
TNT1 A 12 A_SpawnItemEx("WoodmanLeafFallFX",0,0,0,0,0,13,0,1)
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_CopyPointerAnglePitch",2,1)
TNT1 A 0 A_SpawnItemEx("WoodmanLeafFallLine",0,0,0,13)
TNT1 A 0 A_JumpIf(Args[1],1)
stop
TNT1 A 0 A_SpawnItemEx("WoodmanLeafFallLine",0,0,0,13,0,0,15)
TNT1 A 0 A_SpawnItemEx("WoodmanLeafFallLine",0,0,0,13,0,0,-15)
stop
}
}

actor WoodmanLeafFallFX : BasicGraphicEffect
{
Speed 60
States
{
SpawnFrame:
TNT1 A 0
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)
loop
Death:
TNT1 A 0
Stop
}
}

actor WoodmanLeafFall : ProjSpawnFuncActor
{
PROJECTILE
Obituary "$OB_LEAFRAIN"
damagetype "WoodM_LeafRain"
-NOGRAVITY
+DONTBLAST
+DONTREFLECT
//+NOCLIP
Gravity 0.4
Damage (160)
Radius 13
Height 13
speed 40
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_ChangeVelocity(0,0,0.25)//ThrustThingZ(0,1,0,1)
//TNT1 A 0 A_ChangeFlag("NOCLIP",0)
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
Spawn2:
WOOA YWZXZW 3
loop
}
}

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

actor WoodmanShieldThrow : ProjSpawnFuncActor
{
PROJECTILE
damagetype "WoodM_Shield"
Obituary "$OB_LEAFSHIELD"
Damage (220)
Radius 14
Height 14
Speed 28
scale 2.5
States
{
Spawn:
TNT1 A 0
SpawnL:
WOOA PQRS 2
loop
}
}

actor WoodSlamCheck
{
PROJECTILE
Damagetype "WoodM_Slam"
Obituary "$OB_WOODSLAM"
+NOGRAVITY
+SKYEXPLODE
+EXPLODEONWATER
+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 "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),1+4)
TNT1 A 2 A_Explode(350,136,0,0,24)
stop
}
}

actor WoodSlamFX : BasicGraphicEffect
{
RenderStyle None
Args 11
States
{
SpawnFrame:
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",136,0,0,0,0,0,Args[0]*30,1+4+32)
TNT1 A 0 A_CountdownArg(0)
loop
Death:
TNT1 A 1
stop
}
}

actor WoodmanShieldWarper : ShieldWarper_CBM
{
+NOTIMEFREEZE
States
{
Shield:
WOOA P 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,"ShieldR")
WOOA PPQQRRSS 1 A_Warp(2,0,0,32,0,24)
loop
ShieldR:
WOOA PQRS 1 A_Warp(2,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("PlayerPropertyRage",1,2)
WOOA RR 1 A_Warp(2,0,0,28,0,24)
WOOA S 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield2")
stop
Shield2:
WOOA S 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
WOOA SS 1 A_Warp(2,0,0,28,0,24)
WOOA P 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield3")
stop
Shield3:
WOOA P 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
WOOA PP 1 A_Warp(2,0,0,28,0,24)
WOOA Q 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield4")
stop
Shield4:
WOOA Q 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
WOOA QQ 1 A_Warp(2,0,0,28,0,24)
WOOA R 0 A_JumpIfInTargetInventory("WoodInvunDelay",1,"Shield1")
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 WoodMan_W_NormalBar : NormalBar {Args 211,220}//4 110
actor WoodMan_W_ScriptBar : ScriptBar {}