public void setup( ObjectActor subject, ObjectInteractable source, string name, string desc, float duration, float damage ) { this.subject = subject; // order passed in. this.source = source; skillName = name; briefSkillDescription = desc; this.duration = duration; this.damage = damage; setEnd(duration); obs = subject.gameObject.AddComponent <FloatAdjuster>(); obs.setupObserver(addDamage); subject.rawDamageSubscribe(obs); instanceList = new List <GameObject>(); }