Classes:WolfensteinSS

From ZDoom Wiki
Jump to navigation Jump to search
Note: Wait! Stop! You do not need to copy this actor's code into your project! Here's why:
  1. This actor is already defined in GZDoom, there's no reason to define it again.
  2. In fact, trying to define an actor with the same name will cause an error (because it already exists).
  3. If you want to make your own version of this actor, use inheritance.
  4. Definitions for existing actors are put on the wiki for reference purpose only.
Wolfenstein SS
Actor type Monster Game MiniDoom2LogoIcon.png (Doom2)
DoomEd Number 84 Class Name WolfensteinSS
Spawn ID 116 Identifier T_WOLFSS


Classes: WolfensteinSS


The Wolfenstein SS guard ("WolfSS") is an enemy from Wolfenstein 3D, which appears in the secret levels of Doom 2. He is armed with a machine gun and leaves a clip after death.

Difficulty levels in Wolfenstein 3D were implemented by controlling the speed at which the enemies react and fire. For Doom 2, id simply placed 2-4 of these enemies everywhere that one guard appeared in Wolfenstein. Unfortunately, because enemies in Doom can also hurt each other, this just made them tend to infight with each other more.

The attack frames for this enemy are single-rotation only (as in Wolfenstein 3D), so that he always appears to be firing directly at the player viewing him, no matter what direction he's actually shooting in.


ZScript definition

Note: The ZScript definition below is for reference and may be different in the current version of GZDoom.The most up-to-date version of this code can be found on GZDoom GitHub.
class WolfensteinSS : Actor
{
	Default
	{
		Health 50;
		Radius 20;
		Height 56;
		Speed 8;
		PainChance 170;
		Monster;
		+FLOORCLIP
		SeeSound "wolfss/sight";
		PainSound "wolfss/pain";
		DeathSound "wolfss/death";
		ActiveSound "wolfss/active";
		AttackSound "wolfss/attack";
		Obituary "$OB_WOLFSS";
		Tag "$FN_WOLFSS";
		Dropitem "Clip";
	}
	States
	{
	Spawn:
		SSWV AB 10 A_Look;
		Loop;
	See:
		SSWV AABBCCDD 3 A_Chase;
		Loop;
	Missile:
		SSWV E 10 A_FaceTarget;
		SSWV F 10 A_FaceTarget;
		SSWV G 4 BRIGHT A_CPosAttack;
		SSWV F 6 A_FaceTarget;
		SSWV G 4 BRIGHT A_CPosAttack;
		SSWV F 1 A_CPosRefire;
		Goto Missile+1;
	Pain:
		SSWV H 3;
		SSWV H 3 A_Pain;
		Goto See;
	Death:
		SSWV I 5;
		SSWV J 5 A_Scream;
		SSWV K 5 A_NoBlocking;
		SSWV L 5;
		SSWV M -1;
		Stop;
	XDeath:
		SSWV N 5 ;
		SSWV O 5 A_XScream;
		SSWV P 5 A_NoBlocking;
		SSWV QRSTU 5;
		SSWV V -1;
		Stop;
	Raise:
		SSWV M 5;
		SSWV LKJI 5;
		Goto See ;
	}
}

DECORATE definition

Note: This is legacy code, kept for archival purposes only. DECORATE is deprecated in GZDoom and is completely superseded by ZScript. GZDoom internally uses the ZScript definition above.
ACTOR WolfensteinSS
{
  Health 50
  Radius 20
  Height 56
  Speed 8
  PainChance 170
  Monster
  +FLOORCLIP
  SeeSound "wolfss/sight"
  PainSound "wolfss/pain"
  DeathSound "wolfss/death"
  ActiveSound "wolfss/active"
  AttackSound "wolfss/attack"
  Obituary "$OB_WOLFSS"
  Dropitem "Clip"
  States
  {
  Spawn:
    SSWV AB 10 A_Look
    Loop
  See:
    SSWV AABBCCDD 3 A_Chase
    Loop
  Missile:
    SSWV E 10 A_FaceTarget
    SSWV F 10 A_FaceTarget
    SSWV G 4 Bright A_CPosAttack
    SSWV F 6 A_FaceTarget
    SSWV G 4 Bright A_CPosAttack
    SSWV F 1 A_CPosRefire
    Goto Missile+1
  Pain:
    SSWV H 3
    SSWV H 3 A_Pain
    Goto See
  Death:
    SSWV I 5
    SSWV J 5 A_Scream
    SSWV K 5 A_NoBlocking
    SSWV L 5
    SSWV M -1
    Stop
  XDeath:
    SSWV N 5 
    SSWV O 5 A_XScream
    SSWV P 5 A_NoBlocking
    SSWV QRSTU 5
    SSWV V -1
    Stop
  Raise:
    SSWV M 5
    SSWV LKJI 5
    Goto See 
  }
}