Compare commits
3 commits
97ace3375a
...
cac8e96656
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cac8e96656 | ||
|
|
7610ad9029 | ||
|
|
ac691d3140 |
3 changed files with 26 additions and 1 deletions
|
|
@ -51,6 +51,12 @@ namespace MosswartMassacre
|
|||
_trackedItemIds.Add(item.Id);
|
||||
var mwo = MyWorldObjectCreator.Create(item);
|
||||
_ = WebSocket.SendInventoryDeltaAsync("add", mwo);
|
||||
|
||||
// Request appraisal if item needs full ID data (spells, combat stats, etc.)
|
||||
if (!item.HasIdData && ObjectClassNeedsIdent(item.ObjectClass, item.Name))
|
||||
{
|
||||
CoreManager.Current.Actions.RequestId(item.Id);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -96,6 +102,12 @@ namespace MosswartMassacre
|
|||
_trackedItemIds.Add(item.Id);
|
||||
var mwo = MyWorldObjectCreator.Create(item);
|
||||
_ = WebSocket.SendInventoryDeltaAsync("add", mwo);
|
||||
|
||||
// Request appraisal if item needs full ID data
|
||||
if (!item.HasIdData && ObjectClassNeedsIdent(item.ObjectClass, item.Name))
|
||||
{
|
||||
CoreManager.Current.Actions.RequestId(item.Id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -115,6 +127,18 @@ namespace MosswartMassacre
|
|||
_trackedItemIds.Clear();
|
||||
}
|
||||
|
||||
private static bool ObjectClassNeedsIdent(ObjectClass oc, string name)
|
||||
{
|
||||
return oc == ObjectClass.Armor
|
||||
|| oc == ObjectClass.Clothing
|
||||
|| oc == ObjectClass.MeleeWeapon
|
||||
|| oc == ObjectClass.MissileWeapon
|
||||
|| oc == ObjectClass.WandStaffOrb
|
||||
|| oc == ObjectClass.Jewelry
|
||||
|| (oc == ObjectClass.Gem && !string.IsNullOrEmpty(name) && name.Contains("Aetheria"))
|
||||
|| (oc == ObjectClass.Misc && !string.IsNullOrEmpty(name) && name.Contains("Essence"));
|
||||
}
|
||||
|
||||
private static bool IsPlayerInventory(WorldObject item)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -65,7 +65,8 @@ namespace MosswartMassacre
|
|||
|
||||
// build serializer/deserializer once
|
||||
var builder = new DeserializerBuilder()
|
||||
.WithNamingConvention(UnderscoredNamingConvention.Instance);
|
||||
.WithNamingConvention(UnderscoredNamingConvention.Instance)
|
||||
.IgnoreUnmatchedProperties();
|
||||
var deserializer = builder.Build();
|
||||
|
||||
PluginSettings loaded = null;
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue