87 lines
2.7 KiB
Java
87 lines
2.7 KiB
Java
package witchGame;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class Equipment extends Item {
|
|
|
|
// private String name;
|
|
// private int cost;
|
|
private ArrayList<Condition> constantEffects;
|
|
private ArrayList<Condition> abilityEffects;
|
|
// private TargetType abilityTarget;
|
|
// private int maxAbilityUses;
|
|
// private int abilityUses;
|
|
|
|
@Override
|
|
public String toString() {
|
|
String toString = "Equipment: " + name + "\nEquipslot: " + equipSlot + "\n";
|
|
if (constantEffects.size() > 0) {
|
|
toString += "Wearer has: \n";
|
|
for (Condition condition : constantEffects) {
|
|
toString += condition.toString();
|
|
}
|
|
}
|
|
if (abilityEffects.size() > 0) {
|
|
toString += "Ability:\n";
|
|
switch (abilityTarget) {
|
|
case Self: toString += "Apply to Self\n"; break;
|
|
case Enemy: toString += "Apply to Target Enemy\n"; break;
|
|
case AllEnemies: toString += "Apply to All Enemies\n"; break;
|
|
default: break;
|
|
}
|
|
for (Condition condition : abilityEffects) {
|
|
toString += condition.toString();
|
|
}
|
|
}
|
|
|
|
return toString;
|
|
}
|
|
|
|
|
|
public Equipment(String name, EquipmentType equipSlot, int cost, ArrayList<Condition> constantEffects,
|
|
ArrayList<Condition> abilityEffects, TargetType abilityTarget, int maxAbilityUses) {
|
|
super();
|
|
this.name = name;
|
|
this.equipSlot = equipSlot;
|
|
this.cost = cost;
|
|
this.constantEffects = constantEffects;
|
|
this.abilityEffects = abilityEffects;
|
|
this.abilityTarget = abilityTarget;
|
|
this.maxAbilityUses = maxAbilityUses;
|
|
this.abilityUses = this.maxAbilityUses;
|
|
}
|
|
|
|
public Equipment(String name, EquipmentType equipSlot, int cost, ArrayList<Condition> constantEffects) {
|
|
super();
|
|
this.name = name;
|
|
this.equipSlot = equipSlot;
|
|
this.cost = cost;
|
|
this.constantEffects = constantEffects;
|
|
this.abilityEffects = null;
|
|
this.abilityTarget = null;
|
|
this.maxAbilityUses = 0;
|
|
this.abilityUses = this.maxAbilityUses;
|
|
}
|
|
|
|
public Equipment(String name, EquipmentType equipSlot, int cost, ArrayList<Condition> abilityEffects,
|
|
TargetType abilityTarget, int maxAbilityUses) {
|
|
super();
|
|
this.name = name;
|
|
this.equipSlot = equipSlot;
|
|
this.cost = cost;
|
|
this.constantEffects = null;
|
|
this.abilityEffects = abilityEffects;
|
|
this.abilityTarget = abilityTarget;
|
|
this.maxAbilityUses = maxAbilityUses;
|
|
this.abilityUses = this.maxAbilityUses;
|
|
}
|
|
|
|
|
|
public static ArrayList<Equipment> equipmentList = new ArrayList<Equipment>();
|
|
|
|
static {
|
|
equipmentList.add(new Equipment("Breastplate", EquipmentType.Chest, 750, new ArrayList<Condition>(List.of(new Condition(ConditionType.ModifierOnAC, 999, 6), new Condition(ConditionType.DisadvantageOnAttacks, 999))))); //
|
|
}
|
|
|
|
} |