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); } }
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(); } } }
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(); } } }
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(); } } }
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); }
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); }