private void normalAttack(Hero hero, Monster mon) //Hero attacks! { int heroDamage; if (hero.getIsPhysical()) { heroDamage = hero.BasicAttack() - mon.getModDefense(); } else { heroDamage = hero.BasicAttack() - mon.getModResistance(); } if (heroDamage < 0) { heroDamage = 0; } _Paragraph.Inlines.Add(new Bold(new Run(hero.getName() + " used basic attack for: " + heroDamage + " damage"))//EVENTUALLY, I want to say which monster got attacked, in the swarm window. { Foreground = hero.getTextColor() }); _Paragraph.Inlines.Add(new LineBreak()); mon.setCurHealth(mon.getCurHealth() - heroDamage); updateVisuals(); checkForDefeatedUnit(); }
private void normalAttack(Hero hero) //Hero attacks! { var cw = new ChoiceWindow(_TheSwarm); cw.ShowDialog(); int attackTarget = cw.getChoiceFromSelect(); Monster mon = _TheSwarm[attackTarget]; int heroDamage; if (hero.getIsPhysical()) { heroDamage = hero.BasicAttack() - mon.getModDefense(); } else { heroDamage = hero.BasicAttack() - mon.getModResistance(); } if (heroDamage < 0) { heroDamage = 0; } _Paragraph.Inlines.Add(new Bold(new Run(hero.getName() + " used basic attack for: " + heroDamage + " damage")) { Foreground = hero.getTextColor() }); _Paragraph.Inlines.Add(new LineBreak()); mon.setCurHealth(mon.getCurHealth() - heroDamage); updateVisuals(); checkForDefeatedUnit(); }
private void defend(Hero hero) { _Paragraph.Inlines.Add(new Bold(new Run(hero.getName() + " used defend and is taking reduced damage this turn.")) { Foreground = hero.getTextColor() }); _Paragraph.Inlines.Add(new LineBreak()); hero.setIsDefending(true); }
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 equip(Hero _hero) { _hero.setMaxHealth(_hero.getMaxHealth() + getEffect().getHealthValue()); _hero.setMaxMana(_hero.getMaxMana() + 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() + " equipped " + 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."); }
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(); }