All pastes #587988 Raw Edit

Something

public text v1 · immutable
#587988 ·published 2007-06-25 08:52 UTC
rendered paste body
public 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);
        }