Retire the "suckables list" + some fixes.
This commit is contained in:
parent
d4043c2353
commit
ea7582852b
9 changed files with 135 additions and 230 deletions
|
|
@ -323,10 +323,9 @@ Class GhostTarget : Actor
|
|||
// player made noise or is visible again
|
||||
if ( !master || (LastHeard == master) || !master.FindInventory("GhostPower") )
|
||||
{
|
||||
let hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
|
||||
if ( hnd ) foreach ( a:hnd.suckableactors )
|
||||
foreach ( s:level.Sectors ) for ( Actor a=s.thinglist; a; a=a.snext )
|
||||
{
|
||||
if ( !a || !a.bISMONSTER || a.player || !a.IsHostile(master) || (a.Health <= 0) ) continue;
|
||||
if ( !a.bISMONSTER || a.player || !a.IsHostile(master) || (a.Health <= 0) ) continue;
|
||||
if ( a.target == self ) a.target = master;
|
||||
}
|
||||
Destroy();
|
||||
|
|
@ -387,11 +386,10 @@ Class GhostPower : Powerup
|
|||
Super.DoEffect();
|
||||
if ( !Owner ) return;
|
||||
// are any enemies targetting us? if so, make them focus on a fake target located where we currently are standing
|
||||
let hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
|
||||
Actor gt = null;
|
||||
if ( hnd ) foreach ( a:hnd.suckableactors )
|
||||
foreach ( s:level.Sectors ) for ( Actor a=s.thinglist; a; a=a.snext )
|
||||
{
|
||||
if ( !a || !a.bISMONSTER || a.player || !a.IsHostile(Owner) || (a.Health <= 0) ) continue;
|
||||
if ( !a.bISMONSTER || a.player || !a.IsHostile(Owner) || (a.Health <= 0) ) continue;
|
||||
// make them forget the ghost if we make noise
|
||||
if ( (a.LastHeard == Owner) && (a.target is 'GhostTarget') && (a.target.master == Owner) )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue