diff --git a/wadsrc/static/actors/strife/acolyte.txt b/wadsrc/static/actors/strife/acolyte.txt deleted file mode 100644 index f190fb928..000000000 --- a/wadsrc/static/actors/strife/acolyte.txt +++ /dev/null @@ -1,185 +0,0 @@ - -// Base class for the acolytes ---------------------------------------------- - -ACTOR Acolyte : StrifeHumanoid -{ - Health 70 - PainChance 150 - Speed 7 - Radius 24 - Height 64 - Mass 400 - Monster - +SEESDAGGERS - +NOSPLASHALERT - +FLOORCLIP - +NEVERRESPAWN - MinMissileChance 150 - Tag "$TAG_ACOLYTE" - SeeSound "acolyte/sight" - PainSound "acolyte/pain" - AttackSound "acolyte/rifle" - DeathSound "acolyte/death" - ActiveSound "acolyte/active" - Obituary "$OB_ACOLYTE" - - action native A_BeShadowyFoe (); - action native A_AcolyteBits (); - action native A_AcolyteDie (); - - States - { - Spawn: - AGRD A 5 A_Look2 - Wait - AGRD B 8 A_ClearShadow - Loop - AGRD D 8 - Loop - AGRD ABCDABCD 5 A_Wander - Loop - See: - AGRD A 6 Fast Slow A_AcolyteBits - AGRD BCD 6 Fast Slow A_Chase - Loop - Missile: - AGRD E 8 Fast Slow A_FaceTarget - AGRD FE 4 Fast Slow A_ShootGun - AGRD F 6 Fast Slow A_ShootGun - Goto See - Pain: - AGRD O 8 Fast Slow A_Pain - Goto See - Death: - AGRD G 4 - AGRD H 4 A_Scream - AGRD I 4 - AGRD J 3 - AGRD K 3 A_NoBlocking - AGRD L 3 - AGRD M 3 A_AcolyteDie - AGRD N -1 - Stop - XDeath: - GIBS A 5 A_NoBlocking - GIBS BC 5 A_TossGib - GIBS D 4 A_TossGib - GIBS E 4 A_XScream - GIBS F 4 A_TossGib - GIBS GH 4 - GIBS I 5 - GIBS J 5 A_AcolyteDie - GIBS K 5 - GIBS L 1400 - Stop - } -} - - -// Acolyte 1 ---------------------------------------------------------------- - -ACTOR AcolyteTan : Acolyte -{ - +MISSILEMORE +MISSILEEVENMORE - DropItem "ClipOfBullets" -} - -// Acolyte 2 ---------------------------------------------------------------- - -ACTOR AcolyteRed : Acolyte -{ - +MISSILEMORE +MISSILEEVENMORE - Translation 0 -} - -// Acolyte 3 ---------------------------------------------------------------- - -ACTOR AcolyteRust : Acolyte -{ - +MISSILEMORE +MISSILEEVENMORE - Translation 1 -} - -// Acolyte 4 ---------------------------------------------------------------- - -ACTOR AcolyteGray : Acolyte -{ - +MISSILEMORE +MISSILEEVENMORE - Translation 2 -} - -// Acolyte 5 ---------------------------------------------------------------- - -ACTOR AcolyteDGreen : Acolyte -{ - +MISSILEMORE +MISSILEEVENMORE - Translation 3 -} - -// Acolyte 6 ---------------------------------------------------------------- - -ACTOR AcolyteGold : Acolyte -{ - +MISSILEMORE +MISSILEEVENMORE - Translation 4 -} - -// Acolyte 7 ---------------------------------------------------------------- - -ACTOR AcolyteLGreen : Acolyte -{ - Health 60 - Translation 5 -} - -// Acolyte 8 ---------------------------------------------------------------- - -ACTOR AcolyteBlue : Acolyte -{ - Health 60 - Translation 6 -} - -// Shadow Acolyte ----------------------------------------------------------- - -ACTOR AcolyteShadow : Acolyte -{ - +MISSILEMORE - DropItem "ClipOfBullets" - States - { - See: - AGRD A 6 A_BeShadowyFoe - Goto Super::See+1 - Pain: - AGRD O 0 Fast Slow A_SetShadow - AGRD O 8 Fast Slow A_Pain - Goto See - } -} - -// Some guy turning into an acolyte ----------------------------------------- - -ACTOR AcolyteToBe : Acolyte -{ - Health 61 - Radius 20 - Height 56 - DeathSound "becoming/death" - -COUNTKILL - -ISMONSTER - - action native A_HideDecepticon (); - - States - { - Spawn: - ARMR A -1 - Stop - Pain: - ARMR A -1 A_HideDecepticon - Stop - Death: - Goto XDeath - } -} diff --git a/wadsrc/static/actors/strife/alienspectres.txt b/wadsrc/static/actors/strife/alienspectres.txt deleted file mode 100644 index 0476fdfdf..000000000 --- a/wadsrc/static/actors/strife/alienspectres.txt +++ /dev/null @@ -1,202 +0,0 @@ - -// Alien Spectre 1 ----------------------------------------------------------- - -ACTOR AlienSpectre1 : SpectralMonster -{ - Health 1000 - Painchance 250 - Speed 12 - Radius 64 - Height 64 - FloatSpeed 5 - Mass 1000 - MinMissileChance 150 - RenderStyle Translucent - Alpha 0.666 - SeeSound "alienspectre/sight" - AttackSound "alienspectre/blade" - PainSound "alienspectre/pain" - DeathSound "alienspectre/death" - ActiveSound "alienspectre/active" - Obituary "$OB_ALIENSPECTRE" - +NOGRAVITY - +FLOAT - +SHADOW - +NOTDMATCH - +DONTMORPH - +NOBLOCKMONST - +INCOMBAT - +LOOKALLAROUND - +NOICEDEATH - - action native A_AlienSpectreDeath (); - - states - { - Spawn: - ALN1 A 10 A_Look - ALN1 B 10 A_SentinelBob - Loop - See: - ALN1 AB 4 Bright A_Chase - ALN1 C 4 Bright A_SentinelBob - ALN1 DEF 4 Bright A_Chase - ALN1 G 4 Bright A_SentinelBob - ALN1 HIJ 4 Bright A_Chase - ALN1 K 4 Bright A_SentinelBob - Loop - Melee: - ALN1 J 4 Bright A_FaceTarget - ALN1 I 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5) - ALN1 H 4 Bright - Goto See - Missile: - ALN1 J 4 Bright A_FaceTarget - ALN1 I 4 Bright A_SpotLightning - ALN1 H 4 Bright - Goto See+10 - Pain: - ALN1 J 2 A_Pain - Goto See+6 - Death: - AL1P A 6 Bright A_SpectreChunkSmall - AL1P B 6 Bright A_Scream - AL1P C 6 Bright A_SpectreChunkSmall - AL1P DE 6 Bright - AL1P F 6 Bright A_SpectreChunkSmall - AL1P G 6 Bright - AL1P H 6 Bright A_SpectreChunkSmall - AL1P IJK 6 Bright - AL1P LM 5 Bright - AL1P N 5 Bright A_SpectreChunkLarge - AL1P OPQ 5 Bright - AL1P R 5 Bright A_AlienSpectreDeath - Stop - } -} - - -// Alien Spectre 2 ----------------------------------------------------------- - -ACTOR AlienSpectre2 : AlienSpectre1 -{ - Health 1200 - Painchance 50 - Radius 24 - DropItem "Sigil2" - States - { - Missile: - ALN1 F 4 A_FaceTarget - ALN1 I 4 A_CustomMissile("SpectralLightningH3", 32, 0) - ALN1 E 4 - Goto See+10 - } -} - -// Alien Spectre 3 ---------------------------------------------------------- -// This is the Oracle's personal spectre, so it's a little different. - -ACTOR AlienSpectre3 : AlienSpectre1 -{ - Health 1500 - Painchance 50 - Radius 24 - +SPAWNCEILING - DropItem "Sigil3" - DamageFactor "SpectralLow", 0 - states - { - Spawn: - ALN1 ABCDEFGHIJK 5 - Loop - See: - ALN1 AB 5 A_Chase - ALN1 C 5 A_SentinelBob - ALN1 DEF 5 A_Chase - ALN1 G 5 A_SentinelBob - ALN1 HIJ 5 A_Chase - ALN1 K 5 A_SentinelBob - Loop - Melee: - ALN1 J 4 A_FaceTarget - ALN1 I 4 A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5) - ALN1 C 4 - Goto See+2 - Missile: - ALN1 F 4 A_FaceTarget - ALN1 I 4 A_Spectre3Attack - ALN1 E 4 - Goto See+10 - Pain: - ALN1 J 2 A_Pain - Goto See+6 - } -} - - -// Alien Spectre 4 ----------------------------------------------------------- - -ACTOR AlienSpectre4 : AlienSpectre1 -{ - Health 1700 - Painchance 50 - Radius 24 - DropItem "Sigil4" - States - { - Missile: - ALN1 F 4 A_FaceTarget - ALN1 I 4 A_CustomMissile("SpectralLightningBigV2", 32, 0) - ALN1 E 4 - Goto See+10 - } -} - - -// Alien Spectre 5 ----------------------------------------------------------- - -ACTOR AlienSpectre5 : AlienSpectre1 -{ - Health 2000 - Painchance 50 - Radius 24 - DropItem "Sigil5" - States - { - Missile: - ALN1 F 4 A_FaceTarget - ALN1 I 4 A_CustomMissile("SpectralLightningBigBall2", 32, 0) - ALN1 E 4 - Goto See+10 - } -} - -// Small Alien Chunk -------------------------------------------------------- - -ACTOR AlienChunkSmall -{ - +NOBLOCKMAP - +NOCLIP - States - { - Spawn: - NODE ABCDEFG 6 Bright - Stop - } -} - -// Large Alien Chunk -------------------------------------------------------- - -ACTOR AlienChunkLarge -{ - +NOBLOCKMAP - +NOCLIP - States - { - Spawn: - MTHD ABCDEFGHIJK 5 Bright - Stop - } -} - diff --git a/wadsrc/static/actors/strife/beggars.txt b/wadsrc/static/actors/strife/beggars.txt deleted file mode 100644 index eca6e67f4..000000000 --- a/wadsrc/static/actors/strife/beggars.txt +++ /dev/null @@ -1,87 +0,0 @@ - -// Base class for the beggars --------------------------------------------- - -ACTOR Beggar : StrifeHumanoid -{ - Health 20 - PainChance 250 - Speed 3 - Radius 20 - Height 56 - Monster - +JUSTHIT - -COUNTKILL - +NOSPLASHALERT - MinMissileChance 150 - Tag "$TAG_BEGGAR" - MaxStepHeight 16 - MaxDropoffHeight 32 - HitObituary "$OB_BEGGAR" - - AttackSound "beggar/attack" - PainSound "beggar/pain" - DeathSound "beggar/death" - States - { - Spawn: - BEGR A 10 A_Look - Loop - See: - BEGR AABBCC 4 A_Wander - Loop - Melee: - BEGR D 8 - BEGR D 8 A_CustomMeleeAttack(2*random[PeasantAttack](1,5)+2) - BEGR E 1 A_Chase - BEGR D 8 A_SentinelRefire - Loop - Pain: - BEGR A 3 A_Pain - BEGR A 3 A_Chase - Goto Melee - Death: - BEGR F 4 - BEGR G 4 A_Scream - BEGR H 4 - BEGR I 4 A_NoBlocking - BEGR JKLM 4 - BEGR N -1 - Stop - XDeath: - BEGR F 5 A_TossGib - GIBS M 5 A_TossGib - GIBS N 5 A_XScream - GIBS O 5 A_NoBlocking - GIBS PQRST 4 A_TossGib - GIBS U 5 - GIBS V 1400 - Stop - } -} - - -// Beggars ----------------------------------------------------------------- - -ACTOR Beggar1 : Beggar -{ -} - - -ACTOR Beggar2 : Beggar -{ -} - - -ACTOR Beggar3 : Beggar -{ -} - - -ACTOR Beggar4 : Beggar -{ -} - - -ACTOR Beggar5 : Beggar -{ -} diff --git a/wadsrc/static/actors/strife/coin.txt b/wadsrc/static/actors/strife/coin.txt deleted file mode 100644 index b410d25a1..000000000 --- a/wadsrc/static/actors/strife/coin.txt +++ /dev/null @@ -1,84 +0,0 @@ - -// Coin --------------------------------------------------------------------- - -ACTOR Coin : Inventory native -{ - +DROPPED - +NOTDMATCH - +FLOORCLIP - Inventory.MaxAmount 0x7fffffff - +INVENTORY.INVBAR - Tag "$TAG_COIN" - Inventory.Icon "I_COIN" - Inventory.PickupMessage "$TXT_COIN" - States - { - Spawn: - COIN A -1 - Stop - } -} - - -// 10 Gold ------------------------------------------------------------------ - -ACTOR Gold10 : Coin -{ - Inventory.Amount 10 - Tag "$TAG_10GOLD" - Inventory.PickupMessage "$TXT_10GOLD" - States - { - Spawn: - CRED A -1 - Stop - } -} - -// 25 Gold ------------------------------------------------------------------ - -ACTOR Gold25 : Coin -{ - Inventory.Amount 25 - Tag "$TAG_25GOLD" - Inventory.PickupMessage "$TXT_25GOLD" - States - { - Spawn: - SACK A -1 - Stop - } -} - -// 50 Gold ------------------------------------------------------------------ - -ACTOR Gold50 : Coin -{ - Inventory.Amount 50 - Tag "$TAG_50GOLD" - Inventory.PickupMessage "$TXT_50GOLD" - States - { - Spawn: - CHST A -1 - Stop - } -} - -// 300 Gold ------------------------------------------------------------------ - -ACTOR Gold300 : Coin -{ - Inventory.Amount 300 - Tag "$TAG_300GOLD" - Inventory.PickupMessage "$TXT_300GOLD" - Inventory.GiveQuest 3 - +INVENTORY.ALWAYSPICKUP - States - { - Spawn: - TOKN A -1 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/crusader.txt b/wadsrc/static/actors/strife/crusader.txt deleted file mode 100644 index c39747471..000000000 --- a/wadsrc/static/actors/strife/crusader.txt +++ /dev/null @@ -1,122 +0,0 @@ - -// Crusader ----------------------------------------------------------------- - -ACTOR Crusader -{ - Speed 8 - Radius 40 - Height 56 - Mass 400 - Health 400 - Painchance 128 - Monster - +FLOORCLIP - +DONTMORPH - +MISSILEMORE - +INCOMBAT - +NOICEDEATH - +NOBLOOD - MinMissileChance 120 - MaxDropoffHeight 32 - DropItem "EnergyPod", 256, 20 - SeeSound "crusader/sight" - PainSound "crusader/pain" - DeathSound "crusader/death" - ActiveSound "crusader/active" - Obituary "$OB_CRUSADER" - - action native A_CrusaderChoose (); - action native A_CrusaderSweepLeft (); - action native A_CrusaderSweepRight (); - action native A_CrusaderRefire (); - action native A_CrusaderDeath (); - - States - { - Spawn: - ROB2 Q 10 A_Look - Loop - See: - ROB2 AABBCCDD 3 A_Chase - Loop - Missile: - ROB2 E 3 Slow A_FaceTarget - ROB2 F 2 Slow Bright A_CrusaderChoose - ROB2 E 2 Slow Bright A_CrusaderSweepLeft - ROB2 F 3 Slow Bright A_CrusaderSweepLeft - ROB2 EF 2 Slow Bright A_CrusaderSweepLeft - ROB2 EFE 2 Slow Bright A_CrusaderSweepRight - ROB2 F 2 Slow A_CrusaderRefire - Loop - Pain: - ROB2 D 1 Slow A_Pain - Goto See - Death: - ROB2 G 3 A_Scream - ROB2 H 5 A_TossGib - ROB2 I 4 Bright A_TossGib - ROB2 J 4 Bright A_Explode(64,64,1,1) - ROB2 K 4 Bright A_Fall - ROB2 L 4 A_Explode(64,64,1,1) - ROB2 MN 4 A_TossGib - ROB2 O 4 A_Explode(64,64,1,1) - ROB2 P -1 A_CrusaderDeath - Stop - } -} - - -// Fast Flame Projectile (used by Crusader) --------------------------------- - -ACTOR FastFlameMissile : FlameMissile -{ - Mass 50 - Damage 1 - Speed 35 -} - -// Crusader Missile --------------------------------------------------------- -// This is just like the mini missile the player shoots, except it doesn't -// explode when it dies, and it does slightly less damage for a direct hit. - -ACTOR CrusaderMissile -{ - Speed 20 - Radius 10 - Height 14 - Damage 7 - Projectile - +STRIFEDAMAGE - MaxStepHeight 4 - SeeSound "crusader/misl" - DeathSound "crusader/mislx" - States - { - Spawn: - MICR A 6 Bright A_RocketInFlight - Loop - Death: - SMIS A 0 Bright A_SetTranslucent(1,1) - SMIS A 5 Bright - SMIS B 5 Bright - SMIS C 4 Bright - SMIS DEFG 2 Bright - Stop - } -} - - -// Dead Crusader ------------------------------------------------------------ - -ACTOR DeadCrusader -{ - States - { - Spawn: - ROB2 N 4 - ROB2 O 4 - ROB2 P -1 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/entityboss.txt b/wadsrc/static/actors/strife/entityboss.txt deleted file mode 100644 index ddd19d9ef..000000000 --- a/wadsrc/static/actors/strife/entityboss.txt +++ /dev/null @@ -1,199 +0,0 @@ - -// Entity Nest -------------------------------------------------------------- - -ACTOR EntityNest -{ - Radius 84 - Height 47 - +SOLID - +NOTDMATCH - +FLOORCLIP - States - { - Spawn: - NEST A -1 - Stop - } -} - -// Entity Pod --------------------------------------------------------------- - -ACTOR EntityPod -{ - Radius 25 - Height 91 - +SOLID - +NOTDMATCH - SeeSound "misc/gibbed" - - action native A_SpawnEntity (); - - States - { - Spawn: - PODD A 60 A_Look - Loop - See: - PODD A 360 - PODD B 9 A_NoBlocking - PODD C 9 - PODD D 9 A_SpawnEntity - PODD E -1 - Stop - } -} - - -// Entity Boss -------------------------------------------------------------- - -ACTOR EntityBoss : SpectralMonster -{ - Health 2500 - Painchance 255 - Speed 13 - Radius 130 - Height 200 - FloatSpeed 5 - Mass 1000 - Monster - +SPECIAL - +NOGRAVITY - +FLOAT - +SHADOW - +NOTDMATCH - +DONTMORPH - +NOTARGET - +NOBLOCKMONST - +INCOMBAT - +LOOKALLAROUND - +SPECTRAL - +NOICEDEATH - MinMissileChance 150 - RenderStyle Translucent - Alpha 0.5 - SeeSound "entity/sight" - AttackSound "entity/melee" - PainSound "entity/pain" - DeathSound "entity/death" - ActiveSound "entity/active" - Obituary "$OB_ENTITY" - - action native A_EntityAttack(); - action native A_EntityDeath(); - - States - { - Spawn: - MNAM A 100 - MNAM B 60 Bright - MNAM CDEFGHIJKL 4 Bright - MNAL A 4 Bright A_Look - MNAL B 4 Bright A_SentinelBob - Goto Spawn+12 - See: - MNAL AB 4 Bright A_Chase - MNAL C 4 Bright A_SentinelBob - MNAL DEF 4 Bright A_Chase - MNAL G 4 Bright A_SentinelBob - MNAL HIJ 4 Bright A_Chase - MNAL K 4 Bright A_SentinelBob - Loop - Melee: - MNAL J 4 Bright A_FaceTarget - MNAL I 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5) - MNAL C 4 Bright - Goto See+2 - Missile: - MNAL F 4 Bright A_FaceTarget - MNAL I 4 Bright A_EntityAttack - MNAL E 4 Bright - Goto See+10 - Pain: - MNAL J 2 Bright A_Pain - Goto See+6 - Death: - MNAL L 7 Bright A_SpectreChunkSmall - MNAL M 7 Bright A_Scream - MNAL NO 7 Bright A_SpectreChunkSmall - MNAL P 7 Bright A_SpectreChunkLarge - MNAL Q 64 Bright A_SpectreChunkSmall - MNAL Q 6 Bright A_EntityDeath - Stop - } -} - -// Second Entity Boss ------------------------------------------------------- - -ACTOR EntitySecond : SpectralMonster -{ - Health 990 - Painchance 255 - Speed 14 - Radius 130 - Height 200 - FloatSpeed 5 - Mass 1000 - Monster - +SPECIAL - +NOGRAVITY - +FLOAT - +SHADOW - +NOTDMATCH - +DONTMORPH - +NOBLOCKMONST - +INCOMBAT - +LOOKALLAROUND - +SPECTRAL - +NOICEDEATH - MinMissileChance 150 - RenderStyle Translucent - Alpha 0.25 - SeeSound "alienspectre/sight" - AttackSound "alienspectre/blade" - PainSound "alienspectre/pain" - DeathSound "alienspectre/death" - ActiveSound "alienspectre/active" - Obituary "$OB_ENTITY" - - action native A_SubEntityDeath (); - - States - { - Spawn: - MNAL R 10 Bright A_Look - Loop - See: - MNAL R 5 Bright A_SentinelBob - MNAL ST 5 Bright A_Chase - MNAL U 5 Bright A_SentinelBob - MNAL V 5 Bright A_Chase - MNAL W 5 Bright A_SentinelBob - Loop - Melee: - MNAL S 4 Bright A_FaceTarget - MNAL R 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5) - MNAL T 4 Bright A_SentinelBob - Goto See+1 - Missile: - MNAL W 4 Bright A_FaceTarget - MNAL U 4 Bright A_CustomMissile("SpectralLightningH3",32,0) - MNAL V 4 Bright A_SentinelBob - Goto See+4 - Pain: - MNAL R 2 Bright A_Pain - Goto See - Death: - MDTH A 3 Bright A_Scream - MDTH B 3 Bright A_TossGib - MDTH C 3 Bright A_NoBlocking - MDTH DEFGHIJKLMN 3 Bright A_TossGib - MDTH O 3 Bright A_SubEntityDeath - Stop - } -} - - - - - - diff --git a/wadsrc/static/actors/strife/inquisitor.txt b/wadsrc/static/actors/strife/inquisitor.txt deleted file mode 100644 index 5b9495d40..000000000 --- a/wadsrc/static/actors/strife/inquisitor.txt +++ /dev/null @@ -1,141 +0,0 @@ - -// Inquisitor --------------------------------------------------------------- - -ACTOR Inquisitor -{ - Health 1000 - Speed 12 - Radius 40 - Height 110 - Mass 0x7fffffff - Monster - +DROPOFF - +NOBLOOD - +BOSS - +FLOORCLIP - +DONTMORPH - +NORADIUSDMG - MaxDropOffHeight 32 - MinMissileChance 150 - SeeSound "inquisitor/sight" - DeathSound "inquisitor/death" - ActiveSound "inquisitor/active" - Obituary "$OB_INQUISITOR" - - action native A_InquisitorWalk (); - action native A_InquisitorDecide (); - action native A_InquisitorAttack (); - action native A_InquisitorJump (); - action native A_InquisitorCheckLand (); - action native A_TossArm (); - action native A_ReaverRanged (); - - states - { - Spawn: - ROB3 AB 10 A_Look - Loop - See: - ROB3 B 3 A_InquisitorWalk - ROB3 B 3 A_Chase - ROB3 CCDD 4 A_Chase - ROB3 E 3 A_InquisitorWalk - ROB3 E 3 A_InquisitorDecide - Loop - Missile: - ROB3 A 2 A_InquisitorDecide - ROB3 F 6 A_FaceTarget - ROB3 G 8 Bright A_ReaverRanged - ROB3 G 8 A_ReaverRanged - Goto See - Grenade: - ROB3 K 12 A_FaceTarget - ROB3 J 6 Bright A_InquisitorAttack - ROB3 K 12 - Goto See - Jump: - ROB3 H 8 Bright A_InquisitorJump - ROB3 I 4 Bright A_InquisitorCheckLand - ROB3 H 4 Bright A_InquisitorCheckLand - Goto Jump+1 - Death: - ROB3 L 0 A_StopSoundEx("Item") - ROB3 L 4 A_TossGib - ROB3 M 4 A_Scream - ROB3 N 4 A_TossGib - ROB3 O 4 Bright A_Explode(128,128,1,1) - ROB3 P 4 Bright A_TossGib - ROB3 Q 4 Bright A_NoBlocking - ROB3 RSTUV 4 A_TossGib - ROB3 W 4 Bright A_Explode(128,128,1,1) - ROB3 XY 4 Bright A_TossGib - ROB3 Z 4 A_TossGib - ROB3 "[" 4 A_TossGib - ROB3 "\" 3 A_TossGib - ROB3 "]" 3 Bright A_Explode(128,128,1,1) - RBB3 A 3 Bright A_TossArm - RBB3 B 3 Bright A_TossGib - RBB3 CD 3 A_TossGib - RBB3 E -1 - Stop - } -} - -// Inquisitor Shot ---------------------------------------------------------- - -ACTOR InquisitorShot -{ - ReactionTime 15 - Speed 25 - Radius 13 - Height 13 - Mass 15 - Projectile - -ACTIVATEIMPACT - -ACTIVATEPCROSS - -NOGRAVITY - +STRIFEDAMAGE - MaxStepHeight 4 - SeeSound "inquisitor/attack" - DeathSound "inquisitor/atkexplode" - States - { - Spawn: - UBAM AB 3 A_Countdown - Loop - Death: - BNG2 A 0 Bright A_SetTranslucent(1,1) - BNG2 A 4 Bright A_Explode(192, 192, 1, 1) - BNG2 B 4 Bright - BNG2 C 4 Bright - BNG2 D 4 Bright - BNG2 E 4 Bright - BNG2 F 4 Bright - BNG2 G 4 Bright - BNG2 H 4 Bright - BNG2 I 4 Bright - Stop - } - -} - - -// The Dead Inquisitor's Detached Arm --------------------------------------- - -ACTOR InquisitorArm -{ - Speed 25 - +NOBLOCKMAP - +NOCLIP - +NOBLOOD - States - { - Spawn: - RBB3 FG 5 Bright - RBB3 H -1 - Stop - } -} - - - diff --git a/wadsrc/static/actors/strife/loremaster.txt b/wadsrc/static/actors/strife/loremaster.txt deleted file mode 100644 index fd2b400cb..000000000 --- a/wadsrc/static/actors/strife/loremaster.txt +++ /dev/null @@ -1,114 +0,0 @@ - -// Loremaster (aka Priest) -------------------------------------------------- - -ACTOR Loremaster -{ - Health 800 - Speed 10 - Radius 15 - Height 56 - FloatSpeed 5 - Monster - +FLOAT - +NOBLOOD - +NOGRAVITY - +NOTDMATCH - +FLOORCLIP - +NOBLOCKMONST - +INCOMBAT - +LOOKALLAROUND - +NOICEDEATH - +NEVERRESPAWN - DamageFactor "Fire", 0.5 - MinMissileChance 150 - Tag "$TAG_PRIEST" - SeeSound "loremaster/sight" - AttackSound "loremaster/attack" - PainSound "loremaster/pain" - DeathSound "loremaster/death" - ActiveSound "loremaster/active" - Obituary "$OB_LOREMASTER" - DropItem "Junk" - states - { - Spawn: - PRST A 10 A_Look - PRST B 10 A_SentinelBob - Loop - See: - PRST A 4 A_Chase - PRST A 4 A_SentinelBob - PRST B 4 A_Chase - PRST B 4 A_SentinelBob - PRST C 4 A_Chase - PRST C 4 A_SentinelBob - PRST D 4 A_Chase - PRST D 4 A_SentinelBob - Loop - Melee: - PRST E 4 A_FaceTarget - PRST F 4 A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5) - PRST E 4 A_SentinelBob - Goto See - Missile: - PRST E 4 A_FaceTarget - PRST F 4 A_CustomMissile("LoreShot", 32, 0) - PRST E 4 A_SentinelBob - Goto See - Death: - PDED A 6 - PDED B 6 A_Scream - PDED C 6 - PDED D 6 A_Fall - PDED E 6 - PDED FGHIJIJIJKL 5 - PDED MNOP 4 - PDED Q 4 A_SpawnItemEx("AlienSpectre5", 0, 0, 0, 0, 0, random[spectrespawn](0,255)*0.0078125, 0, SXF_NOCHECKPOSITION) - PDED RS 4 - PDED T -1 - Stop - } -} - - -// Loremaster Projectile ---------------------------------------------------- - -ACTOR LoreShot native -{ - Speed 20 - Height 14 - Radius 10 - Projectile - +STRIFEDAMAGE - Damage 2 - MaxStepHeight 4 - SeeSound "loremaster/chain" - ActiveSound "loremaster/swish" - - action native A_LoremasterChain (); - - States - { - Spawn: - OCLW A 2 A_LoremasterChain - Loop - Death: - OCLW A 6 - Stop - } -} - -// Loremaster Subprojectile ------------------------------------------------- - -ACTOR LoreShot2 -{ - +NOBLOCKMAP - +NOGRAVITY - States - { - Spawn: - TEND A 20 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/macil.txt b/wadsrc/static/actors/strife/macil.txt deleted file mode 100644 index 7c03d1f24..000000000 --- a/wadsrc/static/actors/strife/macil.txt +++ /dev/null @@ -1,89 +0,0 @@ - -// Macil (version 1) --------------------------------------------------------- - -ACTOR Macil1 -{ - Health 95 - Radius 20 - Height 56 - Speed 8 - Painchance 250 - Monster - -COUNTKILL - +NOTDMATCH - +NOICEDEATH - +NOSPLASHALERT - +NODAMAGE - +NEVERRESPAWN - DamageFactor "Fire", 0.5 - MinMissileChance 150 - SeeSound "macil/sight" - PainSound "macil/pain" - ActiveSound "macil/active" - CrushPainSound "misc/pcrush" - Tag "$TAG_MACIL1" - Obituary "$OB_MACIL" - DropItem "BoxOfBullets" - MaxStepHeight 16 - MaxDropoffHeight 32 - States - { - Spawn: - LEDR C 5 A_Look2 - Loop - LEDR A 8 - Loop - LEDR B 8 - Loop - LEAD ABCD 6 A_Wander - Loop - See: - LEAD AABBCCDD 3 A_Chase - Loop - Missile: - Death: - LEAD E 2 A_FaceTarget - LEAD F 2 BRIGHT A_ShootGun - LEAD E 1 A_SentinelRefire - Loop - Pain: - LEAD Y 3 - LEAD Y 3 A_Pain - Goto See - } -} - - -// Macil (version 2) --------------------------------------------------------- - -ACTOR Macil2 : Macil1 -{ - Painchance 200 - +COUNTKILL - +SPECTRAL - -NODAMAGE - Tag "$TAG_MACIL2" - DeathSound "macil/slop" - DropItem "None" - DamageFactor "SpectralLow", 0 - States - { - Missile: - LEAD E 4 A_FaceTarget - LEAD F 4 BRIGHT A_ShootGun - LEAD E 2 A_SentinelRefire - Loop - Death: - LEAD G 5 - LEAD H 5 A_Scream - LEAD IJ 4 - LEAD K 3 - LEAD L 3 A_NoBlocking - LEAD MNOPQRSTUV 3 - LEAD W 3 A_SpawnItemEx("AlienSpectre4", 0, 0, 0, 0, 0, random[spectrespawn](0,255)*0.0078125, 0, SXF_NOCHECKPOSITION) - LEAD X -1 - Stop - } -} - - diff --git a/wadsrc/static/actors/strife/merchants.txt b/wadsrc/static/actors/strife/merchants.txt deleted file mode 100644 index 1a843f47a..000000000 --- a/wadsrc/static/actors/strife/merchants.txt +++ /dev/null @@ -1,93 +0,0 @@ -// Base class for the merchants --------------------------------------------- - -ACTOR Merchant -{ - Health 10000000 - PainChance 256 // a merchant should always enter the pain state when getting hurt - Radius 20 - Height 56 - Mass 5000 - CrushPainSound "misc/pcrush" - +SOLID - +SHOOTABLE - +NOTDMATCH - +NOSPLASHALERT - +NODAMAGE - States - { - Spawn: - MRST A 10 A_Look2 - Loop - MRLK A 30 A_ActiveSound - Loop - MRLK B 30 - Loop - MRBD ABCDEDCB 4 - MRBD A 5 - MRBD F 6 - Loop - See: - Pain: - MRPN A 1 - MRPN A 2 A_AlertMonsters - MRPN B 3 A_Pain - MRPN C 3 - MRPN D 9 Door_CloseWaitOpen(999, 64, 960) - MRPN C 4 - MRPN B 3 - MRPN A 3 A_ClearSoundTarget - Goto Spawn - Yes: - MRYS A 20 - // Fall through - Greetings: - MRGT ABCDEFGHI 5 - Goto Spawn - No: - MRNO AB 6 - MRNO C 10 - MRNO BA 6 - Goto Greetings - } -} - - -// Weapon Smith ------------------------------------------------------------- - -ACTOR WeaponSmith : Merchant -{ - PainSound "smith/pain" - Tag "$TAG_WEAPONSMITH" -} - - -// Bar Keep ----------------------------------------------------------------- - -ACTOR BarKeep : Merchant -{ - Translation 4 - PainSound "barkeep/pain" - ActiveSound "barkeep/active" - Tag "$TAG_BARKEEP" -} - - -// Armorer ------------------------------------------------------------------ - -ACTOR Armorer : Merchant -{ - Translation 5 - PainSound "armorer/pain" - Tag "$TAG_ARMORER" -} - - -// Medic -------------------------------------------------------------------- - -ACTOR Medic : Merchant -{ - Translation 6 - PainSound "medic/pain" - Tag "$TAG_MEDIC" -} - diff --git a/wadsrc/static/actors/strife/oracle.txt b/wadsrc/static/actors/strife/oracle.txt deleted file mode 100644 index 8502bae96..000000000 --- a/wadsrc/static/actors/strife/oracle.txt +++ /dev/null @@ -1,35 +0,0 @@ - -// Oracle ------------------------------------------------------------------- - -ACTOR Oracle -{ - Health 1 - Radius 15 - Height 56 - Monster - +NOTDMATCH - +NOBLOOD - +NEVERRESPAWN - DamageFactor "Fire", 0.5 - DamageFactor "SpectralLow", 0 - MaxDropoffHeight 32 - Tag "$TAG_ORACLE" - DropItem "Meat" - - action native A_WakeOracleSpectre (); - - States - { - Spawn: - ORCL A -1 - Stop - Death: - ORCL BCDEFGHIJK 5 - ORCL L 5 A_NoBlocking - ORCL M 5 - ORCL N 5 A_WakeOracleSpectre - ORCL OP 5 - ORCL Q -1 - Stop - } -} diff --git a/wadsrc/static/actors/strife/peasants.txt b/wadsrc/static/actors/strife/peasants.txt deleted file mode 100644 index b5ec89258..000000000 --- a/wadsrc/static/actors/strife/peasants.txt +++ /dev/null @@ -1,182 +0,0 @@ - -// Peasant Base Class ------------------------------------------------------- - -ACTOR Peasant : StrifeHumanoid -{ - Health 31 - PainChance 200 - Speed 8 - Radius 20 - Height 56 - Monster - +NEVERTARGET - -COUNTKILL - +NOSPLASHALERT - +FLOORCLIP - +JUSTHIT - MinMissileChance 150 - MaxStepHeight 16 - MaxDropoffHeight 32 - SeeSound "peasant/sight" - AttackSound "peasant/attack" - PainSound "peasant/pain" - DeathSound "peasant/death" - HitObituary "$OB_PEASANT" - States - { - Spawn: - PEAS A 10 A_Look2 - Loop - See: - PEAS AABBCCDD 5 A_Wander - Goto Spawn - Melee: - PEAS E 10 A_FaceTarget - PEAS F 8 A_CustomMeleeAttack(2*random[PeasantAttack](1,5)+2) - PEAS E 8 - Goto See - Pain: - PEAS O 3 - PEAS O 3 A_Pain - Goto Melee - Wound: - PEAS G 5 - PEAS H 10 A_GetHurt - PEAS I 6 - Goto Wound+1 - Death: - PEAS G 5 - PEAS H 5 A_Scream - PEAS I 6 - PEAS J 5 A_NoBlocking - PEAS K 5 - PEAS L 6 - PEAS M 8 - PEAS N 1400 - GIBS U 5 - GIBS V 1400 - Stop - XDeath: - GIBS M 5 A_TossGib - GIBS N 5 A_XScream - GIBS O 5 A_NoBlocking - GIBS PQRS 4 A_TossGib - Goto Death+8 - } -} - -// Peasant Variant 1 -------------------------------------------------------- - -ACTOR Peasant1 : Peasant -{ - Speed 4 -} - -ACTOR Peasant2 : Peasant -{ - Speed 5 -} - -ACTOR Peasant3 : Peasant -{ - Speed 5 -} - -ACTOR Peasant4 : Peasant -{ - Translation 0 - Speed 7 -} - -ACTOR Peasant5 : Peasant -{ - Translation 0 - Speed 7 -} - -ACTOR Peasant6 : Peasant -{ - Translation 0 - Speed 7 -} - -ACTOR Peasant7 : Peasant -{ - Translation 2 -} - -ACTOR Peasant8 : Peasant -{ - Translation 2 -} - -ACTOR Peasant9 : Peasant -{ - Translation 2 -} - -ACTOR Peasant10 : Peasant -{ - Translation 1 -} - -ACTOR Peasant11 : Peasant -{ - Translation 1 -} - -ACTOR Peasant12 : Peasant -{ - Translation 1 -} - -ACTOR Peasant13 : Peasant -{ - Translation 3 -} - -ACTOR Peasant14 : Peasant -{ - Translation 3 -} - -ACTOR Peasant15 : Peasant -{ - Translation 3 -} - -ACTOR Peasant16 : Peasant -{ - Translation 5 -} - -ACTOR Peasant17 : Peasant -{ - Translation 5 -} - -ACTOR Peasant18 : Peasant -{ - Translation 5 -} - -ACTOR Peasant19 : Peasant -{ - Translation 4 -} - -ACTOR Peasant20 : Peasant -{ - Translation 4 -} - -ACTOR Peasant21 : Peasant -{ - Translation 4 -} - -ACTOR Peasant22 : Peasant -{ - Translation 6 -} - diff --git a/wadsrc/static/actors/strife/programmer.txt b/wadsrc/static/actors/strife/programmer.txt deleted file mode 100644 index d9544af9c..000000000 --- a/wadsrc/static/actors/strife/programmer.txt +++ /dev/null @@ -1,107 +0,0 @@ - -// Programmer --------------------------------------------------------------- - -ACTOR Programmer -{ - Health 1100 - PainChance 50 - Speed 26 - FloatSpeed 5 - Radius 45 - Height 60 - Mass 800 - Damage 4 - Monster - +NOGRAVITY - +FLOAT - +NOBLOOD - +NOTDMATCH - +DONTMORPH - +NOBLOCKMONST - +LOOKALLAROUND - +NOICEDEATH - +NOTARGETSWITCH - DamageFactor "Fire", 0.5 - MinMissileChance 150 - AttackSound "programmer/attack" - PainSound "programmer/pain" - DeathSound "programmer/death" - ActiveSound "programmer/active" - Obituary "$OB_PROGRAMMER" - DropItem "Sigil1" - - action native A_ProgrammerMelee (); - action native A_SpawnProgrammerBase (); - action native A_ProgrammerDeath (); - action native A_SpotLightning(); - - States - { - Spawn: - PRGR A 5 A_Look - PRGR A 1 A_SentinelBob - Loop - See: - PRGR A 160 A_SentinelBob - PRGR BCD 5 A_SentinelBob - PRGR EF 2 A_SentinelBob - PRGR EF 3 A_Chase - Goto See+4 - Melee: - PRGR E 2 A_SentinelBob - PRGR F 3 A_SentinelBob - PRGR E 3 A_FaceTarget - PRGR F 4 A_ProgrammerMelee - Goto See+4 - Missile: - PRGR G 5 A_FaceTarget - PRGR H 5 A_SentinelBob - PRGR I 5 Bright A_FaceTarget - PRGR J 5 Bright A_SpotLightning - Goto See+4 - Pain: - PRGR K 5 A_Pain - PRGR L 5 A_SentinelBob - Goto See+4 - Death: - PRGR L 7 Bright A_TossGib - PRGR M 7 Bright A_Scream - PRGR N 7 Bright A_TossGib - PRGR O 7 Bright A_NoBlocking - PRGR P 7 Bright A_TossGib - PRGR Q 7 Bright A_SpawnProgrammerBase - PRGR R 7 Bright - PRGR S 6 Bright - PRGR TUVW 5 Bright - PRGR X 32 Bright - PRGR X -1 Bright A_ProgrammerDeath - Stop - } -} - - -// The Programmer's base for when he dies ----------------------------------- - -ACTOR ProgrammerBase -{ - +NOBLOCKMAP - +NOCLIP - +NOBLOOD - states - { - Spawn: - BASE A 5 Bright A_Explode(32,32,1,1) - BASE BCD 5 Bright - BASE EFG 5 - BASE H -1 - Stop - } -} - - -// The Programmer level ending thing ---------------------------------------- - -ACTOR ProgLevelEnder : Inventory native -{ - +INVENTORY.UNDROPPABLE -} diff --git a/wadsrc/static/actors/strife/ratbuddy.txt b/wadsrc/static/actors/strife/ratbuddy.txt deleted file mode 100644 index c6a1baf9c..000000000 --- a/wadsrc/static/actors/strife/ratbuddy.txt +++ /dev/null @@ -1,34 +0,0 @@ - -ACTOR RatBuddy -{ - Health 5 - Speed 13 - Radius 10 - Height 16 - +NOBLOOD +FLOORCLIP +CANPASS - +ISMONSTER +INCOMBAT - MinMissileChance 150 - MaxStepHeight 16 - MaxDropoffHeight 32 - Tag "$TAG_RATBUDDY" - SeeSound "rat/sight" - DeathSound "rat/death" - ActiveSound "rat/active" - States - { - Spawn: - RATT A 10 A_Look - Loop - See: - RATT AABB 4 A_Chase - Loop - Melee: - RATT A 8 A_Wander - RATT B 4 A_Wander - Goto See - Death: - MEAT Q 700 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/reaver.txt b/wadsrc/static/actors/strife/reaver.txt deleted file mode 100644 index 816070d47..000000000 --- a/wadsrc/static/actors/strife/reaver.txt +++ /dev/null @@ -1,64 +0,0 @@ - -ACTOR Reaver -{ - Health 150 - Painchance 128 - Speed 12 - Radius 20 - Height 60 - Monster - +NOBLOOD - +INCOMBAT - MinMissileChance 150 - MaxDropoffHeight 32 - Mass 500 - SeeSound "reaver/sight" - PainSound "reaver/pain" - DeathSound "reaver/death" - ActiveSound "reaver/active" - HitObituary "$OB_REAVERHIT" - Obituary "$OB_REAVER" - - action native A_ReaverRanged (); - - States - { - Spawn: - ROB1 A 10 A_Look - Loop - See: - ROB1 BBCCDDEE 3 A_Chase - Loop - Melee: - ROB1 H 6 Slow A_FaceTarget - ROB1 I 8 Slow A_CustomMeleeAttack(random[ReaverMelee](1,8)*3, "reaver/blade") - ROB1 H 6 Slow - Goto See - Missile: - ROB1 F 8 Slow A_FaceTarget - ROB1 G 11 Slow BRIGHT A_ReaverRanged - Goto See - Pain: - ROB1 A 2 Slow - ROB1 A 2 A_Pain - Goto See - Death: - ROB1 J 6 - ROB1 K 6 A_Scream - ROB1 L 5 - ROB1 M 5 A_NoBlocking - ROB1 NOP 5 - ROB1 Q 6 A_Explode(32,32,1,1) - ROB1 R -1 - Stop - XDeath: - ROB1 L 5 A_TossGib - ROB1 M 5 A_Scream - ROB1 N 5 A_TossGib - ROB1 O 5 A_NoBlocking - ROB1 P 5 A_TossGib - Goto Death+7 - } - -} - \ No newline at end of file diff --git a/wadsrc/static/actors/strife/rebels.txt b/wadsrc/static/actors/strife/rebels.txt deleted file mode 100644 index 2dcb5ac1a..000000000 --- a/wadsrc/static/actors/strife/rebels.txt +++ /dev/null @@ -1,131 +0,0 @@ - - -// Base class for the rebels ------------------------------------------------ - -ACTOR Rebel : StrifeHumanoid -{ - Health 60 - Painchance 250 - Speed 8 - Radius 20 - Height 56 - Monster - +FRIENDLY - -COUNTKILL - +NOSPLASHALERT - MinMissileChance 150 - Tag "$TAG_REBEL" - SeeSound "rebel/sight" - PainSound "rebel/pain" - DeathSound "rebel/death" - ActiveSound "rebel/active" - Obituary "$OB_REBEL" - States - { - Spawn: - HMN1 P 5 A_Look2 - Loop - HMN1 Q 8 - Loop - HMN1 R 8 - Loop - HMN1 ABCDABCD 6 A_Wander - Loop - See: - HMN1 AABBCCDD 3 A_Chase - Loop - Missile: - HMN1 E 10 A_FaceTarget - HMN1 F 10 BRIGHT A_ShootGun - HMN1 E 10 A_ShootGun - Goto See - Pain: - HMN1 O 3 - HMN1 O 3 A_Pain - Goto See - Death: - HMN1 G 5 - HMN1 H 5 A_Scream - HMN1 I 3 A_NoBlocking - HMN1 J 4 - HMN1 KLM 3 - HMN1 N -1 - Stop - XDeath: - RGIB A 4 A_TossGib - RGIB B 4 A_XScream - RGIB C 3 A_NoBlocking - RGIB DEF 3 A_TossGib - RGIB G 3 - RGIB H 1400 - Stop - } -} - -// Rebel 1 ------------------------------------------------------------------ - -ACTOR Rebel1 : Rebel -{ - DropItem "ClipOfBullets" -} - -// Rebel 2 ------------------------------------------------------------------ - -ACTOR Rebel2 : Rebel -{ -} - -// Rebel 3 ------------------------------------------------------------------ - -ACTOR Rebel3 : Rebel -{ -} - -// Rebel 4 ------------------------------------------------------------------ - -ACTOR Rebel4 : Rebel -{ -} - -// Rebel 5 ------------------------------------------------------------------ - -ACTOR Rebel5 : Rebel -{ -} - -// Rebel 6 ------------------------------------------------------------------ - -ACTOR Rebel6 : Rebel -{ -} - -// Teleporter Beacon -------------------------------------------------------- - -ACTOR TeleporterBeacon : Inventory native -{ - Health 5 - Radius 16 - Height 16 - Inventory.MaxAmount 3 - +DROPPED - +INVENTORY.INVBAR - Inventory.Icon "I_BEAC" - Tag "$TAG_TELEPORTERBEACON" - Inventory.PickupMessage "$TXT_BEACON" - - action native A_Beacon (); - - States - { - Spawn: - BEAC A -1 - Stop - Drop: - BEAC A 30 - BEAC A 160 A_Beacon - Wait - Death: - BEAC A 1 A_FadeOut(0.015) - Loop - } -} \ No newline at end of file diff --git a/wadsrc/static/actors/strife/sentinel.txt b/wadsrc/static/actors/strife/sentinel.txt deleted file mode 100644 index ca61f2bf8..000000000 --- a/wadsrc/static/actors/strife/sentinel.txt +++ /dev/null @@ -1,95 +0,0 @@ - -// Sentinel ----------------------------------------------------------------- - -ACTOR Sentinel -{ - Health 100 - Painchance 255 - Speed 7 - Radius 23 - Height 53 - Mass 300 - Monster - +SPAWNCEILING - +NOGRAVITY - +DROPOFF - +NOBLOOD - +NOBLOCKMONST - +INCOMBAT - +MISSILEMORE - +LOOKALLAROUND - +NEVERRESPAWN - MinMissileChance 150 - SeeSound "sentinel/sight" - DeathSound "sentinel/death" - ActiveSound "sentinel/active" - Obituary "$OB_SENTINEL" - - action native A_SentinelAttack (); - - States - { - Spawn: - SEWR A 10 A_Look - Loop - See: - SEWR A 6 A_SentinelBob - SEWR A 6 A_Chase - Loop - Missile: - SEWR B 4 A_FaceTarget - SEWR C 8 Bright A_SentinelAttack - SEWR C 4 Bright A_SentinelRefire - Goto Missile+1 - Pain: - SEWR D 5 A_Pain - Goto Missile+2 - Death: - SEWR D 7 A_Fall - SEWR E 8 Bright A_TossGib - SEWR F 5 Bright A_Scream - SEWR GH 4 Bright A_TossGib - SEWR I 4 - SEWR J 5 - Stop - } -} - -// Sentinel FX 1 ------------------------------------------------------------ - -ACTOR SentinelFX1 -{ - Speed 40 - Radius 10 - Height 8 - Damage 0 - DamageType Disintegrate - Projectile - +STRIFEDAMAGE - MaxStepHeight 4 - RenderStyle Add - States - { - Spawn: - SHT1 AB 4 - Loop - Death: - POW1 J 4 - Stop - } -} - -// Sentinel FX 2 ------------------------------------------------------------ - -ACTOR SentinelFX2 : SentinelFX1 -{ - SeeSound "sentinel/plasma" - Damage 1 - States - { - Death: - POW1 FGHI 4 - Goto Super::Death - } -} - diff --git a/wadsrc/static/actors/strife/sigil.txt b/wadsrc/static/actors/strife/sigil.txt deleted file mode 100644 index 4c5f552d5..000000000 --- a/wadsrc/static/actors/strife/sigil.txt +++ /dev/null @@ -1,161 +0,0 @@ - -// The Almighty Sigil! ------------------------------------------------------ - -ACTOR Sigil : Weapon native -{ - - Weapon.Kickback 100 - Weapon.SelectionOrder 4000 - Health 1 - +FLOORCLIP - +WEAPON.CHEATNOTWEAPON - Inventory.PickupSound "weapons/sigilcharge" - Tag "$TAG_SIGIL" - Inventory.Icon "I_SGL1" - Inventory.PickupMessage "$TXT_SIGIL" - - action native A_SelectPiece (); - action native A_SelectSigilView (); - action native A_SelectSigilDown (); - action native A_SelectSigilAttack (); - action native A_SigilCharge (); - action native A_FireSigil1 (); - action native A_FireSigil2 (); - action native A_FireSigil3 (); - action native A_FireSigil4 (); - action native A_FireSigil5 (); - - States - { - Spawn: - SIGL A 1 - SIGL A -1 A_SelectPiece - Stop - SIGL B -1 - Stop - SIGL C -1 - Stop - SIGL D -1 - Stop - SIGL E -1 - Stop - Ready: - SIGH A 0 Bright A_SelectSigilView - Wait - SIGH A 1 Bright A_WeaponReady - Wait - SIGH B 1 Bright A_WeaponReady - Wait - SIGH C 1 Bright A_WeaponReady - Wait - SIGH D 1 Bright A_WeaponReady - Wait - SIGH E 1 Bright A_WeaponReady - Wait - Deselect: - SIGH A 1 Bright A_SelectSigilDown - Wait - SIGH A 1 Bright A_Lower - Wait - SIGH B 1 Bright A_Lower - Wait - SIGH C 1 Bright A_Lower - Wait - SIGH D 1 Bright A_Lower - Wait - SIGH E 1 Bright A_Lower - Wait - Select: - SIGH A 1 Bright A_SelectSigilView - Wait - SIGH A 1 Bright A_Raise - Wait - SIGH B 1 Bright A_Raise - Wait - SIGH C 1 Bright A_Raise - Wait - SIGH D 1 Bright A_Raise - Wait - SIGH E 1 Bright A_Raise - Wait - - Fire: - SIGH A 0 Bright A_SelectSigilAttack - - SIGH A 18 Bright A_SigilCharge - SIGH A 3 Bright A_GunFlash - SIGH A 10 A_FireSigil1 - SIGH A 5 - Goto Ready - - SIGH B 18 Bright A_SigilCharge - SIGH B 3 Bright A_GunFlash - SIGH B 10 A_FireSigil2 - SIGH B 5 - Goto Ready - - SIGH C 18 Bright A_SigilCharge - SIGH C 3 Bright A_GunFlash - SIGH C 10 A_FireSigil3 - SIGH C 5 - Goto Ready - - SIGH D 18 Bright A_SigilCharge - SIGH D 3 Bright A_GunFlash - SIGH D 10 A_FireSigil4 - SIGH D 5 - Goto Ready - - SIGH E 18 Bright A_SigilCharge - SIGH E 3 Bright A_GunFlash - SIGH E 10 A_FireSigil5 - SIGH E 5 - Goto Ready - Flash: - SIGF A 4 Bright A_Light2 - SIGF B 6 Bright A_LightInverse - SIGF C 4 Bright A_Light1 - SIGF C 0 Bright A_Light0 - Stop - } -} - -// Sigil 1 ------------------------------------------------------------------ - -ACTOR Sigil1 : Sigil -{ - Inventory.Icon "I_SGL1" - Health 1 -} - -// Sigil 2 ------------------------------------------------------------------ - -ACTOR Sigil2 : Sigil -{ - Inventory.Icon "I_SGL2" - Health 2 -} - -// Sigil 3 ------------------------------------------------------------------ - -ACTOR Sigil3 : Sigil -{ - Inventory.Icon "I_SGL3" - Health 3 -} - -// Sigil 4 ------------------------------------------------------------------ - -ACTOR Sigil4 : Sigil -{ - Inventory.Icon "I_SGL4" - Health 4 -} - -// Sigil 5 ------------------------------------------------------------------ - -ACTOR Sigil5 : Sigil -{ - Inventory.Icon "I_SGL5" - Health 5 -} diff --git a/wadsrc/static/actors/strife/spectral.txt b/wadsrc/static/actors/strife/spectral.txt deleted file mode 100644 index 6f9c87c0c..000000000 --- a/wadsrc/static/actors/strife/spectral.txt +++ /dev/null @@ -1,262 +0,0 @@ - - -// base for all spectral monsters which hurt when being touched-------------- - -ACTOR SpectralMonster native -{ - Monster - +SPECIAL - +SPECTRAL - +NOICEDEATH - - action native A_SpectreChunkSmall (); - action native A_SpectreChunkLarge (); - action native A_Spectre3Attack (); - action native A_SpotLightning (); -} - - -// Container for all spectral lightning deaths ------------------------------ - -ACTOR SpectralLightningBase -{ - +NOTELEPORT - +ACTIVATEIMPACT - +ACTIVATEPCROSS - +STRIFEDAMAGE - MaxStepHeight 4 - RenderStyle Add - SeeSound "weapons/sigil" - DeathSound "weapons/sigilhit" - States - { - Death: - ZAP1 B 3 A_Explode(32,32) - ZAP1 A 3 A_AlertMonsters - ZAP1 BCDEFE 3 - ZAP1 DCB 2 - ZAP1 A 1 - Stop - } -} - -// Spectral Lightning death that does not explode --------------------------- - -ACTOR SpectralLightningDeath1 : SpectralLightningBase -{ - States - { - Death: - Goto Super::Death+1 - } -} - -// Spectral Lightning death that does not alert monsters -------------------- - -ACTOR SpectralLightningDeath2 : SpectralLightningBase -{ - States - { - Death: - Goto Super::Death+2 - } -} - -// Spectral Lightning death that is shorter than the rest ------------------- - -ACTOR SpectralLightningDeathShort : SpectralLightningBase -{ - States - { - Death: - Goto Super::Death+6 - } -} - -// Spectral Lightning (Ball Shaped #1) -------------------------------------- - -ACTOR SpectralLightningBall1 : SpectralLightningBase -{ - Speed 30 - Radius 8 - Height 16 - Damage 70 - Projectile - +SPECTRAL - States - { - Spawn: - ZOT3 ABCDE 4 Bright - Loop - } -} - -// Spectral Lightning (Ball Shaped #2) -------------------------------------- - -ACTOR SpectralLightningBall2 : SpectralLightningBall1 -{ - Damage 20 -} - -// Spectral Lightning (Horizontal #1) --------------------------------------- - -ACTOR SpectralLightningH1 : SpectralLightningBase -{ - Speed 30 - Radius 8 - Height 16 - Damage 70 - Projectile - +SPECTRAL - - action native A_SpectralLightningTail (); - - States - { - Spawn: - ZAP6 A 4 Bright - ZAP6 BC 4 Bright A_SpectralLightningTail - Loop - } -} - - -// Spectral Lightning (Horizontal #2) ------------------------------------- - -ACTOR SpectralLightningH2 : SpectralLightningH1 -{ - Damage 20 -} - -// Spectral Lightning (Horizontal #3) ------------------------------------- - -ACTOR SpectralLightningH3 : SpectralLightningH1 -{ - Damage 10 -} - -// ASpectralLightningHTail -------------------------------------------------- - -ACTOR SpectralLightningHTail -{ - +NOBLOCKMAP - +NOGRAVITY - +DROPOFF - RenderStyle Add - States - { - Spawn: - ZAP6 ABC 5 Bright - Stop - } -} - -// Spectral Lightning (Big Ball #1) ----------------------------------------- - -ACTOR SpectralLightningBigBall1 : SpectralLightningDeath2 -{ - Speed 18 - Radius 20 - Height 40 - Damage 130 - Projectile - +SPECTRAL - - action native A_SpectralBigBallLightning (); - - States - { - Spawn: - ZAP7 AB 4 Bright A_SpectralBigBallLightning - ZAP7 CDE 6 Bright A_SpectralBigBallLightning - Loop - } -} - - -// Spectral Lightning (Big Ball #2 - less damaging) ------------------------- - -ACTOR SpectralLightningBigBall2 : SpectralLightningBigBall1 -{ - Damage 30 -} - -// Sigil Lightning (Vertical #1) -------------------------------------------- - -ACTOR SpectralLightningV1 : SpectralLightningDeathShort -{ - Speed 22 - Radius 8 - Height 24 - Damage 100 - Projectile - DamageType "SpectralLow" - +SPECTRAL - States - { - Spawn: - ZOT1 AB 4 Bright - ZOT1 CDE 6 Bright - Loop - } -} - -// Sigil Lightning (Vertical #2 - less damaging) ---------------------------- - -ACTOR SpectralLightningV2 : SpectralLightningV1 -{ - Damage 50 -} - -// Sigil Lightning Spot (roams around dropping lightning from above) -------- - -ACTOR SpectralLightningSpot : SpectralLightningDeath1 -{ - Speed 18 - ReactionTime 70 - +NOBLOCKMAP - +NOBLOCKMONST - +NODROPOFF - RenderStyle Translucent - Alpha 0.6 - - action native A_SpectralLightning (); - - States - { - Spawn: - ZAP5 A 4 Bright A_Countdown - ZAP5 B 4 Bright A_SpectralLightning - ZAP5 CD 4 Bright A_Countdown - Loop - } -} - -// Sigil Lightning (Big Vertical #1) ---------------------------------------- - -ACTOR SpectralLightningBigV1 : SpectralLightningDeath1 -{ - Speed 28 - Radius 8 - Height 16 - Damage 120 - Projectile - +SPECTRAL - States - { - Spawn: - ZOT2 ABCDE 4 Bright A_Tracer2 - Loop - } -} - -// Actor 90 ----------------------------------------------------------------- - -ACTOR SpectralLightningBigV2 : SpectralLightningBigV1 -{ - Damage 60 -} - - - - diff --git a/wadsrc/static/actors/strife/stalker.txt b/wadsrc/static/actors/strife/stalker.txt deleted file mode 100644 index 7f469e610..000000000 --- a/wadsrc/static/actors/strife/stalker.txt +++ /dev/null @@ -1,76 +0,0 @@ - - -// Stalker ------------------------------------------------------------------ - -ACTOR Stalker -{ - Health 80 - Painchance 40 - Speed 16 - Radius 31 - Height 25 - Monster - +NOGRAVITY - +DROPOFF - +NOBLOOD - +SPAWNCEILING - +INCOMBAT - +NOVERTICALMELEERANGE - MaxDropOffHeight 32 - MinMissileChance 150 - SeeSound "stalker/sight" - AttackSound "stalker/attack" - PainSound "stalker/pain" - DeathSound "stalker/death" - ActiveSound "stalker/active" - HitObituary "$OB_STALKER" - - action native A_StalkerLookInit (); - action native A_StalkerChaseDecide (); - action native A_StalkerWalk (); - action native A_StalkerDrop (); - action native A_StalkerAttack (); - - states - { - Spawn: - STLK A 1 A_StalkerLookInit - Loop - LookCeiling: - STLK A 10 A_Look - Loop - LookFloor: - STLK J 10 A_Look - Loop - See: - STLK A 1 Slow A_StalkerChaseDecide - STLK ABB 3 Slow A_Chase - STLK C 3 Slow A_StalkerWalk - STLK C 3 Slow A_Chase - Loop - Melee: - STLK J 3 Slow A_FaceTarget - STLK K 3 Slow A_StalkerAttack - SeeFloor: - STLK J 3 A_StalkerWalk - STLK KK 3 A_Chase - STLK L 3 A_StalkerWalk - STLK L 3 A_Chase - Loop - Pain: - STLK L 1 A_Pain - Goto See - Drop: - STLK C 2 A_StalkerDrop - STLK IHGFED 3 - Goto SeeFloor - Death: - STLK O 4 - STLK P 4 A_Scream - STLK QRST 4 - STLK U 4 A_NoBlocking - STLK VW 4 - STLK "XYZ[" 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/strife/strifeammo.txt b/wadsrc/static/actors/strife/strifeammo.txt deleted file mode 100644 index e432a7144..000000000 --- a/wadsrc/static/actors/strife/strifeammo.txt +++ /dev/null @@ -1,202 +0,0 @@ -// HE-Grenade Rounds -------------------------------------------------------- - -ACTOR HEGrenadeRounds : Ammo -{ - +FLOORCLIP - Inventory.Amount 6 - Inventory.MaxAmount 30 - Ammo.BackpackAmount 6 - Ammo.BackpackMaxAmount 60 - Inventory.Icon "I_GRN1" - Tag "$TAG_HEGRENADES" - Inventory.PickupMessage "$TXT_HEGRENADES" - States - { - Spawn: - GRN1 A -1 - Stop - } -} - -// Phosphorus-Grenade Rounds ------------------------------------------------ - -ACTOR PhosphorusGrenadeRounds : Ammo -{ - +FLOORCLIP - Inventory.Amount 4 - Inventory.MaxAmount 16 - Ammo.BackpackAmount 4 - Ammo.BackpackMaxAmount 32 - Inventory.Icon "I_GRN2" - Tag "$TAG_PHGRENADES" - Inventory.PickupMessage "$TXT_PHGRENADES" - States - { - Spawn: - GRN2 A -1 - Stop - } -} - -// Clip of Bullets ---------------------------------------------------------- - -ACTOR ClipOfBullets : Ammo -{ - +FLOORCLIP - Inventory.Amount 10 - Inventory.MaxAmount 250 - Ammo.BackpackAmount 10 - Ammo.BackpackMaxAmount 500 - Inventory.Icon "I_BLIT" - Tag "$TAG_CLIPOFBULLETS" - Inventory.PickupMessage "$TXT_CLIPOFBULLETS" - States - { - Spawn: - BLIT A -1 - Stop - } -} - -// Box of Bullets ----------------------------------------------------------- - -ACTOR BoxOfBullets : ClipOfBullets -{ - Inventory.Amount 50 - Tag "$TAG_BOXOFBULLETS" - Inventory.PickupMessage "$TXT_BOXOFBULLETS" - States - { - Spawn: - BBOX A -1 - Stop - } -} - -// Mini Missiles ------------------------------------------------------------ - -ACTOR MiniMissiles : Ammo -{ - +FLOORCLIP - Inventory.Amount 4 - Inventory.MaxAmount 100 - Ammo.BackpackAmount 4 - Ammo.BackpackMaxAmount 200 - Inventory.Icon "I_ROKT" - Tag "$TAG_MINIMISSILES" - Inventory.PickupMessage "$TXT_MINIMISSILES" - States - { - Spawn: - MSSL A -1 - Stop - } -} - -// Crate of Missiles -------------------------------------------------------- - -ACTOR CrateOfMissiles : MiniMissiles -{ - Inventory.Amount 20 - Tag "$TAG_CRATEOFMISSILES" - Inventory.PickupMessage "$TXT_CRATEOFMISSILES" - States - { - Spawn: - ROKT A -1 - Stop - } -} - -// Energy Pod --------------------------------------------------------------- - -ACTOR EnergyPod : Ammo -{ - +FLOORCLIP - Inventory.Amount 20 - Inventory.MaxAmount 400 - Ammo.BackpackAmount 20 - Ammo.BackpackMaxAmount 800 - Ammo.DropAmount 20 - Inventory.Icon "I_BRY1" - Tag "$TAG_ENERGYPOD" - Inventory.PickupMessage "$TXT_ENERGYPOD" - States - { - Spawn: - BRY1 AB 6 - Loop - } -} - -// Energy pack --------------------------------------------------------------- - -ACTOR EnergyPack : EnergyPod -{ - Inventory.Amount 100 - Tag "$TAG_ENERGYPACK" - Inventory.PickupMessage "$TXT_ENERGYPACK" - States - { - Spawn: - CPAC AB 6 - Loop - } -} - -// Poison Bolt Quiver ------------------------------------------------------- - -ACTOR PoisonBolts : Ammo -{ - +FLOORCLIP - Inventory.Amount 10 - Inventory.MaxAmount 25 - Ammo.BackpackAmount 2 - Ammo.BackpackMaxAmount 50 - Inventory.Icon "I_PQRL" - Tag "$TAG_POISONBOLTS" - Inventory.PickupMessage "$TXT_POISONBOLTS" - States - { - Spawn: - PQRL A -1 - Stop - } -} - -// Electric Bolt Quiver ------------------------------------------------------- - -ACTOR ElectricBolts : Ammo -{ - +FLOORCLIP - Inventory.Amount 20 - Inventory.MaxAmount 50 - Ammo.BackpackAmount 4 - Ammo.BackpackMaxAmount 100 - Inventory.Icon "I_XQRL" - Tag "$TAG_ELECTRICBOLTS" - Inventory.PickupMessage "$TXT_ELECTRICBOLTS" - States - { - Spawn: - XQRL A -1 - Stop - } -} - -// Ammo Satchel ------------------------------------------------------------- - -ACTOR AmmoSatchel : BackpackItem -{ - +FLOORCLIP - Inventory.Icon "I_BKPK" - Tag "$TAG_AMMOSATCHEL" - Inventory.PickupMessage "$TXT_AMMOSATCHEL" - States - { - Spawn: - BKPK A -1 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/strifearmor.txt b/wadsrc/static/actors/strife/strifearmor.txt deleted file mode 100644 index 3722d9338..000000000 --- a/wadsrc/static/actors/strife/strifearmor.txt +++ /dev/null @@ -1,43 +0,0 @@ - -ACTOR MetalArmor : BasicArmorPickup -{ - Radius 20 - Height 16 - +FLOORCLIP - +INVENTORY.AUTOACTIVATE - +INVENTORY.INVBAR - Inventory.MaxAmount 3 - Inventory.Icon "I_ARM1" - Inventory.PickupMessage "$TXT_METALARMOR" - Armor.SaveAmount 200 - Armor.SavePercent 50 - Tag "$TAG_METALARMOR" - States - { - Spawn: - ARM3 A -1 - Stop - } -} - -ACTOR LeatherArmor : BasicArmorPickup -{ - Radius 20 - Height 16 - +FLOORCLIP - +INVENTORY.AUTOACTIVATE - +INVENTORY.INVBAR - Inventory.MaxAmount 5 - Inventory.Icon "I_ARM2" - Inventory.PickupMessage "$TXT_LEATHERARMOR" - Armor.SaveAmount 100 - Armor.SavePercent 33.335 - Tag "$TAG_LEATHER" - States - { - Spawn: - ARM4 A -1 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/strifebishop.txt b/wadsrc/static/actors/strife/strifebishop.txt deleted file mode 100644 index e64b247b1..000000000 --- a/wadsrc/static/actors/strife/strifebishop.txt +++ /dev/null @@ -1,94 +0,0 @@ - -// Bishop ------------------------------------------------------------------- - -ACTOR StrifeBishop -{ - Health 500 - Painchance 128 - Speed 8 - Radius 40 - Height 56 - Mass 500 - Monster - +NOBLOOD - +NOTDMATCH - +FLOORCLIP - +INCOMBAT - +NOICEDEATH - +NEVERRESPAWN - DamageFactor "Fire", 0.5 - MinMissileChance 150 - MaxDropoffHeight 32 - SeeSound "bishop/sight" - PainSound "bishop/pain" - DeathSound "bishop/death" - ActiveSound "bishop/active" - DropItem "CrateOfMissiles", 256, 20 - Obituary "$OB_STFBISHOP" - States - { - Spawn: - MLDR A 10 A_Look - Loop - See: - MLDR AABBCCDD 3 A_Chase - Loop - Missile: - MLDR E 3 A_FaceTarget - MLDR F 2 Bright A_CustomMissile("BishopMissile", 64, 0, 0, CMF_AIMOFFSET) - Goto See - Pain: - MLDR D 1 A_Pain - Goto See - Death: - MLDR G 3 Bright - MLDR H 5 Bright A_Scream - MLDR I 4 Bright A_TossGib - MLDR J 4 Bright A_Explode(64,64,1,1) - MLDR KL 3 Bright - MLDR M 4 Bright A_NoBlocking - MLDR N 4 Bright - MLDR O 4 Bright A_TossGib - MLDR P 4 Bright - MLDR Q 4 Bright A_TossGib - MLDR R 4 Bright - MLDR S 4 Bright A_TossGib - MLDR T 4 Bright - MLDR U 4 Bright A_TossGib - MLDR V 4 Bright A_SpawnItemEx("AlienSpectre2", 0, 0, 0, 0, 0, random[spectrespawn](0,255)*0.0078125, 0, SXF_NOCHECKPOSITION) - Stop - } -} - - -// The Bishop's missile ----------------------------------------------------- - -ACTOR BishopMissile -{ - Speed 20 - Radius 10 - Height 14 - Damage 10 - Projectile - +SEEKERMISSILE - +STRIFEDAMAGE - MaxStepHeight 4 - SeeSound "bishop/misl" - DeathSound "bishop/mislx" - States - { - Spawn: - MISS A 4 Bright A_RocketInFlight - MISS B 3 Bright A_Tracer2 - Loop - Death: - SMIS A 0 Bright A_SetTranslucent(1,1) - SMIS A 0 Bright // State left for savegame compatibility - SMIS A 5 Bright A_Explode(64,64,1,1) - SMIS B 5 Bright - SMIS C 4 Bright - SMIS DEFG 2 Bright - Stop - } -} - diff --git a/wadsrc/static/actors/strife/strifehumanoid.txt b/wadsrc/static/actors/strife/strifehumanoid.txt deleted file mode 100644 index 716806564..000000000 --- a/wadsrc/static/actors/strife/strifehumanoid.txt +++ /dev/null @@ -1,53 +0,0 @@ - -// Humanoid Base Class ------------------------------------------------------ - - -ACTOR StrifeHumanoid -{ - MaxStepHeight 16 - MaxDropoffHeight 32 - - CrushPainSound "misc/pcrush" - States - { - Burn: - BURN A 3 Bright A_PlaySoundEx("human/imonfire", "Voice") - BURN B 3 Bright A_DropFire - BURN C 3 Bright A_Wander - BURN D 3 Bright A_NoBlocking - BURN E 5 Bright A_DropFire - BURN FGH 5 Bright A_Wander - BURN I 5 Bright A_DropFire - BURN JKL 5 Bright A_Wander - BURN M 5 Bright A_DropFire - BURN N 5 Bright - BURN OPQPQ 5 Bright - BURN RSTU 7 Bright - BURN V -1 - Stop - Disintegrate: - DISR A 5 A_PlaySoundEx("misc/disruptordeath", "Voice") - DISR BC 5 - DISR D 5 A_NoBlocking - DISR EF 5 - DISR GHIJ 4 - MEAT D 700 - Stop - } -} - -// Fire Droplet ------------------------------------------------------------- - -ACTOR FireDroplet -{ - +NOBLOCKMAP - +NOCLIP - States - { - Spawn: - FFOT ABCD 9 Bright - Stop - } -} - - diff --git a/wadsrc/static/actors/strife/strifeitems.txt b/wadsrc/static/actors/strife/strifeitems.txt deleted file mode 100644 index 357d64ad5..000000000 --- a/wadsrc/static/actors/strife/strifeitems.txt +++ /dev/null @@ -1,519 +0,0 @@ -// Med patch ----------------------------------------------------------------- - -ACTOR MedPatch : HealthPickup -{ - Health 10 - +FLOORCLIP - +INVENTORY.INVBAR - Inventory.MaxAmount 20 - Tag "$TAG_MEDPATCH" - Inventory.Icon "I_STMP" - Inventory.PickupMessage "$TXT_MEDPATCH" - HealthPickup.Autouse 3 - States - { - Spawn: - STMP A -1 - Stop - } -} - - -// Medical Kit --------------------------------------------------------------- - -ACTOR MedicalKit : HealthPickup -{ - Health 25 - +FLOORCLIP - +INVENTORY.INVBAR - Inventory.MaxAmount 15 - Tag "$TAG_MEDICALKIT" - Inventory.Icon "I_MDKT" - Inventory.PickupMessage "$TXT_MEDICALKIT" - HealthPickup.Autouse 3 - States - { - Spawn: - MDKT A -1 - Stop - } -} - - -// Surgery Kit -------------------------------------------------------------- - -ACTOR SurgeryKit : HealthPickup -{ - +FLOORCLIP - +INVENTORY.INVBAR - Health -100 - Inventory.MaxAmount 5 - Tag "$TAG_SURGERYKIT" - Inventory.Icon "I_FULL" - Inventory.PickupMessage "$TXT_SURGERYKIT" - States - { - Spawn: - FULL AB 35 - Loop - } -} - - -// StrifeMap ---------------------------------------------------------------- - -ACTOR StrifeMap : MapRevealer -{ - +FLOORCLIP - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_STRIFEMAP" - States - { - Spawn: - SMAP AB 6 Bright - Loop - } -} - - -// Beldin's Ring ------------------------------------------------------------ - -ACTOR BeldinsRing : Inventory -{ - +NOTDMATCH - +FLOORCLIP - +INVENTORY.INVBAR - Tag "$TAG_BELDINSRING" - Inventory.Icon "I_RING" - Inventory.GiveQuest 1 - Inventory.PickupMessage "$TXT_BELDINSRING" - States - { - Spawn: - RING A -1 - Stop - } -} - - -// Offering Chalice --------------------------------------------------------- - -ACTOR OfferingChalice : Inventory -{ - +DROPPED - +FLOORCLIP - +INVENTORY.INVBAR - Radius 10 - Height 16 - Tag "$TAG_OFFERINGCHALICE" - Inventory.Icon "I_RELC" - Inventory.PickupMessage "$TXT_OFFERINGCHALICE" - Inventory.GiveQuest 2 - States - { - Spawn: - RELC A -1 - Stop - } -} - - -// Ear ---------------------------------------------------------------------- - -ACTOR Ear : Inventory -{ - +FLOORCLIP - +INVENTORY.INVBAR - Tag "$TAG_EAR" - Inventory.Icon "I_EARS" - Inventory.PickupMessage "$TXT_EAR" - Inventory.GiveQuest 9 - States - { - Spawn: - EARS A -1 - Stop - } -} - - -// Broken Power Coupling ---------------------------------------------------- - -ACTOR BrokenPowerCoupling : Inventory -{ - Health 40 - +DROPPED - +FLOORCLIP - +INVENTORY.INVBAR - Radius 16 - Height 16 - Tag "$TAG_BROKENCOUPLING" - Inventory.MaxAmount 1 - Inventory.Icon "I_COUP" - Inventory.PickupMessage "$TXT_BROKENCOUPLING" - Inventory.GiveQuest 8 - States - { - Spawn: - COUP C -1 - Stop - } -} - - -// Shadow Armor ------------------------------------------------------------- - -ACTOR ShadowArmor : PowerupGiver -{ - +FLOORCLIP - +VISIBILITYPULSE - +INVENTORY.INVBAR - -INVENTORY.FANCYPICKUPSOUND - RenderStyle Translucent - Tag "$TAG_SHADOWARMOR" - Inventory.MaxAmount 2 - Powerup.Type "Shadow" - Inventory.Icon "I_SHD1" - Inventory.PickupSound "misc/i_pkup" - Inventory.PickupMessage "$TXT_SHADOWARMOR" - States - { - Spawn: - SHD1 A -1 Bright - Stop - } -} - - -// Environmental suit ------------------------------------------------------- - -ACTOR EnvironmentalSuit : PowerupGiver -{ - +FLOORCLIP - +INVENTORY.INVBAR - -INVENTORY.FANCYPICKUPSOUND - Inventory.MaxAmount 5 - Powerup.Type "Mask" - Tag "$TAG_ENVSUIT" - Inventory.Icon "I_MASK" - Inventory.PickupSound "misc/i_pkup" - Inventory.PickupMessage "$TXT_ENVSUIT" - States - { - Spawn: - MASK A -1 - Stop - } -} - - -// Guard Uniform ------------------------------------------------------------ - -ACTOR GuardUniform : Inventory -{ - +FLOORCLIP - +INVENTORY.INVBAR - Tag "$TAG_GUARDUNIFORM" - Inventory.Icon "I_UNIF" - Inventory.PickupMessage "$TXT_GUARDUNIFORM" - Inventory.GiveQuest 15 - States - { - Spawn: - UNIF A -1 - Stop - } -} - - -// Officer's Uniform -------------------------------------------------------- - -ACTOR OfficersUniform : Inventory -{ - +FLOORCLIP - +INVENTORY.INVBAR - Tag "$TAG_OFFICERSUNIFORM" - Inventory.Icon "I_OFIC" - Inventory.PickupMessage "$TXT_OFFICERSUNIFORM" - States - { - Spawn: - OFIC A -1 - Stop - } -} - - -// Flame Thrower Parts ------------------------------------------------------ - -ACTOR FlameThrowerParts : Inventory -{ - +FLOORCLIP - +INVENTORY.INVBAR - Inventory.Icon "I_BFLM" - Tag "$TAG_FTHROWERPARTS" - Inventory.PickupMessage "$TXT_FTHROWERPARTS" - States - { - Spawn: - BFLM A -1 - Stop - } -} - -// InterrogatorReport ------------------------------------------------------- -// SCRIPT32 in strife0.wad has an Acolyte that drops this, but I couldn't -// find that Acolyte in the map. It seems to be totally unused in the -// final game. - -ACTOR InterrogatorReport : Inventory -{ - +FLOORCLIP - Tag "$TAG_REPORT" - Inventory.PickupMessage "$TXT_REPORT" - States - { - Spawn: - TOKN A -1 - Stop - } -} - - -// Info --------------------------------------------------------------------- - -ACTOR Info : Inventory -{ - +FLOORCLIP - +INVENTORY.INVBAR - Tag "$TAG_INFO" - Inventory.Icon "I_TOKN" - Inventory.PickupMessage "$TXT_INFO" - States - { - Spawn: - TOKN A -1 - Stop - } -} - - -// Targeter ----------------------------------------------------------------- - -ACTOR Targeter : PowerupGiver -{ - +FLOORCLIP - +INVENTORY.INVBAR - -INVENTORY.FANCYPICKUPSOUND - Tag "$TAG_TARGETER" - Powerup.Type "Targeter" - Inventory.MaxAmount 5 - Inventory.Icon "I_TARG" - Inventory.PickupSound "misc/i_pkup" - Inventory.PickupMessage "$TXT_TARGETER" - States - { - Spawn: - TARG A -1 - Stop - } -} - -// Communicator ----------------------------------------------------------------- - -ACTOR Communicator : Inventory -{ - +NOTDMATCH - Tag "$TAG_COMMUNICATOR" - Inventory.Icon "I_COMM" - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_COMMUNICATOR" - States - { - Spawn: - COMM A -1 - Stop - } -} - -// Degnin Ore --------------------------------------------------------------- - -ACTOR DegninOre : Inventory native -{ - Health 10 - Radius 16 - Height 16 - Inventory.MaxAmount 10 - +SOLID - +SHOOTABLE - +NOBLOOD - +FLOORCLIP - +INCOMBAT - +INVENTORY.INVBAR - Tag "$TAG_DEGNINORE" - DeathSound "ore/explode" - Inventory.Icon "I_XPRK" - Inventory.PickupMessage "$TXT_DEGNINORE" - States - { - Spawn: - XPRK A -1 - Stop - Death: - XPRK A 1 A_RemoveForceField - BNG3 A 0 A_SetTranslucent(1,1) - BNG3 A 0 A_Scream - BNG3 A 3 Bright A_Explode(192,192,1,1) - BNG3 BCDEFGH 3 Bright - Stop - } -} - -// Gun Training ------------------------------------------------------------- - -ACTOR GunTraining : Inventory -{ - +FLOORCLIP - +INVENTORY.INVBAR - +INVENTORY.UNDROPPABLE - Inventory.MaxAmount 100 - Tag "$TAG_GUNTRAINING" - Inventory.Icon "I_GUNT" - States - { - Spawn: - GUNT A -1 - Stop - } -} - -// Health Training ---------------------------------------------------------- - -ACTOR HealthTraining : Inventory native -{ - +FLOORCLIP - +INVENTORY.INVBAR - +INVENTORY.UNDROPPABLE - Inventory.MaxAmount 100 - Tag "$TAG_HEALTHTRAINING" - Inventory.Icon "I_HELT" - States - { - Spawn: - HELT A -1 - Stop - } -} - - - -// Scanner ------------------------------------------------------------------ - -ACTOR Scanner : PowerupGiver native -{ - +FLOORCLIP - +INVENTORY.FANCYPICKUPSOUND - Inventory.MaxAmount 1 - Tag "$TAG_SCANNER" - Inventory.Icon "I_PMUP" - Powerup.Type "Scanner" - Inventory.PickupSound "misc/i_pkup" - Inventory.PickupMessage "$TXT_SCANNER" - States - { - Spawn: - PMUP AB 6 - Loop - } -} - -// Prison Pass -------------------------------------------------------------- - -ACTOR PrisonPass : Key native -{ - Inventory.Icon "I_TOKN" - Tag "$TAG_PRISONPASS" - Inventory.PickupMessage "$TXT_PRISONPASS" - States - { - Spawn: - TOKN A -1 - Stop - } -} - -//--------------------------------------------------------------------------- -// Dummy items. They are just used by Strife to perform --------------------- -// actions and cannot be held. ---------------------------------------------- -//--------------------------------------------------------------------------- - -ACTOR DummyStrifeItem : Inventory native -{ - States - { - Spawn: - TOKN A -1 - Stop - } -} - -// Sound the alarm! --------------------------------------------------------- - -ACTOR RaiseAlarm : DummyStrifeItem native -{ - Tag "$TAG_ALARM" -} - -// Open door tag 222 -------------------------------------------------------- - -ACTOR OpenDoor222 : DummyStrifeItem native -{ -} - -// Close door tag 222 ------------------------------------------------------- - -ACTOR CloseDoor222 : DummyStrifeItem native -{ -} - -// Open door tag 224 -------------------------------------------------------- - -ACTOR OpenDoor224 : DummyStrifeItem native -{ -} - -// Ammo --------------------------------------------------------------------- - -ACTOR AmmoFillup : DummyStrifeItem native -{ - Tag "$TAG_AMMOFILLUP" -} - -// Health ------------------------------------------------------------------- - -ACTOR HealthFillup : DummyStrifeItem native -{ - Tag "$TAG_HEALTHFILLUP" -} - -// Upgrade Stamina ---------------------------------------------------------- - -ACTOR UpgradeStamina : DummyStrifeItem native -{ - Inventory.Amount 10 - Inventory.MaxAmount 100 -} - -// Upgrade Accuracy --------------------------------------------------------- - -ACTOR UpgradeAccuracy : DummyStrifeItem native -{ -} - -// Start a slideshow -------------------------------------------------------- - -ACTOR SlideshowStarter : DummyStrifeItem native -{ -} - - diff --git a/wadsrc/static/actors/strife/strifekeys.txt b/wadsrc/static/actors/strife/strifekeys.txt deleted file mode 100644 index 1a58505bb..000000000 --- a/wadsrc/static/actors/strife/strifekeys.txt +++ /dev/null @@ -1,460 +0,0 @@ -ACTOR StrifeKey : Key -{ - Radius 20 - Height 16 - +NOTDMATCH - +FLOORCLIP -} - -// Base Key ----------------------------------------------------------------- - -ACTOR BaseKey : StrifeKey -{ - Inventory.Icon "I_FUSL" - Tag "$TAG_BASEKEY" - Inventory.PickupMessage "$TXT_BASEKEY" - States - { - Spawn: - FUSL A -1 - Stop - } -} - - -// Govs Key ----------------------------------------------------------------- - -ACTOR GovsKey : StrifeKey -{ - Inventory.Icon "I_REBL" - Tag "$TAG_GOVSKEY" - Inventory.PickupMessage "$TXT_GOVSKEY" - States - { - Spawn: - REBL A -1 - Stop - } -} - - -// Passcard ----------------------------------------------------------------- - -ACTOR Passcard : StrifeKey -{ - Inventory.Icon "I_TPAS" - Tag "$TAG_PASSCARD" - Inventory.PickupMessage "$TXT_PASSCARD" - States - { - Spawn: - TPAS A -1 - Stop - } -} - - -// ID Badge ----------------------------------------------------------------- - -ACTOR IDBadge : StrifeKey -{ - Inventory.Icon "I_CRD1" - Tag "$TAG_IDBADGE" - Inventory.PickupMessage "$TXT_IDBADGE" - States - { - Spawn: - CRD1 A -1 - Stop - } -} - - -// Prison Key --------------------------------------------------------------- - -ACTOR PrisonKey : StrifeKey -{ - Inventory.Icon "I_PRIS" - Tag "$TAG_PRISONKEY" - Inventory.GiveQuest 11 - Inventory.PickupMessage "$TXT_PRISONKEY" - States - { - Spawn: - PRIS A -1 - Stop - } -} - - -// Severed Hand ------------------------------------------------------------- - -ACTOR SeveredHand : StrifeKey -{ - Inventory.Icon "I_HAND" - Tag "$TAG_SEVEREDHAND" - Inventory.GiveQuest 12 - Inventory.PickupMessage "$TXT_SEVEREDHAND" - States - { - Spawn: - HAND A -1 - Stop - } -} - - -// Power1 Key --------------------------------------------------------------- - -ACTOR Power1Key : StrifeKey -{ - Inventory.Icon "I_PWR1" - Tag "$TAG_POWER1KEY" - Inventory.PickupMessage "$TXT_POWER1KEY" - States - { - Spawn: - PWR1 A -1 - Stop - } -} - - -// Power2 Key --------------------------------------------------------------- - -ACTOR Power2Key : StrifeKey -{ - Inventory.Icon "I_PWR2" - Tag "$TAG_POWER2KEY" - Inventory.PickupMessage "$TXT_POWER2KEY" - States - { - Spawn: - PWR2 A -1 - Stop - } -} - - -// Power3 Key --------------------------------------------------------------- - -ACTOR Power3Key : StrifeKey -{ - Inventory.Icon "I_PWR3" - Tag "$TAG_POWER3KEY" - Inventory.PickupMessage "$TXT_POWER3KEY" - States - { - Spawn: - PWR3 A -1 - Stop - } -} - - -// Gold Key ----------------------------------------------------------------- - -ACTOR GoldKey : StrifeKey -{ - Inventory.Icon "I_KY1G" - Tag "$TAG_GOLDKEY" - Inventory.PickupMessage "$TXT_GOLDKEY" - States - { - Spawn: - KY1G A -1 - Stop - } -} - - -// ID Card ------------------------------------------------------------------ - -ACTOR IDCard : StrifeKey -{ - Inventory.Icon "I_CRD2" - Tag "$TAG_IDCARD" - Inventory.PickupMessage "$TXT_IDCARD" - States - { - Spawn: - CRD2 A -1 - Stop - } -} - - -// Silver Key --------------------------------------------------------------- - -ACTOR SilverKey : StrifeKey -{ - Inventory.Icon "I_KY2S" - Tag "$TAG_SILVERKEY" - Inventory.PickupMessage "$TXT_SILVERKEY" - States - { - Spawn: - KY2S A -1 - Stop - } -} - - -// Oracle Key --------------------------------------------------------------- - -ACTOR OracleKey : StrifeKey -{ - Inventory.Icon "I_ORAC" - Tag "$TAG_ORACLEKEY" - Inventory.PickupMessage "$TXT_ORACLEKEY" - States - { - Spawn: - ORAC A -1 - Stop - } -} - - -// Military ID -------------------------------------------------------------- - -ACTOR MilitaryID : StrifeKey -{ - Inventory.Icon "I_GYID" - Tag "$TAG_MILITARYID" - Inventory.PickupMessage "$TXT_MILITARYID" - States - { - Spawn: - GYID A -1 - Stop - } -} - - -// Order Key ---------------------------------------------------------------- - -ACTOR OrderKey : StrifeKey -{ - Inventory.Icon "I_FUBR" - Tag "$TAG_ORDERKEY" - Inventory.PickupMessage "$TXT_ORDERKEY" - States - { - Spawn: - FUBR A -1 - Stop - } -} - - -// Warehouse Key ------------------------------------------------------------ - -ACTOR WarehouseKey : StrifeKey -{ - Inventory.Icon "I_WARE" - Tag "$TAG_WAREHOUSEKEY" - Inventory.PickupMessage "$TXT_WAREHOUSEKEY" - States - { - Spawn: - WARE A -1 - Stop - } -} - - -// Brass Key ---------------------------------------------------------------- - -ACTOR BrassKey : StrifeKey -{ - Inventory.Icon "I_KY3B" - Tag "$TAG_BRASSKEY" - Inventory.PickupMessage "$TXT_BRASSKEY" - States - { - Spawn: - KY3B A -1 - Stop - } -} - - -// Red Crystal Key ---------------------------------------------------------- - -ACTOR RedCrystalKey : StrifeKey -{ - Inventory.Icon "I_RCRY" - Tag "$TAG_REDCRYSTALKEY" - Inventory.PickupMessage "$TXT_REDCRYSTAL" - States - { - Spawn: - RCRY A -1 Bright - Stop - } -} - - -// Blue Crystal Key --------------------------------------------------------- - -ACTOR BlueCrystalKey : StrifeKey -{ - Inventory.Icon "I_BCRY" - Tag "$TAG_BLUECRYSTALKEY" - Inventory.PickupMessage "$TXT_BLUECRYSTAL" - States - { - Spawn: - BCRY A -1 Bright - Stop - } -} - - -// Chapel Key --------------------------------------------------------------- - -ACTOR ChapelKey : StrifeKey -{ - Inventory.Icon "I_CHAP" - Tag "$TAG_CHAPELKEY" - Inventory.PickupMessage "$TXT_CHAPELKEY" - States - { - Spawn: - CHAP A -1 - Stop - } -} - - -// Catacomb Key ------------------------------------------------------------- - -ACTOR CatacombKey : StrifeKey -{ - Inventory.Icon "I_TUNL" - Tag "$TAG_CATACOMBKEY" - Inventory.GiveQuest 28 - Inventory.PickupMessage "$TXT_CATACOMBKEY" - States - { - Spawn: - TUNL A -1 - Stop - } -} - - -// Security Key ------------------------------------------------------------- - -ACTOR SecurityKey : StrifeKey -{ - Inventory.Icon "I_SECK" - Tag "$TAG_SECURITYKEY" - Inventory.PickupMessage "$TXT_SECURITYKEY" - States - { - Spawn: - SECK A -1 - Stop - } -} - - -// Core Key ----------------------------------------------------------------- - -ACTOR CoreKey : StrifeKey -{ - Inventory.Icon "I_GOID" - Tag "$TAG_COREKEY" - Inventory.PickupMessage "$TXT_COREKEY" - States - { - Spawn: - GOID A -1 - Stop - } -} - - -// Mauler Key --------------------------------------------------------------- - -ACTOR MaulerKey : StrifeKey -{ - Inventory.Icon "I_BLTK" - Tag "$TAG_MAULERKEY" - Inventory.PickupMessage "$TXT_MAULERKEY" - States - { - Spawn: - BLTK A -1 - Stop - } -} - - -// Factory Key -------------------------------------------------------------- - -ACTOR FactoryKey : StrifeKey -{ - Inventory.Icon "I_PROC" - Tag "$TAG_FACTORYKEY" - Inventory.PickupMessage "$TXT_FACTORYKEY" - States - { - Spawn: - PROC A -1 - Stop - } -} - - -// Mine Key ----------------------------------------------------------------- - -ACTOR MineKey : StrifeKey -{ - Inventory.Icon "I_MINE" - Tag "$TAG_MINEKEY" - Inventory.PickupMessage "$TXT_MINEKEY" - States - { - Spawn: - MINE A -1 - Stop - } -} - - -// New Key5 ----------------------------------------------------------------- - -ACTOR NewKey5 : StrifeKey -{ - Inventory.Icon "I_BLTK" - Tag "$TAG_NEWKEY5" - Inventory.PickupMessage "$TXT_NEWKEY5" - States - { - Spawn: - BLTK A -1 - Stop - } -} - - -// Oracle Pass -------------------------------------------------------------- - -ACTOR OraclePass : Inventory -{ - +INVENTORY.INVBAR - Inventory.Icon "I_OTOK" - Inventory.GiveQuest 18 - Inventory.PickupMessage "$TXT_ORACLEPASS" - Tag "$TAG_ORACLEPASS" - States - { - Spawn: - OTOK A -1 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/strifeplayer.txt b/wadsrc/static/actors/strife/strifeplayer.txt deleted file mode 100644 index 77135dcbf..000000000 --- a/wadsrc/static/actors/strife/strifeplayer.txt +++ /dev/null @@ -1,102 +0,0 @@ -// The player --------------------------------------------------------------- - -ACTOR StrifePlayer : PlayerPawn -{ - Health 100 - Radius 18 - Height 56 - Mass 100 - PainChance 255 - Speed 1 - MaxStepHeight 16 - CrushPainSound "misc/pcrush" - Player.DisplayName "Rebel" - Player.StartItem "PunchDagger" - Player.RunHealth 15 - Player.WeaponSlot 1, PunchDagger - Player.WeaponSlot 2, StrifeCrossbow2, StrifeCrossbow - Player.WeaponSlot 3, AssaultGun - Player.WeaponSlot 4, MiniMissileLauncher - Player.WeaponSlot 5, StrifeGrenadeLauncher2, StrifeGrenadeLauncher - Player.WeaponSlot 6, FlameThrower - Player.WeaponSlot 7, Mauler2, Mauler - Player.WeaponSlot 8, Sigil - - Player.ColorRange 128, 143 - Player.Colorset 0, "Brown", 0x80, 0x8F, 0x82 - Player.Colorset 1, "Red", 0x40, 0x4F, 0x42, 0x20, 0x3F, 0x00, 0x1F, 0xF1, 0xF6, 0xE0, 0xE5, 0xF7, 0xFB, 0xF1, 0xF5 - Player.Colorset 2, "Rust", 0xB0, 0xBF, 0xB2, 0x20, 0x3F, 0x00, 0x1F - Player.Colorset 3, "Gray", 0x10, 0x1F, 0x12, 0x20, 0x2F, 0xD0, 0xDF, 0x30, 0x3F, 0xD0, 0xDF - Player.Colorset 4, "Dark Green", 0x30, 0x3F, 0x32, 0x20, 0x2F, 0xD0, 0xDF, 0x30, 0x3F, 0xD0, 0xDF - - Player.Colorset 5, "Gold", 0x50, 0x5F, 0x52, 0x20, 0x3F, 0x00, 0x1F, 0x50, 0x5F, 0x80, 0x8F, 0xC0, 0xCF, 0xA0, 0xAF, 0xD0, 0xDF, 0xB0, 0xBF - Player.Colorset 6, "Bright Green", 0x60, 0x6F, 0x62, 0x20, 0x3F, 0x00, 0x1F, 0x50, 0x5F, 0x10, 0x1F, 0xC0, 0xCF, 0x20, 0x2F, 0xD0, 0xDF, 0x30, 0x3F - Player.Colorset 7, "Blue", 0x90, 0x9F, 0x92, 0x20, 0x3F, 0x00, 0x1F, 0x50, 0x5F, 0x40, 0x4F, 0xC1, 0xCF, 0x01, 0x0F, 0xC0,0xC0,1,1, 0xD0, 0xDF, 0x10, 0x1F - - action native A_ItBurnsItBurns(); - action native A_CrispyPlayer(); - action native A_HandLower(); - - States - { - Spawn: - PLAY A -1 - stop - See: - PLAY ABCD 4 - loop - Missile: - PLAY E 12 - goto Spawn - Melee: - PLAY F 6 - goto Missile - Pain: - PLAY Q 4 - PLAY Q 4 A_Pain - Goto Spawn - Death: - PLAY H 3 - PLAY I 3 A_PlayerScream - PLAY J 3 A_NoBlocking - PLAY KLMNO 4 - PLAY P -1 - Stop - XDeath: - RGIB A 5 A_TossGib - RGIB B 5 A_XScream - RGIB C 5 A_NoBlocking - RGIB DEFG 5 A_TossGib - RGIB H -1 A_TossGib - Burn: - BURN A 3 Bright A_ItBurnsItBurns - BURN B 3 Bright A_DropFire - BURN C 3 Bright A_Wander - BURN D 3 Bright A_NoBlocking - BURN E 5 Bright A_DropFire - BURN FGH 5 Bright A_Wander - BURN I 5 Bright A_DropFire - BURN JKL 5 Bright A_Wander - BURN M 5 Bright A_DropFire - BURN N 5 Bright A_CrispyPlayer - BURN OPQPQ 5 Bright - BURN RSTU 7 Bright - BURN V -1 - Stop - Disintegrate: - DISR A 5 A_PlaySoundEx("misc/disruptordeath", "Voice") - DISR BC 5 - DISR D 5 A_NoBlocking - DISR EF 5 - DISR GHIJ 4 - MEAT D -1 - Stop - Firehands: - WAVE ABCD 3 - Loop - Firehandslower: - WAVE ABCD 3 A_HandLower - Loop - } -} - diff --git a/wadsrc/static/actors/strife/strifestuff.txt b/wadsrc/static/actors/strife/strifestuff.txt deleted file mode 100644 index 3bbc1fb90..000000000 --- a/wadsrc/static/actors/strife/strifestuff.txt +++ /dev/null @@ -1,1723 +0,0 @@ -// Tank 1 Huge ------------------------------------------------------------ - -ACTOR Tank1 -{ - Radius 16 - Height 192 - +SOLID - States - { - Spawn: - TNK1 A 15 - TNK1 B 11 - TNK1 C 40 - Loop - } -} - -// Tank 2 Huge ------------------------------------------------------------ - -ACTOR Tank2 -{ - Radius 16 - Height 192 - +SOLID - States - { - Spawn: - TNK2 A 15 - TNK2 B 11 - TNK2 C 40 - Loop - } -} - -// Tank 3 Huge ------------------------------------------------------------ - -ACTOR Tank3 -{ - Radius 16 - Height 192 - +SOLID - States - { - Spawn: - TNK3 A 15 - TNK3 B 11 - TNK3 C 40 - Loop - } -} - -// Tank 4 ------------------------------------------------------------------- - -ACTOR Tank4 -{ - Radius 16 - Height 56 - +SOLID - States - { - Spawn: - TNK4 A 15 - TNK4 B 11 - TNK4 C 40 - Loop - } -} - -// Tank 5 ------------------------------------------------------------------- - -ACTOR Tank5 -{ - Radius 16 - Height 56 - +SOLID - States - { - Spawn: - TNK5 A 15 - TNK5 B 11 - TNK5 C 40 - Loop - } -} - -// Tank 6 ------------------------------------------------------------------- - -ACTOR Tank6 -{ - Radius 16 - Height 56 - +SOLID - States - { - Spawn: - TNK6 A 15 - TNK6 B 11 - TNK6 C 40 - Loop - } -} - -// Water Bottle ------------------------------------------------------------- - -ACTOR WaterBottle -{ - States - { - Spawn: - WATR A -1 - Stop - } -} - -// Mug ---------------------------------------------------------------------- - -ACTOR Mug -{ - States - { - Spawn: - MUGG A -1 - Stop - } -} - -// Wooden Barrel ------------------------------------------------------------ - -ACTOR WoodenBarrel -{ - Health 10 - Radius 10 - Height 32 - +SOLID +SHOOTABLE +NOBLOOD - +INCOMBAT - DeathSound "woodenbarrel/death" - States - { - Spawn: - BARW A -1 - Stop - Death: - BARW B 2 A_Scream - BARW C 2 - BARW D 2 A_NoBlocking - BARW EFG 2 - BARW H -1 - Stop - } -} - -// Strife's explosive barrel ------------------------------------------------ - -ACTOR ExplosiveBarrel2 -{ - Health 30 - Radius 10 - Height 32 - +SOLID +SHOOTABLE +NOBLOOD +OLDRADIUSDMG - DeathSound "world/barrelx" - +INCOMBAT - States - { - Spawn: - BART A -1 - Stop - Death: - BART B 2 Bright A_Scream - BART CD 2 Bright - BART E 2 Bright A_NoBlocking - BART F 2 Bright A_Explode(64, 64, 1, 1) - BART GHIJ 2 Bright - BART K 3 Bright - BART L -1 - Stop - } -} - -// Light Silver, Fluorescent ---------------------------------------------- - -ACTOR LightSilverFluorescent -{ - Radius 2.5 - Height 16 - +NOBLOCKMAP - +FIXMAPTHINGPOS - States - { - Spawn: - LITS A -1 Bright - Stop - } -} - -// Light Brown, Fluorescent ----------------------------------------------- - -ACTOR LightBrownFluorescent -{ - Radius 2.5 - Height 16 - +NOBLOCKMAP - +FIXMAPTHINGPOS - States - { - Spawn: - LITB A -1 Bright - Stop - } -} - -// Light Gold, Fluorescent ------------------------------------------------ - -ACTOR LightGoldFluorescent -{ - Radius 2.5 - Height 16 - +NOBLOCKMAP - +FIXMAPTHINGPOS - States - { - Spawn: - LITG A -1 Bright - Stop - } -} - -// Light Globe -------------------------------------------------------------- - -ACTOR LightGlobe -{ - Radius 16 - Height 16 - +SOLID - States - { - Spawn: - LITE A -1 Bright - Stop - } -} - -// Techno Pillar ------------------------------------------------------------ - -ACTOR PillarTechno -{ - Radius 20 - Height 128 - +SOLID - States - { - Spawn: - MONI A -1 - Stop - } -} - -// Aztec Pillar ------------------------------------------------------------- - -ACTOR PillarAztec -{ - Radius 16 - Height 128 - +SOLID - States - { - Spawn: - STEL A -1 - Stop - } -} - -// Damaged Aztec Pillar ----------------------------------------------------- - -ACTOR PillarAztecDamaged -{ - Radius 16 - Height 80 - +SOLID - States - { - Spawn: - STLA A -1 - Stop - } -} - -// Ruined Aztec Pillar ------------------------------------------------------ - -ACTOR PillarAztecRuined -{ - Radius 16 - Height 40 - +SOLID - States - { - Spawn: - STLE A -1 - Stop - } -} - -// Huge Tech Pillar --------------------------------------------------------- - -ACTOR PillarHugeTech -{ - Radius 24 - Height 192 - +SOLID - States - { - Spawn: - HUGE ABCD 4 - Loop - } -} - -// Alien Power Crystal in a Pillar ------------------------------------------ - -ACTOR PillarAlienPower -{ - Radius 24 - Height 192 - +SOLID - ActiveSound "ambient/alien2" - States - { - Spawn: - APOW A 4 A_LoopActiveSound - Loop - } -} - -// SStalactiteBig ----------------------------------------------------------- - -ACTOR SStalactiteBig -{ - Radius 16 - Height 54 - +SOLID +SPAWNCEILING +NOGRAVITY - States - { - Spawn: - STLG C -1 - Stop - } -} - -// SStalactiteSmall --------------------------------------------------------- - -ACTOR SStalactiteSmall -{ - Radius 16 - Height 40 - +SOLID +SPAWNCEILING +NOGRAVITY - States - { - Spawn: - STLG A -1 - Stop - } -} - -// SStalagmiteBig ----------------------------------------------------------- - -ACTOR SStalagmiteBig -{ - Radius 16 - Height 40 - +SOLID - States - { - Spawn: - STLG B -1 - Stop - } -} - -// Cave Pillar Top ---------------------------------------------------------- - -ACTOR CavePillarTop -{ - Radius 16 - Height 128 - +SOLID +SPAWNCEILING +NOGRAVITY - States - { - Spawn: - STLG D -1 - Stop - } -} - -// Cave Pillar Bottom ------------------------------------------------------- - -ACTOR CavePillarBottom -{ - Radius 16 - Height 128 - +SOLID - States - { - Spawn: - STLG E -1 - Stop - } -} - -// SStalagmiteSmall --------------------------------------------------------- - -ACTOR SStalagmiteSmall -{ - Radius 16 - Height 25 - +SOLID - States - { - Spawn: - STLG F -1 - Stop - } -} - -// Candle ------------------------------------------------------------------- - -ACTOR Candle -{ - States - { - Spawn: - KNDL A -1 Bright - Stop - } -} - -// StrifeCandelabra --------------------------------------------------------- - -ACTOR StrifeCandelabra -{ - Radius 16 - Height 40 - +SOLID - States - { - Spawn: - CLBR A -1 - Stop - } -} - -// Floor Water Drop --------------------------------------------------------- - -ACTOR WaterDropOnFloor -{ - +NOBLOCKMAP - ActiveSound "world/waterdrip" - States - { - Spawn: - DRIP A 6 A_FLoopActiveSound - DRIP BC 4 - DRIP D 4 A_FLoopActiveSound - DRIP EF 4 - DRIP G 4 A_FLoopActiveSound - DRIP H 4 - Loop - } -} - -// Waterfall Splash --------------------------------------------------------- - -ACTOR WaterfallSplash -{ - +NOBLOCKMAP - ActiveSound "world/waterfall" - States - { - Spawn: - SPLH ABCDEFG 4 - SPLH H 4 A_LoopActiveSound - Loop - } -} - -// Ceiling Water Drip ------------------------------------------------------- - -ACTOR WaterDrip -{ - Height 1 - +NOBLOCKMAP +SPAWNCEILING +NOGRAVITY - States - { - Spawn: - CDRP A 10 - CDRP BCD 8 - Loop - } -} - -// WaterFountain ------------------------------------------------------------ - -ACTOR WaterFountain -{ - +NOBLOCKMAP - ActiveSound "world/watersplash" - States - { - Spawn: - WTFT ABC 4 - WTFT D 4 A_LoopActiveSound - Loop - } -} - -// Hearts in Tank ----------------------------------------------------------- - -ACTOR HeartsInTank -{ - Radius 16 - Height 56 - +SOLID - States - { - Spawn: - HERT ABC 4 Bright - Loop - } -} - -// Teleport Swirl ----------------------------------------------------------- - -ACTOR TeleportSwirl -{ - +NOBLOCKMAP - RenderStyle Add - Alpha 0.25 - States - { - Spawn: - TELP ABCD 3 Bright - Loop - } -} - -// Dead Player -------------------------------------------------------------- -// Strife's disappeared. This one doesn't. - -ACTOR DeadStrifePlayer -{ - States - { - Spawn: - PLAY P 700 - RGIB H -1 - Stop - } -} - -// Dead Peasant ------------------------------------------------------------- -// Unlike Strife's, this one does not turn into gibs and disappear. - -ACTOR DeadPeasant -{ - States - { - Spawn: - PEAS N -1 - Stop - } -} - -// Dead Acolyte ------------------------------------------------------------- -// Unlike Strife's, this one does not turn into gibs and disappear. - -ACTOR DeadAcolyte -{ - States - { - Spawn: - AGRD N -1 - Stop - } -} - -// Dead Reaver -------------------------------------------------------------- - -ACTOR DeadReaver -{ - States - { - Spawn: - ROB1 R -1 - Stop - } -} - -// Dead Rebel --------------------------------------------------------------- - -ACTOR DeadRebel -{ - States - { - Spawn: - HMN1 N -1 - Stop - } -} - -// Sacrificed Guy ----------------------------------------------------------- - -ACTOR SacrificedGuy -{ - States - { - Spawn: - SACR A -1 - Stop - } -} - -// Pile of Guts ------------------------------------------------------------- - -ACTOR PileOfGuts -{ - // Strife used a doomednum, which is the same as the Aztec Pillar. Since - // the pillar came first in the mobjinfo list, you could not spawn this - // in a map. Pity. - States - { - Spawn: - DEAD A -1 - Stop - } -} - -// Burning Barrel ----------------------------------------------------------- - -ACTOR StrifeBurningBarrel -{ - Radius 16 - Height 48 - +SOLID - States - { - Spawn: - BBAR ABCD 4 Bright - Loop - } -} - -// Burning Bowl ----------------------------------------------------------- - -ACTOR BurningBowl -{ - Radius 16 - Height 16 - +SOLID - ActiveSound "world/smallfire" - States - { - Spawn: - BOWL ABCD 4 Bright - Loop - } -} - -// Burning Brazier ----------------------------------------------------------- - -ACTOR BurningBrazier -{ - Radius 10 - Height 32 - +SOLID - ActiveSound "world/smallfire" - States - { - Spawn: - BRAZ ABCD 4 Bright - Loop - } -} - -// Small Torch Lit -------------------------------------------------------- - -ACTOR SmallTorchLit -{ - Radius 2.5 - Height 16 - +NOBLOCKMAP - +FIXMAPTHINGPOS - - // It doesn't have any action functions, so how does it use this sound? - ActiveSound "world/smallfire" - States - { - Spawn: - TRHL ABCD 4 Bright - Loop - } -} - -// Small Torch Unlit -------------------------------------------------------- - -ACTOR SmallTorchUnlit -{ - Radius 2.5 - Height 16 - +NOBLOCKMAP - +FIXMAPTHINGPOS - States - { - Spawn: - TRHO A -1 - Stop - } -} - -// Ceiling Chain ------------------------------------------------------------ - -ACTOR CeilingChain -{ - Radius 20 - Height 93 - +NOBLOCKMAP +SPAWNCEILING +NOGRAVITY - States - { - Spawn: - CHAN A -1 - Stop - } -} - -// Cage Light --------------------------------------------------------------- - -ACTOR CageLight -{ - // No, it's not bright even though it's a light. - Height 3 - +NOBLOCKMAP +SPAWNCEILING +NOGRAVITY - States - { - Spawn: - CAGE A -1 - Stop - } -} - -// Statue ------------------------------------------------------------------- - -ACTOR Statue -{ - Radius 20 - Height 64 - +SOLID - States - { - Spawn: - STAT A -1 - Stop - } -} - -// Ruined Statue ------------------------------------------------------------ - -ACTOR StatueRuined -{ - Radius 20 - Height 56 - +SOLID - States - { - Spawn: - DSTA A -1 - Stop - } -} - -// Medium Torch ------------------------------------------------------------- - -ACTOR MediumTorch -{ - Radius 4 - Height 72 - +SOLID - States - { - Spawn: - LTRH ABCD 4 - Loop - } -} - -// Outside Lamp ------------------------------------------------------------- - -ACTOR OutsideLamp -{ - // No, it's not bright. - Radius 3 - Height 80 - +SOLID - States - { - Spawn: - LAMP A -1 - Stop - } -} - -// Pole Lantern ------------------------------------------------------------- - -ACTOR PoleLantern -{ - // No, it's not bright. - Radius 3 - Height 80 - +SOLID - States - { - Spawn: - LANT A -1 - Stop - } -} - -// Rock 1 ------------------------------------------------------------------- - -ACTOR SRock1 -{ - +NOBLOCKMAP - States - { - Spawn: - ROK1 A -1 - Stop - } -} - -// Rock 2 ------------------------------------------------------------------- - -ACTOR SRock2 -{ - +NOBLOCKMAP - States - { - Spawn: - ROK2 A -1 - Stop - } -} - -// Rock 3 ------------------------------------------------------------------- - -ACTOR SRock3 -{ - +NOBLOCKMAP - States - { - Spawn: - ROK3 A -1 - Stop - } -} - -// Rock 4 ------------------------------------------------------------------- - -ACTOR SRock4 -{ - +NOBLOCKMAP - States - { - Spawn: - ROK4 A -1 - Stop - } -} - -// Stick in Water ----------------------------------------------------------- - -ACTOR StickInWater -{ - +NOBLOCKMAP - +FLOORCLIP - ActiveSound "world/river" - States - { - Spawn: - LOGW ABCD 5 A_LoopActiveSound - Loop - } -} - -// Rubble 1 ----------------------------------------------------------------- - -ACTOR Rubble1 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB1 A -1 - Stop - } -} - -// Rubble 2 ----------------------------------------------------------------- - -ACTOR Rubble2 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB2 A -1 - Stop - } -} - -// Rubble 3 ----------------------------------------------------------------- - -ACTOR Rubble3 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB3 A -1 - Stop - } -} - -// Rubble 4 ----------------------------------------------------------------- - -ACTOR Rubble4 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB4 A -1 - Stop - } -} - -// Rubble 5 ----------------------------------------------------------------- - -ACTOR Rubble5 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB5 A -1 - Stop - } -} - -// Rubble 6 ----------------------------------------------------------------- - -ACTOR Rubble6 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB6 A -1 - Stop - } -} - -// Rubble 7 ----------------------------------------------------------------- - -ACTOR Rubble7 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB7 A -1 - Stop - } -} - -// Rubble 8 ----------------------------------------------------------------- - -ACTOR Rubble8 -{ - +NOBLOCKMAP +NOCLIP - States - { - Spawn: - RUB8 A -1 - Stop - } -} - -// Surgery Crab ------------------------------------------------------------- - -ACTOR SurgeryCrab -{ - +SOLID +SPAWNCEILING +NOGRAVITY - Radius 20 - Height 16 - States - { - Spawn: - CRAB A -1 - Stop - } -} - -// Large Torch -------------------------------------------------------------- - -ACTOR LargeTorch -{ - Radius 10 - Height 72 - +SOLID - ActiveSound "world/smallfire" - States - { - Spawn: - LMPC ABCD 4 Bright - Loop - } -} - -// Huge Torch -------------------------------------------------------------- - -ACTOR HugeTorch -{ - Radius 10 - Height 80 - +SOLID - ActiveSound "world/smallfire" - States - { - Spawn: - LOGS ABCD 4 - Loop - } -} - -// Palm Tree ---------------------------------------------------------------- - -ACTOR PalmTree -{ - Radius 15 - Height 109 - +SOLID - States - { - Spawn: - TREE A -1 - Stop - } -} - -// Big Tree ---------------------------------------------------------------- - -ACTOR BigTree2 -{ - Radius 15 - Height 109 - +SOLID - States - { - Spawn: - TREE B -1 - Stop - } -} - -// Potted Tree ---------------------------------------------------------------- - -ACTOR PottedTree -{ - Radius 15 - Height 64 - +SOLID - States - { - Spawn: - TREE C -1 - Stop - } -} - -// Tree Stub ---------------------------------------------------------------- - -ACTOR TreeStub -{ - Radius 15 - Height 80 - +SOLID - States - { - Spawn: - TRET A -1 - Stop - } -} - -// Short Bush --------------------------------------------------------------- - -ACTOR ShortBush -{ - Radius 15 - Height 40 - +SOLID - States - { - Spawn: - BUSH A -1 - Stop - } -} - -// Tall Bush --------------------------------------------------------------- - -ACTOR TallBush -{ - Radius 20 - Height 64 - +SOLID - States - { - Spawn: - SHRB A -1 - Stop - } -} - -// Chimney Stack ------------------------------------------------------------ - -ACTOR ChimneyStack -{ - Radius 20 - Height 64 // This height does not fit the sprite - +SOLID - States - { - Spawn: - STAK A -1 - Stop - } -} - -// Barricade Column --------------------------------------------------------- - -ACTOR BarricadeColumn -{ - Radius 16 - Height 128 - +SOLID - States - { - Spawn: - BARC A -1 - Stop - } -} - -// Pot ---------------------------------------------------------------------- - -ACTOR Pot -{ - Radius 12 - Height 24 - +SOLID - States - { - Spawn: - VAZE A -1 - Stop - } -} - -// Pitcher ------------------------------------------------------------------ - -ACTOR Pitcher -{ - Radius 12 - Height 32 - +SOLID - States - { - Spawn: - VAZE B -1 - Stop - } -} - -// Stool -------------------------------------------------------------------- - -ACTOR Stool -{ - Radius 6 - Height 24 - +SOLID - States - { - Spawn: - STOL A -1 - Stop - } -} - -// Metal Pot ---------------------------------------------------------------- - -ACTOR MetalPot -{ - +NOBLOCKMAP - States - { - Spawn: - MPOT A -1 - Stop - } -} - -// Tub ---------------------------------------------------------------------- - -ACTOR Tub -{ - +NOBLOCKMAP - States - { - Spawn: - TUB1 A -1 - Stop - } -} - -// Anvil -------------------------------------------------------------------- - -ACTOR Anvil -{ - Radius 16 - Height 32 - +SOLID - States - { - Spawn: - ANVL A -1 - Stop - } -} - -// Silver Tech Lamp ---------------------------------------------------------- - -ACTOR TechLampSilver -{ - Radius 11 - Height 64 - +SOLID - States - { - Spawn: - TECH A -1 - Stop - } -} - -// Brass Tech Lamp ---------------------------------------------------------- - -ACTOR TechLampBrass -{ - Radius 8 - Height 64 - +SOLID - States - { - Spawn: - TECH B -1 - Stop - } -} - -// Tray -------------------------------------------------------------------- - -ACTOR Tray -{ - Radius 24 - Height 40 - +SOLID - States - { - Spawn: - TRAY A -1 - Stop - } -} - -// AmmoFiller --------------------------------------------------------------- - -ACTOR AmmoFiller -{ - Radius 12 - Height 24 - +SOLID - States - { - Spawn: - AFED A -1 - Stop - } -} - -// Sigil Banner ------------------------------------------------------------- - -ACTOR SigilBanner -{ - Radius 24 - Height 96 - +NOBLOCKMAP // I take it this was once solid, yes? - States - { - Spawn: - SBAN A -1 - Stop - } -} - -// RebelBoots --------------------------------------------------------------- - -ACTOR RebelBoots -{ - +NOBLOCKMAP - States - { - Spawn: - BOTR A -1 - Stop - } -} - -// RebelHelmet -------------------------------------------------------------- - -ACTOR RebelHelmet -{ - +NOBLOCKMAP - States - { - Spawn: - HATR A -1 - Stop - } -} - -// RebelShirt --------------------------------------------------------------- - -ACTOR RebelShirt -{ - +NOBLOCKMAP - States - { - Spawn: - TOPR A -1 - Stop - } -} - -// Alien Bubble Column ------------------------------------------------------ - -ACTOR AlienBubbleColumn -{ - Radius 16 - Height 128 - +SOLID - ActiveSound "ambient/alien5" - States - { - Spawn: - BUBB A 4 A_LoopActiveSound - Loop - } -} - -// Alien Floor Bubble ------------------------------------------------------- - -ACTOR AlienFloorBubble -{ - Radius 16 - Height 72 - +SOLID - ActiveSound "ambient/alien6" - States - { - Spawn: - BUBF A 4 A_LoopActiveSound - Loop - } -} - -// Alien Ceiling Bubble ----------------------------------------------------- - -ACTOR AlienCeilingBubble -{ - Radius 16 - Height 72 - +SOLID +SPAWNCEILING +NOGRAVITY - ActiveSound "ambient/alien4" - States - { - Spawn: - BUBC A 4 A_LoopActiveSound - Loop - } -} - -// Alien Asp Climber -------------------------------------------------------- - -ACTOR AlienAspClimber -{ - Radius 16 - Height 128 - +SOLID - ActiveSound "ambient/alien3" - States - { - Spawn: - ASPR A 4 A_LoopActiveSound - Loop - } -} - -// Alien Spider Light ------------------------------------------------------- - -ACTOR AlienSpiderLight -{ - Radius 32 - Height 56 - +SOLID - ActiveSound "ambient/alien1" - States - { - Spawn: - SPDL ABC 5 A_LoopActiveSound - Loop - } -} - -// Target Practice ----------------------------------------------------------- - -ACTOR TargetPractice -{ - Health 99999999 - PainChance 255 - Radius 10 - Height 72 - Mass 9999999 - +SOLID +SHOOTABLE +NOBLOOD - +INCOMBAT +NODAMAGE - PainSound "misc/metalhit" - States - { - Spawn: - HOGN A 2 A_CheckTerrain - Loop - Pain: - HOGN B 1 A_CheckTerrain - HOGN C 1 A_Pain - Goto Spawn - } -} - -// Force Field Guard -------------------------------------------------------- - -ACTOR ForceFieldGuard native -{ - Health 10 - Radius 2 - Height 1 - Mass 10000 - +SHOOTABLE - +NOSECTOR - +NOBLOOD - +INCOMBAT - States - { - Spawn: - TNT1 A -1 - Stop - Death: - TNT1 A 1 A_RemoveForceField - Stop - } -} - -// Kneeling Guy ------------------------------------------------------------- - -ACTOR KneelingGuy -{ - Health 51 - Painchance 255 - Radius 6 - Height 17 - Mass 50000 - +SOLID - +SHOOTABLE - +NOBLOOD - +ISMONSTER - +INCOMBAT - PainSound "misc/static" - DeathSound "misc/static" - ActiveSound "misc/chant" - states - { - Spawn: - See: - NEAL A 15 A_LoopActiveSound - NEAL B 40 A_LoopActiveSound - Loop - Pain: - NEAL C 5 A_SetShadow - NEAL B 4 A_Pain - NEAL C 5 A_ClearShadow - Goto Spawn - Wound: - NEAL B 6 - NEAL C 13 A_GetHurt - Loop - Death: - NEAL D 5 - NEAL E 5 A_Scream - NEAL F 6 - NEAL G 5 A_NoBlocking - NEAL H 5 - NEAL I 6 - NEAL J -1 - Stop - } - - -} - -// Klaxon Warning Light ----------------------------------------------------- - -ACTOR KlaxonWarningLight -{ - ReactionTime 60 - Radius 5 - +NOBLOCKMAP +AMBUSH - +SPAWNCEILING +NOGRAVITY - +FIXMAPTHINGPOS +NOSPLASHALERT - +SYNCHRONIZED - States - { - Spawn: - KLAX A 5 A_TurretLook - Loop - See: - KLAX B 6 A_KlaxonBlare - KLAX C 60 - Loop - } - -} - -// CeilingTurret ------------------------------------------------------------ - -ACTOR CeilingTurret -{ - Health 125 - Speed 0 - Painchance 0 - Mass 10000000 - Monster - -SOLID - -CANPASS - +AMBUSH - +SPAWNCEILING - +NOGRAVITY - +NOBLOOD - +NOSPLASHALERT - +DONTFALL - MinMissileChance 150 - DeathSound "turret/death" - States - { - Spawn: - TURT A 5 A_TurretLook - Loop - See: - TURT A 2 A_Chase - Loop - Missile: - Pain: - TURT B 4 Slow A_ShootGun - TURT D 3 Slow A_SentinelRefire - TURT A 4 A_SentinelRefire - Loop - Death: - BALL A 6 Bright A_Scream - BALL BCDE 6 Bright - TURT C -1 - Stop - } -} - - -// Power Coupling ----------------------------------------------------------- - -ACTOR PowerCoupling native -{ - Health 40 - Radius 17 - Height 64 - Mass 999999 - +SOLID - +SHOOTABLE - +DROPPED - +NOBLOOD - +NOTDMATCH - +INCOMBAT - States - { - Spawn: - COUP AB 5 - Loop - } -} - -// Gibs for things that bleed ----------------------------------------------- - -ACTOR Meat native -{ - +NOCLIP - States - { - Spawn: - MEAT A 700 - Stop - MEAT B 700 - Stop - MEAT C 700 - Stop - MEAT D 700 - Stop - MEAT E 700 - Stop - MEAT F 700 - Stop - MEAT G 700 - Stop - MEAT H 700 - Stop - MEAT I 700 - Stop - MEAT J 700 - Stop - MEAT K 700 - Stop - MEAT L 700 - Stop - MEAT M 700 - Stop - MEAT N 700 - Stop - MEAT O 700 - Stop - MEAT P 700 - Stop - MEAT Q 700 - Stop - MEAT R 700 - Stop - MEAT S 700 - Stop - MEAT T 700 - Stop - } -} - -// Gibs for things that don't bleed ----------------------------------------- - -ACTOR Junk : Meat -{ - States - { - Spawn: - JUNK A 700 - Stop - JUNK B 700 - Stop - JUNK C 700 - Stop - JUNK D 700 - Stop - JUNK E 700 - Stop - JUNK F 700 - Stop - JUNK G 700 - Stop - JUNK H 700 - Stop - JUNK I 700 - Stop - JUNK J 700 - Stop - JUNK K 700 - Stop - JUNK L 700 - Stop - JUNK M 700 - Stop - JUNK N 700 - Stop - JUNK O 700 - Stop - JUNK P 700 - Stop - JUNK Q 700 - Stop - JUNK R 700 - Stop - JUNK S 700 - Stop - JUNK T 700 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/strifeweapons.txt b/wadsrc/static/actors/strife/strifeweapons.txt deleted file mode 100644 index b807f110a..000000000 --- a/wadsrc/static/actors/strife/strifeweapons.txt +++ /dev/null @@ -1,813 +0,0 @@ - -ACTOR StrifeWeapon : Weapon -{ - Weapon.Kickback 100 -} - -// Same as the bullet puff for Doom ----------------------------------------- - -ACTOR StrifePuff -{ - +NOBLOCKMAP - +NOGRAVITY - +ALLOWPARTICLES - RenderStyle Translucent - Alpha 0.25 - - states - { - Spawn: - POW3 ABCDEFGH 3 - Stop - Crash: - PUFY A 4 Bright - PUFY BCD 4 - Stop - } -} - - -// A spark when you hit something that doesn't bleed ------------------------ -// Only used by the dagger. - -ACTOR StrifeSpark : StrifePuff -{ - RenderStyle Add - States - { - Crash: - POW2 ABCD 4 - Stop - } -} - -// Punch Dagger ------------------------------------------------------------- - -ACTOR PunchDagger : StrifeWeapon -{ - Weapon.SelectionOrder 3900 - +WEAPON.NOALERT - Obituary "$OB_MPPUNCHDAGGER" - Tag "$TAG_PUNCHDAGGER" - - action native A_JabDagger (); - - States - { - Ready: - PNCH A 1 A_WeaponReady - Loop - Deselect: - PNCH A 1 A_Lower - Loop - Select: - PNCH A 1 A_Raise - Loop - Fire: - PNCH B 4 - PNCH C 4 A_JabDagger - PNCH D 5 - PNCH C 4 - PNCH B 5 A_ReFire - Goto Ready - } - -} - - -// The base for Strife projectiles that die with ZAP1 ----------------------- - -ACTOR StrifeZap1 -{ - +NOBLOCKMAP - +NOGRAVITY - +DROPOFF - States - { - Spawn: - Death: - ZAP1 A 3 A_AlertMonsters - ZAP1 BCDEFE 3 - ZAP1 DCB 2 - ZAP1 A 1 - Stop - } -} - - -// Electric Bolt ------------------------------------------------------------ - -ACTOR ElectricBolt : StrifeZap1 -{ - Speed 30 - Radius 10 - Height 10 - Damage 10 - Projectile - +STRIFEDAMAGE - MaxStepHeight 4 - SeeSound "misc/swish" - ActiveSound "misc/swish" - DeathSound "weapons/xbowhit" - Obituary "$OB_MPELECTRICBOLT" - States - { - Spawn: - AROW A 10 A_LoopActiveSound - Loop - } -} - - -// Poison Bolt -------------------------------------------------------------- - -ACTOR PoisonBolt native -{ - Speed 30 - Radius 10 - Height 10 - Damage 500 - Projectile - +STRIFEDAMAGE - MaxStepHeight 4 - SeeSound "misc/swish" - ActiveSound "misc/swish" - Obituary "$OB_MPPOISONBOLT" - States - { - Spawn: - ARWP A 10 A_LoopActiveSound - Loop - Death: - AROW A 1 - Stop - } -} - - -// Strife's Crossbow -------------------------------------------------------- - -ACTOR StrifeCrossbow : StrifeWeapon -{ - +FLOORCLIP - Weapon.SelectionOrder 1200 - +WEAPON.NOALERT - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 8 - Weapon.AmmoType1 "ElectricBolts" - Weapon.SisterWeapon "StrifeCrossbow2" - Inventory.PickupMessage "$TXT_STRIFECROSSBOW" - Tag "$TAG_STRIFECROSSBOW1" - Inventory.Icon "CBOWA0" - - action native A_ClearFlash (); - action native A_ShowElectricFlash (); - action native A_FireArrow (class proj); - - states - { - Spawn: - CBOW A -1 - Stop - Ready: - XBOW A 0 A_ShowElectricFlash - XBOW A 1 A_WeaponReady - Wait - Deselect: - XBOW A 1 A_Lower - Loop - Select: - XBOW A 1 A_Raise - Loop - Fire: - XBOW A 3 A_ClearFlash - XBOW B 6 A_FireArrow("ElectricBolt") - XBOW C 4 - XBOW D 6 - XBOW E 3 - XBOW F 5 - XBOW G 0 A_ShowElectricFlash - XBOW G 5 A_CheckReload - Goto Ready+1 - Flash: - XBOW KLM 5 - Loop - } -} - - -ACTOR StrifeCrossbow2 : StrifeCrossbow -{ - Weapon.SelectionOrder 2700 - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 0 - Weapon.AmmoType1 "PoisonBolts" - Weapon.SisterWeapon "StrifeCrossbow" - Tag "$TAG_STRIFECROSSBOW2" - - States - { - Ready: - XBOW H 1 A_WeaponReady - Loop - Deselect: - XBOW H 1 A_Lower - Loop - Select: - XBOW H 1 A_Raise - Loop - Fire: - XBOW H 3 - XBOW B 6 A_FireArrow("PoisonBolt") - XBOW C 4 - XBOW D 6 - XBOW E 3 - XBOW I 5 - XBOW J 5 A_CheckReload - Goto Ready - Flash: - Stop - } -} - -// Assault Gun -------------------------------------------------------------- - -actor AssaultGun : StrifeWeapon -{ - +FLOORCLIP - Weapon.SelectionOrder 600 - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 20 - Weapon.AmmoType1 "ClipOfBullets" - Inventory.Icon "RIFLA0" - Tag "$TAG_ASSAULTGUN" - Inventory.PickupMessage "$TXT_ASSAULTGUN" - Obituary "$OB_MPASSAULTGUN" - States - { - Spawn: - RIFL A -1 - Stop - Ready: - RIFG A 1 A_WeaponReady - Loop - Deselect: - RIFG B 1 A_Lower - Loop - Select: - RIFG A 1 A_Raise - Loop - Fire: - RIFF AB 3 A_FireAssaultGun - RIFG D 3 A_FireAssaultGun - RIFG C 0 A_ReFire - RIFG B 2 A_Light0 - Goto Ready - } -} - - -// Standing variant of the assault gun -------------------------------------- - -ACTOR AssaultGunStanding : WeaponGiver -{ - DropItem "AssaultGun" - Inventory.PickupMessage "$TXT_ASSAULTGUN" - States - { - Spawn: - RIFL B -1 - Stop - } -} - - -// Mini-Missile Launcher ---------------------------------------------------- - - -ACTOR MiniMissileLauncher : StrifeWeapon -{ - +FLOORCLIP - Weapon.SelectionOrder 1800 - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 8 - Weapon.AmmoType1 "MiniMissiles" - Inventory.Icon "MMSLA0" - Tag "$TAG_MMLAUNCHER" - Inventory.PickupMessage "$TXT_MMLAUNCHER" - - action native A_FireMiniMissile (); - - States - { - Spawn: - MMSL A -1 - Stop - Ready: - MMIS A 1 A_WeaponReady - Loop - Deselect: - MMIS A 1 A_Lower - Loop - Select: - MMIS A 1 A_Raise - Loop - Fire: - MMIS A 4 A_FireMiniMissile - MMIS B 4 A_Light1 - MMIS C 5 Bright - MMIS D 2 Bright A_Light2 - MMIS E 2 Bright - MMIS F 2 Bright A_Light0 - MMIS F 0 A_ReFire - Goto Ready - } -} - - -// Rocket Trail ------------------------------------------------------------- - -ACTOR RocketTrail -{ - +NOBLOCKMAP - +NOGRAVITY - RenderStyle Translucent - Alpha 0.25 - SeeSound "misc/missileinflight" - States - { - Spawn: - PUFY BCBCD 4 - Stop - } -} - -// Rocket Puff -------------------------------------------------------------- - -ACTOR MiniMissilePuff : StrifePuff -{ - -ALLOWPARTICLES - States - { - Spawn: - Goto Crash - } -} - -// Mini Missile ------------------------------------------------------------- - -ACTOR MiniMissile -{ - Speed 20 - Radius 10 - Height 14 - Damage 10 - Projectile - +STRIFEDAMAGE - MaxStepHeight 4 - SeeSound "weapons/minimissile" - DeathSound "weapons/minimissilehit" - Obituary "$OB_MPMINIMISSILELAUNCHER" - States - { - Spawn: - MICR A 6 Bright A_RocketInFlight - Loop - Death: - SMIS A 0 Bright A_SetTranslucent(1,1) - SMIS A 0 Bright // State left for savegame compatibility - SMIS A 5 Bright A_Explode(64,64,1,1) - SMIS B 5 Bright - SMIS C 4 Bright - SMIS DEFG 2 Bright - Stop - } -} - -// Flame Thrower ------------------------------------------------------------ - -ACTOR FlameThrower : StrifeWeapon -{ - +FLOORCLIP - Weapon.SelectionOrder 2100 - Weapon.Kickback 0 - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 100 - Weapon.UpSound "weapons/flameidle" - Weapon.ReadySound "weapons/flameidle" - Weapon.AmmoType1 "EnergyPod" - Inventory.Icon "FLAMA0" - Tag "$TAG_FLAMER" - Inventory.PickupMessage "$TXT_FLAMER" - - action native A_FireFlamer (); - - States - { - Spawn: - FLAM A -1 - Stop - Ready: - FLMT AB 3 A_WeaponReady - Loop - Deselect: - FLMT A 1 A_Lower - Loop - Select: - FLMT A 1 A_Raise - Loop - Fire: - FLMF A 2 A_FireFlamer - FLMF B 3 A_ReFire - Goto Ready - } -} - - -// Flame Thrower Projectile ------------------------------------------------- - -ACTOR FlameMissile -{ - Speed 15 - Height 11 - Radius 8 - Mass 10 - Damage 4 - DamageType Fire - ReactionTime 8 - Projectile - -NOGRAVITY - +STRIFEDAMAGE - MaxStepHeight 4 - RenderStyle Add - SeeSound "weapons/flamethrower" - Obituary "$OB_MPFLAMETHROWER" - - action native A_FlameDie (); - - States - { - Spawn: - FRBL AB 3 Bright - FRBL C 3 Bright A_Countdown - Loop - Death: - FRBL D 5 Bright A_FlameDie - FRBL EFGHI 5 Bright - Stop - } - -} - - -// Mauler ------------------------------------------------------------------- -// The scatter version - -ACTOR Mauler : StrifeWeapon -{ - +FLOORCLIP - Weapon.SelectionOrder 300 - Weapon.AmmoUse1 20 - Weapon.AmmoGive1 40 - Weapon.AmmoType1 "EnergyPod" - Weapon.SisterWeapon "Mauler2" - Inventory.Icon "TRPDA0" - Tag "$TAG_MAULER1" - Inventory.PickupMessage "$TXT_MAULER" - Obituary "$OB_MPMAULER1" - - action native A_FireMauler1 (); - - States - { - Ready: - MAUL FGHA 6 A_WeaponReady - Loop - Deselect: - MAUL A 1 A_Lower - Loop - Select: - MAUL A 1 A_Raise - Loop - Fire: - BLSF A 5 Bright A_FireMauler1 - MAUL B 3 Bright A_Light1 - MAUL C 2 A_Light2 - MAUL DE 2 - MAUL A 7 A_Light0 - MAUL H 7 - MAUL G 7 A_CheckReload - Goto Ready - Spawn: - TRPD A -1 - Stop - } -} - - -// Mauler Torpedo version --------------------------------------------------- - -ACTOR Mauler2 : Mauler -{ - Weapon.SelectionOrder 3300 - Weapon.AmmoUse1 30 - Weapon.AmmoGive1 0 - Weapon.AmmoType1 "EnergyPod" - Weapon.SisterWeapon "Mauler" - Tag "$TAG_MAULER2" - - action native A_FireMauler2Pre (); - action native A_FireMauler2 (); - - States - { - Ready: - MAUL IJKL 7 A_WeaponReady - Loop - Deselect: - MAUL I 1 A_Lower - Loop - Select: - MAUL I 1 A_Raise - Loop - Fire: - MAUL I 20 A_FireMauler2Pre - MAUL J 10 A_Light1 - BLSF A 10 Bright A_FireMauler2 - MAUL B 10 Bright A_Light2 - MAUL C 2 - MAUL D 2 A_Light0 - MAUL E 2 A_ReFire - Goto Ready - } -} - - -// Mauler "Bullet" Puff ----------------------------------------------------- - -ACTOR MaulerPuff -{ - +NOBLOCKMAP - +NOGRAVITY - +PUFFONACTORS - RenderStyle Add - DamageType Disintegrate - states - { - Spawn: - MPUF AB 5 - POW1 ABCDE 4 - Stop - } -} - -// The Mauler's Torpedo ----------------------------------------------------- - -ACTOR MaulerTorpedo -{ - Speed 20 - Height 8 - Radius 13 - Damage 1 - DamageType Disintegrate - Projectile - +STRIFEDAMAGE - MaxStepHeight 4 - RenderStyle Add - SeeSound "weapons/mauler2fire" - DeathSound "weapons/mauler2hit" - Obituary "$OB_MPMAULER" - - action native A_MaulerTorpedoWave (); - - States - { - Spawn: - TORP ABCD 4 Bright - Loop - Death: - THIT AB 8 Bright - THIT C 8 Bright A_MaulerTorpedoWave - THIT DE 8 Bright - Stop - } -} - - -// The mini torpedoes shot by the big torpedo -------------------------------- - -ACTOR MaulerTorpedoWave -{ - Speed 35 - Radius 13 - Height 13 - Damage 10 - DamageType Disintegrate - Projectile - +STRIFEDAMAGE - MaxStepHeight 4 - RenderStyle Add - Obituary "$OB_MPMAULER" - States - { - Spawn: - TWAV AB 9 Bright - Death: - TWAV C 9 Bright - Stop - } -} - - -// High-Explosive Grenade --------------------------------------------------- - -ACTOR HEGrenade -{ - Speed 15 - Radius 13 - Height 13 - Mass 20 - Damage 1 - Reactiontime 30 - Projectile - -NOGRAVITY - +STRIFEDAMAGE - +BOUNCEONACTORS - +EXPLODEONWATER - MaxStepHeight 4 - BounceType "Doom" - BounceFactor 0.5 - BounceCount 2 - SeeSound "weapons/hegrenadeshoot" - DeathSound "weapons/hegrenadebang" - Obituary "$OB_MPSTRIFEGRENADE" - States - { - Spawn: - GRAP AB 3 A_Countdown - Loop - Death: - BNG4 A 0 Bright A_NoGravity - BNG4 A 0 Bright A_SetTranslucent(1,1) - BNG4 A 2 Bright A_Explode(192,192,1,1) - BNG4 BCDEFGHIJKLMN 3 Bright - Stop - } -} - -// White Phosphorous Grenade ------------------------------------------------ - -ACTOR PhosphorousGrenade -{ - Speed 15 - Radius 13 - Height 13 - Mass 20 - Damage 1 - Reactiontime 40 - Projectile - -NOGRAVITY - +STRIFEDAMAGE - +BOUNCEONACTORS - +EXPLODEONWATER - BounceType "Doom" - MaxStepHeight 4 - BounceFactor 0.5 - BounceCount 2 - SeeSound "weapons/phgrenadeshoot" - DeathSound "weapons/phgrenadebang" - Obituary "$OB_MPPHOSPHOROUSGRENADE" - States - { - Spawn: - GRIN AB 3 A_Countdown - Loop - Death: - BNG3 A 2 A_SpawnItemEx("PhosphorousFire") - Stop - } -} - -// Fire from the Phoshorous Grenade ----------------------------------------- - -ACTOR PhosphorousFire native -{ - Reactiontime 120 - DamageType Fire - +NOBLOCKMAP - +FLOORCLIP - +NOTELEPORT - +NODAMAGETHRUST - +DONTSPLASH - RenderStyle Add - Obituary "$OB_MPPHOSPHOROUSGRENADE" - - action native A_Burnarea (); - action native A_Burnination (); - - states - { - Spawn: - BNG3 B 2 Bright A_Burnarea - BNG3 C 2 Bright A_Countdown - FLBE A 2 Bright A_Burnination - FLBE B 2 Bright A_Countdown - FLBE C 2 Bright A_Burnarea - FLBE D 3 Bright A_Countdown - FLBE E 3 Bright A_Burnarea - FLBE F 3 Bright A_Countdown - FLBE G 3 Bright A_Burnination - Goto Spawn+5 - Death: - FLBE H 2 Bright - FLBE I 2 Bright A_Burnination - FLBE JK 2 Bright - Stop - } -} - -// High-Explosive Grenade Launcher ------------------------------------------ - -ACTOR StrifeGrenadeLauncher : StrifeWeapon -{ - +FLOORCLIP - Weapon.SelectionOrder 2400 - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 12 - Weapon.AmmoType1 "HEGrenadeRounds" - Weapon.SisterWeapon "StrifeGrenadeLauncher2" - Inventory.Icon "GRNDA0" - Tag "$TAG_GLAUNCHER1" - Inventory.PickupMessage "$TXT_GLAUNCHER" - - action native A_FireGrenade (class grenadetype, float angleofs, state flash); - - States - { - Spawn: - GRND A -1 - Stop - Ready: - GREN A 1 A_WeaponReady - Loop - Deselect: - GREN A 1 A_Lower - Loop - Select: - GREN A 1 A_Raise - Loop - Fire: - GREN A 5 A_FireGrenade("HEGrenade", -90, "Flash") - GREN B 10 - GREN A 5 A_FireGrenade("HEGrenade", 90, "Flash2") - GREN C 10 - GREN A 0 A_ReFire - Goto Ready - Flash: - GREF A 5 Bright A_Light1 - Goto LightDone - Flash2: - GREF B 5 Bright A_Light2 - Goto LightDone - } - -} - -// White Phosphorous Grenade Launcher --------------------------------------- - -ACTOR StrifeGrenadeLauncher2 : StrifeGrenadeLauncher -{ - Weapon.SelectionOrder 3200 - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 0 - Weapon.AmmoType1 "PhosphorusGrenadeRounds" - Weapon.SisterWeapon "StrifeGrenadeLauncher" - Tag "$TAG_GLAUNCHER2" - - States - { - Ready: - GREN D 1 A_WeaponReady - Loop - Deselect: - GREN D 1 A_Lower - Loop - Select: - GREN D 1 A_Raise - Loop - Fire: - GREN D 5 A_FireGrenade("PhosphorousGrenade", -90, "Flash") - GREN E 10 - GREN D 5 A_FireGrenade("PhosphorousGrenade", 90, "Flash2") - GREN F 10 - GREN A 0 A_ReFire - Goto Ready - Flash: - GREF C 5 Bright A_Light1 - Goto LightDone - Flash2: - GREF D 5 Bright A_Light2 - Goto LightDone - } -} - diff --git a/wadsrc/static/actors/strife/templar.txt b/wadsrc/static/actors/strife/templar.txt deleted file mode 100644 index f15195c3d..000000000 --- a/wadsrc/static/actors/strife/templar.txt +++ /dev/null @@ -1,66 +0,0 @@ - -ACTOR Templar -{ - Health 300 - Painchance 100 - Speed 8 - Radius 20 - Height 60 - Mass 500 - Monster - +NOBLOOD - +SEESDAGGERS - +NOSPLASHALERT - MaxdropoffHeight 32 - MinMissileChance 200 - SeeSound "templar/sight" - PainSound "templar/pain" - DeathSound "templar/death" - ActiveSound "templar/active" - CrushPainSound "misc/pcrush" - Tag "$TAG_TEMPLAR" - HitObituary "$OB_TEMPLARHIT" - Obituary "$OB_TEMPLAR" - DropItem "EnergyPod" - - action native A_TemplarAttack(); - - States - { - Spawn: - PGRD A 5 A_Look2 - Loop - PGRD B 10 - Loop - PGRD C 10 - Loop - PGRD B 10 A_Wander - Loop - See: - PGRD AABBCCDD 3 A_Chase - Loop - Melee: - PGRD E 8 A_FaceTarget - PGRD F 8 A_CustomMeleeAttack(random[ReaverMelee](1,8)*3, "reaver/blade") - Goto See - Missile: - PGRD G 8 BRIGHT A_FaceTarget - PGRD H 8 BRIGHT A_TemplarAttack - Goto See - Pain: - PGRD A 2 - PGRD A 2 A_Pain - Goto See - Death: - PGRD I 4 A_TossGib - PGRD J 4 A_Scream - PGRD K 4 A_TossGib - PGRD L 4 A_NoBlocking - PGRD MN 4 - PGRD O 4 A_TossGib - PGRD "PQRSTUVWXYZ[" 4 - PGRD "\" -1 - Stop - } -} - diff --git a/wadsrc/static/actors/strife/thingstoblowup.txt b/wadsrc/static/actors/strife/thingstoblowup.txt deleted file mode 100644 index 8f8148809..000000000 --- a/wadsrc/static/actors/strife/thingstoblowup.txt +++ /dev/null @@ -1,141 +0,0 @@ - - -// A Cloud used for varius explosions --------------------------------------- -// This actor has no direct equivalent in strife. To create this, Strife -// spawned a spark and then changed its state to that of this explosion -// cloud. Weird. - -ACTOR Bang4Cloud -{ - +NOBLOCKMAP - +NOGRAVITY - RenderStyle Add - VSpeed 1 - States - { - Spawn: - BNG4 BCDEFGHIJKLMN 3 Bright - Stop - } -} - -// Piston ------------------------------------------------------------------- - -ACTOR Piston -{ - Health 100 - Speed 16 - Radius 20 - Height 76 - Mass 10000000 - +SOLID - +SHOOTABLE - +NOBLOOD - +FLOORCLIP - +INCOMBAT - DeathSound "misc/explosion" - states - { - Spawn: - PSTN AB 8 - Loop - Death: - PSTN A 4 Bright A_Scream - PSTN B 4 Bright A_NoBlocking - PSTN C 4 Bright A_GiveQuestItem(16) - PSTN D 4 Bright A_Bang4Cloud - PSTN E 4 Bright A_TossGib - PSTN F 4 Bright - PSTN G 4 Bright A_Bang4Cloud - PSTN H 4 - PSTN I -1 - Stop - } - -} - -// Computer ----------------------------------------------------------------- - -ACTOR Computer -{ - Health 80 - Speed 27 - Radius 26 - Height 128 - Mass 10000000 - +SOLID - +SHOOTABLE - +NOBLOOD - +FLOORCLIP - +INCOMBAT - DeathSound "misc/explosion" - states - { - Spawn: - SECR ABCD 4 Bright - Loop - Death: - SECR E 5 Bright A_Bang4Cloud - SECR F 5 Bright A_NoBlocking - SECR G 5 Bright A_GiveQuestItem(27) - SECR H 5 Bright A_TossGib - SECR I 5 Bright A_Bang4Cloud - SECR J 5 - SECR K 5 A_Bang4Cloud - SECR L 5 - SECR M 5 A_Bang4Cloud - SECR N 5 - SECR O 5 A_Bang4Cloud - SECR P -1 - Stop - } -} - - -// Power Crystal ------------------------------------------------------------ - -ACTOR PowerCrystal -{ - Health 50 - Speed 14 - Radius 20 - Height 16 - Mass 99999999 - +SOLID - +SHOOTABLE - +NOGRAVITY - +NOBLOOD - +FLOORCLIP - DeathSound "misc/explosion" - ActiveSound "misc/reactor" - - action native A_ExtraLightOff (); - action native A_Explode512 (); - action native A_LightGoesOut (); - - States - { - Spawn: - CRYS A 16 A_LoopActiveSound - CRYS B 5 A_LoopActiveSound - CRYS CDEF 4 A_LoopActiveSound - Loop - Death: - BOOM A 0 Bright A_Scream - BOOM A 1 Bright A_Explode512 - BOOM B 3 Bright A_GiveQuestItem(14) - BOOM C 2 Bright A_LightGoesOut - BOOM D 3 Bright A_Bang4Cloud - BOOM EF 3 Bright - BOOM G 3 Bright A_Bang4Cloud - BOOM H 1 Bright A_Explode512 - BOOM I 3 Bright - BOOM JKL 3 Bright A_Bang4Cloud - BOOM MN 3 Bright - BOOM O 3 Bright A_Bang4Cloud - BOOM PQRST 3 Bright - BOOM U 3 Bright A_ExtraLightOff - BOOM VWXY 3 Bright - Stop - } -} diff --git a/wadsrc/static/actors/strife/zombie.txt b/wadsrc/static/actors/strife/zombie.txt deleted file mode 100644 index 54683b824..000000000 --- a/wadsrc/static/actors/strife/zombie.txt +++ /dev/null @@ -1,58 +0,0 @@ - -// Zombie ------------------------------------------------------------------- - -ACTOR Zombie : StrifeHumanoid -{ - Health 31 - Radius 20 - Height 56 - PainChance 0 - +SOLID - +SHOOTABLE - +FLOORCLIP - +CANPASS - +CANPUSHWALLS - +ACTIVATEMCROSS - MinMissileChance 150 - MaxStepHeight 16 - MaxDropOffHeight 32 - Translation 0 - DeathSound "zombie/death" - CrushPainSound "misc/pcrush" - States - { - Spawn: - PEAS A 5 A_CheckTerrain - Loop - Pain: - AGRD A 5 A_CheckTerrain - Loop - Death: - GIBS M 5 A_TossGib - GIBS N 5 A_XScream - GIBS O 5 A_NoBlocking - GIBS PQRST 4 A_TossGib - GIBS U 5 - GIBS V -1 - Stop - } -} - - -// Zombie Spawner ----------------------------------------------------------- - -ACTOR ZombieSpawner -{ - Health 20 - +SHOOTABLE - +NOSECTOR - RenderStyle None - ActiveSound "zombie/spawner" // Does Strife use this somewhere else? - States - { - Spawn: - TNT1 A 175 A_SpawnItemEx("Zombie") - Loop - } -} - diff --git a/wadsrc/static/decorate.txt b/wadsrc/static/decorate.txt index 6ecac49c6..2fc515af0 100644 --- a/wadsrc/static/decorate.txt +++ b/wadsrc/static/decorate.txt @@ -1,36 +1,3 @@ -#include "actors/strife/strifehumanoid.txt" -#include "actors/strife/strifeplayer.txt" -#include "actors/strife/strifeweapons.txt" -#include "actors/strife/spectral.txt" -#include "actors/strife/acolyte.txt" -#include "actors/strife/alienspectres.txt" -#include "actors/strife/beggars.txt" -#include "actors/strife/coin.txt" -#include "actors/strife/crusader.txt" -#include "actors/strife/entityboss.txt" -#include "actors/strife/inquisitor.txt" -#include "actors/strife/loremaster.txt" -#include "actors/strife/macil.txt" -#include "actors/strife/merchants.txt" -#include "actors/strife/peasants.txt" -#include "actors/strife/strifebishop.txt" -#include "actors/strife/oracle.txt" -#include "actors/strife/programmer.txt" -#include "actors/strife/questitems.txt" -#include "actors/strife/ratbuddy.txt" -#include "actors/strife/rebels.txt" -#include "actors/strife/reaver.txt" -#include "actors/strife/sentinel.txt" -#include "actors/strife/stalker.txt" -#include "actors/strife/strifeammo.txt" -#include "actors/strife/strifearmor.txt" -#include "actors/strife/strifeitems.txt" -#include "actors/strife/strifekeys.txt" -#include "actors/strife/strifestuff.txt" -#include "actors/strife/thingstoblowup.txt" -#include "actors/strife/templar.txt" -#include "actors/strife/zombie.txt" -#include "actors/strife/sigil.txt" #include "actors/chex/chexmonsters.txt" #include "actors/chex/chexkeys.txt" diff --git a/wadsrc/static/zscript.txt b/wadsrc/static/zscript.txt index c4dac2b95..f65ae5555 100644 --- a/wadsrc/static/zscript.txt +++ b/wadsrc/static/zscript.txt @@ -135,3 +135,37 @@ zscript/hexen/serpent.txt zscript/hexen/spike.txt zscript/hexen/wraith.txt zscript/hexen/heresiarch.txt + +zscript/strife/strifehumanoid.txt +zscript/strife/strifeplayer.txt +zscript/strife/strifeweapons.txt +zscript/strife/spectral.txt +zscript/strife/acolyte.txt +zscript/strife/alienspectres.txt +zscript/strife/beggars.txt +zscript/strife/coin.txt +zscript/strife/crusader.txt +zscript/strife/entityboss.txt +zscript/strife/inquisitor.txt +zscript/strife/loremaster.txt +zscript/strife/macil.txt +zscript/strife/merchants.txt +zscript/strife/peasants.txt +zscript/strife/strifebishop.txt +zscript/strife/oracle.txt +zscript/strife/programmer.txt +zscript/strife/questitems.txt +zscript/strife/ratbuddy.txt +zscript/strife/rebels.txt +zscript/strife/reaver.txt +zscript/strife/sentinel.txt +zscript/strife/stalker.txt +zscript/strife/strifeammo.txt +zscript/strife/strifearmor.txt +zscript/strife/strifeitems.txt +zscript/strife/strifekeys.txt +zscript/strife/strifestuff.txt +zscript/strife/thingstoblowup.txt +zscript/strife/templar.txt +zscript/strife/zombie.txt +zscript/strife/sigil.txt diff --git a/wadsrc/static/zscript/strife/acolyte.txt b/wadsrc/static/zscript/strife/acolyte.txt new file mode 100644 index 000000000..2f01cb836 --- /dev/null +++ b/wadsrc/static/zscript/strife/acolyte.txt @@ -0,0 +1,218 @@ + +// Base class for the acolytes ---------------------------------------------- + +class Acolyte : StrifeHumanoid +{ + Default + { + Health 70; + PainChance 150; + Speed 7; + Radius 24; + Height 64; + Mass 400; + Monster; + +SEESDAGGERS + +NOSPLASHALERT + +FLOORCLIP + +NEVERRESPAWN + MinMissileChance 150; + Tag "$TAG_ACOLYTE"; + SeeSound "acolyte/sight"; + PainSound "acolyte/pain"; + AttackSound "acolyte/rifle"; + DeathSound "acolyte/death"; + ActiveSound "acolyte/active"; + Obituary "$OB_ACOLYTE"; + } + + action native void A_BeShadowyFoe (); + action native void A_AcolyteBits (); + action native void A_AcolyteDie (); + + States + { + Spawn: + AGRD A 5 A_Look2; + Wait; + AGRD B 8 A_ClearShadow; + Loop; + AGRD D 8; + Loop; + AGRD ABCDABCD 5 A_Wander; + Loop; + See: + AGRD A 6 Fast Slow A_AcolyteBits; + AGRD BCD 6 Fast Slow A_Chase; + Loop; + Missile: + AGRD E 8 Fast Slow A_FaceTarget; + AGRD FE 4 Fast Slow A_ShootGun; + AGRD F 6 Fast Slow A_ShootGun; + Goto See; + Pain: + AGRD O 8 Fast Slow A_Pain; + Goto See; + Death: + AGRD G 4; + AGRD H 4 A_Scream; + AGRD I 4; + AGRD J 3; + AGRD K 3 A_NoBlocking; + AGRD L 3; + AGRD M 3 A_AcolyteDie; + AGRD N -1; + Stop; + XDeath: + GIBS A 5 A_NoBlocking; + GIBS BC 5 A_TossGib; + GIBS D 4 A_TossGib; + GIBS E 4 A_XScream; + GIBS F 4 A_TossGib; + GIBS GH 4; + GIBS I 5; + GIBS J 5 A_AcolyteDie; + GIBS K 5; + GIBS L 1400; + Stop; + } +} + + +// Acolyte 1 ---------------------------------------------------------------- + +class AcolyteTan : Acolyte +{ + Default + { + +MISSILEMORE +MISSILEEVENMORE + DropItem "ClipOfBullets"; + } +} + +// Acolyte 2 ---------------------------------------------------------------- + +class AcolyteRed : Acolyte +{ + Default + { + +MISSILEMORE +MISSILEEVENMORE + Translation 0; + } +} + +// Acolyte 3 ---------------------------------------------------------------- + +class AcolyteRust : Acolyte +{ + Default + { + +MISSILEMORE +MISSILEEVENMORE + Translation 1; + } +} + +// Acolyte 4 ---------------------------------------------------------------- + +class AcolyteGray : Acolyte +{ + Default + { + +MISSILEMORE +MISSILEEVENMORE + Translation 2; + } +} + +// Acolyte 5 ---------------------------------------------------------------- + +class AcolyteDGreen : Acolyte +{ + Default + { + +MISSILEMORE +MISSILEEVENMORE + Translation 3; + } +} + +// Acolyte 6 ---------------------------------------------------------------- + +class AcolyteGold : Acolyte +{ + Default + { + +MISSILEMORE +MISSILEEVENMORE + Translation 4; + } +} + +// Acolyte 7 ---------------------------------------------------------------- + +class AcolyteLGreen : Acolyte +{ + Default + { + Health 60; + Translation 5; + } +} + +// Acolyte 8 ---------------------------------------------------------------- + +class AcolyteBlue : Acolyte +{ + Default + { + Health 60; + Translation 6; + } +} + +// Shadow Acolyte ----------------------------------------------------------- + +class AcolyteShadow : Acolyte +{ + Default + { + +MISSILEMORE + DropItem "ClipOfBullets"; + } + States + { + See: + AGRD A 6 A_BeShadowyFoe; + Goto Super::See+1; + Pain: + AGRD O 0 Fast Slow A_SetShadow; + AGRD O 8 Fast Slow A_Pain; + Goto See; + } +} + +// Some guy turning into an acolyte ----------------------------------------- + +class AcolyteToBe : Acolyte +{ + Default + { + Health 61; + Radius 20; + Height 56; + DeathSound "becoming/death"; + -COUNTKILL + -ISMONSTER + } + + action native void A_HideDecepticon (); + + States + { + Spawn: + ARMR A -1; + Stop; + Pain: + ARMR A -1 A_HideDecepticon; + Stop; + Death: + Goto XDeath; + } +} diff --git a/wadsrc/static/zscript/strife/alienspectres.txt b/wadsrc/static/zscript/strife/alienspectres.txt new file mode 100644 index 000000000..42c8293d0 --- /dev/null +++ b/wadsrc/static/zscript/strife/alienspectres.txt @@ -0,0 +1,223 @@ + +// Alien Spectre 1 ----------------------------------------------------------- + +class AlienSpectre1 : SpectralMonster +{ + Default + { + Health 1000; + Painchance 250; + Speed 12; + Radius 64; + Height 64; + FloatSpeed 5; + Mass 1000; + MinMissileChance 150; + RenderStyle "Translucent"; + Alpha 0.666; + SeeSound "alienspectre/sight"; + AttackSound "alienspectre/blade"; + PainSound "alienspectre/pain"; + DeathSound "alienspectre/death"; + ActiveSound "alienspectre/active"; + Obituary "$OB_ALIENSPECTRE"; + +NOGRAVITY + +FLOAT + +SHADOW + +NOTDMATCH + +DONTMORPH + +NOBLOCKMONST + +INCOMBAT + +LOOKALLAROUND + +NOICEDEATH + } + + action native void A_AlienSpectreDeath (); + + States + { + Spawn: + ALN1 A 10 A_Look; + ALN1 B 10 A_SentinelBob; + Loop; + See: + ALN1 AB 4 Bright A_Chase; + ALN1 C 4 Bright A_SentinelBob; + ALN1 DEF 4 Bright A_Chase; + ALN1 G 4 Bright A_SentinelBob; + ALN1 HIJ 4 Bright A_Chase; + ALN1 K 4 Bright A_SentinelBob; + Loop; + Melee: + ALN1 J 4 Bright A_FaceTarget; + ALN1 I 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5); + ALN1 H 4 Bright; + Goto See; + Missile: + ALN1 J 4 Bright A_FaceTarget; + ALN1 I 4 Bright A_SpotLightning; + ALN1 H 4 Bright; + Goto See+10; + Pain: + ALN1 J 2 A_Pain; + Goto See+6; + Death: + AL1P A 6 Bright A_SpectreChunkSmall; + AL1P B 6 Bright A_Scream; + AL1P C 6 Bright A_SpectreChunkSmall; + AL1P DE 6 Bright; + AL1P F 6 Bright A_SpectreChunkSmall; + AL1P G 6 Bright; + AL1P H 6 Bright A_SpectreChunkSmall; + AL1P IJK 6 Bright; + AL1P LM 5 Bright; + AL1P N 5 Bright A_SpectreChunkLarge; + AL1P OPQ 5 Bright; + AL1P R 5 Bright A_AlienSpectreDeath; + Stop; + } +} + + +// Alien Spectre 2 ----------------------------------------------------------- + +class AlienSpectre2 : AlienSpectre1 +{ + Default + { + Health 1200; + Painchance 50; + Radius 24; + DropItem "Sigil2"; + } + States + { + Missile: + ALN1 F 4 A_FaceTarget; + ALN1 I 4 A_CustomMissile("SpectralLightningH3", 32, 0); + ALN1 E 4; + Goto See+10; + } +} + +// Alien Spectre 3 ---------------------------------------------------------- +// This is the Oracle's personal spectre, so it's a little different. + +class AlienSpectre3 : AlienSpectre1 +{ + Default + { + Health 1500; + Painchance 50; + Radius 24; + +SPAWNCEILING + DropItem "Sigil3"; + DamageFactor "SpectralLow", 0; + } + States + { + Spawn: + ALN1 ABCDEFGHIJK 5; + Loop; + See: + ALN1 AB 5 A_Chase; + ALN1 C 5 A_SentinelBob; + ALN1 DEF 5 A_Chase; + ALN1 G 5 A_SentinelBob; + ALN1 HIJ 5 A_Chase; + ALN1 K 5 A_SentinelBob; + Loop; + Melee: + ALN1 J 4 A_FaceTarget; + ALN1 I 4 A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5); + ALN1 C 4; + Goto See+2; + Missile: + ALN1 F 4 A_FaceTarget; + ALN1 I 4 A_Spectre3Attack; + ALN1 E 4; + Goto See+10; + Pain: + ALN1 J 2 A_Pain; + Goto See+6; + } +} + + +// Alien Spectre 4 ----------------------------------------------------------- + +class AlienSpectre4 : AlienSpectre1 +{ + Default + { + Health 1700; + Painchance 50; + Radius 24; + DropItem "Sigil4"; + } + States + { + Missile: + ALN1 F 4 A_FaceTarget; + ALN1 I 4 A_CustomMissile("SpectralLightningBigV2", 32, 0); + ALN1 E 4; + Goto See+10; + } +} + + +// Alien Spectre 5 ----------------------------------------------------------- + +class AlienSpectre5 : AlienSpectre1 +{ + Default + { + Health 2000; + Painchance 50; + Radius 24; + DropItem "Sigil5"; + } + States + { + Missile: + ALN1 F 4 A_FaceTarget; + ALN1 I 4 A_CustomMissile("SpectralLightningBigBall2", 32, 0); + ALN1 E 4; + Goto See+10; + } +} + +// Small Alien Chunk -------------------------------------------------------- + +class AlienChunkSmall : Actor +{ + Default + { + +NOBLOCKMAP + +NOCLIP + } + States + { + Spawn: + NODE ABCDEFG 6 Bright; + Stop; + } +} + +// Large Alien Chunk -------------------------------------------------------- + +class AlienChunkLarge : Actor +{ + Default + { + +NOBLOCKMAP + +NOCLIP + } + States + { + Spawn: + MTHD ABCDEFGHIJK 5 Bright; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/beggars.txt b/wadsrc/static/zscript/strife/beggars.txt new file mode 100644 index 000000000..e70a3a8e7 --- /dev/null +++ b/wadsrc/static/zscript/strife/beggars.txt @@ -0,0 +1,90 @@ + +// Base class for the beggars --------------------------------------------- + +class Beggar : StrifeHumanoid +{ + Default + { + Health 20; + PainChance 250; + Speed 3; + Radius 20; + Height 56; + Monster; + +JUSTHIT + -COUNTKILL + +NOSPLASHALERT + MinMissileChance 150; + Tag "$TAG_BEGGAR"; + MaxStepHeight 16; + MaxDropoffHeight 32; + HitObituary "$OB_BEGGAR"; + + AttackSound "beggar/attack"; + PainSound "beggar/pain"; + DeathSound "beggar/death"; + } + States + { + Spawn: + BEGR A 10 A_Look; + Loop; + See: + BEGR AABBCC 4 A_Wander; + Loop; + Melee: + BEGR D 8; + BEGR D 8 A_CustomMeleeAttack(2*random[PeasantAttack](1,5)+2); + BEGR E 1 A_Chase; + BEGR D 8 A_SentinelRefire; + Loop; + Pain: + BEGR A 3 A_Pain; + BEGR A 3 A_Chase; + Goto Melee; + Death: + BEGR F 4; + BEGR G 4 A_Scream; + BEGR H 4; + BEGR I 4 A_NoBlocking; + BEGR JKLM 4; + BEGR N -1; + Stop; + XDeath: + BEGR F 5 A_TossGib; + GIBS M 5 A_TossGib; + GIBS N 5 A_XScream; + GIBS O 5 A_NoBlocking; + GIBS PQRST 4 A_TossGib; + GIBS U 5; + GIBS V 1400; + Stop; + } +} + + +// Beggars ----------------------------------------------------------------- + +class Beggar1 : Beggar +{ +} + + +class Beggar2 : Beggar +{ +} + + +class Beggar3 : Beggar +{ +} + + +class Beggar4 : Beggar +{ +} + + +class Beggar5 : Beggar +{ +} diff --git a/wadsrc/static/zscript/strife/coin.txt b/wadsrc/static/zscript/strife/coin.txt new file mode 100644 index 000000000..a930cb0ba --- /dev/null +++ b/wadsrc/static/zscript/strife/coin.txt @@ -0,0 +1,99 @@ + +// Coin --------------------------------------------------------------------- + +class Coin : Inventory native +{ + Default + { + +DROPPED + +NOTDMATCH + +FLOORCLIP + Inventory.MaxAmount 0x7fffffff; + +INVENTORY.INVBAR + Tag "$TAG_COIN"; + Inventory.Icon "I_COIN"; + Inventory.PickupMessage "$TXT_COIN"; + } + States + { + Spawn: + COIN A -1; + Stop; + } +} + + +// 10 Gold ------------------------------------------------------------------ + +class Gold10 : Coin +{ + Default + { + Inventory.Amount 10; + Tag "$TAG_10GOLD"; + Inventory.PickupMessage "$TXT_10GOLD"; + } + States + { + Spawn: + CRED A -1; + Stop; + } +} + +// 25 Gold ------------------------------------------------------------------ + +class Gold25 : Coin +{ + Default + { + Inventory.Amount 25; + Tag "$TAG_25GOLD"; + Inventory.PickupMessage "$TXT_25GOLD"; + } + States + { + Spawn: + SACK A -1; + Stop; + } +} + +// 50 Gold ------------------------------------------------------------------ + +class Gold50 : Coin +{ + Default + { + Inventory.Amount 50; + Tag "$TAG_50GOLD"; + Inventory.PickupMessage "$TXT_50GOLD"; + } + States + { + Spawn: + CHST A -1; + Stop; + } +} + +// 300 Gold ------------------------------------------------------------------ + +class Gold300 : Coin +{ + Default + { + Inventory.Amount 300; + Tag "$TAG_300GOLD"; + Inventory.PickupMessage "$TXT_300GOLD"; + Inventory.GiveQuest 3; + +INVENTORY.ALWAYSPICKUP + } + States + { + Spawn: + TOKN A -1; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/crusader.txt b/wadsrc/static/zscript/strife/crusader.txt new file mode 100644 index 000000000..334e9d803 --- /dev/null +++ b/wadsrc/static/zscript/strife/crusader.txt @@ -0,0 +1,131 @@ + +// Crusader ----------------------------------------------------------------- + +class Crusader : Actor +{ + Default + { + Speed 8; + Radius 40; + Height 56; + Mass 400; + Health 400; + Painchance 128; + Monster; + +FLOORCLIP + +DONTMORPH + +MISSILEMORE + +INCOMBAT + +NOICEDEATH + +NOBLOOD + MinMissileChance 120; + MaxDropoffHeight 32; + DropItem "EnergyPod", 256, 20; + SeeSound "crusader/sight"; + PainSound "crusader/pain"; + DeathSound "crusader/death"; + ActiveSound "crusader/active"; + Obituary "$OB_CRUSADER"; + } + + action native void A_CrusaderChoose (); + action native void A_CrusaderSweepLeft (); + action native void A_CrusaderSweepRight (); + action native void A_CrusaderRefire (); + action native void A_CrusaderDeath (); + + States + { + Spawn: + ROB2 Q 10 A_Look; + Loop; + See: + ROB2 AABBCCDD 3 A_Chase; + Loop; + Missile: + ROB2 E 3 Slow A_FaceTarget; + ROB2 F 2 Slow Bright A_CrusaderChoose; + ROB2 E 2 Slow Bright A_CrusaderSweepLeft; + ROB2 F 3 Slow Bright A_CrusaderSweepLeft; + ROB2 EF 2 Slow Bright A_CrusaderSweepLeft; + ROB2 EFE 2 Slow Bright A_CrusaderSweepRight; + ROB2 F 2 Slow A_CrusaderRefire; + Loop; + Pain: + ROB2 D 1 Slow A_Pain; + Goto See; + Death: + ROB2 G 3 A_Scream; + ROB2 H 5 A_TossGib; + ROB2 I 4 Bright A_TossGib; + ROB2 J 4 Bright A_Explode(64,64,1,1); + ROB2 K 4 Bright A_Fall; + ROB2 L 4 A_Explode(64,64,1,1); + ROB2 MN 4 A_TossGib; + ROB2 O 4 A_Explode(64,64,1,1); + ROB2 P -1 A_CrusaderDeath; + Stop; + } +} + + +// Fast Flame Projectile (used by Crusader) --------------------------------- + +class FastFlameMissile : FlameMissile +{ + Default + { + Mass 50; + Damage 1; + Speed 35; + } +} + +// Crusader Missile --------------------------------------------------------- +// This is just like the mini missile the player shoots, except it doesn't +// explode when it dies, and it does slightly less damage for a direct hit. + +class CrusaderMissile : Actor +{ + Default + { + Speed 20; + Radius 10; + Height 14; + Damage 7; + Projectile; + +STRIFEDAMAGE + MaxStepHeight 4; + SeeSound "crusader/misl"; + DeathSound "crusader/mislx"; + } + States + { + Spawn: + MICR A 6 Bright A_RocketInFlight; + Loop; + Death: + SMIS A 0 Bright A_SetTranslucent(1,1); + SMIS A 5 Bright; + SMIS B 5 Bright; + SMIS C 4 Bright; + SMIS DEFG 2 Bright; + Stop; + } +} + + +// Dead Crusader ------------------------------------------------------------ + +class DeadCrusader : Actor +{ + States + { + Spawn: + ROB2 N 4; + ROB2 O 4; + ROB2 P -1; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/entityboss.txt b/wadsrc/static/zscript/strife/entityboss.txt new file mode 100644 index 000000000..d54a95a76 --- /dev/null +++ b/wadsrc/static/zscript/strife/entityboss.txt @@ -0,0 +1,211 @@ + +// Entity Nest -------------------------------------------------------------- + +class EntityNest : Actor +{ + Default + { + Radius 84; + Height 47; + +SOLID + +NOTDMATCH + +FLOORCLIP + } + States + { + Spawn: + NEST A -1; + Stop; + } +} + +// Entity Pod --------------------------------------------------------------- + +class EntityPod : Actor +{ + Default + { + Radius 25; + Height 91; + +SOLID + +NOTDMATCH + SeeSound "misc/gibbed"; + } + + action native void A_SpawnEntity (); + + States + { + Spawn: + PODD A 60 A_Look; + Loop; + See: + PODD A 360; + PODD B 9 A_NoBlocking; + PODD C 9; + PODD D 9 A_SpawnEntity; + PODD E -1; + Stop; + } +} + + +// Entity Boss -------------------------------------------------------------- + +class EntityBoss : SpectralMonster +{ + Default + { + Health 2500; + Painchance 255; + Speed 13; + Radius 130; + Height 200; + FloatSpeed 5; + Mass 1000; + Monster; + +SPECIAL + +NOGRAVITY + +FLOAT + +SHADOW + +NOTDMATCH + +DONTMORPH + +NOTARGET + +NOBLOCKMONST + +INCOMBAT + +LOOKALLAROUND + +SPECTRAL + +NOICEDEATH + MinMissileChance 150; + RenderStyle "Translucent"; + Alpha 0.5; + SeeSound "entity/sight"; + AttackSound "entity/melee"; + PainSound "entity/pain"; + DeathSound "entity/death"; + ActiveSound "entity/active"; + Obituary "$OB_ENTITY"; + } + + action native void A_EntityAttack(); + action native void A_EntityDeath(); + + States + { + Spawn: + MNAM A 100; + MNAM B 60 Bright; + MNAM CDEFGHIJKL 4 Bright; + MNAL A 4 Bright A_Look; + MNAL B 4 Bright A_SentinelBob; + Goto Spawn+12; + See: + MNAL AB 4 Bright A_Chase; + MNAL C 4 Bright A_SentinelBob; + MNAL DEF 4 Bright A_Chase; + MNAL G 4 Bright A_SentinelBob; + MNAL HIJ 4 Bright A_Chase; + MNAL K 4 Bright A_SentinelBob; + Loop; + Melee: + MNAL J 4 Bright A_FaceTarget; + MNAL I 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5); + MNAL C 4 Bright; + Goto See+2; + Missile: + MNAL F 4 Bright A_FaceTarget; + MNAL I 4 Bright A_EntityAttack; + MNAL E 4 Bright; + Goto See+10; + Pain: + MNAL J 2 Bright A_Pain; + Goto See+6; + Death: + MNAL L 7 Bright A_SpectreChunkSmall; + MNAL M 7 Bright A_Scream; + MNAL NO 7 Bright A_SpectreChunkSmall; + MNAL P 7 Bright A_SpectreChunkLarge; + MNAL Q 64 Bright A_SpectreChunkSmall; + MNAL Q 6 Bright A_EntityDeath; + Stop; + } +} + +// Second Entity Boss ------------------------------------------------------- + +class EntitySecond : SpectralMonster +{ + Default + { + Health 990; + Painchance 255; + Speed 14; + Radius 130; + Height 200; + FloatSpeed 5; + Mass 1000; + Monster; + +SPECIAL + +NOGRAVITY + +FLOAT + +SHADOW + +NOTDMATCH + +DONTMORPH + +NOBLOCKMONST + +INCOMBAT + +LOOKALLAROUND + +SPECTRAL + +NOICEDEATH + MinMissileChance 150; + RenderStyle "Translucent"; + Alpha 0.25; + SeeSound "alienspectre/sight"; + AttackSound "alienspectre/blade"; + PainSound "alienspectre/pain"; + DeathSound "alienspectre/death"; + ActiveSound "alienspectre/active"; + Obituary "$OB_ENTITY"; + } + + action native void A_SubEntityDeath (); + + States + { + Spawn: + MNAL R 10 Bright A_Look; + Loop; + See: + MNAL R 5 Bright A_SentinelBob; + MNAL ST 5 Bright A_Chase; + MNAL U 5 Bright A_SentinelBob; + MNAL V 5 Bright A_Chase; + MNAL W 5 Bright A_SentinelBob; + Loop; + Melee: + MNAL S 4 Bright A_FaceTarget; + MNAL R 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5); + MNAL T 4 Bright A_SentinelBob; + Goto See+1; + Missile: + MNAL W 4 Bright A_FaceTarget; + MNAL U 4 Bright A_CustomMissile("SpectralLightningH3",32,0); + MNAL V 4 Bright A_SentinelBob; + Goto See+4; + Pain: + MNAL R 2 Bright A_Pain; + Goto See; + Death: + MDTH A 3 Bright A_Scream; + MDTH B 3 Bright A_TossGib; + MDTH C 3 Bright A_NoBlocking; + MDTH DEFGHIJKLMN 3 Bright A_TossGib; + MDTH O 3 Bright A_SubEntityDeath; + Stop; + } +} + + + + + + diff --git a/wadsrc/static/zscript/strife/inquisitor.txt b/wadsrc/static/zscript/strife/inquisitor.txt new file mode 100644 index 000000000..5a053c74f --- /dev/null +++ b/wadsrc/static/zscript/strife/inquisitor.txt @@ -0,0 +1,150 @@ + +// Inquisitor --------------------------------------------------------------- + +class Inquisitor : Actor +{ + Default + { + Health 1000; + Speed 12; + Radius 40; + Height 110; + Mass 0x7fffffff; + Monster; + +DROPOFF + +NOBLOOD + +BOSS + +FLOORCLIP + +DONTMORPH + +NORADIUSDMG + MaxDropOffHeight 32; + MinMissileChance 150; + SeeSound "inquisitor/sight"; + DeathSound "inquisitor/death"; + ActiveSound "inquisitor/active"; + Obituary "$OB_INQUISITOR"; + } + + action native void A_InquisitorWalk (); + action native void A_InquisitorDecide (); + action native void A_InquisitorAttack (); + action native void A_InquisitorJump (); + action native void A_InquisitorCheckLand (); + action native void A_TossArm (); + action native void A_ReaverRanged (); + + States + { + Spawn: + ROB3 AB 10 A_Look; + Loop; + See: + ROB3 B 3 A_InquisitorWalk; + ROB3 B 3 A_Chase; + ROB3 CCDD 4 A_Chase; + ROB3 E 3 A_InquisitorWalk; + ROB3 E 3 A_InquisitorDecide; + Loop; + Missile: + ROB3 A 2 A_InquisitorDecide; + ROB3 F 6 A_FaceTarget; + ROB3 G 8 Bright A_ReaverRanged; + ROB3 G 8 A_ReaverRanged; + Goto See; + Grenade: + ROB3 K 12 A_FaceTarget; + ROB3 J 6 Bright A_InquisitorAttack; + ROB3 K 12; + Goto See; + Jump: + ROB3 H 8 Bright A_InquisitorJump; + ROB3 I 4 Bright A_InquisitorCheckLand; + ROB3 H 4 Bright A_InquisitorCheckLand; + Goto Jump+1; + Death: + ROB3 L 0 A_StopSound(CHAN_ITEM); + ROB3 L 4 A_TossGib; + ROB3 M 4 A_Scream; + ROB3 N 4 A_TossGib; + ROB3 O 4 Bright A_Explode(128,128,1,1); + ROB3 P 4 Bright A_TossGib; + ROB3 Q 4 Bright A_NoBlocking; + ROB3 RSTUV 4 A_TossGib; + ROB3 W 4 Bright A_Explode(128,128,1,1); + ROB3 XY 4 Bright A_TossGib; + ROB3 Z 4 A_TossGib; + ROB3 [ 4 A_TossGib; + ROB3 \ 3 A_TossGib; + ROB3 ] 3 Bright A_Explode(128,128,1,1); + RBB3 A 3 Bright A_TossArm; + RBB3 B 3 Bright A_TossGib; + RBB3 CD 3 A_TossGib; + RBB3 E -1; + Stop; + } +} + +// Inquisitor Shot ---------------------------------------------------------- + +class InquisitorShot : Actor +{ + Default + { + ReactionTime 15; + Speed 25; + Radius 13; + Height 13; + Mass 15; + Projectile; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + -NOGRAVITY + +STRIFEDAMAGE + MaxStepHeight 4; + SeeSound "inquisitor/attack"; + DeathSound "inquisitor/atkexplode"; + } + States + { + Spawn: + UBAM AB 3 A_Countdown; + Loop; + Death: + BNG2 A 0 Bright A_SetTranslucent(1,1); + BNG2 A 4 Bright A_Explode(192, 192, 1, 1); + BNG2 B 4 Bright; + BNG2 C 4 Bright; + BNG2 D 4 Bright; + BNG2 E 4 Bright; + BNG2 F 4 Bright; + BNG2 G 4 Bright; + BNG2 H 4 Bright; + BNG2 I 4 Bright; + Stop; + } + +} + + +// The Dead Inquisitor's Detached Arm --------------------------------------- + +class InquisitorArm : Actor +{ + Default + { + Speed 25; + +NOBLOCKMAP + +NOCLIP + +NOBLOOD + } + States + { + Spawn: + RBB3 FG 5 Bright; + RBB3 H -1; + Stop; + } +} + + + diff --git a/wadsrc/static/zscript/strife/loremaster.txt b/wadsrc/static/zscript/strife/loremaster.txt new file mode 100644 index 000000000..d3b437bbd --- /dev/null +++ b/wadsrc/static/zscript/strife/loremaster.txt @@ -0,0 +1,123 @@ + +// Loremaster (aka Priest) -------------------------------------------------- + +class Loremaster : Actor +{ + Default + { + Health 800; + Speed 10; + Radius 15; + Height 56; + FloatSpeed 5; + Monster; + +FLOAT + +NOBLOOD + +NOGRAVITY + +NOTDMATCH + +FLOORCLIP + +NOBLOCKMONST + +INCOMBAT + +LOOKALLAROUND + +NOICEDEATH + +NEVERRESPAWN + DamageFactor "Fire", 0.5; + MinMissileChance 150; + Tag "$TAG_PRIEST"; + SeeSound "loremaster/sight"; + AttackSound "loremaster/attack"; + PainSound "loremaster/pain"; + DeathSound "loremaster/death"; + ActiveSound "loremaster/active"; + Obituary "$OB_LOREMASTER"; + DropItem "Junk"; + } + States + { + Spawn: + PRST A 10 A_Look; + PRST B 10 A_SentinelBob; + Loop; + See: + PRST A 4 A_Chase; + PRST A 4 A_SentinelBob; + PRST B 4 A_Chase; + PRST B 4 A_SentinelBob; + PRST C 4 A_Chase; + PRST C 4 A_SentinelBob; + PRST D 4 A_Chase; + PRST D 4 A_SentinelBob; + Loop; + Melee: + PRST E 4 A_FaceTarget; + PRST F 4 A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5); + PRST E 4 A_SentinelBob; + Goto See; + Missile: + PRST E 4 A_FaceTarget; + PRST F 4 A_CustomMissile("LoreShot", 32, 0); + PRST E 4 A_SentinelBob; + Goto See; + Death: + PDED A 6; + PDED B 6 A_Scream; + PDED C 6; + PDED D 6 A_Fall; + PDED E 6; + PDED FGHIJIJIJKL 5; + PDED MNOP 4; + PDED Q 4 A_SpawnItemEx("AlienSpectre5", 0, 0, 0, 0, 0, random[spectrespawn](0,255)*0.0078125, 0, SXF_NOCHECKPOSITION); + PDED RS 4; + PDED T -1; + Stop; + } +} + + +// Loremaster Projectile ---------------------------------------------------- + +class LoreShot : Actor native +{ + Default + { + Speed 20; + Height 14; + Radius 10; + Projectile; + +STRIFEDAMAGE + Damage 2; + MaxStepHeight 4; + SeeSound "loremaster/chain"; + ActiveSound "loremaster/swish"; + } + + action native void A_LoremasterChain (); + + States + { + Spawn: + OCLW A 2 A_LoremasterChain; + Loop; + Death: + OCLW A 6; + Stop; + } +} + +// Loremaster Subprojectile ------------------------------------------------- + +class LoreShot2 : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + } + States + { + Spawn: + TEND A 20; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/macil.txt b/wadsrc/static/zscript/strife/macil.txt new file mode 100644 index 000000000..870f0db35 --- /dev/null +++ b/wadsrc/static/zscript/strife/macil.txt @@ -0,0 +1,95 @@ + +// Macil (version 1) --------------------------------------------------------- + +class Macil1 : Actor +{ + Default + { + Health 95; + Radius 20; + Height 56; + Speed 8; + Painchance 250; + Monster; + -COUNTKILL + +NOTDMATCH + +NOICEDEATH + +NOSPLASHALERT + +NODAMAGE + +NEVERRESPAWN + DamageFactor "Fire", 0.5; + MinMissileChance 150; + SeeSound "macil/sight"; + PainSound "macil/pain"; + ActiveSound "macil/active"; + CrushPainSound "misc/pcrush"; + Tag "$TAG_MACIL1"; + Obituary "$OB_MACIL"; + DropItem "BoxOfBullets"; + MaxStepHeight 16; + MaxDropoffHeight 32; + } + States + { + Spawn: + LEDR C 5 A_Look2; + Loop; + LEDR A 8; + Loop; + LEDR B 8; + Loop; + LEAD ABCD 6 A_Wander; + Loop; + See: + LEAD AABBCCDD 3 A_Chase; + Loop; + Missile: + Death: + LEAD E 2 A_FaceTarget; + LEAD F 2 BRIGHT A_ShootGun; + LEAD E 1 A_SentinelRefire; + Loop; + Pain: + LEAD Y 3; + LEAD Y 3 A_Pain; + Goto See; + } +} + + +// Macil (version 2) --------------------------------------------------------- + +class Macil2 : Macil1 +{ + Default + { + Painchance 200; + +COUNTKILL + +SPECTRAL + -NODAMAGE + Tag "$TAG_MACIL2"; + DeathSound "macil/slop"; + DropItem "None"; + DamageFactor "SpectralLow", 0; + } + States + { + Missile: + LEAD E 4 A_FaceTarget; + LEAD F 4 BRIGHT A_ShootGun; + LEAD E 2 A_SentinelRefire; + Loop; + Death: + LEAD G 5; + LEAD H 5 A_Scream; + LEAD IJ 4; + LEAD K 3; + LEAD L 3 A_NoBlocking; + LEAD MNOPQRSTUV 3; + LEAD W 3 A_SpawnItemEx("AlienSpectre4", 0, 0, 0, 0, 0, random[spectrespawn](0,255)*0.0078125, 0, SXF_NOCHECKPOSITION); + LEAD X -1; + Stop; + } +} + + diff --git a/wadsrc/static/zscript/strife/merchants.txt b/wadsrc/static/zscript/strife/merchants.txt new file mode 100644 index 000000000..71b797639 --- /dev/null +++ b/wadsrc/static/zscript/strife/merchants.txt @@ -0,0 +1,108 @@ +// Base class for the merchants --------------------------------------------- + +class Merchant : Actor +{ + Default + { + Health 10000000; + PainChance 256; // a merchant should always enter the pain state when getting hurt + Radius 20; + Height 56; + Mass 5000; + CrushPainSound "misc/pcrush"; + +SOLID + +SHOOTABLE + +NOTDMATCH + +NOSPLASHALERT + +NODAMAGE + } + States + { + Spawn: + MRST A 10 A_Look2; + Loop; + MRLK A 30 A_ActiveSound; + Loop; + MRLK B 30; + Loop; + MRBD ABCDEDCB 4; + MRBD A 5; + MRBD F 6; + Loop; + See: + Pain: + MRPN A 1; + MRPN A 2 A_AlertMonsters; + MRPN B 3 A_Pain; + MRPN C 3; + MRPN D 9 Door_CloseWaitOpen(999, 64, 960); + MRPN C 4; + MRPN B 3; + MRPN A 3 A_ClearSoundTarget; + Goto Spawn; + Yes: + MRYS A 20; + // Fall through + Greetings: + MRGT ABCDEFGHI 5; + Goto Spawn; + No: + MRNO AB 6; + MRNO C 10; + MRNO BA 6; + Goto Greetings; + } +} + + +// Weapon Smith ------------------------------------------------------------- + +class WeaponSmith : Merchant +{ + Default + { + PainSound "smith/pain"; + Tag "$TAG_WEAPONSMITH"; + } +} + + +// Bar Keep ----------------------------------------------------------------- + +class BarKeep : Merchant +{ + Default + { + Translation 4; + PainSound "barkeep/pain"; + ActiveSound "barkeep/active"; + Tag "$TAG_BARKEEP"; + } +} + + +// Armorer ------------------------------------------------------------------ + +class Armorer : Merchant +{ + Default + { + Translation 5; + PainSound "armorer/pain"; + Tag "$TAG_ARMORER"; + } +} + + +// Medic -------------------------------------------------------------------- + +class Medic : Merchant +{ + Default + { + Translation 6; + PainSound "medic/pain"; + Tag "$TAG_MEDIC"; + } +} + diff --git a/wadsrc/static/zscript/strife/oracle.txt b/wadsrc/static/zscript/strife/oracle.txt new file mode 100644 index 000000000..206dee164 --- /dev/null +++ b/wadsrc/static/zscript/strife/oracle.txt @@ -0,0 +1,38 @@ + +// Oracle ------------------------------------------------------------------- + +class Oracle : Actor +{ + Default + { + Health 1; + Radius 15; + Height 56; + Monster; + +NOTDMATCH + +NOBLOOD + +NEVERRESPAWN + DamageFactor "Fire", 0.5; + DamageFactor "SpectralLow", 0; + MaxDropoffHeight 32; + Tag "$TAG_ORACLE"; + DropItem "Meat"; + } + + action native void A_WakeOracleSpectre (); + + States + { + Spawn: + ORCL A -1; + Stop; + Death: + ORCL BCDEFGHIJK 5; + ORCL L 5 A_NoBlocking; + ORCL M 5; + ORCL N 5 A_WakeOracleSpectre; + ORCL OP 5; + ORCL Q -1; + Stop; + } +} diff --git a/wadsrc/static/zscript/strife/peasants.txt b/wadsrc/static/zscript/strife/peasants.txt new file mode 100644 index 000000000..6645c69fa --- /dev/null +++ b/wadsrc/static/zscript/strife/peasants.txt @@ -0,0 +1,251 @@ + +// Peasant Base Class ------------------------------------------------------- + +class Peasant : StrifeHumanoid +{ + Default + { + Health 31; + PainChance 200; + Speed 8; + Radius 20; + Height 56; + Monster; + +NEVERTARGET + -COUNTKILL + +NOSPLASHALERT + +FLOORCLIP + +JUSTHIT + MinMissileChance 150; + MaxStepHeight 16; + MaxDropoffHeight 32; + SeeSound "peasant/sight"; + AttackSound "peasant/attack"; + PainSound "peasant/pain"; + DeathSound "peasant/death"; + HitObituary "$OB_PEASANT"; + } + States + { + Spawn: + PEAS A 10 A_Look2; + Loop; + See: + PEAS AABBCCDD 5 A_Wander; + Goto Spawn; + Melee: + PEAS E 10 A_FaceTarget; + PEAS F 8 A_CustomMeleeAttack(2*random[PeasantAttack](1,5)+2); + PEAS E 8; + Goto See; + Pain: + PEAS O 3; + PEAS O 3 A_Pain; + Goto Melee; + Wound: + PEAS G 5; + PEAS H 10 A_GetHurt; + PEAS I 6; + Goto Wound+1; + Death: + PEAS G 5; + PEAS H 5 A_Scream; + PEAS I 6; + PEAS J 5 A_NoBlocking; + PEAS K 5; + PEAS L 6; + PEAS M 8; + PEAS N 1400; + GIBS U 5; + GIBS V 1400; + Stop; + XDeath: + GIBS M 5 A_TossGib; + GIBS N 5 A_XScream; + GIBS O 5 A_NoBlocking; + GIBS PQRS 4 A_TossGib; + Goto Death+8; + } +} + +// Peasant Variant 1 -------------------------------------------------------- + +class Peasant1 : Peasant +{ + Default + { + Speed 4; + } +} + +class Peasant2 : Peasant +{ + Default + { + Speed 5; + } +} + +class Peasant3 : Peasant +{ + Default + { + Speed 5; + } +} + +class Peasant4 : Peasant +{ + Default + { + Translation 0; + Speed 7; + } +} + +class Peasant5 : Peasant +{ + Default + { + Translation 0; + Speed 7; + } +} + +class Peasant6 : Peasant +{ + Default + { + Translation 0; + Speed 7; + } +} + +class Peasant7 : Peasant +{ + Default + { + Translation 2; + } +} + +class Peasant8 : Peasant +{ + Default + { + Translation 2; + } +} + +class Peasant9 : Peasant +{ + Default + { + Translation 2; + } +} + +class Peasant10 : Peasant +{ + Default + { + Translation 1; + } +} + +class Peasant11 : Peasant +{ + Default + { + Translation 1; + } +} + +class Peasant12 : Peasant +{ + Default + { + Translation 1; + } +} + +class Peasant13 : Peasant +{ + Default + { + Translation 3; + } +} + +class Peasant14 : Peasant +{ + Default + { + Translation 3; + } +} + +class Peasant15 : Peasant +{ + Default + { + Translation 3; + } +} + +class Peasant16 : Peasant +{ + Default + { + Translation 5; + } +} + +class Peasant17 : Peasant +{ + Default + { + Translation 5; + } +} + +class Peasant18 : Peasant +{ + Default + { + Translation 5; + } +} + +class Peasant19 : Peasant +{ + Default + { + Translation 4; + } +} + +class Peasant20 : Peasant +{ + Default + { + Translation 4; + } +} + +class Peasant21 : Peasant +{ + Default + { + Translation 4; + } +} + +class Peasant22 : Peasant +{ + Default + { + Translation 6; + } +} + diff --git a/wadsrc/static/zscript/strife/programmer.txt b/wadsrc/static/zscript/strife/programmer.txt new file mode 100644 index 000000000..cd577ff13 --- /dev/null +++ b/wadsrc/static/zscript/strife/programmer.txt @@ -0,0 +1,116 @@ + +// Programmer --------------------------------------------------------------- + +class Programmer : Actor +{ + Default + { + Health 1100; + PainChance 50; + Speed 26; + FloatSpeed 5; + Radius 45; + Height 60; + Mass 800; + Damage 4; + Monster; + +NOGRAVITY + +FLOAT + +NOBLOOD + +NOTDMATCH + +DONTMORPH + +NOBLOCKMONST + +LOOKALLAROUND + +NOICEDEATH + +NOTARGETSWITCH + DamageFactor "Fire", 0.5; + MinMissileChance 150; + AttackSound "programmer/attack"; + PainSound "programmer/pain"; + DeathSound "programmer/death"; + ActiveSound "programmer/active"; + Obituary "$OB_PROGRAMMER"; + DropItem "Sigil1"; + } + + action native void A_ProgrammerMelee (); + action native void A_SpawnProgrammerBase (); + action native void A_ProgrammerDeath (); + action native void A_SpotLightning(); + + States + { + Spawn: + PRGR A 5 A_Look; + PRGR A 1 A_SentinelBob; + Loop; + See: + PRGR A 160 A_SentinelBob; + PRGR BCD 5 A_SentinelBob; + PRGR EF 2 A_SentinelBob; + PRGR EF 3 A_Chase; + Goto See+4; + Melee: + PRGR E 2 A_SentinelBob; + PRGR F 3 A_SentinelBob; + PRGR E 3 A_FaceTarget; + PRGR F 4 A_ProgrammerMelee; + Goto See+4; + Missile: + PRGR G 5 A_FaceTarget; + PRGR H 5 A_SentinelBob; + PRGR I 5 Bright A_FaceTarget; + PRGR J 5 Bright A_SpotLightning; + Goto See+4; + Pain: + PRGR K 5 A_Pain; + PRGR L 5 A_SentinelBob; + Goto See+4; + Death: + PRGR L 7 Bright A_TossGib; + PRGR M 7 Bright A_Scream; + PRGR N 7 Bright A_TossGib; + PRGR O 7 Bright A_NoBlocking; + PRGR P 7 Bright A_TossGib; + PRGR Q 7 Bright A_SpawnProgrammerBase; + PRGR R 7 Bright; + PRGR S 6 Bright; + PRGR TUVW 5 Bright; + PRGR X 32 Bright; + PRGR X -1 Bright A_ProgrammerDeath; + Stop; + } +} + + +// The Programmer's base for when he dies ----------------------------------- + +class ProgrammerBase : Actor +{ + Default + { + +NOBLOCKMAP + +NOCLIP + +NOBLOOD + } + States + { + Spawn: + BASE A 5 Bright A_Explode(32,32,1,1); + BASE BCD 5 Bright; + BASE EFG 5; + BASE H -1; + Stop; + } +} + + +// The Programmer level ending thing ---------------------------------------- + +class ProgLevelEnder : Inventory native +{ + Default + { + +INVENTORY.UNDROPPABLE + } +} diff --git a/wadsrc/static/actors/strife/questitems.txt b/wadsrc/static/zscript/strife/questitems.txt similarity index 51% rename from wadsrc/static/actors/strife/questitems.txt rename to wadsrc/static/zscript/strife/questitems.txt index 11da7c90f..4946f0414 100644 --- a/wadsrc/static/actors/strife/questitems.txt +++ b/wadsrc/static/zscript/strife/questitems.txt @@ -16,11 +16,11 @@ * 13 You've freed the prisoners! * 14 You've Blown Up the Crystal * 15 You got the guard uniform - * 16 You've Blown Up the Gates (/Piston) - * 17 You watched the Sigil slideshow on map10 + * 16 You've Blown Up the Gates (/Piston); + * 17 You watched the Sigil slideshow on map10; * 18 You got the Oracle pass * 19 You met Quincy and talked to him about the Bishop - * 20 + * 20; * 21 You Killed the Bishop! * 22 The Oracle has told you to kill Macil * 23 You've Killed The Oracle! @@ -30,146 +30,155 @@ * 27 You've Blown Up the Computer * 28 You got the catacomb key * 29 You destroyed the mind control device in the mines - * 30 - * 31 + * 30; + * 31; */ -ACTOR QuestItem : Inventory +class QuestItem : Inventory { States { Spawn: - TOKN A -1 - Stop + TOKN A -1; + Stop; } } // Quest Items ------------------------------------------------------------- -ACTOR QuestItem1 : QuestItem +class QuestItem1 : QuestItem { } -ACTOR QuestItem2 : QuestItem +class QuestItem2 : QuestItem { } -ACTOR QuestItem3 : QuestItem +class QuestItem3 : QuestItem { } -ACTOR QuestItem4 : QuestItem +class QuestItem4 : QuestItem { - Tag "$TAG_QUEST4" + Default + { + Tag "$TAG_QUEST4"; + } } -ACTOR QuestItem5 : QuestItem +class QuestItem5 : QuestItem { - Tag "$TAG_QUEST5" + Default + { + Tag "$TAG_QUEST5"; + } } -ACTOR QuestItem6 : QuestItem +class QuestItem6 : QuestItem { - Tag "TAG_QUEST6" + Default + { + Tag "TAG_QUEST6"; + } } -ACTOR QuestItem7 : QuestItem +class QuestItem7 : QuestItem { } -ACTOR QuestItem8 : QuestItem +class QuestItem8 : QuestItem { } -ACTOR QuestItem9 : QuestItem +class QuestItem9 : QuestItem { } -ACTOR QuestItem10 : QuestItem +class QuestItem10 : QuestItem { } -ACTOR QuestItem11 : QuestItem +class QuestItem11 : QuestItem { } -ACTOR QuestItem12 : QuestItem +class QuestItem12 : QuestItem { } -ACTOR QuestItem13 : QuestItem +class QuestItem13 : QuestItem { } -ACTOR QuestItem14 : QuestItem +class QuestItem14 : QuestItem { } -ACTOR QuestItem15 : QuestItem +class QuestItem15 : QuestItem { } -ACTOR QuestItem16 : QuestItem +class QuestItem16 : QuestItem { } -ACTOR QuestItem17 : QuestItem +class QuestItem17 : QuestItem { } -ACTOR QuestItem18 : QuestItem +class QuestItem18 : QuestItem { } -ACTOR QuestItem19 : QuestItem +class QuestItem19 : QuestItem { } -ACTOR QuestItem20 : QuestItem +class QuestItem20 : QuestItem { } -ACTOR QuestItem21 : QuestItem +class QuestItem21 : QuestItem { } -ACTOR QuestItem22 : QuestItem +class QuestItem22 : QuestItem { } -ACTOR QuestItem23 : QuestItem +class QuestItem23 : QuestItem { } -ACTOR QuestItem24 : QuestItem +class QuestItem24 : QuestItem { } -ACTOR QuestItem25 : QuestItem +class QuestItem25 : QuestItem { } -ACTOR QuestItem26 : QuestItem +class QuestItem26 : QuestItem { } -ACTOR QuestItem27 : QuestItem +class QuestItem27 : QuestItem { } -ACTOR QuestItem28 : QuestItem +class QuestItem28 : QuestItem { } -ACTOR QuestItem29 : QuestItem +class QuestItem29 : QuestItem { } -ACTOR QuestItem30 : QuestItem +class QuestItem30 : QuestItem { } -ACTOR QuestItem31 : QuestItem +class QuestItem31 : QuestItem { } diff --git a/wadsrc/static/zscript/strife/ratbuddy.txt b/wadsrc/static/zscript/strife/ratbuddy.txt new file mode 100644 index 000000000..fc0c9c63e --- /dev/null +++ b/wadsrc/static/zscript/strife/ratbuddy.txt @@ -0,0 +1,37 @@ + +class RatBuddy : Actor +{ + Default + { + Health 5; + Speed 13; + Radius 10; + Height 16; + +NOBLOOD +FLOORCLIP +CANPASS + +ISMONSTER +INCOMBAT + MinMissileChance 150; + MaxStepHeight 16; + MaxDropoffHeight 32; + Tag "$TAG_RATBUDDY"; + SeeSound "rat/sight"; + DeathSound "rat/death"; + ActiveSound "rat/active"; + } + States + { + Spawn: + RATT A 10 A_Look; + Loop; + See: + RATT AABB 4 A_Chase; + Loop; + Melee: + RATT A 8 A_Wander; + RATT B 4 A_Wander; + Goto See; + Death: + MEAT Q 700; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/reaver.txt b/wadsrc/static/zscript/strife/reaver.txt new file mode 100644 index 000000000..0ce15fab8 --- /dev/null +++ b/wadsrc/static/zscript/strife/reaver.txt @@ -0,0 +1,67 @@ + +class Reaver : Actor +{ + Default + { + Health 150; + Painchance 128; + Speed 12; + Radius 20; + Height 60; + Monster; + +NOBLOOD + +INCOMBAT + MinMissileChance 150; + MaxDropoffHeight 32; + Mass 500; + SeeSound "reaver/sight"; + PainSound "reaver/pain"; + DeathSound "reaver/death"; + ActiveSound "reaver/active"; + HitObituary "$OB_REAVERHIT"; + Obituary "$OB_REAVER"; + } + + action native void A_ReaverRanged (); + + States + { + Spawn: + ROB1 A 10 A_Look; + Loop; + See: + ROB1 BBCCDDEE 3 A_Chase; + Loop; + Melee: + ROB1 H 6 Slow A_FaceTarget; + ROB1 I 8 Slow A_CustomMeleeAttack(random[ReaverMelee](1,8)*3, "reaver/blade"); + ROB1 H 6 Slow; + Goto See; + Missile: + ROB1 F 8 Slow A_FaceTarget; + ROB1 G 11 Slow BRIGHT A_ReaverRanged; + Goto See; + Pain: + ROB1 A 2 Slow; + ROB1 A 2 A_Pain; + Goto See; + Death: + ROB1 J 6; + ROB1 K 6 A_Scream; + ROB1 L 5; + ROB1 M 5 A_NoBlocking; + ROB1 NOP 5; + ROB1 Q 6 A_Explode(32,32,1,1); + ROB1 R -1; + Stop; + XDeath: + ROB1 L 5 A_TossGib; + ROB1 M 5 A_Scream; + ROB1 N 5 A_TossGib; + ROB1 O 5 A_NoBlocking; + ROB1 P 5 A_TossGib; + Goto Death+7; + } + +} + \ No newline at end of file diff --git a/wadsrc/static/zscript/strife/rebels.txt b/wadsrc/static/zscript/strife/rebels.txt new file mode 100644 index 000000000..3ee0200dc --- /dev/null +++ b/wadsrc/static/zscript/strife/rebels.txt @@ -0,0 +1,140 @@ + + +// Base class for the rebels ------------------------------------------------ + +class Rebel : StrifeHumanoid +{ + Default + { + Health 60; + Painchance 250; + Speed 8; + Radius 20; + Height 56; + Monster; + +FRIENDLY + -COUNTKILL + +NOSPLASHALERT + MinMissileChance 150; + Tag "$TAG_REBEL"; + SeeSound "rebel/sight"; + PainSound "rebel/pain"; + DeathSound "rebel/death"; + ActiveSound "rebel/active"; + Obituary "$OB_REBEL"; + } + States + { + Spawn: + HMN1 P 5 A_Look2; + Loop; + HMN1 Q 8; + Loop; + HMN1 R 8; + Loop; + HMN1 ABCDABCD 6 A_Wander; + Loop; + See: + HMN1 AABBCCDD 3 A_Chase; + Loop; + Missile: + HMN1 E 10 A_FaceTarget; + HMN1 F 10 BRIGHT A_ShootGun; + HMN1 E 10 A_ShootGun; + Goto See; + Pain: + HMN1 O 3; + HMN1 O 3 A_Pain; + Goto See; + Death: + HMN1 G 5; + HMN1 H 5 A_Scream; + HMN1 I 3 A_NoBlocking; + HMN1 J 4; + HMN1 KLM 3; + HMN1 N -1; + Stop; + XDeath: + RGIB A 4 A_TossGib; + RGIB B 4 A_XScream; + RGIB C 3 A_NoBlocking; + RGIB DEF 3 A_TossGib; + RGIB G 3; + RGIB H 1400; + Stop; + } +} + +// Rebel 1 ------------------------------------------------------------------ + +class Rebel1 : Rebel +{ + Default + { + DropItem "ClipOfBullets"; + } +} + +// Rebel 2 ------------------------------------------------------------------ + +class Rebel2 : Rebel +{ +} + +// Rebel 3 ------------------------------------------------------------------ + +class Rebel3 : Rebel +{ +} + +// Rebel 4 ------------------------------------------------------------------ + +class Rebel4 : Rebel +{ +} + +// Rebel 5 ------------------------------------------------------------------ + +class Rebel5 : Rebel +{ +} + +// Rebel 6 ------------------------------------------------------------------ + +class Rebel6 : Rebel +{ +} + +// Teleporter Beacon -------------------------------------------------------- + +class TeleporterBeacon : Inventory native +{ + Default + { + Health 5; + Radius 16; + Height 16; + Inventory.MaxAmount 3; + +DROPPED + +INVENTORY.INVBAR + Inventory.Icon "I_BEAC"; + Tag "$TAG_TELEPORTERBEACON"; + Inventory.PickupMessage "$TXT_BEACON"; + } + + action native void A_Beacon (); + + States + { + Spawn: + BEAC A -1; + Stop; + Drop: + BEAC A 30; + BEAC A 160 A_Beacon; + Wait; + Death: + BEAC A 1 A_FadeOut(0.015); + Loop; + } +} \ No newline at end of file diff --git a/wadsrc/static/zscript/strife/sentinel.txt b/wadsrc/static/zscript/strife/sentinel.txt new file mode 100644 index 000000000..8108265cb --- /dev/null +++ b/wadsrc/static/zscript/strife/sentinel.txt @@ -0,0 +1,104 @@ + +// Sentinel ----------------------------------------------------------------- + +class Sentinel : Actor +{ + Default + { + Health 100; + Painchance 255; + Speed 7; + Radius 23; + Height 53; + Mass 300; + Monster; + +SPAWNCEILING + +NOGRAVITY + +DROPOFF + +NOBLOOD + +NOBLOCKMONST + +INCOMBAT + +MISSILEMORE + +LOOKALLAROUND + +NEVERRESPAWN + MinMissileChance 150; + SeeSound "sentinel/sight"; + DeathSound "sentinel/death"; + ActiveSound "sentinel/active"; + Obituary "$OB_SENTINEL"; + } + + action native void A_SentinelAttack (); + + States + { + Spawn: + SEWR A 10 A_Look; + Loop; + See: + SEWR A 6 A_SentinelBob; + SEWR A 6 A_Chase; + Loop; + Missile: + SEWR B 4 A_FaceTarget; + SEWR C 8 Bright A_SentinelAttack; + SEWR C 4 Bright A_SentinelRefire; + Goto Missile+1; + Pain: + SEWR D 5 A_Pain; + Goto Missile+2; + Death: + SEWR D 7 A_Fall; + SEWR E 8 Bright A_TossGib; + SEWR F 5 Bright A_Scream; + SEWR GH 4 Bright A_TossGib; + SEWR I 4; + SEWR J 5; + Stop; + } +} + +// Sentinel FX 1 ------------------------------------------------------------ + +class SentinelFX1 : Actor +{ + Default + { + Speed 40; + Radius 10; + Height 8; + Damage 0; + DamageType "Disintegrate"; + Projectile; + +STRIFEDAMAGE + MaxStepHeight 4; + RenderStyle "Add"; + } + States + { + Spawn: + SHT1 AB 4; + Loop; + Death: + POW1 J 4; + Stop; + } +} + +// Sentinel FX 2 ------------------------------------------------------------ + +class SentinelFX2 : SentinelFX1 +{ + Default + { + SeeSound "sentinel/plasma"; + Damage 1; + } + States + { + Death: + POW1 FGHI 4; + Goto Super::Death; + } +} + diff --git a/wadsrc/static/zscript/strife/sigil.txt b/wadsrc/static/zscript/strife/sigil.txt new file mode 100644 index 000000000..d8b1f80f8 --- /dev/null +++ b/wadsrc/static/zscript/strife/sigil.txt @@ -0,0 +1,178 @@ + +// The Almighty Sigil! ------------------------------------------------------ + +class Sigil : Weapon native +{ + Default + { + Weapon.Kickback 100; + Weapon.SelectionOrder 4000; + Health 1; + +FLOORCLIP + +WEAPON.CHEATNOTWEAPON + Inventory.PickupSound "weapons/sigilcharge"; + Tag "$TAG_SIGIL"; + Inventory.Icon "I_SGL1"; + Inventory.PickupMessage "$TXT_SIGIL"; + } + + action native void A_SelectPiece (); + action native void A_SelectSigilView (); + action native void A_SelectSigilDown (); + action native void A_SelectSigilAttack (); + action native void A_SigilCharge (); + action native void A_FireSigil1 (); + action native void A_FireSigil2 (); + action native void A_FireSigil3 (); + action native void A_FireSigil4 (); + action native void A_FireSigil5 (); + + States + { + Spawn: + SIGL A 1; + SIGL A -1 A_SelectPiece; + Stop; + SIGL B -1; + Stop; + SIGL C -1; + Stop; + SIGL D -1; + Stop; + SIGL E -1; + Stop; + Ready: + SIGH A 0 Bright A_SelectSigilView; + Wait; + SIGH A 1 Bright A_WeaponReady; + Wait; + SIGH B 1 Bright A_WeaponReady; + Wait; + SIGH C 1 Bright A_WeaponReady; + Wait; + SIGH D 1 Bright A_WeaponReady; + Wait; + SIGH E 1 Bright A_WeaponReady; + Wait; + Deselect: + SIGH A 1 Bright A_SelectSigilDown; + Wait; + SIGH A 1 Bright A_Lower; + Wait; + SIGH B 1 Bright A_Lower; + Wait; + SIGH C 1 Bright A_Lower; + Wait; + SIGH D 1 Bright A_Lower; + Wait; + SIGH E 1 Bright A_Lower; + Wait; + Select: + SIGH A 1 Bright A_SelectSigilView; + Wait; + SIGH A 1 Bright A_Raise; + Wait; + SIGH B 1 Bright A_Raise; + Wait; + SIGH C 1 Bright A_Raise; + Wait; + SIGH D 1 Bright A_Raise; + Wait; + SIGH E 1 Bright A_Raise; + Wait; + + Fire: + SIGH A 0 Bright A_SelectSigilAttack; + + SIGH A 18 Bright A_SigilCharge; + SIGH A 3 Bright A_GunFlash; + SIGH A 10 A_FireSigil1; + SIGH A 5; + Goto Ready; + + SIGH B 18 Bright A_SigilCharge; + SIGH B 3 Bright A_GunFlash; + SIGH B 10 A_FireSigil2; + SIGH B 5; + Goto Ready; + + SIGH C 18 Bright A_SigilCharge; + SIGH C 3 Bright A_GunFlash; + SIGH C 10 A_FireSigil3; + SIGH C 5; + Goto Ready; + + SIGH D 18 Bright A_SigilCharge; + SIGH D 3 Bright A_GunFlash; + SIGH D 10 A_FireSigil4; + SIGH D 5; + Goto Ready; + + SIGH E 18 Bright A_SigilCharge; + SIGH E 3 Bright A_GunFlash; + SIGH E 10 A_FireSigil5; + SIGH E 5; + Goto Ready; + Flash: + SIGF A 4 Bright A_Light2; + SIGF B 6 Bright A_LightInverse; + SIGF C 4 Bright A_Light1; + SIGF C 0 Bright A_Light0; + Stop; + } +} + +// Sigil 1 ------------------------------------------------------------------ + +class Sigil1 : Sigil +{ + Default + { + Inventory.Icon "I_SGL1"; + Health 1; + } +} + +// Sigil 2 ------------------------------------------------------------------ + +class Sigil2 : Sigil +{ + Default + { + Inventory.Icon "I_SGL2"; + Health 2; + } +} + +// Sigil 3 ------------------------------------------------------------------ + +class Sigil3 : Sigil +{ + Default + { + Inventory.Icon "I_SGL3"; + Health 3; + } +} + +// Sigil 4 ------------------------------------------------------------------ + +class Sigil4 : Sigil +{ + Default + { + Inventory.Icon "I_SGL4"; + Health 4; + } +} + +// Sigil 5 ------------------------------------------------------------------ + +class Sigil5 : Sigil +{ + Default + { + Inventory.Icon "I_SGL5"; + Health 5; + } +} diff --git a/wadsrc/static/zscript/strife/spectral.txt b/wadsrc/static/zscript/strife/spectral.txt new file mode 100644 index 000000000..df23f3663 --- /dev/null +++ b/wadsrc/static/zscript/strife/spectral.txt @@ -0,0 +1,307 @@ + + +// base for all spectral monsters which hurt when being touched-------------- + +class SpectralMonster : Actor native +{ + Default + { + Monster; + +SPECIAL + +SPECTRAL + +NOICEDEATH + } + + action native void A_SpectreChunkSmall (); + action native void A_SpectreChunkLarge (); + action native void A_Spectre3Attack (); + action native void A_SpotLightning (); +} + + +// Container for all spectral lightning deaths ------------------------------ + +class SpectralLightningBase : Actor +{ + Default + { + +NOTELEPORT + +ACTIVATEIMPACT + +ACTIVATEPCROSS + +STRIFEDAMAGE + MaxStepHeight 4; + RenderStyle "Add"; + SeeSound "weapons/sigil"; + DeathSound "weapons/sigilhit"; + } + States + { + Death: + ZAP1 B 3 A_Explode(32,32); + ZAP1 A 3 A_AlertMonsters; + ZAP1 BCDEFE 3; + ZAP1 DCB 2; + ZAP1 A 1; + Stop; + } +} + +// Spectral Lightning death that does not explode --------------------------- + +class SpectralLightningDeath1 : SpectralLightningBase +{ + States + { + Death: + Goto Super::Death+1; + } +} + +// Spectral Lightning death that does not alert monsters -------------------- + +class SpectralLightningDeath2 : SpectralLightningBase +{ + States + { + Death: + Goto Super::Death+2; + } +} + +// Spectral Lightning death that is shorter than the rest ------------------- + +class SpectralLightningDeathShort : SpectralLightningBase +{ + States + { + Death: + Goto Super::Death+6; + } +} + +// Spectral Lightning (Ball Shaped #1) -------------------------------------- + +class SpectralLightningBall1 : SpectralLightningBase +{ + Default + { + Speed 30; + Radius 8; + Height 16; + Damage 70; + Projectile; + +SPECTRAL + } + States + { + Spawn: + ZOT3 ABCDE 4 Bright; + Loop; + } +} + +// Spectral Lightning (Ball Shaped #2) -------------------------------------- + +class SpectralLightningBall2 : SpectralLightningBall1 +{ + Default + { + Damage 20; + } +} + +// Spectral Lightning (Horizontal #1) --------------------------------------- + +class SpectralLightningH1 : SpectralLightningBase +{ + Default + { + Speed 30; + Radius 8; + Height 16; + Damage 70; + Projectile; + +SPECTRAL + } + + action native void A_SpectralLightningTail (); + + States + { + Spawn: + ZAP6 A 4 Bright; + ZAP6 BC 4 Bright A_SpectralLightningTail; + Loop; + } +} + + +// Spectral Lightning (Horizontal #2) ------------------------------------- + +class SpectralLightningH2 : SpectralLightningH1 +{ + Default + { + Damage 20; + } +} + +// Spectral Lightning (Horizontal #3) ------------------------------------- + +class SpectralLightningH3 : SpectralLightningH1 +{ + Default + { + Damage 10; + } +} + +// ASpectralLightningHTail -------------------------------------------------- + +class SpectralLightningHTail : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + +DROPOFF + RenderStyle "Add"; + } + States + { + Spawn: + ZAP6 ABC 5 Bright; + Stop; + } +} + +// Spectral Lightning (Big Ball #1) ----------------------------------------- + +class SpectralLightningBigBall1 : SpectralLightningDeath2 +{ + Default + { + Speed 18; + Radius 20; + Height 40; + Damage 130; + Projectile; + +SPECTRAL + } + + action native void A_SpectralBigBallLightning (); + + States + { + Spawn: + ZAP7 AB 4 Bright A_SpectralBigBallLightning; + ZAP7 CDE 6 Bright A_SpectralBigBallLightning; + Loop; + } +} + + +// Spectral Lightning (Big Ball #2 - less damaging) ------------------------- + +class SpectralLightningBigBall2 : SpectralLightningBigBall1 +{ + Default + { + Damage 30; + } +} + +// Sigil Lightning (Vertical #1) -------------------------------------------- + +class SpectralLightningV1 : SpectralLightningDeathShort +{ + Default + { + Speed 22; + Radius 8; + Height 24; + Damage 100; + Projectile; + DamageType "SpectralLow"; + +SPECTRAL + } + States + { + Spawn: + ZOT1 AB 4 Bright; + ZOT1 CDE 6 Bright; + Loop; + } +} + +// Sigil Lightning (Vertical #2 - less damaging) ---------------------------- + +class SpectralLightningV2 : SpectralLightningV1 +{ + Default + { + Damage 50; + } +} + +// Sigil Lightning Spot (roams around dropping lightning from above) -------- + +class SpectralLightningSpot : SpectralLightningDeath1 +{ + Default + { + Speed 18; + ReactionTime 70; + +NOBLOCKMAP + +NOBLOCKMONST + +NODROPOFF + RenderStyle "Translucent"; + Alpha 0.6; + } + + action native void A_SpectralLightning (); + + States + { + Spawn: + ZAP5 A 4 Bright A_Countdown; + ZAP5 B 4 Bright A_SpectralLightning; + ZAP5 CD 4 Bright A_Countdown; + Loop; + } +} + +// Sigil Lightning (Big Vertical #1) ---------------------------------------- + +class SpectralLightningBigV1 : SpectralLightningDeath1 +{ + Default + { + Speed 28; + Radius 8; + Height 16; + Damage 120; + Projectile; + +SPECTRAL + } + States + { + Spawn: + ZOT2 ABCDE 4 Bright A_Tracer2; + Loop; + } +} + +// Actor 90 ----------------------------------------------------------------- + +class SpectralLightningBigV2 : SpectralLightningBigV1 +{ + Default + { + Damage 60; + } +} + + + + diff --git a/wadsrc/static/zscript/strife/stalker.txt b/wadsrc/static/zscript/strife/stalker.txt new file mode 100644 index 000000000..b22e432c6 --- /dev/null +++ b/wadsrc/static/zscript/strife/stalker.txt @@ -0,0 +1,79 @@ + + +// Stalker ------------------------------------------------------------------ + +class Stalker : Actor +{ + Default + { + Health 80; + Painchance 40; + Speed 16; + Radius 31; + Height 25; + Monster; + +NOGRAVITY + +DROPOFF + +NOBLOOD + +SPAWNCEILING + +INCOMBAT + +NOVERTICALMELEERANGE + MaxDropOffHeight 32; + MinMissileChance 150; + SeeSound "stalker/sight"; + AttackSound "stalker/attack"; + PainSound "stalker/pain"; + DeathSound "stalker/death"; + ActiveSound "stalker/active"; + HitObituary "$OB_STALKER"; + } + + action native void A_StalkerLookInit (); + action native void A_StalkerChaseDecide (); + action native void A_StalkerWalk (); + action native void A_StalkerDrop (); + action native void A_StalkerAttack (); + + States + { + Spawn: + STLK A 1 A_StalkerLookInit; + Loop; + LookCeiling: + STLK A 10 A_Look; + Loop; + LookFloor: + STLK J 10 A_Look; + Loop; + See: + STLK A 1 Slow A_StalkerChaseDecide; + STLK ABB 3 Slow A_Chase; + STLK C 3 Slow A_StalkerWalk; + STLK C 3 Slow A_Chase; + Loop; + Melee: + STLK J 3 Slow A_FaceTarget; + STLK K 3 Slow A_StalkerAttack; + SeeFloor: + STLK J 3 A_StalkerWalk; + STLK KK 3 A_Chase; + STLK L 3 A_StalkerWalk; + STLK L 3 A_Chase; + Loop; + Pain: + STLK L 1 A_Pain; + Goto See; + Drop: + STLK C 2 A_StalkerDrop; + STLK IHGFED 3; + Goto SeeFloor; + Death: + STLK O 4; + STLK P 4 A_Scream; + STLK QRST 4; + STLK U 4 A_NoBlocking; + STLK VW 4; + STLK "XYZ[" 4 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/strife/strifeammo.txt b/wadsrc/static/zscript/strife/strifeammo.txt new file mode 100644 index 000000000..dcc31b2c7 --- /dev/null +++ b/wadsrc/static/zscript/strife/strifeammo.txt @@ -0,0 +1,235 @@ +// HE-Grenade Rounds -------------------------------------------------------- + +class HEGrenadeRounds : Ammo +{ + Default + { + +FLOORCLIP + Inventory.Amount 6; + Inventory.MaxAmount 30; + Ammo.BackpackAmount 6; + Ammo.BackpackMaxAmount 60; + Inventory.Icon "I_GRN1"; + Tag "$TAG_HEGRENADES"; + Inventory.PickupMessage "$TXT_HEGRENADES"; + } + States + { + Spawn: + GRN1 A -1; + Stop; + } +} + +// Phosphorus-Grenade Rounds ------------------------------------------------ + +class PhosphorusGrenadeRounds : Ammo +{ + Default + { + +FLOORCLIP + Inventory.Amount 4; + Inventory.MaxAmount 16; + Ammo.BackpackAmount 4; + Ammo.BackpackMaxAmount 32; + Inventory.Icon "I_GRN2"; + Tag "$TAG_PHGRENADES"; + Inventory.PickupMessage "$TXT_PHGRENADES"; + } + States + { + Spawn: + GRN2 A -1; + Stop; + } +} + +// Clip of Bullets ---------------------------------------------------------- + +class ClipOfBullets : Ammo +{ + Default + { + +FLOORCLIP + Inventory.Amount 10; + Inventory.MaxAmount 250; + Ammo.BackpackAmount 10; + Ammo.BackpackMaxAmount 500; + Inventory.Icon "I_BLIT"; + Tag "$TAG_CLIPOFBULLETS"; + Inventory.PickupMessage "$TXT_CLIPOFBULLETS"; + } + States + { + Spawn: + BLIT A -1; + Stop; + } +} + +// Box of Bullets ----------------------------------------------------------- + +class BoxOfBullets : ClipOfBullets +{ + Default + { + Inventory.Amount 50; + Tag "$TAG_BOXOFBULLETS"; + Inventory.PickupMessage "$TXT_BOXOFBULLETS"; + } + States + { + Spawn: + BBOX A -1; + Stop; + } +} + +// Mini Missiles ------------------------------------------------------------ + +class MiniMissiles : Ammo +{ + Default + { + +FLOORCLIP + Inventory.Amount 4; + Inventory.MaxAmount 100; + Ammo.BackpackAmount 4; + Ammo.BackpackMaxAmount 200; + Inventory.Icon "I_ROKT"; + Tag "$TAG_MINIMISSILES"; + Inventory.PickupMessage "$TXT_MINIMISSILES"; + } + States + { + Spawn: + MSSL A -1; + Stop; + } +} + +// Crate of Missiles -------------------------------------------------------- + +class CrateOfMissiles : MiniMissiles +{ + Default + { + Inventory.Amount 20; + Tag "$TAG_CRATEOFMISSILES"; + Inventory.PickupMessage "$TXT_CRATEOFMISSILES"; + } + States + { + Spawn: + ROKT A -1; + Stop; + } +} + +// Energy Pod --------------------------------------------------------------- + +class EnergyPod : Ammo +{ + Default + { + +FLOORCLIP + Inventory.Amount 20; + Inventory.MaxAmount 400; + Ammo.BackpackAmount 20; + Ammo.BackpackMaxAmount 800; + Ammo.DropAmount 20; + Inventory.Icon "I_BRY1"; + Tag "$TAG_ENERGYPOD"; + Inventory.PickupMessage "$TXT_ENERGYPOD"; + } + States + { + Spawn: + BRY1 AB 6; + Loop; + } +} + +// Energy pack --------------------------------------------------------------- + +class EnergyPack : EnergyPod +{ + Default + { + Inventory.Amount 100; + Tag "$TAG_ENERGYPACK"; + Inventory.PickupMessage "$TXT_ENERGYPACK"; + } + States + { + Spawn: + CPAC AB 6; + Loop; + } +} + +// Poison Bolt Quiver ------------------------------------------------------- + +class PoisonBolts : Ammo +{ + Default + { + +FLOORCLIP + Inventory.Amount 10; + Inventory.MaxAmount 25; + Ammo.BackpackAmount 2; + Ammo.BackpackMaxAmount 50; + Inventory.Icon "I_PQRL"; + Tag "$TAG_POISONBOLTS"; + Inventory.PickupMessage "$TXT_POISONBOLTS"; + } + States + { + Spawn: + PQRL A -1; + Stop; + } +} + +// Electric Bolt Quiver ------------------------------------------------------- + +class ElectricBolts : Ammo +{ + Default + { + +FLOORCLIP + Inventory.Amount 20; + Inventory.MaxAmount 50; + Ammo.BackpackAmount 4; + Ammo.BackpackMaxAmount 100; + Inventory.Icon "I_XQRL"; + Tag "$TAG_ELECTRICBOLTS"; + Inventory.PickupMessage "$TXT_ELECTRICBOLTS"; + } + States + { + Spawn: + XQRL A -1; + Stop; + } +} + +// Ammo Satchel ------------------------------------------------------------- + +class AmmoSatchel : BackpackItem +{ + Default + { + +FLOORCLIP + Inventory.Icon "I_BKPK"; + Tag "$TAG_AMMOSATCHEL"; + Inventory.PickupMessage "$TXT_AMMOSATCHEL"; + } + States + { + Spawn: + BKPK A -1; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/strifearmor.txt b/wadsrc/static/zscript/strife/strifearmor.txt new file mode 100644 index 000000000..8d2c7fad5 --- /dev/null +++ b/wadsrc/static/zscript/strife/strifearmor.txt @@ -0,0 +1,49 @@ + +class MetalArmor : BasicArmorPickup +{ + Default + { + Radius 20; + Height 16; + +FLOORCLIP + +INVENTORY.AUTOACTIVATE + +INVENTORY.INVBAR + Inventory.MaxAmount 3; + Inventory.Icon "I_ARM1"; + Inventory.PickupMessage "$TXT_METALARMOR"; + Armor.SaveAmount 200; + Armor.SavePercent 50; + Tag "$TAG_METALARMOR"; + } + States + { + Spawn: + ARM3 A -1; + Stop; + } +} + +class LeatherArmor : BasicArmorPickup +{ + Default + { + Radius 20; + Height 16; + +FLOORCLIP + +INVENTORY.AUTOACTIVATE + +INVENTORY.INVBAR + Inventory.MaxAmount 5; + Inventory.Icon "I_ARM2"; + Inventory.PickupMessage "$TXT_LEATHERARMOR"; + Armor.SaveAmount 100; + Armor.SavePercent 33.335; + Tag "$TAG_LEATHER"; + } + States + { + Spawn: + ARM4 A -1; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/strifebishop.txt b/wadsrc/static/zscript/strife/strifebishop.txt new file mode 100644 index 000000000..98b09ecee --- /dev/null +++ b/wadsrc/static/zscript/strife/strifebishop.txt @@ -0,0 +1,99 @@ + +// Bishop ------------------------------------------------------------------- + +class StrifeBishop : Actor +{ + Default + { + Health 500; + Painchance 128; + Speed 8; + Radius 40; + Height 56; + Mass 500; + Monster; + +NOBLOOD + +NOTDMATCH + +FLOORCLIP + +INCOMBAT + +NOICEDEATH + +NEVERRESPAWN + DamageFactor "Fire", 0.5; + MinMissileChance 150; + MaxDropoffHeight 32; + SeeSound "bishop/sight"; + PainSound "bishop/pain"; + DeathSound "bishop/death"; + ActiveSound "bishop/active"; + DropItem "CrateOfMissiles", 256, 20; + Obituary "$OB_STFBISHOP"; + } + States + { + Spawn: + MLDR A 10 A_Look; + Loop; + See: + MLDR AABBCCDD 3 A_Chase; + Loop; + Missile: + MLDR E 3 A_FaceTarget; + MLDR F 2 Bright A_CustomMissile("BishopMissile", 64, 0, 0, CMF_AIMOFFSET); + Goto See; + Pain: + MLDR D 1 A_Pain; + Goto See; + Death: + MLDR G 3 Bright; + MLDR H 5 Bright A_Scream; + MLDR I 4 Bright A_TossGib; + MLDR J 4 Bright A_Explode(64,64,1,1); + MLDR KL 3 Bright; + MLDR M 4 Bright A_NoBlocking; + MLDR N 4 Bright; + MLDR O 4 Bright A_TossGib; + MLDR P 4 Bright; + MLDR Q 4 Bright A_TossGib; + MLDR R 4 Bright; + MLDR S 4 Bright A_TossGib; + MLDR T 4 Bright; + MLDR U 4 Bright A_TossGib; + MLDR V 4 Bright A_SpawnItemEx("AlienSpectre2", 0, 0, 0, 0, 0, random[spectrespawn](0,255)*0.0078125, 0, SXF_NOCHECKPOSITION); + Stop; + } +} + + +// The Bishop's missile ----------------------------------------------------- + +class BishopMissile : Actor +{ + Default + { + Speed 20; + Radius 10; + Height 14; + Damage 10; + Projectile; + +SEEKERMISSILE + +STRIFEDAMAGE + MaxStepHeight 4; + SeeSound "bishop/misl"; + DeathSound "bishop/mislx"; + } + States + { + Spawn: + MISS A 4 Bright A_RocketInFlight; + MISS B 3 Bright A_Tracer2; + Loop; + Death: + SMIS A 0 Bright A_SetTranslucent(1,1); + SMIS A 5 Bright A_Explode(64,64,1,1); + SMIS B 5 Bright; + SMIS C 4 Bright; + SMIS DEFG 2 Bright; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/strifehumanoid.txt b/wadsrc/static/zscript/strife/strifehumanoid.txt new file mode 100644 index 000000000..7ac776026 --- /dev/null +++ b/wadsrc/static/zscript/strife/strifehumanoid.txt @@ -0,0 +1,58 @@ + +// Humanoid Base Class ------------------------------------------------------ + + +class StrifeHumanoid : Actor +{ + Default + { + MaxStepHeight 16; + MaxDropoffHeight 32; + CrushPainSound "misc/pcrush"; + } + States + { + Burn: + BURN A 3 Bright A_PlaySound("human/imonfire", CHAN_VOICE); + BURN B 3 Bright A_DropFire; + BURN C 3 Bright A_Wander; + BURN D 3 Bright A_NoBlocking; + BURN E 5 Bright A_DropFire; + BURN FGH 5 Bright A_Wander; + BURN I 5 Bright A_DropFire; + BURN JKL 5 Bright A_Wander; + BURN M 5 Bright A_DropFire; + BURN N 5 Bright; + BURN OPQPQ 5 Bright; + BURN RSTU 7 Bright; + BURN V -1; + Stop; + Disintegrate: + DISR A 5 A_PlaySound("misc/disruptordeath", CHAN_VOICE); + DISR BC 5; + DISR D 5 A_NoBlocking; + DISR EF 5; + DISR GHIJ 4; + MEAT D 700; + Stop; + } +} + +// Fire Droplet ------------------------------------------------------------- + +class FireDroplet : Actor +{ + Default + { + +NOBLOCKMAP + +NOCLIP + } + States + { + Spawn: + FFOT ABCD 9 Bright; + Stop; + } +} + + diff --git a/wadsrc/static/zscript/strife/strifeitems.txt b/wadsrc/static/zscript/strife/strifeitems.txt new file mode 100644 index 000000000..3d8b4af54 --- /dev/null +++ b/wadsrc/static/zscript/strife/strifeitems.txt @@ -0,0 +1,597 @@ +// Med patch ----------------------------------------------------------------- + +class MedPatch : HealthPickup +{ + Default + { + Health 10; + +FLOORCLIP + +INVENTORY.INVBAR + Inventory.MaxAmount 20; + Tag "$TAG_MEDPATCH"; + Inventory.Icon "I_STMP"; + Inventory.PickupMessage "$TXT_MEDPATCH"; + HealthPickup.Autouse 3; + } + States + { + Spawn: + STMP A -1; + Stop; + } +} + + +// Medical Kit --------------------------------------------------------------- + +class MedicalKit : HealthPickup +{ + Default + { + Health 25; + +FLOORCLIP + +INVENTORY.INVBAR + Inventory.MaxAmount 15; + Tag "$TAG_MEDICALKIT"; + Inventory.Icon "I_MDKT"; + Inventory.PickupMessage "$TXT_MEDICALKIT"; + HealthPickup.Autouse 3; + } + States + { + Spawn: + MDKT A -1; + Stop; + } +} + + +// Surgery Kit -------------------------------------------------------------- + +class SurgeryKit : HealthPickup +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + Health -100; + Inventory.MaxAmount 5; + Tag "$TAG_SURGERYKIT"; + Inventory.Icon "I_FULL"; + Inventory.PickupMessage "$TXT_SURGERYKIT"; + } + States + { + Spawn: + FULL AB 35; + Loop; + } +} + + +// StrifeMap ---------------------------------------------------------------- + +class StrifeMap : MapRevealer +{ + Default + { + +FLOORCLIP + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_STRIFEMAP"; + } + States + { + Spawn: + SMAP AB 6 Bright; + Loop; + } +} + + +// Beldin's Ring ------------------------------------------------------------ + +class BeldinsRing : Inventory +{ + Default + { + +NOTDMATCH + +FLOORCLIP + +INVENTORY.INVBAR + Tag "$TAG_BELDINSRING"; + Inventory.Icon "I_RING"; + Inventory.GiveQuest 1; + Inventory.PickupMessage "$TXT_BELDINSRING"; + } + States + { + Spawn: + RING A -1; + Stop; + } +} + + +// Offering Chalice --------------------------------------------------------- + +class OfferingChalice : Inventory +{ + Default + { + +DROPPED + +FLOORCLIP + +INVENTORY.INVBAR + Radius 10; + Height 16; + Tag "$TAG_OFFERINGCHALICE"; + Inventory.Icon "I_RELC"; + Inventory.PickupMessage "$TXT_OFFERINGCHALICE"; + Inventory.GiveQuest 2; + } + States + { + Spawn: + RELC A -1; + Stop; + } +} + + +// Ear ---------------------------------------------------------------------- + +class Ear : Inventory +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + Tag "$TAG_EAR"; + Inventory.Icon "I_EARS"; + Inventory.PickupMessage "$TXT_EAR"; + Inventory.GiveQuest 9; + } + States + { + Spawn: + EARS A -1; + Stop; + } +} + + +// Broken Power Coupling ---------------------------------------------------- + +class BrokenPowerCoupling : Inventory +{ + Default + { + Health 40; + +DROPPED + +FLOORCLIP + +INVENTORY.INVBAR + Radius 16; + Height 16; + Tag "$TAG_BROKENCOUPLING"; + Inventory.MaxAmount 1; + Inventory.Icon "I_COUP"; + Inventory.PickupMessage "$TXT_BROKENCOUPLING"; + Inventory.GiveQuest 8; + } + States + { + Spawn: + COUP C -1; + Stop; + } +} + + +// Shadow Armor ------------------------------------------------------------- + +class ShadowArmor : PowerupGiver +{ + Default + { + +FLOORCLIP + +VISIBILITYPULSE + +INVENTORY.INVBAR + -INVENTORY.FANCYPICKUPSOUND + RenderStyle "Translucent"; + Tag "$TAG_SHADOWARMOR"; + Inventory.MaxAmount 2; + Powerup.Type "Shadow"; + Inventory.Icon "I_SHD1"; + Inventory.PickupSound "misc/i_pkup"; + Inventory.PickupMessage "$TXT_SHADOWARMOR"; + } + States + { + Spawn: + SHD1 A -1 Bright; + Stop; + } +} + + +// Environmental suit ------------------------------------------------------- + +class EnvironmentalSuit : PowerupGiver +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + -INVENTORY.FANCYPICKUPSOUND + Inventory.MaxAmount 5; + Powerup.Type "Mask"; + Tag "$TAG_ENVSUIT"; + Inventory.Icon "I_MASK"; + Inventory.PickupSound "misc/i_pkup"; + Inventory.PickupMessage "$TXT_ENVSUIT"; + } + States + { + Spawn: + MASK A -1; + Stop; + } +} + + +// Guard Uniform ------------------------------------------------------------ + +class GuardUniform : Inventory +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + Tag "$TAG_GUARDUNIFORM"; + Inventory.Icon "I_UNIF"; + Inventory.PickupMessage "$TXT_GUARDUNIFORM"; + Inventory.GiveQuest 15; + } + States + { + Spawn: + UNIF A -1; + Stop; + } +} + + +// Officer's Uniform -------------------------------------------------------- + +class OfficersUniform : Inventory +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + Tag "$TAG_OFFICERSUNIFORM"; + Inventory.Icon "I_OFIC"; + Inventory.PickupMessage "$TXT_OFFICERSUNIFORM"; + } + States + { + Spawn: + OFIC A -1; + Stop; + } +} + + +// Flame Thrower Parts ------------------------------------------------------ + +class FlameThrowerParts : Inventory +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + Inventory.Icon "I_BFLM"; + Tag "$TAG_FTHROWERPARTS"; + Inventory.PickupMessage "$TXT_FTHROWERPARTS"; + } + States + { + Spawn: + BFLM A -1; + Stop; + } +} + +// InterrogatorReport ------------------------------------------------------- +// SCRIPT32 in strife0.wad has an Acolyte that drops this, but I couldn't +// find that Acolyte in the map. It seems to be totally unused in the +// final game. + +class InterrogatorReport : Inventory +{ + Default + { + +FLOORCLIP + Tag "$TAG_REPORT"; + Inventory.PickupMessage "$TXT_REPORT"; + } + States + { + Spawn: + TOKN A -1; + Stop; + } +} + + +// Info --------------------------------------------------------------------- + +class Info : Inventory +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + Tag "$TAG_INFO"; + Inventory.Icon "I_TOKN"; + Inventory.PickupMessage "$TXT_INFO"; + } + States + { + Spawn: + TOKN A -1; + Stop; + } +} + + +// Targeter ----------------------------------------------------------------- + +class Targeter : PowerupGiver +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + -INVENTORY.FANCYPICKUPSOUND + Tag "$TAG_TARGETER"; + Powerup.Type "Targeter"; + Inventory.MaxAmount 5; + Inventory.Icon "I_TARG"; + Inventory.PickupSound "misc/i_pkup"; + Inventory.PickupMessage "$TXT_TARGETER"; + } + States + { + Spawn: + TARG A -1; + Stop; + } +} + +// Communicator ----------------------------------------------------------------- + +class Communicator : Inventory +{ + Default + { + +NOTDMATCH + Tag "$TAG_COMMUNICATOR"; + Inventory.Icon "I_COMM"; + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_COMMUNICATOR"; + } + States + { + Spawn: + COMM A -1; + Stop; + } +} + +// Degnin Ore --------------------------------------------------------------- + +class DegninOre : Inventory native +{ + Default + { + Health 10; + Radius 16; + Height 16; + Inventory.MaxAmount 10; + +SOLID + +SHOOTABLE + +NOBLOOD + +FLOORCLIP + +INCOMBAT + +INVENTORY.INVBAR + Tag "$TAG_DEGNINORE"; + DeathSound "ore/explode"; + Inventory.Icon "I_XPRK"; + Inventory.PickupMessage "$TXT_DEGNINORE"; + } + States + { + Spawn: + XPRK A -1; + Stop; + Death: + XPRK A 1 A_RemoveForceField; + BNG3 A 0 A_SetTranslucent(1,1); + BNG3 A 0 A_Scream; + BNG3 A 3 Bright A_Explode(192,192,1,1); + BNG3 BCDEFGH 3 Bright; + Stop; + } +} + +// Gun Training ------------------------------------------------------------- + +class GunTraining : Inventory +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + +INVENTORY.UNDROPPABLE + Inventory.MaxAmount 100; + Tag "$TAG_GUNTRAINING"; + Inventory.Icon "I_GUNT"; + } + States + { + Spawn: + GUNT A -1; + Stop; + } +} + +// Health Training ---------------------------------------------------------- + +class HealthTraining : Inventory native +{ + Default + { + +FLOORCLIP + +INVENTORY.INVBAR + +INVENTORY.UNDROPPABLE + Inventory.MaxAmount 100; + Tag "$TAG_HEALTHTRAINING"; + Inventory.Icon "I_HELT"; + } + States + { + Spawn: + HELT A -1; + Stop; + } +} + + + +// Scanner ------------------------------------------------------------------ + +class Scanner : PowerupGiver native +{ + Default + { + +FLOORCLIP + +INVENTORY.FANCYPICKUPSOUND + Inventory.MaxAmount 1; + Tag "$TAG_SCANNER"; + Inventory.Icon "I_PMUP"; + Powerup.Type "Scanner"; + Inventory.PickupSound "misc/i_pkup"; + Inventory.PickupMessage "$TXT_SCANNER"; + } + States + { + Spawn: + PMUP AB 6; + Loop; + } +} + +// Prison Pass -------------------------------------------------------------- + +class PrisonPass : Key native +{ + Default + { + Inventory.Icon "I_TOKN"; + Tag "$TAG_PRISONPASS"; + Inventory.PickupMessage "$TXT_PRISONPASS"; + } + States + { + Spawn: + TOKN A -1; + Stop; + } +} + +//--------------------------------------------------------------------------- +// Dummy items. They are just used by Strife to perform --------------------- +// actions and cannot be held. ---------------------------------------------- +//--------------------------------------------------------------------------- + +class DummyStrifeItem : Inventory native +{ + States + { + Spawn: + TOKN A -1; + Stop; + } +} + +// Sound the alarm! --------------------------------------------------------- + +class RaiseAlarm : DummyStrifeItem native +{ + Default + { + Tag "$TAG_ALARM"; + } +} + +// Open door tag 222 -------------------------------------------------------- + +class OpenDoor222 : DummyStrifeItem native +{ +} + +// Close door tag 222 ------------------------------------------------------- + +class CloseDoor222 : DummyStrifeItem native +{ +} + +// Open door tag 224 -------------------------------------------------------- + +class OpenDoor224 : DummyStrifeItem native +{ +} + +// Ammo --------------------------------------------------------------------- + +class AmmoFillup : DummyStrifeItem native +{ + Default + { + Tag "$TAG_AMMOFILLUP"; + } +} + +// Health ------------------------------------------------------------------- + +class HealthFillup : DummyStrifeItem native +{ + Default + { + Tag "$TAG_HEALTHFILLUP"; + } +} + +// Upgrade Stamina ---------------------------------------------------------- + +class UpgradeStamina : DummyStrifeItem native +{ + Default + { + Inventory.Amount 10; + Inventory.MaxAmount 100; + } +} + +// Upgrade Accuracy --------------------------------------------------------- + +class UpgradeAccuracy : DummyStrifeItem native +{ +} + +// Start a slideshow -------------------------------------------------------- + +class SlideshowStarter : DummyStrifeItem native +{ +} + + diff --git a/wadsrc/static/zscript/strife/strifekeys.txt b/wadsrc/static/zscript/strife/strifekeys.txt new file mode 100644 index 000000000..024144384 --- /dev/null +++ b/wadsrc/static/zscript/strife/strifekeys.txt @@ -0,0 +1,547 @@ +class StrifeKey : Key +{ + Default + { + Radius 20; + Height 16; + +NOTDMATCH + +FLOORCLIP + } +} + +// Base Key ----------------------------------------------------------------- + +class BaseKey : StrifeKey +{ + Default + { + Inventory.Icon "I_FUSL"; + Tag "$TAG_BASEKEY"; + Inventory.PickupMessage "$TXT_BASEKEY"; + } + States + { + Spawn: + FUSL A -1; + Stop; + } +} + + +// Govs Key ----------------------------------------------------------------- + +class GovsKey : StrifeKey +{ + Default + { + Inventory.Icon "I_REBL"; + Tag "$TAG_GOVSKEY"; + Inventory.PickupMessage "$TXT_GOVSKEY"; + } + States + { + Spawn: + REBL A -1; + Stop; + } +} + + +// Passcard ----------------------------------------------------------------- + +class Passcard : StrifeKey +{ + Default + { + Inventory.Icon "I_TPAS"; + Tag "$TAG_PASSCARD"; + Inventory.PickupMessage "$TXT_PASSCARD"; + } + States + { + Spawn: + TPAS A -1; + Stop; + } +} + + +// ID Badge ----------------------------------------------------------------- + +class IDBadge : StrifeKey +{ + Default + { + Inventory.Icon "I_CRD1"; + Tag "$TAG_IDBADGE"; + Inventory.PickupMessage "$TXT_IDBADGE"; + } + States + { + Spawn: + CRD1 A -1; + Stop; + } +} + + +// Prison Key --------------------------------------------------------------- + +class PrisonKey : StrifeKey +{ + Default + { + Inventory.Icon "I_PRIS"; + Tag "$TAG_PRISONKEY"; + Inventory.GiveQuest 11; + Inventory.PickupMessage "$TXT_PRISONKEY"; + } + States + { + Spawn: + PRIS A -1; + Stop; + } +} + + +// Severed Hand ------------------------------------------------------------- + +class SeveredHand : StrifeKey +{ + Default + { + Inventory.Icon "I_HAND"; + Tag "$TAG_SEVEREDHAND"; + Inventory.GiveQuest 12; + Inventory.PickupMessage "$TXT_SEVEREDHAND"; + } + States + { + Spawn: + HAND A -1; + Stop; + } +} + + +// Power1 Key --------------------------------------------------------------- + +class Power1Key : StrifeKey +{ + Default + { + Inventory.Icon "I_PWR1"; + Tag "$TAG_POWER1KEY"; + Inventory.PickupMessage "$TXT_POWER1KEY"; + } + States + { + Spawn: + PWR1 A -1; + Stop; + } +} + + +// Power2 Key --------------------------------------------------------------- + +class Power2Key : StrifeKey +{ + Default + { + Inventory.Icon "I_PWR2"; + Tag "$TAG_POWER2KEY"; + Inventory.PickupMessage "$TXT_POWER2KEY"; + } + States + { + Spawn: + PWR2 A -1; + Stop; + } +} + + +// Power3 Key --------------------------------------------------------------- + +class Power3Key : StrifeKey +{ + Default + { + Inventory.Icon "I_PWR3"; + Tag "$TAG_POWER3KEY"; + Inventory.PickupMessage "$TXT_POWER3KEY"; + } + States + { + Spawn: + PWR3 A -1; + Stop; + } +} + + +// Gold Key ----------------------------------------------------------------- + +class GoldKey : StrifeKey +{ + Default + { + Inventory.Icon "I_KY1G"; + Tag "$TAG_GOLDKEY"; + Inventory.PickupMessage "$TXT_GOLDKEY"; + } + States + { + Spawn: + KY1G A -1; + Stop; + } +} + + +// ID Card ------------------------------------------------------------------ + +class IDCard : StrifeKey +{ + Default + { + Inventory.Icon "I_CRD2"; + Tag "$TAG_IDCARD"; + Inventory.PickupMessage "$TXT_IDCARD"; + } + States + { + Spawn: + CRD2 A -1; + Stop; + } +} + + +// Silver Key --------------------------------------------------------------- + +class SilverKey : StrifeKey +{ + Default + { + Inventory.Icon "I_KY2S"; + Tag "$TAG_SILVERKEY"; + Inventory.PickupMessage "$TXT_SILVERKEY"; + } + States + { + Spawn: + KY2S A -1; + Stop; + } +} + + +// Oracle Key --------------------------------------------------------------- + +class OracleKey : StrifeKey +{ + Default + { + Inventory.Icon "I_ORAC"; + Tag "$TAG_ORACLEKEY"; + Inventory.PickupMessage "$TXT_ORACLEKEY"; + } + States + { + Spawn: + ORAC A -1; + Stop; + } +} + + +// Military ID -------------------------------------------------------------- + +class MilitaryID : StrifeKey +{ + Default + { + Inventory.Icon "I_GYID"; + Tag "$TAG_MILITARYID"; + Inventory.PickupMessage "$TXT_MILITARYID"; + } + States + { + Spawn: + GYID A -1; + Stop; + } +} + + +// Order Key ---------------------------------------------------------------- + +class OrderKey : StrifeKey +{ + Default + { + Inventory.Icon "I_FUBR"; + Tag "$TAG_ORDERKEY"; + Inventory.PickupMessage "$TXT_ORDERKEY"; + } + States + { + Spawn: + FUBR A -1; + Stop; + } +} + + +// Warehouse Key ------------------------------------------------------------ + +class WarehouseKey : StrifeKey +{ + Default + { + Inventory.Icon "I_WARE"; + Tag "$TAG_WAREHOUSEKEY"; + Inventory.PickupMessage "$TXT_WAREHOUSEKEY"; + } + States + { + Spawn: + WARE A -1; + Stop; + } +} + + +// Brass Key ---------------------------------------------------------------- + +class BrassKey : StrifeKey +{ + Default + { + Inventory.Icon "I_KY3B"; + Tag "$TAG_BRASSKEY"; + Inventory.PickupMessage "$TXT_BRASSKEY"; + } + States + { + Spawn: + KY3B A -1; + Stop; + } +} + + +// Red Crystal Key ---------------------------------------------------------- + +class RedCrystalKey : StrifeKey +{ + Default + { + Inventory.Icon "I_RCRY"; + Tag "$TAG_REDCRYSTALKEY"; + Inventory.PickupMessage "$TXT_REDCRYSTAL"; + } + States + { + Spawn: + RCRY A -1 Bright; + Stop; + } +} + + +// Blue Crystal Key --------------------------------------------------------- + +class BlueCrystalKey : StrifeKey +{ + Default + { + Inventory.Icon "I_BCRY"; + Tag "$TAG_BLUECRYSTALKEY"; + Inventory.PickupMessage "$TXT_BLUECRYSTAL"; + } + States + { + Spawn: + BCRY A -1 Bright; + Stop; + } +} + + +// Chapel Key --------------------------------------------------------------- + +class ChapelKey : StrifeKey +{ + Default + { + Inventory.Icon "I_CHAP"; + Tag "$TAG_CHAPELKEY"; + Inventory.PickupMessage "$TXT_CHAPELKEY"; + } + States + { + Spawn: + CHAP A -1; + Stop; + } +} + + +// Catacomb Key ------------------------------------------------------------- + +class CatacombKey : StrifeKey +{ + Default + { + Inventory.Icon "I_TUNL"; + Tag "$TAG_CATACOMBKEY"; + Inventory.GiveQuest 28; + Inventory.PickupMessage "$TXT_CATACOMBKEY"; + } + States + { + Spawn: + TUNL A -1; + Stop; + } +} + + +// Security Key ------------------------------------------------------------- + +class SecurityKey : StrifeKey +{ + Default + { + Inventory.Icon "I_SECK"; + Tag "$TAG_SECURITYKEY"; + Inventory.PickupMessage "$TXT_SECURITYKEY"; + } + States + { + Spawn: + SECK A -1; + Stop; + } +} + + +// Core Key ----------------------------------------------------------------- + +class CoreKey : StrifeKey +{ + Default + { + Inventory.Icon "I_GOID"; + Tag "$TAG_COREKEY"; + Inventory.PickupMessage "$TXT_COREKEY"; + } + States + { + Spawn: + GOID A -1; + Stop; + } +} + + +// Mauler Key --------------------------------------------------------------- + +class MaulerKey : StrifeKey +{ + Default + { + Inventory.Icon "I_BLTK"; + Tag "$TAG_MAULERKEY"; + Inventory.PickupMessage "$TXT_MAULERKEY"; + } + States + { + Spawn: + BLTK A -1; + Stop; + } +} + + +// Factory Key -------------------------------------------------------------- + +class FactoryKey : StrifeKey +{ + Default + { + Inventory.Icon "I_PROC"; + Tag "$TAG_FACTORYKEY"; + Inventory.PickupMessage "$TXT_FACTORYKEY"; + } + States + { + Spawn: + PROC A -1; + Stop; + } +} + + +// Mine Key ----------------------------------------------------------------- + +class MineKey : StrifeKey +{ + Default + { + Inventory.Icon "I_MINE"; + Tag "$TAG_MINEKEY"; + Inventory.PickupMessage "$TXT_MINEKEY"; + } + States + { + Spawn: + MINE A -1; + Stop; + } +} + + +// New Key5 ----------------------------------------------------------------- + +class NewKey5 : StrifeKey +{ + Default + { + Inventory.Icon "I_BLTK"; + Tag "$TAG_NEWKEY5"; + Inventory.PickupMessage "$TXT_NEWKEY5"; + } + States + { + Spawn: + BLTK A -1; + Stop; + } +} + + +// Oracle Pass -------------------------------------------------------------- + +class OraclePass : Inventory +{ + Default + { + +INVENTORY.INVBAR + Inventory.Icon "I_OTOK"; + Inventory.GiveQuest 18; + Inventory.PickupMessage "$TXT_ORACLEPASS"; + Tag "$TAG_ORACLEPASS"; + } + States + { + Spawn: + OTOK A -1; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/strifeplayer.txt b/wadsrc/static/zscript/strife/strifeplayer.txt new file mode 100644 index 000000000..311bf308a --- /dev/null +++ b/wadsrc/static/zscript/strife/strifeplayer.txt @@ -0,0 +1,105 @@ +// The player --------------------------------------------------------------- + +class StrifePlayer : PlayerPawn +{ + Default + { + Health 100; + Radius 18; + Height 56; + Mass 100; + PainChance 255; + Speed 1; + MaxStepHeight 16; + CrushPainSound "misc/pcrush"; + Player.DisplayName "Rebel"; + Player.StartItem "PunchDagger"; + Player.RunHealth 15; + Player.WeaponSlot 1, "PunchDagger"; + Player.WeaponSlot 2, "StrifeCrossbow2", "StrifeCrossbow"; + Player.WeaponSlot 3, "AssaultGun"; + Player.WeaponSlot 4, "MiniMissileLauncher"; + Player.WeaponSlot 5, "StrifeGrenadeLauncher2", "StrifeGrenadeLauncher"; + Player.WeaponSlot 6, "FlameThrower"; + Player.WeaponSlot 7, "Mauler2", "Mauler"; + Player.WeaponSlot 8, "Sigil"; + + Player.ColorRange 128, 143; + Player.Colorset 0, "Brown", 0x80, 0x8F, 0x82; + Player.Colorset 1, "Red", 0x40, 0x4F, 0x42, 0x20, 0x3F, 0x00, 0x1F, 0xF1, 0xF6, 0xE0, 0xE5, 0xF7, 0xFB, 0xF1, 0xF5; + Player.Colorset 2, "Rust", 0xB0, 0xBF, 0xB2, 0x20, 0x3F, 0x00, 0x1F; + Player.Colorset 3, "Gray", 0x10, 0x1F, 0x12, 0x20, 0x2F, 0xD0, 0xDF, 0x30, 0x3F, 0xD0, 0xDF; + Player.Colorset 4, "Dark Green", 0x30, 0x3F, 0x32, 0x20, 0x2F, 0xD0, 0xDF, 0x30, 0x3F, 0xD0, 0xDF; + + Player.Colorset 5, "Gold", 0x50, 0x5F, 0x52, 0x20, 0x3F, 0x00, 0x1F, 0x50, 0x5F, 0x80, 0x8F, 0xC0, 0xCF, 0xA0, 0xAF, 0xD0, 0xDF, 0xB0, 0xBF; + Player.Colorset 6, "Bright Green", 0x60, 0x6F, 0x62, 0x20, 0x3F, 0x00, 0x1F, 0x50, 0x5F, 0x10, 0x1F, 0xC0, 0xCF, 0x20, 0x2F, 0xD0, 0xDF, 0x30, 0x3F; + Player.Colorset 7, "Blue", 0x90, 0x9F, 0x92, 0x20, 0x3F, 0x00, 0x1F, 0x50, 0x5F, 0x40, 0x4F, 0xC1, 0xCF, 0x01, 0x0F, 0xC0,0xC0,1,1, 0xD0, 0xDF, 0x10, 0x1F; + } + + action native void A_ItBurnsItBurns(); + action native void A_CrispyPlayer(); + action native void A_HandLower(); + + States + { + Spawn: + PLAY A -1; + stop; + See: + PLAY ABCD 4; + loop; + Missile: + PLAY E 12; + goto Spawn; + Melee: + PLAY F 6; + goto Missile; + Pain: + PLAY Q 4; + PLAY Q 4 A_Pain; + Goto Spawn; + Death: + PLAY H 3; + PLAY I 3 A_PlayerScream; + PLAY J 3 A_NoBlocking; + PLAY KLMNO 4; + PLAY P -1; + Stop; + XDeath: + RGIB A 5 A_TossGib; + RGIB B 5 A_XScream; + RGIB C 5 A_NoBlocking; + RGIB DEFG 5 A_TossGib; + RGIB H -1 A_TossGib; + Burn: + BURN A 3 Bright A_ItBurnsItBurns; + BURN B 3 Bright A_DropFire; + BURN C 3 Bright A_Wander; + BURN D 3 Bright A_NoBlocking; + BURN E 5 Bright A_DropFire; + BURN FGH 5 Bright A_Wander; + BURN I 5 Bright A_DropFire; + BURN JKL 5 Bright A_Wander; + BURN M 5 Bright A_DropFire; + BURN N 5 Bright A_CrispyPlayer; + BURN OPQPQ 5 Bright; + BURN RSTU 7 Bright; + BURN V -1; + Stop; + Disintegrate: + DISR A 5 A_PlaySound("misc/disruptordeath", CHAN_VOICE); + DISR BC 5; + DISR D 5 A_NoBlocking; + DISR EF 5; + DISR GHIJ 4; + MEAT D -1; + Stop; + Firehands: + WAVE ABCD 3; + Loop; + Firehandslower: + WAVE ABCD 3 A_HandLower; + Loop; + } +} + diff --git a/wadsrc/static/zscript/strife/strifestuff.txt b/wadsrc/static/zscript/strife/strifestuff.txt new file mode 100644 index 000000000..e72e8d924 --- /dev/null +++ b/wadsrc/static/zscript/strife/strifestuff.txt @@ -0,0 +1,2002 @@ +// Tank 1 Huge ------------------------------------------------------------ + +class Tank1 : Actor +{ + Default + { + Radius 16; + Height 192; + +SOLID + } + States + { + Spawn: + TNK1 A 15; + TNK1 B 11; + TNK1 C 40; + Loop; + } +} + +// Tank 2 Huge ------------------------------------------------------------ + +class Tank2 : Actor +{ + Default + { + Radius 16; + Height 192; + +SOLID + } + States + { + Spawn: + TNK2 A 15; + TNK2 B 11; + TNK2 C 40; + Loop; + } +} + +// Tank 3 Huge ------------------------------------------------------------ + +class Tank3 : Actor +{ + Default + { + Radius 16; + Height 192; + +SOLID + } + States + { + Spawn: + TNK3 A 15; + TNK3 B 11; + TNK3 C 40; + Loop; + } +} + +// Tank 4 ------------------------------------------------------------------- + +class Tank4 : Actor +{ + Default + { + Radius 16; + Height 56; + +SOLID + } + States + { + Spawn: + TNK4 A 15; + TNK4 B 11; + TNK4 C 40; + Loop; + } +} + +// Tank 5 ------------------------------------------------------------------- + +class Tank5 : Actor +{ + Default + { + Radius 16; + Height 56; + +SOLID + } + States + { + Spawn: + TNK5 A 15; + TNK5 B 11; + TNK5 C 40; + Loop; + } +} + +// Tank 6 ------------------------------------------------------------------- + +class Tank6 : Actor +{ + Default + { + Radius 16; + Height 56; + +SOLID + } + States + { + Spawn: + TNK6 A 15; + TNK6 B 11; + TNK6 C 40; + Loop; + } +} + +// Water Bottle ------------------------------------------------------------- + +class WaterBottle : Actor +{ + States + { + Spawn: + WATR A -1; + Stop; + } +} + +// Mug ---------------------------------------------------------------------- + +class Mug : Actor +{ + States + { + Spawn: + MUGG A -1; + Stop; + } +} + +// Wooden Barrel ------------------------------------------------------------ + +class WoodenBarrel : Actor +{ + Default + { + Health 10; + Radius 10; + Height 32; + +SOLID +SHOOTABLE +NOBLOOD + +INCOMBAT + DeathSound "woodenbarrel/death"; + } + States + { + Spawn: + BARW A -1; + Stop; + Death: + BARW B 2 A_Scream; + BARW C 2; + BARW D 2 A_NoBlocking; + BARW EFG 2; + BARW H -1; + Stop; + } +} + +// Strife's explosive barrel ------------------------------------------------ + +class ExplosiveBarrel2 : Actor +{ + Default + { + Health 30; + Radius 10; + Height 32; + +SOLID +SHOOTABLE +NOBLOOD +OLDRADIUSDMG + DeathSound "world/barrelx"; + +INCOMBAT + } + States + { + Spawn: + BART A -1; + Stop; + Death: + BART B 2 Bright A_Scream; + BART CD 2 Bright; + BART E 2 Bright A_NoBlocking; + BART F 2 Bright A_Explode(64, 64, 1, 1); + BART GHIJ 2 Bright; + BART K 3 Bright; + BART L -1; + Stop; + } +} + +// Light Silver, Fluorescent ---------------------------------------------- + +class LightSilverFluorescent : Actor +{ + Default + { + Radius 2.5; + Height 16; + +NOBLOCKMAP + +FIXMAPTHINGPOS + } + States + { + Spawn: + LITS A -1 Bright; + Stop; + } +} + +// Light Brown, Fluorescent ----------------------------------------------- + +class LightBrownFluorescent : Actor +{ + Default + { + Radius 2.5; + Height 16; + +NOBLOCKMAP + +FIXMAPTHINGPOS + } + States + { + Spawn: + LITB A -1 Bright; + Stop; + } +} + +// Light Gold, Fluorescent ------------------------------------------------ + +class LightGoldFluorescent : Actor +{ + Default + { + Radius 2.5; + Height 16; + +NOBLOCKMAP + +FIXMAPTHINGPOS + } + States + { + Spawn: + LITG A -1 Bright; + Stop; + } +} + +// Light Globe -------------------------------------------------------------- + +class LightGlobe : Actor +{ + Default + { + Radius 16; + Height 16; + +SOLID + } + States + { + Spawn: + LITE A -1 Bright; + Stop; + } +} + +// Techno Pillar ------------------------------------------------------------ + +class PillarTechno : Actor +{ + Default + { + Radius 20; + Height 128; + +SOLID + } + States + { + Spawn: + MONI A -1; + Stop; + } +} + +// Aztec Pillar ------------------------------------------------------------- + +class PillarAztec : Actor +{ + Default + { + Radius 16; + Height 128; + +SOLID + } + States + { + Spawn: + STEL A -1; + Stop; + } +} + +// Damaged Aztec Pillar ----------------------------------------------------- + +class PillarAztecDamaged : Actor +{ + Default + { + Radius 16; + Height 80; + +SOLID + } + States + { + Spawn: + STLA A -1; + Stop; + } +} + +// Ruined Aztec Pillar ------------------------------------------------------ + +class PillarAztecRuined : Actor +{ + Default + { + Radius 16; + Height 40; + +SOLID + } + States + { + Spawn: + STLE A -1; + Stop; + } +} + +// Huge Tech Pillar --------------------------------------------------------- + +class PillarHugeTech : Actor +{ + Default + { + Radius 24; + Height 192; + +SOLID + } + States + { + Spawn: + HUGE ABCD 4; + Loop; + } +} + +// Alien Power Crystal in a Pillar ------------------------------------------ + +class PillarAlienPower : Actor +{ + Default + { + Radius 24; + Height 192; + +SOLID + ActiveSound "ambient/alien2"; + } + States + { + Spawn: + APOW A 4 A_LoopActiveSound; + Loop; + } +} + +// SStalactiteBig ----------------------------------------------------------- + +class SStalactiteBig : Actor +{ + Default + { + Radius 16; + Height 54; + +SOLID +SPAWNCEILING +NOGRAVITY + } + States + { + Spawn: + STLG C -1; + Stop; + } +} + +// SStalactiteSmall --------------------------------------------------------- + +class SStalactiteSmall : Actor +{ + Default + { + Radius 16; + Height 40; + +SOLID +SPAWNCEILING +NOGRAVITY + } + States + { + Spawn: + STLG A -1; + Stop; + } +} + +// SStalagmiteBig ----------------------------------------------------------- + +class SStalagmiteBig : Actor +{ + Default + { + Radius 16; + Height 40; + +SOLID + } + States + { + Spawn: + STLG B -1; + Stop; + } +} + +// Cave Pillar Top ---------------------------------------------------------- + +class CavePillarTop : Actor +{ + Default + { + Radius 16; + Height 128; + +SOLID +SPAWNCEILING +NOGRAVITY + } + States + { + Spawn: + STLG D -1; + Stop; + } +} + +// Cave Pillar Bottom ------------------------------------------------------- + +class CavePillarBottom : Actor +{ + Default + { + Radius 16; + Height 128; + +SOLID + } + States + { + Spawn: + STLG E -1; + Stop; + } +} + +// SStalagmiteSmall --------------------------------------------------------- + +class SStalagmiteSmall : Actor +{ + Default + { + Radius 16; + Height 25; + +SOLID + } + States + { + Spawn: + STLG F -1; + Stop; + } +} + +// Candle ------------------------------------------------------------------- + +class Candle : Actor +{ + States + { + Spawn: + KNDL A -1 Bright; + Stop; + } +} + +// StrifeCandelabra --------------------------------------------------------- + +class StrifeCandelabra : Actor +{ + Default + { + Radius 16; + Height 40; + +SOLID + } + States + { + Spawn: + CLBR A -1; + Stop; + } +} + +// Floor Water Drop --------------------------------------------------------- + +class WaterDropOnFloor : Actor +{ + Default + { + +NOBLOCKMAP + ActiveSound "world/waterdrip"; + } + States + { + Spawn: + DRIP A 6 A_FLoopActiveSound; + DRIP BC 4; + DRIP D 4 A_FLoopActiveSound; + DRIP EF 4; + DRIP G 4 A_FLoopActiveSound; + DRIP H 4; + Loop; + } +} + +// Waterfall Splash --------------------------------------------------------- + +class WaterfallSplash : Actor +{ + Default + { + +NOBLOCKMAP + ActiveSound "world/waterfall"; + } + States + { + Spawn: + SPLH ABCDEFG 4; + SPLH H 4 A_LoopActiveSound; + Loop; + } +} + +// Ceiling Water Drip ------------------------------------------------------- + +class WaterDrip : Actor +{ + Default + { + Height 1; + +NOBLOCKMAP +SPAWNCEILING +NOGRAVITY + } + States + { + Spawn: + CDRP A 10; + CDRP BCD 8; + Loop; + } +} + +// WaterFountain ------------------------------------------------------------ + +class WaterFountain : Actor +{ + Default + { + +NOBLOCKMAP + ActiveSound "world/watersplash"; + } + States + { + Spawn: + WTFT ABC 4; + WTFT D 4 A_LoopActiveSound; + Loop; + } +} + +// Hearts in Tank ----------------------------------------------------------- + +class HeartsInTank : Actor +{ + Default + { + Radius 16; + Height 56; + +SOLID + } + States + { + Spawn: + HERT ABC 4 Bright; + Loop; + } +} + +// Teleport Swirl ----------------------------------------------------------- + +class TeleportSwirl : Actor +{ + Default + { + +NOBLOCKMAP + RenderStyle "Add"; + Alpha 0.25; + } + States + { + Spawn: + TELP ABCD 3 Bright; + Loop; + } +} + +// Dead Player -------------------------------------------------------------- +// Strife's disappeared. This one doesn't. + +class DeadStrifePlayer : Actor +{ + States + { + Spawn: + PLAY P 700; + RGIB H -1; + Stop; + } +} + +// Dead Peasant ------------------------------------------------------------- +// Unlike Strife's, this one does not turn into gibs and disappear. + +class DeadPeasant : Actor +{ + States + { + Spawn: + PEAS N -1; + Stop; + } +} + +// Dead Acolyte ------------------------------------------------------------- +// Unlike Strife's, this one does not turn into gibs and disappear. + +class DeadAcolyte : Actor +{ + States + { + Spawn: + AGRD N -1; + Stop; + } +} + +// Dead Reaver -------------------------------------------------------------- + +class DeadReaver : Actor +{ + States + { + Spawn: + ROB1 R -1; + Stop; + } +} + +// Dead Rebel --------------------------------------------------------------- + +class DeadRebel : Actor +{ + States + { + Spawn: + HMN1 N -1; + Stop; + } +} + +// Sacrificed Guy ----------------------------------------------------------- + +class SacrificedGuy : Actor +{ + States + { + Spawn: + SACR A -1; + Stop; + } +} + +// Pile of Guts ------------------------------------------------------------- + +class PileOfGuts : Actor +{ + // Strife used a doomednum, which is the same as the Aztec Pillar. Since + // the pillar came first in the mobjinfo list, you could not spawn this + // in a map. Pity. + States + { + Spawn: + DEAD A -1; + Stop; + } +} + +// Burning Barrel ----------------------------------------------------------- + +class StrifeBurningBarrel : Actor +{ + Default + { + Radius 16; + Height 48; + +SOLID + } + States + { + Spawn: + BBAR ABCD 4 Bright; + Loop; + } +} + +// Burning Bowl ----------------------------------------------------------- + +class BurningBowl : Actor +{ + Default + { + Radius 16; + Height 16; + +SOLID + ActiveSound "world/smallfire"; + } + States + { + Spawn: + BOWL ABCD 4 Bright; + Loop; + } +} + +// Burning Brazier ----------------------------------------------------------- + +class BurningBrazier : Actor +{ + Default + { + Radius 10; + Height 32; + +SOLID + ActiveSound "world/smallfire"; + } + States + { + Spawn: + BRAZ ABCD 4 Bright; + Loop; + } +} + +// Small Torch Lit -------------------------------------------------------- + +class SmallTorchLit : Actor +{ + Default + { + Radius 2.5; + Height 16; + +NOBLOCKMAP + +FIXMAPTHINGPOS + + // It doesn't have any action functions, so how does it use this sound? + ActiveSound "world/smallfire"; + } + States + { + Spawn: + TRHL ABCD 4 Bright; + Loop; + } +} + +// Small Torch Unlit -------------------------------------------------------- + +class SmallTorchUnlit : Actor +{ + Default + { + Radius 2.5; + Height 16; + +NOBLOCKMAP + +FIXMAPTHINGPOS + } + States + { + Spawn: + TRHO A -1; + Stop; + } +} + +// Ceiling Chain ------------------------------------------------------------ + +class CeilingChain : Actor +{ + Default + { + Radius 20; + Height 93; + +NOBLOCKMAP +SPAWNCEILING +NOGRAVITY + } + States + { + Spawn: + CHAN A -1; + Stop; + } +} + +// Cage Light --------------------------------------------------------------- + +class CageLight : Actor +{ + Default + { + // No, it's not bright even though it's a light. + Height 3; + +NOBLOCKMAP +SPAWNCEILING +NOGRAVITY + } + States + { + Spawn: + CAGE A -1; + Stop; + } +} + +// Statue ------------------------------------------------------------------- + +class Statue : Actor +{ + Default + { + Radius 20; + Height 64; + +SOLID + } + States + { + Spawn: + STAT A -1; + Stop; + } +} + +// Ruined Statue ------------------------------------------------------------ + +class StatueRuined : Actor +{ + Default + { + Radius 20; + Height 56; + +SOLID + } + States + { + Spawn: + DSTA A -1; + Stop; + } +} + +// Medium Torch ------------------------------------------------------------- + +class MediumTorch : Actor +{ + Default + { + Radius 4; + Height 72; + +SOLID + } + States + { + Spawn: + LTRH ABCD 4; + Loop; + } +} + +// Outside Lamp ------------------------------------------------------------- + +class OutsideLamp : Actor +{ + Default + { + // No, it's not bright. + Radius 3; + Height 80; + +SOLID + } + States + { + Spawn: + LAMP A -1; + Stop; + } +} + +// Pole Lantern ------------------------------------------------------------- + +class PoleLantern : Actor +{ + Default + { + // No, it's not bright. + Radius 3; + Height 80; + +SOLID + } + States + { + Spawn: + LANT A -1; + Stop; + } +} + +// Rock 1 ------------------------------------------------------------------- + +class SRock1 : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + ROK1 A -1; + Stop; + } +} + +// Rock 2 ------------------------------------------------------------------- + +class SRock2 : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + ROK2 A -1; + Stop; + } +} + +// Rock 3 ------------------------------------------------------------------- + +class SRock3 : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + ROK3 A -1; + Stop; + } +} + +// Rock 4 ------------------------------------------------------------------- + +class SRock4 : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + ROK4 A -1; + Stop; + } +} + +// Stick in Water ----------------------------------------------------------- + +class StickInWater : Actor +{ + Default + { + +NOBLOCKMAP + +FLOORCLIP + ActiveSound "world/river"; + } + States + { + Spawn: + LOGW ABCD 5 A_LoopActiveSound; + Loop; + } +} + +// Rubble 1 ----------------------------------------------------------------- + +class Rubble1 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB1 A -1; + Stop; + } +} + +// Rubble 2 ----------------------------------------------------------------- + +class Rubble2 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB2 A -1; + Stop; + } +} + +// Rubble 3 ----------------------------------------------------------------- + +class Rubble3 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB3 A -1; + Stop; + } +} + +// Rubble 4 ----------------------------------------------------------------- + +class Rubble4 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB4 A -1; + Stop; + } +} + +// Rubble 5 ----------------------------------------------------------------- + +class Rubble5 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB5 A -1; + Stop; + } +} + +// Rubble 6 ----------------------------------------------------------------- + +class Rubble6 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB6 A -1; + Stop; + } +} + +// Rubble 7 ----------------------------------------------------------------- + +class Rubble7 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB7 A -1; + Stop; + } +} + +// Rubble 8 ----------------------------------------------------------------- + +class Rubble8 : Actor +{ + Default + { + +NOBLOCKMAP +NOCLIP + } + States + { + Spawn: + RUB8 A -1; + Stop; + } +} + +// Surgery Crab ------------------------------------------------------------- + +class SurgeryCrab : Actor +{ + Default + { + +SOLID +SPAWNCEILING +NOGRAVITY + Radius 20; + Height 16; + } + States + { + Spawn: + CRAB A -1; + Stop; + } +} + +// Large Torch -------------------------------------------------------------- + +class LargeTorch : Actor +{ + Default + { + Radius 10; + Height 72; + +SOLID + ActiveSound "world/smallfire"; + } + States + { + Spawn: + LMPC ABCD 4 Bright; + Loop; + } +} + +// Huge Torch -------------------------------------------------------------- + +class HugeTorch : Actor +{ + Default + { + Radius 10; + Height 80; + +SOLID + ActiveSound "world/smallfire"; + } + States + { + Spawn: + LOGS ABCD 4; + Loop; + } +} + +// Palm Tree ---------------------------------------------------------------- + +class PalmTree : Actor +{ + Default + { + Radius 15; + Height 109; + +SOLID + } + States + { + Spawn: + TREE A -1; + Stop; + } +} + +// Big Tree ---------------------------------------------------------------- + +class BigTree2 : Actor +{ + Default + { + Radius 15; + Height 109; + +SOLID + } + States + { + Spawn: + TREE B -1; + Stop; + } +} + +// Potted Tree ---------------------------------------------------------------- + +class PottedTree : Actor +{ + Default + { + Radius 15; + Height 64; + +SOLID + } + States + { + Spawn: + TREE C -1; + Stop; + } +} + +// Tree Stub ---------------------------------------------------------------- + +class TreeStub : Actor +{ + Default + { + Radius 15; + Height 80; + +SOLID + } + States + { + Spawn: + TRET A -1; + Stop; + } +} + +// Short Bush --------------------------------------------------------------- + +class ShortBush : Actor +{ + Default + { + Radius 15; + Height 40; + +SOLID + } + States + { + Spawn: + BUSH A -1; + Stop; + } +} + +// Tall Bush --------------------------------------------------------------- + +class TallBush : Actor +{ + Default + { + Radius 20; + Height 64; + +SOLID + } + States + { + Spawn: + SHRB A -1; + Stop; + } +} + +// Chimney Stack ------------------------------------------------------------ + +class ChimneyStack : Actor +{ + Default + { + Radius 20; + Height 64; // This height does not fit the sprite + +SOLID + } + States + { + Spawn: + STAK A -1; + Stop; + } +} + +// Barricade Column --------------------------------------------------------- + +class BarricadeColumn : Actor +{ + Default + { + Radius 16; + Height 128; + +SOLID + } + States + { + Spawn: + BARC A -1; + Stop; + } +} + +// Pot ---------------------------------------------------------------------- + +class Pot : Actor +{ + Default + { + Radius 12; + Height 24; + +SOLID + } + States + { + Spawn: + VAZE A -1; + Stop; + } +} + +// Pitcher ------------------------------------------------------------------ + +class Pitcher : Actor +{ + Default + { + Radius 12; + Height 32; + +SOLID + } + States + { + Spawn: + VAZE B -1; + Stop; + } +} + +// Stool -------------------------------------------------------------------- + +class Stool : Actor +{ + Default + { + Radius 6; + Height 24; + +SOLID + } + States + { + Spawn: + STOL A -1; + Stop; + } +} + +// Metal Pot ---------------------------------------------------------------- + +class MetalPot : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + MPOT A -1; + Stop; + } +} + +// Tub ---------------------------------------------------------------------- + +class Tub : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + TUB1 A -1; + Stop; + } +} + +// Anvil -------------------------------------------------------------------- + +class Anvil : Actor +{ + Default + { + Radius 16; + Height 32; + +SOLID + } + States + { + Spawn: + ANVL A -1; + Stop; + } +} + +// Silver Tech Lamp ---------------------------------------------------------- + +class TechLampSilver : Actor +{ + Default + { + Radius 11; + Height 64; + +SOLID + } + States + { + Spawn: + TECH A -1; + Stop; + } +} + +// Brass Tech Lamp ---------------------------------------------------------- + +class TechLampBrass : Actor +{ + Default + { + Radius 8; + Height 64; + +SOLID + } + States + { + Spawn: + TECH B -1; + Stop; + } +} + +// Tray -------------------------------------------------------------------- + +class Tray : Actor +{ + Default + { + Radius 24; + Height 40; + +SOLID + } + States + { + Spawn: + TRAY A -1; + Stop; + } +} + +// AmmoFiller --------------------------------------------------------------- + +class AmmoFiller : Actor +{ + Default + { + Radius 12; + Height 24; + +SOLID + } + States + { + Spawn: + AFED A -1; + Stop; + } +} + +// Sigil Banner ------------------------------------------------------------- + +class SigilBanner : Actor +{ + Default + { + Radius 24; + Height 96; + +NOBLOCKMAP // I take it this was once solid, yes? + } + States + { + Spawn: + SBAN A -1; + Stop; + } +} + +// RebelBoots --------------------------------------------------------------- + +class RebelBoots : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + BOTR A -1; + Stop; + } +} + +// RebelHelmet -------------------------------------------------------------- + +class RebelHelmet : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + HATR A -1; + Stop; + } +} + +// RebelShirt --------------------------------------------------------------- + +class RebelShirt : Actor +{ + Default + { + +NOBLOCKMAP + } + States + { + Spawn: + TOPR A -1; + Stop; + } +} + +// Alien Bubble Column ------------------------------------------------------ + +class AlienBubbleColumn : Actor +{ + Default + { + Radius 16; + Height 128; + +SOLID + ActiveSound "ambient/alien5"; + } + States + { + Spawn: + BUBB A 4 A_LoopActiveSound; + Loop; + } +} + +// Alien Floor Bubble ------------------------------------------------------- + +class AlienFloorBubble : Actor +{ + Default + { + Radius 16; + Height 72; + +SOLID + ActiveSound "ambient/alien6"; + } + States + { + Spawn: + BUBF A 4 A_LoopActiveSound; + Loop; + } +} + +// Alien Ceiling Bubble ----------------------------------------------------- + +class AlienCeilingBubble : Actor +{ + Default + { + Radius 16; + Height 72; + +SOLID +SPAWNCEILING +NOGRAVITY + ActiveSound "ambient/alien4"; + } + States + { + Spawn: + BUBC A 4 A_LoopActiveSound; + Loop; + } +} + +// Alien Asp Climber -------------------------------------------------------- + +class AlienAspClimber : Actor +{ + Default + { + Radius 16; + Height 128; + +SOLID + ActiveSound "ambient/alien3"; + } + States + { + Spawn: + ASPR A 4 A_LoopActiveSound; + Loop; + } +} + +// Alien Spider Light ------------------------------------------------------- + +class AlienSpiderLight : Actor +{ + Default + { + Radius 32; + Height 56; + +SOLID + ActiveSound "ambient/alien1"; + } + States + { + Spawn: + SPDL ABC 5 A_LoopActiveSound; + Loop; + } +} + +// Target Practice ----------------------------------------------------------- + +class TargetPractice : Actor +{ + Default + { + Health 99999999; + PainChance 255; + Radius 10; + Height 72; + Mass 9999999; + +SOLID +SHOOTABLE +NOBLOOD + +INCOMBAT +NODAMAGE + PainSound "misc/metalhit"; + } + States + { + Spawn: + HOGN A 2 A_CheckTerrain; + Loop; + Pain: + HOGN B 1 A_CheckTerrain; + HOGN C 1 A_Pain; + Goto Spawn; + } +} + +// Force Field Guard -------------------------------------------------------- + +class ForceFieldGuard : Actor native +{ + Default + { + Health 10; + Radius 2; + Height 1; + Mass 10000; + +SHOOTABLE + +NOSECTOR + +NOBLOOD + +INCOMBAT + } + States + { + Spawn: + TNT1 A -1; + Stop; + Death: + TNT1 A 1 A_RemoveForceField; + Stop; + } +} + +// Kneeling Guy ------------------------------------------------------------- + +class KneelingGuy : Actor +{ + Default + { + Health 51; + Painchance 255; + Radius 6; + Height 17; + Mass 50000; + +SOLID + +SHOOTABLE + +NOBLOOD + +ISMONSTER + +INCOMBAT + PainSound "misc/static"; + DeathSound "misc/static"; + ActiveSound "misc/chant"; + } + States + { + Spawn: + See: + NEAL A 15 A_LoopActiveSound; + NEAL B 40 A_LoopActiveSound; + Loop; + Pain: + NEAL C 5 A_SetShadow; + NEAL B 4 A_Pain; + NEAL C 5 A_ClearShadow; + Goto Spawn; + Wound: + NEAL B 6; + NEAL C 13 A_GetHurt; + Loop; + Death: + NEAL D 5; + NEAL E 5 A_Scream; + NEAL F 6; + NEAL G 5 A_NoBlocking; + NEAL H 5; + NEAL I 6; + NEAL J -1; + Stop; + } + + +} + +// Klaxon Warning Light ----------------------------------------------------- + +class KlaxonWarningLight : Actor +{ + Default + { + ReactionTime 60; + Radius 5; + +NOBLOCKMAP +AMBUSH + +SPAWNCEILING +NOGRAVITY + +FIXMAPTHINGPOS +NOSPLASHALERT + +SYNCHRONIZED + } + States + { + Spawn: + KLAX A 5 A_TurretLook; + Loop; + See: + KLAX B 6 A_KlaxonBlare; + KLAX C 60; + Loop; + } + +} + +// CeilingTurret ------------------------------------------------------------ + +class CeilingTurret : Actor +{ + Default + { + Health 125; + Speed 0; + Painchance 0; + Mass 10000000; + Monster; + -SOLID + -CANPASS + +AMBUSH + +SPAWNCEILING + +NOGRAVITY + +NOBLOOD + +NOSPLASHALERT + +DONTFALL + MinMissileChance 150; + DeathSound "turret/death"; + } + States + { + Spawn: + TURT A 5 A_TurretLook; + Loop; + See: + TURT A 2 A_Chase; + Loop; + Missile: + Pain: + TURT B 4 Slow A_ShootGun; + TURT D 3 Slow A_SentinelRefire; + TURT A 4 A_SentinelRefire; + Loop; + Death: + BALL A 6 Bright A_Scream; + BALL BCDE 6 Bright; + TURT C -1; + Stop; + } +} + + +// Power Coupling ----------------------------------------------------------- + +class PowerCoupling : Actor native +{ + Default + { + Health 40; + Radius 17; + Height 64; + Mass 999999; + +SOLID + +SHOOTABLE + +DROPPED + +NOBLOOD + +NOTDMATCH + +INCOMBAT + } + States + { + Spawn: + COUP AB 5; + Loop; + } +} + +// Gibs for things that bleed ----------------------------------------------- + +class Meat : Actor native +{ + Default + { + +NOCLIP + } + States + { + Spawn: + MEAT A 700; + Stop; + MEAT B 700; + Stop; + MEAT C 700; + Stop; + MEAT D 700; + Stop; + MEAT E 700; + Stop; + MEAT F 700; + Stop; + MEAT G 700; + Stop; + MEAT H 700; + Stop; + MEAT I 700; + Stop; + MEAT J 700; + Stop; + MEAT K 700; + Stop; + MEAT L 700; + Stop; + MEAT M 700; + Stop; + MEAT N 700; + Stop; + MEAT O 700; + Stop; + MEAT P 700; + Stop; + MEAT Q 700; + Stop; + MEAT R 700; + Stop; + MEAT S 700; + Stop; + MEAT T 700; + Stop; + } +} + +// Gibs for things that don't bleed ----------------------------------------- + +class Junk : Meat +{ + States + { + Spawn: + JUNK A 700; + Stop; + JUNK B 700; + Stop; + JUNK C 700; + Stop; + JUNK D 700; + Stop; + JUNK E 700; + Stop; + JUNK F 700; + Stop; + JUNK G 700; + Stop; + JUNK H 700; + Stop; + JUNK I 700; + Stop; + JUNK J 700; + Stop; + JUNK K 700; + Stop; + JUNK L 700; + Stop; + JUNK M 700; + Stop; + JUNK N 700; + Stop; + JUNK O 700; + Stop; + JUNK P 700; + Stop; + JUNK Q 700; + Stop; + JUNK R 700; + Stop; + JUNK S 700; + Stop; + JUNK T 700; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/strifeweapons.txt b/wadsrc/static/zscript/strife/strifeweapons.txt new file mode 100644 index 000000000..4ae358bfa --- /dev/null +++ b/wadsrc/static/zscript/strife/strifeweapons.txt @@ -0,0 +1,891 @@ + +class StrifeWeapon : Weapon +{ + Default + { + Weapon.Kickback 100; + } +} + +// Same as the bullet puff for Doom ----------------------------------------- + +class StrifePuff : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + +ALLOWPARTICLES + RenderStyle "Translucent"; + Alpha 0.25; + } + + States + { + Spawn: + POW3 ABCDEFGH 3; + Stop; + Crash: + PUFY A 4 Bright; + PUFY BCD 4; + Stop; + } +} + + +// A spark when you hit something that doesn't bleed ------------------------ +// Only used by the dagger. + +class StrifeSpark : StrifePuff +{ + Default + { + RenderStyle "Add"; + } + States + { + Crash: + POW2 ABCD 4; + Stop; + } +} + +// Punch Dagger ------------------------------------------------------------- + +class PunchDagger : StrifeWeapon +{ + Default + { + Weapon.SelectionOrder 3900; + +WEAPON.NOALERT + Obituary "$OB_MPPUNCHDAGGER"; + Tag "$TAG_PUNCHDAGGER"; + } + + action native void A_JabDagger (); + + States + { + Ready: + PNCH A 1 A_WeaponReady; + Loop; + Deselect: + PNCH A 1 A_Lower; + Loop; + Select: + PNCH A 1 A_Raise; + Loop; + Fire: + PNCH B 4; + PNCH C 4 A_JabDagger; + PNCH D 5; + PNCH C 4; + PNCH B 5 A_ReFire; + Goto Ready; + } + +} + + +// The base for Strife projectiles that die with ZAP1 ----------------------- + +class StrifeZap1 : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + +DROPOFF + } + States + { + Spawn: + Death: + ZAP1 A 3 A_AlertMonsters; + ZAP1 BCDEFE 3; + ZAP1 DCB 2; + ZAP1 A 1; + Stop; + } +} + + +// Electric Bolt ------------------------------------------------------------ + +class ElectricBolt : StrifeZap1 +{ + Default + { + Speed 30; + Radius 10; + Height 10; + Damage 10; + Projectile; + +STRIFEDAMAGE + MaxStepHeight 4; + SeeSound "misc/swish"; + ActiveSound "misc/swish"; + DeathSound "weapons/xbowhit"; + Obituary "$OB_MPELECTRICBOLT"; + } + States + { + Spawn: + AROW A 10 A_LoopActiveSound; + Loop; + } +} + + +// Poison Bolt -------------------------------------------------------------- + +class PoisonBolt : Actor native +{ + Default + { + Speed 30; + Radius 10; + Height 10; + Damage 500; + Projectile; + +STRIFEDAMAGE + MaxStepHeight 4; + SeeSound "misc/swish"; + ActiveSound "misc/swish"; + Obituary "$OB_MPPOISONBOLT"; + } + States + { + Spawn: + ARWP A 10 A_LoopActiveSound; + Loop; + Death: + AROW A 1; + Stop; + } +} + + +// Strife's Crossbow -------------------------------------------------------- + +class StrifeCrossbow : StrifeWeapon +{ + Default + { + +FLOORCLIP + Weapon.SelectionOrder 1200; + +WEAPON.NOALERT + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 8; + Weapon.AmmoType1 "ElectricBolts"; + Weapon.SisterWeapon "StrifeCrossbow2"; + Inventory.PickupMessage "$TXT_STRIFECROSSBOW"; + Tag "$TAG_STRIFECROSSBOW1"; + Inventory.Icon "CBOWA0"; + } + + action native void A_ClearFlash (); + action native void A_ShowElectricFlash (); + action native void A_FireArrow (class proj); + + States + { + Spawn: + CBOW A -1; + Stop; + Ready: + XBOW A 0 A_ShowElectricFlash; + XBOW A 1 A_WeaponReady; + Wait; + Deselect: + XBOW A 1 A_Lower; + Loop; + Select: + XBOW A 1 A_Raise; + Loop; + Fire: + XBOW A 3 A_ClearFlash; + XBOW B 6 A_FireArrow("ElectricBolt"); + XBOW C 4; + XBOW D 6; + XBOW E 3; + XBOW F 5; + XBOW G 0 A_ShowElectricFlash; + XBOW G 5 A_CheckReload; + Goto Ready+1; + Flash: + XBOW KLM 5; + Loop; + } +} + + +class StrifeCrossbow2 : StrifeCrossbow +{ + Default + { + Weapon.SelectionOrder 2700; + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 0; + Weapon.AmmoType1 "PoisonBolts"; + Weapon.SisterWeapon "StrifeCrossbow"; + Tag "$TAG_STRIFECROSSBOW2"; + } + States + { + Ready: + XBOW H 1 A_WeaponReady; + Loop; + Deselect: + XBOW H 1 A_Lower; + Loop; + Select: + XBOW H 1 A_Raise; + Loop; + Fire: + XBOW H 3; + XBOW B 6 A_FireArrow("PoisonBolt"); + XBOW C 4; + XBOW D 6; + XBOW E 3; + XBOW I 5; + XBOW J 5 A_CheckReload; + Goto Ready; + Flash: + Stop; + } +} + +// Assault Gun -------------------------------------------------------------- + +class AssaultGun : StrifeWeapon +{ + Default + { + +FLOORCLIP + Weapon.SelectionOrder 600; + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 20; + Weapon.AmmoType1 "ClipOfBullets"; + Inventory.Icon "RIFLA0"; + Tag "$TAG_ASSAULTGUN"; + Inventory.PickupMessage "$TXT_ASSAULTGUN"; + Obituary "$OB_MPASSAULTGUN"; + } + States + { + Spawn: + RIFL A -1; + Stop; + Ready: + RIFG A 1 A_WeaponReady; + Loop; + Deselect: + RIFG B 1 A_Lower; + Loop; + Select: + RIFG A 1 A_Raise; + Loop; + Fire: + RIFF AB 3 A_FireAssaultGun; + RIFG D 3 A_FireAssaultGun; + RIFG C 0 A_ReFire; + RIFG B 2 A_Light0; + Goto Ready; + } +} + + +// Standing variant of the assault gun -------------------------------------- + +class AssaultGunStanding : WeaponGiver +{ + Default + { + DropItem "AssaultGun"; + Inventory.PickupMessage "$TXT_ASSAULTGUN"; + } + States + { + Spawn: + RIFL B -1; + Stop; + } +} + + +// Mini-Missile Launcher ---------------------------------------------------- + + +class MiniMissileLauncher : StrifeWeapon +{ + Default + { + +FLOORCLIP + Weapon.SelectionOrder 1800; + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 8; + Weapon.AmmoType1 "MiniMissiles"; + Inventory.Icon "MMSLA0"; + Tag "$TAG_MMLAUNCHER"; + Inventory.PickupMessage "$TXT_MMLAUNCHER"; + } + + action native void A_FireMiniMissile (); + + States + { + Spawn: + MMSL A -1; + Stop; + Ready: + MMIS A 1 A_WeaponReady; + Loop; + Deselect: + MMIS A 1 A_Lower; + Loop; + Select: + MMIS A 1 A_Raise; + Loop; + Fire: + MMIS A 4 A_FireMiniMissile; + MMIS B 4 A_Light1; + MMIS C 5 Bright; + MMIS D 2 Bright A_Light2; + MMIS E 2 Bright; + MMIS F 2 Bright A_Light0; + MMIS F 0 A_ReFire; + Goto Ready; + } +} + + +// Rocket Trail ------------------------------------------------------------- + +class RocketTrail : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + RenderStyle "Translucent"; + Alpha 0.25; + SeeSound "misc/missileinflight"; + } + States + { + Spawn: + PUFY BCBCD 4; + Stop; + } +} + +// Rocket Puff -------------------------------------------------------------- + +class MiniMissilePuff : StrifePuff +{ + Default + { + -ALLOWPARTICLES + } + States + { + Spawn: + Goto Crash; + } +} + +// Mini Missile ------------------------------------------------------------- + +class MiniMissile : Actor +{ + Default + { + Speed 20; + Radius 10; + Height 14; + Damage 10; + Projectile; + +STRIFEDAMAGE + MaxStepHeight 4; + SeeSound "weapons/minimissile"; + DeathSound "weapons/minimissilehit"; + Obituary "$OB_MPMINIMISSILELAUNCHER"; + } + States + { + Spawn: + MICR A 6 Bright A_RocketInFlight; + Loop; + Death: + SMIS A 0 Bright A_SetTranslucent(1,1); + SMIS A 5 Bright A_Explode(64,64,1,1); + SMIS B 5 Bright; + SMIS C 4 Bright; + SMIS DEFG 2 Bright; + Stop; + } +} + +// Flame Thrower ------------------------------------------------------------ + +class FlameThrower : StrifeWeapon +{ + Default + { + +FLOORCLIP + Weapon.SelectionOrder 2100; + Weapon.Kickback 0; + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 100; + Weapon.UpSound "weapons/flameidle"; + Weapon.ReadySound "weapons/flameidle"; + Weapon.AmmoType1 "EnergyPod"; + Inventory.Icon "FLAMA0"; + Tag "$TAG_FLAMER"; + Inventory.PickupMessage "$TXT_FLAMER"; + } + + action native void A_FireFlamer (); + + States + { + Spawn: + FLAM A -1; + Stop; + Ready: + FLMT AB 3 A_WeaponReady; + Loop; + Deselect: + FLMT A 1 A_Lower; + Loop; + Select: + FLMT A 1 A_Raise; + Loop; + Fire: + FLMF A 2 A_FireFlamer; + FLMF B 3 A_ReFire; + Goto Ready; + } +} + + +// Flame Thrower Projectile ------------------------------------------------- + +class FlameMissile : Actor +{ + Default + { + Speed 15; + Height 11; + Radius 8; + Mass 10; + Damage 4; + DamageType "Fire"; + ReactionTime 8; + Projectile; + -NOGRAVITY + +STRIFEDAMAGE + MaxStepHeight 4; + RenderStyle "Add"; + SeeSound "weapons/flamethrower"; + Obituary "$OB_MPFLAMETHROWER"; + } + + action native void A_FlameDie (); + + States + { + Spawn: + FRBL AB 3 Bright; + FRBL C 3 Bright A_Countdown; + Loop; + Death: + FRBL D 5 Bright A_FlameDie; + FRBL EFGHI 5 Bright; + Stop; + } + +} + + +// Mauler ------------------------------------------------------------------- +// The scatter version + +class Mauler : StrifeWeapon +{ + Default + { + +FLOORCLIP + Weapon.SelectionOrder 300; + Weapon.AmmoUse1 20; + Weapon.AmmoGive1 40; + Weapon.AmmoType1 "EnergyPod"; + Weapon.SisterWeapon "Mauler2"; + Inventory.Icon "TRPDA0"; + Tag "$TAG_MAULER1"; + Inventory.PickupMessage "$TXT_MAULER"; + Obituary "$OB_MPMAULER1"; + } + + action native void A_FireMauler1 (); + + States + { + Ready: + MAUL FGHA 6 A_WeaponReady; + Loop; + Deselect: + MAUL A 1 A_Lower; + Loop; + Select: + MAUL A 1 A_Raise; + Loop; + Fire: + BLSF A 5 Bright A_FireMauler1; + MAUL B 3 Bright A_Light1; + MAUL C 2 A_Light2; + MAUL DE 2; + MAUL A 7 A_Light0; + MAUL H 7; + MAUL G 7 A_CheckReload; + Goto Ready; + Spawn: + TRPD A -1; + Stop; + } +} + + +// Mauler Torpedo version --------------------------------------------------- + +class Mauler2 : Mauler +{ + Default + { + Weapon.SelectionOrder 3300; + Weapon.AmmoUse1 30; + Weapon.AmmoGive1 0; + Weapon.AmmoType1 "EnergyPod"; + Weapon.SisterWeapon "Mauler"; + Tag "$TAG_MAULER2"; + } + + action native void A_FireMauler2Pre (); + action native void A_FireMauler2 (); + + States + { + Ready: + MAUL IJKL 7 A_WeaponReady; + Loop; + Deselect: + MAUL I 1 A_Lower; + Loop; + Select: + MAUL I 1 A_Raise; + Loop; + Fire: + MAUL I 20 A_FireMauler2Pre; + MAUL J 10 A_Light1; + BLSF A 10 Bright A_FireMauler2; + MAUL B 10 Bright A_Light2; + MAUL C 2; + MAUL D 2 A_Light0; + MAUL E 2 A_ReFire; + Goto Ready; + } +} + + +// Mauler "Bullet" Puff ----------------------------------------------------- + +class MaulerPuff : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + +PUFFONACTORS + RenderStyle "Add"; + DamageType "Disintegrate"; + } + States + { + Spawn: + MPUF AB 5; + POW1 ABCDE 4; + Stop; + } +} + +// The Mauler's Torpedo ----------------------------------------------------- + +class MaulerTorpedo : Actor +{ + Default + { + Speed 20; + Height 8; + Radius 13; + Damage 1; + DamageType "Disintegrate"; + Projectile; + +STRIFEDAMAGE + MaxStepHeight 4; + RenderStyle "Add"; + SeeSound "weapons/mauler2fire"; + DeathSound "weapons/mauler2hit"; + Obituary "$OB_MPMAULER"; + } + + action native void A_MaulerTorpedoWave (); + + States + { + Spawn: + TORP ABCD 4 Bright; + Loop; + Death: + THIT AB 8 Bright; + THIT C 8 Bright A_MaulerTorpedoWave; + THIT DE 8 Bright; + Stop; + } +} + + +// The mini torpedoes shot by the big torpedo -------------------------------- + +class MaulerTorpedoWave : Actor +{ + Default + { + Speed 35; + Radius 13; + Height 13; + Damage 10; + DamageType "Disintegrate"; + Projectile; + +STRIFEDAMAGE + MaxStepHeight 4; + RenderStyle "Add"; + Obituary "$OB_MPMAULER"; + } + States + { + Spawn: + TWAV AB 9 Bright; + Death: + TWAV C 9 Bright; + Stop; + } +} + + +// High-Explosive Grenade --------------------------------------------------- + +class HEGrenade : Actor +{ + Default + { + Speed 15; + Radius 13; + Height 13; + Mass 20; + Damage 1; + Reactiontime 30; + Projectile; + -NOGRAVITY + +STRIFEDAMAGE + +BOUNCEONACTORS + +EXPLODEONWATER + MaxStepHeight 4; + BounceType "Doom"; + BounceFactor 0.5; + BounceCount 2; + SeeSound "weapons/hegrenadeshoot"; + DeathSound "weapons/hegrenadebang"; + Obituary "$OB_MPSTRIFEGRENADE"; + } + States + { + Spawn: + GRAP AB 3 A_Countdown; + Loop; + Death: + BNG4 A 0 Bright A_NoGravity; + BNG4 A 0 Bright A_SetTranslucent(1,1); + BNG4 A 2 Bright A_Explode(192,192,1,1); + BNG4 BCDEFGHIJKLMN 3 Bright; + Stop; + } +} + +// White Phosphorous Grenade ------------------------------------------------ + +class PhosphorousGrenade : Actor +{ + Default + { + Speed 15; + Radius 13; + Height 13; + Mass 20; + Damage 1; + Reactiontime 40; + Projectile; + -NOGRAVITY + +STRIFEDAMAGE + +BOUNCEONACTORS + +EXPLODEONWATER + BounceType "Doom"; + MaxStepHeight 4; + BounceFactor 0.5; + BounceCount 2; + SeeSound "weapons/phgrenadeshoot"; + DeathSound "weapons/phgrenadebang"; + Obituary "$OB_MPPHOSPHOROUSGRENADE"; + } + States + { + Spawn: + GRIN AB 3 A_Countdown; + Loop; + Death: + BNG3 A 2 A_SpawnItemEx("PhosphorousFire"); + Stop; + } +} + +// Fire from the Phoshorous Grenade ----------------------------------------- + +class PhosphorousFire : Actor native +{ + Default + { + Reactiontime 120; + DamageType "Fire"; + +NOBLOCKMAP + +FLOORCLIP + +NOTELEPORT + +NODAMAGETHRUST + +DONTSPLASH + RenderStyle "Add"; + Obituary "$OB_MPPHOSPHOROUSGRENADE"; + } + + action native void A_Burnarea (); + action native void A_Burnination (); + + States + { + Spawn: + BNG3 B 2 Bright A_Burnarea; + BNG3 C 2 Bright A_Countdown; + FLBE A 2 Bright A_Burnination; + FLBE B 2 Bright A_Countdown; + FLBE C 2 Bright A_Burnarea; + FLBE D 3 Bright A_Countdown; + FLBE E 3 Bright A_Burnarea; + FLBE F 3 Bright A_Countdown; + FLBE G 3 Bright A_Burnination; + Goto Spawn+5; + Death: + FLBE H 2 Bright; + FLBE I 2 Bright A_Burnination; + FLBE JK 2 Bright; + Stop; + } +} + +// High-Explosive Grenade Launcher ------------------------------------------ + +class StrifeGrenadeLauncher : StrifeWeapon +{ + Default + { + +FLOORCLIP + Weapon.SelectionOrder 2400; + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 12; + Weapon.AmmoType1 "HEGrenadeRounds"; + Weapon.SisterWeapon "StrifeGrenadeLauncher2"; + Inventory.Icon "GRNDA0"; + Tag "$TAG_GLAUNCHER1"; + Inventory.PickupMessage "$TXT_GLAUNCHER"; + } + + action native void A_FireGrenade (class grenadetype, float angleofs, state flash); + + States + { + Spawn: + GRND A -1; + Stop; + Ready: + GREN A 1 A_WeaponReady; + Loop; + Deselect: + GREN A 1 A_Lower; + Loop; + Select: + GREN A 1 A_Raise; + Loop; + Fire: + GREN A 5 A_FireGrenade("HEGrenade", -90, "Flash"); + GREN B 10; + GREN A 5 A_FireGrenade("HEGrenade", 90, "Flash2"); + GREN C 10; + GREN A 0 A_ReFire; + Goto Ready; + Flash: + GREF A 5 Bright A_Light1; + Goto LightDone; + Flash2: + GREF B 5 Bright A_Light2; + Goto LightDone; + } + +} + +// White Phosphorous Grenade Launcher --------------------------------------- + +class StrifeGrenadeLauncher2 : StrifeGrenadeLauncher +{ + Default + { + Weapon.SelectionOrder 3200; + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 0; + Weapon.AmmoType1 "PhosphorusGrenadeRounds"; + Weapon.SisterWeapon "StrifeGrenadeLauncher"; + Tag "$TAG_GLAUNCHER2"; + } + States + { + Ready: + GREN D 1 A_WeaponReady; + Loop; + Deselect: + GREN D 1 A_Lower; + Loop; + Select: + GREN D 1 A_Raise; + Loop; + Fire: + GREN D 5 A_FireGrenade("PhosphorousGrenade", -90, "Flash"); + GREN E 10; + GREN D 5 A_FireGrenade("PhosphorousGrenade", 90, "Flash2"); + GREN F 10; + GREN A 0 A_ReFire; + Goto Ready; + Flash: + GREF C 5 Bright A_Light1; + Goto LightDone; + Flash2: + GREF D 5 Bright A_Light2; + Goto LightDone; + } +} + diff --git a/wadsrc/static/zscript/strife/templar.txt b/wadsrc/static/zscript/strife/templar.txt new file mode 100644 index 000000000..4c640fd54 --- /dev/null +++ b/wadsrc/static/zscript/strife/templar.txt @@ -0,0 +1,68 @@ + +class Templar : Actor +{ + Default + { + Health 300; + Painchance 100; + Speed 8; + Radius 20; + Height 60; + Mass 500; + Monster; + +NOBLOOD + +SEESDAGGERS + +NOSPLASHALERT + MaxdropoffHeight 32; + MinMissileChance 200; + SeeSound "templar/sight"; + PainSound "templar/pain"; + DeathSound "templar/death"; + ActiveSound "templar/active"; + CrushPainSound "misc/pcrush"; + Tag "$TAG_TEMPLAR"; + HitObituary "$OB_TEMPLARHIT"; + Obituary "$OB_TEMPLAR"; + DropItem "EnergyPod"; + } + action native void A_TemplarAttack(); + + States + { + Spawn: + PGRD A 5 A_Look2; + Loop; + PGRD B 10; + Loop; + PGRD C 10; + Loop; + PGRD B 10 A_Wander; + Loop; + See: + PGRD AABBCCDD 3 A_Chase; + Loop; + Melee: + PGRD E 8 A_FaceTarget; + PGRD F 8 A_CustomMeleeAttack(random[ReaverMelee](1,8)*3, "reaver/blade"); + Goto See; + Missile: + PGRD G 8 BRIGHT A_FaceTarget; + PGRD H 8 BRIGHT A_TemplarAttack; + Goto See; + Pain: + PGRD A 2; + PGRD A 2 A_Pain; + Goto See; + Death: + PGRD I 4 A_TossGib; + PGRD J 4 A_Scream; + PGRD K 4 A_TossGib; + PGRD L 4 A_NoBlocking; + PGRD MN 4; + PGRD O 4 A_TossGib; + PGRD PQRSTUVWXYZ[ 4; + PGRD \ -1; + Stop; + } +} + diff --git a/wadsrc/static/zscript/strife/thingstoblowup.txt b/wadsrc/static/zscript/strife/thingstoblowup.txt new file mode 100644 index 000000000..659c13f56 --- /dev/null +++ b/wadsrc/static/zscript/strife/thingstoblowup.txt @@ -0,0 +1,153 @@ + + +// A Cloud used for varius explosions --------------------------------------- +// This actor has no direct equivalent in strife. To create this, Strife +// spawned a spark and then changed its state to that of this explosion +// cloud. Weird. + +class Bang4Cloud : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + RenderStyle "Add"; + VSpeed 1; + } + States + { + Spawn: + BNG4 BCDEFGHIJKLMN 3 Bright; + Stop; + } +} + +// Piston ------------------------------------------------------------------- + +class Piston : Actor +{ + Default + { + Health 100; + Speed 16; + Radius 20; + Height 76; + Mass 10000000; + +SOLID + +SHOOTABLE + +NOBLOOD + +FLOORCLIP + +INCOMBAT + DeathSound "misc/explosion"; + } + States + { + Spawn: + PSTN AB 8; + Loop; + Death: + PSTN A 4 Bright A_Scream; + PSTN B 4 Bright A_NoBlocking; + PSTN C 4 Bright A_GiveQuestItem(16); + PSTN D 4 Bright A_Bang4Cloud; + PSTN E 4 Bright A_TossGib; + PSTN F 4 Bright; + PSTN G 4 Bright A_Bang4Cloud; + PSTN H 4; + PSTN I -1; + Stop; + } + +} + +// Computer ----------------------------------------------------------------- + +class Computer : Actor +{ + Default + { + Health 80; + Speed 27; + Radius 26; + Height 128; + Mass 10000000; + +SOLID + +SHOOTABLE + +NOBLOOD + +FLOORCLIP + +INCOMBAT + DeathSound "misc/explosion"; + } + States + { + Spawn: + SECR ABCD 4 Bright; + Loop; + Death: + SECR E 5 Bright A_Bang4Cloud; + SECR F 5 Bright A_NoBlocking; + SECR G 5 Bright A_GiveQuestItem(27); + SECR H 5 Bright A_TossGib; + SECR I 5 Bright A_Bang4Cloud; + SECR J 5; + SECR K 5 A_Bang4Cloud; + SECR L 5; + SECR M 5 A_Bang4Cloud; + SECR N 5; + SECR O 5 A_Bang4Cloud; + SECR P -1; + Stop; + } +} + + +// Power Crystal ------------------------------------------------------------ + +class PowerCrystal : Actor +{ + Default + { + Health 50; + Speed 14; + Radius 20; + Height 16; + Mass 99999999; + +SOLID + +SHOOTABLE + +NOGRAVITY + +NOBLOOD + +FLOORCLIP + DeathSound "misc/explosion"; + ActiveSound "misc/reactor"; + } + + action native void A_ExtraLightOff (); + action native void A_Explode512 (); + action native void A_LightGoesOut (); + + States + { + Spawn: + CRYS A 16 A_LoopActiveSound; + CRYS B 5 A_LoopActiveSound; + CRYS CDEF 4 A_LoopActiveSound; + Loop; + Death: + BOOM A 0 Bright A_Scream; + BOOM A 1 Bright A_Explode512; + BOOM B 3 Bright A_GiveQuestItem(14); + BOOM C 2 Bright A_LightGoesOut; + BOOM D 3 Bright A_Bang4Cloud; + BOOM EF 3 Bright; + BOOM G 3 Bright A_Bang4Cloud; + BOOM H 1 Bright A_Explode512; + BOOM I 3 Bright; + BOOM JKL 3 Bright A_Bang4Cloud; + BOOM MN 3 Bright; + BOOM O 3 Bright A_Bang4Cloud; + BOOM PQRST 3 Bright; + BOOM U 3 Bright A_ExtraLightOff; + BOOM VWXY 3 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/strife/zombie.txt b/wadsrc/static/zscript/strife/zombie.txt new file mode 100644 index 000000000..c7a7cea59 --- /dev/null +++ b/wadsrc/static/zscript/strife/zombie.txt @@ -0,0 +1,64 @@ + +// Zombie ------------------------------------------------------------------- + +class Zombie : StrifeHumanoid +{ + Default + { + Health 31; + Radius 20; + Height 56; + PainChance 0; + +SOLID + +SHOOTABLE + +FLOORCLIP + +CANPASS + +CANPUSHWALLS + +ACTIVATEMCROSS + MinMissileChance 150; + MaxStepHeight 16; + MaxDropOffHeight 32; + Translation 0; + DeathSound "zombie/death"; + CrushPainSound "misc/pcrush"; + } + States + { + Spawn: + PEAS A 5 A_CheckTerrain; + Loop; + Pain: + AGRD A 5 A_CheckTerrain; + Loop; + Death: + GIBS M 5 A_TossGib; + GIBS N 5 A_XScream; + GIBS O 5 A_NoBlocking; + GIBS PQRST 4 A_TossGib; + GIBS U 5; + GIBS V -1; + Stop; + } +} + + +// Zombie Spawner ----------------------------------------------------------- + +class ZombieSpawner : Actor +{ + Default + { + Health 20; + +SHOOTABLE + +NOSECTOR + RenderStyle "None"; + ActiveSound "zombie/spawner"; // Does Strife use this somewhere else? + } + States + { + Spawn: + TNT1 A 175 A_SpawnItemEx("Zombie"); + Loop; + } +} +