gzdoom-gles/wadsrc/static/zscript/actors/strife/strifestuff.zs
alexey.lysiuk c7516a0fc5 - added ability to specify display duration of subtitles
Duration of sound playback and subtitles display will be synchronized if sound id is specified
For existing Strife messages this works out of the box

https://forum.zdoom.org/viewtopic.php?t=65379
2019-07-26 21:59:43 +02:00

1985 lines
25 KiB
Text

// Notes so I don't forget them:
//
// When shooting missiles at something, if MF_SHADOW is set, the angle is adjusted with the formula:
// angle += pr_spawnmissile.Random2() << 21
// When MF_STRIFEx4000000 is set, the angle is adjusted similarly:
// angle += pr_spawnmissile.Random2() << 22
// Note that these numbers are different from those used by all the other Doom engine games.
// Tank 1 Huge ------------------------------------------------------------
class Tank1 : Actor
{
Default
{
Radius 16;
Height 192;
+SOLID
}
States
{
Spawn:
TNK1 A 15;
TNK1 B 11;
TNK1 C 40;
Loop;
}
}
// Tank 2 Huge ------------------------------------------------------------
class Tank2 : Actor
{
Default
{
Radius 16;
Height 192;
+SOLID
}
States
{
Spawn:
TNK2 A 15;
TNK2 B 11;
TNK2 C 40;
Loop;
}
}
// Tank 3 Huge ------------------------------------------------------------
class Tank3 : Actor
{
Default
{
Radius 16;
Height 192;
+SOLID
}
States
{
Spawn:
TNK3 A 15;
TNK3 B 11;
TNK3 C 40;
Loop;
}
}
// Tank 4 -------------------------------------------------------------------
class Tank4 : Actor
{
Default
{
Radius 16;
Height 56;
+SOLID
}
States
{
Spawn:
TNK4 A 15;
TNK4 B 11;
TNK4 C 40;
Loop;
}
}
// Tank 5 -------------------------------------------------------------------
class Tank5 : Actor
{
Default
{
Radius 16;
Height 56;
+SOLID
}
States
{
Spawn:
TNK5 A 15;
TNK5 B 11;
TNK5 C 40;
Loop;
}
}
// Tank 6 -------------------------------------------------------------------
class Tank6 : Actor
{
Default
{
Radius 16;
Height 56;
+SOLID
}
States
{
Spawn:
TNK6 A 15;
TNK6 B 11;
TNK6 C 40;
Loop;
}
}
// Water Bottle -------------------------------------------------------------
class WaterBottle : Actor
{
States
{
Spawn:
WATR A -1;
Stop;
}
}
// Mug ----------------------------------------------------------------------
class Mug : Actor
{
States
{
Spawn:
MUGG A -1;
Stop;
}
}
// Wooden Barrel ------------------------------------------------------------
class WoodenBarrel : Actor
{
Default
{
Health 10;
Radius 10;
Height 32;
+SOLID +SHOOTABLE +NOBLOOD
+INCOMBAT
DeathSound "woodenbarrel/death";
}
States
{
Spawn:
BARW A -1;
Stop;
Death:
BARW B 2 A_Scream;
BARW C 2;
BARW D 2 A_NoBlocking;
BARW EFG 2;
BARW H -1;
Stop;
}
}
// Strife's explosive barrel ------------------------------------------------
class ExplosiveBarrel2 : Actor
{
Default
{
Health 30;
Radius 10;
Height 32;
+SOLID +SHOOTABLE +NOBLOOD +OLDRADIUSDMG
DeathSound "world/barrelx";
+INCOMBAT
}
States
{
Spawn:
BART A -1;
Stop;
Death:
BART B 2 Bright A_Scream;
BART CD 2 Bright;
BART E 2 Bright A_NoBlocking;
BART F 2 Bright A_Explode(64, 64, alert:true);
BART GHIJ 2 Bright;
BART K 3 Bright;
BART L -1;
Stop;
}
}
// Light Silver, Fluorescent ----------------------------------------------
class LightSilverFluorescent : Actor
{
Default
{
Radius 2.5;
Height 16;
+NOBLOCKMAP
+FIXMAPTHINGPOS
}
States
{
Spawn:
LITS A -1 Bright;
Stop;
}
}
// Light Brown, Fluorescent -----------------------------------------------
class LightBrownFluorescent : Actor
{
Default
{
Radius 2.5;
Height 16;
+NOBLOCKMAP
+FIXMAPTHINGPOS
}
States
{
Spawn:
LITB A -1 Bright;
Stop;
}
}
// Light Gold, Fluorescent ------------------------------------------------
class LightGoldFluorescent : Actor
{
Default
{
Radius 2.5;
Height 16;
+NOBLOCKMAP
+FIXMAPTHINGPOS
}
States
{
Spawn:
LITG A -1 Bright;
Stop;
}
}
// Light Globe --------------------------------------------------------------
class LightGlobe : Actor
{
Default
{
Radius 16;
Height 16;
+SOLID
}
States
{
Spawn:
LITE A -1 Bright;
Stop;
}
}
// Techno Pillar ------------------------------------------------------------
class PillarTechno : Actor
{
Default
{
Radius 20;
Height 128;
+SOLID
}
States
{
Spawn:
MONI A -1;
Stop;
}
}
// Aztec Pillar -------------------------------------------------------------
class PillarAztec : Actor
{
Default
{
Radius 16;
Height 128;
+SOLID
}
States
{
Spawn:
STEL A -1;
Stop;
}
}
// Damaged Aztec Pillar -----------------------------------------------------
class PillarAztecDamaged : Actor
{
Default
{
Radius 16;
Height 80;
+SOLID
}
States
{
Spawn:
STLA A -1;
Stop;
}
}
// Ruined Aztec Pillar ------------------------------------------------------
class PillarAztecRuined : Actor
{
Default
{
Radius 16;
Height 40;
+SOLID
}
States
{
Spawn:
STLE A -1;
Stop;
}
}
// Huge Tech Pillar ---------------------------------------------------------
class PillarHugeTech : Actor
{
Default
{
Radius 24;
Height 192;
+SOLID
}
States
{
Spawn:
HUGE ABCD 4;
Loop;
}
}
// Alien Power Crystal in a Pillar ------------------------------------------
class PillarAlienPower : Actor
{
Default
{
Radius 24;
Height 192;
+SOLID
ActiveSound "ambient/alien2";
}
States
{
Spawn:
APOW A 4 A_LoopActiveSound;
Loop;
}
}
// SStalactiteBig -----------------------------------------------------------
class SStalactiteBig : Actor
{
Default
{
Radius 16;
Height 54;
+SOLID +SPAWNCEILING +NOGRAVITY
}
States
{
Spawn:
STLG C -1;
Stop;
}
}
// SStalactiteSmall ---------------------------------------------------------
class SStalactiteSmall : Actor
{
Default
{
Radius 16;
Height 40;
+SOLID +SPAWNCEILING +NOGRAVITY
}
States
{
Spawn:
STLG A -1;
Stop;
}
}
// SStalagmiteBig -----------------------------------------------------------
class SStalagmiteBig : Actor
{
Default
{
Radius 16;
Height 40;
+SOLID
}
States
{
Spawn:
STLG B -1;
Stop;
}
}
// Cave Pillar Top ----------------------------------------------------------
class CavePillarTop : Actor
{
Default
{
Radius 16;
Height 128;
+SOLID +SPAWNCEILING +NOGRAVITY
}
States
{
Spawn:
STLG D -1;
Stop;
}
}
// Cave Pillar Bottom -------------------------------------------------------
class CavePillarBottom : Actor
{
Default
{
Radius 16;
Height 128;
+SOLID
}
States
{
Spawn:
STLG E -1;
Stop;
}
}
// SStalagmiteSmall ---------------------------------------------------------
class SStalagmiteSmall : Actor
{
Default
{
Radius 16;
Height 25;
+SOLID
}
States
{
Spawn:
STLG F -1;
Stop;
}
}
// Candle -------------------------------------------------------------------
class Candle : Actor
{
States
{
Spawn:
KNDL A -1 Bright;
Stop;
}
}
// StrifeCandelabra ---------------------------------------------------------
class StrifeCandelabra : Actor
{
Default
{
Radius 16;
Height 40;
+SOLID
}
States
{
Spawn:
CLBR A -1;
Stop;
}
}
// Floor Water Drop ---------------------------------------------------------
class WaterDropOnFloor : Actor
{
Default
{
+NOBLOCKMAP
ActiveSound "world/waterdrip";
}
States
{
Spawn:
DRIP A 6 A_FLoopActiveSound;
DRIP BC 4;
DRIP D 4 A_FLoopActiveSound;
DRIP EF 4;
DRIP G 4 A_FLoopActiveSound;
DRIP H 4;
Loop;
}
}
// Waterfall Splash ---------------------------------------------------------
class WaterfallSplash : Actor
{
Default
{
+NOBLOCKMAP
ActiveSound "world/waterfall";
}
States
{
Spawn:
SPLH ABCDEFG 4;
SPLH H 4 A_LoopActiveSound;
Loop;
}
}
// Ceiling Water Drip -------------------------------------------------------
class WaterDrip : Actor
{
Default
{
Height 1;
+NOBLOCKMAP +SPAWNCEILING +NOGRAVITY
}
States
{
Spawn:
CDRP A 10;
CDRP BCD 8;
Loop;
}
}
// WaterFountain ------------------------------------------------------------
class WaterFountain : Actor
{
Default
{
+NOBLOCKMAP
ActiveSound "world/watersplash";
}
States
{
Spawn:
WTFT ABC 4;
WTFT D 4 A_LoopActiveSound;
Loop;
}
}
// Hearts in Tank -----------------------------------------------------------
class HeartsInTank : Actor
{
Default
{
Radius 16;
Height 56;
+SOLID
}
States
{
Spawn:
HERT ABC 4 Bright;
Loop;
}
}
// Teleport Swirl -----------------------------------------------------------
class TeleportSwirl : Actor
{
Default
{
+NOBLOCKMAP
+ZDOOMTRANS
RenderStyle "Add";
Alpha 0.25;
}
States
{
Spawn:
TELP ABCD 3 Bright;
Loop;
}
}
// Dead Player --------------------------------------------------------------
// Strife's disappeared. This one doesn't.
class DeadStrifePlayer : Actor
{
States
{
Spawn:
PLAY P 700;
RGIB H -1;
Stop;
}
}
// Dead Peasant -------------------------------------------------------------
// Unlike Strife's, this one does not turn into gibs and disappear.
class DeadPeasant : Actor
{
States
{
Spawn:
PEAS N -1;
Stop;
}
}
// Dead Acolyte -------------------------------------------------------------
// Unlike Strife's, this one does not turn into gibs and disappear.
class DeadAcolyte : Actor
{
States
{
Spawn:
AGRD N -1;
Stop;
}
}
// Dead Reaver --------------------------------------------------------------
class DeadReaver : Actor
{
States
{
Spawn:
ROB1 R -1;
Stop;
}
}
// Dead Rebel ---------------------------------------------------------------
class DeadRebel : Actor
{
States
{
Spawn:
HMN1 N -1;
Stop;
}
}
// Sacrificed Guy -----------------------------------------------------------
class SacrificedGuy : Actor
{
States
{
Spawn:
SACR A -1;
Stop;
}
}
// Pile of Guts -------------------------------------------------------------
class PileOfGuts : Actor
{
// Strife used a doomednum, which is the same as the Aztec Pillar. Since
// the pillar came first in the mobjinfo list, you could not spawn this
// in a map. Pity.
States
{
Spawn:
DEAD A -1;
Stop;
}
}
// Burning Barrel -----------------------------------------------------------
class StrifeBurningBarrel : Actor
{
Default
{
Radius 16;
Height 48;
+SOLID
}
States
{
Spawn:
BBAR ABCD 4 Bright;
Loop;
}
}
// Burning Bowl -----------------------------------------------------------
class BurningBowl : Actor
{
Default
{
Radius 16;
Height 16;
+SOLID
ActiveSound "world/smallfire";
}
States
{
Spawn:
BOWL ABCD 4 Bright;
Loop;
}
}
// Burning Brazier -----------------------------------------------------------
class BurningBrazier : Actor
{
Default
{
Radius 10;
Height 32;
+SOLID
ActiveSound "world/smallfire";
}
States
{
Spawn:
BRAZ ABCD 4 Bright;
Loop;
}
}
// Small Torch Lit --------------------------------------------------------
class SmallTorchLit : Actor
{
Default
{
Radius 2.5;
Height 16;
+NOBLOCKMAP
+FIXMAPTHINGPOS
// It doesn't have any action functions, so how does it use this sound?
ActiveSound "world/smallfire";
}
States
{
Spawn:
TRHL ABCD 4 Bright;
Loop;
}
}
// Small Torch Unlit --------------------------------------------------------
class SmallTorchUnlit : Actor
{
Default
{
Radius 2.5;
Height 16;
+NOBLOCKMAP
+FIXMAPTHINGPOS
}
States
{
Spawn:
TRHO A -1;
Stop;
}
}
// Ceiling Chain ------------------------------------------------------------
class CeilingChain : Actor
{
Default
{
Radius 20;
Height 93;
+NOBLOCKMAP +SPAWNCEILING +NOGRAVITY
}
States
{
Spawn:
CHAN A -1;
Stop;
}
}
// Cage Light ---------------------------------------------------------------
class CageLight : Actor
{
Default
{
// No, it's not bright even though it's a light.
Height 3;
+NOBLOCKMAP +SPAWNCEILING +NOGRAVITY
}
States
{
Spawn:
CAGE A -1;
Stop;
}
}
// Statue -------------------------------------------------------------------
class Statue : Actor
{
Default
{
Radius 20;
Height 64;
+SOLID
}
States
{
Spawn:
STAT A -1;
Stop;
}
}
// Ruined Statue ------------------------------------------------------------
class StatueRuined : Actor
{
Default
{
Radius 20;
Height 56;
+SOLID
}
States
{
Spawn:
DSTA A -1;
Stop;
}
}
// Medium Torch -------------------------------------------------------------
class MediumTorch : Actor
{
Default
{
Radius 4;
Height 72;
+SOLID
}
States
{
Spawn:
LTRH ABCD 4;
Loop;
}
}
// Outside Lamp -------------------------------------------------------------
class OutsideLamp : Actor
{
Default
{
// No, it's not bright.
Radius 3;
Height 80;
+SOLID
}
States
{
Spawn:
LAMP A -1;
Stop;
}
}
// Pole Lantern -------------------------------------------------------------
class PoleLantern : Actor
{
Default
{
// No, it's not bright.
Radius 3;
Height 80;
+SOLID
}
States
{
Spawn:
LANT A -1;
Stop;
}
}
// Rock 1 -------------------------------------------------------------------
class SRock1 : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
ROK1 A -1;
Stop;
}
}
// Rock 2 -------------------------------------------------------------------
class SRock2 : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
ROK2 A -1;
Stop;
}
}
// Rock 3 -------------------------------------------------------------------
class SRock3 : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
ROK3 A -1;
Stop;
}
}
// Rock 4 -------------------------------------------------------------------
class SRock4 : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
ROK4 A -1;
Stop;
}
}
// Stick in Water -----------------------------------------------------------
class StickInWater : Actor
{
Default
{
+NOBLOCKMAP
+FLOORCLIP
ActiveSound "world/river";
}
States
{
Spawn:
LOGW ABCD 5 A_LoopActiveSound;
Loop;
}
}
// Rubble 1 -----------------------------------------------------------------
class Rubble1 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB1 A -1;
Stop;
}
}
// Rubble 2 -----------------------------------------------------------------
class Rubble2 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB2 A -1;
Stop;
}
}
// Rubble 3 -----------------------------------------------------------------
class Rubble3 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB3 A -1;
Stop;
}
}
// Rubble 4 -----------------------------------------------------------------
class Rubble4 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB4 A -1;
Stop;
}
}
// Rubble 5 -----------------------------------------------------------------
class Rubble5 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB5 A -1;
Stop;
}
}
// Rubble 6 -----------------------------------------------------------------
class Rubble6 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB6 A -1;
Stop;
}
}
// Rubble 7 -----------------------------------------------------------------
class Rubble7 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB7 A -1;
Stop;
}
}
// Rubble 8 -----------------------------------------------------------------
class Rubble8 : Actor
{
Default
{
+NOBLOCKMAP +NOCLIP
}
States
{
Spawn:
RUB8 A -1;
Stop;
}
}
// Surgery Crab -------------------------------------------------------------
class SurgeryCrab : Actor
{
Default
{
+SOLID +SPAWNCEILING +NOGRAVITY
Radius 20;
Height 16;
}
States
{
Spawn:
CRAB A -1;
Stop;
}
}
// Large Torch --------------------------------------------------------------
class LargeTorch : Actor
{
Default
{
Radius 10;
Height 72;
+SOLID
ActiveSound "world/smallfire";
}
States
{
Spawn:
LMPC ABCD 4 Bright;
Loop;
}
}
// Huge Torch --------------------------------------------------------------
class HugeTorch : Actor
{
Default
{
Radius 10;
Height 80;
+SOLID
ActiveSound "world/smallfire";
}
States
{
Spawn:
LOGS ABCD 4;
Loop;
}
}
// Palm Tree ----------------------------------------------------------------
class PalmTree : Actor
{
Default
{
Radius 15;
Height 109;
+SOLID
}
States
{
Spawn:
TREE A -1;
Stop;
}
}
// Big Tree ----------------------------------------------------------------
class BigTree2 : Actor
{
Default
{
Radius 15;
Height 109;
+SOLID
}
States
{
Spawn:
TREE B -1;
Stop;
}
}
// Potted Tree ----------------------------------------------------------------
class PottedTree : Actor
{
Default
{
Radius 15;
Height 64;
+SOLID
}
States
{
Spawn:
TREE C -1;
Stop;
}
}
// Tree Stub ----------------------------------------------------------------
class TreeStub : Actor
{
Default
{
Radius 15;
Height 80;
+SOLID
}
States
{
Spawn:
TRET A -1;
Stop;
}
}
// Short Bush ---------------------------------------------------------------
class ShortBush : Actor
{
Default
{
Radius 15;
Height 40;
+SOLID
}
States
{
Spawn:
BUSH A -1;
Stop;
}
}
// Tall Bush ---------------------------------------------------------------
class TallBush : Actor
{
Default
{
Radius 20;
Height 64;
+SOLID
}
States
{
Spawn:
SHRB A -1;
Stop;
}
}
// Chimney Stack ------------------------------------------------------------
class ChimneyStack : Actor
{
Default
{
Radius 20;
Height 64; // This height does not fit the sprite
+SOLID
}
States
{
Spawn:
STAK A -1;
Stop;
}
}
// Barricade Column ---------------------------------------------------------
class BarricadeColumn : Actor
{
Default
{
Radius 16;
Height 128;
+SOLID
}
States
{
Spawn:
BARC A -1;
Stop;
}
}
// Pot ----------------------------------------------------------------------
class Pot : Actor
{
Default
{
Radius 12;
Height 24;
+SOLID
}
States
{
Spawn:
VAZE A -1;
Stop;
}
}
// Pitcher ------------------------------------------------------------------
class Pitcher : Actor
{
Default
{
Radius 12;
Height 32;
+SOLID
}
States
{
Spawn:
VAZE B -1;
Stop;
}
}
// Stool --------------------------------------------------------------------
class Stool : Actor
{
Default
{
Radius 6;
Height 24;
+SOLID
}
States
{
Spawn:
STOL A -1;
Stop;
}
}
// Metal Pot ----------------------------------------------------------------
class MetalPot : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
MPOT A -1;
Stop;
}
}
// Tub ----------------------------------------------------------------------
class Tub : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
TUB1 A -1;
Stop;
}
}
// Anvil --------------------------------------------------------------------
class Anvil : Actor
{
Default
{
Radius 16;
Height 32;
+SOLID
}
States
{
Spawn:
ANVL A -1;
Stop;
}
}
// Silver Tech Lamp ----------------------------------------------------------
class TechLampSilver : Actor
{
Default
{
Radius 11;
Height 64;
+SOLID
}
States
{
Spawn:
TECH A -1;
Stop;
}
}
// Brass Tech Lamp ----------------------------------------------------------
class TechLampBrass : Actor
{
Default
{
Radius 8;
Height 64;
+SOLID
}
States
{
Spawn:
TECH B -1;
Stop;
}
}
// Tray --------------------------------------------------------------------
class Tray : Actor
{
Default
{
Radius 24;
Height 40;
+SOLID
}
States
{
Spawn:
TRAY A -1;
Stop;
}
}
// AmmoFiller ---------------------------------------------------------------
class AmmoFiller : Actor
{
Default
{
Radius 12;
Height 24;
+SOLID
}
States
{
Spawn:
AFED A -1;
Stop;
}
}
// Sigil Banner -------------------------------------------------------------
class SigilBanner : Actor
{
Default
{
Radius 24;
Height 96;
+NOBLOCKMAP // I take it this was once solid, yes?
}
States
{
Spawn:
SBAN A -1;
Stop;
}
}
// RebelBoots ---------------------------------------------------------------
class RebelBoots : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
BOTR A -1;
Stop;
}
}
// RebelHelmet --------------------------------------------------------------
class RebelHelmet : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
HATR A -1;
Stop;
}
}
// RebelShirt ---------------------------------------------------------------
class RebelShirt : Actor
{
Default
{
+NOBLOCKMAP
}
States
{
Spawn:
TOPR A -1;
Stop;
}
}
// Alien Bubble Column ------------------------------------------------------
class AlienBubbleColumn : Actor
{
Default
{
Radius 16;
Height 128;
+SOLID
ActiveSound "ambient/alien5";
}
States
{
Spawn:
BUBB A 4 A_LoopActiveSound;
Loop;
}
}
// Alien Floor Bubble -------------------------------------------------------
class AlienFloorBubble : Actor
{
Default
{
Radius 16;
Height 72;
+SOLID
ActiveSound "ambient/alien6";
}
States
{
Spawn:
BUBF A 4 A_LoopActiveSound;
Loop;
}
}
// Alien Ceiling Bubble -----------------------------------------------------
class AlienCeilingBubble : Actor
{
Default
{
Radius 16;
Height 72;
+SOLID +SPAWNCEILING +NOGRAVITY
ActiveSound "ambient/alien4";
}
States
{
Spawn:
BUBC A 4 A_LoopActiveSound;
Loop;
}
}
// Alien Asp Climber --------------------------------------------------------
class AlienAspClimber : Actor
{
Default
{
Radius 16;
Height 128;
+SOLID
ActiveSound "ambient/alien3";
}
States
{
Spawn:
ASPR A 4 A_LoopActiveSound;
Loop;
}
}
// Alien Spider Light -------------------------------------------------------
class AlienSpiderLight : Actor
{
Default
{
Radius 32;
Height 56;
+SOLID
ActiveSound "ambient/alien1";
}
States
{
Spawn:
SPDL ABC 5 A_LoopActiveSound;
Loop;
}
}
// Target Practice -----------------------------------------------------------
class TargetPractice : Actor
{
Default
{
Health 99999999;
PainChance 255;
Radius 10;
Height 72;
Mass 9999999;
+SOLID +SHOOTABLE +NOBLOOD
+INCOMBAT +NODAMAGE
PainSound "misc/metalhit";
}
States
{
Spawn:
HOGN A 2 A_CheckTerrain;
Loop;
Pain:
HOGN B 1 A_CheckTerrain;
HOGN C 1 A_Pain;
Goto Spawn;
}
}
// Force Field Guard --------------------------------------------------------
class ForceFieldGuard : Actor
{
Default
{
Health 10;
Radius 2;
Height 1;
Mass 10000;
+SHOOTABLE
+NOSECTOR
+NOBLOOD
+INCOMBAT
}
States
{
Spawn:
TNT1 A -1;
Stop;
Death:
TNT1 A 1 A_RemoveForceField;
Stop;
}
override int TakeSpecialDamage (Actor inflictor, Actor source, int damage, Name damagetype)
{
if (inflictor == NULL || !(inflictor is "DegninOre"))
{
return -1;
}
return health;
}
}
// Kneeling Guy -------------------------------------------------------------
class KneelingGuy : Actor
{
Default
{
Health 51;
Painchance 255;
Radius 6;
Height 17;
Mass 50000;
+SOLID
+SHOOTABLE
+NOBLOOD
+ISMONSTER
+INCOMBAT
PainSound "misc/static";
DeathSound "misc/static";
ActiveSound "misc/chant";
}
States
{
Spawn:
See:
NEAL A 15 A_LoopActiveSound;
NEAL B 40 A_LoopActiveSound;
Loop;
Pain:
NEAL C 5 A_SetShadow;
NEAL B 4 A_Pain;
NEAL C 5 A_ClearShadow;
Goto Spawn;
Wound:
NEAL B 6;
NEAL C 13 A_GetHurt;
Loop;
Death:
NEAL D 5;
NEAL E 5 A_Scream;
NEAL F 6;
NEAL G 5 A_NoBlocking;
NEAL H 5;
NEAL I 6;
NEAL J -1;
Stop;
}
}
// Power Coupling -----------------------------------------------------------
class PowerCoupling : Actor
{
Default
{
Health 40;
Radius 17;
Height 64;
Mass 999999;
+SOLID
+SHOOTABLE
+DROPPED
+NOBLOOD
+NOTDMATCH
+INCOMBAT
}
States
{
Spawn:
COUP AB 5;
Loop;
}
override void Die (Actor source, Actor inflictor, int dmgflags, Name MeansOfDeath)
{
Super.Die (source, inflictor, dmgflags, MeansOfDeath);
int i;
for (i = 0; i < MAXPLAYERS; ++i)
if (playeringame[i] && players[i].health > 0)
break;
if (i == MAXPLAYERS)
return;
// [RH] In case the player broke it with the dagger, alert the guards now.
if (LastHeard != source)
{
SoundAlert (source);
}
Door_Close(225, 16);
Floor_LowerToHighestEE(44, 8);
players[i].mo.GiveInventoryType ("QuestItem6");
S_Sound ("svox/voc13", CHAN_VOICE);
players[i].SetLogNumber (13);
players[i].SetSubtitleNumber (13, "svox/voc13");
A_DropItem ("BrokenPowerCoupling", -1, 256);
Destroy ();
}
}
// Gibs for things that bleed -----------------------------------------------
class Meat : Actor
{
Default
{
+NOCLIP
}
States
{
Spawn:
MEAT A 700;
Stop;
MEAT B 700;
Stop;
MEAT C 700;
Stop;
MEAT D 700;
Stop;
MEAT E 700;
Stop;
MEAT F 700;
Stop;
MEAT G 700;
Stop;
MEAT H 700;
Stop;
MEAT I 700;
Stop;
MEAT J 700;
Stop;
MEAT K 700;
Stop;
MEAT L 700;
Stop;
MEAT M 700;
Stop;
MEAT N 700;
Stop;
MEAT O 700;
Stop;
MEAT P 700;
Stop;
MEAT Q 700;
Stop;
MEAT R 700;
Stop;
MEAT S 700;
Stop;
MEAT T 700;
Stop;
}
override void BeginPlay ()
{
// Strife used mod 19, but there are 20 states. Hmm.
SetState (SpawnState + random[GibTosser](0, 19));
}
}
// Gibs for things that don't bleed -----------------------------------------
class Junk : Meat
{
States
{
Spawn:
JUNK A 700;
Stop;
JUNK B 700;
Stop;
JUNK C 700;
Stop;
JUNK D 700;
Stop;
JUNK E 700;
Stop;
JUNK F 700;
Stop;
JUNK G 700;
Stop;
JUNK H 700;
Stop;
JUNK I 700;
Stop;
JUNK J 700;
Stop;
JUNK K 700;
Stop;
JUNK L 700;
Stop;
JUNK M 700;
Stop;
JUNK N 700;
Stop;
JUNK O 700;
Stop;
JUNK P 700;
Stop;
JUNK Q 700;
Stop;
JUNK R 700;
Stop;
JUNK S 700;
Stop;
JUNK T 700;
Stop;
}
}