protected override void OnTarget(Mobile from, object targeted) { Item targ = targeted as Item; if (m_pieces.Deleted || m_pieces.Quantity >= DrowCircletPieces.m_completed || targ == null) { return; } if (m_pieces.IsChildOf(from.Backpack) && targ.IsChildOf(from.Backpack) && targ is DrowCircletPieces & targ != m_pieces) { DrowCircletPieces targPieces = (DrowCircletPieces)targ; if (targPieces.Quantity < DrowCircletPieces.m_completed) { if (targPieces.Quantity + m_pieces.Quantity <= DrowCircletPieces.m_completed) { targPieces.Quantity += m_pieces.Quantity; m_pieces.Delete(); } else { int delta = DrowCircletPieces.m_completed - targPieces.Quantity; targPieces.Quantity += delta; m_pieces.Quantity -= delta; } if (targPieces.Quantity >= DrowCircletPieces.m_completed) { targPieces.Delete(); from.AddToBackpack(new DrowCirclet()); } else { from.SendMessage("You attached pieces to the Circlet "); } return; } from.SendMessage("Nothing Happened"); } }
public InternalTarget(DrowCircletPieces pieces) : base(-1, false, TargetFlags.None) { m_pieces = pieces; }