public override void UseAbility(Unit target) { base.UseAbility (target); Effect eff1 = new Sleep ("Deep Slumber (sleep)", duration, effectLib.getIcon("Deep Slumber").sprite); Effect eff2 = new DamageRecievedEffect ("Deep Slumber (dmg)", duration, damageMod, 1, effectLib.getIcon("Deep Slumber").sprite); target.ApplyEffect(eff1); target.ApplyEffect(eff2); target.AddTrigger (new RemoveEffect ("Deep Slumber (sleep)", myCaster, TriggerType.Hit, eff1, effectLib, duration, effectLib.getIcon("Deep Slumber").sprite)); target.AddTrigger (new RemoveEffect ("Deep Slumber (dmg)", myCaster, TriggerType.Hit, eff2, effectLib, duration, effectLib.getIcon("Deep Slumber").sprite)); myCaster.GetComponent<AudioSource> ().PlayOneShot (effectLib.getSoundEffect ("Deep Slumber")); }
public override void UseAbility(Unit target) { base.UseAbility (target); int dmg = (int)(damage * myCaster.damageDealtMod); //deal damage, if not dodged, apply effect if (target.TakeDamage (dmg, effectLib.getSoundEffect ("Divine Sacrifice"), true, myCaster) != -1) { //apply an on death trigger target.AddTrigger (new DivineSacrificeTrigger ("Divine Sacrifice", myCaster, duration, effectLib, manaGain, effectLib.getIcon("Divine Sacrifice").sprite)); } Vector3 pos = map.TileCoordToWorldCoord (target.tileX, target.tileY); myVisualEffects.Add (effectLib.CreateVisualEffect ("Divine Sacrifice", pos).GetComponent<EffectController> ()); }