SpellProp_Mind.init C# (CSharp) Method

init() public method

public init ( int effectId, GameObject SpellCaster ) : void
effectId int
SpellCaster GameObject
return void
    public override void init(int effectId, GameObject SpellCaster)
    {
        base.init (effectId,SpellCaster);
        switch (effectId)
        {
        case SpellEffect.UW1_Spell_Effect_Paralyze:
        case SpellEffect.UW1_Spell_Effect_Paralyze_alt01:
            counter=4; break;
        case SpellEffect.UW1_Spell_Effect_Ally:
        case SpellEffect.UW1_Spell_Effect_Ally_alt01:
            counter=5; break;
        case SpellEffect.UW1_Spell_Effect_Confusion:
        case SpellEffect.UW1_Spell_Effect_Confusion_alt01:
            counter=3; break;
        case SpellEffect.UW1_Spell_Effect_CauseFear:
        case SpellEffect.UW1_Spell_Effect_CauseFear_alt01:
            counter=4; break;
        case SpellEffect.UW1_Spell_Effect_Telekinesis:
        case SpellEffect.UW1_Spell_Effect_Telekinesis_alt01:
        case SpellEffect.UW1_Spell_Effect_Telekinesis_alt02:
            counter=2; break;
        case SpellEffect.UW1_Spell_Effect_MazeNavigation:
            counter=4; break;
        case SpellEffect.UW1_Spell_Effect_Hallucination:
            counter=4; break;
        case SpellEffect.UW1_Spell_Effect_RoamingSight:
        case SpellEffect.UW1_Spell_Effect_RoamingSight_alt01:
        case SpellEffect.UW1_Spell_Effect_RoamingSight_alt02:
            counter=2; break;
        case SpellEffect.UW1_Spell_Effect_FreezeTime:
        case SpellEffect.UW1_Spell_Effect_FreezeTime_alt01:
        case SpellEffect.UW1_Spell_Effect_FreezeTime_alt02:
            counter=4; break;
        case SpellEffect.UW1_Spell_Effect_DetectMonster:
        case SpellEffect.UW1_Spell_Effect_DetectMonster_alt01:
                BaseDamage=5;//range of the detection
                break;
        }

        impactFrameStart=40;
        impactFrameEnd=44;
    }

Usage Example

Example #1
0
    /// <summary>
    /// Cast Confusion
    /// </summary>
    /// <param name="caster">Caster.</param>
    /// <param name="EffectID">Effect ID of the spell</param>
    void Cast_VasAnWis(GameObject caster, int EffectID)
    {
        //Confusion.
                RaycastHit hit= new RaycastHit();
                NPC npc = GetNPCTargetRandom(caster, ref hit);
                if (npc != null)
                {
                        SpellProp_Mind mindspell = new SpellProp_Mind();
                        mindspell.init (EffectID,caster);
                        //Apply a impact effect to the npc
                        Impact.SpawnHitImpact(npc.transform.name + "_impact",npc.GetImpactPoint(),mindspell.impactFrameStart,mindspell.impactFrameEnd);

                        if (npc.gameObject.GetComponent<SpellEffectConfusion>()!=null)
                        {//Npc already has this effect. Only allow one cast.
                                npc.gameObject.GetComponent<SpellEffectConfusion>().counter=5;//Restart the counter
                        }
                        else
                        {//A new cast
                                int EffectSlot = CheckPassiveSpellEffectNPC(npc.gameObject);
                                if (EffectSlot!=-1)
                                {
                                        SpellEffectConfusion sec= (SpellEffectConfusion)SetSpellEffect(npc.gameObject, npc.NPCStatusEffects, EffectSlot, EffectID);
                                        sec.counter=mindspell.counter;
                                        sec.Go ();
                                }
                        }
                }
    }
All Usage Examples Of SpellProp_Mind::init
SpellProp_Mind