Browse Source

Check if towner is in range first

This dramatically reduces the CPU spend finding towners
pull/485/head
Anders Jenbo 6 years ago
parent
commit
520c1515ed
  1. 12
      SourceX/controls/plrctrls.cpp

12
SourceX/controls/plrctrls.cpp

@ -120,8 +120,10 @@ void FindItemOrObject()
void CheckTownersNearby()
{
for (int i = 0; i < 16; i++) {
if (GetDistanceRanged(towner[i]._tx, towner[i]._ty) > 6)
continue;
int distance = GetDistance(towner[i]._tx, towner[i]._ty);
if (distance == 0 || distance > 6)
if (distance == 0 || distance > 2)
continue;
pcursmonst = i;
}
@ -132,10 +134,10 @@ bool HasRangedSpell()
int v = plr[myplr]._pRSpell;
return v != SPL_INVALID
&& v != SPL_TOWN
&& v != SPL_TELEPORT
&& spelldata[v].sTargeted
&& !spelldata[v].sTownSpell;
&& v != SPL_TOWN
&& v != SPL_TELEPORT
&& spelldata[v].sTargeted
&& !spelldata[v].sTownSpell;
}
void CheckMonstersNearby()

Loading…
Cancel
Save