Some changes to Actor Table handling

This commit is contained in:
goat 2019-11-03 21:17:47 +09:00
parent 6b5f8e6bed
commit 75ed54117c
8 changed files with 46 additions and 30 deletions

View file

@ -64,18 +64,16 @@ namespace Dalamud.Game.Network {
Marshal.Copy(dataPtr, data, 0, 64);
var notifyType = data[16];
var contentFinderConditionId = BitConverter.ToInt16(data, 38);
var contentFinderConditionId = BitConverter.ToInt16(data, 28);
Task.Run(async () => {
if (notifyType != 4)
if (notifyType != 2 || contentFinderConditionId == 0)
return;
var contentFinderCondition =
await XivApi.GetContentFinderCondition(contentFinderConditionId);
this.dalamud.Framework.Gui.Chat.Print("Duty Finder pop: " + contentFinderCondition["Name"]);
if (this.dalamud.BotManager.IsConnected)
await this.dalamud.BotManager.ProcessCfPop(contentFinderCondition);
});
@ -179,13 +177,13 @@ namespace Dalamud.Game.Network {
}
private enum ZoneOpCode {
CfNotify = 0x78,
CfNotify = 0x8F,
RetainerSaleItemId = 0x13F, // TODO these are probably not accurate
RetainerSaleFinish = 0x138,
FateSpawn = 0x226,
MarketBoardItemRequestStart = 0x13B,
MarketBoardOfferings = 0x13C,
MarketBoardHistory = 0x140
MarketBoardItemRequestStart = 0x39D,
MarketBoardOfferings = 0x36A,
MarketBoardHistory = 0x194
}
}
}