public override void OnComponentUsed(AddonComponent c, Mobile from) { if (from.InRange(Location, 2) && from.InLOS(Location)) { if (m_Charges > 0) { from.Target = new InternalTarget(this); } else { if (from.Backpack != null) { PotionKeg keg = from.Backpack.FindItemByType(typeof(PotionKeg)) as PotionKeg; if (Validate(keg) > 0) { from.SendGump(new InternalGump(this, keg)); } else { from.SendLocalizedMessage(1076198); // You do not have a full keg of explosion potions needed to recharge the cannon. } } } } else { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. } }
public override void OnComponentUsed(AddonComponent c, Mobile from) { if (from.InRange(Location, 2)) { if (m_Charges > 0) { from.Target = new InternalTarget(this); } else { if (from.Backpack != null) { PotionKeg keg = from.Backpack.FindItemByType(typeof(PotionKeg)) as PotionKeg; if (Validate(keg) > 0) { from.SendGump(new InternalGump(this, keg)); } else { from.SendLocalizedMessage(1076198); // You do not have a full keg of explosion potions needed to recharge the cannon. } } } } else { from.SendLocalizedMessage(1076766); // That is too far away. } }
public InternalGump(CannonAddon cannon, PotionKeg keg) : base(50, 50) { m_Cannon = cannon; m_Keg = keg; Closable = true; Disposable = true; Dragable = true; Resizable = false; AddPage(0); AddBackground(0, 0, 291, 133, 0x13BE); AddImageTiled(5, 5, 280, 100, 0xA40); //AddHtmlLocalized( 9, 9, 272, 100, 1076196, cannon.Validate( keg ).ToString(), 0x7FFF, false, false ); // You will need a full keg of explosion potions to recharge the cannon. Your keg will provide ~1_CHARGES~ charges. AddHtml(9, 9, 272, 100, string.Format("<basefont color=#FFFFFF>You will need a full keg of explosion potions to recharge the cannon. Your keg will provide {0} charges.</basefont>", cannon.Validate(keg).ToString()), false, false); AddButton(5, 107, 0xFB1, 0xFB2, (int)Buttons.Cancel, GumpButtonType.Reply, 0); AddHtmlLocalized(40, 109, 100, 20, 1060051, 0x7FFF, false, false); // CANCEL AddButton(160, 107, 0xFB7, 0xFB8, (int)Buttons.Recharge, GumpButtonType.Reply, 0); AddHtmlLocalized(195, 109, 120, 20, 1076197, 0x7FFF, false, false); // Recharge }
public override bool OnDragDrop(Mobile from, Item item) { if (item is GreaterPoisonPotion && m_UsesRemaining < m_StorageLimit) { m_UsesRemaining++; from.PlaySound(0x240); from.SendLocalizedMessage(502237); // You place the empty bottle in your backpack. Container pack = from.Backpack; pack.DropItem(new Bottle()); return(true); } if (item is PotionKeg) { int freespace = m_StorageLimit - m_UsesRemaining; PotionKeg keg = (PotionKeg)item; if (keg.Type == PotionEffect.PoisonGreater && keg.Held <= freespace) { m_UsesRemaining += keg.Held; from.PlaySound(0x240); from.SendMessage("You place the empty keg in your backpack."); // You place the empty bottle in your backpack. Container pack = from.Backpack; pack.DropItem(new PotionKeg()); return(true); } from.SendMessage("This is not the right kind of Potion!"); // You don't have room for the empty bottle in your backpack. return(false); } from.SendMessage("You can't fit all those potions in the sprinkler!"); // You don't have room for the empty bottle in your backpack. return(false); }
private Item MakePotionKeg(PotionEffect type, int hue) { PotionKeg keg = new PotionKeg(); keg.Held = 100; keg.Type = type; keg.Hue = hue; return keg; }
private Item MakePotionKeg(PotionEffect type, int hue) { PotionKeg keg = new PotionKeg(); keg.Held = 100; keg.Type = type; keg.Hue = hue; return(keg); }
private static Item MakePotionKeg( PotionEffect type, int hue ) { PotionKeg keg = new PotionKeg(); keg.Held = 100; keg.Type = type; keg.Hue = hue; return MakeNewbie( keg ); }
protected override void OnTarget(Mobile from, object target) { if (m_PotionBarrelCreationDeed.Deleted || m_PotionBarrelCreationDeed.RootParent != from) { return; } if (from == null) { return; } if (target is Item) { Item item = target as Item; if (!item.IsChildOf(from.Backpack)) { from.SendMessage("You must target a potion keg in your backpack."); return; } if (!(item is PotionKeg)) { from.SendMessage("That item is not a potion keg."); return; } PotionKeg potionKeg = item as PotionKeg; if (potionKeg.MaxHeld < 500) { from.SendMessage("You must target a potion keg with a capacity of 500 or more."); return; } if (potionKeg.IsPotionBarrel) { from.SendMessage("That keg has already been converted into a potion barrel."); return; } potionKeg.IsPotionBarrel = true; from.PlaySound(0x23D); from.SendMessage("You convert the potion keg into a potion barrel."); m_PotionBarrelCreationDeed.Delete(); } else { from.SendMessage("That is not a valid item to combine."); return; } }
protected override void OnTarget(Mobile from, object target) { if (m_PotionKegCombineDeed.Deleted || m_PotionKegCombineDeed.RootParent != from) { return; } if (from == null) { return; } if (target is Item) { Item item = target as Item; if (!item.IsChildOf(from.Backpack)) { from.SendMessage("You must target an empty potion keg in your backpack."); return; } if (!(item is PotionKeg)) { from.SendMessage("That item is not an empty potion keg."); return; } PotionKeg secondPotionKeg = item as PotionKeg; if (secondPotionKeg == m_FirstPotionKeg) { from.SendMessage("You can cannot combine the same keg into itself."); return; } if (secondPotionKeg.Held > 0) { from.SendMessage("You may only combine empty potion kegs."); return; } m_PotionKegCombineDeed.CombinePotionKegs(from, m_FirstPotionKeg, secondPotionKeg); } else { from.SendMessage("That is not a valid item to combine."); return; } }
public int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue) { if (craftSystem is DefAlchemy) { Container pack = from.Backpack; if (pack != null) { Item[] kegs = pack.FindItemsByType(typeof(PotionKeg), true); for (int i = 0; i < kegs.Length; ++i) { PotionKeg keg = kegs[i] as PotionKeg; if (keg == null) { continue; } if (keg.Held <= 0 || keg.Held >= 100) { continue; } if (keg.Type != PotionEffect) { continue; } if (this is TeiravonPotion) { TeiravonPotion tp = (TeiravonPotion)this; if (tp.Racial) { continue; } } ++keg.Held; Delete(); from.AddToBackpack(new Bottle()); return(-1); // signal placed in keg } } } return(1); }
public void Fill(Mobile from, PotionKeg keg) { Charges = Validate(keg); if (Charges > 0) { keg.Delete(); from.SendLocalizedMessage(1076199); // Your cannon is recharged. } else { from.SendLocalizedMessage(1076198); // You do not have a full keg of explosion potions needed to recharge the cannon. } }
public int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue) { if (craftSystem is DefAlchemy) { Container pack = from.Backpack; if (pack != null) { // Genova: suporte ao UO:ML. #region Mondain's Legacy if ((int)PotionEffect >= (int)PotionEffect.Invisibility) { return(1); } #endregion List <PotionKeg> kegs = pack.FindItemsByType <PotionKeg>(); for (int i = 0; i < kegs.Count; ++i) { PotionKeg keg = kegs[i]; if (keg == null) { continue; } if (keg.Held <= 0 || keg.Held >= 100) { continue; } if (keg.Type != PotionEffect) { continue; } ++keg.Held; Consume(); from.AddToBackpack(new Bottle()); return(-1); // signal placed in keg } } } return(1); }
public override void OnDoubleClick( Mobile from ) { from.BankBox.DropItem( new BagOfReagents( 100 ) ); PotionKeg keg = new PotionKeg(); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; from.BankBox.DropItem( keg ); keg = new PotionKeg(); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; from.BankBox.DropItem( keg ); from.BankBox.DropItem( new BankCheck( 5000 ) ); Delete(); }
public override void OnDoubleClick(Mobile from) { from.BankBox.DropItem(new BagOfReagents(100)); PotionKeg keg = new PotionKeg(); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; from.BankBox.DropItem(keg); keg = new PotionKeg(); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; from.BankBox.DropItem(keg); from.BankBox.DropItem(new BankCheck(5000)); Delete(); }
protected override void OnTarget(Mobile from, object target) { if (m_PotionKegCombineDeed.Deleted || m_PotionKegCombineDeed.RootParent != from) { return; } if (from == null) { return; } if (target is Item) { Item item = target as Item; if (!item.IsChildOf(from.Backpack)) { from.SendMessage("You must target an empty potion keg in your backpack."); return; } if (!(item is PotionKeg)) { from.SendMessage("That item is not an empty potion keg."); return; } PotionKeg firstPotionKeg = item as PotionKeg; if (firstPotionKeg.Held > 0) { from.SendMessage("You may only combine empty potion kegs."); return; } from.SendMessage("Target an empty potion keg you wish to combine the previous with. The newly combined potion keg will maintain the hue of the second targeted potion keg."); from.Target = new SecondPotionKegTarget(m_PotionKegCombineDeed, firstPotionKeg); } else { from.SendMessage("That is not a valid item to combine."); return; } }
public int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue) { if (craftSystem is DefAlchemy) { Container pack = from.Backpack; if (pack != null) { List <PotionKeg> kegs = pack.FindItemsByType <PotionKeg>(); for (int i = 0; i < kegs.Count; ++i) { PotionKeg keg = kegs[i]; if (keg == null) { continue; } if (keg.Held <= 0 || keg.Held >= 129) { continue; } if (keg.Type != PotionEffect) { continue; } ++keg.Held; from.LocalOverheadMessage(MessageType.Regular, 0x22, true, "*You pour the completed potion into a potion keg*"); Consume(); from.AddToBackpack(new Bottle(), false); return(-1); // signal placed in keg } from.LocalOverheadMessage(MessageType.Regular, 0x22, true, "*You pour the completed potion into a bottle*"); } } return(1); }
public int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue) { if (craftSystem is DefAlchemy) { Container pack = from.Backpack; // Publish 15 // You will now be able to make potions directly into a potion keg. if (pack != null && (Core.UOAI || Core.UOAR || Core.UOMO || Core.Publish >= 15)) { List <PotionKeg> kegs = pack.FindItemsByType <PotionKeg>(); for (int i = 0; i < kegs.Count; ++i) { PotionKeg keg = kegs[i]; if (keg == null) { continue; } if (keg.Held <= 0 || keg.Held >= 100) { continue; } if (keg.Type != PotionEffect) { continue; } ++keg.Held; Consume(); from.AddToBackpack(new Bottle()); return(-1); // signal placed in keg } } } return(1); }
public int Validate(PotionKeg keg) { if (keg != null && !keg.Deleted && keg.Held == 100) { if (keg.Type == PotionEffect.ExplosionLesser) { return(5); } else if (keg.Type == PotionEffect.Explosion) { return(10); } else if (keg.Type == PotionEffect.ExplosionGreater) { return(15); } } return(0); }
public bool OnCraft(bool exceptional, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue) { if (craftSystem is DefAlchemy) { Container pack = from.Backpack; if (pack != null) { Item[] kegs = pack.FindItemsByType(typeof(PotionKeg), true); for (int i = 0; i < kegs.Length; ++i) { PotionKeg keg = kegs[i] as PotionKeg; if (keg == null) { continue; } if (keg.Held <= 0 || keg.Held >= 100) { continue; } if (keg.Type != PotionEffect) { continue; } ++keg.Held; Consume(); from.AddToBackpack(new Bottle()); return(true); // signal placed in keg } } } return(false); }
public int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue) { if (craftSystem is DefAlchemy) { Container pack = from.Backpack; if (pack != null && m_PotionEffect <= PotionEffect.TotalManaRefresh) { List <PotionKeg> kegs = pack.FindItemsByType <PotionKeg>(); for (int i = 0; i < kegs.Count; ++i) { PotionKeg keg = kegs[i]; if (keg == null) { continue; } if (keg.Held <= 0 || keg.Held >= 100) { continue; } if (keg.Type != PotionEffect) { continue; } ++keg.Held; Consume(); from.AddToBackpack(new Bottle()); return(-1); // signal placed in keg } } } return(1); }
public InternalGump( CannonAddon cannon, PotionKeg keg ) : base(50, 50) { m_Cannon = cannon; m_Keg = keg; Closable = true; Disposable = true; Dragable = true; Resizable = false; AddPage( 0 ); AddBackground( 0, 0, 291, 133, 0x13BE ); AddImageTiled( 5, 5, 280, 100, 0xA40 ); AddHtmlLocalized( 9, 9, 272, 100, 1076196, cannon.Validate( keg ).ToString(), 0x7FFF, false, false ); // You will need a full keg of explosion potions to recharge the cannon. Your keg will provide ~1_CHARGES~ charges. AddButton( 5, 107, 0xFB1, 0xFB2, (int) Buttons.Cancel, GumpButtonType.Reply, 0 ); AddHtmlLocalized( 40, 109, 100, 20, 1060051, 0x7FFF, false, false ); // CANCEL AddButton( 160, 107, 0xFB7, 0xFB8, (int) Buttons.Recharge, GumpButtonType.Reply, 0 ); AddHtmlLocalized( 195, 109, 120, 20, 1076197, 0x7FFF, false, false ); // Recharge }
public static void GiveKeg(Mobile from, UnknownKeg keg) { Item item = new PotionKeg(); PotionKeg barrel = (PotionKeg)item; barrel.Held = keg.KegFilled; int potionType = Utility.RandomMinMax(1, 31); if (Utility.RandomMinMax(1, 125) <= from.Skills[SkillName.Cooking].Value) // COOKS CAN FIND A POTION 1 LEVEL HIGHER { if (potionType == 2) { potionType++; } else if (potionType == 3) { potionType++; } else if (potionType == 5) { potionType++; } else if (potionType == 7) { potionType++; } else if (potionType == 9) { potionType++; } else if (potionType == 10) { potionType++; } else if (potionType == 11) { potionType++; } else if (potionType == 12) { potionType = 30; } else if (potionType == 13) { potionType++; } else if (potionType == 15) { potionType++; } else if (potionType == 16) { potionType++; } else if (potionType == 18) { potionType++; } else if (potionType == 19) { potionType++; } else if (potionType == 21) { potionType++; } else if (potionType == 22) { potionType++; } else if (potionType == 24) { potionType++; } else if (potionType == 25) { potionType++; } else if (potionType == 27) { potionType++; } else if (potionType == 28) { potionType++; } } if (potionType == 1) { barrel.Type = PotionEffect.Nightsight; } else if (potionType == 2) { barrel.Type = PotionEffect.CureLesser; } else if (potionType == 3) { barrel.Type = PotionEffect.Cure; } else if (potionType == 4) { barrel.Type = PotionEffect.CureGreater; } else if (potionType == 5) { barrel.Type = PotionEffect.Agility; } else if (potionType == 6) { barrel.Type = PotionEffect.AgilityGreater; } else if (potionType == 7) { barrel.Type = PotionEffect.Strength; } else if (potionType == 8) { barrel.Type = PotionEffect.StrengthGreater; } else if (potionType == 9) { barrel.Type = PotionEffect.PoisonLesser; } else if (potionType == 10) { barrel.Type = PotionEffect.Poison; } else if (potionType == 11) { barrel.Type = PotionEffect.PoisonGreater; } else if (potionType == 12) { barrel.Type = PotionEffect.PoisonDeadly; } else if (potionType == 13) { barrel.Type = PotionEffect.Refresh; } else if (potionType == 14) { barrel.Type = PotionEffect.RefreshTotal; } else if (potionType == 15) { barrel.Type = PotionEffect.HealLesser; } else if (potionType == 16) { barrel.Type = PotionEffect.Heal; } else if (potionType == 17) { barrel.Type = PotionEffect.HealGreater; } else if (potionType == 18) { barrel.Type = PotionEffect.ExplosionLesser; } else if (potionType == 19) { barrel.Type = PotionEffect.Explosion; } else if (potionType == 20) { barrel.Type = PotionEffect.ExplosionGreater; } else if (potionType == 21) { barrel.Type = PotionEffect.InvisibilityLesser; } else if (potionType == 22) { barrel.Type = PotionEffect.Invisibility; } else if (potionType == 23) { barrel.Type = PotionEffect.InvisibilityGreater; } else if (potionType == 24) { barrel.Type = PotionEffect.RejuvenateLesser; } else if (potionType == 25) { barrel.Type = PotionEffect.Rejuvenate; } else if (potionType == 26) { barrel.Type = PotionEffect.RejuvenateGreater; } else if (potionType == 27) { barrel.Type = PotionEffect.ManaLesser; } else if (potionType == 28) { barrel.Type = PotionEffect.Mana; } else if (potionType == 29) { barrel.Type = PotionEffect.ManaGreater; } else if (potionType == 30) { barrel.Type = PotionEffect.PoisonLethal; } else { barrel.Type = PotionEffect.Invulnerability; } Server.Items.PotionKeg.SetColorKeg(item, item); from.SendMessage("This seems to be a " + barrel.Name + "."); from.AddToBackpack(barrel); }
public static void SetColorKeg(Item potion, Item keg) { PotionKeg p = (PotionKeg)keg; if (p.Held < 1) { keg.Hue = 0x96D; keg.Name = "empty potion keg"; } else { if (potion != keg) { if (potion is BasePotion) { BasePotion pot = (BasePotion)potion; p.Type = pot.PotionEffect; keg.Hue = Server.Items.PotionKeg.GetPotionColor(potion); } } switch (p.Type) { case PotionEffect.Nightsight: keg.Name = "keg of nightsight potions"; break; case PotionEffect.CureLesser: keg.Name = "keg of lesser cure potions"; break; case PotionEffect.Cure: keg.Name = "keg of cure potions"; break; case PotionEffect.CureGreater: keg.Name = "keg of greater cure potions"; break; case PotionEffect.Agility: keg.Name = "keg of agility potions"; break; case PotionEffect.AgilityGreater: keg.Name = "keg of greater agility potions"; break; case PotionEffect.Strength: keg.Name = "keg of strength potions"; break; case PotionEffect.StrengthGreater: keg.Name = "keg of greater strength potions"; break; case PotionEffect.PoisonLesser: keg.Name = "keg of lesser poison potions"; break; case PotionEffect.Poison: keg.Name = "keg of poison potions"; break; case PotionEffect.PoisonGreater: keg.Name = "keg of greater poison potions"; break; case PotionEffect.PoisonDeadly: keg.Name = "keg of deadly poison potions"; break; case PotionEffect.PoisonLethal: keg.Name = "keg of lethal poison potions"; break; case PotionEffect.Refresh: keg.Name = "keg of refresh potions"; break; case PotionEffect.RefreshTotal: keg.Name = "keg of total refresh potions"; break; case PotionEffect.HealLesser: keg.Name = "keg of lesser heal potions"; break; case PotionEffect.Heal: keg.Name = "keg of heal potions"; break; case PotionEffect.HealGreater: keg.Name = "keg of greater heal potions"; break; case PotionEffect.ExplosionLesser: keg.Name = "keg of lesser explosion potions"; break; case PotionEffect.Explosion: keg.Name = "keg of explosion potions"; break; case PotionEffect.ExplosionGreater: keg.Name = "keg of greater explosion potions"; break; case PotionEffect.InvisibilityLesser: keg.Name = "keg of lesser invisibility potions"; break; case PotionEffect.Invisibility: keg.Name = "keg of invisibility potions"; break; case PotionEffect.InvisibilityGreater: keg.Name = "keg of greater invisibility potions"; break; case PotionEffect.RejuvenateLesser: keg.Name = "keg of lesser rejuvenate potions"; break; case PotionEffect.Rejuvenate: keg.Name = "keg of rejuvenate potions"; break; case PotionEffect.RejuvenateGreater: keg.Name = "keg of greater rejuvenate potions"; break; case PotionEffect.ManaLesser: keg.Name = "keg of lesser mana potions"; break; case PotionEffect.Mana: keg.Name = "keg of mana potions"; break; case PotionEffect.ManaGreater: keg.Name = "keg of greater mana potions"; break; case PotionEffect.Invulnerability: keg.Name = "keg of invulnerability potions"; break; case PotionEffect.Conflagration: keg.Name = "keg of conflagration potions"; break; case PotionEffect.ConflagrationGreater: keg.Name = "keg of greater conflagration potions"; break; case PotionEffect.ConfusionBlast: keg.Name = "keg of confusion blast potions"; break; case PotionEffect.ConfusionBlastGreater: keg.Name = "keg of greater confusion blast potions"; break; case PotionEffect.ElixirAlchemy: keg.Name = "keg of alchemy elixir"; break; case PotionEffect.ElixirAnatomy: keg.Name = "keg of anatomy elixir"; break; case PotionEffect.ElixirAnimalLore: keg.Name = "keg of animal lore elixir"; break; case PotionEffect.ElixirAnimalTaming: keg.Name = "keg of animal taming elixir"; break; case PotionEffect.ElixirArchery: keg.Name = "keg of archery elixir"; break; case PotionEffect.ElixirArmsLore: keg.Name = "keg of arms lore elixir"; break; case PotionEffect.ElixirBegging: keg.Name = "keg of begging elixir"; break; case PotionEffect.ElixirBlacksmith: keg.Name = "keg of blacksmithing elixir"; break; case PotionEffect.ElixirCamping: keg.Name = "keg of camping elixir"; break; case PotionEffect.ElixirCarpentry: keg.Name = "keg of carpentry elixir"; break; case PotionEffect.ElixirCartography: keg.Name = "keg of cartography elixir"; break; case PotionEffect.ElixirCooking: keg.Name = "keg of cooking elixir"; break; case PotionEffect.ElixirDetectHidden: keg.Name = "keg of detection elixir"; break; case PotionEffect.ElixirDiscordance: keg.Name = "keg of discordance elixir"; break; case PotionEffect.ElixirEvalInt: keg.Name = "keg of intelligence evaluation elixir"; break; case PotionEffect.ElixirFencing: keg.Name = "keg of fencing elixir"; break; case PotionEffect.ElixirFishing: keg.Name = "keg of fishing elixir"; break; case PotionEffect.ElixirFletching: keg.Name = "keg of fletching elixir"; break; case PotionEffect.ElixirFocus: keg.Name = "keg of focus elixir"; break; case PotionEffect.ElixirForensics: keg.Name = "keg of forensics elixir"; break; case PotionEffect.ElixirHealing: keg.Name = "keg of the healer elixir"; break; case PotionEffect.ElixirHerding: keg.Name = "keg of herding elixir"; break; case PotionEffect.ElixirHiding: keg.Name = "keg of hiding elixir"; break; case PotionEffect.ElixirInscribe: keg.Name = "keg of inscription elixir"; break; case PotionEffect.ElixirItemID: keg.Name = "keg of item identifying elixir"; break; case PotionEffect.ElixirLockpicking: keg.Name = "keg of lockpicking elixir"; break; case PotionEffect.ElixirLumberjacking: keg.Name = "keg of lumberjacking elixir"; break; case PotionEffect.ElixirMacing: keg.Name = "keg of mace fighting elixir"; break; case PotionEffect.ElixirMagicResist: keg.Name = "keg of magic resistance elixir"; break; case PotionEffect.ElixirMeditation: keg.Name = "keg of meditating elixir"; break; case PotionEffect.ElixirMining: keg.Name = "keg of mining elixir"; break; case PotionEffect.ElixirMusicianship: keg.Name = "keg of musicianship elixir"; break; case PotionEffect.ElixirParry: keg.Name = "keg of parrying elixir"; break; case PotionEffect.ElixirPeacemaking: keg.Name = "keg of peacemaking elixir"; break; case PotionEffect.ElixirPoisoning: keg.Name = "keg of poisoning elixir"; break; case PotionEffect.ElixirProvocation: keg.Name = "keg of provocation elixir"; break; case PotionEffect.ElixirRemoveTrap: keg.Name = "keg of removing trap elixir"; break; case PotionEffect.ElixirSnooping: keg.Name = "keg of snooping elixir"; break; case PotionEffect.ElixirSpiritSpeak: keg.Name = "keg of spirit speaking elixir"; break; case PotionEffect.ElixirStealing: keg.Name = "keg of stealing elixir"; break; case PotionEffect.ElixirStealth: keg.Name = "keg of stealth elixir"; break; case PotionEffect.ElixirSwords: keg.Name = "keg of sword fighting elixir"; break; case PotionEffect.ElixirTactics: keg.Name = "keg of tactics elixir"; break; case PotionEffect.ElixirTailoring: keg.Name = "keg of tailoring elixir"; break; case PotionEffect.ElixirTasteID: keg.Name = "keg of taste identification elixir"; break; case PotionEffect.ElixirTinkering: keg.Name = "keg of tinkering elixir"; break; case PotionEffect.ElixirTracking: keg.Name = "keg of tracking elixir"; break; case PotionEffect.ElixirVeterinary: keg.Name = "keg of veterinary elixir"; break; case PotionEffect.ElixirWrestling: keg.Name = "keg of wrestling elixir"; break; case PotionEffect.MixtureSlime: keg.Name = "keg of slimy mixture"; break; case PotionEffect.MixtureIceSlime: keg.Name = "keg of slimy ice mixture"; break; case PotionEffect.MixtureFireSlime: keg.Name = "keg of slimy fire mixture"; break; case PotionEffect.MixtureDiseasedSlime: keg.Name = "keg of slimy diseased mixture"; break; case PotionEffect.MixtureRadiatedSlime: keg.Name = "keg of slimy irradiated mixture"; break; case PotionEffect.LiquidFire: keg.Name = "keg of liquid fire"; break; case PotionEffect.LiquidGoo: keg.Name = "keg of liquid goo"; break; case PotionEffect.LiquidIce: keg.Name = "keg of liquid ice"; break; case PotionEffect.LiquidRot: keg.Name = "keg of liquid rot"; break; case PotionEffect.LiquidPain: keg.Name = "keg of liquid pain"; break; case PotionEffect.Resurrect: keg.Name = "keg of resurrection"; break; case PotionEffect.SuperPotion: keg.Name = "keg of superior"; break; case PotionEffect.Repair: keg.Name = "keg of repair"; break; case PotionEffect.Durability: keg.Name = "keg of durability"; break; case PotionEffect.HairOil: keg.Name = "keg of hair styling"; break; case PotionEffect.HairDye: keg.Name = "keg of hair dye"; break; case PotionEffect.Frostbite: keg.Name = "keg of frostbite potions"; break; case PotionEffect.FrostbiteGreater: keg.Name = "keg of greater frostbite potions"; break; } } }
public PotionBundle() { ItemID = 0x9A8; Weight = 1.0; Hue = 0; Name = "Box of Potions"; //PlaceItemIn( 16, 60, (item = new SkillBall( 25 )) ); //item.Hue = 38; PotionKeg keg; PlaceItemIn( 18, 105, (keg =new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 23, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 28, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 33, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 38, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn( 58, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 63, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 68, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 73, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 78, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn( 98, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 103, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 108, 105, (keg = new PotionKeg()) ); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn( 18, 129, (keg = new PotionKeg()) ); keg.Type = PotionEffect.StrengthGreater; keg.Held = 100; keg.Hue = 1001; PlaceItemIn( 28, 129, (keg = new PotionKeg()) ); keg.Type = PotionEffect.StrengthGreater; keg.Held = 100; keg.Hue = 1001; PlaceItemIn( 48, 129, (keg = new PotionKeg()) ); keg.Type = PotionEffect.AgilityGreater; keg.Held = 100; keg.Hue = 99; PlaceItemIn( 58, 129, (keg = new PotionKeg()) ); keg.Type = PotionEffect.AgilityGreater; keg.Held = 100; keg.Hue = 99; PlaceItemIn( 88, 129, (keg = new PotionKeg()) ); keg.Type = PotionEffect.ExplosionGreater; keg.Held = 100; keg.Hue = 15; PlaceItemIn( 98, 129, (keg = new PotionKeg()) ); keg.Type = PotionEffect.PoisonDeadly; keg.Held = 100; keg.Hue = 62; //PlaceItemIn( 103, 58, (item = new Sandals()) ); //item.Hue = Utility.RandomList(5, 70, 90, 110); //item.LootType = LootType.Blessed; //PlaceItemIn( 122, 53, new SpecialDonateDye() ); }
public SecondPotionKegTarget(PotionKegCombiningDeed PotionKegCombineDeed, PotionKeg firstPotionKeg) : base(2, false, TargetFlags.None) { m_PotionKegCombineDeed = PotionKegCombineDeed; m_FirstPotionKeg = firstPotionKeg; }
public PotionBundleAoS() { Weight = 1.0; Hue = 0; Name = "Box of Potions"; PotionKeg keg; CharacterCreation.PlaceItemIn(this, 18, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; CharacterCreation.PlaceItemIn(this, 23, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; CharacterCreation.PlaceItemIn(this, 28, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; CharacterCreation.PlaceItemIn(this, 33, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; CharacterCreation.PlaceItemIn(this, 38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; CharacterCreation.PlaceItemIn(this, 58, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; CharacterCreation.PlaceItemIn(this, 63, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; CharacterCreation.PlaceItemIn(this, 68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; CharacterCreation.PlaceItemIn(this, 73, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; CharacterCreation.PlaceItemIn(this, 78, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; CharacterCreation.PlaceItemIn(this, 98, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; CharacterCreation.PlaceItemIn(this, 103, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; CharacterCreation.PlaceItemIn(this, 108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; CharacterCreation.PlaceItemIn(this, 18, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.StrengthGreater; keg.Held = 100; keg.Hue = 1001; CharacterCreation.PlaceItemIn(this, 28, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.StrengthGreater; keg.Held = 100; keg.Hue = 1001; CharacterCreation.PlaceItemIn(this, 48, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.AgilityGreater; keg.Held = 100; keg.Hue = 99; CharacterCreation.PlaceItemIn(this, 58, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.AgilityGreater; keg.Held = 100; keg.Hue = 99; CharacterCreation.PlaceItemIn(this, 88, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.ExplosionGreater; keg.Held = 100; keg.Hue = 15; CharacterCreation.PlaceItemIn(this, 98, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.PoisonDeadly; keg.Held = 100; keg.Hue = 62; }
public override void OnDoubleClick(Mobile from) { if (from.InRange(this.GetWorldLocation(), 1)) { if (from.CheckSkill(SkillName.TasteID, -5, 125)) { if (from.Body.IsHuman && !from.Mounted) { from.Animate(34, 5, 1, true, false, 0); } from.PlaySound(0x2D6); Item item = new PotionKeg(); PotionKeg barrel = (PotionKeg)item; barrel.Held = KegFilled; int potionType = Utility.RandomMinMax(1, 31); if (Utility.RandomMinMax(1, 125) <= from.Skills[SkillName.Cooking].Value) // COOKS CAN FIND A POTION 1 LEVEL HIGHER { if (potionType == 2) { potionType++; } else if (potionType == 3) { potionType++; } else if (potionType == 5) { potionType++; } else if (potionType == 7) { potionType++; } else if (potionType == 9) { potionType++; } else if (potionType == 10) { potionType++; } else if (potionType == 11) { potionType++; } else if (potionType == 12) { potionType = 30; } else if (potionType == 13) { potionType++; } else if (potionType == 15) { potionType++; } else if (potionType == 16) { potionType++; } else if (potionType == 18) { potionType++; } else if (potionType == 19) { potionType++; } else if (potionType == 21) { potionType++; } else if (potionType == 22) { potionType++; } else if (potionType == 24) { potionType++; } else if (potionType == 25) { potionType++; } else if (potionType == 27) { potionType++; } else if (potionType == 28) { potionType++; } } if (potionType == 1) { barrel.Type = PotionEffect.Nightsight; } else if (potionType == 2) { barrel.Type = PotionEffect.CureLesser; } else if (potionType == 3) { barrel.Type = PotionEffect.Cure; } else if (potionType == 4) { barrel.Type = PotionEffect.CureGreater; } else if (potionType == 5) { barrel.Type = PotionEffect.Agility; } else if (potionType == 6) { barrel.Type = PotionEffect.AgilityGreater; } else if (potionType == 7) { barrel.Type = PotionEffect.Strength; } else if (potionType == 8) { barrel.Type = PotionEffect.StrengthGreater; } else if (potionType == 9) { barrel.Type = PotionEffect.PoisonLesser; } else if (potionType == 10) { barrel.Type = PotionEffect.Poison; } else if (potionType == 11) { barrel.Type = PotionEffect.PoisonGreater; } else if (potionType == 12) { barrel.Type = PotionEffect.PoisonDeadly; } else if (potionType == 13) { barrel.Type = PotionEffect.Refresh; } else if (potionType == 14) { barrel.Type = PotionEffect.RefreshTotal; } else if (potionType == 15) { barrel.Type = PotionEffect.HealLesser; } else if (potionType == 16) { barrel.Type = PotionEffect.Heal; } else if (potionType == 17) { barrel.Type = PotionEffect.HealGreater; } else if (potionType == 18) { barrel.Type = PotionEffect.ExplosionLesser; } else if (potionType == 19) { barrel.Type = PotionEffect.Explosion; } else if (potionType == 20) { barrel.Type = PotionEffect.ExplosionGreater; } else if (potionType == 21) { barrel.Type = PotionEffect.InvisibilityLesser; } else if (potionType == 22) { barrel.Type = PotionEffect.Invisibility; } else if (potionType == 23) { barrel.Type = PotionEffect.InvisibilityGreater; } else if (potionType == 24) { barrel.Type = PotionEffect.RejuvenateLesser; } else if (potionType == 25) { barrel.Type = PotionEffect.Rejuvenate; } else if (potionType == 26) { barrel.Type = PotionEffect.RejuvenateGreater; } else if (potionType == 27) { barrel.Type = PotionEffect.ManaLesser; } else if (potionType == 28) { barrel.Type = PotionEffect.Mana; } else if (potionType == 29) { barrel.Type = PotionEffect.ManaGreater; } else if (potionType == 30) { barrel.Type = PotionEffect.PoisonLethal; } else { barrel.Type = PotionEffect.Invulnerability; } Server.Items.PotionKeg.SetColorKeg(item, item); from.SendMessage("This seems to be a " + barrel.Name + "."); from.AddToBackpack(barrel); } else { int nReaction = Utility.RandomMinMax(0, 10); if (nReaction == 1) { from.PlaySound(from.Female ? 813 : 1087); from.Say("*vomits*"); if (!from.Mounted) { from.Animate(32, 5, 1, true, false, 0); } Throwup puke = new Throwup(); puke.Map = from.Map; puke.Location = from.Location; from.SendMessage("You fail to identify the liquid, convulsing and spilling the keg."); } else if (nReaction == 2) { from.PlaySound(from.Female ? 798 : 1070); from.Say("*hiccup!*"); from.SendMessage("You fail to identify the liquid, spasming and spilling the keg."); } else if (nReaction == 3) { from.PlaySound(from.Female ? 792 : 1064); from.Say("*farts*"); from.SendMessage("You fail to identify the liquid, feeling gassy...you dump it out."); } else if (nReaction == 4) { from.PlaySound(from.Female ? 785 : 1056); from.Say("*cough!*"); if (!from.Mounted) { from.Animate(33, 5, 1, true, false, 0); } from.SendMessage("You fail to identify the liquid, coughing and spilling the keg."); } else if (nReaction == 5) { from.PlaySound(from.Female ? 748 : 1055); from.Say("*clears throat*"); if (!from.Mounted) { from.Animate(33, 5, 1, true, false, 0); } from.SendMessage("You fail to identify the liquid, hurting your throat...you dump out the keg."); } else if (nReaction == 6) { from.PlaySound(from.Female ? 782 : 1053); from.Say("*burp!*"); if (!from.Mounted) { from.Animate(33, 5, 1, true, false, 0); } from.SendMessage("You fail to identify the liquid, accidentally drinking the entire keg."); } else if (nReaction > 6) { int nPoison = Utility.RandomMinMax(0, 10); from.Say("Poison!"); Effects.SendLocationParticles(EffectItem.Create(from.Location, from.Map, EffectItem.DefaultDuration), 0x36B0, 1, 14, 63, 7, 9915, 0); from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (nPoison > 9) { from.ApplyPoison(from, Poison.Deadly); } else if (nPoison > 7) { from.ApplyPoison(from, Poison.Greater); } else if (nPoison > 4) { from.ApplyPoison(from, Poison.Regular); } else { from.ApplyPoison(from, Poison.Lesser); } from.SendMessage("Poison!"); } else { from.PlaySound(from.Female ? 820 : 1094); from.Say("*spits*"); if (!from.Mounted) { from.Animate(6, 5, 1, true, false, 0); } from.SendMessage("You fail to identify the liquid, spitting it out and dumping the keg."); } from.AddToBackpack(new Keg()); } this.Delete(); } else { from.SendLocalizedMessage(502138); // That is too far away for you to use } }
public BottleTarget(PotionKeg keg) : base(12, true, TargetFlags.None) { m_Keg = keg; }
public InternalTarget( PotionKeg keg ) : base(2, false, TargetFlags.None) { m_Keg = keg; }
//in overridden types, the boolean value passed in tells the withdraw method to force the quantity. Used for //direct resource withdrawal public override Item Withdraw( ref int amount, bool forcequantity ) { if( _Amount == 0 ) { return null; } //cannot spit out more than 100, or more than what's in there already int towithdraw = Math.Min( 100, Math.Min( _Amount, amount ) ); if( towithdraw > 1 && towithdraw < 100 ) { //force give them a potion unless they can fill a keg towithdraw = 1; } //force the quantity back, if the flag was set if( forcequantity ) { towithdraw = amount; } //if you want more than one, then create a potion keg if( towithdraw > 1 ) { try { PotionKeg keg = new PotionKeg(); keg.Type = _Effect; keg.Held = towithdraw; _Amount -= towithdraw; return keg; } catch { } } else //just one potion, so withdraw a bottle { Item item = null; try { item = (Item)Activator.CreateInstance( _Type ); } catch { } //pull that amount out of the store _Amount -= towithdraw; return item; } return null;; }
public bool PourBottle(Mobile from, Item item) { if (item is Bottle) { Container pack = from.Backpack; if (pack != null) { item.Consume(); //Consume a bottle from.SendLocalizedMessage(502242); // You pour some of the keg's contents into an empty bottle... BasePotion pot = FillBottle(); if (pack.TryDropItem(from, pot, false)) { from.SendLocalizedMessage(502243); // ...and place it into your backpack. from.PlaySound(0x240); if (--Held == 0) { from.SendLocalizedMessage(502245); // The keg is now empty. } } else { from.SendLocalizedMessage(502244); // ...but there is no room for the bottle in your backpack. //pot.Delete(); pot.MoveToWorld(pack.GetWorldLocation(), pack.Map); } return(true); } } else if (item is PotionKeg) { PotionKeg keg = item as PotionKeg; if (keg.Held >= 100) { from.SendLocalizedMessage(502233); // The keg will not hold any more! } else if (m_Type != keg.Type) { from.SendLocalizedMessage(502236); // You decide that it would be a bad idea to mix different types of potions. } else { int toHold = Math.Min(100 - keg.Held, m_Held); keg.Held += toHold; if ((m_Held -= toHold) == 0) { from.SendLocalizedMessage(502245); // The keg is now empty. } from.PlaySound(0x240); return(true); } } return(false); }
public override void OnDoubleClick(Mobile from) { if (!IsChildOf(from.Backpack)) { from.SendMessage("This must be in your backpack to use."); return; } else { Container pack = from.Backpack; int alchemists = 0; PotionKeg keg = new PotionKeg(); keg.Delete(); int barrel = 0; foreach (Item i in from.Backpack.Items) { if (barrel == 0 && i is PotionKeg) { PotionKeg p = (PotionKeg)i; if (p.Held < 1) { barrel = 1; keg = p; } } } foreach (Mobile m in this.GetMobilesInRange(10)) { if (m is AlchemistGuildmaster || m is Alchemist) { ++alchemists; } } if (from.Skills[SkillName.Alchemy].Value < 50) { from.SendMessage("You should be at least an apprentice alchemist to try this!"); } else if (alchemists == 0) { from.SendMessage("You need to be near a local alchemist for their help!"); } else if (barrel == 0) { from.SendMessage("You need an empty potion keg to dump this in."); } else { if (pack.ConsumeTotal(typeof(Gold), 500)) { from.SendMessage("You give the alchemist 500 gold for their help."); Effects.PlaySound(from.Location, from.Map, 0x026); if (JarPotion == "Nightsight Potions") { keg.Type = PotionEffect.Nightsight; } else if (JarPotion == "Lesser Cure Potions") { keg.Type = PotionEffect.CureLesser; } else if (JarPotion == "Cure Potions") { keg.Type = PotionEffect.Cure; } else if (JarPotion == "Greater Cure Potions") { keg.Type = PotionEffect.CureGreater; } else if (JarPotion == "Agility Potions") { keg.Type = PotionEffect.Agility; } else if (JarPotion == "Greater Agility Potions") { keg.Type = PotionEffect.AgilityGreater; } else if (JarPotion == "Strength Potions") { keg.Type = PotionEffect.Strength; } else if (JarPotion == "Greater Strength Potions") { keg.Type = PotionEffect.StrengthGreater; } else if (JarPotion == "Lesser Poison Potions") { keg.Type = PotionEffect.PoisonLesser; } else if (JarPotion == "Poison Potions") { keg.Type = PotionEffect.Poison; } else if (JarPotion == "Greater Poison Potions") { keg.Type = PotionEffect.PoisonGreater; } else if (JarPotion == "Deadly Poison Potions") { keg.Type = PotionEffect.PoisonDeadly; } else if (JarPotion == "Refresh Potions") { keg.Type = PotionEffect.Refresh; } else if (JarPotion == "Total Refresh Potions") { keg.Type = PotionEffect.RefreshTotal; } else if (JarPotion == "Lesser Heal Potions") { keg.Type = PotionEffect.HealLesser; } else if (JarPotion == "Heal Potions") { keg.Type = PotionEffect.Heal; } else if (JarPotion == "Greater Heal Potions") { keg.Type = PotionEffect.HealGreater; } else if (JarPotion == "Lesser Explosion Potions") { keg.Type = PotionEffect.ExplosionLesser; } else if (JarPotion == "Explosion Potions") { keg.Type = PotionEffect.Explosion; } else if (JarPotion == "Greater Explosion Potions") { keg.Type = PotionEffect.ExplosionGreater; } else if (JarPotion == "Lesser Invisibility Potions") { keg.Type = PotionEffect.InvisibilityLesser; } else if (JarPotion == "Invisibility Potions") { keg.Type = PotionEffect.Invisibility; } else if (JarPotion == "Greater Invisibility Potions") { keg.Type = PotionEffect.InvisibilityGreater; } else if (JarPotion == "Lesser Rejuvenate Potions") { keg.Type = PotionEffect.RejuvenateLesser; } else if (JarPotion == "Rejuvenate Potions") { keg.Type = PotionEffect.Rejuvenate; } else if (JarPotion == "Greater Rejuvenate Potions") { keg.Type = PotionEffect.RejuvenateGreater; } else if (JarPotion == "Lesser Mana Potions") { keg.Type = PotionEffect.ManaLesser; } else if (JarPotion == "Mana Potions") { keg.Type = PotionEffect.Mana; } else if (JarPotion == "Greater Mana Potions") { keg.Type = PotionEffect.ManaGreater; } else if (JarPotion == "Lethal Poison Potions") { keg.Type = PotionEffect.PoisonLethal; } else { keg.Type = PotionEffect.Invulnerability; } int holdBonus = (int)(from.Skills[SkillName.Alchemy].Value / 2); int fill = Utility.RandomMinMax(5, 50) + holdBonus; if (fill > 100) { fill = 100; } keg.Held = fill; Item b = (Item)keg; Server.Items.PotionKeg.SetColorKeg(b, b); EmptyCanopicJar jar = new EmptyCanopicJar(); jar.ItemID = this.ItemID; jar.Name = this.Name; jar.RelicOwner = "belonged to " + JarOwner; from.AddToBackpack(jar); this.Delete(); } else { from.SendMessage("You will need at least 500 gold in your pack to pay the alchemist."); } } } }
public InternalTarget(PotionKeg keg) : base(2, false, TargetFlags.None) { m_Keg = keg; }
public void CombinePotionKegs(Mobile from, PotionKeg firstPotionKeg, PotionKeg secondPotionKeg) { bool combineFail = false; if (from == null) { combineFail = true; } if (from.Deleted || !from.Alive) { combineFail = true; } if (Deleted) { combineFail = true; } if (!IsChildOf(from.Backpack)) { combineFail = true; } if (firstPotionKeg.Deleted) { combineFail = true; } if (!firstPotionKeg.IsChildOf(from.Backpack)) { combineFail = true; } if (firstPotionKeg.Held > 0) { combineFail = true; } if (secondPotionKeg.Deleted) { combineFail = true; } if (!secondPotionKeg.IsChildOf(from.Backpack)) { combineFail = true; } if (secondPotionKeg.Held > 0) { combineFail = true; } if (combineFail) { from.SendMessage("At least one of the potion kegs intended to be combined is no longer accessable or is no longer empty."); return; } if (firstPotionKeg.IsPotionBarrel) { secondPotionKeg.IsPotionBarrel = true; } secondPotionKeg.MaxHeld += firstPotionKeg.MaxHeld; firstPotionKeg.Delete(); from.PlaySound(0x23D); from.SendMessage("You combine the capacity of the two kegs."); Delete(); }
public void Fill( Mobile from, PotionKeg keg ) { Charges = Validate( keg ); if ( Charges > 0 ) { keg.Delete(); from.SendLocalizedMessage( 1076199 ); // Your cannon is recharged. } else from.SendLocalizedMessage( 1076198 ); // You do not have a full keg of explosion potions needed to recharge the cannon. }
public PotionBundle() { ItemID = 0x9A8; Weight = 1.0; Hue = 0; Name = "Box of Potions"; //PlaceItemIn( 16, 60, (item = new SkillBall( 25 )) ); //item.Hue = 38; PotionKeg keg; PlaceItemIn(18, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(23, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(28, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(33, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(38, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.HealGreater; keg.Held = 100; keg.Hue = 54; PlaceItemIn(58, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(63, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(68, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(73, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(78, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.CureGreater; keg.Held = 100; keg.Hue = 43; PlaceItemIn(98, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(103, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(108, 105, (keg = new PotionKeg())); keg.Type = PotionEffect.RefreshTotal; keg.Held = 100; keg.Hue = 38; PlaceItemIn(18, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.StrengthGreater; keg.Held = 100; keg.Hue = 1001; PlaceItemIn(28, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.StrengthGreater; keg.Held = 100; keg.Hue = 1001; PlaceItemIn(48, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.AgilityGreater; keg.Held = 100; keg.Hue = 99; PlaceItemIn(58, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.AgilityGreater; keg.Held = 100; keg.Hue = 99; PlaceItemIn(88, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.ExplosionGreater; keg.Held = 100; keg.Hue = 15; PlaceItemIn(98, 129, (keg = new PotionKeg())); keg.Type = PotionEffect.PoisonDeadly; keg.Held = 100; keg.Hue = 62; //PlaceItemIn( 103, 58, (item = new Sandals()) ); //item.Hue = Utility.RandomList(5, 70, 90, 110); //item.LootType = LootType.Blessed; //PlaceItemIn( 122, 53, new SpecialDonateHairDye() ); }
public int Validate( PotionKeg keg ) { if ( keg != null && !keg.Deleted && keg.Held == 100 ) { if ( keg.Type == PotionEffect.ExplosionLesser ) return 5; else if ( keg.Type == PotionEffect.Explosion ) return 10; else if ( keg.Type == PotionEffect.ExplosionGreater ) return 15; } return 0; }