Adding in offline explosion protection per default.

This commit is contained in:
Olof Larsson
2013-08-23 10:45:27 +02:00
parent fa0a2fb90a
commit 549aaaf494
4 changed files with 45 additions and 5 deletions

View File

@ -897,7 +897,7 @@ public class Faction extends Entity<Faction> implements EconomyParticipator
}
}
return ret;
}
}
public List<UPlayer> getUPlayersWhereRole(Rel role)
{
@ -1008,7 +1008,40 @@ public class Faction extends Entity<Faction> implements EconomyParticipator
Factions.get().log("Faction "+this.getName()+" ("+this.getId()+") leader was removed. Replacement leader: "+replacements.get(0).getName());
}
}
// -------------------------------------------- //
// FACTION ONLINE STATE
// -------------------------------------------- //
public boolean isAllUPlayersOffline()
{
return this.getUPlayersWhereOnline(true).size() == 0;
}
public boolean isAnyUPlayersOnline()
{
return !this.isAllUPlayersOffline();
}
public boolean isFactionConsideredOffline()
{
return this.isAllUPlayersOffline();
}
public boolean isFactionConsideredOnline()
{
return !this.isFactionConsideredOffline();
}
public boolean isExplosionsAllowed()
{
boolean explosions = this.getFlag(FFlag.EXPLOSIONS);
boolean offlineexplosions = this.getFlag(FFlag.OFFLINE_EXPLOSIONS);
boolean online = this.isFactionConsideredOnline();
return (online && explosions) || (!online && offlineexplosions);
}
// -------------------------------------------- //
// MESSAGES
// -------------------------------------------- //

View File

@ -102,6 +102,7 @@ public class FactionColl extends Coll<Faction>
faction.setFlag(FFlag.FRIENDLYFIRE, false);
faction.setFlag(FFlag.MONSTERS, true);
faction.setFlag(FFlag.EXPLOSIONS, true);
faction.setFlag(FFlag.OFFLINE_EXPLOSIONS, true);
faction.setFlag(FFlag.FIRESPREAD, true);
faction.setFlag(FFlag.ENDERGRIEF, true);
@ -134,6 +135,7 @@ public class FactionColl extends Coll<Faction>
faction.setFlag(FFlag.FRIENDLYFIRE, false);
faction.setFlag(FFlag.MONSTERS, false);
faction.setFlag(FFlag.EXPLOSIONS, false);
faction.setFlag(FFlag.OFFLINE_EXPLOSIONS, false);
faction.setFlag(FFlag.FIRESPREAD, false);
faction.setFlag(FFlag.ENDERGRIEF, false);
@ -166,6 +168,7 @@ public class FactionColl extends Coll<Faction>
faction.setFlag(FFlag.FRIENDLYFIRE, true);
faction.setFlag(FFlag.MONSTERS, true);
faction.setFlag(FFlag.EXPLOSIONS, true);
faction.setFlag(FFlag.OFFLINE_EXPLOSIONS, true);
faction.setFlag(FFlag.FIRESPREAD, true);
faction.setFlag(FFlag.ENDERGRIEF, true);