[spoiler]
Code: Select all
ACTOR DSPunchDagger : PunchDagger -1
{
    Inventory.Icon "KNFEA3A7"
    Weapon.SelectionOrder 3900
    Weapon.AmmoType2 "DSKnives"
    Weapon.AmmoGive2 3
    Weapon.AmmoUse2 1
    Weapon.UpSound "Knife/Up"
    +MELEEWEAPON
    +NOALERT
    +ALT_AMMO_OPTIONAL
    States
    {
    Select:
      PNCH A 1 A_Raise
      Loop
    Deselect:
      PNCH A 1 A_Lower
      Loop
    Ready:
      PNCH A 0 A_JumpIfInventory ("KnifeXP",10,2)
      PNCH A 1 A_WeaponReady
      Loop
      PNCH A 0
      PNCH A 1 A_Print ("You've upgraded your Throwing Knives")
      PNCH A 1 A_GiveInventory ("DSPunchDaggerA")
      PNCH A 2 A_SelectWeapon ("DSPunchDaggerA")
      Goto Deselect
    AltFire:
      KNIF A 0 A_JumpIfNoAmmo (23)
      KNIF ABCDEF 1
      TNT1 A 2
      KNIF GHI 1
      KNIF J 1 A_PlayWeaponSound ("Knife/Throw")
      KNIF KMP 1
      KNIF R 1 A_FireCustomMissile ("Knife_Throw",0+random(-10,10),1)
      KNIF TVX 1
      KNIF DCB 1
      KNIF A 1 A_GiveInventory ("KnifeXP",1)
      Goto Ready
      KNIF A 0
      Goto Fire
    }
}
ACTOR DSPunchDaggerA : DSPunchDagger
{
    Spawn 0
    Inventory.Icon "LVLKA0"
    States
    {
    Select:
      PNCH A 0 A_TakeInventory ("DSPunchDagger")
      PNCH A 1 A_Raise
      Loop
    Deselect:
      PNCH A 1 A_Lower
      Loop
    Ready:
      PNCH A 0 A_JumpIfInventory ("KnifeXP",25,2)
      PNCH A 1 A_WeaponReady
      Loop
      PNCH A 0
      PNCH A 0 A_Print ("You've upgraded your Throwing Knives")
      PNCH A 0 A_GiveInventory ("DSPunchDaggerB")
      PNCH A 4 A_SelectWeapon ("DSPunchDaggerB")
      Goto Deselect
    AltFire:
      KNIF A 0 A_JumpIfNoAmmo (23)
      KNIF ABCDEF 1
      TNT1 A 2
      KNIF GHI 1
      KNIF J 1 A_PlayWeaponSound ("Knife/Throw")
      KNIF KMP 1
      KNIF R 1 A_FireCustomMissile ("Knife_Throw",0+random(-5,5),1)
      KNIF TVX 1
      KNIF DCB 1
      KNIF A 1 A_GiveInventory ("KnifeXP",1)
      Goto Ready
      KNIF A 0
      Goto Fire
    }
}
It gets as far as the A_Print Codepointer and then crashes me. An older version of this code worked just fine. The only difference was that code played a sound and required more XP.


