Example #1
0
    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> ());
    }