private void singleTargetAbility(Character actingCharacter, Character target) { int base_stat = 1; if (usedAbility.isMagic) { base_stat = actingCharacter.getStat(StatEnum.MAGIC); } else { base_stat = actingCharacter.getStat(StatEnum.STRENGTH); } target.takeDamage(base_stat * usedAbility.BaseDamage); }
private void spreadAbility(Character actingCharacter, Character[] combatants) { int base_stat = 1; if (usedAbility.isMagic) { base_stat = actingCharacter.getStat(StatEnum.MAGIC); } else { base_stat = actingCharacter.getStat(StatEnum.STRENGTH); } for (int i = 0; i < combatants.Length; i++) { if (combatants[i].isPlayer && !usedAbility.AffectEnemy || !combatants[i].isPlayer && usedAbility.AffectEnemy) { combatants[i].takeDamage(base_stat * usedAbility.BaseDamage); } } }
public void specificAction(Character actingCharacter, Character[] combatants) { int attack = actingCharacter.getStat(StatEnum.STRENGTH); int damage = attack - target.getStat(StatEnum.ARMOR); if (damage > 0) { target.takeDamage(damage); attackResult = " attacked and did " + damage + " to "; } else { attackResult = " was unable to damage "; } battleEvents.Add(new BattleEvent(actingCharacter, this, target)); }
public bool CompareTo(Character character) { /* start CompareTo */ return this.getStat(StatEnum.AGILITY) < character.getStat(StatEnum.AGILITY); }