You'd think that but just yesterday I played long corridor and (for example) I was able to walk untouched nearly the entire length of the skaarj room because they were all grouped together fighting each other. I'll post a test map later tonight and you can judge for yourself.
@ninja: It's not so much "monster to monster" as "monster to scriptedpawn". And yes, trust me there are literal multitudes of checks done constantly by the engine. Most people have no idea how incredibly much is going on in the background. I know in UT2004 you can put "stat all" and it will give you a running commentary on a bunch of engine stuff as it is happening, though I'm not sure if that works in UT.
To give you an idea of whats going on, if a krall simply fires a weapon at you that action probably called close to fifty different assorted functions (big guess here, it may very well be more) just so you can see that one weapon shot. No imagine a room full of krall and toss in environmentals, gravity, bsp calculations, etc etc etc...The more I understand about OOP the more I am amazed at what is going on and how fast it is done.
Update: Here's a copy of Minas Tirith with the monsters all redone. There are no other changes except a script injection to stop the monsters from recognizing each other at all. You tell me if you can't tell they are WAY more aggressive:
And please, this is a testmap. Don't try to post it on a server. Let me do it right, this is a test map I made for myself.
Lastly, here is a screen i took off the server tonight. It's MH-City and I stood there while these two groups fought each other:
I thought like-species would never fight each other, but something is over-riding that. I'll look up the code and see whats up.
Added after 6 hours 49 minutes:
OK, Skillz we are both right. Here's why:
In this map the monster is a SkaarjInfantry. Now the entire script for that monster consists of a weapon change from SkaarjTrooper. I looked in Skaarj trooper and there is no friend/enemy code so I looked in Skaarj, the parent to this monster and here it is:
Code: Select all
function eAttitude AttitudeToCreature(Pawn Other)
if ( Other.IsA('Skaarj') )
if ( Other.IsA('SkaarjBerserker') )
else if ( Other.IsA('Pupae') )
else if ( Other.IsA('Nali') )
else if ( Other.IsA('WarLord') || Other.IsA('Queen') )
which says in short that a pupae, Skaarj, warlord or SkaarjBerserker are all buddies but that's all. That's why the SkaarjInfantry are fighting. They were subclassed without an addition to the buddy list
This is probably the same reason the gasbags and Skaarj fight in long corridor. As a further check I injected the NOFF code into them and it stopped the infighting immediately also.