*****************************************
MonsterSpawn V3.04 (C). Author - Asgard 

http://www.angelfire.com/empire/napali/
*****************************************


MonsterSpawn is a Mutator designed to add just about any type of Monster to just about any type of Unreal 1 or Unreal Tournament type game.

Features include adding Modded Monsters or Standard Unreal Monsters. Monsters can be set to respawn after the amount of time you choose, starting a new wave of monster attacks. Up to 60 monsters at a time of your choice can be added to any map of a possible 6000 random choices from 100 different monster lists. Monsters always Spawn in random places. You make your own lists or comes with lists pre-configured. Monsterspawn can in theory add up to 1200 different monsters to the game. 

Add monsters to CTF, Assault, DM type games, Co-op etc. Try holding onto that flag with a bunch of Skaarj chasing you down, or adding new or Extra monsters to co-op style game etc. 

special thanks to Jackson and Jesse for their help in beta testing :)


*********
To setup
*********

If you have any previous versions of Monsterspawn please remove them from system folder. Dont just dump all the files into system folder and hope it works. For servers dont forget to change your serverpackages= and make sure theres no older monsterspawn files hanging around.
Theyre easy to tell they all start with monsterspawn :)

Unzip all the files included in the MonsterSpawn304.zip into you Unrealtounament/SYSTEM or Unreal/SYSTEM folder.

add monsterspawn to your serverpackages.
ServerPackages=MonsterSpawn304

If youre adding modded monsters you also Must add them to serverpackages if you intend to run a server.
eg
ServerPackages=jurassic
ServerPackages=SomeModWithMonsters

Then you have to load the mutator.

examples:

With UT you can just simply add it from the mutator list in the multiplayer/start new multiplayer game/mutators menu.
or from the command line in the game.
switchlevel somemap?mutator=MonsterSpawn304.monsterspawn

example run commands etc:
 Unreal DMDeck16?game=UnrealShare.DeathMatchGame?Mutator=MonsterSpawn304.monsterspawn -server
 Unreal Nyleve?game=UnrealShare.CoopGame?Mutator=MonsterSpawn304.monsterspawn -server

 Unrealtounament CTF-Coret?game=botpack.CTFGame?Mutator=MonsterSpawn304.monsterspawn -server

From the command line in the game.

switchlevel somemap?mutator=MonsterSpawn304.monsterspawn

Monsterspawn can now be set to a higher difficulty via the commandline you need to have
AllowMonsterReplacement=true so that the replaced monsters can make use of it, this will effect any of the replaced monsters
or any of my latest monster packs from my site.

Unreal DMDeck16?game=UnrealShare.DeathMatchGame?Mutator=MonsterSpawn304.monsterspawn?difficulty=6 -server
switchlevel somemap?mutator=MonsterSpawn304.monsterspawn?difficulty=6

Max difficulty =6

**************
Configuration
**************

WARNING read this section carefully!!!!

The golden rule with monsterspawn is to *NOT* add monsters to a UT game that have Unreal1 weapons or add to a Unreal game monsters that have Unreal Tournament Weapons.
For certain UT games this may be possible but test at your own risk.

Monsters with projectiles are fine and can be used in either game.

The reason being is that Unreal doesnt have UT weapons, and UT may destroy or replace any Unreal1 weapons it finds. 

For example the skaarjtrooper family.
 
Having said all that monsterspawn will in most cases handle unreal1 monsters with Unreal1 weapons but has to do extra work to do so, so yeah I lied, but if some modded monster doesnt spawn with its weapon you'll know why :) 

Monsterspawn comes pre-configured as an example only, for some games such as co-op you'll need to change the defaults.

To configure go into the ADVANCED section of UT or Unreal, then into Game Types.(type preferences at the command prompt if you dont know how)

Tip dont make monsters too difficult or you may end up as the only player in your server.
Adding too many with high health and high damage and continual frequent spawns may not be enjoyable
Its not advised you set everthing to the max.
It may even be preferred to add just an extra 1/2 dozen or so and have respawns off.
The configurations are meant so you can find a good balance of game play and add extra monsters. 

  
-----------
AllowBosses
-----------
default = True

Boss monsters gain extra health just by being bosses. If you dont want them to gain extra health this will turn bosses off and reset their health to the monsters default.
This can be used to tone down the boss monsters health without effecting the other monsters in the lists. HealthScaleList can still be used with this.
This *ONLY* effects boss monsters in the lists
Example bosses Titan, Walord, Queen, Jurassic Trexes, jurassic Triceratops, etc.

Boss monsters with several thousand health may gain well over an extra 1000 health depending on difficulty.
 
----------------
HealthScaleList
----------------
default=0

You can adjust the Health of the Monsters in the lists with this.
*ONLY* the monsters in the lists not ones already in the levels. 
A greater scale will give them more health, a negative scale will give them less.

HealthScaleForList(0), HealthScaleForList(1) HealthScaleForList(2) etc etc

HealthScaleForList(0) effects all monsters in MonsterList0 
HealthScaleForList(1) effects all monsters in MonsterList1
HealthScaleForList(2) effects all monsters in MonsterList2
etc etc

Maximum range for these is from -9 to 9
0 leaves the monsters as there default health. The higher the number the higher the percentage of health the monster gets and vica-versa for the less he gets. 
1 = 10% more health
9 = 90% more health
-1 = 10% less health
-9 = 90% less health
etc etc

eg..

HHealthScaleForList(0)=5 
Will give ALL monsters in MonsterList0 50% more health when spawned. If it has 100 default health the end result will be it now has 150 health.

HealthScaleForList(1)=-5 
Will give ALL monsters in MonsterList1 50% less health when spawned. If it has 100 default health the end result will be it now has 50 health.

HealthScaleForList(2)=0
Will leave ALL monsters in MonsterList2 as thier default health

----------------
DamageScale
----------------
Default = 1
Range 0 to 5

This how much damage a monster will do, either melee attacks or and weapon attacks.
It is NOT advisable to use this with a changed difficulty setting, but is an alternative
This will effect every monster in the map, lists and all.

DamageScale=2 monsters will do twice the damage

DamageScale=0.5 monsters will do half the damage


Tip dont make monsters too difficult or you may end up as the only player in your server.


------------------------
AllowQueensXtraTeleports
------------------------
default = True

Allows MSqueens the ability to teleport in any level. In some extremely large levels you might want to set this to false if the map requires killing the queen to end. Otherwise you may have to hunt the queen down. For most maps i'd suggest leaving this as true

-----------------------
AllowMonsterReplacement
-----------------------
default = True (recommended)


Allows monsterspawn to be able to replace Unreals monsters with its own version of the monsters.
If you want monsters to be able to attack bots this value should be left as true. Otherwise only the monsters added to the lists will be able to do this (if theyre monsterspawn monsters).

Also monsterspawn's version of monsters have various bug fixes, so its recommended also for this that its left as true.

-------------
AllowRespawns
-------------
default = True
Allows monsters to respawn after a time limit (MinutesTillRespawn).

Before spawning a new wave of monsters, monsterspawn will kill off any remaining type of monster that you have in your list, but not any monsters that may already be in your game such as in a coop game.


------------------
MinutesTillRespawn
------------------
default = 6 minutes

If you have AllowRespawns set to true, this is how long it will take until the next wave of monsters teleports in.  

----------
SPawnSkill
----------
default = 3
This is the skill level of any scriptedpawn that you add in your monsterlists.
range is from 0-3.. 3 being the highest skill and hardest difficulty.

------------
SpawnAtStart
------------
default = true

This is whether the monsters should spawn when the map is first loaded. If set to false it'll wait until it counts down to the specified time limit (MinutesTillRespawn)
If set to false you should make sure AllowRespawns is set to true. monsterSpawn will do this automatically but its tidier if you also set it in your configuration. 
If you're running a CTF game you might like to set this to false.

------------------------------------------------------------------------
MaxMonstersFromList(0) MaxMonstersFromList(1) MaxMonstersFromList(2) etc
------------------------------------------------------------------------
default =20 for each

This is the amount of monsters that will spawn in a wave included in the MonsterList list.
Range is from 1-60.. The list contains up to 60 types of monsters, So it can be set to spawn 60  monsters from a possible list of 60 different types. or 5 monsters from a from a possible list of 60 different types etc etc etc for example.

*Note it wont always spawn the ammount you set, sometimes a monster cant fit in the space thats available or some such. Monsterspawn will attempt to find it a location and if it cant will move on to the next monster. So if you're adding huge monsters such as titans etc the maps will need to be big or they'll seldom be spawned.

MaxMonstersFromList(0) 20 
Will choose 20 random monsters from MonsterList0
If you have 60 monsters in monsterlist0 it will choose 20 random monsters from the 60 in the list
 monsters
If you have 10 monsters in monsterlist0 it will choose 20 random monsters from the 10 in the list

etc etc

------------
HowManyLists
------------
default = 7

Range is from 1-100.. If set to 1 it will use MonsterList0 only, If set to 2 it will use MonsterList0 and MonsterList1, If set to 3 it will use MonsterList0, MonsterList1 and MonsterList2. etc etc
Monsterlists start at 0 not 1 as in previous versions

Monsterspawn will randomly choose a list each time it loads a map or each time it spawns a new wave of monsters. if set to 7 it will randomly use the first 7 lists
and select one of the 7 to load. Next wave it may select another or depending on random the same one. Random isnt predictable :)
 
This gives you greater variety.


******************************************************************* 
-------------------------------------------------------------------
The lists themselves MonsterList0 to MonsterList99
-------------------------------------------------------------------
*******************************************************************

defaults come pre-configured for examples

These are the hardest to configure so try to avoid typos.

If you add a monsters it *MUST* include the package name and the class name..
If youre adding modded monsters you Must add them to serverpackages if you intend to run a server

examples for lists:
MonsterSpawn304.MSSkaarjwarrior
MonsterSpawn304.MSKrall
MonsterSpawn304.MSMercenary
MyMod.Mymostersname
jurassic.velociraptor  

This is done like this so you can add monsters from other mods and not just standard Unreal ones.

Each List you can add a possible 60 different types of monsters, however you can add one type of monster in as many times as you like. The more times a monster appears in a list the more likely of its chances it will be spawned.(totally random) 

if you have monsterspawn set to spawn 10 monsters from one of the lists it will randomly select 10 possibilities from a list of 60 choices.
Theres no reason you cant fill a list with all the same monster. However if you only want one type of monster to spawn just add it as the first monster and add nothing else in the list. 

IMPORTANT
MonsterLists Must always have a first monster added.. In other words all lists Must have a genuine monster set at the top of the list. You can change the first monster but extra care should be made to make sure you get it right.

if you leave the fields empty thats ok but **DONT leave gaps** monsterspawn wont use any monster after a empty space

eg
 this is ok
     MonsterList0(0)="MonsterSpawn304.MSKrallElite"
     MonsterList1(0)="MonsterSpawn304.MSSkaarjAssassin"
     MonsterList2(0)="MonsterSpawn304.MSSkaarjwarrior"
     MonsterList3(0)="MonsterSpawn304.MSPupae"
     MonsterList4(0)=
     MonsterList5(0)=

But this is no good and in this case monsterspawn would only use the first 2 monsters
     MonsterList0(0)="MonsterSpawn304.MSKrallElite"
     MonsterList1(0)="MonsterSpawn304.MSSkaarjAssassin"
     MonsterList2(0)=
     MonsterList3(0)=
     MonsterList4(0)="MonsterSpawn304.MSMercenary"
     MonsterList5(0)="MonsterSpawn304.MSTentacle"


if you make a typo you will notice cave mantas flying about in your levels and you will also get a warning in your logs, so its best not to add a cave manta in your lists and use this as a warning system.. You see a cave manta, you know somethings wrong.

----------------
Tips on lists
----------------

The larger the monster the harder monsterspawn has to work to find it a spawnable place. I woundnt add any more than 1 or 2 titans to any list that spawns over 5-10 monsters. So dont overdo the larger ones.

You can use only one monster in a list to make sure its always randomly selected and spawn up to 60 of the one type.
eg set one list to spawn a warlord and set thge list to only spawn 10, monsterspawn will attempt to spawn 10 warlords for that wave.

Theres no need to make every monster in the list different, sometimes waves might have a better effect if there's only a couple of different types especially if using a heap of lists.

The more times a monster is placed in the list the more likely it will spawn and vica versa.
eg in one of the lists add 20 pupae and one queen and set the list to spawn 20 monsters. This to avoid filling the level with queens. (altho still randomly possible).

Dont fill your server with 60 monsters every minute, monsterspawn isnt designed to do that and Unreal isnt designed to handle it. Every monster spawns effects, eg projectiles, lighting, carcasses and they all tend to move about the level, If running a server think of the players with slow to medium bandwidth. Not to mention obverkill will most likely annoy a lot of players leaving your server empty.

Try out the example lists before changing them.



************************
Default Unreal Monsters 
************************



MonsterSpawn304_fixed.MSBabyCow (harmless)
MonsterSpawn304_fixed.MSBrute 
MonsterSpawn304_fixed.MSCow     (harmless)
MonsterSpawn304_fixed.MSFly 
MonsterSpawn304_fixed.MSLesserBrute 
MonsterSpawn304_fixed.MSManta 
MonsterSpawn304_fixed.MSNali     (harmless)  
MonsterSpawn304_fixed.MSNaliPriest (harmless)
UnrealShare.NaliRabbit (harmless)
UnrealShare.Bird1 (harmless)
MonsterSpawn304_fixed.MSSkaarjScout 
MonsterSpawn304_fixed.MSSkaarjWarrior 
MonsterSpawn304_fixed.MSSlith 

MonsterSpawn304_fixed.MSBehemoth
MonsterSpawn304_fixed.MSGasbag 
MonsterSpawn304_fixed.MSGiantManta
MonsterSpawn304_fixed.MSGiantGasbag 
MonsterSpawn304_fixed.MSIceSkaarj
MonsterSpawn304_fixed.MSKrall 
MonsterSpawn304_fixed.MSKrallElite 
MonsterSpawn304_fixed.MSMercenary
MonsterSpawn304_fixed.MSMercenaryElite 
MonsterSpawn304_fixed.MSPupae 
MonsterSpawn304_fixed.MSQueen   
MonsterSpawn304_fixed.MSSkaarjAssassin 
MonsterSpawn304_fixed.MSSkaarjBerserker 
MonsterSpawn304_fixed.MSSkaarjLord 
MonsterSpawn304_fixed.MSStoneTitan 
MonsterSpawn304_fixed.MSTitan 
MonsterSpawn304_fixed.MSWarlord 


Monsters with weapons:

MonsterSpawn304_fixed.MSSkaarjTrooper
MonsterSpawn304_fixed.MSSkaarjGunner
MonsterSpawn304_fixed.MSSkaarjInfantry 
MonsterSpawn304_fixed.MSSkaarjOfficer  
MonsterSpawn304_fixed.MSSkaarjSniper 



Dont add these to lists as they require a waterzone, but can be summoned
 and monsterspawn will replace the default Devilfish and Squid with these


MonsterSpawn304_fixed.MSDevilfish
MonsterSpawn304_fixed.MSSquid



***********************
To add modded monsters
***********************

If youre adding modded monsters you Must add them to serverpackages if you intend to run a server
eg
ServerPackages=jurassic
ServerPackages=somemod

Usually in the mod they tell you how to summon one of their monsters.. Just add it to one of the lists
eg. If you see summon somemod.monstersname, add somemod.monstersname to one of the lists.
If they dont tell you how to summon one you can always load up the mod with unrealED and have a look at the class names.
eg.
jurassic.velociraptor



************
UT scoring
************
This is for *UT* ONLY and not Unreal 1

This is so you get a frag for killing a monster in a game that doesnt normally add score for monster kills. Configurable.

By default this is disabled.

Some game types may not allow this. However to enable set 
UseUTMonsterspawnScoring=true

The scoring...Defaults
UTScoreMonstersHealth100=1.0         score for killing a monster less than or equals 100 health
UTScoreMonstersHealth101to500=2.0    score for killing a monster health between 101 -500
UTScoreMonstersHealth501to1000=3.0   score for killing a monster health between 501 -1000 
UTScoreMonstersHealth1001to1500=4.0  score for killing a monster health between 1001 -1500 
UTScoreMonstersHealth1501to2000=5.0  score for killing a monster health between 1501 -2000 
UTScoreMonstersHealthOver2000=6.0    score for killing a monster with over 2000 health   
UTScoreMonsterBossBonus=5.0          EXTRA score for killing a boss (this plus above score)
UTScoreKillingFriemdliesLOSS=5.0     Score you lose for killing a friendly monster (eg Nali,cow)


If the game already score monsrer kills theres no need to add this.



******  
Notes
******

MonsterSpawn was made so I could add various monsters that ive made such as jurassic dinosaurs etc directly to the game itself. So I thought id expand on it and make it so it can do a little more than that and not just be limited to certain monsters. 

Altho monsterspawn can spawn 20 monsters every minute, this will put a lot of stress on your server.. The more often you spawn monsters the less ammount you should try to spawn, 20 is really designed for respawns off or longer periods of time. (note the defaults as a guideline) 
Smaller maps are probably best with less monsters as well. Up to you to find the balance i guess.

Some monsters dont like each other so u can expect a few wars going on from time to time resulting in some of them being killed before u get there.

Bots in most cases will kill monsters, but default Unreal monsters will ignore them, however Monsterspawn's version of the default monsters will fight back or kill a bot on sight.

MonsterSpawn wont spawn Akcoop2 monsters unless Akcoop is running.

Tip dont make monsters too difficult or you may end up as the only player in your server.
Adding too many with high health and high damage and continual frequent spawns may not be enjoyable
Its not advised you set everthing to the max.
It may even be preferred to add just an extra 1/2 dozen or so and have respawns off.
The configurations are meant so you can find a good balance of game play and add extra monsters.

Modded monsters available from my web site
Spinner 3 modded spiders
predator The predator reptile from RTNP
Jurassic various dinosaurs
UmsSpacemarine  space marines 

******************
Whats new in 3.04
******************
Added More lists by request
Monsterspawn now spawns up to 60 monsters in a wave with a possible 100 waves

******************
Whats new in 3.03
******************
Tons of scriptedpawn fixes
Carcass bugs fixed.
Monsterspawn harder difficulty settings, game can be played to difficulty=6.
Added a DamageScale so that all monsters can be set to do more damage  

******************
Whats new in 3.01
******************

Fixed lists not using random monsters over the ammount set in MaxMonstersFromList, where only usning the monsters in the lists below this ammount. Bug as of ver 3.0   

******************
Whats new in 3.01
******************

Fixed spawn points so they no longer block translocator projectiles

******************
Whats new in 3.00
******************

Monsterspawn now spawns up to 60 monsters in a wave with a possible 20 waves.
Ver 3 as it requires a full reinstall.
Added scoring feature for UT ONLY
Improved spawn checks and spawn safeties
Further repairs to the scriptedpawn class
MSDevilfish and MSSquid now attacks bots aswell




******************
Whats new in 2.05
******************

Added a health scaler.

You can now adjust the Health of the Monsters in the lists. Each list has its own scaler.
A greater scale will give them more health, a negative scale will give them less.
To a maximum of plus or minus 90 % more or less health. Note this is for listed monster *ONLY*
Not for ones already in the levels.

Added AllowBosses setting.

Boss monsters gain extra health just by being bosses. If you dont want them to gain extra health this will turn bosses off and reset their health to the monsters default.
This also *ONLY* effects monsters in the lists


******************
Whats new in 2.04
******************

It seems that in Extremely large levels, Queens could get lost with the extra teleporting locations. This isnt a problem unless the level cant end unless the queen is killed.
Anyway Ive add an extra option "AllowQueensXtraTeleports". If set to true will allow MSqueens
the ability to teleport in any level. If set to false Queens will require QueenDests placed in by the mapper to be able to teleport. If no QueenDests MSqueens wont try to teleport at all but normal queens will still try.

Also tweaked the MSqueen. Its less likely to become lost, but still may if a player shoots it from some distant hard to get to place and the MSqueen teleports to the player, or perhaps some other monster attacks it while on its journey.

However MSqueens are more dangerous in that you might get telefragged, I suggest if fighting one and you see it teleport, dont stand still, or even better never stand still when fighting one at all :) 

Queens dont leave the levels they'll be there somewhere :) The queens can still be used set on true or false. 
 

******************
Whats new in 2.03
******************

added various tweaks for "AllowMonsterReplacement" when set to true. Replacing monster uses other skins etc etc.

Renamed package to reflect ver to avoid mismatches.


******************
Whats new in 2.02
******************

Added a collision check.. If the mapper changed the default Collision Size of any of the standard monsters, monsterspawn will alter its own monsters so theyre now the same size as the ones the mapper altered.

added configuration setting "AllowMonsterReplacement" which allows monsterspawn to be able to replace existing monsters with its own version. Default is true. Mainly this is so it can be turned off in case Ive forgotten or havent seen any other options the mapper may change in existing Monsters..  

This value is best left as true

******************
Whats new in 2.01
******************

Not a lot :) Monsters are set in their defaults with skill 3 rather than use Monsterspawn to set their skill higher it can be used to set it lower.

******************
Whats new in 2.00
******************

Monsterspawn comes with its own version of the default monsters found in Unreal and UT.

New monsters will attack bots. Monsterspawn will replace any default ver of Unreal and UT's monster classes with its own version. This is to fix some of the bugs that the standard monsters come with and to allow monsters to attack bots.

Skaarjtrooper now has an automag as a weapon..So if spawned in UT will end up with an Enforcer. Otherwise if left with a dispersionpistol would end up with a impacthammer (Not a good swap).   

Better Queen support, Monsterspawn's version of the Queen can teleport in any level.

Better Tentacle support, tentacles spawn on roofs or hover above. 

All fixes from ver 1.01


******************
Whats new in 1.01
******************

Fixed so monsterspawn no longer destroys any existing monsters that were placed in by the mapper or perhaps another mod.. Only destroys remaining Monsters spawned by itself just before a new wave appears.. Mainly fixed for games such as coop.

Various bug fixes or safeties added. 

To avoid monsters fighting each other a 5 second delay was put in between destroying a wave and the next wave spawning.. (To help stop a new wave monster being shot by a stray rocket or such from an already existing monster.)

New monsters are no longer spawned in front of doors, blocking the exit. However with extremely big doors such as a drawbridge they might still get in the way. Or they might decide to walk there.. O well such is the life of a monster, wait till respawn time.
  
Unreal monsters that have unreal1 weapons can be used in UT.




Cheers
Asgard
  
http://www.angelfire.com/empire/napali/




  






  