Classes:WolfensteinSS

From ZDoom Wiki
Jump to navigation Jump to search
Note: Wait! Stop! Before you copy this actor's definition into your mod, remember the following things:
  1. You do not need to copy that actor, since it is already defined.
  2. In fact, it's not just useless, it's actually harmful as it can cause problems.
  3. If you want to modify it, or use a modified version, using inheritance is the way to go.
  4. The actor definitions here are put on the wiki for reference purpose only. Learn from them, don't copy them.
  5. There is only one exception: if what you want is changing Ammo capacity, you need to create a new type from Ammo.
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 here for reference only. DECORATE is still supported but no longer used by GZDoom. 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 
  }
}