public override void IncreaseTier() { base.IncreaseTier(); List <object> list = new List <object>(); Item c; switch (Tier) { case 1: // dishing stump c = new Static(0x1865); c.MoveToWorld(new Point3D(1417, 1590, 30), Map); list.Add(c); // pickaxe c = new Pickaxe(); c.MoveToWorld(new Point3D(1414, 1588, 47), Map); c.Movable = false; list.Add(c); // sewing kit c = new SewingKit(); c.MoveToWorld(new Point3D(1414, 1592, 42), Map); c.Movable = false; list.Add(c); // empty tool box c = new Static(0x1EB7); c.MoveToWorld(new Point3D(1415, 1588, 47), Map); list.Add(c); // silver wire c = new Static(0x1EB7) { Weight = 5.0 }; c.MoveToWorld(new Point3D(1417, 1592, 46), Map); list.Add(c); // gold wire c = new Static(0x1EB7) { Weight = 5.0 }; c.MoveToWorld(new Point3D(1417, 1592, 47), Map); list.Add(c); // silver ingots c = new Static(0x1BF6); c.MoveToWorld(new Point3D(1416, 1592, 44), Map); list.Add(c); break; } if (list.Count > 0) { Tiers.Add(list); } }
public override void OnClick() { if (m_From.InRange(m_Fountain.GetWorldLocation(), 4)) { if (m_From.Backpack.ConsumeTotal(typeof(Gold), 1)) { m_Fountain.Jackpot++; switch (m_Fountain.MessageNum) { case MagicFountainAddon.FountainMessage.Cool: { if (0.001 > Utility.RandomDouble()) { Gold gold = new Gold(); gold.Amount = m_Fountain.Jackpot; // no need to test, it's always at least 1 if (!m_From.AddToBackpack(gold)) { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); gold.Delete(); } else { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain!"); m_Fountain.Jackpot = 0; } } else if (0.001 > Utility.RandomDouble()) { Gold gold = new Gold(); gold.Amount = m_Fountain.Jackpot; // no need to test, it's always at least 1 if (!m_From.AddToBackpack(gold)) { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); gold.Delete(); } else { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain!"); m_Fountain.Jackpot = 0; } } else { m_From.SendMessage("You toss a coin in ... but nothing happens."); } break; } case MagicFountainAddon.FountainMessage.Warm: { if (0.01 > Utility.RandomDouble()) { Item item = null; switch (Utility.RandomMinMax(1, 10)) { case 1: item = new TinkerTools(); break; case 2: item = new Lockpick(3); break; case 3: item = new Pitchfork(); break; case 4: item = new Dagger(); break; case 5: item = new Emerald(); break; case 6: item = new Ruby(); break; case 7: item = new Amber(); break; case 8: item = new Server.Engines.Mahjong.MahjongGame(); break; case 9: item = new SewingKit(); break; case 10: item = new SmithHammer(); break; } if (!m_From.AddToBackpack(item)) { m_From.SendMessage("You toss a coin in ... and an item appears! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); item.Delete(); } else { m_From.SendMessage("You toss a coin in ... and an item appears!"); if (m_Fountain.Jackpot > 10) { m_Fountain.Jackpot = m_Fountain.Jackpot - 5; } } } else if (0.001 > Utility.RandomDouble()) { Gold gold = new Gold(); gold.Amount = m_Fountain.Jackpot; // no need to test, it's always at least 1 if (!m_From.AddToBackpack(gold)) { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); gold.Delete(); } else { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain!"); m_Fountain.Jackpot = 0; } } else { m_From.SendMessage("You toss a coin in ... but nothing happens."); } break; } case MagicFountainAddon.FountainMessage.Clean: { if (0.05 > Utility.RandomDouble()) { Item food = null; switch (Utility.RandomMinMax(1, 10)) { case 1: food = new Bacon(); break; case 2: food = new CookedBird(); break; case 3: food = new Ham(); break; case 4: food = new Ribs(); break; case 5: food = new Sausage(); break; case 6: food = new Cookies(); break; case 7: food = new Muffins(3); break; case 8: food = new ApplePie(); break; case 9: food = new PeachCobbler(); break; case 10: food = new Lime(); break; } if (!m_From.AddToBackpack(food)) { m_From.SendMessage("You toss a coin in ... and food appears! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); food.Delete(); } else { m_From.SendMessage("You toss a coin in ... and food appears!"); if (m_Fountain.Jackpot > 10) { m_Fountain.Jackpot = m_Fountain.Jackpot - 5; } } } else if (0.001 > Utility.RandomDouble()) { Gold gold = new Gold(); gold.Amount = m_Fountain.Jackpot; // no need to test, it's always at least 1 if (!m_From.AddToBackpack(gold)) { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); gold.Delete(); } else { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain!"); m_Fountain.Jackpot = 0; } } else { m_From.SendMessage("You toss a coin in ... but nothing happens."); } break; } case MagicFountainAddon.FountainMessage.Calm: { if (0.005 > Utility.RandomDouble()) { Horse horse = new Horse(); horse.Map = m_From.Map; horse.Location = m_From.Location; if ((m_From.Followers + horse.ControlSlots) <= m_From.FollowersMax) { // set up the horse... =P horse.Controlled = true; horse.ControlMaster = m_From; horse.OwnerAbandonTime = DateTime.MinValue; horse.BondingBegin = DateTime.MinValue; horse.ControlOrder = OrderType.Follow; horse.ControlTarget = m_From; horse.Owners.Add(m_From); // seems to be new in 2.0 // horse.Loyalty = PetLoyalty.WonderfullyHappy; // doesn't work in 2.0 but seems unnecessary m_From.SendMessage("You toss a coin in ... and a horse appears!"); } else { m_From.SendMessage("You toss a coin in ... and a horse appears! But you have too many pets to control this one too. The horse runs off!"); horse.Delete(); } if (m_Fountain.Jackpot > 20) { m_Fountain.Jackpot = m_Fountain.Jackpot - 10; } } else if (0.001 > Utility.RandomDouble()) { Gold gold = new Gold(); gold.Amount = m_Fountain.Jackpot; // no need to test, it's always at least 1 if (!m_From.AddToBackpack(gold)) { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); gold.Delete(); } else { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain!"); m_Fountain.Jackpot = 0; } } else { m_From.SendMessage("You toss a coin in ... but nothing happens."); } break; } case MagicFountainAddon.FountainMessage.Fruit: { if (0.05 > Utility.RandomDouble()) { Item fruit = null; switch (Utility.RandomMinMax(1, 10)) { case 1: fruit = new Watermelon(); break; case 2: fruit = new Apple(); break; case 3: fruit = new Pear(); break; case 4: fruit = new Peach(); break; case 5: fruit = new Lime(); break; case 6: fruit = new Lemon(); break; case 7: fruit = new Coconut(); break; case 8: fruit = new Grapes(); break; case 9: fruit = new Bananas(); break; case 10: fruit = new Cantaloupe(); break; } if (!m_From.AddToBackpack(fruit)) { m_From.SendMessage("You toss a coin in ... and fruit appears! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); fruit.Delete(); } else { m_From.SendMessage("You toss a coin in ... and fruit appears!"); if (m_Fountain.Jackpot > 10) { m_Fountain.Jackpot = m_Fountain.Jackpot - 5; } else { m_Fountain.Jackpot = 0; } } } else if (0.001 > Utility.RandomDouble()) { Gold gold = new Gold(); gold.Amount = m_Fountain.Jackpot; // no need to test, it's always at least 1 if (!m_From.AddToBackpack(gold)) { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain! But you can't hold it! You accidentally drop it back in the fountain, where it vanishes."); gold.Delete(); } else { m_From.SendMessage("You toss a coin in ... and a shower of gold leaps back out of the fountain!"); m_Fountain.Jackpot = 0; } } else { m_From.SendMessage("You toss a coin in ... but nothing happens."); } break; } } } else { m_From.SendMessage("You don't have a coin to toss in."); } } else { m_From.SendMessage("Get closer."); } }
public override void IncreaseTier() { base.IncreaseTier(); List<object> list = new List<object>(); Item c; switch ( Tier ) { case 1: // dishing stump c = new Static( 0x1865 ); c.MoveToWorld( new Point3D( 1417, 1590, 30 ), Map ); list.Add( c ); // pickaxe c = new Pickaxe(); c.MoveToWorld( new Point3D( 1414, 1588, 47 ), Map ); c.Movable = false; list.Add( c ); // sewing kit c = new SewingKit(); c.MoveToWorld( new Point3D( 1414, 1592, 42 ), Map ); c.Movable = false; list.Add( c ); // empty tool box c = new Static( 0x1EB7 ); c.MoveToWorld( new Point3D( 1415, 1588, 47 ), Map ); list.Add( c ); // silver wire c = new Static( 0x1EB7 ); c.Weight = 5.0; c.MoveToWorld( new Point3D( 1417, 1592, 46 ), Map ); list.Add( c ); // gold wire c = new Static( 0x1EB7 ); c.Weight = 5.0; c.MoveToWorld( new Point3D( 1417, 1592, 47 ), Map ); list.Add( c ); // silver ingots c = new Static( 0x1BF6 ); c.MoveToWorld( new Point3D( 1416, 1592, 44 ), Map ); list.Add( c ); break; } if ( list.Count > 0 ) Tiers.Add( list ); }
public override void OnResponse( NetState state, RelayInfo info ) { PlayerMobile m = m_user; ToolBox box = i_box; BaseTool tool; BaseHarvestTool toola; Container pack = m.Backpack; switch ( info.ButtonID ) { default: { break; } case 1: { break; } case 2: { box.OW( m ); break; } case 3: { tool = new Tongs(); tool.UsesRemaining = box.i_S; pack.DropItem( tool ); box.i_S = 0; break; } case 4: { tool = new MouldingPlane(); tool.UsesRemaining = box.i_C; pack.DropItem( tool ); box.i_C = 0; break; } case 5: { tool = new TinkerTools(); tool.UsesRemaining = box.i_Ti; pack.DropItem( tool ); box.i_Ti = 0; break; } case 6: { tool = new SewingKit(); tool.UsesRemaining = box.i_T; pack.DropItem( tool ); box.i_T = 0; break; } case 7: { tool = new Blowpipe(); tool.UsesRemaining = box.i_G; pack.DropItem( tool ); box.i_G = 0; break; } case 8: { tool = new ScribesPen(); tool.UsesRemaining = box.i_Sc; pack.DropItem( tool ); box.i_Sc = 0; break; } case 9: { toola = new Shovel(); toola.UsesRemaining = box.i_M; pack.DropItem( toola ); box.i_M = 0; break; } case 10: { tool = new Skillet(); tool.UsesRemaining = box.i_Co; pack.DropItem( tool ); box.i_Co = 0; break; } case 11: { tool = new FletcherTools(); tool.UsesRemaining = box.i_F; pack.DropItem( tool ); box.i_F = 0; break; } case 12: { tool = new MortarPestle(); tool.UsesRemaining = box.i_A; pack.DropItem( tool ); box.i_A = 0; break; } case 13: { tool = new MalletAndChisel(); tool.UsesRemaining = box.i_St; pack.DropItem( tool ); box.i_St = 0; break; } case 14: { tool = new MapmakersPen(); tool.UsesRemaining = box.i_Ca; pack.DropItem( tool ); box.i_Ca = 0; break; } } if ( info.ButtonID > 2 ) { box.NG( m, box ); } } } }