ServUO Version
Publish 58
Ultima Expansion
Endless Journey
Does anyone know how to set the Moveable false on a water barrel when you empty it with a pitcher? Whenever I take out the water it always becomes moveable until water is added again. Players are able to take any barrels in the world deco if they fill it with water then empty or empty one with water.
 
Last edited:
I think it is due to the weight, not a toggle for movable, usually you'd use static items for decor, so either make sure Movable = false is set when you place the barrel or if it does toggle the movable state when emptied, then just make the barrels weight 1000 stones when empty by default and the player will not be able to pick it up!
 
I think it is due to the weight, not a toggle for movable, usually you'd use static items for decor, so either make sure Movable = false is set when you place the barrel or if it does toggle the movable state when emptied, then just make the barrels weight 1000 stones when empty by default and the player will not be able to pick it up!
Yes I agree with you the item begins static but removing the water changes the properties of the barrel and makes it not static anymore. It starts out as a full barrel with Moveable=false but when the water is removed via a pitcher it is no longer static. Additionally adding water back to it from a pitcher restores its previous state of static! LOL I suppose I could make it 100000 stones but it seems like an unnecessary workaround. The item should remain static. Even if its 100000 stones though you can still move it along the ground like a pile of ore. It doesn't drain stamina if you are stationary.
 
If it is static than the functionality will be lost so I don't understand how it can turn from one to the other unless coded to do so. As for a better fix, you could create a new class base on the Barrel and override the methods in question for filling and code in the movable = false;, you would add the line after everything else, at the end of the method to ensure it is in state when it exits the method!
 
If it is static than the functionality will be lost so I don't understand how it can turn from one to the other unless coded to do so. As for a better fix, you could create a new class base on the Barrel and override the methods in question for filling and code in the movable = false;, you would add the line after everything else, at the end of the method to ensure it is in state when it exits the method!
Looks like I found the culprit. I had apparently set the empty barrels to movable true in the beverage.cs like this when it changes to ItemID 3703.
C#:
 //full barrel
                if ( item.ItemID == 5453 && this.Quantity == 0 )
                {
                    if ( from.Map != item.Map || !from.InRange( item.GetWorldLocation(), 2 ) || !from.InLOS( item ) )
                    {
                        from.LocalOverheadMessage( MessageType.Regular, 0x3B2, true, "I can't reach that." ); // I can't reach that.
                        return;
                    }

                    this.Content = BeverageType.Water;
                    this.Poison = null;
                    this.Poisoner = null;
                    this.Quantity = this.MaxQuantity;
                    item.ItemID = 3703;
                    item.Movable = true;
                    item.Name = "a barrel";
                }
 
type "[get itemid" target a full barrel of water. It will give you a number. then type "[add static XXXX" where xxxx is the number get itemid gave you. That will only give you the graphic, you will not be able to change it.
 
Back