public GiftBag( bool nice ) { Item item = null; Hue = Utility.RandomList( 32, 64, 2301 ); if ( nice ) { Name = "Happy Holidays!"; DropItem( MakeNewbie( new WristWatch() ) ); if ( Utility.RandomBool() ) { item = new Cake(); item.ItemID = 4164; item.Hue = 432; item.Name = "fruit cake"; DropItem( MakeNewbie( item ) ); } else { DropItem( MakeNewbie( new CheesePizza() ) ); } if (Utility.RandomBool()) DropItem(MakeNewbie(new BeverageBottle(BeverageType.Champagne))); else DropItem(MakeNewbie(new BeverageBottle(BeverageType.EggNog))); switch ( Utility.Random( 7 ) ) { default: case 0: DropItem( MakeNewbie( new Apple() ) ); break; case 1: DropItem( MakeNewbie( new Pear() ) ); break; case 2: DropItem( MakeNewbie( new Bananas() ) ); break; case 3: DropItem( MakeNewbie( new Dates() ) ); break; case 4: DropItem( MakeNewbie( new Coconut() ) ); break; case 5: DropItem( MakeNewbie( new Peach() ) ); break; case 6: DropItem( MakeNewbie( new Grapes() ) ); break; } item = new Goblet(); item.Name = "a champagne glass"; item.Hue = 71; DropItem( MakeNewbie( item ) ); item = new Goblet(); item.Name = "a champagne glass"; item.Hue = 34; DropItem( MakeNewbie( item ) ); DropItem( MakeNewbie( new FireworksWand( 100 ) ) ); item = new Item( 5359 ); item.Hue = Utility.RandomList( 32, 64, 2301 ); item.Name = "Seasons Greetings"; DropItem( MakeNewbie( item ) ); //DropItem( new IrinaFlowers() ); } else { Name = "You were naughty this year!"; item = new Bacon(); item.ItemID = 4164; // spam DropItem( MakeNewbie( item ) ); DropItem( MakeNewbie( new Coal() ) ); if ( Utility.RandomBool() ) { item = new Lemon(); item.Name = "Sour attitude"; DropItem( item ); } item = new Kindling(); item.Name = "switches"; DropItem( item ); // not newbied... item = new Item( 5359 ); item.Hue = Utility.RandomList( 32, 64, 2301 ); item.Name = "Maybe next year you will get a nicer gift."; DropItem( MakeNewbie( item ) ); } }
public override void OnDoubleClick( Mobile from ) { if ( from.Mounted && !TreeHelper.CanPickMounted ) { from.SendMessage( "You cannot pick fruit while mounted." ); return; } /* To Kill Tree if ( Utility.RandomDouble() <= .05 ) //.5 is 5% Chance { from.SendMessage( "The crop withers away." ); if ( regrowTimer.Running ) regrowTimer.Stop(); this.Delete(); } */ if ( DateTime.Now > lastpicked.AddSeconds(3) ) // 3 seconds between picking { lastpicked = DateTime.Now; int lumberValue = (int)from.Skills[SkillName.Lumberjacking].Value / 20; if ( from.Mounted ) ++lumberValue; if ( lumberValue < 0 ) { from.SendMessage( "You have no idea how to pick this fruit." ); return; } if ( from.InRange( this.GetWorldLocation(), 2 ) ) { if ( m_yield < 1 ) { from.SendMessage( "There is nothing here to harvest." ); } else //check skill { from.Direction = from.GetDirectionTo( this ); from.Animate( from.Mounted ? 26:17, 7, 1, true, false, 0 ); if ( lumberValue < m_yield ) lumberValue = m_yield + 1; int pick = Utility.Random( lumberValue ); if ( pick == 0 ) { from.SendMessage( "You do not manage to gather any fruit." ); return; } m_yield -= pick; from.SendMessage( "You pick {0} Lemon{1}!", pick, ( pick == 1 ? "" : "s" ) ); //PublicOverheadMessage( MessageType.Regular, 0x3BD, false, string.Format( "{0}", m_yield )); Lemon crop = new Lemon( pick ); from.AddToBackpack( crop ); if ( !regrowTimer.Running ) { regrowTimer.Start(); } } } else { from.SendLocalizedMessage( 500446 ); // That is too far away. } } }
public void Chop( Mobile from ) { if ( from.InRange( this.GetWorldLocation(), 1 ) ) { if ( ( chopTimer == null ) || ( !chopTimer.Running ) ) { if ( ( TreeHelper.TreeOrdinance ) && ( from.AccessLevel == AccessLevel.Player ) ) { if ( from.Region is Regions.GuardedRegion ) from.CriminalAction( true ); } chopTimer = new TreeHelper.ChopAction( from ); Point3D pnt = this.Location; Map map = this.Map; from.Direction = from.GetDirectionTo( this ); chopTimer.Start(); double lumberValue = from.Skills[SkillName.Lumberjacking].Value / 100; if ( ( lumberValue > .5 ) && ( Utility.RandomDouble() <= lumberValue ) ) { Lemon fruit = new Lemon( (int)Utility.Random( 13 ) + m_yield ); from.AddToBackpack( fruit ); int cnt = Utility.Random( (int)( lumberValue * 10 ) + 1 ); Log logs = new Log( cnt ); // Fruitwood Logs ?? from.AddToBackpack( logs ); FruitTreeStump i_stump = new FruitTreeStump( typeof( LemonTree ) ); Timer poof = new StumpTimer( this, i_stump, from ); poof.Start(); } else from.SendLocalizedMessage( 500495 ); // You hack at the tree for a while, but fail to produce any useable wood. } } else from.SendLocalizedMessage( 500446 ); // That is too far away. }
public override void OnDoubleClick(Mobile from) { if (from.Mounted && !TreeHelper.CanPickMounted) { from.SendMessage("You cannot pick fruit while mounted."); return; } if (DateTime.Now > lastpicked.AddSeconds(3)) // 3 seconds between picking { lastpicked = DateTime.Now; int lumberValue = (int)(from.Skills[SkillName.Peacemaking].Base * 0.1); if (from.Mounted) ++lumberValue; if (lumberValue < 0) //Changed lumberValue == 0 to lv < 0 { from.SendMessage("You have no idea how to pick this fruit."); return; } if (from.InRange(this.GetWorldLocation(), 2)) { if (m_yield < 1) { from.SendMessage("There is nothing here to harvest."); } else //check skill { from.Direction = from.GetDirectionTo(this); from.Animate(from.Mounted ? 26 : 17, 7, 1, true, false, 0); if (lumberValue < m_yield) //Changed lumberValue > to lv < 0 lumberValue = m_yield + 1; int pick = Utility.Random(lumberValue); if (pick == 0 || ((PlayerMobile)from).Feats.GetFeatLevel(FeatList.Farming) < 1) { from.SendMessage("You do not manage to gather any fruit."); return; } m_yield -= pick; from.SendMessage("You pick {0} lemon{1}!", pick, (pick == 1 ? "" : "s")); Seed.PickCropSeed(from, "LemonTree"); if (from is PlayerMobile) { ((PlayerMobile)from).Crafting = true; Misc.LevelSystem.AwardMinimumXP((PlayerMobile)from, 1); ((PlayerMobile)from).Crafting = false; } //PublicOverheadMessage( MessageType.Regular, 0x3BD, false, string.Format( "{0}", m_yield )); Lemon crop = new Lemon(pick); from.AddToBackpack(crop); if (!regrowTimer.Running) { regrowTimer.Start(); } } } else { from.SendLocalizedMessage(500446); // That is too far away. } } }