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";
    }
Пример #2
0
    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)
        };
    }