Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Adeptus Custodes Relics
  • Loading branch information
ZorgVomGork committed Mar 5, 2019
1 parent c838b87 commit a5aa361
Show file tree
Hide file tree
Showing 6 changed files with 210 additions and 77 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -43,4 +43,5 @@ buildNumber.properties
.classpath
.project
.settings/
.metadata/
bin/
4 changes: 3 additions & 1 deletion src/main/java/oc/KeyWord.java
Expand Up @@ -19,6 +19,7 @@ public enum KeyWord {
HERETIC_ASTARTES,
TYRANIDS,
GENESTEALER_CULTS,
ADEPTUS_CUSTODES,

//Keywords
CHARACTER,
Expand Down Expand Up @@ -180,5 +181,6 @@ public enum KeyWord {
SANCTUS,
KELERMORPH,
NEXOS,
BIOPHAGUS
BIOPHAGUS,
SHIELD_CAPTAIN,
}
165 changes: 165 additions & 0 deletions src/main/java/oc/wh40k/units/im/IMAdeptusCustodesRuestkammer.java
@@ -0,0 +1,165 @@
package oc.wh40k.units.im;

import static oc.KeyWord.*;

import java.util.Set;

import javax.sound.sampled.FloatControl.Type;

import com.google.common.collect.ImmutableSet;

import oc.*;

public class IMAdeptusCustodesRuestkammer extends RuestkammerVater {

public OptionsEinzelUpgrade oe1;
private OptionsUpgradeGruppe o1, o2, o3, o4, o5, o6;
private String default1 = "";
private String default2 = "";
private boolean character = false;
private OptionsEinzelUpgrade raimentOfSorrows;
private OptionsEinzelUpgrade eaglesEye;
private OptionsEinzelUpgrade auricAquilas;
private OptionsEinzelUpgrade thePraetorianPlate;

static final Set<String> CHARACTERS = ImmutableSet.of("Lord of Contagion", "Malignant Plaguecaster", "Daemon Prince of Nurgle", "Daemon Prince of Nurgle with Wings",
"Chaos Lord", "Chaos Lord in Terminator Armour", "Sorcerer", "Sorcerer in Terminator Armour", "", "Necrosius the Undying [FW]", "Noxious Blightbringer", "Foul Blightspawn", "Biologus Putrifier", "Plague Surgeon", "Tallyman");

public IMAdeptusCustodesRuestkammer() {
grundkosten = 0;
}

public void setType(String s) {
type = s;
}

public void setDefault1(String s) {
default1 = s;
}

public void setDefault2(String s) {
default2 = s;
}

public void addRelics() {

for(int i = 0; i < ogE.size(); i++) {

if(ogE.get(i).getName().equals("Guardian spear")){
ogE.addElement(new OptionsGruppeEintrag("Gatekeeper", getPts("Guardian spear (AC)")).setRelic(true));
}
if(ogE.get(i).getName().equals("Sentinel blade")){
ogE.addElement(new OptionsGruppeEintrag("The veiled Blade", getPts("Sentinel blade")).setRelic(true));
}
}
}

@Override
public void initButtons(boolean... defaults) {
checkBuildaVater();
character = CHARACTERS.contains(type) || keywords.contains(CHARACTER);
int offsetX = randAbstand;

add(raimentOfSorrows = new OptionsEinzelUpgrade(ID, randAbstand, cnt, "", "Raiment of Sorrows", 0).setRelic(true));
add(eaglesEye = new OptionsEinzelUpgrade(ID, randAbstand, cnt, "", "Eagle's Eye", 0).setRelic(true));
add(auricAquilas = new OptionsEinzelUpgrade(ID, randAbstand, cnt, "", "Auric Aquilas", 0).setRelic(true));
add(thePraetorianPlate = new OptionsEinzelUpgrade(ID, randAbstand, cnt, "", "The Preatorian Plate", 0).setRelic(true));

offsetX += buttonBreite + 15;
seperator();


if(type.equals("Shield Captain")) {
ogE.addElement(new OptionsGruppeEintrag("Guardian spear", getPts("Guardian spear (AC)")));
ogE.addElement(new OptionsGruppeEintrag("Sentinel blade", getPts("Sentinel blade")));
ogE.addElement(new OptionsGruppeEintrag("Castellan axe", getPts("Castellan axe")));
ogE.addElement(new OptionsGruppeEintrag("Sentinel blade & Storm shield", getPts("Sentinel blade") + getPts("Storm shield (AC Characters)")));
addRelics();
add(o1 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
o1.setSelected(0, true);

seperator();
} else if(type.equals("Shield Captain in Allarus Terminator Armour")){
ogE.addElement(new OptionsGruppeEintrag("Guardian spear", getPts("Guardian spear (AC)")));
ogE.addElement(new OptionsGruppeEintrag("Castellan axe", getPts("Castellan axe")));
addRelics();
add(o1 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
o1.setSelected(0, true);

seperator();

ogE.addElement(new OptionsGruppeEintrag("Balistus grenade launcher", getPts("Balistus grenade launcher")));
add(o2 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
addRelics();
o2.setSelected(0, true);

seperator();
} else if(type.equals("Shield Captain on Dawneagle Jetbike")){
ogE.addElement(new OptionsGruppeEintrag("Interceptor lance", getPts("Interceptor lance")));
add(o1 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
addRelics();
o1.setSelected(0, true);

seperator();

ogE.addElement(new OptionsGruppeEintrag("Hurricane bolter", getPts("Hurrican bolter (AC)")));
ogE.addElement(new OptionsGruppeEintrag("Salvo launcher", getPts("Salvo launcher")));
add(o2 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
addRelics();
o2.setSelected(0, true);

seperator();
}

if(o1 != null) {
o1.getPanel().setLocation(offsetX, 10);
offsetX += buttonBreite + 20;
}

if(o2 != null) {
o2.getPanel().setLocation(offsetX, 10);
offsetX += buttonBreite + 20;
}

if(o3 != null) {
o3.getPanel().setLocation(offsetX, 10);
offsetX += buttonBreite + 20;
}

if(o4 != null) {
o4.getPanel().setLocation(offsetX, 10);
offsetX += buttonBreite + 20;
}

if(o5 != null) {
o5.getPanel().setLocation(offsetX, 10);
}

sizeSetzen();

}

@Override
public Object getSpecialValue() {
return 0;
}

@Override
public void refreshen() {

if(type.equals("Shield Captain")){
o1.alwaysSelected();
}
if(type.equals("Shield Captain in Allarus Terminator Armour") ||
type.equals("Shield Captain on Dawneagle Jetbike")){
o1.alwaysSelected();
o2.alwaysSelected();
}

raimentOfSorrows.setAktiv((chosenRelic == null || raimentOfSorrows.isSelected()));
eaglesEye.setAktiv(((chosenRelic == null || eaglesEye.isSelected())));
auricAquilas.setAktiv(((chosenRelic == null || auricAquilas.isSelected()) && keywords.contains(BIKER)));
thePraetorianPlate.setAktiv((chosenRelic == null || thePraetorianPlate.isSelected()) && keywords.contains(TERMINATOR));
}

}
36 changes: 14 additions & 22 deletions src/main/java/oc/wh40k/units/im/IMShieldCaptain.java
@@ -1,47 +1,39 @@
package oc.wh40k.units.im;

import static oc.KeyWord.IMPERIUM;
import static oc.KeyWord.ADEPTUS_CUSTODES;
import static oc.KeyWord.INFANTRY;
import static oc.KeyWord.CHARACTER;
import static oc.KeyWord.SHIELD_CAPTAIN;

import oc.Eintrag;

import oc.OptionsEinzelUpgrade;

import oc.OptionsGruppeEintrag;

import oc.OptionsUpgradeGruppe;
import oc.RuestkammerStarter;
public class IMShieldCaptain extends Eintrag {

private final OptionsUpgradeGruppe o1;

public IMShieldCaptain() {
super(IMPERIUM, ADEPTUS_CUSTODES, CHARACTER, INFANTRY, SHIELD_CAPTAIN);

name = "Shield Captain";
grundkosten = getPts("Shield Captain");
power = 7;

ogE.addElement(new OptionsGruppeEintrag("Guardian spear", getPts("Guardian spear (AC)")));
ogE.addElement(new OptionsGruppeEintrag("Sentinel blade", getPts("Sentinel blade")));
ogE.addElement(new OptionsGruppeEintrag("Castellan axe", getPts("Castellan axe")));
ogE.addElement(new OptionsGruppeEintrag("Sentinel blade & Storm shield", getPts("Sentinel blade") + getPts("Storm shield (AC Characters)")));
add(o1 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
o1.setSelected(0, true);

seperator();

add(new OptionsEinzelUpgrade(ID, randAbstand, cnt, "", "Misericordia", getPts("Misericordia")));

seperator();

addWeapons(IMAdeptusCustodesRuestkammer.class, true);

seperator();

addWarlordTraits("", true);

complete();
}



@Override

public void refreshen() {
o1.alwaysSelected();
}
}

}

@@ -1,52 +1,39 @@
package oc.wh40k.units.im;

import static oc.KeyWord.ADEPTUS_CUSTODES;
import static oc.KeyWord.CHARACTER;
import static oc.KeyWord.IMPERIUM;
import static oc.KeyWord.INFANTRY;
import static oc.KeyWord.SHIELD_CAPTAIN;
import static oc.KeyWord.TERMINATOR;

import oc.Eintrag;

import oc.OptionsEinzelUpgrade;

import oc.OptionsGruppeEintrag;

import oc.OptionsUpgradeGruppe;
import oc.RuestkammerStarter;

public class IMShieldCaptaininAllarusTerminatorArmour extends Eintrag {

private final OptionsUpgradeGruppe o1, o2;

public IMShieldCaptaininAllarusTerminatorArmour() {
super(IMPERIUM, ADEPTUS_CUSTODES, CHARACTER, INFANTRY, SHIELD_CAPTAIN, TERMINATOR);

name = "Shield Captain in Allarus Terminator Armour";
grundkosten = getPts("Shield-Captain in Allarus Terminator Armour");
power = 8;

ogE.addElement(new OptionsGruppeEintrag("Guardian spear", getPts("Guardian spear (AC)")));
ogE.addElement(new OptionsGruppeEintrag("Castellan axe", getPts("Castellan axe")));
add(o1 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
o1.setSelected(0, true);

seperator();

ogE.addElement(new OptionsGruppeEintrag("Balistus grenade launcher", getPts("Balistus grenade launcher")));
add(o2 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
o2.setSelected(0, true);

seperator();

add(new OptionsEinzelUpgrade(ID, randAbstand, cnt, "", "Misericordia", getPts("Misericordia")));

seperator();

addWeapons(IMAdeptusCustodesRuestkammer.class, true);

seperator();

addWarlordTraits("", true);

complete();

}

@Override

public void refreshen() {
o1.alwaysSelected();
o2.alwaysSelected();
}

}

@@ -1,53 +1,39 @@
package oc.wh40k.units.im;

import static oc.KeyWord.ADEPTUS_CUSTODES;
import static oc.KeyWord.CHARACTER;
import static oc.KeyWord.IMPERIUM;
import static oc.KeyWord.INFANTRY;
import static oc.KeyWord.SHIELD_CAPTAIN;
import static oc.KeyWord.FLY;
import static oc.KeyWord.BIKER;

import oc.Eintrag;

import oc.OptionsEinzelUpgrade;

import oc.OptionsGruppeEintrag;

import oc.OptionsUpgradeGruppe;
import oc.RuestkammerStarter;

public class IMShieldCaptainonDawneagleJetbike extends Eintrag {

private final OptionsUpgradeGruppe o1, o2;

public IMShieldCaptainonDawneagleJetbike() {
super(IMPERIUM, ADEPTUS_CUSTODES, CHARACTER, INFANTRY, SHIELD_CAPTAIN, BIKER, FLY);

name = "Shield Captain on Dawneagle Jetbike";
grundkosten = getPts("Shield-Captain on Dawneagle Jetbike");
power = 9;

ogE.addElement(new OptionsGruppeEintrag("Interceptor lance", getPts("Interceptor lance")));
add(o1 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
o1.setSelected(0, true);

seperator();

ogE.addElement(new OptionsGruppeEintrag("Hurricane bolter", getPts("Hurrican bolter (AC)")));
ogE.addElement(new OptionsGruppeEintrag("Salvo launcher", getPts("Salvo launcher")));
add(o2 = new OptionsUpgradeGruppe(ID, randAbstand, cnt, "", ogE));
o2.setSelected(0, true);

seperator();

add(new OptionsEinzelUpgrade(ID, randAbstand, cnt, "", "Misericordia", getPts("Misericordia")));

seperator();

addWeapons(IMAdeptusCustodesRuestkammer.class, true);

seperator();

addWarlordTraits("", true);

complete();
}



@Override

public void refreshen() {
o1.alwaysSelected();
o2.alwaysSelected();
}

}

0 comments on commit a5aa361

Please sign in to comment.