Sorry if I came off as defensive. I was really tired last night.
And sorry for taking so long, I had some things I needed to take care of.
Here's the code for the base hatchet class. It's not mine, it came from a Realm667 mod and I might've edited it a bit, I can't remember:
Code: Select all
ACTOR Hatchet : DoomWeapon
{
+WEAPON.MELEEWEAPON
+WEAPON.WIMPY_WEAPON
Inventory.Icon "AXEPA0"
Inventory.PickupMessage "$GOTAXE"
Weapon.SlotNumber 1
Weapon.SlotPriority 1
Weapon.SelectionOrder 3700
Tag "$TAG_AXE"
Obituary "$OB_HATCHET"
Inventory.ForbiddenTo "JossPlayer", "RosePlayer", "MidnightPlayer", "PrismPlayer", "ButterflyPlayer", "PinkyPlayer", "ApplePlayer", "RarePlayer", "DitzyPlayer"
States
{
Spawn:
AXEP A -1
Stop
Select:
AXEG AAAAAAAAAA 0 A_Raise //To get it to raise
TNT1 A 6
AXEG EDCBA 2
Goto Ready
Deselect:
AXEG ABCDE 2
TNT1 A 6
AXEG A 0 A_Lower
Wait
Ready:
AXEG A 1 A_WeaponReady
loop
Fire:
AXEG ABCDE 1
TNT1 A 6 A_JumpIfInventory("PowerStrength", 1, "Berserk")
AXEG F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXEG G 1 A_CustomPunch(20+random(0, 16), 1, 0, "AxeHitPuff")
AXEG H 2
TNT1 A 6
AXEG EDCBA 2 A_Refire
AXEG A 6
Goto Ready
Hold:
TNT1 A 6 A_JumpIfInventory("PowerStrength", 1, "BerserkHold")
AXEG D 1
AXEG F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXEG A 1
AXEG G 1 A_CustomPunch(20+random(0, 16), 1, 0, "AxeHitPuff")
AXEG H 2
TNT1 A 6
AXEG EDCBA 2 A_Refire
AXEG A 6
Goto Ready
Berserk:
TNT1 A 4
AXEG F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXEG G 1 A_CustomPunch((20+random(0, 16)) * 10, 1, 0, "AxeHitPuff")
AXEG H 1
TNT1 A 4
AXEG EDCBA 1 A_Refire
AXEG A 4
Goto Ready
BerserkHold:
TNT1 A 4
AXEG D 1
AXEG F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXEG A 1
AXEG G 1 A_CustomPunch((20+random(0, 16)) * 10, 1, 0, "AxeHitPuff")
AXEG H 1
TNT1 A 4
AXEG EDCBA 1 A_Refire
AXEG A 4
Goto Ready
}
}
And the code for the DariHatchet basically just redefines the states.
Code: Select all
ACTOR DariHatchet : Hatchet
{
Inventory.ForbiddenTo ""
Inventory.RestrictedTo "DariPlayer"
States
{
Spawn:
AXEP A -1
Stop
Select:
AXER AAAAAAAAAA 0 A_Raise //To get it to raise
TNT1 A 6
AXER EDCBA 2
Goto Ready
Deselect:
AXER ABCDE 2
TNT1 A 6
AXER A 0 A_Lower
Wait
Ready:
AXER A 1 A_WeaponReady
loop
Fire:
AXER ABCDE 1
TNT1 A 6 A_JumpIfInventory("PowerStrength", 1, "Berserk")
AXER F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXER G 1 A_CustomPunch(20+random(0, 16), 1, 0, "AxeHitPuff")
AXER H 2
TNT1 A 6
AXER EDCBA 2 A_Refire
AXER A 6
Goto Ready
Hold:
TNT1 A 6 A_JumpIfInventory("PowerStrength", 1, "BerserkHold")
AXER D 1
AXER F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXER A 1
AXER G 1 A_CustomPunch(20+random(0, 16), 1, 0, "AxeHitPuff")
AXER H 2
TNT1 A 6
AXER EDCBA 2 A_Refire
AXER A 6
Goto Ready
Berserk:
TNT1 A 4
AXER F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXER G 1 A_CustomPunch((20+random(0, 16)) * 10, 1, 0, "AxeHitPuff")
AXER H 1
TNT1 A 4
AXER EDCBA 1 A_Refire
AXER A 4
Goto Ready
BerserkHold:
TNT1 A 4
AXER D 1
AXER F 1 A_PlaySound("weapons/axeswing", CHAN_WEAPON)
AXER A 1
AXER G 1 A_CustomPunch((20+random(0, 16)) * 10, 1, 0, "AxeHitPuff")
AXER H 1
TNT1 A 4
AXER EDCBA 1 A_Refire
AXER A 4
Goto Ready
}
}