Browse Source

subs limited to cap rank

master
FatBoy-DOTC 2 years ago
parent
commit
d3e05ec247
  1. 2
      src/engine/net/client/handlers/AcceptSubInviteHandler.java
  2. 2
      src/engine/net/client/handlers/InviteToSubHandler.java
  3. 16
      src/engine/objects/Guild.java

2
src/engine/net/client/handlers/AcceptSubInviteHandler.java

@ -75,7 +75,7 @@ public class AcceptSubInviteHandler extends AbstractClientMsgHandler { @@ -75,7 +75,7 @@ public class AcceptSubInviteHandler extends AbstractClientMsgHandler {
//source guild is limited to 7 subs
//TODO this should be based on TOL rank
if (!targetGuild.canSubAGuild(sourceGuild)) {
if (!targetGuild.canSubAGuild(sourceGuild,targetGuild)) {
ErrorPopupMsg.sendErrorPopup(sourcePlayer, 45); // Failure to swear guild
return true;
}

2
src/engine/net/client/handlers/InviteToSubHandler.java

@ -103,7 +103,7 @@ public class InviteToSubHandler extends AbstractClientMsgHandler { @@ -103,7 +103,7 @@ public class InviteToSubHandler extends AbstractClientMsgHandler {
//TODO this should be based on TOL rank
if (!sourceGuild.canSubAGuild(targetGuild)) {
if (!sourceGuild.canSubAGuild(targetGuild, null)) {
sendChat(source, "This Guild can't be subbed.");
return true;
}

16
src/engine/objects/Guild.java

@ -559,17 +559,21 @@ public class Guild extends AbstractWorldObject { @@ -559,17 +559,21 @@ public class Guild extends AbstractWorldObject {
}
public boolean canSubAGuild(Guild toSub){
public boolean canSubAGuild(Guild toSub, Guild nation){
boolean canSub;
if (this.equals(toSub))
return false;
switch(this.guildState){
case Nation:
case Sovereign:
canSub = true;
City nationCap = City.getCity(nation.cityUUID);
if (nation.getSubGuildList().size() >= nationCap.getRank()) {
canSub = false;
return canSub;
}
switch(this.guildState) {
case Nation:
case Sovereign:
canSub = true;
break;
default:
canSub = false;

Loading…
Cancel
Save