Torch light emits from the ceiling instead of the ground?

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Torch light emits from the ceiling instead of the ground?

Postby ZDL_800 » Wed Jan 06, 2021 5:55 am

Hello GZDoom community and hope everyone is good.

In Hexen there's a torch item allocated to each of the three characters, Fighter torch works fine but the Cleric and Mage torches seem to emit the torch light from the ceiling instead of the ground?

I don't understand why this is because its using the same flareglow parameter for all 3 torches?

Here's the torch script which I'll include the working Fighter torch parameters, if anyone could kindly take a look at the script it would be much appreciated.

Code: Select allExpand view
Actor FighterNormalTorch : FighterWeapon
{
   Weapon.AmmoUse 1
   Weapon.AmmoGive 500
   Weapon.AmmoType "TorchFuel"
   Weapon.SlotNumber 0
   Weapon.SelectionOrder 0x7fffffff
   Tag "Torch"
   +WEAPON.CHEATNOTWEAPON
   +WEAPON.NOALERT
   States
   {
   Ready:
      FTCH A 0 A_JumpIfNoAmmo("StopBurning")
      TNT1 A 0 A_GiveInventory("TorchCounter",1)
      TNT1 A 0 A_PlaySound("TORCHBRN",CHAN_6,1.0,true)
   ReadyLoop:
      TNT1 A 0 A_AlertMonsters(320,AMF_TARGETEMITTER)
      FTCH A 0 A_JumpIfNoAmmo("StopBurning")
      FTCH A 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      FTCH A 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH A 0 A_WeaponReady
      FTCH A 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH B 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      FTCH B 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH A 0 A_WeaponReady
      FTCH B 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH C 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      FTCH C 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH A 0 A_WeaponReady
      FTCH C 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH D 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      FTCH D 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH A 0 A_WeaponReady
      FTCH D 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH E 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      TNT1 A 0 A_AlertMonsters(320,AMF_TARGETEMITTER)
      FTCH E 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH A 0 A_WeaponReady
      FTCH E 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH F 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      FTCH F 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH A 0 A_WeaponReady
      FTCH F 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH F 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      FTCH G 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH A 0 A_WeaponReady
      FTCH G 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      FTCH F 0 A_JumpIfNoAmmo("StopBurning")
      Loop
   StopBurning:
      TNT1 A 0 A_TakeInventory("TorchCounter",1)
      TNT1 A 0 A_StopSound(CHAN_6)
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      FTCH H 1 A_WeaponReady(WRF_NOFIRE)
      Goto Ready
   Fire:
      FTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 AAAAA 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_TakeInventory("TorchFuel",3)
      FTCH I 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",12+frandom(-2,2),false,-8,0,0,frandom(-3,3))
      FTCH J 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",8+frandom(-2,2),false,-6,0,0,frandom(-3,3))
      FTCH K 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",4+frandom(-2,2),false,-4,0,0,frandom(-3,3))
      FTCH L 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",frandom(-2,2),false,-2,0,0,frandom(-3,3))
      FTCH M 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-4+frandom(-2,2),false,0,0,0,frandom(-3,3))
      FTCH N 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-8+frandom(-2,2),false,2,0,0,frandom(-3,3))
      FTCH O 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-12+frandom(-2,2),false,4,0,0,frandom(-3,3))
      FTCH P 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-16+frandom(-2,2),false,6,0,0,frandom(-3,3))
      TNT1 AAA 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 Offset(1,32)
      Goto ReadyLoop
   Deselect:
      TNT1 A 0 A_TakeInventory("TorchCounter",1)
      TNT1 A 0 A_StopSound(CHAN_6)
      FTCH H 0 A_Lower
      FTCH H 1 A_Lower
      Loop
   Select:
      FTCH H 0 A_Raise
      FTCH H 1 A_Raise
      Loop
   Spawn:
      TNT1 A 1 Bright
      Loop
   ThrowFlechette:
      TNT1 A 0 A_JumpIf(waterlevel>=3,"ThrowFlechetteNoFlame")
      TNT1 A 0 A_JumpIfInventory("TorchFuel",1,1)
      Goto ThrowFlechetteNoFlame
      FTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
   FlechetteCharge:
      TNT1 A 0 A_GiveInventory("FlechetteThrowPower",1)
      TNT1 A 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss",1,"FlechetteCharge")
      WTFL ABCDEF 1 Bright A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 45,"FlechThrow6")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 37,"FlechThrow5")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 29,"FlechThrow4")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 21,"FlechThrow3")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 13,"FlechThrow2")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 5,"FlechThrow1")
   FlechThrow0:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette0", 0, 0, 0, 0, 0, -4)
      Goto FlechetteDone
   FlechThrow1:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette1", 0, 0, 0, 0, 0, -2)
      Goto FlechetteDone
   FlechThrow2:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette2", 0, 0, 0, 0, 0, 0)
      Goto FlechetteDone
   FlechThrow3:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette3", 0, 0, 0, 0, 0, 2)
      Goto FlechetteDone
   FlechThrow4:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette4", 0, 0, 0, 0, 0, 3)
      Goto FlechetteDone
   FlechThrow5:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette5", 0, 0, 0, 0, 0, 4)
      Goto FlechetteDone
   FlechThrow6:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette6", 0, 0, 0, 0, 0, 5)
      Goto FlechetteDone
   FlechetteDone:
      TNT1 A 0 A_TakeInventory("BrutalArtiPoisonBag", 1)
      TNT1 A 0 A_TakeInventory("FlechetteThrowPower",99)
      WTFL GHIJKL 1 Bright A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      Goto ReadyLoop
   ThrowFlechetteNoFlame:
      TNT1 A 0 A_StopSound(CHAN_6)
      FTCH H 1 Bright Offset(-25,42)
      FTCH H 1 Bright Offset(-50,52)
      FTCH H 1 Bright Offset(-75,62)
      FTCH H 1 Bright Offset(-100,72)
      FTCH H 1 Bright Offset(-125,82)
      FTCH H 1 Bright Offset(-150,92)
      TNT1 A 2 Offset(0,32)
   FlechetteChargeNoFlame:
      TNT1 A 1 A_GiveInventory("FlechetteThrowPower",1)
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss",1,"FlechetteChargeNoFlame")
      WTFL ABCDEF 1
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 45,"FlechThrow6NoFlame")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 37,"FlechThrow5NoFlame")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 29,"FlechThrow4NoFlame")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 21,"FlechThrow3NoFlame")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 13,"FlechThrow2NoFlame")
      TNT1 A 0 A_JumpIf(CountInv("FlechetteThrowPower") > 5,"FlechThrow1NoFlame")
   FlechThrow0NoFlame:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette0", 0, 0, 0, 0, 0, -4)
      Goto FlechetteDone
   FlechThrow1NoFlame:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette1", 0, 0, 0, 0, 0, -2)
      Goto FlechetteDone
   FlechThrow2NoFlame:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette2", 0, 0, 0, 0, 0, 0)
      Goto FlechetteDone
   FlechThrow3NoFlame:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette3", 0, 0, 0, 0, 0, 2)
      Goto FlechetteDone
   FlechThrow4NoFlame:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette4", 0, 0, 0, 0, 0, 3)
      Goto FlechetteDone
   FlechThrow5NoFlame:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette5", 0, 0, 0, 0, 0, 4)
      Goto FlechetteDone
   FlechThrow6NoFlame:
      TNT1 A 0 A_FireCustomMissile("ThrownFlechette6", 0, 0, 0, 0, 0, 5)
      Goto FlechetteDone
   FlechetteDoneNoFlame:
      TNT1 A 0 A_TakeInventory("BrutalArtiPoisonBag", 1)
      TNT1 A 0 A_TakeInventory("FlechetteThrowPower",99)
      WTFL GHIJKL 1
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 2
      FTCH H 1 Bright Offset(-150,92)
      FTCH H 1 Bright Offset(-125,82)
      FTCH H 1 Bright Offset(-100,72)
      FTCH H 1 Bright Offset(-75,62)
      FTCH H 1 Bright Offset(-50,52)
      FTCH H 1 Bright Offset(-25,42)
      Goto ReadyLoop
   RealPunch:
      TNT1 A 0 A_JumpIf(waterlevel>=3,"RealPunchLoopNoFlame")
      TNT1 A 0 A_JumpIfInventory("TorchFuel",1,1)
      Goto RealPunchNoFlame
      FTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
   RealPunchLoop:
      TNT1 A 0 A_JumpIf(waterlevel>=3,"RealPunchLoopNoFlame")
      TNT1 A 0 A_JumpIfInventory("TorchFuel",1,1)
      Goto RealPunchLoopNoFlame
      TNT1 A 0 Offset(1, 32)
      TNT1 AA 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_PlaySound("WHOP")
      TNT1 A 0 A_AlertMonsters(1280,AMF_TARGETEMITTER)
      FPCH D 0 Offset(75, 40)
      FPCH DD 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_Custompunch(random(34,54)+CallACS("StrengthCalculator")/4,1,0,"BrutalFistPuff", 84)
      FPCH E 0 Offset(75, 40)
      FPCH EE 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      FPCH E 1 Offset(85, 50) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FPCH E 1 Offset(125, 90) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 1 Offset(1, 32) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunchLoop")
      TNT1 A 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      FTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      FTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      Goto ReadyLoop
   RealPunchNoFlame:
      TNT1 A 0 A_StopSound(CHAN_6)
      FTCH H 1 Bright Offset(-25,42)
      FTCH H 1 Bright Offset(-50,52)
      FTCH H 1 Bright Offset(-75,62)
      FTCH H 1 Bright Offset(-100,72)
      FTCH H 1 Bright Offset(-125,82)
      FTCH H 1 Bright Offset(-150,92)
   RealPunchLoopNoFlame:
      TNT1 A 0 A_StopSound(CHAN_6)
      TNT1 A 0 Offset(1, 32)
      TNT1 AA 1
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_PlaySound("WHOP")
      TNT1 A 0 A_AlertMonsters(1280,AMF_TARGETEMITTER)
      FPCH D 0 Offset(75, 40)
      FPCH DD 1
      TNT1 A 0 A_Custompunch(random(34,54)+CallACS("StrengthCalculator")/4,1,0,"BrutalFistPuff", 84)
      FPCH E 0 Offset(75, 40)
      FPCH EE 1
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      FPCH E 1 Offset(85, 50)
      FPCH E 1 Offset(125, 90)
      TNT1 A 1 Offset(1, 32)
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunchLoop")
      TNT1 A 1
      FTCH H 1 Bright Offset(-150,92)
      FTCH H 1 Bright Offset(-125,82)
      FTCH H 1 Bright Offset(-100,72)
      FTCH H 1 Bright Offset(-75,62)
      FTCH H 1 Bright Offset(-50,52)
      FTCH H 1 Bright Offset(-25,42)
      Goto ReadyLoop
   }
}

Actor ClericNormalTorch : ClericWeapon
{
   Weapon.AmmoUse 1
   Weapon.AmmoGive 500
   Weapon.AmmoType "TorchFuel"
   Weapon.SlotNumber 0
   Weapon.SelectionOrder 0x7fffffff
   Tag "Torch"
   +WEAPON.CHEATNOTWEAPON
   +WEAPON.NOALERT
   States
   {
   Ready:
      CTCH A 0 A_JumpIfNoAmmo("StopBurning")
      TNT1 A 0 A_GiveInventory("TorchCounter",1)
      TNT1 A 0 A_PlaySound("TORCHBRN",CHAN_6,1.0,true)
   ReadyLoop:
      TNT1 A 0 A_AlertMonsters(320,AMF_TARGETEMITTER)
      CTCH A 0 A_JumpIfNoAmmo("StopBurning")
      CTCH A 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH A 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH A 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH B 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH B 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH B 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH C 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH C 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH C 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH D 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH D 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH D 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH E 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      TNT1 A 0 A_AlertMonsters(320,AMF_TARGETEMITTER)
      CTCH E 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH E 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH F 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH F 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH F 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH F 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH G 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH G 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH F 0 A_JumpIfNoAmmo("StopBurning")
      Loop
   StopBurning:
      TNT1 A 0 A_TakeInventory("TorchCounter",1)
      TNT1 A 0 A_StopSound(CHAN_6)
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH H 1 A_WeaponReady(WRF_NOFIRE)
      Goto Ready
   Fire:
      CTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 AAAAA 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_TakeInventory("TorchFuel",3)
      CTCH I 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",12+frandom(-2,2),false,-8,0,0,frandom(-3,3))
      CTCH J 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",8+frandom(-2,2),false,-6,0,0,frandom(-3,3))
      CTCH K 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",4+frandom(-2,2),false,-4,0,0,frandom(-3,3))
      CTCH L 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",frandom(-2,2),false,-2,0,0,frandom(-3,3))
      CTCH M 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-4+frandom(-2,2),false,0,0,0,frandom(-3,3))
      CTCH N 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-8+frandom(-2,2),false,2,0,0,frandom(-3,3))
      CTCH O 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-12+frandom(-2,2),false,4,0,0,frandom(-3,3))
      CTCH P 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-16+frandom(-2,2),false,6,0,0,frandom(-3,3))
      TNT1 AAA 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 Offset(1,32)
      Goto ReadyLoop
   Deselect:
      TNT1 A 0 A_TakeInventory("TorchCounter",1)
      TNT1 A 0 A_StopSound(CHAN_6)
      CTCH H 0 A_Lower
      CTCH H 1 A_Lower
      Loop
   Select:
      CTCH H 0 A_Raise
      CTCH H 1 A_Raise
      Loop
   Spawn:
      TNT1 A 1 Bright
      Loop
   ThrowFlechette:
      TNT1 A 0 A_JumpIf(waterlevel>=3,"ThrowFlechetteNoFlame")
      TNT1 A 0 A_JumpIfInventory("TorchFuel",1,1)
      Goto ThrowFlechetteNoFlame
      CTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CRFL AABBCCDD 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_FireCustomMissile("ThrowedFlechette2", 0, 0, 0, 0)
      TNT1 A 0 A_TakeInventory("QuickFlechetteToss", 1)
      TNT1 A 0 A_TakeInventory("BrutalArtiPoisonBag", 1)
      CRFL EEFFGG 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      Goto ReadyLoop
   ThrowFlechetteNoFlame:
      TNT1 A 0 A_JumpIf(waterlevel>=3,"ThrowFlechetteNoFlame")
      TNT1 A 0 A_JumpIfInventory("TorchFuel",1,1)
      Goto ThrowFlechetteNoFlame
      TNT1 A 0 A_StopSound(CHAN_6)
      CTCH H 1 Bright Offset(-25,42)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-150,92)
      TNT1 A 1
      CRFL ABCD 2 Offset(1,32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_FireCustomMissile("ThrowedFlechette2", 0, 0, 0, 0)
      TNT1 A 0 A_TakeInventory("QuickFlechetteToss", 1)
      TNT1 A 0 A_TakeInventory("BrutalArtiPoisonBag", 1)
      CRFL EFG 2
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 1
      CTCH H 1 Bright Offset(-150,92)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-25,42)
      Goto ReadyLoop
   RealPunch:
      CTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
   RealPunchLoop:
      TNT1 A 0 Offset(1, 32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_PlaySound("WHOP")
      CKCK AABBCCDD 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_AlertMonsters(1280)
      TNT1 A 0 A_Custompunch(random(40,80)+CallACS("StrengthCalculator")/3,1,0,"BrutalKickPuff", 104)
      TNT1 A 0 A_Recoil(-6)
      CKCK EEEE 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_Recoil(3)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      CKCK DDCCBB 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CKCK A 1
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CKCK A 1
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 1
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 1
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 1
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunchLoop")
      TNT1 AA 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      Goto ReadyLoop
   RealPunchNoFlame:
      TNT1 A 0 A_StopSound(CHAN_6)
      CTCH H 1 Bright Offset(-25,42)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-150,92)
   RealPunchLoopNoFlame:
      TNT1 A 0 Offset(1, 32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_PlaySound("WHOP")
      CKCK AABBCCDD 1
      TNT1 A 0 A_AlertMonsters(1280)
      TNT1 A 0 A_Custompunch(random(40,80)+CallACS("StrengthCalculator")/3,1,0,"BrutalKickPuff", 104)
      TNT1 A 0 A_Recoil(-6)
      CKCK EEEE 1
      TNT1 A 0 A_Recoil(3)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      CKCK DDCCBB 1
      TNT1 A 0
      CKCK AA 1
      TNT1 AAA 1
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunchLoop")
      TNT1 A 1
      CTCH H 1 Bright Offset(-150,92)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-25,42)
      Goto ReadyLoop
   }
}

Actor MageNormalTorch : MageWeapon
{
   Weapon.AmmoUse 1
   Weapon.AmmoGive 500
   Weapon.AmmoType "TorchFuel"
   Weapon.SlotNumber 0
   Weapon.SelectionOrder 0x7fffffff
   Tag "Torch"
   +WEAPON.CHEATNOTWEAPON
   +WEAPON.NOALERT
   States
   {
   Ready:
      CTCH A 0 A_JumpIfNoAmmo("StopBurning")
      TNT1 A 0 A_GiveInventory("TorchCounter",1)
      TNT1 A 0 A_PlaySound("TORCHBRN",CHAN_6,1.0,true)
   ReadyLoop:
      TNT1 A 0 A_AlertMonsters(320,AMF_TARGETEMITTER)
      CTCH A 0 A_JumpIfNoAmmo("StopBurning")
      CTCH A 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH A 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH A 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH B 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH B 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH B 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH C 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH C 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH C 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH D 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH D 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH D 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH E 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      TNT1 A 0 A_AlertMonsters(320,AMF_TARGETEMITTER)
      CTCH E 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH E 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH F 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH F 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH F 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH F 0 A_WeaponReady
      TNT1 A 0 A_JumpIf(waterlevel>=3,"StopBurning")
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH G 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH A 0 A_WeaponReady
      CTCH G 1 bright A_SpawnItemEx ("TorchGlowFlare", 6, 7, 57, 0, 0, 0, -270, 32)
      CTCH F 0 A_JumpIfNoAmmo("StopBurning")
      Loop
   StopBurning:
      TNT1 A 0 A_TakeInventory("TorchCounter",1)
      TNT1 A 0 A_StopSound(CHAN_6)
      TNT1 A 0 A_JumpIfInventory("QuickFlechetteToss", 1, "ThrowFlechette")
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunch")
      CTCH H 1 A_WeaponReady(WRF_NOFIRE)
      Goto Ready
   Fire:
      CTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 AAAAA 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_TakeInventory("TorchFuel",3)
      CTCH I 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",12+frandom(-2,2),false,-8,0,0,frandom(-3,3))
      CTCH J 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",8+frandom(-2,2),false,-6,0,0,frandom(-3,3))
      CTCH K 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",4+frandom(-2,2),false,-4,0,0,frandom(-3,3))
      CTCH L 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",frandom(-2,2),false,-2,0,0,frandom(-3,3))
      CTCH M 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-4+frandom(-2,2),false,0,0,0,frandom(-3,3))
      CTCH N 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-8+frandom(-2,2),false,2,0,0,frandom(-3,3))
      CTCH O 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-12+frandom(-2,2),false,4,0,0,frandom(-3,3))
      CTCH P 1 Bright A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 A_FireCustomMissile("TorchThrownFlame",-16+frandom(-2,2),false,6,0,0,frandom(-3,3))
      TNT1 AAA 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      TNT1 A 0 Offset(1,32)
      Goto ReadyLoop
   Deselect:
      TNT1 A 0 A_TakeInventory("TorchCounter",1)
      TNT1 A 0 A_StopSound(CHAN_6)
      CTCH H 0 A_Lower
      CTCH H 1 A_Lower
      Loop
   Select:
      CTCH H 0 A_Raise
      CTCH H 1 A_Raise
      Loop
   Spawn:
      TNT1 A 1 Bright
      Loop
   ThrowFlechette:
      TNT1 A 0 A_JumpIf(waterlevel>=3,"ThrowFlechetteNoFlame")
      TNT1 A 0 A_JumpIfInventory("TorchFuel",1,1)
      Goto ThrowFlechetteNoFlame
      CTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CRFL AABBCCDD 1 Offset(1,32) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_FireCustomMissile("ThrowedFlechette2", 0, 0, 0, 0)
      TNT1 A 0 A_TakeInventory("QuickFlechetteToss", 1)
      TNT1 A 0 A_TakeInventory("BrutalArtiPoisonBag", 1)
      CRFL EEFFGG 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      Goto ReadyLoop
   ThrowFlechetteNoFlame:
      TNT1 A 0 A_JumpIf(waterlevel>=3,"ThrowFlechetteNoFlame")
      TNT1 A 0 A_JumpIfInventory("TorchFuel",1,1)
      Goto ThrowFlechetteNoFlame
      TNT1 A 0 A_StopSound(CHAN_6)
      CTCH H 1 Bright Offset(-25,42)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-150,92)
      TNT1 A 1
      CRFL ABCD 2 Offset(1,32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_FireCustomMissile("ThrowedFlechette2", 0, 0, 0, 0)
      TNT1 A 0 A_TakeInventory("QuickFlechetteToss", 1)
      TNT1 A 0 A_TakeInventory("BrutalArtiPoisonBag", 1)
      CRFL EFG 2
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      TNT1 A 1
      CTCH H 1 Bright Offset(-150,92)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-25,42)
      Goto ReadyLoop
   RealPunch:
      CTCH A 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
   RealPunchLoop:
      TNT1 A 0 Offset(1, 32)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG E 1 A_PlaySound("ZAAP1")
      TNT1 A 0 A_RailAttack(3,-3,false,"none","none",RGF_NOPIERCING|RGF_SILENT,12,"ForceLightningPuff",8,8,160,0,4,0,"ForceLightningSpark",-8)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG F 1
      TNT1 A 0 A_RailAttack(3,1,false,"none","none",RGF_NOPIERCING|RGF_SILENT,12,"ForceLightningPuff",8,8,160,0,4,0,"ForceLightningSpark",-3)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG G 1
      TNT1 A 0 A_RailAttack(3,5,false,"none","none",RGF_NOPIERCING|RGF_SILENT,12,"ForceLightningPuff",8,8,160,0,4,0,"ForceLightningSpark",2)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG H 1
      TNT1 A 0 A_RailAttack(3,9,false,"none","none",RGF_NOPIERCING|RGF_SILENT,12,"ForceLightningPuff",8,8,160,0,4,0,"ForceLightningSpark",6)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG I 1
      TNT1 A 0 A_RailAttack(3,13,false,"none","none",RGF_NOPIERCING|RGF_SILENT,12,"ForceLightningPuff",8,8,160,0,4,0,"ForceLightningSpark",5)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG J 1
      TNT1 A 0 A_RailAttack(3,17,false,"none","none",RGF_NOPIERCING|RGF_SILENT,12,"ForceLightningPuff",8,8,160,0,4,0,"ForceLightningSpark",4)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG K 1
      TNT1 A 0 A_RailAttack(3,21,false,"none","none",RGF_NOPIERCING|RGF_SILENT,12,"ForceLightningPuff",8,8,160,0,4,0,"ForceLightningSpark",3)
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      RLNG L 1
      TNT1 A 0 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      TNT1 A 4
      TNT1 A 0 A_TakeInventory("Kicking",1)
      TNT1 AA 1 A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-150,92) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH A 1 Bright Offset(-125,82) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-100,72) A_SpawnItemEx ("TorchGlowFlare", 10, 4, 54, 0, 0, 0, -270, 32)
      CTCH B 1 Bright Offset(-75,62) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-50,52) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      CTCH C 1 Bright Offset(-25,42) A_SpawnItemEx ("TorchGlowFlare", 6, 4, 57, 0, 0, 0, -270, 32)
      Goto ReadyLoop
   RealPunchNoFlame:
      TNT1 A 0 A_StopSound(CHAN_6)
      CTCH H 1 Bright Offset(-25,42)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-150,92)
   RealPunchLoopNoFlame:
      TNT1 A 0 Offset(1, 32)
      TNT1 A 0 ACS_NamedExecuteAlways("Attacked",0)
      TNT1 A 0 A_PlaySound("WHOP")
      CKCK AABBCCDD 1
      TNT1 A 0 A_AlertMonsters(1280)
      TNT1 A 0 A_Custompunch(random(40,80)+CallACS("StrengthCalculator")/3,1,0,"BrutalKickPuff", 104)
      TNT1 A 0 A_Recoil(-6)
      CKCK EEEE 1
      TNT1 A 0 A_Recoil(3)
      TNT1 A 0 A_GiveInventory("ActionTaker",1)
      CKCK DDCCBB 1
      TNT1 A 0
      CKCK AA 1
      TNT1 AAA 1
      TNT1 A 0 A_JumpIfInventory("Kicking",1,"RealPunchLoop")
      TNT1 A 1
      CTCH H 1 Bright Offset(-150,92)
      CTCH H 1 Bright Offset(-125,82)
      CTCH H 1 Bright Offset(-100,72)
      CTCH H 1 Bright Offset(-75,62)
      CTCH H 1 Bright Offset(-50,52)
      CTCH H 1 Bright Offset(-25,42)
      Goto ReadyLoop
   }
}

Actor TorchFuel : Ammo
{
   Inventory.PickupSound "misc/pickup"
   Inventory.MaxAmount 500
   Inventory.PickupMessage "You picked up fuel."
   States
   {
   Spawn:
      TNT1 A -1
      Loop
   }
}

ACTOR TorchThrownFlame
{
   Radius 2
   Height 2
   Speed 16
   +THRUACTORS
   +NOTELEPORT
   +DONTSPLASH
   +MISSILE
   +FORCEXYBILLBOARD
   Damage 0
   //Damage (random(6,13))
   +NOBLOOD
   +NOBLOODDECALS
   +BLOODLESSIMPACT
   -BLOODSPLATTER
   +MTHRUSPECIES
   +DONTHARMSPECIES
   RenderStyle Add
   DamageType "TorchFire"
   Scale 0.5
   Alpha 1.0
   Gravity 0
   States
   {
   Spawn:
      TNT1 A 0 NoDelay A_PlaySound("FLAMESPN",7,1.0,true)
      FIR3 A 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 B 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      TNT1 A 0 A_Explode(2, 48, 0, 0, 32)
      FIR3 D 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 E 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 F 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      TNT1 A 0 A_Explode(2, 48, 0, 0, 32)
      FIR3 G 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 H 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 I 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      TNT1 A 0 A_Explode(2, 48, 0, 0, 32)
      FIR3 J 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 K 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 L 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      TNT1 A 0 A_Explode(2, 48, 0, 0, 32)
      TNT1 A 0 A_CustomMissile ("PlasmaSmoke", 3, 0, random (0, 360), 2, random (0, 360))
      FIR3 M 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 N 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      FIR3 O 1 BRIGHT A_SpawnItem("FallenFlareSmall", 0, 0)
      TNT1 A 0 A_Explode(2, 48, 0, 0, 32)
      EXPL A 0 A_CustomMissile ("ExplosionParticle1", 6, 0, 0, 2, random (10, 20))
      FIR3 P 1 BRIGHT A_SpawnItem("FallenFlare", 0, 0)
      TNT1 A 0 A_Explode(2, 48, 0, 0, 32)
      TNT1 A 0 A_CustomMissile ("ExplosionParticle1", 6, 0, random (0, 360), 2, random (10, 90))
      TNT1 A 0 A_StopSound(7)
      Stop
   Death:
      TNT1 A 0 A_Explode(3, 48, 0, 0, 32)
      TNT1 AA 0 A_CustomMissile ("ExplosionParticle1", 6, 0, random (0, 360), 2, random (10, 90))
      Stop
   }
}


Also may I ask, is the GZDoom engines light parameters different on SP to COOP? Seems if you start a coop online, the Fighter torch's light radius is drastically reduced to a point where you can hardly see the light at all? Really strange.

Thankyou very much for your time and hope to speak soon.
User avatar
ZDL_800
 
Joined: 15 May 2019

Return to Scripting

Who is online

Users browsing this forum: No registered users and 1 guest