mirror of
https://github.com/goatcorp/Dalamud.git
synced 2026-01-03 06:13:40 +01:00
More 5.1 fixes or maybe not who knows
This commit is contained in:
parent
dfec31d89c
commit
799f5ef634
10 changed files with 169 additions and 25 deletions
|
|
@ -29,6 +29,7 @@ namespace Dalamud.Game.Network {
|
|||
private void OnZonePacket(IntPtr dataPtr) {
|
||||
var opCode = (ZoneOpCode) Marshal.ReadInt16(dataPtr, 2);
|
||||
|
||||
/*
|
||||
if (opCode == ZoneOpCode.RetainerSaleItemId) {
|
||||
var itemId = Marshal.ReadInt32(dataPtr + 16);
|
||||
var amount = Marshal.ReadByte(dataPtr + 32);
|
||||
|
|
@ -58,22 +59,25 @@ namespace Dalamud.Game.Network {
|
|||
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
if (opCode == ZoneOpCode.CfNotify) {
|
||||
if (opCode == ZoneOpCode.CfNotifyRoulette) {
|
||||
var data = new byte[64];
|
||||
Marshal.Copy(dataPtr, data, 0, 64);
|
||||
|
||||
var notifyType = data[16];
|
||||
var contentFinderConditionId = BitConverter.ToInt16(data, 28);
|
||||
var contentFinderConditionId = BitConverter.ToInt16(data, 36);
|
||||
|
||||
|
||||
Task.Run(async () => {
|
||||
if (notifyType != 2 || contentFinderConditionId == 0)
|
||||
if (notifyType != 3 || contentFinderConditionId == 0)
|
||||
return;
|
||||
|
||||
var contentFinderCondition =
|
||||
await XivApi.GetContentFinderCondition(contentFinderConditionId);
|
||||
|
||||
this.dalamud.Framework.Gui.Chat.Print($"Duty pop: " + contentFinderCondition["Name"]);
|
||||
|
||||
if (this.dalamud.BotManager.IsConnected)
|
||||
await this.dalamud.BotManager.ProcessCfPop(contentFinderCondition);
|
||||
});
|
||||
|
|
@ -173,14 +177,32 @@ namespace Dalamud.Game.Network {
|
|||
|
||||
Log.Verbose("Added history for item#{0}", listing.CatalogId);
|
||||
}
|
||||
|
||||
if (opCode == ZoneOpCode.MarketTaxRates)
|
||||
{
|
||||
var taxes = MarketTaxRates.Read(dataPtr + 0x10);
|
||||
|
||||
Log.Verbose("MarketTaxRates: limsa#{0} grid#{1} uldah#{2} ish#{3} kugane#{4} cr#{5}",
|
||||
taxes.LimsaLominsaTax, taxes.GridaniaTax, taxes.UldahTax, taxes.IshgardTax, taxes.KuganeTax, taxes.CrystariumTax);
|
||||
try
|
||||
{
|
||||
Task.Run(() => this.uploader.UploadTax(taxes));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Market Board data upload failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private enum ZoneOpCode {
|
||||
CfNotifyRoulette = 0xB3,
|
||||
CfNotify = 0x8F,
|
||||
RetainerSaleItemId = 0x13F, // TODO these are probably not accurate
|
||||
RetainerSaleFinish = 0x138,
|
||||
FateSpawn = 0x226,
|
||||
MarketTaxRates = 0x76,
|
||||
MarketBoardItemRequestStart = 0x39D,
|
||||
MarketBoardOfferings = 0x36A,
|
||||
MarketBoardHistory = 0x194
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue