mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-24 05:37:46 +00:00
Equipment now working. Still need to write database saving/loading.
This commit is contained in:
parent
b7fd3e442c
commit
c2f0b9d999
5 changed files with 168 additions and 57 deletions
|
@ -452,12 +452,12 @@ namespace FFXIVClassic_Lobby_Server
|
|||
}
|
||||
}
|
||||
|
||||
player.inventories[Inventory.NORMAL].initList(getInventory(player, 0, Inventory.NORMAL));
|
||||
player.inventories[Inventory.KEYITEMS].initList(getInventory(player, 0, Inventory.KEYITEMS));
|
||||
player.inventories[Inventory.CURRANCY].initList(getInventory(player, 0, Inventory.CURRANCY));
|
||||
player.inventories[Inventory.BAZAAR].initList(getInventory(player, 0, Inventory.BAZAAR));
|
||||
player.inventories[Inventory.MELDREQUEST].initList(getInventory(player, 0, Inventory.MELDREQUEST));
|
||||
player.inventories[Inventory.LOOT].initList(getInventory(player, 0, Inventory.LOOT));
|
||||
player.getInventory(Inventory.NORMAL).initList(getInventory(player, 0, Inventory.NORMAL));
|
||||
player.getInventory(Inventory.KEYITEMS).initList(getInventory(player, 0, Inventory.KEYITEMS));
|
||||
player.getInventory(Inventory.CURRANCY).initList(getInventory(player, 0, Inventory.CURRANCY));
|
||||
player.getInventory(Inventory.BAZAAR).initList(getInventory(player, 0, Inventory.BAZAAR));
|
||||
player.getInventory(Inventory.MELDREQUEST).initList(getInventory(player, 0, Inventory.MELDREQUEST));
|
||||
player.getInventory(Inventory.LOOT).initList(getInventory(player, 0, Inventory.LOOT));
|
||||
|
||||
}
|
||||
catch (MySqlException e)
|
||||
|
@ -581,7 +581,7 @@ namespace FFXIVClassic_Lobby_Server
|
|||
cmd.ExecuteNonQuery();
|
||||
cmd2.ExecuteNonQuery();
|
||||
|
||||
insertedItem = new Item((uint)cmd.LastInsertedId, itemId, quantity, (ushort)player.inventories[type].getNextEmptySlot(), isUntradeable, quality, durability, 0, 0, 0, 0, 0, 0);
|
||||
insertedItem = new Item((uint)cmd.LastInsertedId, itemId, quantity, (ushort)player.getInventory(type).getNextEmptySlot(), isUntradeable, quality, durability, 0, 0, 0, 0, 0, 0);
|
||||
}
|
||||
catch (MySqlException e)
|
||||
{ Console.WriteLine(e); }
|
||||
|
|
|
@ -432,14 +432,14 @@ namespace FFXIVClassic_Lobby_Server
|
|||
if (client != null)
|
||||
{
|
||||
Player p = client.getActor();
|
||||
p.inventories[Inventory.NORMAL].addItem(itemId, quantity, 1);
|
||||
p.getInventory(Inventory.NORMAL).addItem(itemId, quantity, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||
{
|
||||
Player p = entry.Value.getActor();
|
||||
p.inventories[Inventory.NORMAL].addItem(itemId, quantity, 1);
|
||||
p.getInventory(Inventory.NORMAL).addItem(itemId, quantity, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -450,8 +450,8 @@ namespace FFXIVClassic_Lobby_Server
|
|||
{
|
||||
Player p = client.getActor();
|
||||
|
||||
if (p.inventories.ContainsKey(type))
|
||||
p.inventories[type].addItem(itemId, quantity, 1);
|
||||
if (p.getInventory(type) != null)
|
||||
p.getInventory(type).addItem(itemId, quantity, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -459,8 +459,8 @@ namespace FFXIVClassic_Lobby_Server
|
|||
{
|
||||
Player p = entry.Value.getActor();
|
||||
|
||||
if (p.inventories.ContainsKey(type))
|
||||
p.inventories[type].addItem(itemId, quantity, 1);
|
||||
if (p.getInventory(type) != null)
|
||||
p.getInventory(type).addItem(itemId, quantity, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -470,14 +470,14 @@ namespace FFXIVClassic_Lobby_Server
|
|||
if (client != null)
|
||||
{
|
||||
Player p = client.getActor();
|
||||
p.inventories[Inventory.NORMAL].removeItem(itemId, quantity);
|
||||
p.getInventory(Inventory.NORMAL).removeItem(itemId, quantity);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||
{
|
||||
Player p = entry.Value.getActor();
|
||||
p.inventories[Inventory.NORMAL].removeItem(itemId, quantity);
|
||||
p.getInventory(Inventory.NORMAL).removeItem(itemId, quantity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -488,8 +488,8 @@ namespace FFXIVClassic_Lobby_Server
|
|||
{
|
||||
Player p = client.getActor();
|
||||
|
||||
if (p.inventories.ContainsKey(type))
|
||||
p.inventories[type].removeItem(itemId, quantity);
|
||||
if (p.getInventory(type) != null)
|
||||
p.getInventory(type).removeItem(itemId, quantity);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -497,8 +497,8 @@ namespace FFXIVClassic_Lobby_Server
|
|||
{
|
||||
Player p = entry.Value.getActor();
|
||||
|
||||
if (p.inventories.ContainsKey(type))
|
||||
p.inventories[type].removeItem(itemId, quantity);
|
||||
if (p.getInventory(type) != null)
|
||||
p.getInventory(type).removeItem(itemId, quantity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -508,14 +508,14 @@ namespace FFXIVClassic_Lobby_Server
|
|||
if (client != null)
|
||||
{
|
||||
Player p = client.getActor();
|
||||
p.inventories[Inventory.CURRANCY].addItem(itemId, quantity, 1);
|
||||
p.getInventory(Inventory.CURRANCY).addItem(itemId, quantity, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||
{
|
||||
Player p = entry.Value.getActor();
|
||||
p.inventories[Inventory.CURRANCY].addItem(itemId, quantity, 1);
|
||||
p.getInventory(Inventory.CURRANCY).addItem(itemId, quantity, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -525,14 +525,14 @@ namespace FFXIVClassic_Lobby_Server
|
|||
if (client != null)
|
||||
{
|
||||
Player p = client.getActor();
|
||||
p.inventories[Inventory.CURRANCY].removeItem(itemId, quantity);
|
||||
p.getInventory(Inventory.CURRANCY).removeItem(itemId, quantity);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||
{
|
||||
Player p = entry.Value.getActor();
|
||||
p.inventories[Inventory.CURRANCY].removeItem(itemId, quantity);
|
||||
p.getInventory(Inventory.CURRANCY).removeItem(itemId, quantity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -542,14 +542,14 @@ namespace FFXIVClassic_Lobby_Server
|
|||
if (client != null)
|
||||
{
|
||||
Player p = client.getActor();
|
||||
p.inventories[Inventory.KEYITEMS].addItem(itemId, 1, 1);
|
||||
p.getInventory(Inventory.KEYITEMS).addItem(itemId, 1, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||
{
|
||||
Player p = entry.Value.getActor();
|
||||
p.inventories[Inventory.KEYITEMS].addItem(itemId, 1, 1);
|
||||
p.getInventory(Inventory.KEYITEMS).addItem(itemId, 1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -559,14 +559,14 @@ namespace FFXIVClassic_Lobby_Server
|
|||
if (client != null)
|
||||
{
|
||||
Player p = client.getActor();
|
||||
p.inventories[Inventory.KEYITEMS].removeItem(itemId, 1);
|
||||
p.getInventory(Inventory.KEYITEMS).removeItem(itemId, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||
{
|
||||
Player p = entry.Value.getActor();
|
||||
p.inventories[Inventory.KEYITEMS].removeItem(itemId, 1);
|
||||
p.getInventory(Inventory.KEYITEMS).removeItem(itemId, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.dataobjects;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor.inventory;
|
||||
using FFXIVClassic_Map_Server.packets.send.Actor.inventory;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
@ -34,12 +35,15 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
private ushort inventoryCapacity;
|
||||
private ushort inventoryCode;
|
||||
private Item[] list;
|
||||
private Inventory normalInventory;
|
||||
|
||||
public Equipment(Player ownerPlayer, ushort capacity, ushort code)
|
||||
public Equipment(Player ownerPlayer, Inventory normalInventory, ushort capacity, ushort code)
|
||||
{
|
||||
owner = ownerPlayer;
|
||||
inventoryCapacity = capacity;
|
||||
inventoryCode = code;
|
||||
list = new Item[inventoryCapacity];
|
||||
this.normalInventory = normalInventory;
|
||||
}
|
||||
|
||||
public Item GetItemAtSlot(ushort slot)
|
||||
|
@ -50,6 +54,20 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
return null;
|
||||
}
|
||||
|
||||
public void SendFullEquipment(bool doClear)
|
||||
{
|
||||
List<ushort> slotsToUpdate = new List<ushort>();
|
||||
for (ushort i = 0; i < list.Length; i++)
|
||||
{
|
||||
if (list[i] == null && doClear)
|
||||
slotsToUpdate.Add(0);
|
||||
else if (list[i] != null)
|
||||
slotsToUpdate.Add(i);
|
||||
}
|
||||
|
||||
SendEquipmentPackets(slotsToUpdate);
|
||||
}
|
||||
|
||||
public void SetEquipment(List<Tuple<ushort, Item>> toEquip)
|
||||
{
|
||||
List<ushort> slotsToUpdate = new List<ushort>();
|
||||
|
@ -64,41 +82,68 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
|
||||
public void Equip(ushort slot, Item item)
|
||||
{
|
||||
if (slot < list.Length)
|
||||
list[slot] = item;
|
||||
if (slot >= list.Length)
|
||||
return;
|
||||
|
||||
owner.queuePacket(InventoryBeginChangePacket.buildPacket(owner.actorId));
|
||||
|
||||
if (list[slot] != null)
|
||||
normalInventory.RefreshItem(list[slot], item);
|
||||
else
|
||||
normalInventory.RefreshItem(item);
|
||||
|
||||
owner.queuePacket(InventorySetBeginPacket.buildPacket(owner.actorId, inventoryCapacity, inventoryCode));
|
||||
SendEquipmentPackets(slot, item);
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
|
||||
owner.queuePacket(InventoryEndChangePacket.buildPacket(owner.actorId));
|
||||
|
||||
list[slot] = item;
|
||||
}
|
||||
|
||||
public void Unequip(ushort slot)
|
||||
{
|
||||
if (slot < list.Length)
|
||||
list[slot] = null;
|
||||
if (slot >= list.Length)
|
||||
return;
|
||||
|
||||
owner.queuePacket(InventoryBeginChangePacket.buildPacket(owner.actorId));
|
||||
|
||||
normalInventory.RefreshItem(list[slot]);
|
||||
|
||||
owner.queuePacket(InventorySetBeginPacket.buildPacket(owner.actorId, inventoryCapacity, inventoryCode));
|
||||
SendEquipmentPackets(slot, null);
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
|
||||
owner.queuePacket(InventoryEndChangePacket.buildPacket(owner.actorId));
|
||||
|
||||
list[slot] = null;
|
||||
}
|
||||
|
||||
private void SendEquipmentPackets(ushort equipSlot, Item item)
|
||||
{
|
||||
if (item == null)
|
||||
owner.queuePacket(EquipmentListX01Packet.buildPacket(owner.actorId, equipSlot, 0));
|
||||
owner.queuePacket(InventoryRemoveX01Packet.buildPacket(owner.actorId, equipSlot));
|
||||
else
|
||||
owner.queuePacket(EquipmentListX01Packet.buildPacket(owner.actorId, equipSlot, item.slot));
|
||||
}
|
||||
|
||||
private void SendEquipmentPackets(List<ushort> slotsToUpdate)
|
||||
{
|
||||
owner.queuePacket(InventorySetBeginPacket.buildPacket(owner.actorId, inventoryCapacity, inventoryCode));
|
||||
|
||||
int currentIndex = 0;
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (list.Length - currentIndex >= 64)
|
||||
if (slotsToUpdate.Count - currentIndex >= 64)
|
||||
owner.queuePacket(EquipmentListX64Packet.buildPacket(owner.actorId, list, slotsToUpdate, ref currentIndex));
|
||||
else if (list.Length - currentIndex >= 32)
|
||||
else if (slotsToUpdate.Count - currentIndex >= 32)
|
||||
owner.queuePacket(EquipmentListX32Packet.buildPacket(owner.actorId, list, slotsToUpdate, ref currentIndex));
|
||||
else if (list.Length - currentIndex >= 16)
|
||||
else if (slotsToUpdate.Count - currentIndex >= 16)
|
||||
owner.queuePacket(EquipmentListX16Packet.buildPacket(owner.actorId, list, slotsToUpdate, ref currentIndex));
|
||||
else if (list.Length - currentIndex > 1)
|
||||
else if (slotsToUpdate.Count - currentIndex > 1)
|
||||
owner.queuePacket(EquipmentListX08Packet.buildPacket(owner.actorId, list, slotsToUpdate, ref currentIndex));
|
||||
else if (list.Length - currentIndex == 1)
|
||||
else if (slotsToUpdate.Count - currentIndex == 1)
|
||||
{
|
||||
owner.queuePacket(EquipmentListX01Packet.buildPacket(owner.actorId, slotsToUpdate[currentIndex], list[currentIndex].slot));
|
||||
currentIndex++;
|
||||
|
@ -107,6 +152,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
break;
|
||||
}
|
||||
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -40,6 +40,35 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
list = itemsFromDB;
|
||||
}
|
||||
|
||||
public Item getItem(ushort slot)
|
||||
{
|
||||
if (slot < list.Count)
|
||||
return list[slot];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public void RefreshItem(Item item)
|
||||
{
|
||||
owner.queuePacket(InventorySetBeginPacket.buildPacket(owner.actorId, inventoryCapacity, inventoryCode));
|
||||
sendInventoryPackets(item);
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
}
|
||||
|
||||
public void RefreshItem(params Item[] items)
|
||||
{
|
||||
owner.queuePacket(InventorySetBeginPacket.buildPacket(owner.actorId, inventoryCapacity, inventoryCode));
|
||||
sendInventoryPackets(items.ToList());
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
}
|
||||
|
||||
public void RefreshItem(List<Item> items)
|
||||
{
|
||||
owner.queuePacket(InventorySetBeginPacket.buildPacket(owner.actorId, inventoryCapacity, inventoryCode));
|
||||
sendInventoryPackets(items);
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
}
|
||||
|
||||
public void addItem(uint itemId, int quantity, byte quality)
|
||||
{
|
||||
if (!isSpaceForAdd(itemId, quantity))
|
||||
|
@ -173,6 +202,10 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
sendInventoryRemovePackets(slotsToRemove);
|
||||
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
|
||||
if (inventoryCode == NORMAL)
|
||||
owner.getEquipment().SendFullEquipment(false);
|
||||
|
||||
owner.queuePacket(InventoryEndChangePacket.buildPacket(owner.actorId));
|
||||
}
|
||||
|
||||
|
@ -210,6 +243,10 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
sendInventoryRemovePackets((ushort)(oldListSize - 1));
|
||||
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
|
||||
if (inventoryCode == NORMAL)
|
||||
owner.getEquipment().SendFullEquipment(false);
|
||||
|
||||
owner.queuePacket(InventoryEndChangePacket.buildPacket(owner.actorId));
|
||||
|
||||
}
|
||||
|
@ -236,6 +273,10 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
sendInventoryRemovePackets((ushort)(oldListSize - 1));
|
||||
|
||||
owner.queuePacket(InventorySetEndPacket.buildPacket(owner.actorId));
|
||||
|
||||
if (inventoryCode == NORMAL)
|
||||
owner.getEquipment().SendFullEquipment(false);
|
||||
|
||||
owner.queuePacket(InventoryEndChangePacket.buildPacket(owner.actorId));
|
||||
}
|
||||
|
||||
|
@ -268,6 +309,31 @@ namespace FFXIVClassic_Map_Server.actors.chara.player
|
|||
owner.queuePacket(InventoryListX01Packet.buildPacket(owner.actorId, item));
|
||||
}
|
||||
|
||||
private void sendInventoryPackets(List<Item> items)
|
||||
{
|
||||
int currentIndex = 0;
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (items.Count - currentIndex >= 64)
|
||||
owner.queuePacket(InventoryListX64Packet.buildPacket(owner.actorId, items, ref currentIndex));
|
||||
else if (items.Count - currentIndex >= 32)
|
||||
owner.queuePacket(InventoryListX32Packet.buildPacket(owner.actorId, items, ref currentIndex));
|
||||
else if (items.Count - currentIndex >= 16)
|
||||
owner.queuePacket(InventoryListX16Packet.buildPacket(owner.actorId, items, ref currentIndex));
|
||||
else if (items.Count - currentIndex > 1)
|
||||
owner.queuePacket(InventoryListX08Packet.buildPacket(owner.actorId, items, ref currentIndex));
|
||||
else if (items.Count - currentIndex == 1)
|
||||
{
|
||||
owner.queuePacket(InventoryListX01Packet.buildPacket(owner.actorId, items[currentIndex]));
|
||||
currentIndex++;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void sendInventoryPackets(int startOffset)
|
||||
{
|
||||
int currentIndex = startOffset;
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
public const int MAXSIZE_INVENTORY_LOOT = 10;
|
||||
public const int MAXSIZE_INVENTORY_MELDREQUEST = 4;
|
||||
public const int MAXSIZE_INVENTORY_BAZAAR = 10;
|
||||
public const int MAXSIZE_INVENTORY_EQUIPMENT = 10;
|
||||
public const int MAXSIZE_INVENTORY_EQUIPMENT = 35;
|
||||
|
||||
public const int TIMER_TOTORAK = 0;
|
||||
public const int TIMER_DZEMAEL = 1;
|
||||
|
@ -61,8 +61,8 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
public uint currentTitle;
|
||||
|
||||
//Inventory
|
||||
public Dictionary<ushort, Inventory> inventories = new Dictionary<ushort, Inventory>();
|
||||
public int[] invEquipment = new int[MAXSIZE_INVENTORY_EQUIPMENT];
|
||||
private Dictionary<ushort, Inventory> inventories = new Dictionary<ushort, Inventory>();
|
||||
private Equipment equipment;
|
||||
|
||||
//GC Related
|
||||
public byte gcCurrent;
|
||||
|
@ -102,6 +102,8 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
inventories[Inventory.BAZAAR] = new Inventory(this, MAXSIZE_INVENTORY_BAZAAR, Inventory.BAZAAR);
|
||||
inventories[Inventory.LOOT] = new Inventory(this, MAXSIZE_INVENTORY_LOOT, Inventory.LOOT);
|
||||
|
||||
equipment = new Equipment(this, inventories[Inventory.NORMAL], MAXSIZE_INVENTORY_EQUIPMENT, Inventory.EQUIPMENT);
|
||||
|
||||
charaWork.property[0] = 1;
|
||||
charaWork.property[1] = 1;
|
||||
charaWork.property[2] = 1;
|
||||
|
@ -431,7 +433,8 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
BasePacket partyListPacket = BasePacket.createPacket(ListUtils.createPartyList(actorId, 0xF4, 1, 0x8000000000696df2, partyListEntries), true, false);
|
||||
playerSession.queuePacket(partyListPacket);
|
||||
#endregion
|
||||
|
||||
|
||||
#region Inventory & Equipment
|
||||
queuePacket(InventoryBeginChangePacket.buildPacket(actorId));
|
||||
inventories[Inventory.NORMAL].sendFullInventory();
|
||||
inventories[Inventory.CURRANCY].sendFullInventory();
|
||||
|
@ -439,21 +442,9 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
inventories[Inventory.BAZAAR].sendFullInventory();
|
||||
inventories[Inventory.MELDREQUEST].sendFullInventory();
|
||||
inventories[Inventory.LOOT].sendFullInventory();
|
||||
#region equipsetup
|
||||
// EquipmentListX08Packet initialEqupmentPacket = new EquipmentListX08Packet();
|
||||
// initialEqupmentPacket.setItem(EquipmentListX08Packet.SLOT_BODY, 5);
|
||||
// initialEqupmentPacket.setItem(EquipmentListX08Packet.SLOT_HEAD, 3);
|
||||
// initialEqupmentPacket.setItem(EquipmentListX08Packet.SLOT_UNDERSHIRT, 6);
|
||||
// initialEqupmentPacket.setItem(EquipmentListX08Packet.SLOT_UNDERGARMENT, 7);
|
||||
// initialEqupmentPacket.setItem(EquipmentListX08Packet.SLOT_MAINHAND, 2);
|
||||
// initialEqupmentPacket.setItem(EquipmentListX08Packet.SLOT_LEGS, 8);
|
||||
|
||||
//Equip Init
|
||||
// playerSession.queuePacket(InventorySetBeginPacket.buildPacket(actorId, 0x23, InventorySetBeginPacket.CODE_EQUIPMENT), true, false);
|
||||
// playerSession.queuePacket(BasePacket.createPacket(initialEqupmentPacket.buildPackets(actorId), true, false));
|
||||
// playerSession.queuePacket(InventorySetEndPacket.buildPacket(actorId), true, false);
|
||||
equipment.SendFullEquipment(false);
|
||||
playerSession.queuePacket(InventoryEndChangePacket.buildPacket(actorId), true, false);
|
||||
#endregion
|
||||
playerSession.queuePacket(InventoryEndChangePacket.buildPacket(actorId), true, false);
|
||||
|
||||
playerSession.queuePacket(getInitPackets(actorId));
|
||||
|
||||
|
@ -646,7 +637,15 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
|
||||
public Inventory getInventory(ushort type)
|
||||
{
|
||||
return inventories[type];
|
||||
if (inventories.ContainsKey(type))
|
||||
return inventories[type];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public Equipment getEquipment()
|
||||
{
|
||||
return equipment;
|
||||
}
|
||||
|
||||
public void runEventFunction(string functionName, params object[] parameters)
|
||||
|
|
Loading…
Add table
Reference in a new issue