added filter: only check when zones contains towers
This commit is contained in:
parent
2ea9a0161b
commit
42e413012d
1 changed files with 28 additions and 25 deletions
|
|
@ -1006,32 +1006,35 @@ namespace TShockAPI
|
||||||
/// <param name="args">The packet arguments that the event has.</param>
|
/// <param name="args">The packet arguments that the event has.</param>
|
||||||
internal void OnPlayerZone(object sender, GetDataHandlers.PlayerZoneEventArgs args)
|
internal void OnPlayerZone(object sender, GetDataHandlers.PlayerZoneEventArgs args)
|
||||||
{
|
{
|
||||||
bool hasSolarTower = false;
|
if(args.Zone2[1] || args.Zone2[2] || args.Zone2[3] || args.Zone2[4])
|
||||||
bool hasVortexTower = false;
|
|
||||||
bool hasNebulaTower = false;
|
|
||||||
bool hasStardustTower = false;
|
|
||||||
|
|
||||||
// May need to optimize
|
|
||||||
foreach (var npc in Main.npc)
|
|
||||||
{
|
{
|
||||||
if (npc.netID == NPCID.LunarTowerSolar)
|
bool hasSolarTower = false;
|
||||||
hasSolarTower = true;
|
bool hasVortexTower = false;
|
||||||
else if (npc.netID == NPCID.LunarTowerVortex)
|
bool hasNebulaTower = false;
|
||||||
hasVortexTower = true;
|
bool hasStardustTower = false;
|
||||||
else if (npc.netID == NPCID.LunarTowerNebula)
|
|
||||||
hasNebulaTower = true;
|
|
||||||
else if (npc.netID == NPCID.LunarTowerStardust)
|
|
||||||
hasStardustTower = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if((args.Zone2[1] && !hasSolarTower)
|
// May need to optimize
|
||||||
|| (args.Zone2[2] && !hasVortexTower)
|
foreach (var npc in Main.npc)
|
||||||
|| (args.Zone2[3] && !hasNebulaTower)
|
{
|
||||||
|| (args.Zone2[4] && !hasStardustTower)
|
if (npc.netID == NPCID.LunarTowerSolar)
|
||||||
)
|
hasSolarTower = true;
|
||||||
{
|
else if (npc.netID == NPCID.LunarTowerVortex)
|
||||||
args.Handled = true;
|
hasVortexTower = true;
|
||||||
return;
|
else if (npc.netID == NPCID.LunarTowerNebula)
|
||||||
|
hasNebulaTower = true;
|
||||||
|
else if (npc.netID == NPCID.LunarTowerStardust)
|
||||||
|
hasStardustTower = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((args.Zone2[1] && !hasSolarTower)
|
||||||
|
|| (args.Zone2[2] && !hasVortexTower)
|
||||||
|
|| (args.Zone2[3] && !hasNebulaTower)
|
||||||
|
|| (args.Zone2[4] && !hasStardustTower)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
args.Handled = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue