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"; }
public SkillHarpoonGun(Chr _chrOwner) : base(_chrOwner) { sName = "HarpoonGun"; sDisplayName = "Harpoon Gun"; //We don't have any specific effect to take place while channeling, so just leave the // soulChannel effect null and let it copy our execution's effect for what it does when the channel completes typeUsage = new TypeUsageChannel(this, 2, null); //Physical, Mental, Energy, Blood, Effort manaCost = new ManaCost(new Mana(0, 0, 0, 0, 2)); nCooldownInduced = 5; nFatigue = 2; InitTargets(); lstSkillClauses = new List <ClauseSkillSelection>() { new Clause1(this), new Clause2(this) }; }
public SkillHydrasRegen(Chr _chrOwner) : base(_chrOwner) { sName = "HydrasRegen"; sDisplayName = "Hydra's Regeneration"; //Create an instance of the soulChannel effect soulChannelBehaviour = new SoulChannelHydrasRegen(this); //Pass a reference into the channel-type so that it can copy our behaviour for channeling typeUsage = new TypeUsageChannel(this, 4, soulChannelBehaviour); //Physical, Mental, Energy, Blood, Effort manaCost = new ManaCost(new Mana(0, 0, 0, 1, 0)); nCooldownInduced = 6; nFatigue = 1; InitTargets(); lstSkillClauses = new List <ClauseSkillSelection>() { new Clause1(this) }; }