Classes:CustomMonsterInvasionSpot

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.
Invasion Monster Spawner
Actor type Internal Game MiniSkulltagLogoIcon.png (Skulltag)
DoomEd Number None Class Name CustomMonsterInvasionSpot
Center Warning: This class is a Skulltag-specific actor that is not included in ZDoom!


CustomMonsterInvasionSpot is the base class for custom Invasion monsters. By inheriting from it you can create spawn spots for new DECORATE monsters.


Using in DECORATE

The CustomMonsterInvasionSpot base class only needs one property for it to work, which is dropitem.

  • dropitem class
The class of the monster you want the Invasion spot to spawn. Can be used more than once to spawn more than one monster picked at random.
Examples:

Example of a single custom invasion spot:

actor MyMonsterSpot : CustomMonsterInvasionSpot 12345
{
dropitem "MyMonster"
}

Example of a random custom invasion spot:

actor MyRandomMonsterSpot : CustomMonsterInvasionSpot 12346
{
dropitem "MyMonster"
dropitem "MyOtherMonster"
dropitem "Cacodemon"
}

Using in a map editor

CustomMonsterInvasionSpot, like all invasion spots, take 5 special arguments. Monsters that aren't spawned due to lack of room (other actors) will be spawned when there is room. It is vital that you place invasion spawn spots in areas where there are no walls blocking the monster's spawn, as the wave will not end until all monsters are spawned and killed.

  • Start Spawn Number
The number of things spawned in the first wave they appear.
  • Spawn Delay
The spawn delay in seconds between spawning things.
  • Round Spawn Delay
The delay in seconds from the start of the wave before spawning things.
  • First Appear Wave
The wave that the things start spawning in.
  • Max Spawn Number
The maximum number of monsters that can be spawned by this spot.

Invasion Formula

On any given wave, the number of monsters that will be spawned is determined by this formula:

(Difficulty Modifier ^ Wave Age) * Starting Amount
The difficulty modifier is 1.25 for I'm too young to die and Hey, not too rough, 1.5 for Hurt me plenty, and 1.6225 for Ultra-Violence and Nightmare!.
Wave age is determined by using the current wave and substracting First Appear Wave (with a minimum of 0).
The starting amount is the value given in the first argument, Start Spawn Number.

The given value is then limited to Max Spawn Number.

See Also

CustomPickupInvasionSpot - Custom Invasion Spot used for pickups.
Skulltag Classes