- converted all Strife actors.

This commit is contained in:
Christoph Oelckers 2016-10-18 23:05:58 +02:00
parent 1bdc1ccb6c
commit 5643831ccc
67 changed files with 7718 additions and 6812 deletions

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
{
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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"
}

View file

@ -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
}
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
{
}

View file

@ -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
}
}

View file

@ -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
}
}

File diff suppressed because it is too large Load diff

View file

@ -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<Actor> 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<Actor> 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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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/chexmonsters.txt"
#include "actors/chex/chexkeys.txt" #include "actors/chex/chexkeys.txt"

View file

@ -135,3 +135,37 @@ zscript/hexen/serpent.txt
zscript/hexen/spike.txt zscript/hexen/spike.txt
zscript/hexen/wraith.txt zscript/hexen/wraith.txt
zscript/hexen/heresiarch.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

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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
{
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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";
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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
}
}

View file

@ -16,11 +16,11 @@
* 13 You've freed the prisoners! * 13 You've freed the prisoners!
* 14 You've Blown Up the Crystal * 14 You've Blown Up the Crystal
* 15 You got the guard uniform * 15 You got the guard uniform
* 16 You've Blown Up the Gates (/Piston) * 16 You've Blown Up the Gates (/Piston);
* 17 You watched the Sigil slideshow on map10 * 17 You watched the Sigil slideshow on map10;
* 18 You got the Oracle pass * 18 You got the Oracle pass
* 19 You met Quincy and talked to him about the Bishop * 19 You met Quincy and talked to him about the Bishop
* 20 * 20;
* 21 You Killed the Bishop! * 21 You Killed the Bishop!
* 22 The Oracle has told you to kill Macil * 22 The Oracle has told you to kill Macil
* 23 You've Killed The Oracle! * 23 You've Killed The Oracle!
@ -30,146 +30,155 @@
* 27 You've Blown Up the Computer * 27 You've Blown Up the Computer
* 28 You got the catacomb key * 28 You got the catacomb key
* 29 You destroyed the mind control device in the mines * 29 You destroyed the mind control device in the mines
* 30 * 30;
* 31 * 31;
*/ */
ACTOR QuestItem : Inventory class QuestItem : Inventory
{ {
States States
{ {
Spawn: Spawn:
TOKN A -1 TOKN A -1;
Stop Stop;
} }
} }
// Quest Items ------------------------------------------------------------- // 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
{ {
} }

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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
{
}

View file

@ -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;
}
}

View file

@ -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;
}
}

File diff suppressed because it is too large Load diff

View file

@ -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<Actor> 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<Actor> 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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}