public override void ExecuteEffect() { TypeUsageChannel typeChannel = (TypeUsageChannel)skillChannel.typeUsage; //Ask the soulbehaviour to make a copy of itself with the skill it represents StateChanneling newState = new StateChanneling(chrTarget, typeChannel.nStartChannelTime, typeChannel.soulBehaviour.GetCopy(skillChannel)); //We don't need to perform any real action on starting channeling other than changing our readiness state so that the // soulchannel effect can be applied (and do any on-application effects if necessary) chrTarget.SetStateReadiness(newState); fDelay = ContTime.fDelayTurnSkill; sLabel = chrTarget.sName + " is beginning their channel"; }
// This is the end of the section that should be copied and pasted public override void ExecuteEffect() { Debug.Log("Executing ExecCompleteChannel"); fDelay = ContTime.fDelayTurnSkill; sLabel = chrTarget.sName + " has completed their channel"; StateChanneling stateChannel = (StateChanneling)chrTarget.curStateReadiness; Debug.Log("Setting the bChannelCompleted flag"); //Set the completed channel flag for this Channeling state's soul effect stateChannel.soulBehaviour.bChannelCompleted = true; StateFatigued newState = new StateFatigued(chrTarget); //Transition into a fatigued state which will trigger the expiration effect chrTarget.SetStateReadiness(newState); }