rendered paste bodypublic bool TownFolkInteract(NPC Unit)
{
Hero.Instance.State = HeroState.Interacting;
this.Packet.Send(new GameClient.GoToTownFolk(UnitType.NPC, Unit.UID, Unit.X, Unit.Y).Data);
this.Packet.Send(new GameClient.RunToTarget(UnitType.NPC, Unit.UID).Data);
this.Packet.Send(new GameClient.UnitInteract(UnitType.NPC, Unit.UID).Data);
if (!WaitForPacket(GameServerPacket.NPCInfo, 5000))
return false;
this.Packet.Send(new GameClient.TownFolkInteract(UnitType.NPC, Unit.UID).Data);
return true;
}
public void TownFolkMenuSelect(NPC Unit, TownFolkMenuItem menu)
{
Hero.Instance.State = HeroState.Interacting;
uint unknown9;
if(menu != TownFolkMenuItem.Trade)
throw new Exception("Trade is the only supported menu type--unknown 9?");
else
// Apparently this only happens during trade selection:
unknown9 = ETUtils.BEBitConverter.ToUInt32(new byte[] {0x00, 0x00, 0x00, 0x00}, 0);
this.Packet.Send(new GameClient.TownFolkMenuSelect(menu, Unit.UID, unknown9).Data);
}