Merged some changes

This commit is contained in:
Olof Larsson 2011-10-12 17:28:00 +02:00
commit 2566edfd8c
4 changed files with 12 additions and 55 deletions

View File

@ -127,7 +127,7 @@ permissions:
factions.managewarzone:
description: claim land as a war zone and build/destroy within war zones
factions.map:
description: show territory map, set optional auto update
description: show the territory map, and set optional auto update
factions.mod:
description: give or revoke moderator rights
factions.noboom:

View File

@ -621,14 +621,8 @@ public class Faction extends Entity implements EconomyParticipator
public boolean playerHasOwnershipRights(FPlayer fplayer, FLocation loc)
{
// different faction?
if (fplayer.getFactionId() != this.getId())
{
return false;
}
// sufficient role to bypass ownership?
if (fplayer.getRole().isAtLeast(Conf.ownedAreaModeratorsBypass ? Role.MODERATOR : Role.ADMIN))
if (fplayer.getFaction() == this && fplayer.getRole().isAtLeast(Conf.ownedAreaModeratorsBypass ? Role.MODERATOR : Role.ADMIN))
{
return true;
}

View File

@ -44,7 +44,7 @@ public class CmdOwnerList extends FCommand
FLocation flocation = new FLocation(fme);
if (Board.getIdAt(flocation) != myFaction.getId())
if (Board.getFactionAt(flocation) != myFaction)
{
if (!hasBypass)
{

View File

@ -27,7 +27,6 @@ public enum Relation
return this.nicename;
}
// TODO: Insane way to use enums!!!?
public boolean isMember()
{
return this == MEMBER;
@ -61,123 +60,87 @@ public enum Relation
public ChatColor getColor()
{
if (this == MEMBER)
{
return Conf.colorMember;
}
else if (this == ALLY)
{
return Conf.colorAlly;
}
else if (this == NEUTRAL)
{
return Conf.colorNeutral;
}
else
{
return Conf.colorEnemy;
}
}
// return appropriate Conf setting for DenyBuild based on this relation and their online status
public boolean confDenyBuild(boolean online)
{
if (isMember())
return false;
if (online)
{
if (isEnemy())
{
return Conf.territoryEnemyDenyBuild;
}
else if (isAlly())
{
return Conf.territoryAllyDenyBuild;
}
else
{
return Conf.territoryDenyBuild;
}
}
else
{
if (isEnemy())
{
return Conf.territoryEnemyDenyBuildWhenOffline;
}
else if (isAlly())
{
return Conf.territoryAllyDenyBuildWhenOffline;
}
else
{
return Conf.territoryDenyBuildWhenOffline;
}
}
}
// return appropriate Conf setting for PainBuild based on this relation and their online status
public boolean confPainBuild(boolean online)
{
if (isMember())
return false;
if (online)
{
if (isEnemy())
{
return Conf.territoryEnemyPainBuild;
}
else if (isAlly())
{
return Conf.territoryAllyPainBuild;
}
else
{
return Conf.territoryPainBuild;
}
}
else
{
if (isEnemy())
{
return Conf.territoryEnemyPainBuildWhenOffline;
}
else if (isAlly())
{
return Conf.territoryAllyPainBuildWhenOffline;
}
else
{
return Conf.territoryPainBuildWhenOffline;
}
}
}
// return appropriate Conf setting for DenyUseage based on this relation
public boolean confDenyUseage()
{
if (isEnemy())
{
if (isMember())
return false;
else if (isEnemy())
return Conf.territoryEnemyDenyUseage;
}
else if (isAlly())
{
return Conf.territoryAllyDenyUseage;
}
else
{
return Conf.territoryDenyUseage;
}
}
public double getRelationCost()
{
if (isEnemy())
{
return Conf.econCostEnemy;
}
else if (isAlly())
{
return Conf.econCostAlly;
}
else
{
return Conf.econCostNeutral;
}
}
}