public override bool OnDragDrop(Mobile from, Item dropped) { if (!from.InRange(this.GetWorldLocation(), 1)) { from.SendMessage(89, "You are too far from the crate, step closer."); return(false); } else { if (dropped is BaseGranite) { if (dropped is Granite) { // NORMAL GRANITE Granite yourgranite = (Granite)dropped; dropped.Delete(); from.SendMessage(89, "The machine processes your granite."); Effects.PlaySound(from.Location, from.Map, 0x2F3); // Plays the earthquake sound Item spawn = new Sand(); spawn.MoveToWorld(new Point3D(this.X + 2, this.Y - 2, this.Z + 2), this.Map); return(true); } else { // Wrong Granite Type (Not Normal) if (dropped is BaseGranite) { BaseGranite yourgranite = (BaseGranite)dropped; dropped.Delete(); from.SendMessage(89, "The machine tries to processes the granite but fail's."); Effects.PlaySound(from.Location, from.Map, 0x208); // Plays the sound from.SendMessage(89, "You loose your piece of granite!!!"); return(true); } return(false); } } from.SendMessage(89, "This machine can only process normal granite."); return(false); } return(false); }