private void monsterAttack() //Monster attacks! { Monster mon = _monster; Hero hero = mon.FindTarget(_theParty); int monsterDamage; int randSpecial = _randomNumber.Next(10) + 1; if (randSpecial <= mon.getSpecialAttackFrequency()) { _Paragraph.Inlines.Add(new Bold(new Run(_monster.PerformSpecialAttack(_theParty, 0, _monster))) { Foreground = Brushes.Red }); _Paragraph.Inlines.Add(new LineBreak()); } else { if (mon.getIsPhysical()) { if (hero.getIsDefending()) {//based on the attack of the monster - the defense of the hero. A greater value is used for defending heroes monsterDamage = mon.BasicAttack() - hero.getDefendingDefense(); } else { monsterDamage = mon.BasicAttack() - hero.getModDefense(); } } else { if (hero.getIsDefending()) { monsterDamage = mon.BasicAttack() - hero.getDefendingResistance(); } else { monsterDamage = mon.BasicAttack() - hero.getModResistance(); } } if (monsterDamage < 0) { monsterDamage = 0; } hero.setCurHealth(hero.getCurHealth() - monsterDamage); //actual damage is applied _Paragraph.Inlines.Add(new Bold(new Run("The " + mon.getName() + " attacks " + hero.getName() + " for " + monsterDamage + " damage.")) { Foreground = Brushes.Red }); _Paragraph.Inlines.Add(new LineBreak()); } updateVisuals(); checkForDefeatedUnit(); }
public string unUse(Hero _hero) { _hero.setCurHealth(_hero.getCurHealth() - getEffect().getHealthValue()); _hero.setCurMana(_hero.getCurMana() - getEffect().getManaValue()); _hero.setModStrength(_hero.getModStrength() - getEffect().getStrengthValue()); _hero.setModMagic(_hero.getModMagic() - getEffect().getMagicValue()); _hero.setModDefense(_hero.getModDefense() - getEffect().getPhysicalDefenseValue()); _hero.setModResistance(_hero.getModResistance() - getEffect().getResistanceDefenseValue()); return(_hero.getName() + " had effect of " + this.getItemName() + ", " + getEffect().getEffectName() + getEffect().getEffectAmount()); }
public string use(Hero hero) { _hero = hero; _hero.setCurHealth(_hero.getCurHealth() + getEffect().getHealthValue()); _hero.setCurMana(_hero.getCurMana() + getEffect().getManaValue()); _hero.setModStrength(_hero.getModStrength() + getEffect().getStrengthValue()); _hero.setModMagic(_hero.getModMagic() + getEffect().getMagicValue()); _hero.setModDefense(_hero.getModDefense() + getEffect().getPhysicalDefenseValue()); _hero.setModResistance(_hero.getModResistance() + getEffect().getResistanceDefenseValue()); if (_hasStatusEffect) { _statusEffect.setHero(_hero); _hero.Subscribe(_statusEffect); } else { return(_hero.getName() + " used " + this.getItemName() + ", " + getEffect().getEffectName() + getEffect().getEffectAmount()); } return("The status effect was applied."); }