public void OnActivate(ObjAIBase unit, Spell ownerSpell) { _statMod = new ChampionStatModifier(); _statMod.Size.PercentBonus = _statMod.Size.PercentBonus + 1; _healthBefore = unit.GetStats().CurrentHealth; _healthBonus = 150 + 150 * ownerSpell.Level; _statMod.HealthPoints.BaseBonus = _statMod.HealthPoints.BaseBonus + 150 + 150 * ownerSpell.Level; unit.GetStats().CurrentHealth = unit.GetStats().CurrentHealth + 150 + 150 * ownerSpell.Level; unit.AddStatModifier(_statMod); }
public void OnDeactivate(ObjAIBase unit) { _healthNow = unit.GetStats().CurrentHealth - _healthBonus; _meantimeDamage = _healthBefore - _healthNow; float bonusDamage = _healthBonus - _meantimeDamage; unit.RemoveStatModifier(_statMod); if (unit.GetStats().CurrentHealth > unit.GetStats().HealthPoints.Total) { unit.GetStats().CurrentHealth = unit.GetStats().CurrentHealth - bonusDamage; } }
public void OnUpdate(double diff) { _currentTime += diff; if (_currentTime >= (_lastUpdate + 1000)) { //1% max mana per second ApiFunctionManager.LogInfo("Trying to regenerate Evelynn's mana"); var manaRegenerated = _ownerUnit.GetStats().ManaPoints.Total / 100; var maxMana = _ownerUnit.GetStats().ManaPoints.Total; var newMana = _ownerUnit.GetStats().CurrentMana + manaRegenerated; if (maxMana >= newMana) { _ownerUnit.GetStats().CurrentMana = newMana; } else { _ownerUnit.GetStats().CurrentMana = maxMana; } _lastUpdate = _currentTime; } }