From 2c1d9a7a960269b590ea40d98caf86d269dee824 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 18 Oct 2016 15:15:06 +0200 Subject: [PATCH] - another bunch of Hexen actors converted. --- wadsrc/static/actors/hexen/bats.txt | 47 ---- wadsrc/static/actors/hexen/bishop.txt | 151 ------------ wadsrc/static/actors/hexen/blastradius.txt | 36 --- wadsrc/static/actors/hexen/boostarmor.txt | 21 -- wadsrc/static/actors/hexen/clericboss.txt | 79 ------ wadsrc/static/actors/hexen/clericmace.txt | 46 ---- wadsrc/static/actors/hexen/fighterboss.txt | 80 ------ wadsrc/static/actors/hexen/firedemon.txt | 227 ----------------- wadsrc/static/actors/hexen/flechette.txt | 222 ----------------- wadsrc/static/actors/hexen/fog.txt | 72 ------ wadsrc/static/actors/hexen/mageboss.txt | 83 ------- wadsrc/static/actors/hexen/summon.txt | 61 ----- wadsrc/static/decorate.txt | 12 - wadsrc/static/zscript.txt | 2 +- wadsrc/static/zscript/hexen/bats.txt | 53 ++++ wadsrc/static/zscript/hexen/bishop.txt | 166 +++++++++++++ wadsrc/static/zscript/hexen/blastradius.txt | 42 ++++ wadsrc/static/zscript/hexen/boostarmor.txt | 24 ++ wadsrc/static/zscript/hexen/clericboss.txt | 82 +++++++ wadsrc/static/zscript/hexen/clericmace.txt | 49 ++++ wadsrc/static/zscript/hexen/fighterboss.txt | 83 +++++++ wadsrc/static/zscript/hexen/firedemon.txt | 236 ++++++++++++++++++ wadsrc/static/zscript/hexen/flechette.txt | 254 ++++++++++++++++++++ wadsrc/static/zscript/hexen/fog.txt | 78 ++++++ wadsrc/static/zscript/hexen/mageboss.txt | 86 +++++++ wadsrc/static/zscript/hexen/summon.txt | 71 ++++++ 26 files changed, 1225 insertions(+), 1138 deletions(-) delete mode 100644 wadsrc/static/actors/hexen/bats.txt delete mode 100644 wadsrc/static/actors/hexen/bishop.txt delete mode 100644 wadsrc/static/actors/hexen/blastradius.txt delete mode 100644 wadsrc/static/actors/hexen/boostarmor.txt delete mode 100644 wadsrc/static/actors/hexen/clericboss.txt delete mode 100644 wadsrc/static/actors/hexen/clericmace.txt delete mode 100644 wadsrc/static/actors/hexen/fighterboss.txt delete mode 100644 wadsrc/static/actors/hexen/firedemon.txt delete mode 100644 wadsrc/static/actors/hexen/flechette.txt delete mode 100644 wadsrc/static/actors/hexen/fog.txt delete mode 100644 wadsrc/static/actors/hexen/mageboss.txt delete mode 100644 wadsrc/static/actors/hexen/summon.txt create mode 100644 wadsrc/static/zscript/hexen/bats.txt create mode 100644 wadsrc/static/zscript/hexen/bishop.txt create mode 100644 wadsrc/static/zscript/hexen/blastradius.txt create mode 100644 wadsrc/static/zscript/hexen/boostarmor.txt create mode 100644 wadsrc/static/zscript/hexen/clericboss.txt create mode 100644 wadsrc/static/zscript/hexen/clericmace.txt create mode 100644 wadsrc/static/zscript/hexen/fighterboss.txt create mode 100644 wadsrc/static/zscript/hexen/firedemon.txt create mode 100644 wadsrc/static/zscript/hexen/flechette.txt create mode 100644 wadsrc/static/zscript/hexen/fog.txt create mode 100644 wadsrc/static/zscript/hexen/mageboss.txt create mode 100644 wadsrc/static/zscript/hexen/summon.txt diff --git a/wadsrc/static/actors/hexen/bats.txt b/wadsrc/static/actors/hexen/bats.txt deleted file mode 100644 index 521d46e6ef..0000000000 --- a/wadsrc/static/actors/hexen/bats.txt +++ /dev/null @@ -1,47 +0,0 @@ - -// Bat Spawner -------------------------------------------------------------- - -ACTOR BatSpawner : SwitchableDecoration -{ - +NOBLOCKMAP +NOSECTOR +NOGRAVITY - RenderStyle None - - action native A_BatSpawnInit(); - action native A_BatSpawn(); - - States - { - Spawn: - Active: - TNT1 A 2 - TNT1 A 2 A_BatSpawnInit - TNT1 A 2 A_BatSpawn - Wait - Inactive: - TNT1 A -1 - Stop - } -} - -// Bat ---------------------------------------------------------------------- - -ACTOR Bat -{ - Speed 5 - Radius 3 - Height 3 - +NOBLOCKMAP +NOGRAVITY +MISSILE - +NOTELEPORT +CANPASS - - action native A_BatMove(); - - States - { - Spawn: - ABAT ABC 2 A_BatMove - Loop - Death: - ABAT A 2 - Stop - } -} diff --git a/wadsrc/static/actors/hexen/bishop.txt b/wadsrc/static/actors/hexen/bishop.txt deleted file mode 100644 index 435420ddd8..0000000000 --- a/wadsrc/static/actors/hexen/bishop.txt +++ /dev/null @@ -1,151 +0,0 @@ - -// Bishop ------------------------------------------------------------------- - -ACTOR Bishop -{ - Health 130 - Radius 22 - Height 65 - Speed 10 - PainChance 110 - Monster - +FLOAT +NOGRAVITY +NOBLOOD - +TELESTOMP - +DONTOVERLAP - +NOTARGETSWITCH - SeeSound "BishopSight" - AttackSound "BishopAttack" - PainSound "BishopPain" - DeathSound "BishopDeath" - ActiveSound "BishopActiveSounds" - Obituary"$OB_BISHOP" - - action native A_BishopChase(); - action native A_BishopDecide(); - action native A_BishopDoBlur(); - action native A_BishopSpawnBlur(); - action native A_BishopPainBlur(); - action native A_BishopAttack(); - action native A_BishopAttack2(); - - States - { - Spawn: - BISH A 10 A_Look - Loop - See: - BISH A 2 A_Chase - BISH A 2 A_BishopChase - BISH A 2 - BISH B 2 A_BishopChase - BISH B 2 A_Chase - BISH B 2 A_BishopChase - BISH A 1 A_BishopDecide - Loop - Blur: - BISH A 2 A_BishopDoBlur - BISH A 4 A_BishopSpawnBlur - Wait - Pain: - BISH C 6 A_Pain - BISH CCC 6 A_BishopPainBlur - BISH C 0 - Goto See - Missile: - BISH A 3 A_FaceTarget - BISH DE 3 A_FaceTarget - BISH F 3 A_BishopAttack - BISH F 5 A_BishopAttack2 - Wait - Death: - BISH G 6 - BISH H 6 Bright A_Scream - BISH I 5 Bright A_NoBlocking - BISH J 5 BRIGHT A_Explode(random[BishopBoom](25,40)) - BISH K 5 Bright - BISH LM 4 Bright - BISH N 4 A_SpawnItemEx("BishopPuff", 0,0,40, 0,0,0.5) - BISH O 4 A_QueueCorpse - BISH P -1 - Stop - Ice: - BISH X 5 A_FreezeDeath - BISH X 1 A_FreezeDeathChunks - Wait - } -} - -// Bishop puff -------------------------------------------------------------- - -ACTOR BishopPuff -{ - +NOBLOCKMAP +NOGRAVITY - RenderStyle Translucent - Alpha 0.6 - States - { - Spawn: - BISH QRST 5 - BISH UV 6 - BISH W 5 - Stop - } -} - -// Bishop pain blur --------------------------------------------------------- - -ACTOR BishopPainBlur -{ - +NOBLOCKMAP +NOGRAVITY - RenderStyle Translucent - Alpha 0.6 - States - { - Spawn: - BISH C 8 - Stop - } -} - -// Bishop FX ---------------------------------------------------------------- - -ACTOR BishopFX -{ - Radius 10 - Height 6 - Speed 10 - Damage 1 - Projectile - +SEEKERMISSILE - -ACTIVATEIMPACT -ACTIVATEPCROSS - +STRIFEDAMAGE - RenderStyle Add - DeathSound "BishopMissileExplode" - States - { - Spawn: - BPFX ABAB 1 Bright A_BishopMissileWeave - BPFX B 0 Bright A_SeekerMissile(2,3) - Loop - Death: - BPFX CDEF 4 Bright - BPFX GH 3 Bright - Stop - } -} - -// Bishop blur -------------------------------------------------------------- - -ACTOR BishopBlur -{ - +NOBLOCKMAP +NOGRAVITY - RenderStyle Translucent - Alpha 0.6 - States - { - Spawn: - BISH A 16 - BISH A 8 A_SetTranslucent(0.4) - Stop - } -} diff --git a/wadsrc/static/actors/hexen/blastradius.txt b/wadsrc/static/actors/hexen/blastradius.txt deleted file mode 100644 index 5612404380..0000000000 --- a/wadsrc/static/actors/hexen/blastradius.txt +++ /dev/null @@ -1,36 +0,0 @@ - -ACTOR ArtiBlastRadius : CustomInventory -{ - +FLOATBOB - Inventory.DefMaxAmount - Inventory.PickupFlash "PickupFlash" - +INVBAR +FANCYPICKUPSOUND - Inventory.Icon "ARTIBLST" - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_ARTIBLASTRADIUS" - Tag "$TAG_ARTIBLASTRADIUS" - States - { - Spawn: - BLST ABCDEFGH 4 Bright - Loop - Use: - TNT1 A 0 A_Blast - } -} - -// Blast Effect ------------------------------------------------------------- - -ACTOR BlastEffect -{ - +NOBLOCKMAP +NOGRAVITY +NOCLIP - +NOTELEPORT - RenderStyle Translucent - Alpha 0.666 - States - { - Spawn: - RADE ABCDEFGHI 4 - Stop - } -} diff --git a/wadsrc/static/actors/hexen/boostarmor.txt b/wadsrc/static/actors/hexen/boostarmor.txt deleted file mode 100644 index b55c29f881..0000000000 --- a/wadsrc/static/actors/hexen/boostarmor.txt +++ /dev/null @@ -1,21 +0,0 @@ - -// Boost Armor Artifact (Dragonskin Bracers) -------------------------------- - -ACTOR ArtiBoostArmor : Inventory native -{ - +COUNTITEM - +FLOATBOB - Inventory.DefMaxAmount - Inventory.PickupFlash "PickupFlash" - +INVBAR +FANCYPICKUPSOUND - Inventory.Icon "ARTIBRAC" - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_ARTIBOOSTARMOR" - Tag "$TAG_ARTIBOOSTARMOR" - States - { - Spawn: - BRAC ABCDEFGH 4 Bright - Loop - } -} diff --git a/wadsrc/static/actors/hexen/clericboss.txt b/wadsrc/static/actors/hexen/clericboss.txt deleted file mode 100644 index dac0f741cd..0000000000 --- a/wadsrc/static/actors/hexen/clericboss.txt +++ /dev/null @@ -1,79 +0,0 @@ - -// Cleric Boss (Traductus) -------------------------------------------------- - -ACTOR ClericBoss -{ - Health 800 - PainChance 50 - Speed 25 - Radius 16 - Height 64 - Monster - +FLOORCLIP +TELESTOMP - +DONTMORPH - PainSound "PlayerClericPain" - DeathSound "PlayerClericCrazyDeath" - Obituary "$OBCBOSS" - - action native A_ClericAttack(); - - States - { - Spawn: - CLER A 2 - CLER A 3 A_ClassBossHealth - CLER A 5 A_Look - Wait - See: - CLER ABCD 4 A_FastChase - Loop - Pain: - CLER H 4 - CLER H 4 A_Pain - Goto See - Melee: - Missile: - CLER EF 8 A_FaceTarget - CLER G 10 A_ClericAttack - Goto See - Death: - CLER I 6 - CLER K 6 A_Scream - CLER LL 6 - CLER M 6 A_NoBlocking - CLER NOP 6 - CLER Q -1 - Stop - XDeath: - CLER R 5 A_Scream - CLER S 5 - CLER T 5 A_NoBlocking - CLER UVWXYZ 5 - CLER "[" -1 - Stop - Ice: - CLER "\" 5 A_FreezeDeath - CLER "\" 1 A_FreezeDeathChunks - Wait - Burn: - CLER C 5 Bright A_PlaySound("PlayerClericBurnDeath") - FDTH D 4 Bright - FDTH G 5 Bright - FDTH H 4 Bright A_Scream - FDTH I 5 Bright - FDTH J 4 Bright - FDTH K 5 Bright - FDTH L 4 Bright - FDTH M 5 Bright - FDTH N 4 Bright - FDTH O 5 Bright - FDTH P 4 Bright - FDTH Q 5 Bright - FDTH R 4 Bright - FDTH S 5 Bright A_NoBlocking - FDTH T 4 Bright - FDTH U 5 Bright - FDTH V 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/clericmace.txt b/wadsrc/static/actors/hexen/clericmace.txt deleted file mode 100644 index dfb06d9585..0000000000 --- a/wadsrc/static/actors/hexen/clericmace.txt +++ /dev/null @@ -1,46 +0,0 @@ - -// The Cleric's Mace -------------------------------------------------------- - -ACTOR CWeapMace : ClericWeapon -{ - Weapon.SelectionOrder 3500 - Weapon.KickBack 150 - Weapon.YAdjust -8 - +BLOODSPLATTER - Obituary "$OB_MPCWEAPMACE" - Tag "$TAG_CWEAPMACE" - - action native A_CMaceAttack(); - - States - { - Select: - CMCE A 1 A_Raise - Loop - Deselect: - CMCE A 1 A_Lower - Loop - Ready: - CMCE A 1 A_WeaponReady - Loop - Fire: - CMCE B 2 Offset (60, 20) - CMCE B 1 Offset (30, 33) - CMCE B 2 Offset (8, 45) - CMCE C 1 Offset (8, 45) - CMCE D 1 Offset (8, 45) - CMCE E 1 Offset (8, 45) - CMCE E 1 Offset (-11, 58) A_CMaceAttack - CMCE F 1 Offset (8, 45) - CMCE F 2 Offset (-8, 74) - CMCE F 1 Offset (-20, 96) - CMCE F 8 Offset (-33, 160) - CMCE A 2 Offset (8, 75) A_ReFire - CMCE A 1 Offset (8, 65) - CMCE A 2 Offset (8, 60) - CMCE A 1 Offset (8, 55) - CMCE A 2 Offset (8, 50) - CMCE A 1 Offset (8, 45) - Goto Ready - } -} diff --git a/wadsrc/static/actors/hexen/fighterboss.txt b/wadsrc/static/actors/hexen/fighterboss.txt deleted file mode 100644 index 195c0a1a3a..0000000000 --- a/wadsrc/static/actors/hexen/fighterboss.txt +++ /dev/null @@ -1,80 +0,0 @@ - -// Fighter Boss (Zedek) ----------------------------------------------------- - -ACTOR FighterBoss -{ - health 800 - PainChance 50 - Speed 25 - Radius 16 - Height 64 - Monster - +FLOORCLIP - +TELESTOMP - +DONTMORPH - PainSound "PlayerFighterPain" - DeathSound "PlayerFighterCrazyDeath" - Obituary "$OB_FBOSS" - - action native A_FighterAttack(); - - States - { - Spawn: - PLAY A 2 - PLAY A 3 A_ClassBossHealth - PLAY A 5 A_Look - Wait - See: - PLAY ABCD 4 A_FastChase - Loop - Pain: - PLAY G 4 - PLAY G 4 A_Pain - Goto See - Melee: - Missile: - PLAY E 8 A_FaceTarget - PLAY F 8 A_FighterAttack - Goto See - Death: - PLAY H 6 - PLAY I 6 A_Scream - PLAY JK 6 - PLAY L 6 A_NoBlocking - PLAY M 6 - PLAY N -1 - Stop - XDeath: - PLAY O 5 A_Scream - PLAY P 5 A_SkullPop - PLAY R 5 A_NoBlocking - PLAY STUV 5 - PLAY W -1 - Stop - Ice: - PLAY X 5 A_FreezeDeath - PLAY X 1 A_FreezeDeathChunks - Wait - Burn: - FDTH A 5 Bright A_PlaySound("PlayerFighterBurnDeath") - FDTH B 4 Bright - FDTH G 5 Bright - FDTH H 4 Bright A_Scream - FDTH I 5 Bright - FDTH J 4 Bright - FDTH K 5 Bright - FDTH L 4 Bright - FDTH M 5 Bright - FDTH N 4 Bright - FDTH O 5 Bright - FDTH P 4 Bright - FDTH Q 5 Bright - FDTH R 4 Bright - FDTH S 5 Bright A_NoBlocking - FDTH T 4 Bright - FDTH U 5 Bright - FDTH V 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/firedemon.txt b/wadsrc/static/actors/hexen/firedemon.txt deleted file mode 100644 index 3f96d22acd..0000000000 --- a/wadsrc/static/actors/hexen/firedemon.txt +++ /dev/null @@ -1,227 +0,0 @@ - -// FireDemon ---------------------------------------------------------------- - -ACTOR FireDemon -{ - Health 80 - ReactionTime 8 - PainChance 1 - Speed 13 - Radius 20 - Height 68 - Mass 75 - Damage 1 - Monster - +DROPOFF +NOGRAVITY +FLOAT - +FLOORCLIP +INVULNERABLE +TELESTOMP - SeeSound "FireDemonSpawn" - PainSound "FireDemonPain" - DeathSound "FireDemonDeath" - ActiveSound "FireDemonActive" - Obituary "$OB_FIREDEMON" - - action native A_FiredRocks(); - action native A_FiredChase(); - action native A_FiredAttack(); - action native A_FiredSplotch(); - - States - { - Spawn: - FDMN X 5 Bright - FDMN EFG 10 Bright A_Look - Goto Spawn + 1 - See: - FDMN E 8 Bright - FDMN F 6 Bright - FDMN G 5 Bright - FDMN F 8 Bright - FDMN E 6 Bright - FDMN G 7 Bright A_FiredRocks - FDMN HI 5 Bright - FDMN J 5 Bright A_UnSetInvulnerable - Chase: - FDMN ABC 5 Bright A_FiredChase - Loop - Pain: - FDMN D 0 Bright A_UnSetInvulnerable - FDMN D 6 Bright A_Pain - Goto Chase - Missile: - FDMN K 3 Bright A_FaceTarget - FDMN KKK 5 Bright A_FiredAttack - Goto Chase - Crash: - XDeath: - FDMN M 5 A_FaceTarget - FDMN N 5 A_NoBlocking - FDMN O 5 A_FiredSplotch - Stop - Death: - FDMN D 4 Bright A_FaceTarget - FDMN L 4 Bright A_Scream - FDMN L 4 Bright A_NoBlocking - FDMN L 200 Bright - Stop - Ice: - FDMN R 5 A_FreezeDeath - FDMN R 1 A_FreezeDeathChunks - Wait - } -} - -// FireDemonSplotch1 ------------------------------------------------------- - -ACTOR FireDemonSplotch1 -{ - Health 1000 - ReactionTime 8 - Radius 3 - Height 16 - Mass 100 - +DROPOFF +CORPSE - +NOTELEPORT +FLOORCLIP - States - { - Spawn: - FDMN P 3 - FDMN P 6 A_QueueCorpse - FDMN Y -1 - Stop - } -} - -// FireDemonSplotch2 ------------------------------------------------------- - -ACTOR FireDemonSplotch2 : FireDemonSplotch1 -{ - States - { - Spawn: - FDMN Q 3 - FDMN Q 6 A_QueueCorpse - FDMN Z -1 - Stop - } -} - -// FireDemonRock1 ------------------------------------------------------------ - -ACTOR FireDemonRock1 -{ - Health 1000 - ReactionTime 8 - Radius 3 - Height 5 - Mass 16 - +NOBLOCKMAP +DROPOFF +MISSILE - +NOTELEPORT - - action native A_SmBounce(); - - States - { - Spawn: - FDMN S 4 - Loop - Death: - FDMN S 5 A_SmBounce - XDeath: - FDMN S 200 - Stop - } -} - -// FireDemonRock2 ------------------------------------------------------------ - -ACTOR FireDemonRock2 : FireDemonRock1 -{ - States - { - Spawn: - FDMN T 4 - Loop - Death: - FDMN T 5 A_SmBounce - XDeath: - FDMN T 200 - Stop - } -} - -// FireDemonRock3 ------------------------------------------------------------ - -ACTOR FireDemonRock3 : FireDemonRock1 -{ - States - { - Spawn: - FDMN U 4 - Loop - Death: - FDMN U 5 A_SmBounce - XDeath: - FDMN U 200 - Stop - } -} - -// FireDemonRock4 ------------------------------------------------------------ - -ACTOR FireDemonRock4 : FireDemonRock1 -{ - States - { - Spawn: - FDMN V 4 - Loop - Death: - FDMN V 5 A_SmBounce - XDeath: - FDMN V 200 - Stop - } -} - -// FireDemonRock5 ------------------------------------------------------------ - -ACTOR FireDemonRock5 : FireDemonRock1 -{ - States - { - Spawn: - FDMN W 4 - Loop - Death: - FDMN W 5 A_SmBounce - XDeath: - FDMN W 200 - Stop - } -} - -// FireDemonMissile ----------------------------------------------------------- - -ACTOR FireDemonMissile -{ - Health 1000 - ReactionTime 8 - Speed 10 - Radius 10 - Height 6 - Mass 5 - Damage 1 - DamageType "Fire" - Projectile - RenderStyle Add - DeathSound "FireDemonMissileHit" - States - { - Spawn: - FDMB A 5 Bright - Loop - Death: - FDMB BCDE 5 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/flechette.txt b/wadsrc/static/actors/hexen/flechette.txt deleted file mode 100644 index 2c7fbdc2b4..0000000000 --- a/wadsrc/static/actors/hexen/flechette.txt +++ /dev/null @@ -1,222 +0,0 @@ - -// Poison Bag (Flechette used by Cleric) ------------------------------------ - -ACTOR PoisonBag -{ - Radius 5 - Height 5 - +NOBLOCKMAP +NOGRAVITY - - action native A_PoisonBagInit(); - - States - { - Spawn: - PSBG A 18 Bright - PSBG B 4 Bright - PSBG C 3 - PSBG C 1 A_PoisonBagInit - Stop - } -} - -// Fire Bomb (Flechette used by Mage) --------------------------------------- - -ACTOR FireBomb -{ - DamageType "Fire" - +NOGRAVITY - +FOILINVUL - RenderStyle Translucent - Alpha 0.6 - DeathSound "FlechetteExplode" - - action native A_TimeBomb(); - - States - { - Spawn: - PSBG A 20 - PSBG AA 10 - PSBG B 4 - PSBG C 4 A_Scream - XPL1 A 4 Bright A_TimeBomb - XPL1 BCDEF 4 Bright - Stop - } -} - -// Throwing Bomb (Flechette used by Fighter) -------------------------------- - -ACTOR ThrowingBomb -{ - Health 48 - Speed 12 - Radius 8 - Height 10 - DamageType "Fire" - +NOBLOCKMAP +DROPOFF +MISSILE - BounceType "HexenCompat" - SeeSound "FlechetteBounce" - DeathSound "FlechetteExplode" - - action native A_CheckThrowBomb(); - action native A_CheckThrowBomb2(); - - States - { - Spawn: - THRW A 4 A_CheckThrowBomb - THRW BCDE 3 A_CheckThrowBomb - THRW F 3 A_CheckThrowBomb2 - Loop - THRW G 6 A_CheckThrowBomb - THRW F 4 A_CheckThrowBomb - THRW H 6 A_CheckThrowBomb - THRW F 4 A_CheckThrowBomb - THRW G 6 A_CheckThrowBomb - THRW F 3 A_CheckThrowBomb - Wait - Death: - CFCF Q 4 Bright A_NoGravity - CFCF R 3 Bright A_Scream - CFCF S 4 Bright A_Explode - CFCF T 3 Bright - CFCF U 4 Bright - CFCF W 3 Bright - CFCF X 4 Bright - CFCF Z 3 Bright - Stop - } -} - -// Poison Bag Artifact (Flechette) ------------------------------------------ - -ACTOR ArtiPoisonBag : Inventory native -{ - +FLOATBOB - Inventory.DefMaxAmount - Inventory.PickupFlash "PickupFlash" - +INVBAR +FANCYPICKUPSOUND - Inventory.Icon "ARTIPSBG" - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_ARTIPOISONBAG" - Tag "$TAG_ARTIPOISONBAG" - States - { - Spawn: - PSBG A -1 - Stop - } -} - -// Poison Bag 1 (The Cleric's) ---------------------------------------------- - -ACTOR ArtiPoisonBag1 : ArtiPoisonBag native -{ - Inventory.Icon "ARTIPSB1" - Tag "$TAG_ARTIPOISONBAG1" -} - -// Poison Bag 2 (The Mage's) ------------------------------------------------ - -ACTOR ArtiPoisonBag2 : ArtiPoisonBag native -{ - Inventory.Icon "ARTIPSB2" - Tag "$TAG_ARTIPOISONBAG2" -} - -// Poison Bag 3 (The Fighter's) --------------------------------------------- - -ACTOR ArtiPoisonBag3 : ArtiPoisonBag native -{ - Inventory.Icon "ARTIPSB3" - Tag "$TAG_ARTIPOISONBAG3" -} - - -// Poison Bag 4 (Custom Giver) ---------------------------------------------- - -ACTOR ArtiPoisonBagGiver : ArtiPoisonBag native -{ - Inventory.Icon "ARTIPSB4" -} - -// Poison Bag 5 (Custom Thrower) -------------------------------------------- - -ACTOR ArtiPoisonBagShooter : ArtiPoisonBag native -{ - Inventory.Icon "ARTIPSB5" -} - -// Poison Cloud ------------------------------------------------------------- - -ACTOR PoisonCloud native -{ - Radius 20 - Height 30 - Mass 0x7fffffff - +NOBLOCKMAP +NOGRAVITY +DROPOFF - +NODAMAGETHRUST - +DONTSPLASH +FOILINVUL +CANBLAST +BLOODLESSIMPACT +BLOCKEDBYSOLIDACTORS - RenderStyle Translucent - Alpha 0.6 - DeathSound "PoisonShroomDeath" - DamageType PoisonCloud - - action native A_PoisonBagDamage(); - action native A_PoisonBagCheck(); - - States - { - Spawn: - PSBG D 1 - PSBG D 1 A_Scream - PSBG DEEEFFFGGGHHHII 2 A_PoisonBagDamage - PSBG I 2 A_PoisonBagCheck - PSBG I 1 A_PoisonBagCheck - Goto Spawn + 3 - Death: - PSBG HG 7 - PSBG FD 6 - Stop - } -} - -// Poison Shroom ------------------------------------------------------------ - -ACTOR ZPoisonShroom : PoisonBag -{ - Radius 6 - Height 20 - PainChance 255 - Health 30 - Mass 0x7fffffff - +SHOOTABLE - +SOLID - +NOBLOOD - +NOICEDEATH - -NOBLOCKMAP - -NOGRAVITY - PainSound "PoisonShroomPain" - DeathSound "PoisonShroomDeath" - - action native A_PoisonShroom(); - - States - { - Spawn: - SHRM A 5 A_PoisonShroom - Goto Pain+1 - Pain: - SHRM A 6 - SHRM B 8 A_Pain - Goto Spawn - Death: - SHRM CD 5 - SHRM E 5 A_PoisonBagInit - SHRM F -1 - Stop - } -} - diff --git a/wadsrc/static/actors/hexen/fog.txt b/wadsrc/static/actors/hexen/fog.txt deleted file mode 100644 index 18effbb779..0000000000 --- a/wadsrc/static/actors/hexen/fog.txt +++ /dev/null @@ -1,72 +0,0 @@ - -// Fog Spawner -------------------------------------------------------------- - -ACTOR FogSpawner -{ - +NOSECTOR +NOBLOCKMAP - +FLOATBOB - +NOGRAVITY - +INVISIBLE - - action native A_FogSpawn(); - - States - { - Spawn: - TNT1 A 20 A_FogSpawn - Loop - } -} - -// Small Fog Patch ---------------------------------------------------------- - -ACTOR FogPatchSmall -{ - Speed 1 - +NOBLOCKMAP +NOGRAVITY +NOCLIP +FLOAT - +NOTELEPORT - RenderStyle Translucent - Alpha 0.6 - - action native A_FogMove(); - - States - { - Spawn: - FOGS ABCDE 7 A_FogMove - Loop - Death: - FOGS E 5 - Stop - } -} - -// Medium Fog Patch --------------------------------------------------------- - -ACTOR FogPatchMedium : FogPatchSmall -{ - States - { - Spawn: - FOGM ABCDE 7 A_FogMove - Loop - Death: - FOGS ABCDE 5 - Goto Super::Death - } -} - -// Large Fog Patch ---------------------------------------------------------- - -ACTOR FogPatchLarge : FogPatchMedium -{ - States - { - Spawn: - FOGL ABCDE 7 A_FogMove - Loop - Death: - FOGM ABCDEF 4 - Goto Super::Death - } -} diff --git a/wadsrc/static/actors/hexen/mageboss.txt b/wadsrc/static/actors/hexen/mageboss.txt deleted file mode 100644 index 95f36954ba..0000000000 --- a/wadsrc/static/actors/hexen/mageboss.txt +++ /dev/null @@ -1,83 +0,0 @@ - -// Mage Boss (Menelkir) ----------------------------------------------------- - -ACTOR MageBoss -{ - Health 800 - PainChance 50 - Speed 25 - Radius 16 - Height 64 - Monster - +FLOORCLIP +TELESTOMP - +DONTMORPH - PainSound "PlayerMagePain" - DeathSound "PlayerMageCrazyDeath" - Obituary "$OB_MBOSS" - - action native A_MageAttack(); - - States - { - Spawn: - MAGE A 2 - MAGE A 3 A_ClassBossHealth - MAGE A 5 A_Look - Wait - See: - MAGE ABCD 4 A_FastChase - Loop - Pain: - MAGE G 4 - MAGE G 4 A_Pain - Goto See - Melee: - Missile: - MAGE E 8 A_FaceTarget - MAGE F 8 Bright A_MageAttack - Goto See - Death: - MAGE H 6 - MAGE I 6 A_Scream - MAGE JK 6 - MAGE L 6 A_NoBlocking - MAGE M 6 - MAGE N -1 - Stop - XDeath: - MAGE O 5 A_Scream - MAGE P 5 - MAGE R 5 A_NoBlocking - MAGE S 5 - MAGE T 5 - MAGE U 5 - MAGE V 5 - MAGE W 5 - MAGE X -1 - Stop - Ice: - MAGE Y 5 A_FreezeDeath - MAGE Y 1 A_FreezeDeathChunks - Wait - Burn: - FDTH E 5 Bright A_PlaySound("PlayerMageBurnDeath") - FDTH F 4 Bright - FDTH G 5 Bright - FDTH H 4 Bright A_Scream - FDTH I 5 Bright - FDTH J 4 Bright - FDTH K 5 Bright - FDTH L 4 Bright - FDTH M 5 Bright - FDTH N 4 Bright - FDTH O 5 Bright - FDTH P 4 Bright - FDTH Q 5 Bright - FDTH R 4 Bright - FDTH S 5 Bright A_NoBlocking - FDTH T 4 Bright - FDTH U 5 Bright - FDTH V 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/summon.txt b/wadsrc/static/actors/hexen/summon.txt deleted file mode 100644 index 7a2971562c..0000000000 --- a/wadsrc/static/actors/hexen/summon.txt +++ /dev/null @@ -1,61 +0,0 @@ - -// Dark Servant Artifact ---------------------------------------------------- - -ACTOR ArtiDarkServant : Inventory native -{ - +COUNTITEM - +FLOATBOB - Inventory.RespawnTics 4230 - Inventory.DefMaxAmount - Inventory.PickupFlash "PickupFlash" - +INVBAR +FANCYPICKUPSOUND - Inventory.Icon "ARTISUMN" - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_ARTISUMMON" - Tag "$TAG_ARTISUMMON" - States - { - Spawn: - SUMN A 350 - Loop - } -} - -// Summoning Doll ----------------------------------------------------------- - -ACTOR SummoningDoll -{ - Speed 20 - +NOBLOCKMAP +DROPOFF +MISSILE - +NOTELEPORT - - action native A_Summon(); - - States - { - Spawn: - SUMN A 4 - Loop - Death: - SUMN AA 4 - SUMN A 4 A_Summon - Stop - } -} - -// Minotaur Smoke ----------------------------------------------------------- - -ACTOR MinotaurSmoke -{ - +NOBLOCKMAP +NOGRAVITY - +NOTELEPORT - RenderStyle Translucent - Alpha 0.6 - - States - { - Spawn: - MNSM ABCDEFGHIJKLMNOPQ 3 - Stop - } -} diff --git a/wadsrc/static/decorate.txt b/wadsrc/static/decorate.txt index 92802dc7e5..88ce6a2c78 100644 --- a/wadsrc/static/decorate.txt +++ b/wadsrc/static/decorate.txt @@ -1,15 +1,3 @@ -#include "actors/hexen/firedemon.txt" -#include "actors/hexen/fog.txt" -#include "actors/hexen/summon.txt" -#include "actors/hexen/flechette.txt" -#include "actors/hexen/clericboss.txt" -#include "actors/hexen/fighterboss.txt" -#include "actors/hexen/mageboss.txt" -#include "actors/hexen/bats.txt" -#include "actors/hexen/bishop.txt" -#include "actors/hexen/blastradius.txt" -#include "actors/hexen/boostarmor.txt" -#include "actors/hexen/clericmace.txt" #include "actors/hexen/clericflame.txt" #include "actors/hexen/clericholy.txt" #include "actors/hexen/clericstaff.txt" diff --git a/wadsrc/static/zscript.txt b/wadsrc/static/zscript.txt index 531c353f59..570d6eee32 100644 --- a/wadsrc/static/zscript.txt +++ b/wadsrc/static/zscript.txt @@ -104,7 +104,6 @@ zscript/hexen/speedboots.txt zscript/hexen/ettin.txt zscript/hexen/centaur.txt zscript/hexen/demons.txt -/* zscript/hexen/firedemon.txt zscript/hexen/fog.txt zscript/hexen/summon.txt @@ -117,6 +116,7 @@ zscript/hexen/bishop.txt zscript/hexen/blastradius.txt zscript/hexen/boostarmor.txt zscript/hexen/clericmace.txt +/* zscript/hexen/clericflame.txt zscript/hexen/clericholy.txt zscript/hexen/clericstaff.txt diff --git a/wadsrc/static/zscript/hexen/bats.txt b/wadsrc/static/zscript/hexen/bats.txt new file mode 100644 index 0000000000..f96f932729 --- /dev/null +++ b/wadsrc/static/zscript/hexen/bats.txt @@ -0,0 +1,53 @@ + +// Bat Spawner -------------------------------------------------------------- + +class BatSpawner : SwitchableDecoration +{ + Default + { + +NOBLOCKMAP +NOSECTOR +NOGRAVITY + RenderStyle "None"; + } + + action native void A_BatSpawnInit(); + action native void A_BatSpawn(); + + States + { + Spawn: + Active: + TNT1 A 2; + TNT1 A 2 A_BatSpawnInit; + TNT1 A 2 A_BatSpawn; + Wait; + Inactive: + TNT1 A -1; + Stop; + } +} + +// Bat ---------------------------------------------------------------------- + +class Bat : Actor +{ + Default + { + Speed 5; + Radius 3; + Height 3; + +NOBLOCKMAP +NOGRAVITY +MISSILE + +NOTELEPORT +CANPASS + } + + action native void A_BatMove(); + + States + { + Spawn: + ABAT ABC 2 A_BatMove; + Loop; + Death: + ABAT A 2; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/bishop.txt b/wadsrc/static/zscript/hexen/bishop.txt new file mode 100644 index 0000000000..4dbb0d2262 --- /dev/null +++ b/wadsrc/static/zscript/hexen/bishop.txt @@ -0,0 +1,166 @@ + +// Bishop ------------------------------------------------------------------- + +class Bishop : Actor +{ + Default + { + Health 130; + Radius 22; + Height 65; + Speed 10; + PainChance 110; + Monster; + +FLOAT +NOGRAVITY +NOBLOOD + +TELESTOMP + +DONTOVERLAP + +NOTARGETSWITCH + SeeSound "BishopSight"; + AttackSound "BishopAttack"; + PainSound "BishopPain"; + DeathSound "BishopDeath"; + ActiveSound "BishopActiveSounds"; + Obituary"$OB_BISHOP"; + } + + action native void A_BishopChase(); + action native void A_BishopDecide(); + action native void A_BishopDoBlur(); + action native void A_BishopSpawnBlur(); + action native void A_BishopPainBlur(); + action native void A_BishopAttack(); + action native void A_BishopAttack2(); + + States + { + Spawn: + BISH A 10 A_Look; + Loop; + See: + BISH A 2 A_Chase; + BISH A 2 A_BishopChase; + BISH A 2; + BISH B 2 A_BishopChase; + BISH B 2 A_Chase; + BISH B 2 A_BishopChase; + BISH A 1 A_BishopDecide; + Loop; + Blur: + BISH A 2 A_BishopDoBlur; + BISH A 4 A_BishopSpawnBlur; + Wait; + Pain: + BISH C 6 A_Pain; + BISH CCC 6 A_BishopPainBlur; + BISH C 0; + Goto See; + Missile: + BISH A 3 A_FaceTarget; + BISH DE 3 A_FaceTarget; + BISH F 3 A_BishopAttack; + BISH F 5 A_BishopAttack2; + Wait; + Death: + BISH G 6; + BISH H 6 Bright A_Scream; + BISH I 5 Bright A_NoBlocking; + BISH J 5 BRIGHT A_Explode(random[BishopBoom](25,40)); + BISH K 5 Bright; + BISH LM 4 Bright; + BISH N 4 A_SpawnItemEx("BishopPuff", 0,0,40, 0,0,0.5); + BISH O 4 A_QueueCorpse; + BISH P -1; + Stop; + Ice: + BISH X 5 A_FreezeDeath; + BISH X 1 A_FreezeDeathChunks; + Wait; + } +} + +// Bishop puff -------------------------------------------------------------- + +class BishopPuff : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + RenderStyle "Translucent"; + Alpha 0.6; + } + States + { + Spawn: + BISH QRST 5; + BISH UV 6; + BISH W 5; + Stop; + } +} + +// Bishop pain blur --------------------------------------------------------- + +class BishopPainBlur : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + RenderStyle "Translucent"; + Alpha 0.6; + } + States + { + Spawn: + BISH C 8; + Stop; + } +} + +// Bishop FX ---------------------------------------------------------------- + +class BishopFX : Actor +{ + Default + { + Radius 10; + Height 6; + Speed 10; + Damage 1; + Projectile; + +SEEKERMISSILE + -ACTIVATEIMPACT -ACTIVATEPCROSS + +STRIFEDAMAGE + RenderStyle "Add"; + DeathSound "BishopMissileExplode"; + } + States + { + Spawn: + BPFX ABAB 1 Bright A_BishopMissileWeave; + BPFX B 0 Bright A_SeekerMissile(2,3); + Loop; + Death: + BPFX CDEF 4 Bright; + BPFX GH 3 Bright; + Stop; + } +} + +// Bishop blur -------------------------------------------------------------- + +class BishopBlur : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + RenderStyle "Translucent"; + Alpha 0.6; + } + States + { + Spawn: + BISH A 16; + BISH A 8 A_SetTranslucent(0.4); + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/blastradius.txt b/wadsrc/static/zscript/hexen/blastradius.txt new file mode 100644 index 0000000000..17ac75dc32 --- /dev/null +++ b/wadsrc/static/zscript/hexen/blastradius.txt @@ -0,0 +1,42 @@ + +class ArtiBlastRadius : CustomInventory +{ + Default + { + +FLOATBOB + Inventory.DefMaxAmount; + Inventory.PickupFlash "PickupFlash"; + +INVENTORY.INVBAR +INVENTORY.FANCYPICKUPSOUND + Inventory.Icon "ARTIBLST"; + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_ARTIBLASTRADIUS"; + Tag "$TAG_ARTIBLASTRADIUS"; + } + States + { + Spawn: + BLST ABCDEFGH 4 Bright; + Loop; + Use: + TNT1 A 0 A_Blast; + } +} + +// Blast Effect ------------------------------------------------------------- + +class BlastEffect : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY +NOCLIP + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.666; + } + States + { + Spawn: + RADE ABCDEFGHI 4; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/boostarmor.txt b/wadsrc/static/zscript/hexen/boostarmor.txt new file mode 100644 index 0000000000..4c14b69bc9 --- /dev/null +++ b/wadsrc/static/zscript/hexen/boostarmor.txt @@ -0,0 +1,24 @@ + +// Boost Armor Artifact (Dragonskin Bracers) -------------------------------- + +class ArtiBoostArmor : Inventory native +{ + Default + { + +COUNTITEM + +FLOATBOB + Inventory.DefMaxAmount; + Inventory.PickupFlash "PickupFlash"; + +INVENTORY.INVBAR +INVENTORY.FANCYPICKUPSOUND + Inventory.Icon "ARTIBRAC"; + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_ARTIBOOSTARMOR"; + Tag "$TAG_ARTIBOOSTARMOR"; + } + States + { + Spawn: + BRAC ABCDEFGH 4 Bright; + Loop; + } +} diff --git a/wadsrc/static/zscript/hexen/clericboss.txt b/wadsrc/static/zscript/hexen/clericboss.txt new file mode 100644 index 0000000000..6493cde89c --- /dev/null +++ b/wadsrc/static/zscript/hexen/clericboss.txt @@ -0,0 +1,82 @@ + +// Cleric Boss (Traductus) -------------------------------------------------- + +class ClericBoss : Actor +{ + Default + { + Health 800; + PainChance 50; + Speed 25; + Radius 16; + Height 64; + Monster; + +FLOORCLIP +TELESTOMP + +DONTMORPH + PainSound "PlayerClericPain"; + DeathSound "PlayerClericCrazyDeath"; + Obituary "$OBCBOSS"; + } + + action native void A_ClericAttack(); + + States + { + Spawn: + CLER A 2; + CLER A 3 A_ClassBossHealth; + CLER A 5 A_Look; + Wait; + See: + CLER ABCD 4 A_FastChase; + Loop; + Pain: + CLER H 4; + CLER H 4 A_Pain; + Goto See; + Melee: + Missile: + CLER EF 8 A_FaceTarget; + CLER G 10 A_ClericAttack; + Goto See; + Death: + CLER I 6; + CLER K 6 A_Scream; + CLER LL 6; + CLER M 6 A_NoBlocking; + CLER NOP 6; + CLER Q -1; + Stop; + XDeath: + CLER R 5 A_Scream; + CLER S 5; + CLER T 5 A_NoBlocking; + CLER UVWXYZ 5; + CLER [ -1; + Stop; + Ice: + CLER \ 5 A_FreezeDeath; + CLER \ 1 A_FreezeDeathChunks; + Wait; + Burn: + CLER C 5 Bright A_PlaySound("PlayerClericBurnDeath"); + FDTH D 4 Bright ; + FDTH G 5 Bright ; + FDTH H 4 Bright A_Scream; + FDTH I 5 Bright ; + FDTH J 4 Bright ; + FDTH K 5 Bright ; + FDTH L 4 Bright ; + FDTH M 5 Bright ; + FDTH N 4 Bright ; + FDTH O 5 Bright ; + FDTH P 4 Bright ; + FDTH Q 5 Bright ; + FDTH R 4 Bright ; + FDTH S 5 Bright A_NoBlocking; + FDTH T 4 Bright ; + FDTH U 5 Bright ; + FDTH V 4 Bright ; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/clericmace.txt b/wadsrc/static/zscript/hexen/clericmace.txt new file mode 100644 index 0000000000..5e00b9c3b7 --- /dev/null +++ b/wadsrc/static/zscript/hexen/clericmace.txt @@ -0,0 +1,49 @@ + +// The Cleric's Mace -------------------------------------------------------- + +class CWeapMace : ClericWeapon +{ + Default + { + Weapon.SelectionOrder 3500; + Weapon.KickBack 150; + Weapon.YAdjust -8; + +BLOODSPLATTER + Obituary "$OB_MPCWEAPMACE"; + Tag "$TAG_CWEAPMACE"; + } + + action native void A_CMaceAttack(); + + States + { + Select: + CMCE A 1 A_Raise; + Loop; + Deselect: + CMCE A 1 A_Lower; + Loop; + Ready: + CMCE A 1 A_WeaponReady; + Loop; + Fire: + CMCE B 2 Offset (60, 20); + CMCE B 1 Offset (30, 33); + CMCE B 2 Offset (8, 45); + CMCE C 1 Offset (8, 45); + CMCE D 1 Offset (8, 45); + CMCE E 1 Offset (8, 45); + CMCE E 1 Offset (-11, 58) A_CMaceAttack; + CMCE F 1 Offset (8, 45); + CMCE F 2 Offset (-8, 74); + CMCE F 1 Offset (-20, 96); + CMCE F 8 Offset (-33, 160); + CMCE A 2 Offset (8, 75) A_ReFire; + CMCE A 1 Offset (8, 65); + CMCE A 2 Offset (8, 60); + CMCE A 1 Offset (8, 55); + CMCE A 2 Offset (8, 50); + CMCE A 1 Offset (8, 45); + Goto Ready; + } +} diff --git a/wadsrc/static/zscript/hexen/fighterboss.txt b/wadsrc/static/zscript/hexen/fighterboss.txt new file mode 100644 index 0000000000..aa3e28ce77 --- /dev/null +++ b/wadsrc/static/zscript/hexen/fighterboss.txt @@ -0,0 +1,83 @@ + +// Fighter Boss (Zedek) ----------------------------------------------------- + +class FighterBoss : Actor +{ + Default + { + health 800; + PainChance 50; + Speed 25; + Radius 16; + Height 64; + Monster; + +FLOORCLIP + +TELESTOMP + +DONTMORPH + PainSound "PlayerFighterPain"; + DeathSound "PlayerFighterCrazyDeath"; + Obituary "$OB_FBOSS"; + } + + action native void A_FighterAttack(); + + States + { + Spawn: + PLAY A 2; + PLAY A 3 A_ClassBossHealth; + PLAY A 5 A_Look; + Wait; + See: + PLAY ABCD 4 A_FastChase; + Loop; + Pain: + PLAY G 4; + PLAY G 4 A_Pain; + Goto See; + Melee: + Missile: + PLAY E 8 A_FaceTarget; + PLAY F 8 A_FighterAttack; + Goto See; + Death: + PLAY H 6; + PLAY I 6 A_Scream; + PLAY JK 6; + PLAY L 6 A_NoBlocking; + PLAY M 6; + PLAY N -1; + Stop; + XDeath: + PLAY O 5 A_Scream; + PLAY P 5 A_SkullPop; + PLAY R 5 A_NoBlocking; + PLAY STUV 5; + PLAY W -1; + Stop; + Ice: + PLAY X 5 A_FreezeDeath; + PLAY X 1 A_FreezeDeathChunks; + Wait; + Burn: + FDTH A 5 Bright A_PlaySound("PlayerFighterBurnDeath"); + FDTH B 4 Bright; + FDTH G 5 Bright; + FDTH H 4 Bright A_Scream; + FDTH I 5 Bright; + FDTH J 4 Bright; + FDTH K 5 Bright; + FDTH L 4 Bright; + FDTH M 5 Bright; + FDTH N 4 Bright; + FDTH O 5 Bright; + FDTH P 4 Bright; + FDTH Q 5 Bright; + FDTH R 4 Bright; + FDTH S 5 Bright A_NoBlocking; + FDTH T 4 Bright; + FDTH U 5 Bright; + FDTH V 4 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/firedemon.txt b/wadsrc/static/zscript/hexen/firedemon.txt new file mode 100644 index 0000000000..f793034006 --- /dev/null +++ b/wadsrc/static/zscript/hexen/firedemon.txt @@ -0,0 +1,236 @@ + +// FireDemon ---------------------------------------------------------------- + +class FireDemon : Actor +{ + Default + { + Health 80; + ReactionTime 8; + PainChance 1; + Speed 13; + Radius 20; + Height 68; + Mass 75; + Damage 1; + Monster; + +DROPOFF +NOGRAVITY +FLOAT + +FLOORCLIP +INVULNERABLE +TELESTOMP + SeeSound "FireDemonSpawn"; + PainSound "FireDemonPain"; + DeathSound "FireDemonDeath"; + ActiveSound "FireDemonActive"; + Obituary "$OB_FIREDEMON"; + } + + action native void A_FiredRocks(); + action native void A_FiredChase(); + action native void A_FiredAttack(); + action native void A_FiredSplotch(); + + States + { + Spawn: + FDMN X 5 Bright; + FDMN EFG 10 Bright A_Look; + Goto Spawn + 1; + See: + FDMN E 8 Bright; + FDMN F 6 Bright; + FDMN G 5 Bright; + FDMN F 8 Bright; + FDMN E 6 Bright; + FDMN G 7 Bright A_FiredRocks; + FDMN HI 5 Bright; + FDMN J 5 Bright A_UnSetInvulnerable; + Chase: + FDMN ABC 5 Bright A_FiredChase; + Loop; + Pain: + FDMN D 0 Bright A_UnSetInvulnerable; + FDMN D 6 Bright A_Pain; + Goto Chase; + Missile: + FDMN K 3 Bright A_FaceTarget; + FDMN KKK 5 Bright A_FiredAttack; + Goto Chase; + Crash: + XDeath: + FDMN M 5 A_FaceTarget; + FDMN N 5 A_NoBlocking; + FDMN O 5 A_FiredSplotch; + Stop; + Death: + FDMN D 4 Bright A_FaceTarget; + FDMN L 4 Bright A_Scream; + FDMN L 4 Bright A_NoBlocking; + FDMN L 200 Bright; + Stop; + Ice: + FDMN R 5 A_FreezeDeath; + FDMN R 1 A_FreezeDeathChunks; + Wait; + } +} + +// FireDemonSplotch1 ------------------------------------------------------- + +class FireDemonSplotch1 : Actor +{ + Default + { + ReactionTime 8; + Radius 3; + Height 16; + Mass 100; + +DROPOFF +CORPSE + +NOTELEPORT +FLOORCLIP + } + States + { + Spawn: + FDMN P 3; + FDMN P 6 A_QueueCorpse; + FDMN Y -1; + Stop; + } +} + +// FireDemonSplotch2 ------------------------------------------------------- + +class FireDemonSplotch2 : FireDemonSplotch1 +{ + States + { + Spawn: + FDMN Q 3; + FDMN Q 6 A_QueueCorpse; + FDMN Z -1; + Stop; + } +} + +// FireDemonRock1 ------------------------------------------------------------ + +class FireDemonRock1 : Actor +{ + Default + { + ReactionTime 8; + Radius 3; + Height 5; + Mass 16; + +NOBLOCKMAP +DROPOFF +MISSILE + +NOTELEPORT + } + + action native void A_SmBounce(); + + States + { + Spawn: + FDMN S 4; + Loop; + Death: + FDMN S 5 A_SmBounce; + XDeath: + FDMN S 200; + Stop; + } +} + +// FireDemonRock2 ------------------------------------------------------------ + +class FireDemonRock2 : FireDemonRock1 +{ + States + { + Spawn: + FDMN T 4; + Loop; + Death: + FDMN T 5 A_SmBounce; + XDeath: + FDMN T 200; + Stop; + } +} + +// FireDemonRock3 ------------------------------------------------------------ + +class FireDemonRock3 : FireDemonRock1 +{ + States + { + Spawn: + FDMN U 4; + Loop; + Death: + FDMN U 5 A_SmBounce; + XDeath: + FDMN U 200; + Stop; + } +} + +// FireDemonRock4 ------------------------------------------------------------ + +class FireDemonRock4 : FireDemonRock1 +{ + States + { + Spawn: + FDMN V 4; + Loop; + Death: + FDMN V 5 A_SmBounce; + XDeath: + FDMN V 200; + Stop; + } +} + +// FireDemonRock5 ------------------------------------------------------------ + +class FireDemonRock5 : FireDemonRock1 +{ + States + { + Spawn: + FDMN W 4; + Loop; + Death: + FDMN W 5 A_SmBounce; + XDeath: + FDMN W 200; + Stop; + } +} + +// FireDemonMissile ----------------------------------------------------------- + +class FireDemonMissile : Actor +{ + Default + { + ReactionTime 8; + Speed 10; + Radius 10; + Height 6; + Mass 5; + Damage 1; + DamageType "Fire"; + Projectile; + RenderStyle "Add"; + DeathSound "FireDemonMissileHit"; + } + States + { + Spawn: + FDMB A 5 Bright; + Loop; + Death: + FDMB BCDE 5 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/flechette.txt b/wadsrc/static/zscript/hexen/flechette.txt new file mode 100644 index 0000000000..4b3cd914c5 --- /dev/null +++ b/wadsrc/static/zscript/hexen/flechette.txt @@ -0,0 +1,254 @@ + +// Poison Bag (Flechette used by Cleric) ------------------------------------ + +class PoisonBag : Actor +{ + Default + { + Radius 5; + Height 5; + +NOBLOCKMAP +NOGRAVITY + } + + action native void A_PoisonBagInit(); + + States + { + Spawn: + PSBG A 18 Bright; + PSBG B 4 Bright; + PSBG C 3; + PSBG C 1 A_PoisonBagInit; + Stop; + } +} + +// Fire Bomb (Flechette used by Mage) --------------------------------------- + +class FireBomb : Actor +{ + Default + { + DamageType "Fire"; + +NOGRAVITY + +FOILINVUL + RenderStyle "Translucent"; + Alpha 0.6; + DeathSound "FlechetteExplode"; + } + + action native void A_TimeBomb(); + + States + { + Spawn: + PSBG A 20; + PSBG AA 10; + PSBG B 4; + PSBG C 4 A_Scream; + XPL1 A 4 Bright A_TimeBomb; + XPL1 BCDEF 4 Bright; + Stop; + } +} + +// Throwing Bomb (Flechette used by Fighter) -------------------------------- + +class ThrowingBomb : Actor +{ + Default + { + Health 48; + Speed 12; + Radius 8; + Height 10; + DamageType "Fire"; + +NOBLOCKMAP +DROPOFF +MISSILE + BounceType "HexenCompat"; + SeeSound "FlechetteBounce"; + DeathSound "FlechetteExplode"; + } + + action native void A_CheckThrowBomb(); + action native void A_CheckThrowBomb2(); + + States + { + Spawn: + THRW A 4 A_CheckThrowBomb; + THRW BCDE 3 A_CheckThrowBomb; + THRW F 3 A_CheckThrowBomb2; + Loop; + THRW G 6 A_CheckThrowBomb; + THRW F 4 A_CheckThrowBomb; + THRW H 6 A_CheckThrowBomb; + THRW F 4 A_CheckThrowBomb; + THRW G 6 A_CheckThrowBomb; + THRW F 3 A_CheckThrowBomb; + Wait; + Death: + CFCF Q 4 Bright A_NoGravity; + CFCF R 3 Bright A_Scream; + CFCF S 4 Bright A_Explode; + CFCF T 3 Bright; + CFCF U 4 Bright; + CFCF W 3 Bright; + CFCF X 4 Bright; + CFCF Z 3 Bright; + Stop; + } +} + +// Poison Bag Artifact (Flechette) ------------------------------------------ + +class ArtiPoisonBag : Inventory native +{ + Default + { + +FLOATBOB + Inventory.DefMaxAmount; + Inventory.PickupFlash "PickupFlash"; + +INVENTORY.INVBAR +INVENTORY.FANCYPICKUPSOUND + Inventory.Icon "ARTIPSBG"; + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_ARTIPOISONBAG"; + Tag "$TAG_ARTIPOISONBAG"; + } + States + { + Spawn: + PSBG A -1; + Stop; + } +} + +// Poison Bag 1 (The Cleric's) ---------------------------------------------- + +class ArtiPoisonBag1 : ArtiPoisonBag native +{ + Default + { + Inventory.Icon "ARTIPSB1"; + Tag "$TAG_ARTIPOISONBAG1"; + } +} + +// Poison Bag 2 (The Mage's) ------------------------------------------------ + +class ArtiPoisonBag2 : ArtiPoisonBag native +{ + Default + { + Inventory.Icon "ARTIPSB2"; + Tag "$TAG_ARTIPOISONBAG2"; + } +} + +// Poison Bag 3 (The Fighter's) --------------------------------------------- + +class ArtiPoisonBag3 : ArtiPoisonBag native +{ + Default + { + Inventory.Icon "ARTIPSB3"; + Tag "$TAG_ARTIPOISONBAG3"; + } +} + +// Poison Bag 4 (Custom Giver) ---------------------------------------------- + +class ArtiPoisonBagGiver : ArtiPoisonBag native +{ + Default + { + Inventory.Icon "ARTIPSB4"; + } +} + +// Poison Bag 5 (Custom Thrower) -------------------------------------------- + +class ArtiPoisonBagShooter : ArtiPoisonBag native +{ + Default + { + Inventory.Icon "ARTIPSB5"; + } +} + +// Poison Cloud ------------------------------------------------------------- + +class PoisonCloud : Actor native +{ + Default + { + Radius 20; + Height 30; + Mass 0x7fffffff; + +NOBLOCKMAP +NOGRAVITY +DROPOFF + +NODAMAGETHRUST + +DONTSPLASH +FOILINVUL +CANBLAST +BLOODLESSIMPACT +BLOCKEDBYSOLIDACTORS + RenderStyle "Translucent"; + Alpha 0.6; + DeathSound "PoisonShroomDeath"; + DamageType "PoisonCloud"; + } + + action native void A_PoisonBagDamage(); + action native void A_PoisonBagCheck(); + + States + { + Spawn: + PSBG D 1; + PSBG D 1 A_Scream; + PSBG DEEEFFFGGGHHHII 2 A_PoisonBagDamage; + PSBG I 2 A_PoisonBagCheck; + PSBG I 1 A_PoisonBagCheck; + Goto Spawn + 3; + Death: + PSBG HG 7; + PSBG FD 6; + Stop; + } +} + +// Poison Shroom ------------------------------------------------------------ + +class ZPoisonShroom : PoisonBag +{ + Default + { + Radius 6; + Height 20; + PainChance 255; + Health 30; + Mass 0x7fffffff; + +SHOOTABLE + +SOLID + +NOBLOOD + +NOICEDEATH + -NOBLOCKMAP + -NOGRAVITY + PainSound "PoisonShroomPain"; + DeathSound "PoisonShroomDeath"; + } + + action native void A_PoisonShroom(); + + States + { + Spawn: + SHRM A 5 A_PoisonShroom; + Goto Pain+1; + Pain: + SHRM A 6; + SHRM B 8 A_Pain; + Goto Spawn; + Death: + SHRM CD 5; + SHRM E 5 A_PoisonBagInit; + SHRM F -1; + Stop; + } +} + diff --git a/wadsrc/static/zscript/hexen/fog.txt b/wadsrc/static/zscript/hexen/fog.txt new file mode 100644 index 0000000000..84cc6c03eb --- /dev/null +++ b/wadsrc/static/zscript/hexen/fog.txt @@ -0,0 +1,78 @@ + +// Fog Spawner -------------------------------------------------------------- + +class FogSpawner : Actor +{ + Default + { + +NOSECTOR +NOBLOCKMAP + +FLOATBOB + +NOGRAVITY + +INVISIBLE + } + + action native void A_FogSpawn(); + + States + { + Spawn: + TNT1 A 20 A_FogSpawn; + Loop; + } +} + +// Small Fog Patch ---------------------------------------------------------- + +class FogPatchSmall : Actor +{ + Default + { + Speed 1; + +NOBLOCKMAP +NOGRAVITY +NOCLIP +FLOAT + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.6; + } + + action native void A_FogMove(); + + States + { + Spawn: + FOGS ABCDE 7 A_FogMove; + Loop; + Death: + FOGS E 5; + Stop; + } +} + +// Medium Fog Patch --------------------------------------------------------- + +class FogPatchMedium : FogPatchSmall +{ + States + { + Spawn: + FOGM ABCDE 7 A_FogMove; + Loop; + Death: + FOGS ABCDE 5; + Goto Super::Death; + } +} + +// Large Fog Patch ---------------------------------------------------------- + +class FogPatchLarge : FogPatchMedium +{ + States + { + Spawn: + FOGL ABCDE 7 A_FogMove; + Loop; + Death: + FOGM ABCDEF 4; + Goto Super::Death; + } +} diff --git a/wadsrc/static/zscript/hexen/mageboss.txt b/wadsrc/static/zscript/hexen/mageboss.txt new file mode 100644 index 0000000000..083d210162 --- /dev/null +++ b/wadsrc/static/zscript/hexen/mageboss.txt @@ -0,0 +1,86 @@ + +// Mage Boss (Menelkir) ----------------------------------------------------- + +class MageBoss : Actor +{ + Default + { + Health 800; + PainChance 50; + Speed 25; + Radius 16; + Height 64; + Monster; + +FLOORCLIP +TELESTOMP + +DONTMORPH + PainSound "PlayerMagePain"; + DeathSound "PlayerMageCrazyDeath"; + Obituary "$OB_MBOSS"; + } + + action native void A_MageAttack(); + + States + { + Spawn: + MAGE A 2; + MAGE A 3 A_ClassBossHealth; + MAGE A 5 A_Look; + Wait; + See: + MAGE ABCD 4 A_FastChase; + Loop; + Pain: + MAGE G 4; + MAGE G 4 A_Pain; + Goto See; + Melee: + Missile: + MAGE E 8 A_FaceTarget; + MAGE F 8 Bright A_MageAttack; + Goto See; + Death: + MAGE H 6; + MAGE I 6 A_Scream; + MAGE JK 6; + MAGE L 6 A_NoBlocking; + MAGE M 6; + MAGE N -1; + Stop; + XDeath: + MAGE O 5 A_Scream; + MAGE P 5; + MAGE R 5 A_NoBlocking; + MAGE S 5; + MAGE T 5; + MAGE U 5; + MAGE V 5; + MAGE W 5; + MAGE X -1; + Stop; + Ice: + MAGE Y 5 A_FreezeDeath; + MAGE Y 1 A_FreezeDeathChunks; + Wait; + Burn: + FDTH E 5 Bright A_PlaySound("PlayerMageBurnDeath"); + FDTH F 4 Bright; + FDTH G 5 Bright; + FDTH H 4 Bright A_Scream; + FDTH I 5 Bright; + FDTH J 4 Bright; + FDTH K 5 Bright; + FDTH L 4 Bright; + FDTH M 5 Bright; + FDTH N 4 Bright; + FDTH O 5 Bright; + FDTH P 4 Bright; + FDTH Q 5 Bright; + FDTH R 4 Bright; + FDTH S 5 Bright A_NoBlocking; + FDTH T 4 Bright; + FDTH U 5 Bright; + FDTH V 4 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/summon.txt b/wadsrc/static/zscript/hexen/summon.txt new file mode 100644 index 0000000000..395d4760d5 --- /dev/null +++ b/wadsrc/static/zscript/hexen/summon.txt @@ -0,0 +1,71 @@ + +// Dark Servant Artifact ---------------------------------------------------- + +class ArtiDarkServant : Inventory native +{ + Default + { + +COUNTITEM + +FLOATBOB + Inventory.RespawnTics 4230; + Inventory.DefMaxAmount; + Inventory.PickupFlash "PickupFlash"; + +INVENTORY.INVBAR + +INVENTORY.FANCYPICKUPSOUND + Inventory.Icon "ARTISUMN"; + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_ARTISUMMON"; + Tag "$TAG_ARTISUMMON"; + } + States + { + Spawn: + SUMN A 350; + Loop; + } +} + +// Summoning Doll ----------------------------------------------------------- + +class SummoningDoll : Actor +{ + Default + { + Speed 20; + +NOBLOCKMAP +DROPOFF +MISSILE + +NOTELEPORT + } + + action native void A_Summon(); + + States + { + Spawn: + SUMN A 4; + Loop; + Death: + SUMN AA 4; + SUMN A 4 A_Summon; + Stop; + } +} + +// Minotaur Smoke ----------------------------------------------------------- + +class MinotaurSmoke : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.6; + + } + States + { + Spawn: + MNSM ABCDEFGHIJKLMNOPQ 3; + Stop; + } +}