public void SelfHeal() { if (!this.SpendManaFor(10)) { return; } LOGS.Add(String.Format("{0} uses ACTIVE ABILITY \"Self heal + DMG buff\"", NameFull)); this.HealFor(LibRPHG.BuffsDebuffs.BuffsConsts.DruidSelfHeal); this.AddBuff(new LibRPHG.BuffsDebuffs.DruidDamageBuff(this, this)); }
public void PartyRegen(Battlefield bf) { if (!this.SpendManaFor(40)) { return; } LOGS.Add(String.Format("{0} uses ACTIVE ABILITY \"Party HP MP regen\"", NameFull)); foreach (Abstraceunit ab in bf.getUnitsInObl(this.GetPosition, 4, false, this.getTeamNumber)) { ab.AddBuff(new LibRPHG.BuffsDebuffs.DruidSplash(ab, this)); } }
public void OnHealthChange() { if (_bufftarget == null) { _currentDamageGiven = 0; return; } int newDamageGiven = (_bufftarget.getMaxHP - _bufftarget.getCurrentHP) * BuffsConsts.BarbarianDamagePerHPmiss; _bufftarget._att_dmg_mod += newDamageGiven - _currentDamageGiven; LOGS.Add(String.Format("{0} get +{1} DMG buff from \"blood rage\"", _bufftarget.NameFull, newDamageGiven - _currentDamageGiven)); _currentDamageGiven = newDamageGiven; }
public override void AfterAttacked(Iunit bywho) { base.AfterAttacked(bywho); if (this.DistanceTo((Abstraceunit)bywho, false) <= 1) { int dmg_buff = -(_att_dmg + _att_dmg_mod) / 2; _att_dmg_mod += dmg_buff; LOGS.Add(String.Format("{0} counterattacked {1} for {2} DMG!", this.NameFull, bywho.NameFull, CurrentDamage)); if (CurrentDamage > 10 && !bywho.isDead) { this.Attack((Abstraceunit)bywho); } _att_dmg -= dmg_buff; } }
public virtual void Dissaply() { LOGS.Add(String.Format("{0} loosed \"{1}\" buff from {2}", _bufftarget.NameFull, _buffname, _buffhost.NameFull)); _bufftarget = _buffhost = null; }
public virtual void ApplyFor(Abstraceunit who, Abstraceunit bywho) { _bufftarget = who; _buffhost = bywho; LOGS.Add(String.Format("{0} recieved \"{1}\" buff from {2}", _bufftarget.NameFull, _buffname, _buffhost.NameFull)); }