bane mechanic complete - working
This commit is contained in:
@@ -762,13 +762,15 @@ public final class Bane {
|
|||||||
float attackerMultiplier = ZergManager.getCurrentMultiplier(attackerSize,this.capSize);
|
float attackerMultiplier = ZergManager.getCurrentMultiplier(attackerSize,this.capSize);
|
||||||
float defenderMultiplier = ZergManager.getCurrentMultiplier(defenderSize,this.capSize);
|
float defenderMultiplier = ZergManager.getCurrentMultiplier(defenderSize,this.capSize);
|
||||||
for(int uuid : attackers){
|
for(int uuid : attackers){
|
||||||
if(city._playerMemory.contains(uuid)) //player is still physically here, needs updated multiplier
|
PlayerCharacter player = PlayerCharacter.getPlayerCharacter(uuid);
|
||||||
PlayerCharacter.getPlayerCharacter(uuid).ZergMultiplier = attackerMultiplier;
|
if(inSiegeRange.contains(player)) //player is still physically here, needs updated multiplier
|
||||||
|
player.ZergMultiplier = attackerMultiplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int uuid : defenders){
|
for(int uuid : defenders){
|
||||||
if(city._playerMemory.contains(uuid)) //player is still physically here, needs updated multiplier
|
PlayerCharacter player = PlayerCharacter.getPlayerCharacter(uuid);
|
||||||
PlayerCharacter.getPlayerCharacter(uuid).ZergMultiplier = defenderMultiplier;
|
if(inSiegeRange.contains(player)) //player is still physically here, needs updated multiplier
|
||||||
|
player.ZergMultiplier = defenderMultiplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1063,15 +1063,19 @@ public class City extends AbstractWorldObject {
|
|||||||
|
|
||||||
private void onExitBane() {
|
private void onExitBane() {
|
||||||
Iterator<Integer> iterator = this.baneAttendees.keySet().iterator();
|
Iterator<Integer> iterator = this.baneAttendees.keySet().iterator();
|
||||||
|
ArrayList<Integer> toRemove = new ArrayList<>();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
Integer uuid = iterator.next();
|
Integer uuid = iterator.next();
|
||||||
if (!_playerMemory.contains(uuid)) {
|
if (!_playerMemory.contains(uuid)) {
|
||||||
long timeGone = System.currentTimeMillis() - this.baneAttendees.get(uuid).longValue();
|
long timeGone = System.currentTimeMillis() - this.baneAttendees.get(uuid).longValue();
|
||||||
if (timeGone > 180000) { // 3 minutes
|
if (timeGone > 180000L) { // 3 minutes
|
||||||
iterator.remove();
|
toRemove.add(uuid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for(int uuid : toRemove){
|
||||||
|
this.baneAttendees.remove(uuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user