Ejemplo n.º 1
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                Item targ = targeted as Item;

                if (m_Obsidian.Deleted || m_Obsidian.Quantity >= Obsidian.m_Completed || targ == null)
                {
                    return;
                }

                if (m_Obsidian.IsChildOf(from.Backpack) && targ.IsChildOf(from.Backpack) && targ is Obsidian && targ != m_Obsidian)
                {
                    Obsidian targObsidian = (Obsidian)targ;
                    if (targObsidian.Quantity < Obsidian.m_Completed)
                    {
                        if (targObsidian.Quantity + m_Obsidian.Quantity <= Obsidian.m_Completed)
                        {
                            targObsidian.Quantity += m_Obsidian.Quantity;
                            m_Obsidian.Delete();
                        }
                        else
                        {
                            int delta = Obsidian.m_Completed - targObsidian.Quantity;
                            targObsidian.Quantity += delta;
                            m_Obsidian.Quantity   -= delta;
                        }

                        if (targObsidian.Quantity >= Obsidian.m_Completed)
                        {
                            targObsidian.StatueName = Obsidian.RandomName(from);
                        }

                        from.Send(new AsciiMessage(targObsidian.Serial, targObsidian.ItemID, MessageType.Regular, 0x59, 3, m_Obsidian.Name, "Something Happened."));

                        return;
                    }
                }

                from.Send(new MessageLocalized(m_Obsidian.Serial, m_Obsidian.ItemID, MessageType.Regular, 0x2C, 3, 500309, m_Obsidian.Name, "")); // Nothing Happens.
            }
Ejemplo n.º 2
0
 public InternalTarget(Obsidian obsidian) : base(-1, false, TargetFlags.None)
 {
     m_Obsidian = obsidian;
 }
Ejemplo n.º 3
0
 public DisassembleEntry(Obsidian obsidian) : base(6142)
 {
     m_Obsidian = obsidian;
 }