From 2ea38519e4426643b709f4216768308305d41b9f Mon Sep 17 00:00:00 2001 From: MagicBot Date: Fri, 9 Feb 2024 13:48:15 -0500 Subject: [PATCH] charter sex requirements added --- src/engine/Enum.java | 70 ++++++++++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 25 deletions(-) diff --git a/src/engine/Enum.java b/src/engine/Enum.java index 5131f1da..629b2dfc 100644 --- a/src/engine/Enum.java +++ b/src/engine/Enum.java @@ -10,7 +10,6 @@ package engine; import ch.claude_martin.enumbitset.EnumBitSetHelper; import engine.gameManager.ConfigManager; -import engine.gameManager.DbManager; import engine.gameManager.PowersManager; import engine.gameManager.ZoneManager; import engine.math.Vector2f; @@ -2321,7 +2320,8 @@ public class Enum { public enum GuildCharterType { NONE("None", new String[][]{{"None"}}, new String[]{"Thearchy", "Common Rule", "Theocracy", "Republic Rule"}, EnumSet.noneOf(PromoteType.class), - EnumSet.noneOf(MonsterType.class)), + EnumSet.noneOf(MonsterType.class), + EnumSet.noneOf(SexType.class)), CATHEDRAL("Church of the All-Father", new String[][]{ {"Acolyte", "Acolyte"}, @@ -2336,7 +2336,8 @@ public class Enum { EnumSet.of(PromoteType.Bard, PromoteType.Channeler, PromoteType.Crusader, PromoteType.Nightstalker, PromoteType.Prelate, PromoteType.Priest, PromoteType.Sentinel, PromoteType.Scout), EnumSet.of(MonsterType.Aelfborn, MonsterType.Centaur, MonsterType.Elf, MonsterType.HalfGiant, - MonsterType.Human)), + MonsterType.Human), + EnumSet.allOf(SexType.class)), MILITARY("Military", new String[][]{ {"Recruit"}, {"Footman"}, @@ -2349,7 +2350,8 @@ public class Enum { new String[]{"Autocracy", "Common Rule", "Council Rule", "Militocracy"}, EnumSet.of(PromoteType.Bard, PromoteType.Priest, PromoteType.Scout, PromoteType.Warlock, PromoteType.Warrior, PromoteType.Wizard), - EnumSet.of(MonsterType.Centaur, MonsterType.HalfGiant, MonsterType.Human)), + EnumSet.of(MonsterType.Centaur, MonsterType.HalfGiant, MonsterType.Human), + EnumSet.allOf(SexType.class)), TEMPLE("Temple of the Cleansing Flame", new String[][]{ {"Aspirant"}, {"Novice"}, @@ -2363,7 +2365,8 @@ public class Enum { new String[]{"Despot Rule", "Common Rule", "Protectorship", "Republic Rule"}, EnumSet.of(PromoteType.Assassin, PromoteType.Bard, PromoteType.Channeler, PromoteType.Confessor, PromoteType.Nightstalker, PromoteType.Priest, PromoteType.Scout, PromoteType.Templar), - EnumSet.of(MonsterType.HalfGiant, MonsterType.Human)), + EnumSet.of(MonsterType.HalfGiant, MonsterType.Human), + EnumSet.allOf(SexType.class)), BARBARIAN("Barbarian Clan", new String[][]{ {"Barbarian"}, {"Skald"}, @@ -2375,7 +2378,8 @@ public class Enum { new String[]{"Chiefdom", "Common Rule", "Council Rule", "Republic Rule"}, EnumSet.of(PromoteType.Barbarian, PromoteType.Bard, PromoteType.Doomsayer, PromoteType.Fury, PromoteType.Priest, PromoteType.Scout, PromoteType.Thief, PromoteType.Warrior), - EnumSet.of(MonsterType.Aelfborn, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Minotaur)), + EnumSet.of(MonsterType.Aelfborn, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Minotaur), + EnumSet.allOf(SexType.class)), RANGER("Ranger's Brotherhood", new String[][]{ {"Yeoman"}, {"Pathfinder"}, @@ -2387,7 +2391,8 @@ public class Enum { new String[]{"Despot Rule", "Collectivism", "Council Rule", "Republic Rule"}, EnumSet.of(PromoteType.Bard, PromoteType.Channeler, PromoteType.Druid, PromoteType.Priest, PromoteType.Ranger, PromoteType.Scout, PromoteType.Warrior), - EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Shade)), + EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Shade), + EnumSet.allOf(SexType.class)), AMAZON("Amazon Temple", new String[][]{ {"Amazon Thrall", "Amazon"}, {"Amazon Slave", "Amazon Warrior"}, @@ -2398,7 +2403,8 @@ public class Enum { new String[]{"Despot Rule", "Common Rule", "Gynarchy", "Gynocracy"}, EnumSet.of(PromoteType.Bard, PromoteType.Druid, PromoteType.Fury, PromoteType.Huntress, PromoteType.Priest, PromoteType.Scout, PromoteType.Warrior, PromoteType.Wizard), - EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.HalfGiant, MonsterType.Human)), + EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.HalfGiant, MonsterType.Human), + EnumSet.of(SexType.FEMALE)), NOBLE("Noble House", new String[][]{ {"Serf"}, {"Vassal"}, @@ -2412,7 +2418,8 @@ public class Enum { new String[]{"Monarchy", "Common Rule", "Feodality", "Republic"}, EnumSet.of(PromoteType.Assassin, PromoteType.Bard, PromoteType.Channeler, PromoteType.Priest, PromoteType.Scout, PromoteType.Thief, PromoteType.Warlock, PromoteType.Warrior, PromoteType.Wizard), - EnumSet.of(MonsterType.Aelfborn, MonsterType.HalfGiant, MonsterType.Human)), + EnumSet.of(MonsterType.Aelfborn, MonsterType.HalfGiant, MonsterType.Human), + EnumSet.allOf(SexType.class)), WIZARD("Wizard's Conclave", new String[][]{ {"Apprentice"}, {"Neophyte"}, @@ -2424,7 +2431,8 @@ public class Enum { new String[]{"Despot Rule", "Common Rule", "Council Rule", "Magocracy"}, EnumSet.of(PromoteType.Assassin, PromoteType.Bard, PromoteType.Channeler, PromoteType.Doomsayer, PromoteType.Fury, PromoteType.Necromancer, PromoteType.Priest, PromoteType.Warlock, PromoteType.Wizard), - EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.Human, MonsterType.Nephilim, MonsterType.Shade)), + EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.Human, MonsterType.Nephilim, MonsterType.Shade), + EnumSet.allOf(SexType.class)), MERCENARY("Mercenary Company", new String[][]{ {"Soldier"}, {"Man-at-Arms"}, @@ -2437,7 +2445,8 @@ public class Enum { new String[]{"Magistrature", "Mob Law", "Council Rule", "Republic Rule"}, EnumSet.of(PromoteType.Assassin, PromoteType.Bard, PromoteType.Priest, PromoteType.Scout, PromoteType.Thief, PromoteType.Warlock, PromoteType.Warrior), - EnumSet.of(MonsterType.Aelfborn, MonsterType.Aracoix, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Shade)), + EnumSet.of(MonsterType.Aelfborn, MonsterType.Aracoix, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Shade), + EnumSet.allOf(SexType.class)), THIEVES("Thieve's Den", new String[][]{ {"Urchin"}, {"Footpad"}, @@ -2452,7 +2461,8 @@ public class Enum { EnumSet.of(PromoteType.Assassin, PromoteType.Barbarian, PromoteType.Bard, PromoteType.Priest, PromoteType.Scout, PromoteType.Thief, PromoteType.Wizard), EnumSet.of(MonsterType.Aelfborn, MonsterType.Aracoix, MonsterType.Elf, MonsterType.Human, MonsterType.Irekei, - MonsterType.Nephilim, MonsterType.Shade, MonsterType.Vampire)), + MonsterType.Nephilim, MonsterType.Shade, MonsterType.Vampire), + EnumSet.allOf(SexType.class)), DWARF("Dwarf Hold", new String[][]{ {"Citizen"}, {"Master"}, @@ -2463,7 +2473,8 @@ public class Enum { new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"}, EnumSet.of(PromoteType.Crusader, PromoteType.Prelate, PromoteType.Priest, PromoteType.Sentinel, PromoteType.Warrior), - EnumSet.of(MonsterType.Dwarf)), + EnumSet.of(MonsterType.Dwarf), + EnumSet.allOf(SexType.class)), HIGHCOURT("High Court", new String[][]{ {"Eccekebe"}, {"Saedulor"}, @@ -2478,7 +2489,8 @@ public class Enum { EnumSet.of(PromoteType.Assassin, PromoteType.Bard, PromoteType.Channeler, PromoteType.Druid, PromoteType.Necromancer, PromoteType.Priest, PromoteType.Ranger, PromoteType.Scout, PromoteType.Thief, PromoteType.Warrior, PromoteType.Wizard), - EnumSet.of(MonsterType.Elf, MonsterType.Minotaur)), + EnumSet.of(MonsterType.Elf, MonsterType.Minotaur), + EnumSet.allOf(SexType.class)), VIRAKT("Virakt", new String[][]{ {"Jov'uus"}, {"Urikhan"}, @@ -2492,7 +2504,8 @@ public class Enum { EnumSet.of(PromoteType.Assassin, PromoteType.Bard, PromoteType.Channeler, PromoteType.Fury, PromoteType.Huntress, PromoteType.Nightstalker, PromoteType.Priest, PromoteType.Ranger, PromoteType.Scout, PromoteType.Thief, PromoteType.Warrior, PromoteType.Wizard), - EnumSet.of(MonsterType.Irekei)), + EnumSet.of(MonsterType.Irekei), + EnumSet.allOf(SexType.class)), BRIALIA("Coven of Brialia", new String[][]{ // Unknown Rank names {"Devotee"}, {"Initiated"}, @@ -2504,7 +2517,8 @@ public class Enum { {"Witch King", "Witch Queen"}}, new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"}, EnumSet.allOf(PromoteType.class), - EnumSet.allOf(MonsterType.class)), + EnumSet.allOf(MonsterType.class), + EnumSet.allOf(SexType.class)), UNHOLY("Unholy Legion", new String[][]{ // Unknown Rank names {"Footman"}, @@ -2519,7 +2533,8 @@ public class Enum { EnumSet.of(PromoteType.Assassin, PromoteType.Channeler, PromoteType.Necromancer, PromoteType.Priest, PromoteType.Scout, PromoteType.Thief, PromoteType.Warlock, PromoteType.Warrior, PromoteType.Wizard), - EnumSet.of(MonsterType.Human, MonsterType.Shade, MonsterType.Vampire)), + EnumSet.of(MonsterType.Human, MonsterType.Shade, MonsterType.Vampire), + EnumSet.allOf(SexType.class)), SCOURGE("Cult of the Scourge", new String[][]{ {"Thrall"}, {"Mudir"}, @@ -2529,7 +2544,8 @@ public class Enum { new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"}, EnumSet.of(PromoteType.Bard, PromoteType.Channeler, PromoteType.Doomsayer, PromoteType.Priest, PromoteType.Scout, PromoteType.Warrior, PromoteType.Wizard), - EnumSet.of(MonsterType.Aelfborn, MonsterType.Human, MonsterType.Minotaur, MonsterType.Nephilim)), + EnumSet.of(MonsterType.Aelfborn, MonsterType.Human, MonsterType.Minotaur, MonsterType.Nephilim), + EnumSet.allOf(SexType.class)), PIRATE("Pirate Crew", new String[][]{ {"Midshipman", "Midshipwoman"}, {"Sailor"}, @@ -2539,7 +2555,8 @@ public class Enum { {"Captain"}}, new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"}, EnumSet.allOf(PromoteType.class), - EnumSet.allOf(MonsterType.class)), + EnumSet.allOf(MonsterType.class), + EnumSet.allOf(SexType.class)), HERALD("Academy of Heralds", new String[][]{ {"Pupil"}, {"Scribe"}, @@ -2551,7 +2568,8 @@ public class Enum { {"Loremaster"}}, new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"}, EnumSet.allOf(PromoteType.class), - EnumSet.allOf(MonsterType.class)), + EnumSet.allOf(MonsterType.class), + EnumSet.allOf(SexType.class)), CENTAUR("Centaur Cohort", new String[][]{ {"Hoplite"}, {"Peltast"}, @@ -2565,7 +2583,8 @@ public class Enum { EnumSet.of(PromoteType.Barbarian, PromoteType.Crusader, PromoteType.Druid, PromoteType.Huntress, PromoteType.Prelate, PromoteType.Priest, PromoteType.Ranger, PromoteType.Sentinel, PromoteType.Warrior), - EnumSet.of(MonsterType.Centaur)), + EnumSet.of(MonsterType.Centaur), + EnumSet.allOf(SexType.class)), KHREE("Aracoix Kh'ree", new String[][]{ {"Duriacor"}, {"Exarch"}, @@ -2581,23 +2600,24 @@ public class Enum { EnumSet.of(PromoteType.Assassin, PromoteType.Barbarian, PromoteType.Bard, PromoteType.Huntress, PromoteType.Priest, PromoteType.Ranger, PromoteType.Scout, PromoteType.Thief, PromoteType.Warlock, PromoteType.Warrior), - EnumSet.of(MonsterType.Aracoix)); + EnumSet.of(MonsterType.Aracoix), + EnumSet.allOf(SexType.class)); private final String name; private final String[][] ranks; //Stored Rank#->Gender(M,F) private final String[] leadershipTypes; public final EnumSet requiredClasses; public final EnumSet requiredRaces; - public final SexType sexRequired; + public final EnumSet sexRequired; GuildCharterType(String name, String[][] ranks, String[] leadershipTypes, EnumSet requiredClasses, - EnumSet requiredRaces) { + EnumSet requiredRaces, EnumSet sexRequired) { this.name = name; this.ranks = ranks; this.leadershipTypes = leadershipTypes; this.requiredClasses = requiredClasses; this.requiredRaces = requiredRaces; - this.sexRequired = DbManager.GuildQueries.LOAD_CHARTER_SEX_RESTRICTIONS(this.name); + this.sexRequired = sexRequired; } public static GuildCharterType getGuildTypeFromCharter(ItemBase itemBase) {