fix: Uses client bug to make addon containers work (#776)

* Fixes tooltip for container furniture so it works. This doesn't work on ClassicUO.
* Fixes double click opening container furniture by double clicking the addon component.
* Fixes the context menu not showing up sometimes on the addon piece.

Note: You cannot drop anything into the addon component since it might be far away and it is not a real container. There is no easy fix for this without building an entire custom container class for addons or changing how items drag/drop entirely. Requires closing/opening container gumps as it switches from one component to another that shares the same content. Also requires sharing tooltips, invalidated properties, process delta changes, etc.
Not worth the effort.

<img width="444" alt="Screen_Shot_2021-09-12_at_4 27 28_PM" src="https://user-images.githubusercontent.com/3953314/133011752-c5b54cf2-2c7b-45c0-882d-0365ef62e686.png">
This commit is contained in:
Kamron Batman 2021-09-12 22:23:15 -07:00 committed by GitHub
parent 52dacec68f
commit c5e35c9b69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 104 additions and 86 deletions

View file

@ -187,6 +187,19 @@ namespace Server.Items
}
}
public override void InvalidateProperties()
{
base.InvalidateProperties();
if (_components != null)
{
foreach (var component in _components)
{
component.InvalidateProperties();
}
}
}
// Handles v0 with old Enum -> Int casting
private void Deserialize(IGenericReader reader, int version)
{
@ -332,6 +345,10 @@ namespace Server.Items
public virtual void OnComponentUsed(AddonContainerComponent c, Mobile from)
{
if (!Deleted)
{
OnDoubleClick(from);
}
}
}
}