示例#1
0
    protected void newInstance <Condition>(ObjectActor subject, ObjectInteractable source) where Condition : BaseCondition
    {
        Condition newCondition = gameObject.AddComponent <Condition>();

        newCondition.setup(subject, source);
        subject.applyNewEffect(newCondition);
        foreach (effectObserver obs in conditionBeginObservers)
        {
            obs.trigger(newCondition);
        }
    }
示例#2
0
    public override void activate(ObjectActor self, ObjectCombatable target)
    {
        ObjectActor        targetActor = target as ObjectActor;
        ObjectInteractable source      = self as ObjectInteractable;

        if (targetActor != null)
        {
            GloriousDawn preexisting = target.gameObject.GetComponent <GloriousDawn>();
            if (preexisting == null)
            {
                GloriousDawn regeneration = target.gameObject.AddComponent <GloriousDawn>();
                regeneration.setup(targetActor, source, skillName, briefSkillDescription, duration, stackHealing);
                targetActor.applyNewEffect(regeneration);
            }
            else
            {
                preexisting.stack();
            }
        }
    }
    public override void activate(ObjectActor self, ObjectCombatable target)
    {
        ObjectActor        targetActor = target as ObjectActor;
        ObjectInteractable source      = self as ObjectInteractable;

        if (targetActor != null)
        {
            BarnardsExaltation preexisting = target.gameObject.GetComponent <BarnardsExaltation>();
            if (preexisting == null)
            {
                BarnardsExaltation regeneration = target.gameObject.AddComponent <BarnardsExaltation>();
                regeneration.setup(targetActor, source, skillName, briefSkillDescription, duration, REGENSPEED, DEGENSPEED);
                targetActor.applyNewEffect(regeneration);
            }
            else
            {
                preexisting.stack();
            }
        }
    }
示例#4
0
    public override void activate(ObjectActor self, ObjectCombatable target)
    {
        //Debug.Log(energyCost);
        ObjectActor        targetActor = target as ObjectActor;
        ObjectInteractable source      = self as ObjectInteractable;

        if (targetActor != null)
        {
            Shield preexisting = target.gameObject.GetComponent <Shield>();
            if (preexisting == null)
            {
                Shield effect = target.gameObject.AddComponent <Shield>();
                effect.setup(targetActor, source, skillName, briefSkillDescription, duration, value);
                targetActor.applyNewEffect(effect);
            }
            else
            {
                preexisting.stack();
            }
        }
    }
示例#5
0
    public override void activate(ObjectActor self, ObjectCombatable target)
    {
        //Debug.Log(energyCost);
        ObjectActor        targetActor = target as ObjectActor;
        ObjectInteractable source      = self as ObjectInteractable;

        if (targetActor != null)
        {
            CyphersPoisonSkill preexisting = target.gameObject.GetComponent <CyphersPoisonSkill>();
            if (preexisting == null)
            {
                CyphersPoisonSkill cyphers = target.gameObject.AddComponent <CyphersPoisonSkill>();
                cyphers.setup(targetActor, source, skillName, briefSkillDescription, duration, damage);
                targetActor.applyNewEffect(cyphers);
            }
            else
            {
                preexisting.stack();
            }
        }
    }
示例#6
0
    public override bool activate(ObjectActor self, ObjectCombatable target, out string message)
    {
        ObjectActor        targetActor = target as ObjectActor;
        ObjectInteractable source      = self as ObjectInteractable;

        sourceActor = self;
        if (targetActor != null)
        {
            DelayedJolt preexisting = target.gameObject.GetComponent <DelayedJolt>();
            if (preexisting == null)
            {
                DelayedJolt regeneration = target.gameObject.AddComponent <DelayedJolt>();
                regeneration.setup(targetActor, source, sourceActor, skillName, briefSkillDescription, duration);
                targetActor.applyNewEffect(regeneration);
            }
            else
            {
                preexisting.stack();
            }
        }
        message = "";
        return(false);
    }
示例#7
0
    public override bool activate(ObjectActor self, ObjectCombatable target, out string message)
    {
        ObjectActor        targetActor = target as ObjectActor;
        ObjectInteractable source      = self as ObjectInteractable;

        if (targetActor != null)
        {
            GrennsFire preexisting = target.gameObject.GetComponent <GrennsFire>();
            if (preexisting == null)
            {
                GrennsFire grennsFire = target.gameObject.AddComponent <GrennsFire>();
                grennsFire.setup(targetActor, source, skillName, briefSkillDescription, duration, DEGENSPEED);
                targetActor.applyNewEffect(grennsFire);
                targetActor.beginBurning(self);
            }
            else
            {
                preexisting.stack();
            }
        }
        message = "";
        return(false);
    }