From d6d0c1e710e810befa1352fb69c4ae727f10a894 Mon Sep 17 00:00:00 2001 From: xdnw Date: Sat, 20 Jan 2024 02:09:56 +0000 Subject: [PATCH] Add extension treaty type --- build.gradle | 2 +- .../java/link/locutus/discord/apiv1/enums/TreatyType.java | 4 ++-- .../commands/manager/v2/impl/pw/commands/WarCommands.java | 2 +- .../link/locutus/discord/commands/sheets/CounterSheet.java | 2 +- .../java/link/locutus/discord/commands/war/RaidCommand.java | 1 + src/main/java/link/locutus/discord/db/GuildDB.java | 3 +++ src/main/java/link/locutus/discord/db/WarDB.java | 3 +++ .../java/link/locutus/discord/db/entities/DBAlliance.java | 2 ++ 8 files changed, 14 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 320cf492d..3f84a931b 100644 --- a/build.gradle +++ b/build.gradle @@ -100,7 +100,7 @@ dependencies { implementation('org.xerial:sqlite-jdbc:3.41.2.2') implementation 'com.google.code.gson:gson:2.8.9' - implementation 'org.jsoup:jsoup:1.15.3' + implementation 'org.jsoup:jsoup:1.12.1' implementation 'org.bitbucket.cowwoc:diff-match-patch:1.2' implementation ('net.dv8tion:JDA:5.0.0-beta.19') { diff --git a/src/main/java/link/locutus/discord/apiv1/enums/TreatyType.java b/src/main/java/link/locutus/discord/apiv1/enums/TreatyType.java index b88482a5a..ddf6d0245 100644 --- a/src/main/java/link/locutus/discord/apiv1/enums/TreatyType.java +++ b/src/main/java/link/locutus/discord/apiv1/enums/TreatyType.java @@ -13,7 +13,7 @@ public enum TreatyType { NAP(2), NPT(3), - + EXTENSION(9, "Extension"), ; @@ -46,7 +46,7 @@ public int getStrength() { @Command(desc = "If this is a defensive treaty") public boolean isDefensive() { - return this == MDP || this == MDOAP || this == ODP || this == ODOAP || this == PROTECTORATE; + return this == MDP || this == MDOAP || this == ODP || this == ODOAP || this == PROTECTORATE || this == EXTENSION; } @Command(desc = "If this is an offensive treaty") diff --git a/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/WarCommands.java b/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/WarCommands.java index f3a686e87..6106002a2 100644 --- a/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/WarCommands.java +++ b/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/WarCommands.java @@ -3698,7 +3698,7 @@ public String counterSheet(@Me IMessageIO io, @Me GuildDB db, alliesIds.addAll(protectorates); } if (includeMDP) { - alliesIds.addAll(Locutus.imp().getNationDB().getTreaties(aaId, TreatyType.MDP, TreatyType.MDOAP).keySet()); + alliesIds.addAll(Locutus.imp().getNationDB().getTreaties(aaId, TreatyType.MDP, TreatyType.MDOAP, TreatyType.EXTENSION).keySet()); } if (includeODP) { alliesIds.addAll(Locutus.imp().getNationDB().getTreaties(aaId, TreatyType.ODP, TreatyType.ODOAP).keySet()); diff --git a/src/main/java/link/locutus/discord/commands/sheets/CounterSheet.java b/src/main/java/link/locutus/discord/commands/sheets/CounterSheet.java index e218ab36d..9d65cfc73 100644 --- a/src/main/java/link/locutus/discord/commands/sheets/CounterSheet.java +++ b/src/main/java/link/locutus/discord/commands/sheets/CounterSheet.java @@ -79,7 +79,7 @@ public String onCommand(Guild guild, IMessageIO channel, User author, DBNation m allies.addAll(protectorates); } if (includeMDP) { - allies.addAll(Locutus.imp().getNationDB().getTreaties(aaId, TreatyType.MDP, TreatyType.MDOAP).keySet()); + allies.addAll(Locutus.imp().getNationDB().getTreaties(aaId, TreatyType.MDP, TreatyType.MDOAP, TreatyType.EXTENSION).keySet()); } if (includeODP) { allies.addAll(Locutus.imp().getNationDB().getTreaties(aaId, TreatyType.ODP, TreatyType.ODOAP).keySet()); diff --git a/src/main/java/link/locutus/discord/commands/war/RaidCommand.java b/src/main/java/link/locutus/discord/commands/war/RaidCommand.java index 922d42a51..6a6a187e6 100644 --- a/src/main/java/link/locutus/discord/commands/war/RaidCommand.java +++ b/src/main/java/link/locutus/discord/commands/war/RaidCommand.java @@ -145,6 +145,7 @@ public String onCommand(List args, Set flags, DBNation me, Gu Map treaties = Locutus.imp().getNationDB().getTreaties(allianceId); for (Map.Entry aaTreatyEntry : treaties.entrySet()) { switch (aaTreatyEntry.getValue().getType()) { + case EXTENSION: case MDP: case MDOAP: case PROTECTORATE: diff --git a/src/main/java/link/locutus/discord/db/GuildDB.java b/src/main/java/link/locutus/discord/db/GuildDB.java index 378529454..05b6d9240 100644 --- a/src/main/java/link/locutus/discord/db/GuildDB.java +++ b/src/main/java/link/locutus/discord/db/GuildDB.java @@ -2184,6 +2184,7 @@ public boolean isAllyOfRoot(boolean checkWhitelist) { return isAllyOfRoot(type -> { if (type == null) return false; switch (type) { + case EXTENSION: case MDP: case MDOAP: case ODP: @@ -2617,6 +2618,7 @@ public Function getCanRaid(int topX, boolean checkTreaties) { Map treaties = Locutus.imp().getNationDB().getTreaties(allianceId); for (Map.Entry aaTreatyEntry : treaties.entrySet()) { switch (aaTreatyEntry.getValue().getType()) { + case EXTENSION: case MDP: case MDOAP: case PROTECTORATE: @@ -3020,6 +3022,7 @@ public Set getAllies(boolean fetchTreaties) { Map treaties = Locutus.imp().getNationDB().getTreaties(allianceId); for (Map.Entry entry : treaties.entrySet()) { switch (entry.getValue().getType()) { + case EXTENSION: case MDP: case MDOAP: case ODP: diff --git a/src/main/java/link/locutus/discord/db/WarDB.java b/src/main/java/link/locutus/discord/db/WarDB.java index 27ec3bf13..88b66db9d 100644 --- a/src/main/java/link/locutus/discord/db/WarDB.java +++ b/src/main/java/link/locutus/discord/db/WarDB.java @@ -1199,6 +1199,7 @@ public Map.Entry getAACounterStats(int allianceId) { for (Map.Entry entry : Locutus.imp().getNationDB().getTreaties(allianceId).entrySet()) { Treaty treaty = entry.getValue(); switch (treaty.getType()) { + case EXTENSION: case MDP: case MDOAP: case ODP: @@ -1327,6 +1328,7 @@ public CounterStat updateCounter(DBWar war) { Set attAA = new HashSet<>(Collections.singleton(war.getAttacker_aa())); for (Map.Entry entry : Locutus.imp().getNationDB().getTreaties(war.getAttacker_aa()).entrySet()) { switch (entry.getValue().getType()) { + case EXTENSION: case MDP: case MDOAP: case ODP: @@ -1339,6 +1341,7 @@ public CounterStat updateCounter(DBWar war) { Set defAA = new HashSet<>(Collections.singleton(war.getDefender_aa())); for (Map.Entry entry : Locutus.imp().getNationDB().getTreaties(war.getDefender_aa()).entrySet()) { switch (entry.getValue().getType()) { + case EXTENSION: case MDP: case MDOAP: case ODP: diff --git a/src/main/java/link/locutus/discord/db/entities/DBAlliance.java b/src/main/java/link/locutus/discord/db/entities/DBAlliance.java index 44ebe0852..92fb91b8a 100644 --- a/src/main/java/link/locutus/discord/db/entities/DBAlliance.java +++ b/src/main/java/link/locutus/discord/db/entities/DBAlliance.java @@ -355,6 +355,7 @@ public static Set getTopX(int topX, boolean checkTreaty) { Map treaties = Locutus.imp().getNationDB().getTreaties(allianceId); for (Map.Entry aaTreatyEntry : treaties.entrySet()) { switch (aaTreatyEntry.getValue().getType()) { + case EXTENSION: case MDP: case MDOAP: case PROTECTORATE: @@ -926,6 +927,7 @@ private static Set getTreaties(DBAlliance currentAA, Map