Skip to content
Snippets Groups Projects
Commit a2a4d950 authored by pr1n19's avatar pr1n19
Browse files

Updated charm infrastructure & baggage

parent 0d9461d6
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,7 @@ public class CharacterInterface { ...@@ -21,6 +21,7 @@ public class CharacterInterface {
/** /**
* Spend the cost of a charm * Spend the cost of a charm
* motes, willpower, bashing health, lethal health, agg health * motes, willpower, bashing health, lethal health, agg health
* True if personal
*/ */
public static void spendCost(int[] cost, boolean personal){ public static void spendCost(int[] cost, boolean personal){
//Spend the motes //Spend the motes
...@@ -57,7 +58,8 @@ public class CharacterInterface { ...@@ -57,7 +58,8 @@ public class CharacterInterface {
public static CharmList getCharmList() { public static CharmList getCharmList() {
return charmList; return charmList;
} }
public static StaticValues getStaticValues() {
return staticValues;
}
} }
...@@ -2,6 +2,7 @@ package Character; ...@@ -2,6 +2,7 @@ package Character;
import CharmBaggage.Charm; import CharmBaggage.Charm;
import CharmBaggage.Supplemental; import CharmBaggage.Supplemental;
import Charms.CrossedWingsDenial;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -20,7 +21,7 @@ public class CharmList { ...@@ -20,7 +21,7 @@ public class CharmList {
} }
/** /**
* Create array list for each ability * Create array list for each ability & static value
*/ */
private void setUpSupplementalList() { private void setUpSupplementalList() {
//Add all list //Add all list
...@@ -37,6 +38,11 @@ public class CharmList { ...@@ -37,6 +38,11 @@ public class CharmList {
for(String ability: CharacterInterface.getAbilities().getWisdomNames()) { for(String ability: CharacterInterface.getAbilities().getWisdomNames()) {
supplementalCharms.put(ability, new ArrayList<>()); supplementalCharms.put(ability, new ArrayList<>());
} }
//Add Static Lists
supplementalCharms.put("Parry", new ArrayList<>());
supplementalCharms.put("Dodge", new ArrayList<>());
supplementalCharms.put("MentalParry", new ArrayList<>());
supplementalCharms.put("MentalDodge", new ArrayList<>());
} }
/** /**
...@@ -50,6 +56,6 @@ public class CharmList { ...@@ -50,6 +56,6 @@ public class CharmList {
* Add to other charm list * Add to other charm list
*/ */
private void addOtherCharms() { private void addOtherCharms() {
charms.add(new CrossedWingsDenial());
} }
} }
...@@ -16,4 +16,6 @@ public class StaticValues { ...@@ -16,4 +16,6 @@ public class StaticValues {
} }
} }
...@@ -3,11 +3,13 @@ package Character; ...@@ -3,11 +3,13 @@ package Character;
import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleIntegerProperty;
public class Willpower { public class Willpower {
private final SimpleIntegerProperty maximumWillpower;
private final SimpleIntegerProperty willpower; private final SimpleIntegerProperty willpower;
private final int[] virtues; private final int[] virtues;
public Willpower(int compassion, int conviction, int temperance, int valour) { public Willpower(int compassion, int conviction, int temperance, int valour) {
willpower = new SimpleIntegerProperty(10); maximumWillpower = new SimpleIntegerProperty(10);
willpower = new SimpleIntegerProperty(maximumWillpower.getValue());
virtues = new int[]{compassion, conviction, temperance, valour}; virtues = new int[]{compassion, conviction, temperance, valour};
} }
......
...@@ -6,10 +6,12 @@ public abstract class Charm { ...@@ -6,10 +6,12 @@ public abstract class Charm {
protected final String name; protected final String name;
//motes, willpower, bashing health, lethal health, agg health //motes, willpower, bashing health, lethal health, agg health
protected final int[] cost; protected final int[] cost;
//0:Instant, 1:Action, 2:Scene, 3:Indefinite //0:Instant, 1:Short, 2:Scene, 3:Indefinite
protected final int duration; protected final int duration;
//True if combo okay, false otherwise //True if combo okay, false otherwise
protected final boolean comboOkay; protected final boolean comboOkay;
//Single line of text about the charm
protected String note;
public Charm(String charmName, int[] charmCost, int charmDuration, boolean charmComboOkay) { public Charm(String charmName, int[] charmCost, int charmDuration, boolean charmComboOkay) {
...@@ -37,4 +39,12 @@ public abstract class Charm { ...@@ -37,4 +39,12 @@ public abstract class Charm {
public int[] getCost() { public int[] getCost() {
return cost; return cost;
} }
/**
* Get note from charm
*/
public String getNote() {
return note;
}
} }
package CharmBaggage;
/**
* For charms which are used in response to attacks
*/
public interface Counter {
}
package CharmBaggage; package CharmBaggage;
/**
* For charms which apply to ability checks & static values
*/
public interface Supplemental { public interface Supplemental {
} }
...@@ -6,6 +6,7 @@ public class CrossedWingsDenial extends Charm { ...@@ -6,6 +6,7 @@ public class CrossedWingsDenial extends Charm {
public CrossedWingsDenial() { public CrossedWingsDenial() {
super("Crossed Wings Denial", new int[]{0,0,0, 0,0}, 0, true); super("Crossed Wings Denial", new int[]{0,0,0, 0,0}, 0, true);
note = "Perfect Parry, Step 2, No physical attacks next action";
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment