public override void UseSkill() { //Store the index of the current selections so that we can refer back to it later when the channel finishes (or triggers in some way) nSelectionsInputIndex = NetworkMatchReceiver.Get().indexCurMatchInput; ContSkillEngine.PushSingleClause(new ClauseBeginChannel(skill)); }
public override void OnLeave() { //Push a clause onto the stack that will clear the stored selection of the channel we're using // - don't want that stale selection info floating around after it's relevant // - need to do it before removing the soulBehaviour so that the clause gets evaluated after all the // effects of the soulBehaviour have been resolved ContSkillEngine.PushSingleClause(new ClauseClearStoredSelection(soulBehaviour.skillSource)); //TODO:: unsubscribe from all of these cancelling triggers Chr.subAllDeath.UnSubscribe(cbInterruptifInvalid); chrOwner.soulContainer.RemoveSoul(soulBehaviour); }
public void PushEndingMarker() { ContSkillEngine.PushSingleClause(new ClauseEndSkill(this)); }
public void PushStartingMarker() { ContSkillEngine.PushSingleClause(new ClauseStartSkill(this)); }
public void PayFatigue() { ContSkillEngine.PushSingleClause(new ClausePayFatigue(this)); }
public void PayCooldown() { ContSkillEngine.PushSingleClause(new ClausePayCooldown(this)); }
public void PayManaCost() { ContSkillEngine.PushSingleClause(new ClausePayMana(this)); }
//TODO - don't make new instances of these, just store one modifiable copy in the skill and // push a reference to it onto the stack instead public void PaySkillPoints() { ContSkillEngine.PushSingleClause(new ClausePaySkillPoints(this)); }