|
|
|
@ -10,7 +10,6 @@ package engine;
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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<PromoteType> requiredClasses; |
|
|
|
|
public final EnumSet<MonsterType> requiredRaces; |
|
|
|
|
public final SexType sexRequired; |
|
|
|
|
public final EnumSet<SexType> sexRequired; |
|
|
|
|
|
|
|
|
|
GuildCharterType(String name, String[][] ranks, String[] leadershipTypes, EnumSet<PromoteType> requiredClasses, |
|
|
|
|
EnumSet<MonsterType> requiredRaces) { |
|
|
|
|
EnumSet<MonsterType> requiredRaces, EnumSet<SexType> 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) { |
|
|
|
|