Upload files to "WitchGame"
This commit is contained in:
parent
988d211db6
commit
a18e15592b
18
WitchGame/DamageType.java
Normal file
18
WitchGame/DamageType.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package witchGame;
|
||||||
|
|
||||||
|
public enum DamageType {
|
||||||
|
None,
|
||||||
|
Acid,
|
||||||
|
Bludgeoning,
|
||||||
|
Cold,
|
||||||
|
Fire,
|
||||||
|
Force,
|
||||||
|
Lightning,
|
||||||
|
Necrotic,
|
||||||
|
Piercing,
|
||||||
|
Poison,
|
||||||
|
Psychic,
|
||||||
|
Radiant,
|
||||||
|
Slashing,
|
||||||
|
Thunder,
|
||||||
|
}
|
||||||
434
WitchGame/Enemy.java
Normal file
434
WitchGame/Enemy.java
Normal file
@ -0,0 +1,434 @@
|
|||||||
|
package witchGame;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
//import com.sun.tools.javac.code.Attribute.Array;
|
||||||
|
|
||||||
|
public class Enemy {
|
||||||
|
private String name = "Enemy";
|
||||||
|
private int maxHealth = 1;
|
||||||
|
private int health = 1;
|
||||||
|
private int healthDie = 0;
|
||||||
|
private int healthOf = 0;
|
||||||
|
private int healthBonus = 0;
|
||||||
|
private int armorClass = 10;
|
||||||
|
private DamageType[] resistances;
|
||||||
|
private DamageType[] vulnerabilities;
|
||||||
|
private int strength = 0;
|
||||||
|
private int dexterity = 0;
|
||||||
|
private int constitution = 0;
|
||||||
|
private int intelligence = 0;
|
||||||
|
private int wisdom = 0;
|
||||||
|
private int charisma = 0;
|
||||||
|
private EnemyAttack[] attacks; //new EnemyAttack(1, "Rake", 1, 1, 4, -1, 2)
|
||||||
|
private int CR = 0;
|
||||||
|
private int[] biome;
|
||||||
|
private ArrayList<Condition> conditions;
|
||||||
|
|
||||||
|
public Enemy(String name, int healthDie, int healthOf, int healthBonus, int armorClass, DamageType[] resistances, DamageType[] vulnerabilities,
|
||||||
|
int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, EnemyAttack[] attacks, int CR, int[] biome) {
|
||||||
|
this.name = name;
|
||||||
|
this.healthDie = healthDie;
|
||||||
|
this.healthOf = healthOf;
|
||||||
|
this.healthBonus = healthBonus;
|
||||||
|
this.armorClass = armorClass;
|
||||||
|
this.resistances = resistances;
|
||||||
|
this.vulnerabilities = vulnerabilities;
|
||||||
|
this.strength = strength;
|
||||||
|
this.dexterity = dexterity;
|
||||||
|
this.constitution = constitution;
|
||||||
|
this.intelligence = intelligence;
|
||||||
|
this.wisdom = wisdom;
|
||||||
|
this.charisma = charisma;
|
||||||
|
this.attacks = attacks;
|
||||||
|
this.CR = CR;
|
||||||
|
this.biome = biome;
|
||||||
|
this.conditions = new ArrayList<Condition>();
|
||||||
|
this.calcHealth();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Enemy(String name, int healthDie, int healthOf, int healthBonus, int armorClass, DamageType[] resistances, DamageType[] vulnerabilities,
|
||||||
|
int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, EnemyAttack[] attacks, int CR, int[] biome, ArrayList<Condition> conditions) {
|
||||||
|
this.name = name;
|
||||||
|
this.healthDie = healthDie;
|
||||||
|
this.healthOf = healthOf;
|
||||||
|
this.healthBonus = healthBonus;
|
||||||
|
this.armorClass = armorClass;
|
||||||
|
this.resistances = resistances;
|
||||||
|
this.vulnerabilities = vulnerabilities;
|
||||||
|
this.strength = strength;
|
||||||
|
this.dexterity = dexterity;
|
||||||
|
this.constitution = constitution;
|
||||||
|
this.intelligence = intelligence;
|
||||||
|
this.wisdom = wisdom;
|
||||||
|
this.charisma = charisma;
|
||||||
|
this.attacks = attacks;
|
||||||
|
this.CR = CR;
|
||||||
|
this.biome = biome;
|
||||||
|
this.conditions = conditions;
|
||||||
|
this.calcHealth();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHealth() {
|
||||||
|
return health;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMaxHealth() {
|
||||||
|
return maxHealth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHealth(int health) {
|
||||||
|
this.health = health;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int dealDamage(int damage, DamageType damageType) {
|
||||||
|
damage = damage * (Arrays.binarySearch(vulnerabilities, damageType) > -1 ? 2 : 1) / (Arrays.binarySearch(resistances, damageType) > -1 ? 2 : 1);
|
||||||
|
health -= damage;
|
||||||
|
return damage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deathMessage() {
|
||||||
|
if (health < 1) {
|
||||||
|
System.out.println(name + " has been defeated.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Enemy clone() {
|
||||||
|
return new Enemy(name, healthDie, healthOf, healthBonus, armorClass, resistances, vulnerabilities, strength, dexterity, constitution, intelligence, wisdom, charisma, attacks, CR, biome);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAC() {
|
||||||
|
return armorClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DamageType[] getResistances() {
|
||||||
|
return resistances;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DamageType[] getVulnerabilities() {
|
||||||
|
return vulnerabilities;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getStrength() {
|
||||||
|
return strength;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDexterity() {
|
||||||
|
return dexterity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getConstitution() {
|
||||||
|
return constitution;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIntelligence() {
|
||||||
|
return intelligence;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getWisdom() {
|
||||||
|
return wisdom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCharisma() {
|
||||||
|
return charisma;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCR() {
|
||||||
|
return CR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getXP() {
|
||||||
|
switch(CR) {
|
||||||
|
case 0: return 10;
|
||||||
|
case -8: return 25;
|
||||||
|
case -4: return 50;
|
||||||
|
case -2: return 100;
|
||||||
|
case 1: return 200;
|
||||||
|
case 2: return 450;
|
||||||
|
case 3: return 700;
|
||||||
|
case 4: return 1_100;
|
||||||
|
case 5: return 1_800;
|
||||||
|
case 6: return 2_300;
|
||||||
|
case 7: return 2_900;
|
||||||
|
case 8: return 3_900;
|
||||||
|
case 9: return 5_000;
|
||||||
|
case 10: return 5_900;
|
||||||
|
case 11: return 7_200;
|
||||||
|
case 12: return 8_400;
|
||||||
|
case 13: return 10_000;
|
||||||
|
case 14: return 11_500;
|
||||||
|
case 15: return 13_000;
|
||||||
|
case 16: return 15_000;
|
||||||
|
case 17: return 18_000;
|
||||||
|
case 18: return 20_000;
|
||||||
|
case 19: return 22_000;
|
||||||
|
case 20: return 25_000;
|
||||||
|
case 21: return 33_000;
|
||||||
|
case 22: return 41_000;
|
||||||
|
case 23: return 50_000;
|
||||||
|
case 24: return 62_000;
|
||||||
|
case 25: return 75_000;
|
||||||
|
case 26: return 90_000;
|
||||||
|
case 27: return 105_000;
|
||||||
|
case 28: return 120_000;
|
||||||
|
case 29: return 135_000;
|
||||||
|
case 30: return 155_000;
|
||||||
|
default: return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getBiome() {
|
||||||
|
return biome;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArrayList<Condition> getConditions() {
|
||||||
|
return conditions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setRand(Random rand) {
|
||||||
|
Enemy.rand = rand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean addCondition(Condition condition) {
|
||||||
|
return conditions.add(condition);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Random rand = new Random();
|
||||||
|
private static int dice(int num, int of) {
|
||||||
|
int dieTotal = 0;
|
||||||
|
for (int i = 0; i < num; i++) {
|
||||||
|
dieTotal += rand.nextInt(of) + 1;
|
||||||
|
}
|
||||||
|
return dieTotal;
|
||||||
|
}
|
||||||
|
// Enemy[] enemyList = {};
|
||||||
|
public static ArrayList<Enemy> enemyList = new ArrayList<Enemy>();
|
||||||
|
// public static ArrayList<Tuple<Integer, Integer>> enemyListHealth = new ArrayList<Tuple<Integer, Integer>>();
|
||||||
|
|
||||||
|
// public Enemy(String name, int healthDie, int healthOf, int healthBonus, int armorClass, int[] resistances, int[] vulnerabilities, int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, EnemyAttack[] attacks, double CR, int biome) {
|
||||||
|
// final static String[] damageTypes = {"acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"};
|
||||||
|
// 0 1 2 3 4 5 6 7 8 9 10 11 12
|
||||||
|
// final static String[] biomes = {"arctic", "coastal", "desert", "forest", "grassland", "hills", "mountains", "swampland", "underdark", "underwater", "urban"};
|
||||||
|
// 0 1 2 3 4 5 6 7 8 9 10
|
||||||
|
// public EnemyAttack(int numberHits, String name, int toHit, int die, int sides, int damage, int damageType, [int saveThrow]) {
|
||||||
|
|
||||||
|
|
||||||
|
// public Enemy(String name, int healthDie, int healthOf, int healthBonus, int armorClass, int[] resistances, int[] vulnerabilities, int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, EnemyAttack[] attacks, int CR, int[] biome) {
|
||||||
|
static {
|
||||||
|
// CR: 0
|
||||||
|
enemyList.add(new Enemy("Awakened Shrub" , 3, 6, 0, 9, new DamageType[] {DamageType.Piercing} , new DamageType[] {DamageType.Fire} , -4, -1, +0, +0, +0, -2, new EnemyAttack[] {new EnemyAttack(1, "Rake" , 1, 1, 4, -1, 11 )}, 0, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Baboon" , 1, 6, 0, 12, new DamageType[] {} , new DamageType[] {} , -1, +2, +0, -3, +1, -2, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 1, 1, 4, -1, 7 )}, 0, new int[] {3,5,} )); // Pack Tactics
|
||||||
|
enemyList.add(new Enemy("Badger" , 1, 4, 1, 10, new DamageType[] {} , new DamageType[] {} , -3, +0, +1, -4, +1, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 2, 1, 1, 0, 7 )}, 0, new int[] {3,4} )); //
|
||||||
|
enemyList.add(new Enemy("Bat" , 1, 4, -1, 12, new DamageType[] {} , new DamageType[] {} , -4, +2, -1, -4, +1, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 0, 1, 1, 0, 7 )}, 0, new int[] {8} )); // Fly, Immune to Blind
|
||||||
|
enemyList.add(new Enemy("Cat" , 1, 4, 0, 12, new DamageType[] {} , new DamageType[] {} , -4, +2, +0, -4, +1, -2, new EnemyAttack[] {new EnemyAttack(1, "Claw" , 0, 1, 1, 0, 11 )}, 0, new int[] {3,4,10} )); //
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new DamageType[] {} , new DamageType[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Crab" , 1, 4, 0, 11, new DamageType[] {} , new DamageType[] {} , -4, +0, +0, -5, -1, -4, new EnemyAttack[] {new EnemyAttack(1, "Claw" , 0, 1, 1, 0, 1 )}, 0, new int[] {1} )); //
|
||||||
|
enemyList.add(new Enemy("Deer" , 1, 8, 0, 13, new DamageType[] {} , new DamageType[] {} , +0, +3, +0, +2, +2, -3, new EnemyAttack[] {new EnemyAttack(1, "Gore" , 2, 1, 4, 0, 7 )}, 0, new int[] {3,4} )); //
|
||||||
|
enemyList.add(new Enemy("Eagle" , 1, 6, 0, 12, new DamageType[] {} , new DamageType[] {} , -2, +2, +0, -4, +2, -2, new EnemyAttack[] {new EnemyAttack(1, "Talons" , 4, 1, 4, 2, 11 )}, 0, new int[] {5,6} )); // Fly
|
||||||
|
enemyList.add(new Enemy("Giant Fire Beetle" , 1, 6, 1, 13, new DamageType[] {} , new DamageType[] {} , -1, +0, +1, -5, -2, -4, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 1, 1, 5, 0, 11 )}, 0, new int[] {3,8} )); // Illumninates
|
||||||
|
enemyList.add(new Enemy("Goat" , 1, 8, 0, 10, new DamageType[] {} , new DamageType[] {} , +6, +5, +0, -4, +0, -3, new EnemyAttack[] {new EnemyAttack(1, "Ram" , 3, 1, 4, 1, 1 ) , new EnemyAttack(1, "Charge", 3, 1, 4, 0, 1, 1)}, 0, new int[] {4,5,6})); // Advantage against Prone
|
||||||
|
enemyList.add(new Enemy("Hawk" , 1, 4, -1, 13, new DamageType[] {} , new DamageType[] {} , -3, +3, -1, -4, +2, -2, new EnemyAttack[] {new EnemyAttack(1, "Talons" , 5, 1, 1, 2, 11 )}, 0, new int[] {0} )); // Fly
|
||||||
|
enemyList.add(new Enemy("Homunculus" , 2, 4, 0, 13, new DamageType[] {} , new DamageType[] {} , -3, +2, +0, +0, +0, -2, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 4, 1, 1, 0, 7, 3)}, 0, new int[] {0} )); // Poison, Telepathy, Darkvision
|
||||||
|
enemyList.add(new Enemy("Hyena" , 1, 8, 1, 11, new DamageType[] {} , new DamageType[] {} , +0, +1, +1, -4, +1, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 2, 1, 6, 0, 7 )}, 0, new int[] {0} )); // Pack Tactics
|
||||||
|
enemyList.add(new Enemy("Jackal" , 1, 6, 0, 12, new DamageType[] {} , new DamageType[] {} , -1, +2, +0, -4, +1, -2, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 1, 1, 3, 0, 7 )}, 0, new int[] {0} )); // Pack Tactics
|
||||||
|
enemyList.add(new Enemy("Lemure" , 3, 8, 0, 7, new DamageType[] {DamageType.Cold, DamageType.Fire, DamageType.Piercing}, new DamageType[] {} , +0, -3, +0, -5, +0, -4, new EnemyAttack[] {new EnemyAttack(1, "Punch" , 3, 1, 4, 0, 1 )}, 0, new int[] {0} )); // Darkvision
|
||||||
|
enemyList.add(new Enemy("Lizard" , 1, 4, 0, 10, new DamageType[] {} , new DamageType[] {} , -4, +0, +0, -5, +1, -4, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 0, 1, 1, 0, 7 )}, 0, new int[] {0} )); //
|
||||||
|
enemyList.add(new Enemy("Owl" , 1, 4, -1, 11, new DamageType[] {} , new DamageType[] {} , -4, +1, -1, -4, +1, -2, new EnemyAttack[] {new EnemyAttack(1, "Talons" , 3, 1, 1, 0, 11 )}, 0, new int[] {0} )); // Darkvision
|
||||||
|
enemyList.add(new Enemy("Quipper" , 1, 4, -1, 13, new DamageType[] {} , new DamageType[] {} , -4, +3, -1, -5, -2, -4, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 5, 1, 1, 0, 7 )}, 0, new int[] {9} )); //
|
||||||
|
enemyList.add(new Enemy("Rat" , 1, 4, -1, 10, new DamageType[] {} , new DamageType[] {} , -4, +0, -1, -4, +0, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 0, 1, 1, 0, 7 )}, 0, new int[] {0} )); //
|
||||||
|
enemyList.add(new Enemy("Raven" , 1, 4, -1, 12, new DamageType[] {} , new DamageType[] {} , -4, +2, -1, -4, +1, -2, new EnemyAttack[] {new EnemyAttack(1, "Beak" , 4, 1, 1, 0, 7 )}, 0, new int[] {0} )); //
|
||||||
|
enemyList.add(new Enemy("Scorpion" , 1, 4, -1, 11, new DamageType[] {} , new DamageType[] {} , -4, +0, -1, -5, +1, -4, new EnemyAttack[] {new EnemyAttack(1, "Sting" , 2, 1, 1, 0, 7, 3)}, 0, new int[] {0} )); // Poison damage
|
||||||
|
enemyList.add(new Enemy("Spider" , 1, 4, -1, 12, new DamageType[] {} , new DamageType[] {} , -4, +2, -1, -5, +0, -4, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 4, 1, 1, 0, 7, 3)}, 0, new int[] {0} )); // Poison damage
|
||||||
|
enemyList.add(new Enemy("Vulture" , 1, 8, 1, 10, new DamageType[] {} , new DamageType[] {} , -2, +0, +1, -4, +1, -3, new EnemyAttack[] {new EnemyAttack(1, "Beak" , 2, 1, 4, 0, 7 )}, 0, new int[] {0} )); // Pack Tactics
|
||||||
|
enemyList.add(new Enemy("Weasel" , 1, 4, -1, 13, new DamageType[] {} , new DamageType[] {} , -4, +3, -1, -4, +1, -4, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 5, 1, 1, 0, 7 )}, 0, new int[] {0} )); //
|
||||||
|
|
||||||
|
// CR: 1/8 public Enemy(String name, int healthDie, int healthOf, int healthBonus, int armorClass, int[] resistances, int[] vulnerabilities, int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, EnemyAttack[] attacks, double CR, int biome) {
|
||||||
|
|
||||||
|
enemyList.add(new Enemy("Bandit" , 2, 8, 2, 12, new DamageType[] {} , new DamageType[] {} , +0, +1, +1, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Light Crossbow", 3, 1, 8, 1, 7 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Blood Hawk" , 2, 6, 0, 12, new DamageType[] {} , new DamageType[] {} , -2, +2, +0, -4, +2, -3, new EnemyAttack[] {new EnemyAttack(1, "Beak" , 4, 1, 4, 2, 7 )}, -8, new int[] {3} )); // Pack Tactics
|
||||||
|
enemyList.add(new Enemy("Camel" , 2, 10, 4, 9, new DamageType[] {} , new DamageType[] {} , +3, -1, +2, -4, -1, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 5, 1, 4, 0, 1 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Cultist" , 1, 6, 0, 12, new DamageType[] {} , new DamageType[] {} , +0, +1, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Scimitar" , 3, 1, 6, 1, 11 )}, -8, new int[] {3} )); // Advantage against charm
|
||||||
|
enemyList.add(new Enemy("Diseased Giant Rat" , 0, 1, 7, 12, new DamageType[] {} , new DamageType[] {} , -2, +2, +0, -4, +0, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 4, 1, 4, 2, 7, 3)}, -8, new int[] {3} )); // Disease Effect, Pack Tactics
|
||||||
|
enemyList.add(new Enemy("Flying Snake" , 2, 4, 0, 14, new DamageType[] {} , new DamageType[] {} , -3, +4, +0, -4, +1, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 6, 3, 4, 1, 8 )}, -8, new int[] {3} )); // Fly
|
||||||
|
enemyList.add(new Enemy("Giant Crab" , 3, 8, 0, 15, new DamageType[] {} , new DamageType[] {} , +1, +2, +0, -5, -1, -4, new EnemyAttack[] {new EnemyAttack(1, "Claw" , 3, 1, 6, 1, 1, 1)}, -8, new int[] {3} )); // Grapple
|
||||||
|
enemyList.add(new Enemy("Giant Rat" , 2, 6, 0, 12, new DamageType[] {} , new DamageType[] {} , -2, +2, +0, -4, +0, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 4, 1, 4, 2, 7 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Weasel" , 2, 8, 0, 13, new DamageType[] {} , new DamageType[] {} , +0, +3, +0, -3, +1, -3, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 5, 1, 4, 3, 7 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Guard" , 2, 8, 2, 16, new DamageType[] {} , new DamageType[] {} , +1, +1, +1, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Spear" , 3, 1, 8, 1, 7 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Kobold" , 2, 6, -2, 12, new DamageType[] {} , new DamageType[] {} , -2, +2, -1, -1, -2, -1, new EnemyAttack[] {new EnemyAttack(1, "Sling" , 4, 1, 4, 2, 1 )}, -8, new int[] {3} )); // Pack Tactics, Sunlight Sensitivity
|
||||||
|
enemyList.add(new Enemy("Mastiff" , 1, 8, 1, 12, new DamageType[] {} , new DamageType[] {} , +1, +2, +1, -4, +1, -2, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 3, 1, 6, 1, 7, 1)}, -8, new int[] {3} )); // Prone
|
||||||
|
enemyList.add(new Enemy("Merfolk" , 2, 8, 2, 11, new DamageType[] {} , new DamageType[] {} , +0, +1, +1, +0, +0, +1, new EnemyAttack[] {new EnemyAttack(1, "Spear" , 2, 1, 6, 0, 7 )}, -8, new int[] {3} )); // Amphibious
|
||||||
|
enemyList.add(new Enemy("Mule" , 2, 8, 2, 10, new DamageType[] {} , new DamageType[] {} , +2, +0, +1, -4, +0, -3, new EnemyAttack[] {new EnemyAttack(1, "Hooves" , 2, 1, 4, 2, 1 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Noble" , 2, 8, 0, 15, new DamageType[] {} , new DamageType[] {} , +0, +1, +0, +1, +2, +3, new EnemyAttack[] {new EnemyAttack(1, "Rapier" , 3, 1, 8, 1, 7 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Poisonous Snake" , 1, 4, 0, 13, new DamageType[] {} , new DamageType[] {} , -4, +3, +0, -5, +0, -4, new EnemyAttack[] {new EnemyAttack(1, "Bite" , 5, 2, 4, 0, 8, 3)}, -8, new int[] {3} )); // Poison Damage
|
||||||
|
enemyList.add(new Enemy("Pnoy" , 2, 8, 2, 10, new DamageType[] {} , new DamageType[] {} , +2, +0, +1, -4, +0, -2, new EnemyAttack[] {new EnemyAttack(1, "Hooves" , 4, 2, 4, 2, 1 )}, -8, new int[] {3} )); //
|
||||||
|
enemyList.add(new Enemy("Stirge" , 1, 4, 0, 14, new DamageType[] {} , new DamageType[] {} , -3, +3, +0, -4, -1, -2, new EnemyAttack[] {new EnemyAttack(1, "Blood Drain" , 5, 1, 4, 3, 1 )}, -8, new int[] {3} )); // Lifesteal
|
||||||
|
enemyList.add(new Enemy("Tribal Warrior" , 2, 8, 2, 12, new DamageType[] {} , new DamageType[] {} , +1, +0, +1, -1, +0, -1, new EnemyAttack[] {new EnemyAttack(1, "Spear" , 3, 1, 8, 1, 7 )}, -8, new int[] {3} )); // Pack Tactics
|
||||||
|
|
||||||
|
// CR: 1/4
|
||||||
|
/*
|
||||||
|
enemyList.add(new Enemy("Acolyte" , 2, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Axe Beak" , 3, 10, 3, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Blink Dog" , 4, 8, 4, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Boar" , 2, 8, 2, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Constrictor Snake" , 2, 10, 2, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Draft Horse" , 3, 10, 3, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Dretch" , 4, 6, 4, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Drow" , 3, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Elk" , 2, 10, 2, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Flying Sword" , 5, 6, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Badger" , 2, 8, 4, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Bat" , 4, 10, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Centipede" , 1, 6, 1, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Frog" , 4, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Lizard" , 3, 10, 3, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Owl" , 3, 10, 3, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Poisonous Snake", 2, 8, 2, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Wolf Spider" , 2, 8, 2, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Goblin" , 2, 6, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Grimlock" , 2, 6, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Panther" , 3, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Pseudodragon" , 2, 4, 2, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Riding Horse" , 2, 10, 2, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Skeleton" , 2, 8, 4, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Sprite" , 1, 4, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Steam Mephit" , 6, 6, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Bats" , 5, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Rats" , 7, 8, -7, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Ravens" , 7, 8, -7, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Violet Fungus" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Wolf" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Zombie" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
|
||||||
|
// CR: 1/2
|
||||||
|
|
||||||
|
enemyList.add(new Enemy("Ape" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Black Bear" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Cockatrice" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Crocodile" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Darkmantle" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Deep Gnome" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Dust Mephit" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Goat" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Sea Horse" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Giant Wasp" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Gnoll" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Gray Ooze" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Hobogoblin" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Ice Mephit" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Lizardfolk" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Magma Mephit" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Magmin" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Orc" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Reef Shark" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Rust Monster" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Sahuagin" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Satyr" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Scout" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Shadow" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Beetles" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Centipedes" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Insects" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Spiders" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Swarm of Wasps" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Thug" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Warhorse" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Warhorse Skeleton" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Worg" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
|
||||||
|
// CR: 1
|
||||||
|
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
|
||||||
|
|
||||||
|
enemyList.add(new Enemy("Commoner" , 1, 8, 0, 10, new int[] {} , new int[] {} , +0, +0, +0, +0, +0, +0, new EnemyAttack[] {new EnemyAttack(1, "Club" , 2, 1, 4, 0, 1 )}, 0, new int[] {10} )); //
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
// public EnemyAttack(String name, int toHit, int die, int sides, int damage, int damageType, int numberHits) {
|
||||||
|
|
||||||
|
public boolean handleConditions() {
|
||||||
|
if (conditions.size()==0)
|
||||||
|
return false;
|
||||||
|
System.out.println(this.getName() + ": ");
|
||||||
|
for (int i = 0; i < conditions.size();i++)
|
||||||
|
{
|
||||||
|
System.out.println(conditions.get(i).toString());
|
||||||
|
}
|
||||||
|
for (int i = 0; i < conditions.size(); i++) {
|
||||||
|
Condition condition = conditions.get(i);
|
||||||
|
switch (condition.getConditionType()) {
|
||||||
|
case DamagePerRound:
|
||||||
|
int damage = witch.dice(condition.getNum(), condition.getOf());
|
||||||
|
System.out.println("You dealt " + damage + " residual " + condition.getDamageType().toString() + " damage to the " + this.name + ".");
|
||||||
|
this.dealDamage(damage, condition.getDamageType());
|
||||||
|
break;
|
||||||
|
case Prone:
|
||||||
|
System.out.println(this.name + "stands up.");
|
||||||
|
condition.setnTurns(0);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
condition.setnTurns(condition.getnTurns()-1);
|
||||||
|
if (condition.getnTurns() < 1) {
|
||||||
|
conditions.remove(condition);
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.getHealth() < 1) {
|
||||||
|
witch.removeEnemy(this);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int attack() {
|
||||||
|
System.out.println(name + " -");
|
||||||
|
int totalDamage = 0;
|
||||||
|
for (int a = 0; a < attacks.length; a++) {
|
||||||
|
totalDamage += attacks[a].attack(conditions);
|
||||||
|
}
|
||||||
|
witch.playerHealth -= totalDamage;
|
||||||
|
return totalDamage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void calcHealth() {
|
||||||
|
this.setHealth(dice(healthDie, healthOf) + healthBonus);
|
||||||
|
if (health < 1)
|
||||||
|
health = 1;
|
||||||
|
maxHealth = health;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
String ret = (name + "\nCR: " + (CR >= 0 ? CR : "1/" + -CR) + "\nHealth: " + healthDie + "d" + healthOf + " + " + healthBonus + "\nArmor Class: " + armorClass + "\nAttacks: \n");
|
||||||
|
ret += "Attacks: ";
|
||||||
|
return ret;
|
||||||
|
// return "Enemy [name=" + name + ", healthDie=" + healthDie + ", healthOf=" + healthOf + ", healthBonus="
|
||||||
|
// + healthBonus + ", armorClass=" + armorClass + ", resistances=" + Arrays.toString(resistances)
|
||||||
|
// + ", vulnerabilities=" + Arrays.toString(vulnerabilities) + ", strength=" + strength + ", dexterity="
|
||||||
|
// + dexterity + ", constitution=" + constitution + ", intelligence=" + intelligence + ", wisdom=" + wisdom
|
||||||
|
// + ", charisma=" + charisma + ", attacks=" + Arrays.toString(attacks) + ", CR=" + CR + ", biome="
|
||||||
|
// + Arrays.toString(biome) + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//public static void newEnemy() {
|
||||||
|
// witchRunner.enemies.add(new Enemy("Enemy", 0 + dice(1, 10), 10, new int[] {}, new int[] {}, 0, 0, 0, 0, 0, 0, new int[] {}));
|
||||||
|
//}
|
||||||
Loading…
Reference in New Issue
Block a user