//	Movement recoded
actor Woodman : VCBaseClass
{
	Player.ScoreIcon "WOODMUGS"
	player.startitem "BaseFlagPack", 1
	player.startitem "IsFromMM2"
	player.soundclass "Woodmanc"
	player.displayname "Woodman"
	player.forwardmove 0.75, 0.75
	player.sidemove 0.73, 0.73
	player.jumpz 10
	player.startitem "LeafShieldBoss"
	player.startitem "Base56Ammo", 56
	player.startitem "BaseAltfireAmmo", 112
	player.startitem "UltimateAttackItem3", 1
	player.startitem "UltSoundWatcherSpawn3"
	States
	{
		Spawn:
		WODM A 0
		WODM B 1 A_JumpIf(z-floorz>0, "Jumping")
		WODM A 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn+2
		
		See:
		WODM BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn+1
		
		Jumping:
		WODM I 1 A_JumpIf(z-floorz<=0, "Land")
		wait
		
		Land:
		WODM TTT 1 A_JumpIf(z-floorz>0, "Jumping")
		goto Spawn+2

		Missile:
		WODM FFFFF 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		
		Missile2:
		WODM GGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
		Goto Spawn+1
		
		JumpingMissile:
		WODM JJJJJ 1 A_JumpIf(z-floorz<=0, "Missile")
		
		JumpingMissile2:
		WODM KKKK 1 A_JumpIf(z-floorz<=0, "Missile2")
		goto Jumping
		
		Animation1:
		WODM PQRSPQRSPQRSPQRS 1
		goto Spawn+1
		
		Animation2:
		WODM NNNNOOOO 1 A_JumpIf(z-floorz>0, "JumpingA2")
		
		Animation2b:
		WODM NNNNOOOO 1 A_JumpIf(z-floorz>0, "JumpingA2b")
		goto Spawn+2
		
		JumpingA2:
		WODM LLLLMMMM 1 A_JumpIf(z-floorz<=0, "Animation2")
		
		JumpingA2b:
		WODM LLLLMMMM 1 A_JumpIf(z-floorz<=0, "Animation2b")
		goto Jumping
		
		ClassTimeStop:
		PLAY A 0 SetPlayerProperty(0,1,4)
		PLAY A 0 ACS_Execute(528,0)
		WODM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
		PLAY A 0 SetPlayerProperty(0,0,4)
		Goto pain+1
		ClassPain:
		WODM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
		Goto Spawn+2
		ClassDeath:
		WODM ] 12 ACS_ExecuteAlways(999,0,0)
		WODM ] 8 A_SpawnItemEx("MM2Death")
		WODM ] 0 A_PlayerScream
		WODM ] 0 A_GiveInventory("MMIIDeathHandler")
		NOFX A 1 A_CheckPlayerDone
		wait
		ClassIceDeath:
		WODM A 35
		NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
		NOFX A 1 A_CheckPlayerDone
		wait
		WeaponGetM:
		CUTM H 0 A_JumpIfInTargetInventory("LeafShieldWepM",1,2)
		CUTM H 0 A_GiveToTarget("WeaponGetter")
		CUTM H 0 A_GiveToTarget("LeafShieldWepM")
		goto ClassDeath
	}
}

actor LeafShieldBoss : VCBaseWeapon
{
	Weapon.AmmoUse 0
	Weapon.AmmoType "Base56Ammo"
	Weapon.AmmoType2 "BaseAltfireAmmo"
	Obituary "$OB_WOODMAN1"
	States
	{
		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		WOOA A 1 A_Lower
		Loop
		Select:
		TNT1 A 0 A_SpawnItemEx("WoodmanSkinWatcher")
		TNT1 A 0 ACS_ExecuteAlways(991,0,2747)
		WOOA A 10 A_WeaponReady(14)
		SelectX:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		WOOA A 1 A_Raise
		Loop
		Ready:
		WOOA A 1
		TNT1 A 0 A_SpawnItemEx("WoodRainAmmoWatcher")
		Ready2:
		WOOA A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
		Ready3:
		"####" A 1 A_WeaponReady "####" A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		"####" A 1 A_WeaponReady "####" A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		"####" A 1 A_WeaponReady "####" A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		"####" A 1 A_WeaponReady "####" A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		"####" A 1 A_WeaponReady "####" A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		"####" A 0 A_GiveInventory("Base56Ammo",2)
		"####" A 0 A_GiveInventory("BaseAltfireAmmo",6)
		Goto Ready2
		AltSkinFrame:
		WOOG A 0 A_TakeInventory("IsFromMM2")
		WOOG A 0 A_GiveInventory("IsFromGB2")
		WOOG A 0 ACS_ExecuteAlways(998,0,10886,1)
 		goto Ready3
		Fire:
		"####" A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
		"####" A 0 A_JumpIfInventory("Base56Ammo",4,1)
		goto NoAmmo
		"####" A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
		"####" A 0 A_TakeInventory("Base56Ammo",2)
		"####" A 0 A_GiveInventory("LeafRainLead",1)
		"####" A 1 A_GiveInventory("ShieldCheck",1)//A_SpawnItemEx("BubbleLeadStart",6,0,0,8,0,8,0,0,0)
		"####" GGAAHH 1
		goto ShieldActive
		ShieldActive:
		"####" A 0 A_ChangeFlag("INVULNERABLE",1)
		"####" A 0 A_GiveInventory("RightClickFlag",1)
		"####" A 0 A_GiveInventory("InvProtection",1)
		"####" A 0 A_PlayWeaponSound("weapon/leafshield")
		"####" A 0 A_TakeInventory("Base56Ammo",1)
		"####" A 1 A_GiveInventory("LeafShield1Boss_CI",1)//A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_GiveInventory("LeafShield1Boss_CI",1)//A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_GiveInventory("LeafShield2Boss_CI",1)//A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_GiveInventory("LeafShield2Boss_CI",1)//A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 0 A_PlayWeaponSound("weapon/leafshield")
		"####" A 1 A_GiveInventory("LeafShield3Boss_CI",1)//A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_GiveInventory("LeafShield3Boss_CI",1)//A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_GiveInventory("LeafShield4Boss_CI",1)//A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_GiveInventory("LeafShield4Boss_CI",1)//A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 0 A_GiveInventory("CanThirdFire")
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		Goto Shield
		Shield:
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_ChangeFlag("PICKUP",0)
		"####" A 0 A_ChangeFlag("INVULNERABLE",1)
		"####" A 0 A_GiveInventory("RightClickFlag",1)
		"####" A 0 A_GiveInventory("InvProtection",1)
		"####" A 0 A_TakeInventory("Base56Ammo",2)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_PlayWeaponSound("weapon/leafshield")
		"####" A 0 A_TakeInventory("Base56Ammo",1)
		"####" A 0 A_GiveInventory("LeafShield1Boss_CI",1)//A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_TakeInventory("Base56Ammo",1)
		"####" A 0 A_GiveInventory("LeafShield1Boss_CI",1)//A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_GiveInventory("LeafShield2Boss_CI",1)//A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_TakeInventory("Base56Ammo",1)
		"####" A 0 A_GiveInventory("LeafShield2Boss_CI",1)//A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_TakeInventory("Base56Ammo",1)
		"####" A 0 A_PlayWeaponSound("weapon/leafshield")
		"####" A 0 A_GiveInventory("LeafShield3Boss_CI",1)//A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_GiveInventory("LeafShield3Boss_CI",1)//A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_GiveInventory("LeafShield4Boss_CI",1)//A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 1 A_WeaponReady(2) "####" A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,1)
		Goto NoAmmo
		"####" A 0 A_TakeInventory("Base56Ammo",1)
		"####" A 0 A_GiveInventory("LeafShield4Boss_CI",1)//A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
		"####" A 0 A_JumpIfInventory("Base56Ammo",1,"Shield")
		goto ShieldThrow
		ShieldThrow:
		"####" A 0 A_TakeInventory("LeafRainLead",999)
		"####" A 0 A_ChangeFlag("PICKUP",1)
		"####" A 0 A_ChangeFlag("INVULNERABLE",0)
		"####" A 0 A_TakeInventory("RightClickFlag",1)
		"####" A 0 A_TakeInventory("InvProtection",1)
		"####" A 0 A_TakeInventory("ShieldCheck",999)
		"####" A 0 A_TakeInventory("CanThirdFire")
		"####" A 0 A_GiveInventory("WoodManShield_CI")//A_FireCustomMissile("WoodManShield",0,0,0,0)
		"####" A 0 A_TakeInventory("Base56Ammo",8)
		"####" DEF 4
		"####" A 16
		goto Ready2
		NoAmmo:
		"####" A 0 A_takeInventory("LeafRainLead",9999)
		"####" A 0 A_ChangeFlag("PICKUP",1)
		"####" A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
		"####" A 0 A_TakeInventory("ShieldCheck",999)
		"####" A 0 A_GiveInventory("Base56Ammo",2)
		"####" A 5 A_GiveInventory("BaseAltfireAmmo",6)
		goto Ready2
		Altfire:
		"####" A 0 A_JumpIfInventory("NoAltfire",1,"NoAmmo")
		"####" A 0 A_JumpIfInventory("ShieldCheck",1,"LeafRainCheck")
		"####" A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"WoodRoll")
		goto NoAmmo
		WoodRoll:
		TNT1 A 0 A_GiveInventory("HalfHalfDamageProtection")
		"####" A 0 A_JumpIfNoAmmo("NoAmmo")
		"####" A 0 A_takeInventory("IHaveHitAWall",1)
		"####" A 0 A_GunFlash("LeafRollSounds")
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		Goto RollContinue
		RollContinue:
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		"####" A 0 A_GiveInventory("IsRolling",1)
		"####" A 1 A_JumpIfInventory("IHaveHitAWall",1,"RollEnd2")
		"####" A 1 A_TakeInventory("BaseAltfireAmmo",5)
		"####" A 0 A_Recoil(CallACS("VC_XYMob", -5.0))
		"####" A 0 A_SpawnItemEx("NiceWallCheck",2,0,21,25,0,0,0)
		"####" A 0 A_SpawnItemEx("NiceWallHitbox",50,0,50,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION,0)
		"####" A 1 A_JumpIfInventory("IHaveHitAWall",1,"RollEnd2")
		"####" A 0 A_GiveInventory("IsRolling",1)
		"####" A 1 A_JumpIfInventory("IHaveHitAWall",1,"RollEnd2")
		"####" A 1 A_TakeInventory("BaseAltfireAmmo",5)
		"####" A 0 A_Recoil(CallACS("VC_XYMob", -5.0))
		"####" A 0 A_SpawnItemEx("NiceWallCheck",2,0,21,25,0,0,0)
		"####" A 0 A_SpawnItemEx("NiceWallHitbox",50,0,50,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION,0)
		"####" A 1 A_JumpIfInventory("IHaveHitAWall",1,"RollEnd2")
		"####" A 1 A_JumpIfInventory("BaseAltfireAmmo",1,1)
		goto RollEnd
		"####" A 0 A_Refire("RollContinue")
		goto RollEnd
		LeafRollSounds:
		"####" A 9 A_PlaySoundEx("Woodman/Roll","Auto")
		"####" A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		"####" A 0 A_JumpIfInventory("IsRolling",1,"LeafRollSounds")
		STOP
		NoFlash:
		"####" A 1
		STOP
		RollStop:
		"####" A 0 A_TakeInventory("BaseAltfireAmmo",24)
		goto RollEnd+1
		RollEnd:
		"####" A 0 A_TakeInventory("BaseAltfireAmmo",12)
		"####" A 0 SetPlayerProperty(0,0,4)
		"####" A 0 A_TakeInventory("HalfHalfDamageProtection")
		"####" A 0 A_TakeInventory("IsRolling",999)
		"####" A 0 A_StopSoundEx("Auto")
		goto Ready2
		RollEnd2:
		"####" A 0 SetPlayerProperty(0,0,4)
		"####" A 0 A_TakeInventory("BaseAltfireAmmo",18)
		"####" A 0 A_TakeInventory("HalfHalfDamageProtection")
		"####" A 0 A_Quake(2,7,0,100)
		"####" A 0 A_PlaySoundEx("weapon/woodbump","Weapon")
		"####" A 0 A_ChangeVelocity(-25,0,momz,CVF_RELATIVE|CVF_REPLACE)
		"####" A 0 A_TakeInventory("IsRolling",999)
		"####" A 0 A_StopSoundEx("Auto")
		goto Ready2
		LeafRainCheck:
		"####" A 0 A_JumpIfInventory("WoodAltAmmo",112,1)
		goto ShieldThrow
		"####" A 0 A_TakeInventory("WoodAltAmmo",999)
		"####" A 0 A_ChangeFlag("INVULNERABLE",0)
		"####" A 0 A_TakeInventory("RightClickFlag",1)
		"####" A 0 A_TakeInventory("InvProtection")
		"####" A 0 A_PlaySoundEx("weapon/leafshieldcounter", "body")
		"####" A 0 A_TakeInventory("ShieldCheck",999)
		"####" A 0 A_TakeInventory("LeafRainLead",999)
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		"####" A 0 A_ChangeFlag("PICKUP",1)
		"####" A 0 A_TakeInventory("CanThirdFire")
		"####" A 0 A_GiveInventory("LeafyRainyMaker_CI")//A_FireCustomMissile("LeafyRainyMaker",0,1,0,0)
		"####" BBAACCAABBAACCAA 1
		goto Ready2
		User1:
		"####" A 0 A_JumpIfInventory("Base56Ammo",14,1)
		goto ShieldThrow
		"####" A 0 A_TakeInventory("CanThirdFire")
		"####" A 0 A_PlaySoundEx("weapon/leafshieldcounter", "body")
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		"####" A 0 A_GiveInventory("WoodTFHandler")
		"####" A 0 A_TakeInventory("ShieldCheck",999)
		"####" A 0 A_ChangeFlag("PICKUP",1)
		"####" A 0 A_ChangeFlag("INVULNERABLE",0)
		"####" A 0 A_TakeInventory("RightClickFlag",1)
		"####" A 0 A_TakeInventory("InvProtection",1)
		"####" B 2 A_GiveInventory("WoodShieldCounterShot_CI")//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, 20, 20)
		"####" A 2 A_GiveInventory("WoodShieldCounterShot1_CI")//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, 20, -20)
		"####" C 2 A_GiveInventory("WoodShieldCounterShot2_CI")//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, -20, 20)
		"####" A 2 A_GiveInventory("WoodShieldCounterShot3_CI")//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, -20, -20)
		"####" BACA 2
		"####" A 16
		goto Ready2
		UltimateAttack:
		"####" A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,15)
		"####" A 0 A_GiveInventory("UltBuildCooldownGiver",1)
		"####" C 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		"####" A 0 A_TAKEINVENTORY("UltAttackFlag",1)
		"####" H 0 A_TakeInventory("BaseCustomFlag1",1)
		"####" AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("LeafDebris",random(0,20),0,random(48,100),random(1,5),0,random(-1,6),random(0,359),1)
		"####" A 0 A_SpawnItemEx("HotDogHead", 0, 25, 32, 0, 0, 0, 0, 0, 0)
		"####" A 0 A_SpawnItemEx("WoodUltWatcher")
		"####" A 0 A_SpawnItemEx("WoodUltWatcher2")
		"####" A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		"####" BBAACCAABBAACCAABBAACCAABBAACCAA 1
		Goto Ready2
	}
}

actor WoodAltAmmo : inventory
{
Inventory.Amount 1
Inventory.MaxAmount 112
}

actor WoodDunIt : Inventory { Inventory.Amount 1 Inventory.MaxAmount 1 }
actor LeafRainLead : Inventory { Inventory.Amount 1 Inventory.MaxAmount 1 }

Actor NiceWallHitbox 
{
	species "DustManType"
	+THRUSPECIES
	damagetype "WoodRoll"
	maxstepheight 15
	Obituary "$OB_WOODMAN2"
	PROJECTILE
	-DONTBLAST
	+DONTREFLECT
	+NOGRAVITY
	Radius 20
	Height 25
	damage (7)
	+NOEXPLODEFLOOR
	Scale 2.5
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 1
		stop
		Death:
		TNT1 A 0
		STOP
	}
}

actor NiceWallCheck
{
PROJECTILE
+NOTARGETSWITCH
+NOEXPLODEFLOOR
RenderStyle None
-DONTBLAST
+DONTREFLECT
//+MTHRUSPECIES //+THRUSPECIES
//Species "Megaman"
Damage (0)
Radius 8
Height 8
Speed 20
states
{
Spawn:
PLAY A 1
stop
Crash:
XDeath:
TNT1 A 1
stop
Death:
TNT1 A 0 A_JumpIfInTargetInventory("IHaveHitAWall",1,"XDeath")
TNT1 A 0 A_GiveToTarget("IHaveHitAWall")
Stop
}
}

Actor LeafyRainyMaker
{
	PROJECTILE
	Speed 0
	Radius 12
	Height 12
	+NOTARGETSWITCH
	+DONTREFLECT
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 4 A_SpawnItemEx("LeafRainMakingIsDaBest",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_SpawnItemEx("LeafRainMakingIsDaBest",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_SpawnItemEx("LeafRainMakingIsDaBest",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_SpawnItemEx("LeafRainMakingIsDaBest",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		stop
	}
}

actor LeafyRainyMaker_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_FireCustomMissile("LeafyRainyMaker",0,1,0,0)
stop
AltSkinFrame:
TNT1 A 0 A_FireCustomMissile("LeafyRainyMakerGB",0,1,0,0)
stop
}
}

actor IHaveHitAWall : Inventory { Inventory.Amount 0 Inventory.MaxAmount 1 }
actor IsRolling : Inventory { Inventory.Amount 0 Inventory.MaxAmount 1 }

actor WoodManShield
{
	scale 2.5
	PROJECTILE
	Damage (15)
	Obituary "$OB_WOODMAN1"
	damagetype "WoodMan"
	//+RIPPER
	Speed 25
	Radius 12
	Height 12
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		WMLS EEFFGGHH 1 A_Explode(8,48,0,0,48)
		Goto Spawn+2
		Death:
		TNT1 AAAA 1 A_SpawnItemEx("LeafDebris",0,0,0,random(-15,0),random(-15,15),random(5,10),0,1|SXF_TRANSFERTRANSLATION)//random(0,360))//MMFX BCDE 3
		stop
	}
}

actor WoodManShield_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_FireCustomMissile("WoodManShield",0,0,0,0)
stop
AltSkinFrame:
TNT1 A 0 A_FireCustomMissile("WoodManShieldGB",0,0,0,0)
stop
}
}

actor LeafDebris
{
	PROJECTILE
	+CLIENTSIDEONLY
	-NOGRAVITY
	Height 4
	Radius 4
	damage (0)
	scale 2.5
	Speed 35
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
		WOO2 D 2
		TNT1 A 2
		WOO2 E 2
		TNT1 A 2
		WOO2 F 2
		TNT1 A 2
		WOO2 G 2
		TNT1 A 2
		WOO2 H 2
		TNT1 A 2
		WOO2 G 2
		stop
	}
}

actor LeafShieldOld1 //Yes, I imported the V5a Leaf Shield. Why'd you ask? :(
{
	scale 2.5
	-SOLID
	+NOGRAVITY
	+CLIENTSIDEONLY
	+NOINTERACTION
	+NOTIMEFREEZE
	+MISSILE
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		LFSH A 0 A_JumpIfInTargetInventory("LeafShieldCharge", 20, "Large")
		LFSH A 0 A_JumpIfInTargetInventory("LeafShieldCharge", 10, "Medium")
		LFSH A 2
		stop
		Large:
		WOOD A 2
		stop
		Medium:
		LFSH E 2
		stop
	}
}
actor LeafShield1Boss : LeafShieldOld1
{
	+CLIENTSIDEONLY
	-DONTBLAST
	+NOINTERACTION
	+NONETID
	States
	{
		Spawn:
		LEAF LL 1 //A_GiveInventory("ProjectileCode",1)
		LEAF L 1
		stop
	}
}

actor LeafShield2Boss : LeafShield1Boss
{
	States
	{
		Spawn:
		LEAF MM 1 //A_GiveInventory("ProjectileCode",1)
		LEAF M 1
		stop
	}
}

actor LeafShield3Boss : LeafShield1Boss
{
	States
	{
		Spawn:
		LEAF NN 1 //A_GiveInventory("ProjectileCode",1)
		LEAF N 1
		stop
	}
}

actor LeafShield4Boss : LeafShield1Boss
{
	States
	{
		Spawn:
		LEAF OO 1 //A_GiveInventory("ProjectileCode",1)
		LEAF O 1
		stop
	}
}

actor LeafShield1Boss_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_SpawnItemEx("LeafShield1Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
AltSkinFrame:
TNT1 A 0 A_SpawnItemEx("LeafShield1BossGB", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
}
}

actor LeafShield2Boss_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_SpawnItemEx("LeafShield2Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
AltSkinFrame:
TNT1 A 0 A_SpawnItemEx("LeafShield2BossGB", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
}
}

actor LeafShield3Boss_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_SpawnItemEx("LeafShield3Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
AltSkinFrame:
TNT1 A 0 A_SpawnItemEx("LeafShield3BossGB", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
}
}

actor LeafShield4Boss_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_SpawnItemEx("LeafShield4Boss", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
AltSkinFrame:
TNT1 A 0 A_SpawnItemEx("LeafShield4BossGB", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
stop
}
}

actor LeafRainMakingIsDaBest
{
	PROJECTILE
	-DONTBLAST
	+SKYEXPLODE
	+NOCLIP
	+DONTREFLECT
	radius 1
	height 1
	Scale 2.5
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		LEF2 AAAA 6 ThrustThingZ(0,60,0,0)
		LEF2 A 0 A_Stop
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf4",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf5",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_PlaySoundEx("weapon/leafrain","Body")
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf4",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf5",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_PlaySoundEx("weapon/leafrain","Body")
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf4",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf5",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_PlaySoundEx("weapon/leafrain","Body")
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf4",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf5",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_PlaySoundEx("weapon/leafrain","Body")
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf4",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf5",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_PlaySoundEx("weapon/leafrain","Body")
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf4",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 0 A_SpawnItemEx("CeilingLeaf5",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		TNT1 A 4 A_PlaySoundEx("weapon/leafrain","Body")
		stop
	}
}

actor CeilingLeaf
{
	PROJECTILE
	Radius 9
	Height 9
	scale 2.5
	-DONTBLAST
	+NOCLIP
	+DONTREFLECT
	states
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		TNT1 A 1 A_SpawnItemEx("WoodManLeaf",random(-128,128),random(-128,128),320,0,0,-16,0,SXF_TRANSFERTRANSLATION)
		stop
	}
}

actor CeilingLeaf2 : CeilingLeaf
{
	states
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		TNT1 A 1 A_SpawnItemEx("WoodManLeaf",random(100,320),random(100,320),320,0,0,-16,0,SXF_TRANSFERTRANSLATION)
		stop
	}
}

actor CeilingLeaf3 : CeilingLeaf
{
	states
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		TNT1 A 1 A_SpawnItemEx("WoodManLeaf",random(-100,-320),random(-100,-320),320,0,0,-16,0,SXF_TRANSFERTRANSLATION)
		stop
	}
}

actor CeilingLeaf4 : CeilingLeaf
{
	states
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		TNT1 A 1 A_SpawnItemEx("WoodManLeaf",random(-100,-320),random(100,320),320,0,0,-16,0,SXF_TRANSFERTRANSLATION)
		stop
	}
}

actor CeilingLeaf5 : CeilingLeaf
{
	states
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		TNT1 A 1 A_SpawnItemEx("WoodManLeaf",random(128,256),random(-128,-256),320,0,0,-16,0,SXF_TRANSFERTRANSLATION)
		stop
	}
}
actor WoodManLeaf
{
	PROJECTILE
	-DONTBLAST
	+NOINTERACTION
	+DONTREFLECT
	Obituary "$OB_WOODMAN3"
	Damagetype "Woodman"
	//damage (10)
	height 10
	radius 10
	Scale 2.5
	Reactiontime 10
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		LEF2 A 0 A_ChangeVelocity(5,0,momz,CVF_RELATIVE|CVF_REPLACE)
		LEF2 AABBCCDDEEDDCCBB 1 A_JumpIf(ceilingz-z>12, "Spawn2")
		LEF2 A 0 A_JumpIf(momz==0,"Death")
		LEF2 A 0 A_CountDown
		LEF2 A 0 A_ChangeVelocity(-5,0,momz,CVF_RELATIVE|CVF_REPLACE) 
		LEF2 AABBCCDDEEDDCCBB 1 A_JumpIf(ceilingz-z>12, "Spawn2")
		LEF2 A 0 A_JumpIf(momz==0,"Death")
		LEF2 A 0 A_CountDown
		Goto Spawn+2
		Spawn2:
		LEF2 AAAA 0 A_ChangeFlag("NOINTERACTION",0)
		LEF2 ABCDEDCB 2 A_ChangeVelocity(-5,0,momz,CVF_RELATIVE|CVF_REPLACE) 
		LEF2 ABCDEDCB 2 A_ChangeVelocity(5,0,momz,CVF_RELATIVE|CVF_REPLACE) 
		LEF2 AAAA 0 A_JumpIf(momz==0,"Death")
		LEF2 A 0 A_CountDown
		Goto Spawn
		Death:
		TNT1 A 0 A_Stop
		TNT1 A 0 A_Explode(8, 90, 0)
		TNT1 AA 0 A_SpawnItemEx("LeafDebris",0,0,0,random(-15,15),random(-15,15),random(5,10),random(0,360),1)
		stop
	}
}

actor HotDogHead
{
	Scale 2.5
	Height 0
	Radius 0
	+NOINTERACTION
	+CLIENTSIDEONLY
	-SOLID
	+NOGRAVITY
	+NOTARGETSWITCH
	+MISSILE
	+DONTBLAST
	+DONTREFLECT
	Alpha 0.6
	RenderStyle "Translucent"
	Scale 2.5
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode")
		TNT1 A 0 ACS_NamedExecuteAlways("core_shieldwarper", 0, 1)
		//TNT1 A 0 A_Jump(256, "Shield")
		TNT1 A 0 A_Jump(256, "WhichSprite")//Goto Shield
		goto WhichSprite
		
		WhichSprite:
		HOTD A 0 A_JumpIfInTargetInventory("IsUsingAltSkin1",1,"AltSkinFrame")
		goto Shield
		AltSkinFrame:
		HOT2 A 0
		goto Shield
		
		Shield:
		"####" AAAAAAAAAAAAAAAAAAAA 1 A_Warp(AAPTR_TARGET, 0, 0, 32, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		Goto See
		
		See:
		"####" A 0 A_Warp(AAPTR_TARGET, 0, 0, 32, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		"####" A 0 A_GiveInventory("WeaponCharge",1)
		"####" A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"Death")
		"####" AAAAAAAAAAAAAA 1 A_Warp(AAPTR_TARGET, 0, 0, 32, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		
		Missile:
		"####" A 0 A_Warp(AAPTR_TARGET, 0, 0, 32, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		"####" A 0 A_GiveToTarget("RingUltCooldown")
		"####" A 0 A_PlaySoundEx("FireWolf/Fire","Auto")
		"####" BBBBBBBBBBBB 1 A_Warp(AAPTR_TARGET, 0, 0, 32, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		"####" A 0 A_Warp(AAPTR_TARGET, 0, 0, 32, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		"####" A 0 A_Warp(AAPTR_TARGET, 0, 0, 32, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		"####" A 0 A_JumpIfInventory("WeaponCharge",21,"Death")
		"####" A 0 A_JumpIfInTargetInventory("IsUsingAltSkin1",1,"AltSkinFrameS")
		HOTD A 0
		Goto See
		
		AltSkinFrameS:
		HOT2 A 0
		goto See
		
		
		Death:
		TNT1 A 0 A_PlaySoundEx("Misc/DevilPain","Auto")
		MMFX BBCCDDEE 1 A_Warp(AAPTR_TARGET, 0, 0, 64, 0, WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_GiveToTarget("WoodUltStop")
		STOP
	}
}

actor HotDogFire
{
	+RIPPER
	+NOEXPLODEFLOOR
	PROJECTILE
	Radius 12
	Height 12
	scale 2.5
	Damage (9)
	Scale 2.5
	DamageType "HotDog"
	Speed 90
	Obituary "$OB_WOODMAN4"
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		HOTF A 0 ThrustThingZ(0,16,1,1)
		HOTF A 0 A_JumpIfInTargetInventory("IsUsingAltSkin1",1,"AltSkinFrame")
		"####" A 0 A_GiveToTarget("RingUltCooldown")
		"####" AAABBB 1 ThrustThingZ(0,3,0,1)
		goto Spawn+4
		AltSkinFrame:
		HO2F A 0
		goto Spawn+4
		Death:
		TNT1 A 0 A_PlaySoundEx("weapon/firestorm","Body")
		HOTD A 0 A_JumpIfInTargetInventory("IsUsingAltSkin1",1,"AltSkinFrameD")
		TNT1 AAAAAA 0 A_SpawnItemEx("HotDogFireFX",0,random(-18,18),random(-24,24),random(-20,20),random(-20,20),random(-20,20))
		TNT1 A 5 A_SpawnItemEx("OilPitIgnite",0,0,8)
		stop
		
		AltSkinFrameD:
		TNT1 AAAAAA 0 A_SpawnItemEx("HotDogFireFXGB",0,random(-18,18),random(-24,24),random(-20,20),random(-20,20),random(-20,20))
		TNT1 A 5 A_SpawnItemEx("OilPitIgnite",0,0,8)
		stop
	}
}

actor HotDogFire2 : HotDogFire
{
	damage(4)
}

actor HotDogFireStart
{
PROJECTILE
+DONTREFLECT
+FORCEXYBILLBOARD
+RIPPER
Speed 60
Damage (0)
radius 5
height 5
scale 2.5
ReactionTime 9
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_ScaleVelocity(SPEED_SCALAR)
TNT1 A 0 A_SpawnItemEx("HotDogFire",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),0,SXF_ABSOLUTEMOMENTUM)
Spawn2:
TNT1 A 1 A_Countdown
TNT1 A 0 A_SpawnItemEx("HotDogFire2",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),0,SXF_ABSOLUTEMOMENTUM)
loop
Death:
TNT1 A 0
stop
}
}

actor WoodUltWatcher
{
Height 0
Radius 0
+NOTARGETSWITCH
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"Death")
TNT1 A 2 A_TakeFromTarget("MediumUltimateAmmo",1)
TNT1 A 0 A_JumpIfInTargetInventory("WoodUltStop",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("MediumUltimateAmmo",1,"Spawn")
Death:
TNT1 A 0 A_TakeFromTarget("MediumUltimateAmmo",999) //Failsafe
stop
}
}

actor WoodUltWatcher2 : WoodUltWatcher
{
reactiontime 21
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")

loopit:
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 26 A_GiveToTarget("HotDogFireHandler",1)
TNT1 A 0 A_Countdown
loop
}
}

actor WoodUltStop : Powerup
{
+ADDITIVETIME
Powerup.Duration 5
}

actor WoodRainAmmoWatcher
{
Height 0
Radius 0
+NOTARGETSWITCH
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
reactiontime 10
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 2 A_GiveToTarget("WoodAltAmmo",1)
loop
Death:
TNT1 A 0
stop
}
}

actor WoodShieldCounterShot
{
	PROJECTILE
	Obituary "$OB_WOODMAN5"
	damagetype "Woodman"
	height 12
	+RIPPER
	radius 12
	Speed 55
	scale 2.5
	damage (5)
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode")
		loopit:
		LEF2 AE 3
		loop
	}
}


//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, 20, 20)
//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, 20, -20)
//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, -20, 20)
//A_FireCustomMissile("WoodShieldCounterShot", 0, 0, -20, -20)
actor WoodShieldCounterShot_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShot", 0, 0, 20, 20)
stop
AltSkinFrame:
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShotGB", 0, 0, 20, 20)
stop
}
}

actor WoodShieldCounterShot1_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShot", 0, 0, 20, -20)
stop
AltSkinFrame:
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShotGB", 0, 0, 20, -20)
stop
}
}

actor WoodShieldCounterShot2_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShot", 0, 0, -20, 20)
stop
AltSkinFrame:
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShotGB", 0, 0, -20, 20)
stop
}
}

actor WoodShieldCounterShot3_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsUsingAltSkin1",1,"AltSkinFrame")
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShot", 0, 0, -20, -20)
stop
AltSkinFrame:
TNT1 A 0 A_FireCustomMissile("WoodShieldCounterShotGB", 0, 0, -20, -20)
stop
}
}

actor WoodTFHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("Base56Ammo",14)
stop
}
}

actor HotDogFireHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_FireCustomMissile("HotDogFireStart",0,0,0,20)
stop
}
}

actor HotDogFireFX : BasicClientSide
{
translation "192:192=248:248", "198:198=41:41"
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
X_8C EFG 1
X_8C A 0 A_Stop
X_8C A 1 A_SetScale(2.0)
X_8C B 1 A_SetScale(1.5)
X_8C C 1 A_SetScale(1.0)
X_8C D 1 A_SetScale(0.5)
stop
}
}

actor HotDogFireFXGB : HotDogFireFX
{
translation"192:192=4:4","198:198=92:92"
}

actor WoodmanSkinWatcher
{
Height 0
Radius 0
+NOINTERACTION
+MISSILE
states
{
Spawn:
TNT1 A 0
TNT1 AAA 1 A_GiveToTarget("WoodmanSkinCheck")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"Death")
loop
Death:
TNT1 A 0
stop
}
}

actor WoodmanSkinCheck : SkinChecker
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(CallACS("GC_GetSkinNum")==264,"AltSkin1")
TNT1 A 0 A_GiveInventory("IsFromMM2")
TNT1 A 0 A_TakeInventory("IsFromGB2")


TNT1 A 0 ACS_ExecuteAlways(998,0,2747,1)
goto NormalSkin
}
}

Actor LeafyRainyMakerGB : LeafyRainyMaker
{
Translation"104:104=92:92", "8:8=6:6"
}
Actor WoodManShieldGB : WoodManShield
{
Translation"104:104=92:92", "8:8=6:6"
}
Actor LeafShield1BossGB : LeafShield1Boss
{
Translation"104:104=92:92", "8:8=6:6"
}
Actor LeafShield2BossGB : LeafShield2Boss
{
Translation"104:104=92:92", "8:8=6:6"
}
Actor LeafShield3BossGB : LeafShield3Boss
{
Translation"104:104=92:92", "8:8=6:6"
}
Actor LeafShield4BossGB : LeafShield4Boss
{
Translation"104:104=92:92", "8:8=6:6"
}
Actor WoodShieldCounterShotGB : WoodShieldCounterShot
{
Translation"104:104=92:92", "8:8=6:6"
}

actor MMIIDeathHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsFromGB2",1,"Pickup2")
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM2",0,0,32)
stop

Pickup2:
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMMII",0,0,20,0,0,0,0,1)
stop
}
}