Try to fix potential crash on level transition.
This commit is contained in:
parent
643c6a1f52
commit
7b6ae844ae
2 changed files with 14 additions and 7 deletions
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r507 \cu(Tue 25 May 08:32:49 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r507 \cu(2021-05-25 08:32:49)\c-";
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r508 \cu(Wed 26 May 09:10:45 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r508 \cu(2021-05-26 09:10:45)\c-";
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ extend Class SWWMHandler
|
|||
// for minimap
|
||||
Array<int> ffsectors;
|
||||
|
||||
Array<Key> mapkeys;
|
||||
Array<Class<Key> > mapkeys;
|
||||
|
||||
// level end stats
|
||||
override void WorldUnloaded( WorldEvent e )
|
||||
|
|
@ -78,9 +78,14 @@ extend Class SWWMHandler
|
|||
bool collected = false;
|
||||
for ( int i=0; i<mapkeys.Size(); i++ )
|
||||
{
|
||||
if ( !mapkeys[i].Owner || !mapkeys[i].Owner.player ) continue;
|
||||
collected = true;
|
||||
break;
|
||||
for ( int j=0; j<MAXPLAYERS; j++ )
|
||||
{
|
||||
if ( !playeringame[j] || !players[j].mo ) continue;
|
||||
if ( !players[j].mo.FindInventory(mapkeys[i]) ) continue;
|
||||
collected = true;
|
||||
break;
|
||||
}
|
||||
if ( collected ) break;
|
||||
}
|
||||
if ( !collected ) SWWMUtility.MarkAchievement('swwm_achievement_cliffyb',players[consoleplayer]);
|
||||
}
|
||||
|
|
@ -278,7 +283,9 @@ extend Class SWWMHandler
|
|||
while ( k = Key(ti.Next()) )
|
||||
{
|
||||
if ( k.Owner ) continue;
|
||||
mapkeys.Push(k);
|
||||
if ( mapkeys.Find(k.GetClass()) < mapkeys.Size() )
|
||||
continue;
|
||||
mapkeys.Push(k.GetClass());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue