Added per-defender /siege cooldown.
15 minutes to rebuild, log out, relocate, etc.
This commit is contained in:
parent
e353afb1a7
commit
ae9d57e6ed
|
|
@ -849,6 +849,7 @@ public abstract class DataStore
|
|||
|
||||
PlayerData defenderData = this.getPlayerData(siegeData.defender.getUniqueId());
|
||||
defenderData.siegeData = null;
|
||||
defenderData.lastSiegeEndTimeStamp = System.currentTimeMillis();
|
||||
|
||||
//start a cooldown for this attacker/defender pair
|
||||
Long now = Calendar.getInstance().getTimeInMillis();
|
||||
|
|
@ -946,6 +947,17 @@ public abstract class DataStore
|
|||
this.siegeCooldownRemaining.remove(attacker.getName() + "_" + defender.getName());
|
||||
}
|
||||
|
||||
//look for genderal defender cooldown
|
||||
PlayerData defenderData = this.getPlayerData(defender.getUniqueId());
|
||||
if(defenderData.lastSiegeEndTimeStamp > 0)
|
||||
{
|
||||
long now = System.currentTimeMillis();
|
||||
if(now - defenderData.lastSiegeEndTimeStamp > 1000 * 60 * 15) //15 minutes in milliseconds
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//look for an attacker/claim cooldown
|
||||
if(cooldownEnd == null && this.siegeCooldownRemaining.get(attacker.getName() + "_" + defenderClaim.getOwnerName()) != null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -79,6 +79,9 @@ public class PlayerData
|
|||
//timestamp of last death, for use in preventing death message spam
|
||||
long lastDeathTimeStamp = 0;
|
||||
|
||||
//timestamp when last siege ended (where this player was the defender)
|
||||
long lastSiegeEndTimeStamp = 0;
|
||||
|
||||
//whether the player was kicked (set and used during logout)
|
||||
boolean wasKicked = false;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user