public void calcD(double d, double h, String n, String t, double r, int a, List i, List ae, List m) {
double d2 = 0;
switch (t) {
case "m":
d2 = d * r;
case "ps":
d2 = d * (a * .05);
if (i.contains("sh"))
if (rand.nextInt(10) <= 4) d2 += 20;
case "pu":
d2 = 0;
}
d -= d2;
if (ae.contains("ss"))
if (rand.nextInt(9) <= 1) d -= 20;
if (ae.contains("cg")) d -= 55;
if (m.contains("cr")) d *= 1.25;
if (m.contains("mael")) {
if (rand.nextInt(3) == 0) d += 120;
}
if (h - d <= 0) GmMgr.k(n);
}public void assessDamage(Damage damage) {
double damageAmount = damage.getAmount();
double resistedDamageAmount = 0;
Hero target = damage.getTarget();
//Strategy pattern
DamageResistedStrategy dmgStrat = null;
switch (damage.getType()) {
case MAGIC:
dmgStrat = new MagicDamageResistedStrategy(damageAmount, target);
case PHYSICAL:
dmgStrat = new PhysicalDamageResistedStrategy(damageAmount, target);
case PURE:
dmgStrat = new PureDamageResistedStrategy(damageAmount, target);
}
resistedDamageAmount = dmgStrat.calculateResistance();
damageAmount -= resistedDamageAmount;
double modifiedDamageAmount = DamageModifierUtils.calculateModifiedDamage(damage);
damageAmount -= modifiedDamageAmount;
double activeEffectDamageModificationAmount = ActiveEffectUtils.calculateModifiedDamage(damage, target);
damageAmount -= activeEffectDamageModificationAmount;
double targetHp = target.getHealthPoints();
double damagedHp = targetHp - damageAmount;
if (damagedHp <= 0) {
GameManager.killHero(target);
}
GameManager.updateHeroHealthPoints(target, damagedHp);
}deck
By Reid Harrison
deck
- 597