Classes:BossEye
Note: Wait! Stop! Before you copy this actor's definition into your mod, remember the following things:
|
Boss cube shooter | |||
---|---|---|---|
Actor type | Monster | Game | (Doom2) |
DoomEd Number | 89 | Class Name | BossEye |
Classes: BossEye
This is an invisible actor that periodically fires the SpawnShot actor, more commonly known as the "Boss Cube," as part of the boss on Doom 2's MAP30. Each cube will fly to a random location on the map (determined by a series of BossTarget actors placed in the map) and spawn an enemy at random.
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 BossEye : Actor
{
Default
{
Height 32;
+NOBLOCKMAP
+NOSECTOR
}
States
{
Spawn:
SSWV A 10 A_Look;
Loop;
See:
SSWV A 181 A_BrainAwake;
SSWV A 150 A_BrainSpit;
Wait;
}
}
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 BossEye { Height 32 +NOBLOCKMAP +NOSECTOR States { Spawn: SSWV A 10 A_Look Loop See: SSWV A 181 A_BrainAwake SSWV A 150 A_BrainSpit // See SpawnShot Wait } }
Customization
You can customize which actors are spawned by inheriting from the BossEye actor and providing a list of actors using the DropItem property. For example, this code will create a new shooter that will spawn one of five custom monsters:
class CustomEye : BossEye
{
Default
{
DropItem "UberZombie";
DropItem "NaziCommando";
DropItem "Trite";
DropItem "D3Imp";
DropItem "Chicken";
}
}
Like for RandomSpawner, the second optional parameter of DropItem can be used to weigh the list, however the first optional parameter has no effect. The following example accurately replicates the odds of the normal BossEye:
class ICantBelieveItsNotBossEye : BossEye
{
Default
{
DropItem "DoomImp", 255, 50;
DropItem "Demon", 255, 40;
DropItem "Spectre", 255, 30;
DropItem "PainElemental", 255, 10;
DropItem "Cacodemon", 255, 30;
DropItem "Archvile", 255, 2;
DropItem "Revenant", 255, 10;
DropItem "Arachnotron", 255, 20;
DropItem "Fatso", 255, 30;
DropItem "HellKnight", 255, 24;
DropItem "BaronOfHell", 255, 10;
}
}