Projects that alter game functions but do not include new maps belong here.
Forum rules The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Are you like me, a guy who loves not only Doom, but also Heretic and Hexen? Have you ever wanted SO BAD to play your favorite gameplay mods with these Raven games, but there isn't a patch for them avaiable? Well... look no further! I did something based on my Heretic/Hexen patches for my mods, and came up with the idea of expanding them to a wider area.
Keep in mind a few things: - This is not the first time somebody does that! There are other mini mods that do the same, and probably better than me!
- Mods with Custom Color palettes, paletized sprites or custom Enemies might not work 100% or not work at all; I can't help too much if that's the case.
- Sometimes mods which don't replace HUDs might not display ammo values or anything. To help that, i've provided a generic HUD separated from the patch, so, load it together and game on!
WHICH MODS WORK WITH THIS, THEN?
Good you asked! We have OVER 50 MODS working with it! Here's a quick list:
Spoiler:
Ballistics (small palette issues) Doosk Eriguns Hellrider Hell Caliber Meatgrinder (needs a HUD) Final Doomer (needs a HUD) Aliens by Sink (0.99f) - (no custom enemies) Netronian Chaos Space Hunter Combined Arms Highway to Hell Naku Naru Contra Doom (no custom enemies) CT-TRI Dakka GMOTA (with a few errors, but still can run!) Doom Commando Redux (small palette issues) Hell Raider v1.4 (with some sprite issues) Iron Snail Voyage Infernal Killing Floor in Doom (v8) LethalDoom Lithium (v1.4) - (enemies won't give score) Man is the Warmest place to hide Accessories to Murder (no custom enemies) Shut Up And Bleed (no custom enemies) Metroid Dreadnought Argent Pandemonia Doom Incarnate ZRift Nun with a gun (small sound issues) Malice (railgunner mod) xxls-All American xxls-Indiana Jones The Space Pirate (no custom enemies) Operation Apollion The Veteran (needs a HUD) Twilight Zoner Punkwild Quake 4 DBThanatos (blood pallette issues) Neocore SoldierZ ROTT In Hell Wolfenstein Infinity (no custom enemies) Thy Blood Konsumed Angled Doom Insanity's Requiem TSB Doom (needs a HUD) Weapons of Saturn (needs a HUD) LedIris Generic Mod (needs a HUD) veneza (small sprite issues) WW-Diaz (no custom enemies)
Hellrider by Endie/Moa Dixon with Hexen
Meatgrinder by Sgt. Mark IV with Heretic (and our custom HUD!)
Load this after your desired gameplay mod.
Feel free to bring feedback, and i hope you have fun with this!
Dr_Cosmobyte wrote:Indeed! Just discovered that GMOTA by Combine Kegan also works!
Thanks to GoldenMobster72
For the most part, it does seem to work just fine, but I noticed a few issues through a quick playthrough:
1) The Undead Warrior is replaced by an Archer enemy (which is fine), but when you kill it, it gets stuck in its dying animation rather than lying on the ground (which is not so fine).
2) The Torch item does not properly spawn; instead, it is replaced by a diamond icon with an exclamation mark.
3) I get error messages such as the following: "Unknown item class CBADN1 to drop from random spawner" "Unknown item class DBWPSP1 to drop from random spawner"
i gotta say. this is pretty cool. but 1 issue i discovered was that, the flecette things. don't worklike the should. like you can pick'em up. but not use'em
Dr_Cosmobyte wrote:Check out your "inventory use/activate" bound key in the "customize controls" options
i did, and it didn't work. and buttons are set & everything. i tried other inventory things, and they worked. even from the Typhoon mod. but the flecette's don't work at all
About the flechettes, normally in Hexen, they are encompassed by a super class (ArtiPoisonBagGiver) which lets the player class decide via MissileType property which one to actually give on pickup. It is for this reason that there's a "useflechette" command in addition to regular quick use hotkeys.
If you want to spawn each of them independent of playerclass, I suggest a simple RandomSpawner.
The types are as follows:
ArtiPoisonBag1 = Cleric's Poisoncloud ArtiPoisonBag2 = Mage's Timebomb (like the ones in Heretic) ArtiPoisonBag3 = Fighter's Grenade
Dr_Cosmobyte wrote:Check out your "inventory use/activate" bound key in the "customize controls" options
i did, and it didn't work. and buttons are set & everything. i tried other inventory things, and they worked. even from the Typhoon mod. but the flecette's don't work at all
Which mod you're playing this with? Because i can throw them with some mods.
StroggVorbis wrote:About the flechettes, normally in Hexen, they are encompassed by a super class (ArtiPoisonBagGiver) which lets the player class decide via MissileType property which one to actually give on pickup. It is for this reason that there's a "useflechette" command in addition to regular quick use hotkeys.
If you want to spawn each of them independent of playerclass, I suggest a simple RandomSpawner.
The types are as follows:
ArtiPoisonBag1 = Cleric's Poisoncloud ArtiPoisonBag2 = Mage's Timebomb (like the ones in Heretic) ArtiPoisonBag3 = Fighter's Grenade
well there was quite a few, but one mod was what i mentioned, was the Typhon mod. and i know it's not the inventory issue, cause i can be able to use the other thing she has in her bag of stuff just fine. but the flechette's can't be used
Dr_Cosmobyte wrote:Well, thanks for specifying, then i will alert in the list that it has some errors!
I think I now see the problem with the Archer Trooper's death animation: it seems to share the same spriteset naming pattern ("KNIG") as Heretic's Undead Knight. I opened GMOTA.pk3 and renamed all Archer Trooper sprites from KNIG* to KNIA* and then updated every line in Knight Archer.txt accordingly:
Spoiler:
actor ArcherTrooper : actor replaces zombieman
{ Health 175 Radius 20 Height 56 Speed 13 scale 0.9 PainChance 200 Painchance "grappler", 256 Painchance "Blazmelee", 256 Painchance "KustamKick", 256 Painchance "BarrelGrab", 0 DamageFactor "Macepellet", 4 DamageFactor "ThunderPellet", 4 DamageFactor "MaceBomb", 1.5 Mass 200 MONSTER +FLOORCLIP SeeSound "archer/sight" AttackSound "archer/attack" PainSound "archer/pain" DeathSound "archer/death" ActiveSound "archer/growl" bloodtype newbloodsplatter Obituary "%o was pierced by a Knight Archer." dropitem "clip" 256 dropitem "lilchest" 05 States { Spawn: KNIA AB 10 A_Look Loop See: KNIA AABBCCDD 3 A_Chase Loop Missile: KNIA E 0 A_Jump (20,"Fireshot") KNIA E 0 A_Jump (20,"Iceshot") KNIA F 8 A_PlaySound("archer/draw") KNIA F 15 A_FaceTarget KNIA E 5 bright A_CustomMissile("TrooperArrow",32,5) KNIA E 5 Goto See Fireshot: TNT1 A 0 a_playsound ("archer/firecharge",0) KNIA G 2 A_PlaySound("archer/draw") KNIA G 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("FireArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KNIA G 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("FireArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KNIA G 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("FireArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KNIA G 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("FireArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KNIA G 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("FireArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KNIA G 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("FireArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KNIA G 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("FireArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KNIA G 4 a_facetarget
KNIA E 5 bright A_CustomMissile("FireArrow",32,5) TNT1 A 0 a_playsound ("gauntlet/fullcharge",0) TNT1 A 0 a_playsound ("archer/fireshot", 0) KNIA E 5 Goto See Iceshot: TNT1 A 0 a_playsound ("archer/icecharge",0) KAIC A 2 A_PlaySound("archer/draw") KAIC A 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("IceArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KAIC A 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("IceArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KAIC A 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("IceArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KAIC A 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("IceArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KAIC A 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("IceArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KAIC A 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("IceArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KAIC A 4 a_facetarget TNT1 AAA 0 a_spawnitemex ("IceArrowCharge",10,5,45,Frandom(-100,100)/25.0,Frandom(-100,100)/20.0,Frandom(-100,100)/10.0,0) KAIC A 4 a_facetarget KNIA E 5 bright A_CustomMissile("icearrow",32,5) TNT1 A 0 a_playsound ("archer/iceshot", 0) KNIA E 5 Goto See
/*Fireshot: TNT1 A 0 a_playsound ("archer/firecharge",0) KNIA E 10 A_PlaySound("archer/draw") KNIA G 20 A_FaceTarget KNIA G 5 bright A_CustomMissile("FireArrow",32,5) TNT1 A 0 a_playsound ("gauntlet/fullcharge",0) TNT1 A 0 a_playsound ("archer/fireshot", 0) KNIA E 5 Goto See Iceshot: TNT1 A 0 a_playsound ("archer/icecharge",0) KAIC A 8 A_PlaySound("archer/draw") KAIC A 20 A_FaceTarget KAIC A 5 bright A_CustomMissile("icearrow",32,5) TNT1 A 0 a_playsound ("archer/iceshot", 0) KNIA E 5 Goto See*/ Pain: KNIA H 3 TNT1 A 0 a_takeinventory ("PowerKickedStatus",999) KNIA H 3 A_Pain Goto See Pain.KustamKick: Pain.Superkick: KNIA H 3 TNT1 A 0 a_giveinventory ("KickDazer",1) KNIA H 3 A_Pain Goto Dazed Dazed: KNIA AABBCCDD 4 A_Wander KNIA AABBCCDD 4 A_Wander KNIA AABBCCDD 4 A_Wander KNIA AABBCCDD 4 A_Wander TNT1 A 0 a_takeinventory ("PowerKickedStatus",999) Goto See Death: KNIA I 2 A_Scream KNIA I 1 A_NoBlocking KNIA I 1 a_facetarget TNT1 A 0 thrustthingz (0,30,0,1) TNT1 A 0 ThrustThing(angle*256/360+128, 4, 0, 0) KNIA I 3 KNIA J 3 KNIA KLM 4 KNIA N -1 Stop death.blazice: KNIA I 2 a_scream KNIC A 2 A_noblocking TNT1 A 0 a_playsound ("swordtech/freezedeath") TNT1 A 0 a_fadeout (0.20) TNT1 AAAAAAAAAAAA 0 a_spawnitemex ("iceparticle",random(-8,8),random(-8,8),32,random(-100,100)/10.0,random(-100,100)/10.0,random(-100,100)/20.0,0,160) KNIC B 90 bright KNIC C 2 bright TNT1 A 0 a_playsound ("swordtech/iceshatter") TNT1 A 0 A_CustomMissile("icicle", 30,0, 0, CMF_AIMDIRECTION | CMF_TRACKOWNER) TNT1 A 0 A_CustomMissile("icicle", 30,0, 45, CMF_AIMDIRECTION | CMF_TRACKOWNER) TNT1 A 0 A_CustomMissile("icicle", 30,0, 90, CMF_AIMDIRECTION | CMF_TRACKOWNER) TNT1 A 0 A_CustomMissile("icicle", 30,0, 180, CMF_AIMDIRECTION | CMF_TRACKOWNER) TNT1 A 0 A_CustomMissile("icicle", 30,0, 270, CMF_AIMDIRECTION | CMF_TRACKOWNER) TNT1 A 0 A_CustomMissile("icicle", 30,0, 360, CMF_AIMDIRECTION | CMF_TRACKOWNER) TNT1 A 0 a_dropitem ("treatspawner",1,140) TNT1 AAA 0 a_spawnitemex ("icefragment",0,0,0,random(-10,10),random(-10,10),10) TNT1 AAAA 0 a_spawnitemex ("icefragment",0,0,0,random(-4,13),random(-8,13),8) stop death.fatalslash: KNIA H 2 a_scream KNIC A 4 a_noblocking KNIA H 15 randomwait: FDKA A 1 a_jump (20,"split") loop split: FDKA AABBCC 5 FDKA DE 2 FDKA FGHIJ 3 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,30), 0,0,0, 0, SXF_NOCHECKPOSITION,80) FDKA JJJJJ 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,30), 0,0,0, 0, SXF_NOCHECKPOSITION,80) exploding: FDKA J 1 bright TNT1 A 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,30), 0,0,0, 0, SXF_NOCHECKPOSITION, 80) FDKA J 1 bright TNT1 A 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,30), 0,0,0, 0, SXF_NOCHECKPOSITION, 80) FDKA J 1 bright TNT1 A 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,30), 0,0,0, 0, SXF_NOCHECKPOSITION, 80) FDKA J 1 bright a_jump (130,"reallydie") TNT1 A 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,30), 0,0,0, 0, SXF_NOCHECKPOSITION, 80) loop reallydie: TNT1 A 0 TNT1 A 1 a_spawnitemex ("fataldrawdeath",0,0,30) stop XDeath: TNT1 A 0 a_scream KNIA O 3 A_PlaySound("archer/gib") KNIA P 3 A_NoBlocking TNT1 A 0 a_spawnitem ("bigbloodsplatter") TNT1 AAAAAAAA 0 a_spawnitemex ("newbloodsplatter",0,0,24) //TNT1 AAAAAAAA 0 a_spawnitem ("newbloodsplatter") TNT1 AAAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) TNT1 AAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) ISKL AAAAA 0 a_spawnitemex("hipbonegib",0,0,32,random(-10,10),random(-10,10),10) ISKL AAA 0 a_spawnitemex("ribbonegib",0,0,32,random(-10,10),random(-10,10),12) KNIA QRSTUVWX 5 KNIA X -1 Stop Death.sunder: TNT1 A 0 a_scream KNIA O 3 A_PlaySound("archer/gib") KNIA P 3 A_NoBlocking TNT1 A 0 a_spawnitem ("bigbloodsplatter") TNT1 AAAAAAAA 0 a_spawnitem ("newbloodsplatter") TNT1 AAAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) TNT1 AAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) ISKL AAAAA 0 a_spawnitemex("hipbonegib",0,0,32,random(-10,10),random(-10,10),10) ISKL AAA 0 a_spawnitemex("ribbonegib",0,0,32,random(-10,10),random(-10,10),12) TNT1 A 0 a_dropitem ("sunderloot",1) KNIA QRSTUVWX 5 KNIA X -1 Stop Death.Slayermelee: KNIA I 2 A_Scream KNIA I 1 A_NoBlocking KNIA I 1 a_facetarget TNT1 A 0 a_spawnitemex ("sunderlootorb", 0, 0, 0, random (-3, 6), random (-8, 8), random (3,5)) TNT1 A 0 thrustthingz (0,30,0,1) TNT1 A 0 ThrustThing(angle*256/360+128, 4, 0, 0) KNIA I 3 KNIA J 3 KNIA KLM 4 KNIA N -1 Stop Death.slayersupermelee: TNT1 A 0 a_scream KNIA O 3 A_PlaySound("archer/gib") KNIA P 3 A_NoBlocking TNT1 A 0 a_spawnitem ("bigbloodsplatter") TNT1 A 0 a_spawnitemex ("sunderlootorb", 0, 0, 0, random (-3, 6), random (-8, 8), random (3,5)) TNT1 AAAAAAAA 0 a_spawnitem ("newbloodsplatter") TNT1 AAAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) TNT1 AAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) ISKL AAAAA 0 a_spawnitemex("hipbonegib",0,0,32,random(-10,10),random(-10,10),10) ISKL AAA 0 a_spawnitemex("ribbonegib",0,0,32,random(-10,10),random(-10,10),12) KNIA QRSTUVWX 5 KNIA X -1 Stop Death.superkick: KNIA I 1 A_Scream KNIA I 1 a_scalevelocity (0.1) KNIA I 1 a_stop KNIA I 1 A_NoBlocking TNT1 A 0 a_changeflag ("NOCLIP",1) TNT1 A 0 a_changeflag ("NOGRAVITY",1) KNIA I 1 a_facetarget TNT1 A 0 thrustthingz (0,80,0,1) TNT1 A 0 ThrustThing(angle*256/360+128, 110, 1, 0) TNT1 A 0 a_spawnitemex ("kickdeathsound") KNIA I 3 KNIA J 3 kickfly: KNIA KKKKKKK 1 a_spawnitemex ("KustamParticle",random(-8,8),random(-8,8),random(-10,10),random(-120,120)/15.0,random(-130,130)/12.0,random(-110,110)/17.0,0) TNT1 A 0 a_fadeout (0.02) loop Death.SentinelArm: KNIA I 2 A_Scream KNIA I 1 A_NoBlocking KNIA I 1 a_facetarget TNT1 A 0 thrustthingz (0,60,0,1) KNIA I 1 KNIA J 2 KNIA K 2 TNT1 A 0 a_nogravity TNT1 A 0 a_stop TNT1 A 0 a_playsound ("Kustam/OCKill",CHAN_VOICE,1,0,0.4) TNT1 A 0 a_playsound ("Kustam/OCKill",5,1,0,0.6) TNT1 A 0 a_playsound ("Kustam/OCKill",6,1,0,0.6) TNT1 A 0 a_playsound ("Kustam/OCKill",7,1,0,0.6) OCKL ABCDEF 2 bright stop
Raise: KNIA MLKJIH 3 TNT1 A 0 a_jump (60,"chaosexplode") Goto See chaosexplode: TNT1 A 0 TNT1 A 0 A_ChangeFlag("NOPAIN", 1) KNIA A 8 KNIA H 6 A_Pain KNIA A 8 KNIA H 6 A_Pain KNIA A 8 KNIA H 6 A_Pain TNT1 A 0 a_scream TNT1 A 0 A_NoBlocking TNT1 A 0 a_radiusgive ("chaoslaugh",650,RGF_MONSTERS) TNT1 A 0 a_spawnitemex("skellytun",0,0,12,random(-6,6),random(-8,8),random(6,10),0,SXF_NOCHECKPOSITION) TNT1 A 0 a_playsound ("bonelord/explode",0,1,0,0.6) TNT1 A 0 Radius_Quake (4,20,0,32,0) TNT1 A 0 a_spawnitem ("bigbloodsplatter") TNT1 AAAAAAAAAAAA 0 a_spawnitem ("newbloodsplatter") TNT1 AAAAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) ISKL AAAAAAA 0 a_spawnitemex("hipbonegib",0,0,32,random(-10,10),random(-10,10),10) ISKL AAAAA 0 a_spawnitemex("ribbonegib",0,0,32,random(-10,10),random(-10,10),12) TNT1 AAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10) TNT1 A 20 stop } }
actor TrooperArrow { Radius 5 Height 12 Speed 15 Damage (8) PROJECTILE +NOGRAVITY +THRUSPECIES species "enemyshot" scale 0.8 SeeSound "archer/attack" DeathSound "archer/hit" States { Spawn: VEKF A 1 bright A_SpawnItem("TrooperArrowTrail") Loop Death: TNT1 A 0 a_fadeout (0.75) VEKF FGHI 3 bright Stop } }
actor TrooperArrowTrail { +NOCLIP +clientsideonly +NOBLOCKMAP +NOGRAVITY renderstyle add alpha 0.5 States { Spawn: TNT1 A 0 VEKF AABCDE 3 A_FadeOut(0.1) loop } }
actor Firearrow : TrooperArrow { translation "0:255=%[0,0,0]:[2,1,0]" Speed 20 Damage (20) SeeSound "archer/attackboss" States { Spawn: VEKF A 1 bright A_SpawnItem("TrooperArrowTrail2") Loop Death: TNT1 A 0 a_fadeout (0.50) TNT1 AAAA 0 a_spawnitemex("firebomblet",0,0,0,random(-10,10),random(-10,10),10) VEKF FGHI 3 bright Stop } }
actor firebomblet { projectile +hexenbounce +notimefreeze +FORCEXYBILLBOARD +LOOKALLAROUND +bloodlessimpact +thruactors +bounceonceilings +bounceonwalls +thruspecies -bounceonfloors species "enemyshot" -nogravity radius 12 speed 5 damage (0) bouncecount 10 gravity 1.3 Scale 1 states { spawn: FBLT ABCD 1 bright loop death: TNT1 A 0 TNT1 A 0 a_playsound ("gauntlet/midcharge",0) TNT1 A 0 a_spawnitem ("lingeringflame") stop } }
actor lingeringflame { projectile +notimefreeze +FORCEXYBILLBOARD +LOOKALLAROUND +bloodlessimpact +floorhugger speed 0 damage (5) reactiontime 10 states { spawn: LFLM ABCD 3 bright TNT1 A 0 a_countdown loop death: TNT1 A 0 stop } }
actor TrooperArrowTrail2 : TrooperArrowTrail { States { Spawn: VEKG AABCDE 3 A_FadeOut(0.1) loop } }
actor FireArrowCharge { +clientsideonly +nointeraction +Bright projectile Radius 4 Height 5 speed 3 Renderstyle translucent scale 0.5 Alpha 0.70 states { spawn: TNT1 A 0 TNT1 A 4 TNT1 A 0 A_scalevelocity (-1) FBLT A 1 FBLT B 1 FBLT C 1 FBLT D 1 goto death death: TNT1 A 1 stop } }
actor IceArrowCharge : FireArrowCharge { scale 1 states { spawn: TNT1 A 0 TNT1 A 4 TNT1 A 0 A_scalevelocity (-1) WTL1 A 4 goto death death: TNT1 A 1 stop } }
Now Heretic's Undead Knight spawns properly and displays the proper death animation!
You also seem to have forgotten to add a replacer for Heretic's Torch, so I tried adding the following line to DECORATE under the "// Artifacts (Heretic and Hexen)" section:
Spoiler:
ACTOR K2HPower7 : Infrared replaces ArtiTorch {}
Doom's Infrared item spawns instead of the Missing Item icon.