public override bool LootItem(Mobile from) { if (Utility.RandomDouble() <= .05) { WheatSeed item = new WheatSeed(); from.AddToBackpack(item); from.SendMessage("You manage to gather 1 wheat seed."); } WheatSheaf c = new WheatSheaf(); c.ItemID = 7869; from.AddToBackpack(c); from.SendMessage("You manage to gather 1 wheat sheaf."); return true; }
public override void OnDoubleClick( Mobile from ) { if ( m_sower == null || m_sower.Deleted ) m_sower = from; if ( from.Mounted && !CropHelper.CanWorkMounted ) { from.SendMessage( "You cannot harvest a crop while mounted." ); return; } if ( DateTime.Now > lastpicked.AddSeconds(1) ) // 3 seconds between picking changed to 1 sec { lastpicked = DateTime.Now; int cookValue = (int)from.Skills[SkillName.Cooking].Value / 20; if ( cookValue == 0 ) { from.SendMessage( "You have no idea how to harvest this crop." ); return; } if ( from.InRange( this.GetWorldLocation(), 1 ) ) { if ( m_yield < 1 ) { from.SendMessage( "There is nothing here to harvest." ); if ( PlayerCanDestroy && !( m_sower.AccessLevel > AccessLevel.Counselor ) ) { UpRootGump g = new UpRootGump( from, this ); from.SendGump( g ); } } else //check skill and sower { from.Direction = from.GetDirectionTo( this ); from.Animate( from.Mounted ? 29:32, 5, 1, true, false, 0 ); if ( from == m_sower ) { cookValue *= 2; m_lastvisit = DateTime.Now; } if ( cookValue > m_yield ) cookValue = m_yield + 1; int pick = Utility.Random( cookValue ); if ( pick == 0 ) { from.SendMessage( "You do not manage to harvest any crops." ); return; } m_yield -= pick; from.SendMessage( "You harvest {0} crop{1}!", pick, ( pick == 1 ? "" : "s" ) ); //PublicOverheadMessage( MessageType.Regular, 0x3BD, false, string.Format( "{0}", m_yield )); // use for debuging ((Item)this).ItemID = pickedGraphic; // ******************************** // *** Wheat does not yet exist *** // ******************************** // Wheat crop = new Wheat( pick ); //*BreadLoaf crop = new BreadLoaf( pick ); WheatSheaf crop = new WheatSheaf( pick ); from.AddToBackpack( crop ); if ( SowerPickTime != TimeSpan.Zero && m_lastvisit + SowerPickTime < DateTime.Now && !( m_sower.AccessLevel > AccessLevel.Counselor ) ) { this.UpRoot( from ); return; } if ( !regrowTimer.Running ) { regrowTimer.Start(); } } } else { from.SendMessage( "You are too far away to harvest anything." ); } } }