public void Pour(Mobile from, BaseBeverage bev) { if (!bev.IsEmpty && bev.Pourable && bev.Content == BeverageType.Water && bev.ValidateUse(from, false)) { if (m_Stage == EggStage.Burnt) { from.SendMessage("You decide not to water the burnt egg."); } else if (m_WaterLevel < (int)m_Stage) { bev.Quantity--; m_WaterLevel++; from.PlaySound(0x4E); InvalidateProperties(); } else { from.SendMessage("You decide not to water the egg since it doesn't need it."); } } }
public void Fill(Mobile from, object targ) { if (m_CurrentUses < 1 && targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (bev.IsEmpty || !bev.ValidateUse(from, true)) { return; } if (bev.Quantity > m_MaxUses) { m_CurrentUses = m_MaxUses; bev.Quantity -= m_MaxUses; } else { m_CurrentUses += bev.Quantity; bev.Quantity = 0; } } }
public virtual void Fill_OnTarget(Mobile from, object targ) { if (!IsEmpty || !Fillable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (bev.IsEmpty || !bev.ValidateUse(from, true)) { return; } this.Content = bev.Content; this.Poison = bev.Poison; this.Poisoner = bev.Poisoner; if (bev.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; bev.Quantity -= this.MaxQuantity; } else { this.Quantity += bev.Quantity; bev.Quantity = 0; } } else if (targ is Item) { Item item = (Item)targ; IWaterSource src; src = (item as IWaterSource); if (src == null && item is AddonComponent) { src = (((AddonComponent)item).Addon as IWaterSource); } if (src == null || src.Quantity <= 0) { return; } if (from.Map != item.Map || !from.InRange(item.GetWorldLocation(), 2) || !from.InLOS(item)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } this.Content = BeverageType.Water; this.Poison = null; this.Poisoner = null; if (src.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; src.Quantity -= this.MaxQuantity; } else { this.Quantity += src.Quantity; src.Quantity = 0; } from.SendLocalizedMessage(1010089); // You fill the container with water. } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { if (from.Thirst < 20) { from.Thirst += 1; } if (ContainsAlchohol) { int heaves = 0; switch (this.Content) { case BeverageType.Ale: heaves = 3; break; case BeverageType.Wine: heaves = 5; break; case BeverageType.Cider: heaves = 5; break; case BeverageType.Liquor: heaves = 10; break; default: heaves = 5; break; } from.BAC += heaves; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is SackFlour) { SackFlour flour = (SackFlour)targ; --Quantity; flour.Quantity--; if (flour.Deleted) { from.SendAsciiMessage("No flour left."); } from.SendAsciiMessage("You make some dough and put it in your backpack"); from.AddToBackpack(new Dough()); } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { // new additions by Alari: fill messages for thirst and no drinking when full. if (from.Thirst >= 20) { from.SendMessage("You are simply too full to drink any more!"); return; } int fillFactor = 4; // how much each 'drink' should fill your thirst. int iThirst = from.Thirst + fillFactor; if (from.Stam < from.StamMax) { from.Stam += Utility.Random(6, 3) + fillFactor / 5; // restore some stamina } if (iThirst >= 20) { from.Thirst = 20; from.SendMessage("You manage to drink the beverage, but you are full!"); } else { from.Thirst = iThirst; if (iThirst < 5) { from.SendMessage("You drink the beverage, but are still extremely thirsty."); } else if (iThirst < 10) { from.SendMessage("You drink the beverage, and begin to feel more satiated."); } else if (iThirst < 15) { from.SendMessage("After drinking the beverage, you feel much less thirsty."); } else { from.SendMessage("You feel quite full after consuming the beverage."); } } // end modifications if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else if (targ is AddonComponent && (((AddonComponent)targ).Addon is WaterVatEast || ((AddonComponent)targ).Addon is WaterVatSouth) && this.Content == BeverageType.Water) { PlayerMobile player = from as PlayerMobile; if (player != null) { SolenMatriarchQuest qs = player.Quest as SolenMatriarchQuest; if (qs != null) { QuestObjective obj = qs.FindObjective(typeof(GatherWaterObjective)); if (obj != null && !obj.Completed) { BaseAddon vat = ((AddonComponent)targ).Addon; if (vat.X > 5784 && vat.X < 5814 && vat.Y > 1903 && vat.Y < 1934 && ((qs.RedSolen && vat.Map == Map.Trammel) || (!qs.RedSolen && vat.Map == Map.Felucca))) { if (obj.CurProgress + Quantity > obj.MaxProgress) { int delta = obj.MaxProgress - obj.CurProgress; Quantity -= delta; obj.CurProgress = obj.MaxProgress; } else { obj.CurProgress += Quantity; Quantity = 0; } } } } } } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { // increase characters thirst value based on type of drink // WIZARD if (from.Thirst < 20) { switch (this.Content) { case BeverageType.Water: from.Thirst += 5; break; case BeverageType.Milk: from.Thirst += 4; break; case BeverageType.Ale: from.Thirst += 3; break; case BeverageType.Wine: from.Thirst += 2; break; case BeverageType.Cider: from.Thirst += 3; break; case BeverageType.Liquor: from.Thirst += 1; break; } // Send message to character about their current thirst value int iThirst = from.Thirst; if (iThirst < 5) { from.SendMessage("You take a drink but are still extremely thirsty"); } else if (iThirst < 10) { from.SendMessage("You take a drink and feel less thirsty"); } else if (iThirst < 15) { from.SendMessage("You take a drink and feel much less thirsty"); } else { from.SendMessage("You take a drink and are no longer thirsty"); } Server.Items.DrinkingFunctions.DrinkBenefits(from); } else { from.Thirst = 20; } if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if ((!this.IsEmpty || this.Content == BeverageType.Water) && bwc.Items.Count == 0) { int It_Needs = Math.Min((bwc.MaxQuantity - bwc.Quantity), Quantity); if (It_Needs > 0 && (!IsEmpty && !bwc.IsFull)) { bwc.Quantity += It_Needs; Quantity -= It_Needs; from.PlaySound(0x4E); } } } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public virtual void Pour_OnTarget(Mobile from, object targ) { //I ADDED for fill pitcher from statics part 3 of 3 if (targ is Item /*&& ((((Item)targ).ItemID != null))*/ && AbleToGetWater(((Item)targ).ItemID)) //trying to clear up yellows, item is never null. { FillPitcherWithWater(from, this, targ); return; } if (targ is StaticTarget /*&& ((((StaticTarget)targ).ItemID != null))*/ && AbleToGetWater(((StaticTarget)targ).ItemID)) //trying to clear up yellows. item is never null { FillPitcherWithWater(from, this, targ); return; } //I ADDED for fill pitcher from statics part 3 of 3 if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { if (from.Thirst < 20) { from.Thirst += 1; } if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else if (targ is AddonComponent && (((AddonComponent)targ).Addon is WaterVatEast || ((AddonComponent)targ).Addon is WaterVatSouth) && this.Content == BeverageType.Water) { PlayerMobile player = from as PlayerMobile; if (player != null) { SolenMatriarchQuest qs = player.Quest as SolenMatriarchQuest; if (qs != null) { QuestObjective obj = qs.FindObjective(typeof(GatherWaterObjective)); if (obj != null && !obj.Completed) { BaseAddon vat = ((AddonComponent)targ).Addon; if (vat.X > 5784 && vat.X < 5814 && vat.Y > 1903 && vat.Y < 1934 && ((qs.RedSolen && vat.Map == Map.Trammel) || (!qs.RedSolen && vat.Map == Map.Felucca))) { if (obj.CurProgress + Quantity > obj.MaxProgress) { int delta = obj.MaxProgress - obj.CurProgress; Quantity -= delta; obj.CurProgress = obj.MaxProgress; } else { obj.CurProgress += Quantity; Quantity = 0; } } } } } } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public virtual void Fill_OnTarget(Mobile from, object targ) { if (!IsEmpty || !Fillable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (bev.IsEmpty || !bev.ValidateUse(from, true)) { return; } this.Content = bev.Content; this.Poison = bev.Poison; this.Poisoner = bev.Poisoner; if (bev.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; bev.Quantity -= this.MaxQuantity; } else { this.Quantity += bev.Quantity; bev.Quantity = 0; } } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if (Quantity == 0 || Content == BeverageType.Water && !IsFull) { int iNeed = Math.Min(MaxQuantity - Quantity, bwc.Quantity); if (iNeed > 0 && !bwc.IsEmpty && !IsFull) { bwc.Quantity -= iNeed; Quantity += iNeed; Content = BeverageType.Water; from.PlaySound(0x4E); } } } else if (targ is Item) { Item item = (Item)targ; IWaterSource src; src = item as IWaterSource; if (src == null && item is AddonComponent) { src = ((AddonComponent)item).Addon as IWaterSource; } if (src == null || src.Quantity <= 0) { return; } if (from.Map != item.Map || !from.InRange(item.GetWorldLocation(), 2) || !from.InLOS(item)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } this.Content = BeverageType.Water; this.Poison = null; this.Poisoner = null; if (src.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; src.Quantity -= this.MaxQuantity; } else { this.Quantity += src.Quantity; src.Quantity = 0; } from.SendLocalizedMessage(1010089); // You fill the container with water. } else if (targ is Cow) { Cow cow = (Cow)targ; if (cow.TryMilk(from)) { Content = BeverageType.Milk; Quantity = MaxQuantity; from.SendLocalizedMessage(1080197); // You fill the container with milk. } } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is Aquarium) { Aquarium aquarium = targ as Aquarium; int waterNeeded = Aquarium.MaxWaterLevel - aquarium.WaterLevel; int waterUsed = waterNeeded; if (Quantity < waterUsed) { waterUsed = Quantity; } aquarium.WaterLevel += waterUsed; Quantity -= waterUsed; from.PlaySound(0x4E); from.CloseGump(typeof(AquariumGump)); from.SendMessage("You add water to the aquarium."); } else if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { if (from.Thirst < 20) { from.Thirst += 1; } if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); OnDrink(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if (Content != BeverageType.Water) { from.SendLocalizedMessage(500842); // Can't pour that in there. } else if (bwc.Items.Count != 0) { from.SendLocalizedMessage(500841); // That has something in it. } else { int itNeeds = Math.Min((bwc.MaxQuantity - bwc.Quantity), Quantity); if (itNeeds > 0) { bwc.Quantity += itNeeds; Quantity -= itNeeds; from.PlaySound(0x4E); } } } else if (targ is AddonComponent && (((AddonComponent)targ).Addon is WaterVatEast || ((AddonComponent)targ).Addon is WaterVatSouth) && this.Content == BeverageType.Water) { PlayerMobile player = from as PlayerMobile; } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public void Pour(Mobile from, BaseBeverage bev) { if (!bev.IsEmpty && bev.Pourable && bev.Content == BeverageType.Water && bev.ValidateUse(from, false)) { if (m_Stage == EggStage.Burnt) from.SendMessage("You decide not to water the burnt egg."); else if (m_WaterLevel < (int)m_Stage) { bev.Quantity--; m_WaterLevel++; from.PlaySound(0x4E); InvalidateProperties(); } else from.SendMessage("You decide not to water the egg since it doesn't need it."); } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == Content) { from.SendLocalizedMessage(500848); } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); } else { bev.Content = Content; bev.Poison = Poison; bev.Poisoner = Poisoner; if (Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; Quantity -= bev.MaxQuantity; } else { bev.Quantity += Quantity; Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { // increase characters thirst value based on type of drink if (from.Thirst < 20) { switch (Content) { case BeverageType.Water: from.Thirst += 5; break; case BeverageType.Milk: from.Thirst += 4; break; case BeverageType.Ale: from.Thirst -= 3; break; case BeverageType.Wine: from.Thirst -= 1; break; case BeverageType.Cider: from.Thirst += 3; break; case BeverageType.Liquor: from.Thirst -= 2; break; } int iThirst = from.Thirst; if (iThirst < 5) { from.SendMessage("You take a drink but are still extremely thirsty"); } else if (iThirst < 10) { from.SendMessage("You take a drink and feel less thirsty"); } else if (iThirst < 14) { from.SendMessage("You take a drink and feel much less thirsty"); } else if (iThirst < 18) { from.SendMessage("You take a drink and feel more refreshed"); } else { from.SendMessage("You take a drink and are no longer thirsty"); } } else { from.Thirst = 20; } if (ContainsAlchohol) { int bac = 0; switch (Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if (this.Content != BeverageType.Water) { from.SendLocalizedMessage(500842); // Can't pour that in there. } else if (bwc.Items.Count != 0) { from.SendLocalizedMessage(500841); // That has something in it. } else { int itNeeds = Math.Min((bwc.MaxQuantity - bwc.Quantity), Quantity); if (itNeeds > 0) { bwc.Quantity += itNeeds; Quantity -= itNeeds; from.PlaySound(0x4E); } } } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else if (targ is AddonComponent && (((AddonComponent)targ).Addon is WaterVatEast || ((AddonComponent)targ).Addon is WaterVatSouth) && this.Content == BeverageType.Water) { PlayerMobile player = from as PlayerMobile; if (player != null) { SolenMatriarchQuest qs = player.Quest as SolenMatriarchQuest; if (qs != null) { QuestObjective obj = qs.FindObjective(typeof(GatherWaterObjective)); if (obj != null && !obj.Completed) { BaseAddon vat = ((AddonComponent)targ).Addon; if (vat.X > 5784 && vat.X < 5814 && vat.Y > 1903 && vat.Y < 1934 && ((qs.RedSolen && vat.Map == Map.Trammel) || (!qs.RedSolen && vat.Map == Map.Felucca))) { if (obj.CurProgress + Quantity > obj.MaxProgress) { int delta = obj.MaxProgress - obj.CurProgress; Quantity -= delta; obj.CurProgress = obj.MaxProgress; } else { obj.CurProgress += Quantity; Quantity = 0; } } } } } } else if (targ is WaterElemental) { if (this is Pitcher && Content == BeverageType.Water) { EndlessDecanter.HandleThrow(this, (WaterElemental)targ, from); } } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
// Scriptiz : permet de remplir son pichet à partir de staticTarget ou de StaticItem private static bool FillFromStaticWaterSource(Mobile from, BaseBeverage b, int staticId) { if (!b.IsEmpty || !b.Fillable || !b.ValidateUse(from, false)) return false; if (from == null) return false; if (b == null) return false; b.Poison = null; b.Poisoner = null; int randomSeed = Utility.Random(1, 100); // water barrels if (staticId == 5453 || staticId == 3707) { b.Quantity = (b.MaxQuantity < 5 ? b.MaxQuantity : 5); if (Utility.Random(100) <= 5) b.Poison = Poison.Lesser; } // water trough else if (staticId >= 2881 && staticId <= 2884) { if (randomSeed <= 10) b.Poison = Poison.Lesser; } // water tiles & waterfalls else if ((staticId >= 6038 && staticId <= 6066) || (staticId >= 13422 && staticId <= 13525) || (staticId >= 13549 && staticId <= 13608)) { if (randomSeed <= 20) { if (randomSeed <= 5) b.Poison = Poison.Regular; else b.Poison = Poison.Lesser; } } // fountains else if ((staticId >= 5937 && staticId <= 5978) || (staticId >= 6595 && staticId <= 6636)) { if (randomSeed <= 20) { if (randomSeed <= 5) b.Poison = Poison.Regular; else b.Poison = Poison.Lesser; } } // swamp tiles (disactivated) //else if (staticId >= 12809 && staticId <= 12933) //{ // if (randomSeed <= 50) // b.Poison = Poison.Regular; // else if (randomSeed <= 80) // b.Poison = Poison.Greater; // else if (randomSeed <= 100) // b.Poison = Poison.Deadly; //} else { b.Quantity = 0; return false; } // Fill the beverage b.Content = BeverageType.Water; if (staticId != 5453 && staticId != 3707) b.Quantity = b.MaxQuantity; from.PlaySound(0x2D6); return true; }
public virtual void Fill_OnTarget(Mobile from, object targ) { if (!IsEmpty || !Fillable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (bev.IsEmpty || !bev.ValidateUse(from, true)) { return; } this.Content = bev.Content; this.Poison = bev.Poison; this.Poisoner = bev.Poisoner; //STARMOD: Teiravon beverage edit from.Emote("*pours some {1} into a {0}*", ((this.GetType()).Name).ToLower(), ((bev.Content).ToString()).ToLower()); //ENDMOD: Teiravon beverage edit if (bev.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; bev.Quantity -= this.MaxQuantity; } else { this.Quantity += bev.Quantity; bev.Quantity = 0; } } else if (targ is Item) { Item item = (Item)targ; IWaterSource src; src = (item as IWaterSource); if (src == null && item is AddonComponent) { src = (((AddonComponent)item).Addon as IWaterSource); } if (src == null || src.Quantity <= 0) { return; } if (from.Map != item.Map || !from.InRange(item.GetWorldLocation(), 2) || !from.InLOS(item)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } this.Content = BeverageType.Water; this.Poison = null; this.Poisoner = null; if (src.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; src.Quantity -= this.MaxQuantity; } else { this.Quantity += src.Quantity; src.Quantity = 0; } //STARTMOD: Beverage edit from.Emote("*fills a {0} with water*", ((this.GetType()).Name).ToLower()); //ENDMOD: Beverage edit from.SendLocalizedMessage(1010089); // You fill the container with water. } else if (targ is LandTarget) { int tileID = ((LandTarget)targ).TileID; PlayerMobile player = from as PlayerMobile; if (player != null) { QuestSystem qs = player.Quest; if (qs is WitchApprenticeQuest) { FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective; if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.SwampWater) { bool contains = false; for (int i = 0; !contains && i < m_SwampTiles.Length; i += 2) { contains = (tileID >= m_SwampTiles[i] && tileID <= m_SwampTiles[i + 1]); } if (contains) { Delete(); player.SendLocalizedMessage(1055035); // You dip the container into the disgusting swamp water, collecting enough for the Hag's vile stew. obj.Complete(); } } } } } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; //STARMOD: Beverage edit from.Emote("*pours some {1} into a {0}*", ((bev.GetType()).Name).ToLower(), ((bev.Content).ToString()).ToLower()); //ENDMOD: Beverage edit if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { if (from.Thirst < 20) { from.Thirst += 1; } if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 100) { from.BAC = 100; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); //STARMOD: Beverage edit from.Emote("*drinks some {0}*", ((this.Content).ToString()).ToLower()); if (from.Body.IsHuman && !from.Mounted) { from.Animate(34, 5, 1, true, false, 0); } //ENDMOD: Beverage edit if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else if (targ is AddonComponent && (((AddonComponent)targ).Addon is WaterVatEast || ((AddonComponent)targ).Addon is WaterVatSouth) && this.Content == BeverageType.Water) { PlayerMobile player = from as PlayerMobile; if (player != null) { SolenMatriarchQuest qs = player.Quest as SolenMatriarchQuest; if (qs != null) { QuestObjective obj = qs.FindObjective(typeof(GatherWaterObjective)); if (obj != null && !obj.Completed) { BaseAddon vat = ((AddonComponent)targ).Addon; if (vat.X > 5784 && vat.X < 5814 && vat.Y > 1903 && vat.Y < 1934 && ((qs.RedSolen && vat.Map == Map.Trammel) || (!qs.RedSolen && vat.Map == Map.Felucca))) { if (obj.CurProgress + Quantity > obj.MaxProgress) { int delta = obj.MaxProgress - obj.CurProgress; Quantity -= delta; obj.CurProgress = obj.MaxProgress; } else { obj.CurProgress += Quantity; Quantity = 0; } } } } } } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public virtual void Fill_OnTarget(Mobile from, object targ) { if (!IsEmpty || !Fillable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (bev.IsEmpty || !bev.ValidateUse(from, true)) { return; } this.Content = bev.Content; this.Poison = bev.Poison; this.Poisoner = bev.Poisoner; if (bev.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; bev.Quantity -= this.MaxQuantity; } else { this.Quantity += bev.Quantity; bev.Quantity = 0; } } //I ADDED for fill pitcher from statics part 1 of 3 //NOTES: //StaticTarget: Hardcoded usualy item looking and Ocean Edges.. //Items: created in game //LandTiles: Hard coded - Floor and Deap ocean else if (targ is Item /*&& ((((Item)targ).ItemID != null))*/ && AbleToGetWater(((Item)targ).ItemID)) //trying to clear up yellow. Item is never null { FillPitcherWithWater(from, this, targ); } else if (targ is StaticTarget /*&& ((((StaticTarget)targ).ItemID != null))*/ && AbleToGetWater(((StaticTarget)targ).ItemID)) //trying to clear up yellow. Item is never null { FillPitcherWithWater(from, this, targ); } //I ADDED FIN for fill pitcher from statics part 1 of 3 else if (targ is Item) { Item item = (Item)targ; IWaterSource src; src = (item as IWaterSource); if (src == null && item is AddonComponent) { src = (((AddonComponent)item).Addon as IWaterSource); } if (src == null || src.Quantity <= 0) { return; } if (from.Map != item.Map || !from.InRange(item.GetWorldLocation(), 2) || !from.InLOS(item)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } this.Content = BeverageType.Water; this.Poison = null; this.Poisoner = null; //I ADDED FOR SOUND from.PlaySound(0x4E); //I ADDED FOR SOUND FIN if (src.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; src.Quantity -= this.MaxQuantity; } else { this.Quantity += src.Quantity; src.Quantity = 0; } from.SendLocalizedMessage(1010089); // You fill the container with water. } else if (targ is Cow) { Cow cow = (Cow)targ; if (cow.TryMilk(from)) { Content = BeverageType.Milk; Quantity = MaxQuantity; from.SendLocalizedMessage(1080197); // You fill the container with milk. } } else if (targ is LandTarget) { int tileID = ((LandTarget)targ).TileID; PlayerMobile player = from as PlayerMobile; if (player != null) { QuestSystem qs = player.Quest; if (qs is WitchApprenticeQuest) { FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective; if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.SwampWater) { bool contains = false; for (int i = 0; !contains && i < m_SwampTiles.Length; i += 2) { contains = (tileID >= m_SwampTiles[i] && tileID <= m_SwampTiles[i + 1]); } if (contains) { Delete(); player.SendLocalizedMessage(1055035); // You dip the container into the disgusting swamp water, collecting enough for the Hag's vile stew. obj.Complete(); } } } } } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { if (from.Thirst < 20) { from.Thirst += 1; } if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if (Content != BeverageType.Water) { from.SendLocalizedMessage(500842); // Can't pour that in there. } else if (bwc.Items.Count != 0) { from.SendLocalizedMessage(500841); // That has something in it. } else { int itNeeds = Math.Min((bwc.MaxQuantity - bwc.Quantity), Quantity); if (itNeeds > 0) { bwc.Quantity += itNeeds; Quantity -= itNeeds; from.PlaySound(0x4E); } } } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else if (targ is AddonComponent && (((AddonComponent)targ).Addon is WaterVatEast || ((AddonComponent)targ).Addon is WaterVatSouth) && this.Content == BeverageType.Water) { PlayerMobile player = from as PlayerMobile; if (player != null) { SolenMatriarchQuest qs = player.Quest as SolenMatriarchQuest; if (qs != null) { QuestObjective obj = qs.FindObjective(typeof(GatherWaterObjective)); if (obj != null && !obj.Completed) { BaseAddon vat = ((AddonComponent)targ).Addon; if (vat.X > 5784 && vat.X < 5814 && vat.Y > 1903 && vat.Y < 1934 && ((qs.RedSolen && vat.Map == Map.Trammel) || (!qs.RedSolen && vat.Map == Map.Felucca))) { if (obj.CurProgress + Quantity > obj.MaxProgress) { int delta = obj.MaxProgress - obj.CurProgress; Quantity -= delta; obj.CurProgress = obj.MaxProgress; } else { obj.CurProgress += Quantity; Quantity = 0; } } } } } } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public virtual void Fill_OnTarget(Mobile from, object targ) { if (!IsEmpty || !Fillable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (bev.IsEmpty || !bev.ValidateUse(from, true)) { return; } this.Content = bev.Content; this.Poison = bev.Poison; this.Poisoner = bev.Poisoner; if (bev.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; bev.Quantity -= this.MaxQuantity; } else { this.Quantity += bev.Quantity; bev.Quantity = 0; } } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if (Quantity == 0 || (Content == BeverageType.Water && !IsFull)) { int iNeed = Math.Min((MaxQuantity - Quantity), bwc.Quantity); if (iNeed > 0 && !bwc.IsEmpty && !IsFull) { bwc.Quantity -= iNeed; Quantity += iNeed; Content = BeverageType.Water; from.PlaySound(0x4E); } } } else if (targ is Item) { Item item = (Item)targ; IWaterSource src; src = (item as IWaterSource); if (src == null && item is AddonComponent) { src = (((AddonComponent)item).Addon as IWaterSource); } if (src == null || src.Quantity <= 0) { return; } if (from.Map != item.Map || !from.InRange(item.GetWorldLocation(), 2) || !from.InLOS(item)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } this.Content = BeverageType.Water; this.Poison = null; this.Poisoner = null; if (src.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; src.Quantity -= this.MaxQuantity; } else { this.Quantity += src.Quantity; src.Quantity = 0; } from.SendLocalizedMessage(1010089); // You fill the container with water. } else if (targ is Cow) { Cow cow = (Cow)targ; if (cow.TryMilk(from)) { Content = BeverageType.Milk; Quantity = MaxQuantity; from.SendLocalizedMessage(1080197); // You fill the container with milk. } } else if (targ is LandTarget) { int tileID = ((LandTarget)targ).TileID; PlayerMobile player = from as PlayerMobile; if (player != null) { QuestSystem qs = player.Quest; if (qs is WitchApprenticeQuest) { FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective; if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.SwampWater) { bool contains = false; for (int i = 0; !contains && i < m_SwampTiles.Length; i += 2) { contains = (tileID >= m_SwampTiles[i] && tileID <= m_SwampTiles[i + 1]); } if (contains) { Delete(); player.SendLocalizedMessage(1055035); // You dip the container into the disgusting swamp water, collecting enough for the Hag's vile stew. obj.Complete(); } } } } } }
public virtual void Fill_OnTarget(Mobile from, object targ) { if (!IsEmpty || !Fillable || !ValidateUse(from, false)) { return; } if (targ is Aquarium) { Aquarium aquarium = targ as Aquarium; if (aquarium.WaterLevel < Aquarium.MaxWaterLevel) { int waterNeeded = Aquarium.MaxWaterLevel - aquarium.WaterLevel; int waterUsed = waterNeeded; if (Quantity < waterUsed) { waterUsed = Quantity; } aquarium.WaterLevel += waterUsed; Quantity -= waterUsed; from.PlaySound(0x4E); from.CloseGump(typeof(AquariumGump)); from.SendMessage("You add water to the aquarium."); } } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (bev.IsEmpty || !bev.ValidateUse(from, true)) { return; } this.Content = bev.Content; this.Poison = bev.Poison; this.Poisoner = bev.Poisoner; if (bev.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; bev.Quantity -= this.MaxQuantity; } else { this.Quantity += bev.Quantity; bev.Quantity = 0; } } if (targ is Aquarium) { Aquarium aquarium = targ as Aquarium; if (aquarium.WaterLevel < Aquarium.MaxWaterLevel) { int waterNeeded = Aquarium.MaxWaterLevel - aquarium.WaterLevel; int waterAdded = waterNeeded; if (Quantity < waterAdded) { waterAdded = Quantity; } Quantity -= waterAdded; aquarium.WaterLevel += waterAdded; from.PlaySound(0x4E); from.CloseGump(typeof(AquariumGump)); from.SendMessage("You add water to the aquarium."); } else { from.SendMessage("That aquarium is already full of water."); } } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if (Quantity == 0 || (Content == BeverageType.Water && !IsFull)) { int iNeed = Math.Min((MaxQuantity - Quantity), bwc.Quantity); if (iNeed > 0 && !bwc.IsEmpty && !IsFull) { bwc.Quantity -= iNeed; Quantity += iNeed; Content = BeverageType.Water; from.PlaySound(0x4E); } } } else if (targ is Item) { Item item = (Item)targ; IWaterSource src; src = (item as IWaterSource); if (src == null && item is AddonComponent) { src = (((AddonComponent)item).Addon as IWaterSource); } if (src == null || src.Quantity <= 0) { return; } if (from.Map != item.Map || !from.InRange(item.GetWorldLocation(), 2) || !from.InLOS(item)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } this.Content = BeverageType.Water; this.Poison = null; this.Poisoner = null; if (src.Quantity > this.MaxQuantity) { this.Quantity = this.MaxQuantity; src.Quantity -= this.MaxQuantity; } else { this.Quantity += src.Quantity; src.Quantity = 0; } from.SendLocalizedMessage(1010089); // You fill the container with water. } else if (targ is LandTarget) { int tileID = ((LandTarget)targ).TileID; PlayerMobile player = from as PlayerMobile; if (player != null) { } } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { if (from.Thirst < 20) { from.Thirst += 1; } if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is BaseWaterContainer) { BaseWaterContainer bwc = targ as BaseWaterContainer; if (Content != BeverageType.Water) { from.SendLocalizedMessage(500842); // Can't pour that in there. } else if (bwc.Items.Count != 0) { from.SendLocalizedMessage(500841); // That has something in it. } else { int itNeeds = Math.Min(bwc.MaxQuantity - bwc.Quantity, Quantity); if (itNeeds > 0) { bwc.Quantity += itNeeds; Quantity -= itNeeds; from.PlaySound(0x4E); } } } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }
public virtual void Pour_OnTarget(Mobile from, object targ) { if (IsEmpty || !Pourable || !ValidateUse(from, false)) { return; } if (targ is BaseBeverage) { BaseBeverage bev = (BaseBeverage)targ; if (!bev.ValidateUse(from, true)) { return; } if (bev.IsFull && bev.Content == this.Content) { from.SendLocalizedMessage(500848); // Couldn't pour it there. It was already full. } else if (!bev.IsEmpty) { from.SendLocalizedMessage(500846); // Can't pour it there. } else { bev.Content = this.Content; bev.Poison = this.Poison; bev.Poisoner = this.Poisoner; if (this.Quantity > bev.MaxQuantity) { bev.Quantity = bev.MaxQuantity; this.Quantity -= bev.MaxQuantity; } else { bev.Quantity += this.Quantity; this.Quantity = 0; } from.PlaySound(0x4E); } } else if (from == targ) { if (from.Thirst < 20) { from.Thirst += 1; } if (ContainsAlchohol) { int bac = 0; switch (this.Content) { case BeverageType.Ale: bac = 1; break; case BeverageType.Wine: bac = 2; break; case BeverageType.Cider: bac = 3; break; case BeverageType.Liquor: bac = 4; break; } from.BAC += bac; if (from.BAC > 60) { from.BAC = 60; } CheckHeaveTimer(from); } from.PlaySound(Utility.RandomList(0x30, 0x2D6)); if (m_Poison != null) { from.ApplyPoison(m_Poisoner, m_Poison); } --Quantity; } else if (targ is PlantItem) { ((PlantItem)targ).Pour(from, this); } else if (targ is AddonComponent && (((AddonComponent)targ).Addon is WaterVatEast || ((AddonComponent)targ).Addon is WaterVatSouth) && this.Content == BeverageType.Water) { PlayerMobile player = from as PlayerMobile; if (player != null) { SolenMatriarchQuest qs = player.Quest as SolenMatriarchQuest; if (qs != null) { QuestObjective obj = qs.FindObjective(typeof(GatherWaterObjective)); if (obj != null && !obj.Completed) { BaseAddon vat = ((AddonComponent)targ).Addon; if (vat.X > 5784 && vat.X < 5814 && vat.Y > 1903 && vat.Y < 1934 && ((qs.RedSolen && vat.Map == Map.Trammel) || (!qs.RedSolen && vat.Map == Map.Felucca))) { if (obj.CurProgress + Quantity > obj.MaxProgress) { int delta = obj.MaxProgress - obj.CurProgress; Quantity -= delta; obj.CurProgress = obj.MaxProgress; } else { obj.CurProgress += Quantity; Quantity = 0; } } } } } } else if (targ is WaterElemental) { WaterElemental we = targ as WaterElemental; if (this is Pitcher && this.Quantity == this.MaxQuantity) { if (we.Summoned == true) { from.SendLocalizedMessage(1115895); // It seems that this water elemental no longer has a magical decanter... } else if (we.HasPitcher == false) { from.SendLocalizedMessage(1115895); // It seems that this water elemental no longer has a magical decanter... } else { Effects.SendMovingEffect(from, we, this.ItemID, 7, 0, false, false, this.Hue, 0); if (Utility.Random(100) < 3) { EndlessDecanterOfWater edw = new EndlessDecanterOfWater(); Effects.SendMovingEffect(we, from, edw.ItemID, 7, 0, false, false, edw.Hue, 0); from.AddToBackpack(edw); from.SendLocalizedMessage(1115897); // The water elemental has thrown a magical decanter back to you! we.HasPitcher = false; } else { from.SendLocalizedMessage(1115896); // The water pitcher has shattered. //Play Sound? } } } else { from.SendLocalizedMessage(500846); // Can't pour it there. } } else { from.SendLocalizedMessage(500846); // Can't pour it there. } }