Since ZScript was implemented a lot options appeared. And i believe it is time to "remaster" a few features to work better than they used to be:
In this case i wanted to improve my RandomSpawners to have additional limits in spawning, specificly spawned actor height and radius. While i try to use "similar" size monsters to reduce potential problems, some need to be higher. For instance, as a DoomImp potential replacement a Heretic Knight can spawn. For many monsters i can create an ACS script that simply checks if the actor is too high, and if so, remove and then place the spawner again.
The problems start with "radius" as it is not as simple to verify a monsters is "fitting". And the problems continue with Boss-like monsters (Mancubus, Arachnotron, Baron of Hell, Cyberdemon, Spidermastermind), as the earlier system will break any Boss event checks.
Frankly, I have no clue how to improve the RandomSpawner, although it's code does look like i could add some more "conditions" to spawn.
To picture an example:
Code: Select all
Actor DoomImpSpawner : RandomSpawner replaces DoomImp
{
DropItem "DoomImpDropper", 255, 28
DropItem "KnightDropper", 255, 10 // this one is taller than original imp
}
Actor Cacospawn : RandomSpawner replaces CacoDemon
{
Dropitem "CacoDemonDropper", 255, 50
Dropitem "TerranWraith", 255, 5 // This one is larger
}