コード例 #1
0
        public override void OnSpeech(SpeechEventArgs e)
        {
            if (!e.Handled)
            {
                Mobile m         = e.Mobile;
                int    m_Keyword = 1;
                if (this.Parent == m)
                {
                    switch (2)
                    {
                    case 2:
                    {
                        //Iceball ---------------------------------------
                        if (Iceballact == 0)
                        {
                            goto case 1;
                        }

                        bool   isMatch     = false;
                        string m_Substring = "Des Corp Del";

                        if (m_Keyword >= 0 && e.HasKeyword(m_Keyword))
                        {
                            isMatch = true;
                        }
                        else if (m_Substring != null && e.Speech.ToLower().IndexOf(m_Substring.ToLower()) >= 0)
                        {
                            isMatch = true;
                        }

                        if (!isMatch)
                        {
                            goto case 1;
                        }
                        if (m.BeginAction(typeof(GlacialStaff)))
                        {
                            Spell iceball = new IceBallSpell(m, this);
                            iceball.Cast();
                        }
                        else
                        {
                            m.SendMessage("The Staff is too Cold to use");
                        }
                        Timer.DelayCall(TimeSpan.FromSeconds(4.0), new TimerStateCallback(ReleasecastLock), m);

                        break;
                    }

                    case 1:
                    {
                        //Freezeparalyze ---------------------------------
                        if (Freezeact == 0)
                        {
                            goto case 0;
                        }

                        bool   isMatch     = false;
                        string m_Substring = "An Ex Del";

                        if (m_Keyword >= 0 && e.HasKeyword(m_Keyword))
                        {
                            isMatch = true;
                        }
                        else if (m_Substring != null && e.Speech.ToLower().IndexOf(m_Substring.ToLower()) >= 0)
                        {
                            isMatch = true;
                        }

                        if (!isMatch)
                        {
                            goto case 0;
                        }
                        if (m.BeginAction(typeof(GlacialStaff)))
                        {
                            Spell FreezeParalyze = new FreezeParalyzeSpell(m, this);
                            FreezeParalyze.Cast();
                        }
                        else
                        {
                            m.SendMessage("The Staff is too Cold to use");
                        }
                        Timer.DelayCall(TimeSpan.FromSeconds(15.0), new TimerStateCallback(ReleasecastLock), m);
                        break;
                    }

                    case 0:
                    {
                        //Ice Strike -------------------------------------
                        if (IceStrikeact == 0)
                        {
                            break;
                        }

                        bool   isMatch     = false;
                        string m_Substring = "In Corp Del";

                        if (m_Keyword >= 0 && e.HasKeyword(m_Keyword))
                        {
                            isMatch = true;
                        }
                        else if (m_Substring != null && e.Speech.ToLower().IndexOf(m_Substring.ToLower()) >= 0)
                        {
                            isMatch = true;
                        }

                        if (!isMatch)
                        {
                            break;
                        }
                        if (m.BeginAction(typeof(GlacialStaff)))
                        {
                            Spell IceStrike = new IceStrikeSpell(m, this);
                            IceStrike.Cast();
                        }
                        else
                        {
                            m.SendMessage("The Staff is too Cold to use");
                        }
                        Timer.DelayCall(TimeSpan.FromSeconds(15.0), new TimerStateCallback(ReleasecastLock), m);
                        break;
                    }
                    }
                }
            }
        }