combatcounter: Someones keyboard fucking broke

This commit is contained in:
sdburns1998
2019-07-07 03:24:17 +02:00
parent de7244a704
commit 3891c73b5b

View File

@@ -290,7 +290,9 @@ public class CombatCounter extends Plugin
ticks = 3; ticks = 3;
} }
if (counter.containsKey(name)) if (counter.containsKey(name))
{
ticks += counter.get(name); ticks += counter.get(name);
}
counter.put(name, ticks); counter.put(name, ticks);
counter = sortByValue(counter); counter = sortByValue(counter);
@@ -379,13 +381,17 @@ public class CombatCounter extends Plugin
{ {
NPCDamageCounter dc = new NPCDamageCounter(); NPCDamageCounter dc = new NPCDamageCounter();
if (this.npcDamageMap.containsKey(target)) if (this.npcDamageMap.containsKey(target))
{
dc = this.npcDamageMap.get(target); dc = this.npcDamageMap.get(target);
}
for (Integer tick : ticksToAdd) for (Integer tick : ticksToAdd)
{ {
List<String> attackers = new ArrayList<>(); List<String> attackers = new ArrayList<>();
if (dc.attackers.containsKey(tick)) if (dc.attackers.containsKey(tick))
{
attackers = dc.attackers.get(tick); attackers = dc.attackers.get(tick);
}
attackers.add(name); attackers.add(name);
dc.attackers.put(tick, attackers); dc.attackers.put(tick, attackers);
@@ -425,7 +431,9 @@ public class CombatCounter extends Plugin
for (Player p : this.client.getPlayers()) for (Player p : this.client.getPlayers())
{ {
if (p.getName() != null) if (p.getName() != null)
{
visible.put(p.getName(), p); visible.put(p.getName(), p);
}
} }
for (NPC npc : new ArrayList<>(this.npcDamageMap.keySet())) for (NPC npc : new ArrayList<>(this.npcDamageMap.keySet()))
@@ -442,7 +450,9 @@ public class CombatCounter extends Plugin
double totalDamage = 0d; double totalDamage = 0d;
for (Integer damage : counter.damage) for (Integer damage : counter.damage)
{
totalDamage += damage; totalDamage += damage;
}
if (attackers.containsKey(-1)) if (attackers.containsKey(-1))
{ {
@@ -454,7 +464,9 @@ public class CombatCounter extends Plugin
{ {
double count = 0d; double count = 0d;
if (this.playerDamage.containsKey(name)) if (this.playerDamage.containsKey(name))
{
count = this.playerDamage.get(name); count = this.playerDamage.get(name);
}
count += damagePerPlayer; count += damagePerPlayer;
this.playerDamage.put(name, count); this.playerDamage.put(name, count);
@@ -475,11 +487,17 @@ public class CombatCounter extends Plugin
// } // }
for (Integer i : new ArrayList<>(attackers.keySet())) for (Integer i : new ArrayList<>(attackers.keySet()))
{
if (i <= -1) if (i <= -1)
{
attackers.remove(i); attackers.remove(i);
}
}
if (attackers.isEmpty()) if (attackers.isEmpty())
{
this.npcDamageMap.remove(npc); this.npcDamageMap.remove(npc);
}
} }
this.playerDamage = sortByValue(this.playerDamage); this.playerDamage = sortByValue(this.playerDamage);
@@ -508,20 +526,26 @@ public class CombatCounter extends Plugin
NPCDamageCounter dc = new NPCDamageCounter(); NPCDamageCounter dc = new NPCDamageCounter();
if (this.npcDamageMap.containsKey(npc)) if (this.npcDamageMap.containsKey(npc))
{
dc = this.npcDamageMap.get(npc); dc = this.npcDamageMap.get(npc);
}
int delay = this.calculateBPDelay(distance); int delay = this.calculateBPDelay(distance);
List<Integer> counts = new ArrayList<>(); List<Integer> counts = new ArrayList<>();
counts.add(delay); counts.add(delay);
if (delay > 2) if (delay > 2)
{
counts.add(delay - 1); counts.add(delay - 1);
}
for (int tick : counts) for (int tick : counts)
{ {
List<String> attackers = new ArrayList<>(); List<String> attackers = new ArrayList<>();
if (dc.attackers.containsKey(tick)) if (dc.attackers.containsKey(tick))
{
attackers = dc.attackers.get(tick); attackers = dc.attackers.get(tick);
}
attackers.add(user); attackers.add(user);
dc.attackers.put(tick, attackers); dc.attackers.put(tick, attackers);
@@ -545,12 +569,16 @@ public class CombatCounter extends Plugin
Actor actor = event.getActor(); Actor actor = event.getActor();
if (!(actor instanceof NPC)) if (!(actor instanceof NPC))
{
return; return;
}
NPC npc = (NPC) actor; NPC npc = (NPC) actor;
if (!this.npcDamageMap.containsKey(npc)) if (!this.npcDamageMap.containsKey(npc))
{
return; return;
}
Hitsplat splat = event.getHitsplat(); Hitsplat splat = event.getHitsplat();
NPCDamageCounter dc = this.npcDamageMap.get(npc); NPCDamageCounter dc = this.npcDamageMap.get(npc);
@@ -586,6 +614,7 @@ public class CombatCounter extends Plugin
int distance = wpNPC.distanceTo(wpPlayer); int distance = wpNPC.distanceTo(wpPlayer);
if (size > 1) if (size > 1)
{
for (int x = 0; x < size; x++) for (int x = 0; x < size; x++)
{ {
for (int y = 0; y < size; y++) for (int y = 0; y < size; y++)
@@ -598,6 +627,8 @@ public class CombatCounter extends Plugin
} }
} }
} }
}
return distance; return distance;
} }