protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Item)
                {
                    Item i = (Item)targeted;

                    bool isGrave = false;

                    foreach (int check in m_Grave)
                    {
                        if (check == i.ItemID)
                        {
                            isGrave = true;
                        }
                    }

                    if (isGrave == true)
                    {
                        m_Item.Uses -= 1;
                        if (m_Item.Uses == 0)
                        {
                            m_Item.Delete();
                            if (m_From != null)
                            {
                                m_From.SendMessage("Your shovel has broken.");
                            }
                        }

                        if (m_From != null)
                        {
                            m_From.SendMessage("You start to dig.");
                        }

                        DigTimer dt = new DigTimer(m_From, m_Item, TimeSpan.FromSeconds(1.0));
                        dt.Start();
                        m_From.PlaySound(Utility.RandomList(0x125, 0x126));
                        m_From.Animate(11, 1, 1, true, false, 0);
                        m_Item.IsDigging = true;
                    }
                    else
                    {
                        if (m_From != null)
                        {
                            m_From.SendMessage("That is not a grave.");
                        }
                    }
                }
                else if (targeted is StaticTarget)
                {
                    StaticTarget i = (StaticTarget)targeted;

                    bool isGrave = false;

                    foreach (int check in m_Grave)
                    {
                        if (check == i.ItemID)
                        {
                            isGrave = true;
                        }
                    }

                    if (isGrave == true)
                    {
                        m_Item.Uses -= 1;
                        if (m_Item.Uses <= 0)
                        {
                            m_Item.Delete();
                            if (m_From != null)
                            {
                                m_From.SendMessage("Your shovel has broken.");
                            }
                        }

                        if (m_From != null)
                        {
                            m_From.SendMessage("You start to dig.");
                        }

                        DigTimer dt = new DigTimer(m_From, m_Item, TimeSpan.FromSeconds(1.0));
                        dt.Start();
                        m_From.PlaySound(Utility.RandomList(0x125, 0x126));
                        m_From.Animate(11, 1, 1, true, false, 0);
                        m_Item.IsDigging = true;
                    }
                }
                else
                {
                    m_From.SendMessage("That is not a grave.");
                }
            }
Esempio n. 2
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Item)
                {
                    Item i = (Item)targeted;

                    bool isGrave = false;

                    foreach (int check in m_Grave)
                    {
                        if (check == i.ItemID)
                        {
                            isGrave = true;
                        }
                    }

                    if (isGrave == true)
                    {
                        m_Item.Uses -= 1;
                        if (m_Item.Uses == 0)
                        {
                            m_Item.Delete();
                            if (m_From != null)
                            {
                                m_From.SendMessage(30, "你的鏟子坏掉了.");
                            }
                        }

                        if (m_From != null)
                        {
                            m_From.SendMessage(66, "你開始掘墓.");
                        }

                        DigTimer dt = new DigTimer(m_From, m_Item, TimeSpan.FromSeconds(10.0));
                        dt.Start();
                        m_From.PlaySound(Utility.RandomList(0x125, 0x126));
                        if (Core.SA)
                        {
                            from.Animate(AnimationType.Attack, 3);
                        }
                        else
                        {
                            from.Animate(11, 5, 1, true, false, 0);
                        }
                        m_Item.IsDigging = true;
                    }
                    else
                    {
                        if (m_From != null)
                        {
                            m_From.SendMessage("那不是墳墓.");
                        }
                    }
                }
                else if (targeted is StaticTarget)
                {
                    StaticTarget i = (StaticTarget)targeted;

                    bool isGrave = false;

                    foreach (int check in m_Grave)
                    {
                        if (check == i.ItemID)
                        {
                            isGrave = true;
                        }
                    }

                    if (isGrave == true)
                    {
                        m_Item.Uses -= 1;
                        if (m_Item.Uses <= 0)
                        {
                            m_Item.Delete();
                            if (m_From != null)
                            {
                                m_From.SendMessage(60, "你的鏟子坏掉了.");
                            }
                        }

                        if (m_From != null)
                        {
                            m_From.SendMessage(66, "你開始掘墓.");
                        }

                        DigTimer dt = new DigTimer(m_From, m_Item, TimeSpan.FromSeconds(10.0));
                        dt.Start();
                        m_From.PlaySound(Utility.RandomList(0x125, 0x126));
                        m_From.Animate(11, 1, 1, true, false, 0);
                        m_Item.IsDigging = true;
                    }
                }
                else
                {
                    m_From.SendMessage("那不是墳墓.");
                }
            }