mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-08-26 02:43:27 +02:00
Got retainer meeting group working and cleaned up retainer instancing. Added a RemoveItemAtSlot with quantity.
This commit is contained in:
parent
5bec522c8e
commit
76f073d85f
4 changed files with 70 additions and 15 deletions
|
@ -1,5 +1,7 @@
|
|||
using FFXIVClassic_Map_Server.actors.chara.player;
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.actors.chara.player;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor.inventory;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
@ -10,22 +12,45 @@ namespace FFXIVClassic_Map_Server.actors.chara.npc
|
|||
{
|
||||
class Retainer : Npc
|
||||
{
|
||||
public Retainer(uint id, string retainerName, ActorClass actorClass, Player player, float posX, float posY, float posZ, float rot)
|
||||
: base(0, actorClass, String.Format("_rtnre{0:x7}", id), player.GetZone(), posX, posY, posZ, rot, 0, 0, retainerName)
|
||||
Player player;
|
||||
|
||||
public Retainer(string retainerName, ActorClass actorClass, Player player, float posX, float posY, float posZ, float rot)
|
||||
: base(0, actorClass, "myretainer", player.GetZone(), posX, posY, posZ, rot, 0, 0, retainerName)
|
||||
{
|
||||
this.actorId = 0xD0000000 | id;
|
||||
this.player = player;
|
||||
this.actorName = String.Format("_rtnre{0:x7}", actorId);
|
||||
}
|
||||
|
||||
public void SendBazaarItems(Player player)
|
||||
{
|
||||
Inventory bazaar = new Inventory(this, 4, Inventory.RETAINER_BAZAAR);
|
||||
bazaar.SendFullInventory(player);
|
||||
Inventory bazaar = new Inventory(this, 150, (ushort)0);
|
||||
bazaar.AddItem(1000001);
|
||||
bazaar.AddItem(3020517);
|
||||
player.QueuePacket(InventoryBeginChangePacket.BuildPacket(actorId));
|
||||
bazaar.SendFullInventory(player);
|
||||
player.QueuePacket(InventoryEndChangePacket.BuildPacket(actorId));
|
||||
|
||||
}
|
||||
|
||||
public void SendStorageItems(Player player)
|
||||
{
|
||||
Inventory storage = new Inventory(this, 4, 1);
|
||||
Inventory storage = new Inventory(this, 10, Inventory.CURRENCY);
|
||||
storage.AddItem(1000001);
|
||||
storage.AddItem(3020519);
|
||||
player.QueuePacket(InventoryBeginChangePacket.BuildPacket(actorId));
|
||||
storage.SendFullInventory(player);
|
||||
player.QueuePacket(InventoryEndChangePacket.BuildPacket(actorId));
|
||||
}
|
||||
|
||||
public void SendHuhItems(Player player)
|
||||
{
|
||||
Inventory storage = new Inventory(this, 20, 7);
|
||||
storage.AddItem(1000003);
|
||||
storage.AddItem(1000016);
|
||||
player.QueuePacket(InventoryBeginChangePacket.BuildPacket(actorId));
|
||||
storage.SendFullInventory(player);
|
||||
player.QueuePacket(InventoryEndChangePacket.BuildPacket(actorId));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue