actor SilverTomahawkBoss : BaseMM8BDMWep_CBM
{
dropitem "SilverTomahawkWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "$OB_SILVERTOMAHAWK"
Inventory.Pickupmessage "Lay off cheetos, man."
weapon.ammotype "TomahawkClassAmmo"
+WEAPON.NOAUTOAIM
States
{
Spawn:
C_06 F 1
loop
Ready:
TOMB A 0 ACS_ExecuteAlways(998,0,825)
TOMB A 0 A_JumpIfInventory("TomahawkClassAmmo",4,"Ready3")
TOMB A 3 A_WeaponReady(WRF_NOFIRE)
TOMB A 0 A_GiveInventory("TomahawkClassAmmo",1)
Goto Ready+1
Ready2:
TOMB A 0 A_JumpIfInventory("TomahawkClassAmmo",4,"Ready3")
TOMB A 3 A_WeaponReady(WRF_NOSECONDARY)
TOMB A 0 A_GiveInventory("TomahawkClassAmmo",1)
loop
Ready3:
TOMB A 3 A_WeaponReady
TOMB A 0 A_GiveInventory("TomahawkClassAmmo",1)
loop
TOMB A 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TOMB A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
TOMB A 1 A_Raise
Loop
Fire:
TOMB A 0 A_JumpIfInventory("TomahawkClassAmmo",4,"Tomahawk")
TOMB A 2
goto noammo
Tomahawk:
TOMB B 0 A_JumpIfInventory("IsBot",1,"BotFire")
TOMB B 5
TOMB D 3
TOMB E 0 A_TakeInventory("TomahawkClassAmmo",4)
TOMB E 0 A_PlaySoundEx("weapon/mbuster","Weapon")
TOMB E 0 A_GiveInventory("TomahawkmanMain_CI",1)
TOMB E 4
TOMB B 5
//TOMB A 2 A_Refire
Goto Ready+1
AltFire:
TOMB A 0 A_JumpIfInventory("TomahawkClassAmmo",4,"Feather")
TOMB A 2
goto noammo
Feather:
TOMB B 3
TOMB A 0 A_TakeInventory("TomahawkClassAmmo",4)
TOMB C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
TOMB C 0 A_GiveInventory("TomahawkmanAlt_CI",1)
TOMB CBA 6
//TOMB A 2 A_Refire
Goto Ready+1
NoAmmo:
TOMB A 0
Goto Ready+1

BotFire:
TNT1 A 0 A_Jump(128,"AltFire")
goto Tomahawk+1
}
}

actor TomahawkClassAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor BrownTomahawk
{
translation "192:192=4:4", "198:198=198:198"
PROJECTILE
Radius 16
Height 7
scale 2.5
damagetype "SilverTomahawk"
Obituary "$OB_SILVERTOMAHAWK"


var int user_POWER;
var int user_SPEEDX;
var int user_SPEEDY;
damage (12 + user_POWER*7)
speed 55
+SKYEXPLODE
States
{
XDeath:
TNT1 A 0
stop
}
}

actor BrownTomahawkUp : BrownTomahawk
{
States
{
Spawn:
TOMF B 0
TOMF B 0 A_SetUserVar("user_SPEEDX",momx)
TOMF B 0 A_SetUserVar("user_SPEEDY",momy)
TOMF B 1
TOMF CBCBC 1 ThrustThingZ(0,4,0,1)
Spawn2:
TOMF B 0 A_SpawnItemEx("RangeGleam")
TOMF B 0 A_SetUserVar("user_POWER",1)
Spawn3:
TOMF BC 1 ThrustThingZ(0,4,0,1)
loop
Death:
TNT1 A 0 A_JumpIf(z-floorz==0,"Continue")
stop
Continue:
TNT1 A 0 A_SpawnItemEx("BrownTomahawkUp2",0,0,0,user_SPEEDX,user_SPEEDY,0,0,9,0)
stop
}
}


actor BrownTomahawkUpB : BrownTomahawkUp{translation "192:192=205:205", "198:198=74:74"}
actor BrownTomahawkUpR : BrownTomahawkUp{translation "192:192=171:171", "198:198=41:41"}
actor BrownTomahawkUpO : BrownTomahawkUp{translation "192:192=104:104", "198:198=128:128"}
actor BrownTomahawkUpP : BrownTomahawkUp{translation "192:192=229:229", "198:198=232:232"}

actor BrownTomahawkDown : BrownTomahawk
{
States
{
Spawn:
TOMF B 0
TOMF B 0 A_SetUserVar("user_SPEEDX",momx)
TOMF B 0 A_SetUserVar("user_SPEEDY",momy)
TOMF B 1
TOMF CBCBC 1 ThrustThingZ(0,4,1,1)
Spawn2:
TOMF B 0 A_SpawnItemEx("RangeGleam")
TOMF B 0 A_SetUserVar("user_POWER",1)
Spawn3:
TOMF BC 1 ThrustThingZ(0,4,1,1)
loop
Death:
TNT1 A 0 A_JumpIf(z-ceilingz==0-7, "Continue")
stop
Continue:
TNT1 A 0 A_SpawnItemEx("BrownTomahawkDown2",0,0,0,user_SPEEDX,user_SPEEDY,0,0,9,0)
stop
ContinueX:
TNT1 A 0 A_SpawnItemEx("BrownTomahawkUp2",0,0,0,20,0,0,0,9,0)
stop
}
}

actor BrownTomahawkDownB : BrownTomahawkDown{translation "192:192=205:205", "198:198=74:74"}
actor BrownTomahawkDownR : BrownTomahawkDown{translation "192:192=171:171", "198:198=41:41"}
actor BrownTomahawkDownO : BrownTomahawkDown{translation "192:192=104:104", "198:198=128:128"}
actor BrownTomahawkDownP : BrownTomahawkDown{translation "192:192=229:229", "198:198=232:232"}

actor BrownTomahawkUp2 : BrownTomahawkUp
{
States
{
Spawn:
TOMF B 0
goto Spawn2
Death:
goto XDeath
}
}

actor BrownTomahawkDown2 : BrownTomahawkDown
{
States
{
Spawn:
TOMF B 0
goto Spawn2
Death:
goto XDeath
}
}

actor TomahawkFeatherSpawn
{
Translation "199:199=41:41", "202:202=210:210"
PROJECTILE
+RIPPER
+NOEXPLODEFLOOR
//damagetype "SilverTomahawk"
Damagetype "ClassPainSemi"
Obituary "$OB_TOMAHAWKFEATHER"
Radius 7
Height 7
scale 2.5
damage (0)
speed 25
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Changevelocity(18,0,0,1)
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("TomahawkFeather",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
stop
}
}
actor TomahawkFeatherSpawnB : TomahawkFeatherSpawn{translation "202:202=205:205", "199:199=74:74"}
actor TomahawkFeatherSpawnR : TomahawkFeatherSpawn{translation "202:202=171:171", "199:199=41:41"}
actor TomahawkFeatherSpawnO : TomahawkFeatherSpawn{translation "202:202=104:104", "199:199=128:128"}
actor TomahawkFeatherSpawnP : TomahawkFeatherSpawn{translation "202:202=229:229", "199:199=232:232"}


actor TomahawkFeatherSpawnR1 : TomahawkFeatherSpawn
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Changevelocity(9,25,0,1)
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("TomahawkFeatherR1",0,0,0,0,0,0,0,1)
stop
}
}
actor TomahawkFeatherSpawnR1B : TomahawkFeatherSpawnR1{translation "202:202=205:205", "199:199=74:74"}
actor TomahawkFeatherSpawnR1R : TomahawkFeatherSpawnR1{translation "202:202=171:171", "199:199=41:41"}
actor TomahawkFeatherSpawnR1O : TomahawkFeatherSpawnR1{translation "202:202=104:104", "199:199=128:128"}
actor TomahawkFeatherSpawnR1P : TomahawkFeatherSpawnR1{translation "202:202=229:229", "199:199=232:232"}

actor TomahawkFeatherSpawnR2 : TomahawkFeatherSpawn
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Changevelocity(0,50,0,1)
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("TomahawkFeatherR2",0,0,0,0,0,0,0,1)
stop
}
}
actor TomahawkFeatherSpawnR2B : TomahawkFeatherSpawnR2{translation "202:202=205:205", "199:199=74:74"}
actor TomahawkFeatherSpawnR2R : TomahawkFeatherSpawnR2{translation "202:202=171:171", "199:199=41:41"}
actor TomahawkFeatherSpawnR2O : TomahawkFeatherSpawnR2{translation "202:202=104:104", "199:199=128:128"}
actor TomahawkFeatherSpawnR2P : TomahawkFeatherSpawnR2{translation "202:202=229:229", "199:199=232:232"}

actor TomahawkFeatherSpawnL1 : TomahawkFeatherSpawn
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Changevelocity(9,-25,0,1)
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("TomahawkFeatherL1",0,0,0,0,0,0,0,1)
stop
}
}
actor TomahawkFeatherSpawnL1B : TomahawkFeatherSpawnL1{translation "202:202=205:205", "199:199=74:74"}
actor TomahawkFeatherSpawnL1R : TomahawkFeatherSpawnL1{translation "202:202=171:171", "199:199=41:41"}
actor TomahawkFeatherSpawnL1O : TomahawkFeatherSpawnL1{translation "202:202=104:104", "199:199=128:128"}
actor TomahawkFeatherSpawnL1P : TomahawkFeatherSpawnL1{translation "202:202=229:229", "199:199=232:232"}

actor TomahawkFeatherSpawnL2 : TomahawkFeatherSpawn
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Changevelocity(0,-50,0,1)
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("TomahawkFeatherL2",0,0,0,0,0,0,0,1)
stop
}
}
actor TomahawkFeatherSpawnL2B : TomahawkFeatherSpawnL2{translation "202:202=205:205", "199:199=74:74"}
actor TomahawkFeatherSpawnL2R : TomahawkFeatherSpawnL2{translation "202:202=171:171", "199:199=41:41"}
actor TomahawkFeatherSpawnL2O : TomahawkFeatherSpawnL2{translation "202:202=104:104", "199:199=128:128"}
actor TomahawkFeatherSpawnL2P : TomahawkFeatherSpawnL2{translation "202:202=229:229", "199:199=232:232"}

actor TomahawkFeather : TomahawkFeatherSpawn
{
-NOEXPLODEFLOOR
-DONTBLAST
damage (6)
States
{
Spawn:
TOMF A 0
TOMF A 0 A_Changevelocity(40,0,0,3)
Spawn2:
TOMF A 1
loop
}
}

actor TomahawkFeatherR1 : TomahawkFeather
{
States
{
Spawn:
TOMF A 0
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
goto Spawn2
}
}

actor TomahawkFeatherR2 : TomahawkFeather
{
States
{
Spawn:
TOMF A 0
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle+10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
goto Spawn2
}
}

actor TomahawkFeatherL1 : TomahawkFeather
{
States
{
Spawn:
TOMF A 0
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-5.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
goto Spawn2
}
}

actor TomahawkFeatherL2 : TomahawkFeather
{
States
{
Spawn:
TOMF A 0
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
TOMF A 0 A_SetAngle(angle-10.0)
TOMF A 2 A_Changevelocity(40,0,0,3)
goto Spawn2
}
}



actor TomahawkmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BrownTomahawkUp",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BrownTomahawkDown",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BrownTomahawkUpB",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BrownTomahawkDownB",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BrownTomahawkUpR",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BrownTomahawkDownR",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BrownTomahawkUpO",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BrownTomahawkDownO",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BrownTomahawkUpP",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BrownTomahawkDownP",0,0,-8,0)
goto Done
}
}

actor TomahawkmanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawn",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR1",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR2",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL1",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL2",0,0,0,24)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnB",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR1B",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR2B",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL1B",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL2B",0,0,0,24)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR1R",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR2R",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL1R",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL2R",0,0,0,24)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnO",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR1O",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR2O",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL1O",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL2O",0,0,0,24)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnP",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR1P",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnR2P",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL1P",0,0,0,24)
TNT1 A 0 A_FireCustomMissile("TomahawkFeatherSpawnL2P",0,0,0,24)
goto Done
}
}
