Allow filtering healthbars to only allies.
This commit is contained in:
parent
5d60329642
commit
bd25598655
6 changed files with 21 additions and 8 deletions
|
|
@ -1480,6 +1480,7 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
if ( !cti ) cti = ThinkerIterator.Create("SWWMQuickCombatTracker",Thinker.STAT_INVENTORY);
|
||||
else cti.Reinit();
|
||||
SWWMQuickCombatTracker ct;
|
||||
bool onlyfriends = (swwm_targeter >= 2);
|
||||
while ( ct = SWWMQuickCombatTracker(cti.Next()) )
|
||||
{
|
||||
// this ensures that projection data isn't cached if there are no target array elements, to avoid needless GC thrashing
|
||||
|
|
@ -1499,6 +1500,8 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
if ( (ct.Owner == CPlayer.mo) || (ct.Owner == cam) ) continue;
|
||||
// ignore trackers not of this player
|
||||
if ( ct.myplayer != CPlayer ) continue;
|
||||
// ignore enemies if filtering friends
|
||||
if ( onlyfriends && (!ct.Owner.IsFriend(CPlayer.mo) || ct.Owner.player) ) continue;
|
||||
// ignore trackers clearly outside of player view
|
||||
Vector3 smpos = level.Vec3Offset(SWWMUtility.LerpVector3(ct.Owner.prev,ct.Owner.pos,fractic),(0,0,ct.lvheight));
|
||||
Vector3 tdir = level.Vec3Diff(viewpos,smpos);
|
||||
|
|
@ -1565,6 +1568,8 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
if ( (ct.Owner == CPlayer.mo) || (ct.Owner == cam) ) continue;
|
||||
// ignore trackers not of this player
|
||||
if ( ct.myplayer != CPlayer ) continue;
|
||||
// ignore enemies if filtering friends
|
||||
if ( onlyfriends && !ct.Owner.IsFriend(CPlayer.mo) ) continue;
|
||||
// ignore trackers clearly outside of player view
|
||||
Vector3 smpos = level.Vec3Offset(SWWMUtility.LerpVector3(ct.Owner.prev,ct.Owner.pos,fractic),(0,0,ct.lvheight));
|
||||
Vector3 tdir = level.Vec3Diff(viewpos,smpos);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue