Exemplo n.º 1
0
 public override void DoDamage(Tower t, int center, int damage, Tower self, int firingSec)
 {
     if(center >= 0 && center < t.GetSections().Count) {
         int impact = (int)(damage * initialDamage[upgradeLevel]);
         int dot = (int)(damage * dotDamage[upgradeLevel]);
         CombatLog.addLine("Hit section " + (center+1) + " for " + impact + " damage.");
         CombatLog.addLine("Gave section " + (center+1) + " a " + dot + " damage burn.");
         t.DamageSection(center, impact);
         t.ApplyDot(center, dot);
     } else if(center < 0) {
         CombatLog.addLine("Attack was too low");
         CombatLog.addLine("Fill the aim bar more.");
     } else if(center >= t.GetSections().Count) {
         CombatLog.addLine("Attack was too high");
         CombatLog.addLine("Lower the aim bar.");
     }
 }
Exemplo n.º 2
0
 public override void DoDamage(Tower t, int center, int damage, Tower self, int firingSec)
 {
     List<Section> selfSections = GetDamagedSections(self, firingSec);
     foreach(Section sec in selfSections) {
         int height = sec.attributes.height;
         int d = (int)(damage*poisonedDamageModifier/100);
         CombatLog.addLine("Hit own section " + height + " for " + d + " damage.");
         self.DamageSection(height-1, d);
     }
     t.DamageSection(center, damage);
     if(center < 0) {
         CombatLog.addLine("Attack was too low");
         CombatLog.addLine("Fill the aim bar more.");
     } else if(center >= t.GetSections().Count) {
         CombatLog.addLine("Attack was too high");
         CombatLog.addLine("Lower the aim bar.");
     }
 }