示例#1
0
    // Use this for initialization
    public override void Start()
    {
        base.Start();

        attack = GetComponent <CastSkill> ();

        /*	switch (enemyType) {
         *      case Type.Melee:
         *              attackRange = meleeAttackRange;
         *              castTime = meleeCastTime;
         *              enemyAttack = attack.melees;
         *              cooldown = meleeCooldown;
         *              break;
         *      case Type.Ranged:
         *              attackRange = rangedAttackRange;
         *              castTime = rangedCastTime;
         *              enemyAttack = attack.projectiles;
         *              cooldown = rangedCooldown;
         *              break;
         *      case Type.Exploding:
         *              attackRange = explodingAttackRange;
         *              castTime = explodingCastTime;
         *              enemyAttack = attack.explosions;
         *
         *              break;
         *      } */
    }
示例#2
0
    public override void InteractEffect()
    {
        ui = GameObject.FindGameObjectWithTag("UI");

        ui.GetComponent <Pause>().PauseThis();
        choosePowerCanvas.SetActive(true);


        skill     = player.GetComponent <CastSkill>();
        textField = player.GetComponent <Player>().feedbackText;
    }
示例#3
0
    public GameObject CastSkill(GameObject go, int skillId, int skillType, int stamp, string folderName, string prefabName, string target_id, Vector3 targetPos, bool needneedFeedback, string[] targetIds, bool isAct)
    {
        SceneEntity component = go.GetComponent <SceneEntity>();

        if (component != null)
        {
            component.castSkill = go.transform.GetOrAddComponent <CastSkill>();
            return(component.castSkill.StartSkill(skillId, skillType, stamp, folderName, prefabName, target_id, targetPos, needneedFeedback, targetIds, isAct));
        }
        CastSkill orAddComponent = go.transform.GetOrAddComponent <CastSkill>();

        return(orAddComponent.StartSkill(skillId, skillType, stamp, folderName, prefabName, target_id, targetPos, needneedFeedback, targetIds, isAct));
    }
示例#4
0
    // Use this for initialization
    public override void Start()
    {
        base.Start();

        currentHealthBar.color = Color.red;

        gameObject.GetComponentInChildren <CircleCollider2D>().radius = aggroRange;
        attack             = GetComponent <CastSkill>();
        rigidbody          = this.GetComponent <Rigidbody2D>();
        anim               = GetComponent <Animator>();
        originalChaseRange = chaseRange;
        SetTypeNumbers();
    }
示例#5
0
    public static void Execute(ReturnUseSkillUserCmd_S cmd)
    {
        CastSkill cast = null;

        switch (cmd.owner.entrytype)
        {
        case Cmd.SceneEntryType.SceneEntryType_Npc:
        {
            var owner = Npc.All[cmd.owner.entryid];
            if (owner != null)
            {
                cast = owner.CastSkill;
            }
        }
        break;

        case Cmd.SceneEntryType.SceneEntryType_Player:
        {
            var owner = Role.All[cmd.owner.entryid];
            if (owner != null)
            {
                cast = owner.CastSkill;
            }
        }
        break;

        default:
            break;
        }

        var skill = table.TableSkill.Where(cmd.skillid, cmd.skilllevel);

        if (cast == null || skill == null)
        {
            return;
        }
        cast.StartSkill(skill, cmd.hurts);
    }
示例#6
0
        public override bool CheckCast()
        {
            int mana = ScaleMana(RequiredMana);

            if (!base.CheckCast())
            {
                return(false);
            }

            if (!CheckExpansion(Caster))
            {
                Caster.SendLocalizedMessage(1063456);                   // You must upgrade to Samurai Empire in order to use that ability.
                return(false);
            }

            if (Caster.Skills[CastSkill].Value < RequiredSkill)
            {
                string args = String.Format("{0}\t{1}\t ", RequiredSkill.ToString("F1"), CastSkill.ToString());
                Caster.SendLocalizedMessage(1063013, args);                   // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
                return(false);
            }
            else if (Caster.Mana < mana)
            {
                Caster.SendLocalizedMessage(1060174, mana.ToString());                   // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability.
                return(false);
            }

            return(true);
        }
示例#7
0
        public override bool CheckCast()
        {
            if (!base.CheckCast())
            {
                return(false);
            }

            if (!CheckExpansion(Caster))
            {
                Caster.SendLocalizedMessage(1063456);                   // You must upgrade to Samurai Empire in order to use that ability.

                return(false);
            }

            if (Caster.Skills[SkillName.Bushido].Value < RequiredSkill)
            {
                string args = String.Format("{0}\t{1}\t ", RequiredSkill.ToString("F1"), CastSkill.ToString());
                Caster.SendLocalizedMessage(1063013, args);                   // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
                return(false);
            }
            else if (Caster.Mana < ScaleMana(RequiredMana))
            {
                Caster.SendLocalizedMessage(1060174, RequiredMana.ToString());                   // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability.
                return(false);
            }

            if (HonorableExecution.UnderEffect(Caster) || LightningStrike.UnderEffect(Caster) || MomentumStrike.UnderEffect(Caster))
            {
                return(true);
            }

            WeaponAbility ability = WeaponAbility.GetCurrentAbility(Caster);

            if (ability != null)
            {
                WeaponAbility.ClearCurrentAbility(Caster);
            }

            if (AnimalForm.UnderEffect(Caster))
            {
                if (this is HonorableExecution || this is LightningStrike || this is MomentumStrike)
                {
                    Caster.SendLocalizedMessage(1063024);                       // You cannot perform this special move right now.

                    return(false);
                }
            }

            if (FocusAttack.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF5, 0));

                FocusAttack.m_Table.Remove(Caster);

                BaseWeapon weapon = Caster.Weapon as BaseWeapon;

                if (weapon != null)
                {
                    FocusAttack.RemoveBonus(weapon);
                }
            }

            if (DeathStrike.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF6, 0));

                DeathStrike.m_Table.Remove(Caster);
            }

            if (KiAttack.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF8, 0));

                KiAttack.m_Table.Remove(Caster);
            }

            if (SurpriseAttack.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF9, 0));

                SurpriseAttack.m_Table.Remove(Caster);
            }

            if (Backstab.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xFA, 0));

                Backstab.m_Table.Remove(Caster);
            }

            return(true);
        }
示例#8
0
    public void SetSkillInfo(GameObject obj, GameObject skill, int skillType, bool showEff)
    {
        CastSkill component = obj.GetComponent <CastSkill>();

        component.SetSkillInfo(skill, skillType, showEff);
    }
示例#9
0
        public override bool CheckCast()
        {
            if (!base.CheckCast())
            {
                return(false);
            }

            if (Caster is PlayerMobile)
            {
                if (!CheckExpansion(Caster))
                {
                    Caster.SendLocalizedMessage(1072176);                       // You must upgrade to the Mondain's Legacy Expansion Pack before using that ability
                    return(false);
                }

                PlayerMobile pm = Caster as PlayerMobile;

                if (!pm.Arcanist)
                {
                    pm.SendLocalizedMessage(1073220);                       // You must have completed the epic arcanist quest to use this ability.
                    return(false);
                }
            }

            int mana = ScaleMana(RequiredMana);

            if (Caster.Mana < mana)
            {
                Caster.SendLocalizedMessage(1060174, mana.ToString());                   // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability.
                return(false);
            }

            if (Caster.Skills[CastSkill].Value < RequiredSkill)
            {
                Caster.SendLocalizedMessage(1063013, String.Format("{0}\t{1}\t ", RequiredSkill.ToString("F1"), CastSkill.ToString()));                       // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
                return(false);
            }

            return(true);
        }
        public override bool CheckCast()
        {
            if (!base.CheckCast())
            {
                return(false);
            }

            if (!SamuraiSpell.CheckExpansion(Caster))
            {
                Caster.SendLocalizedMessage(1063456);                   // You must upgrade to Samurai Empire in order to use that ability.

                return(false);
            }

            if (Caster.Skills[SkillName.Ninjitsu].Value < RequiredSkill)
            {
                string args = String.Format("{0}\t{1}\t ", RequiredSkill.ToString("F1"), CastSkill.ToString());
                Caster.SendLocalizedMessage(1063013, args);                   // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
                return(false);
            }
            else if (Caster.Mana < ScaleMana(RequiredMana))
            {
                Caster.SendLocalizedMessage(1060174, RequiredMana.ToString());                   // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability.
                return(false);
            }

            if (FocusAttack.UnderEffect(Caster) || DeathStrike.UnderEffect(Caster) || SurpriseAttack.UnderEffect(Caster) || Backstab.UnderEffect(Caster) || KiAttack.UnderEffect(Caster))
            {
                return(true);
            }

            if (AnimalForm.UnderEffect(Caster))
            {
                if (this is FocusAttack || this is DeathStrike || this is KiAttack || this is SurpriseAttack || this is Backstab)
                {
                    Caster.SendLocalizedMessage(1063024);                       // You cannot perform this special move right now.

                    return(false);
                }
            }

            WeaponAbility ability = WeaponAbility.GetCurrentAbility(Caster);

            if (ability != null)
            {
                WeaponAbility.ClearCurrentAbility(Caster);
            }

            if (HonorableExecution.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0x91, 0));

                HonorableExecution.m_Table.Remove(Caster);
            }

            if (LightningStrike.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0x95, 0));

                LightningStrike.m_Table.Remove(Caster);
            }

            if (MomentumStrike.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0x96, 0));

                MomentumStrike.m_Table.Remove(Caster);
            }

            return(true);
        }
示例#11
0
        public override bool CheckCast()
        {
            if (!base.CheckCast())
            {
                return(false);
            }

            if (Caster.Skills[SkillName.Bushido].Value < RequiredSkill)
            {
                string args = String.Format("{0}\t{1}\t ", RequiredSkill.ToString("F1"), CastSkill.ToString());
                Caster.SendLocalizedMessage(1063013, args);                   // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
                return(false);
            }
            else if (Caster.Mana < ScaleMana(RequiredMana))
            {
                Caster.SendLocalizedMessage(1060174, RequiredMana.ToString());                   // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability.
                return(false);
            }

            return(true);
        }