ucc.init.log
and dozens more... BTW I noticed that some Devilfishes (eg "Devilfish2") does not cause a problemDevilfish MH-FightOn.Devilfish1 (Function UnrealShare.ScriptedPawn.SetEnemy:0029) Accessed None
Devilfish MH-FightOn.Devilfish1 (Function UnrealShare.ScriptedPawn.SetEnemy:0031) Accessed None
Devilfish MH-FightOn.Devilfish3 (Function UnrealShare.ScriptedPawn.SetEnemy:0029) Accessed None
Devilfish MH-FightOn.Devilfish3 (Function UnrealShare.ScriptedPawn.SetEnemy:0031) Accessed None
Devilfish MH-FightOn.Devilfish5 (Function UnrealShare.ScriptedPawn.SetEnemy:0029) Accessed None
Devilfish MH-FightOn.Devilfish5 (Function UnrealShare.ScriptedPawn.SetEnemy:0031) Accessed None
Devilfish MH-FightOn.Devilfish6 (Function UnrealShare.ScriptedPawn.SetEnemy:0029) Accessed None
Devilfish MH-FightOn.Devilfish6 (Function UnrealShare.ScriptedPawn.SetEnemy:0031) Accessed None
Then I removed the fishes and added a CreatureFactory that produces DevilFishes: bingo.
A closer look at the SpawnPoint code that creates the factories' prototype lead my attention to this line
Code: Select all
function bool Create() {
[...]
ScriptedPawn(newcreature).SetEnemy(pawnFactory.enemy);
[...]
Code: Select all
01 function bool SetEnemy( Pawn NewEnemy )
02 {
03 local bool result;
04 local eAttitude newAttitude, oldAttitude;
05 local bool noOldEnemy;
06 local float newStrength;
07
08 if ( !bCanWalk && !bCanFly && !NewEnemy.FootRegion.Zone.bWaterZone )
09 return false;
10 if ( (NewEnemy == Self) || (NewEnemy == None) || (NewEnemy.Health <= 0) )
11 return false;
So the actual problem is in ScriptedPawn.SetEnemy(), not in SpawnPoint.Create().
My solution for the Pawns created by a factory was easy, because I've substituted the Thing- and CreatureFactories by my own versions already, and now they create their prototypes by themselves - SpawnPoint.Create() isn't used any more.
But one question remains for me: why were there two Accessed None per DevilFish? The function SetEnemie returns in line 11 after evaluation of (NewEnemy == None), which should be TRUE there...