コード例 #1
0
    /// <summary>
    /// Casts curse (generic)
    /// </summary>
    /// <param name="caster">Caster.</param>
    /// <param name="EffectID">Effect ID of the spell</param>
    void Cast_Curse(GameObject caster, int EffectID)
    {
        //Curse other.
                RaycastHit hit= new RaycastHit();
                NPC npc = GetNPCTargetRandom(caster, ref hit);
                if (npc != null)
                {
                        //Debug.Log(npc.name);
                        SpellProp_Curse curse = new SpellProp_Curse();
                        curse.init (EffectID,caster);
                        //Apply a impact effect to the npc
                        Impact.SpawnHitImpact(npc.transform.name + "_impact",npc.GetImpactPoint(),curse.impactFrameStart,curse.impactFrameEnd);

                        int EffectSlot = CheckPassiveSpellEffectNPC(npc.gameObject);
                        if (EffectSlot!=-1)
                        {
                                SpellEffectCurse sep= (SpellEffectCurse)SetSpellEffect(npc.gameObject, npc.NPCStatusEffects, EffectSlot, EffectID);
                                sep.isNPC=true;
                                sep.Go ();
                        }
                }
    }
コード例 #2
0
 /// <summary>
 /// Casts the cursed item spell (generic)
 /// </summary>
 /// <param name="caster">Caster.</param>
 /// <param name="ActiveSpellArray">Active spell array.</param>
 /// <param name="EffectID">Effect ID of the spell</param>
 /// <param name="EffectSlot">Effect slot.</param>
 public void Cast_CursedItem(GameObject caster, SpellEffect[] ActiveSpellArray, int EffectID, int EffectSlot)
 {
     //Cursed
             SpellProp_Curse curse = new SpellProp_Curse();
             curse.init (EffectID,caster);
             SpellEffectCurse sep = (SpellEffectCurse)SetSpellEffect (caster, ActiveSpellArray,EffectSlot,EffectID);
             sep.counter=curse.counter; //It will run for x ticks.
             if (caster.name!=GameWorldController.instance.playerUW.name)
             {
                     sep.isNPC=true;
             }
             sep.Go ();
 }