Browse Source

charter class requirements added

combat-2
MagicBot 9 months ago
parent
commit
4fac0c3921
  1. 72
      src/engine/Enum.java

72
src/engine/Enum.java

@ -2320,7 +2320,8 @@ public class Enum { @@ -2320,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(PromoteType.class),
EnumSet.noneOf(MonsterType.class)),
CATHEDRAL("Church of the All-Father", new String[][]{
{"Acolyte", "Acolyte"},
@ -2333,7 +2334,9 @@ public class Enum { @@ -2333,7 +2334,9 @@ public class Enum {
{"Patriarch", "Matriarch"}},
new String[]{"Thearchy", "Common Rule", "Theocracy", "Republic Rule"},
EnumSet.of(PromoteType.Bard, PromoteType.Channeler, PromoteType.Crusader, PromoteType.Nightstalker,
PromoteType.Prelate, PromoteType.Priest, PromoteType.Sentinel, PromoteType.Scout)),
PromoteType.Prelate, PromoteType.Priest, PromoteType.Sentinel, PromoteType.Scout),
EnumSet.of(MonsterType.Aelfborn, MonsterType.Centaur, MonsterType.Elf, MonsterType.HalfGiant,
MonsterType.Human)),
MILITARY("Military", new String[][]{
{"Recruit"},
{"Footman"},
@ -2345,7 +2348,8 @@ public class Enum { @@ -2345,7 +2348,8 @@ public class Enum {
{"Lord Marshall", "Lady Marshall"}},
new String[]{"Autocracy", "Common Rule", "Council Rule", "Militocracy"},
EnumSet.of(PromoteType.Bard, PromoteType.Priest, PromoteType.Scout, PromoteType.Warlock,
PromoteType.Warrior, PromoteType.Wizard)),
PromoteType.Warrior, PromoteType.Wizard),
EnumSet.of(MonsterType.Centaur, MonsterType.HalfGiant, MonsterType.Human)),
TEMPLE("Temple of the Cleansing Flame", new String[][]{
{"Aspirant"},
{"Novice"},
@ -2358,7 +2362,8 @@ public class Enum { @@ -2358,7 +2362,8 @@ public class Enum {
{"Pontifex", "Pontifectrix"}},
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)),
PromoteType.Nightstalker, PromoteType.Priest, PromoteType.Scout, PromoteType.Templar),
EnumSet.of(MonsterType.HalfGiant, MonsterType.Human)),
BARBARIAN("Barbarian Clan", new String[][]{
{"Barbarian"},
{"Skald"},
@ -2369,7 +2374,8 @@ public class Enum { @@ -2369,7 +2374,8 @@ public class Enum {
{"Thane"}},
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)),
PromoteType.Priest, PromoteType.Scout, PromoteType.Thief, PromoteType.Warrior),
EnumSet.of(MonsterType.Aelfborn, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Minotaur)),
RANGER("Ranger's Brotherhood", new String[][]{
{"Yeoman"},
{"Pathfinder"},
@ -2380,7 +2386,8 @@ public class Enum { @@ -2380,7 +2386,8 @@ public class Enum {
{"Lord Protector", "Lady Protector"}},
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)),
PromoteType.Ranger, PromoteType.Scout, PromoteType.Warrior),
EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Shade)),
AMAZON("Amazon Temple", new String[][]{
{"Amazon Thrall", "Amazon"},
{"Amazon Slave", "Amazon Warrior"},
@ -2390,7 +2397,8 @@ public class Enum { @@ -2390,7 +2397,8 @@ public class Enum {
{"Amazon Regent", "Imperatrix"}},
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)),
PromoteType.Priest, PromoteType.Scout, PromoteType.Warrior, PromoteType.Wizard),
EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.HalfGiant, MonsterType.Human)),
NOBLE("Noble House", new String[][]{
{"Serf"},
{"Vassal"},
@ -2403,7 +2411,8 @@ public class Enum { @@ -2403,7 +2411,8 @@ public class Enum {
{"Emperor", "Empress"}},
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)),
PromoteType.Scout, PromoteType.Thief, PromoteType.Warlock, PromoteType.Warrior, PromoteType.Wizard),
EnumSet.of(MonsterType.Aelfborn, MonsterType.HalfGiant, MonsterType.Human)),
WIZARD("Wizard's Conclave", new String[][]{
{"Apprentice"},
{"Neophyte"},
@ -2414,7 +2423,8 @@ public class Enum { @@ -2414,7 +2423,8 @@ public class Enum {
{"Archmagus"}},
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)),
PromoteType.Fury, PromoteType.Necromancer, PromoteType.Priest, PromoteType.Warlock, PromoteType.Wizard),
EnumSet.of(MonsterType.Aelfborn, MonsterType.Elf, MonsterType.Human, MonsterType.Nephilim, MonsterType.Shade)),
MERCENARY("Mercenary Company", new String[][]{
{"Soldier"},
{"Man-at-Arms"},
@ -2426,7 +2436,8 @@ public class Enum { @@ -2426,7 +2436,8 @@ public class Enum {
{"Warlord"}},
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)),
PromoteType.Thief, PromoteType.Warlock, PromoteType.Warrior),
EnumSet.of(MonsterType.Aelfborn, MonsterType.Aracoix, MonsterType.HalfGiant, MonsterType.Human, MonsterType.Shade)),
THIEVES("Thieve's Den", new String[][]{
{"Urchin"},
{"Footpad"},
@ -2439,7 +2450,9 @@ public class Enum { @@ -2439,7 +2450,9 @@ public class Enum {
{"Grandfather"}},
new String[]{"Despot Rule", "Common Rule", "Oligarchy", "Republic Rule"},
EnumSet.of(PromoteType.Assassin, PromoteType.Barbarian, PromoteType.Bard, PromoteType.Priest,
PromoteType.Scout, PromoteType.Thief, PromoteType.Wizard)),
PromoteType.Scout, PromoteType.Thief, PromoteType.Wizard),
EnumSet.of(MonsterType.Aelfborn, MonsterType.Aracoix, MonsterType.Elf, MonsterType.Human, MonsterType.Irekei,
MonsterType.Nephilim, MonsterType.Shade, MonsterType.Vampire)),
DWARF("Dwarf Hold", new String[][]{
{"Citizen"},
{"Master"},
@ -2449,7 +2462,8 @@ public class Enum { @@ -2449,7 +2462,8 @@ public class Enum {
{"High Thane"}},
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
EnumSet.of(PromoteType.Crusader, PromoteType.Prelate, PromoteType.Priest, PromoteType.Sentinel,
PromoteType.Warrior)),
PromoteType.Warrior),
EnumSet.of(MonsterType.Dwarf)),
HIGHCOURT("High Court", new String[][]{
{"Eccekebe"},
{"Saedulor"},
@ -2463,7 +2477,8 @@ public class Enum { @@ -2463,7 +2477,8 @@ public class Enum {
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
EnumSet.of(PromoteType.Assassin, PromoteType.Bard, PromoteType.Channeler, PromoteType.Druid,
PromoteType.Necromancer, PromoteType.Priest, PromoteType.Ranger, PromoteType.Scout,
PromoteType.Thief, PromoteType.Warrior, PromoteType.Wizard)),
PromoteType.Thief, PromoteType.Warrior, PromoteType.Wizard),
EnumSet.of(MonsterType.Elf, MonsterType.Minotaur)),
VIRAKT("Virakt", new String[][]{
{"Jov'uus"},
{"Urikhan"},
@ -2476,7 +2491,8 @@ public class Enum { @@ -2476,7 +2491,8 @@ public class Enum {
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
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)),
PromoteType.Scout, PromoteType.Thief, PromoteType.Warrior, PromoteType.Wizard),
EnumSet.of(MonsterType.Irekei)),
BRIALIA("Coven of Brialia", new String[][]{ // Unknown Rank names
{"Devotee"},
{"Initiated"},
@ -2487,7 +2503,8 @@ public class Enum { @@ -2487,7 +2503,8 @@ public class Enum {
{"Hierophant"},
{"Witch King", "Witch Queen"}},
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
EnumSet.allOf(PromoteType.class)),
EnumSet.allOf(PromoteType.class),
EnumSet.allOf(MonsterType.class)),
UNHOLY("Unholy Legion", new String[][]{ // Unknown Rank names
{"Footman"},
@ -2501,7 +2518,8 @@ public class Enum { @@ -2501,7 +2518,8 @@ public class Enum {
new String[]{"Despot Rule", "Despot Rule", "Council Rule", "Republic Rule"},
EnumSet.of(PromoteType.Assassin, PromoteType.Channeler, PromoteType.Necromancer, PromoteType.Priest,
PromoteType.Scout, PromoteType.Thief, PromoteType.Warlock, PromoteType.Warrior,
PromoteType.Wizard)),
PromoteType.Wizard),
EnumSet.of(MonsterType.Human, MonsterType.Shade, MonsterType.Vampire)),
SCOURGE("Cult of the Scourge", new String[][]{
{"Thrall"},
{"Mudir"},
@ -2510,7 +2528,8 @@ public class Enum { @@ -2510,7 +2528,8 @@ public class Enum {
{"Dark Father", "Dark Mother"}},
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)),
PromoteType.Scout, PromoteType.Warrior, PromoteType.Wizard),
EnumSet.of(MonsterType.Aelfborn, MonsterType.Human, MonsterType.Minotaur, MonsterType.Nephilim)),
PIRATE("Pirate Crew", new String[][]{
{"Midshipman", "Midshipwoman"},
{"Sailor"},
@ -2519,7 +2538,8 @@ public class Enum { @@ -2519,7 +2538,8 @@ public class Enum {
{"First Mate"},
{"Captain"}},
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
EnumSet.allOf(PromoteType.class)),
EnumSet.allOf(PromoteType.class),
EnumSet.allOf(MonsterType.class)),
HERALD("Academy of Heralds", new String[][]{
{"Pupil"},
{"Scribe"},
@ -2530,7 +2550,8 @@ public class Enum { @@ -2530,7 +2550,8 @@ public class Enum {
{"Archivist"},
{"Loremaster"}},
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
EnumSet.allOf(PromoteType.class)),
EnumSet.allOf(PromoteType.class),
EnumSet.allOf(MonsterType.class)),
CENTAUR("Centaur Cohort", new String[][]{
{"Hoplite"},
{"Peltast"},
@ -2543,7 +2564,8 @@ public class Enum { @@ -2543,7 +2564,8 @@ public class Enum {
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
EnumSet.of(PromoteType.Barbarian, PromoteType.Crusader, PromoteType.Druid, PromoteType.Huntress,
PromoteType.Prelate, PromoteType.Priest, PromoteType.Ranger, PromoteType.Sentinel,
PromoteType.Warrior)),
PromoteType.Warrior),
EnumSet.of(MonsterType.Centaur)),
KHREE("Aracoix Kh'ree", new String[][]{
{"Duriacor"},
{"Exarch"},
@ -2558,21 +2580,23 @@ public class Enum { @@ -2558,21 +2580,23 @@ public class Enum {
new String[]{"Despot Rule", "Common Rule", "Council Rule", "Republic Rule"},
EnumSet.of(PromoteType.Assassin, PromoteType.Barbarian, PromoteType.Bard, PromoteType.Huntress,
PromoteType.Priest, PromoteType.Ranger, PromoteType.Scout, PromoteType.Thief,
PromoteType.Warlock, PromoteType.Warrior));
PromoteType.Warlock, PromoteType.Warrior),
EnumSet.of(MonsterType.Aracoix));
private final String name;
private final String[][] ranks; //Stored Rank#->Gender(M,F)
private final String[] leadershipTypes;
public final EnumSet<PromoteType> requiredClasses;
public final ArrayList<MonsterType> requiredRaces;
public final EnumSet<MonsterType> requiredRaces;
public final SexType sexRequired;
GuildCharterType(String name, String[][] ranks, String[] leadershipTypes, EnumSet<PromoteType> requiredClasses) {
GuildCharterType(String name, String[][] ranks, String[] leadershipTypes, EnumSet<PromoteType> requiredClasses,
EnumSet<MonsterType> requiredRaces) {
this.name = name;
this.ranks = ranks;
this.leadershipTypes = leadershipTypes;
this.requiredClasses = requiredClasses;
this.requiredRaces = DbManager.GuildQueries.LOAD_CHARTER_RACE_RESTRICTIONS(this.name);
this.requiredRaces = requiredRaces;
this.sexRequired = DbManager.GuildQueries.LOAD_CHARTER_SEX_RESTRICTIONS(this.name);
}

Loading…
Cancel
Save