public Equipment GenerateEquipmentFromTemplate(EquipmentSlotId equipmentType) { var itemDatabase = GameManager.Instance.ItemDatabase; EquipmentDefinition itemDef = null; switch (equipmentType) { case EquipmentSlotId.Weapon: itemDef = itemDatabase.GetRandomWeapon(); break; case EquipmentSlotId.Head: itemDef = itemDatabase.GetRandomHelmet(); break; case EquipmentSlotId.Torso: itemDef = itemDatabase.GetRandomChestplate(); break; case EquipmentSlotId.Legs: itemDef = itemDatabase.GetRandomPlatelegs(); break; } var rarity = GetRandomRarity(); return(GenerateRandomBonuses(itemDef, rarity)); }
public void UpdateSlot(EquipmentSlotId slot) { var definition = m_PlayerManager.Equipment.GetEquipmentInSlot(slot); var matchingSlot = EquipmentSlots.Single(e => e.SlotId == slot); matchingSlot.UpdateItemSprite(definition); }
public void ClickItem(BaseEventData eventData, EquipmentSlotId slotId) { var equipmentItem = m_PlayerManager.Equipment.GetEquipmentInSlot(slotId); if (equipmentItem == null) { return; } m_PlayerManager.UnequipItem(slotId); }
private void AddCallbackToButton(EventTrigger eventTrigger, EquipmentSlotId slotId) { var eventEntry = new EventTrigger.Entry { eventID = EventTriggerType.PointerClick, }; eventEntry.callback.AddListener(eventData => ClickItem(eventData, slotId)); eventTrigger.triggers.Add(eventEntry); }
private D3.Hero.VisualItem GetEquipmentItemForToon(EquipmentSlotId equipSlot) { if (_equipment[(int)equipSlot] == 0) { return(D3.Hero.VisualItem.CreateBuilder() .SetGbid(-1) .SetDyeType(0) .SetEffectLevel(0) .SetItemEffectType(-1) .Build()); } return(Items[(_equipment[(int)equipSlot])].GetVisualItem()); }
private VisualItem GetEquipmentItem(EquipmentSlotId equipSlot) { if (_equipment[(int)equipSlot] == 0) { return(new VisualItem() { GbId = -1, // 0 causes error logs on the client - angerwin Field1 = 0, Field2 = 0, Field3 = 0, }); } return(Items[(_equipment[(int)equipSlot])].CreateVisualItem()); }
public void UnequipItem(EquipmentSlotId slotId) { var equipment = Equipment.GetEquipmentInSlot(slotId); if (!Inventory.HasEmptySlots(1)) { return; } Equipment.Unequip(slotId); Inventory.AddItem(equipment); EquipmentUI.UpdateSlot(equipment.EquipmentSlotId); InventoryUI.UpdateSlots(); }
private VisualItem GetEquipmentItem(EquipmentSlotId equipSlot) { if (_equipment[(int)equipSlot] == 0) { return new VisualItem() { GbId = -1, // 0 causes error logs on the client - angerwin Field1 = 0, Field2 = 0, Field3 = 0, }; } else { return _owner.World.GetItem(_equipment[(int)equipSlot]).CreateVisualItem(); } }
private VisualItem GetEquipmentItem(EquipmentSlotId equipSlot) { if (_equipment[(int)equipSlot] == 0) { return new VisualItem() { GbId = 0, Field1 = 0, Field2 = 0, Field3 = 0, }; } else { return _owner.World.GetItem(_equipment[(int)equipSlot]).CreateVisualItem(); } }
/// <summary> /// Equips an item in an equipment slot /// </summary> public void EquipItem(InventoryItem item, EquipmentSlotId slot) { ItemsEquiped.Add(item.DynamicID, item); item.Owner = _owner; //item.Attributes[GameAttributeStaticList.Item_Equipped] = true; // Probaly should be handled by Equipable class //item.Attributes.SendChangedMessage(_owner.GameClient); item.EquipmentSlot = slot; if (!itemsEquipedBySlot.ContainsKey(slot)) { itemsEquipedBySlot.Add(slot, item); } else { itemsEquipedBySlot[slot] = item; } }
private void SaveItemToDB(DBGameAccount dbGameAccount, DBToon dbToon, EquipmentSlotId slotId, Item item) { if (item == null) { return; } if (item.DBInventory == null) { item.DBInventory = new DBInventory(); } item.DBInventory.DBGameAccount = dbGameAccount; item.DBInventory.DBToon = dbToon; item.DBInventory.LocationX = item.InventoryLocation.X; item.DBInventory.LocationY = item.InventoryLocation.Y; item.DBInventory.EquipmentSlot = (int)slotId; item.DBInventory.ItemId = item.GBHandle.GBID; DBSessions.AccountSession.SaveOrUpdate(item.DBInventory); }
public void Unequip(EquipmentSlotId slotId) { m_EquipmentSlots[slotId] = null; m_EquipmentUI.UpdateLabels(); m_PlayerStats.UpdateStats(); }
private void SaveGoldToDB(ulong toon_id, string inventory_type, EquipmentSlotId slotId, int amount) { var itemQuery = string.Format("INSERT INTO inventory (toon_id, inventory_type, equipment_slot, item_id) VALUES ({0}, '{1}', {2}, {3})", toon_id, inventory_type, (int)slotId, amount); var itemCmd = new SQLiteCommand(itemQuery, DBManager.Connection); var itemReader = itemCmd.ExecuteNonQuery(); }
internal Item GetEquipment(EquipmentSlotId targetEquipSlot) { return GetEquipment((int)targetEquipSlot); }
private void SaveItemToDB(DBGameAccount dbGameAccount, DBToon dbToon, EquipmentSlotId slotId, Item item) { if (item == null) return; if (item.DBInventory == null) item.DBInventory = new DBInventory(); item.DBInventory.DBGameAccount = dbGameAccount; item.DBInventory.DBToon = dbToon; item.DBInventory.LocationX = item.InventoryLocation.X; item.DBInventory.LocationY = item.InventoryLocation.Y; item.DBInventory.EquipmentSlot = (int)slotId; ItemGenerator.SaveToDB(item); item.DBInventory.DBItemInstance = item.DBItemInstance; DBSessions.AccountSession.SaveOrUpdate(item.DBInventory); }
private void SaveItemToDB(ulong toon_id, string inventory_type, EquipmentSlotId slotId, Item item) { if (item == null) return; var itemQuery = string.Format("INSERT INTO inventory (toon_id, inventory_type, inventory_loc_x, inventory_loc_y, equipment_slot, item_id) VALUES ({0}, '{1}', {2}, {3}, {4}, {5})", toon_id, inventory_type, item.InventoryLocation.X, item.InventoryLocation.Y, (int)slotId, item.GBHandle.GBID); var itemCmd = new SQLiteCommand(itemQuery, DBManager.Connection); var itemReader = itemCmd.ExecuteNonQuery(); }
public bool IsSlotEmpty(EquipmentSlotId slot) { return(this.itemsEquipedBySlot[slot] == null); }
internal Item GetEquipment(EquipmentSlotId targetEquipSlot) { return(GetEquipment((int)targetEquipSlot)); }
private void SaveValueToDB(ulong account_id, long toon_id, EquipmentSlotId slotId, int value) { var itemQuery = string.Format("INSERT INTO inventory (account_id, toon_id, inventory_loc_x, inventory_loc_y, equipment_slot, item_id) VALUES ({0}, {1}, {2}, {3}, {4}, {5})", account_id, toon_id, -1, -1, (int)slotId, value); var itemCmd = new SQLiteCommand(itemQuery, DBManager.Connection); var itemReader = itemCmd.ExecuteNonQuery(); }
private D3.Hero.VisualItem GetEquipmentItemForToon(EquipmentSlotId equipSlot) { if (_equipment[(int)equipSlot] == 0) { return D3.Hero.VisualItem.CreateBuilder() .SetGbid(-1) .SetDyeType(0) .SetEffectLevel(0) .SetItemEffectType(-1) .Build(); } return Items[(_equipment[(int)equipSlot])].GetVisualItem(); }
/// <summary> /// Handles a request to move an item within the inventory. /// This covers moving items within the backpack, from equipment /// slot to backpack and from backpack to equipment slot /// </summary> public void OnInventoryRequestMoveMessage(InventoryRequestMoveMessage request) { InventoryWindowsID sourceWindow = InventoryWindowsID.PlayerInventory; InventoryItem inv_item; if (!this.Contains(request.ItemID)) { if (this._equipment.ItemsEquiped.ContainsKey(request.ItemID)) { inv_item = (InventoryItem)this._equipment.ItemsEquiped[request.ItemID]; } else { if (this.Vault.Contains(request.ItemID)) { sourceWindow = InventoryWindowsID.Vault; inv_item = (InventoryItem)this.Vault.Items[request.ItemID]; } else { Logging.LogManager.DefaultLogger.Error("Trying to move an item that is not in inventory or equipment!"); return; } } } else { inv_item = (InventoryItem)this.Items[request.ItemID]; } EquipmentSlotId sourceEquip = inv_item.EquipmentSlot; EquipmentSlotId destEquip = (EquipmentSlotId)request.EquipmentSlot; if (sourceWindow == InventoryWindowsID.PlayerInventory) { if ((sourceEquip == EquipmentSlotId.Inventory) && (destEquip == EquipmentSlotId.Inventory)) { //inventory to inventory if (!this.Contains(inv_item.DynamicID)) { Logging.LogManager.DefaultLogger.Error("Trying to move an item that is not in inventory"); return; } if (!this.canPutitemThere_checking_self_item(inv_item, request.Row, request.Column)) { Logging.LogManager.DefaultLogger.Error("Trying to put an item on a ocupped place (saltea el cliente check?)"); return; } if (!this.removeItem(inv_item)) { Logging.LogManager.DefaultLogger.Error("could not remove item!, inventory to inventory operation"); return; } InventorySlot _slot = new InventorySlot(request.Row, request.Column); if (!this.addItemAtPosition(inv_item, _slot)) { Logging.LogManager.DefaultLogger.Error("could not add item at position, from"); return; } this.sendAcceptMoveRequest(inv_item, sourceWindow, InventoryWindowsID.PlayerInventory); //this.sendVisualInventory(this._owner); } if ((sourceEquip == EquipmentSlotId.Inventory) && (destEquip != EquipmentSlotId.Inventory)) { //inventory to equipment! if (!this.Contains(inv_item.DynamicID)) { Logging.LogManager.DefaultLogger.Error("Trying to move an item from inventory to equipment but it is not in the inventory!"); return; } if (!this._equipment.IsSlotEmpty(destEquip)) { Logging.LogManager.DefaultLogger.Error("Trying to move an item from inventory to equipment but equipment is occupied!"); return; } if (!this.removeItem(inv_item)) { Logging.LogManager.DefaultLogger.Error("could not remove item!, inventory to equipment operation"); return; } this._equipment.EquipItem(inv_item, destEquip); this.sendAcceptMoveRequest(inv_item, sourceWindow, InventoryWindowsID.PlayerInventory); this.broadcastVisualEquipment(); } if ((sourceEquip != EquipmentSlotId.Inventory) && (destEquip == EquipmentSlotId.Inventory)) { //equipment to inventory! if (!this._equipment.IsItemEquipped(inv_item)) { Logging.LogManager.DefaultLogger.Error("Trying to unequip an item (equipment to inventory) that is not in equipment"); } if (!this.canPutitemThere_checking_self_item(inv_item, request.Row, request.Column)) { Logging.LogManager.DefaultLogger.Error("Trying to put an item on a ocupped place (saltea el cliente check?)"); return; } this._equipment.UnequipItem(inv_item); InventorySlot _slot = new InventorySlot(request.Row, request.Column); if (!this.addItemAtPosition(inv_item, _slot)) { Logging.LogManager.DefaultLogger.Error("could not add item at position, from"); return; } this.sendAcceptMoveRequest(inv_item, sourceWindow, InventoryWindowsID.PlayerInventory); this.broadcastVisualEquipment(); } if ((sourceEquip != EquipmentSlotId.Inventory) && (destEquip != EquipmentSlotId.Inventory)) { //equipment to equipment! } } if (sourceWindow == InventoryWindowsID.Vault) { //Vault to inventory if (!this.Vault.Contains(inv_item.DynamicID)) { Logging.LogManager.DefaultLogger.Error("Trying to move an item that is not in Vault!"); return; } if (!this.canPutitemThere_checking_self_item(inv_item, request.Row, request.Column)) { Logging.LogManager.DefaultLogger.Error("Trying to put an item on a ocupped place (saltea el cliente check?)"); return; } if (!this.Vault.removeItem(inv_item)) { Logging.LogManager.DefaultLogger.Error("could not remove item!, vault to inventory operation"); return; } InventorySlot _slot = new InventorySlot(request.Row, request.Column); if (!this.addItemAtPosition(inv_item, _slot)) { Logging.LogManager.DefaultLogger.Error("could not add item at position, from"); return; } this.sendAcceptMoveRequest(inv_item, sourceWindow, InventoryWindowsID.PlayerInventory); } }
private void SaveItemToDB(DBGameAccount dbGameAccount, DBToon dbToon, bool hardcore, EquipmentSlotId slotId, Item item) { if (item == null) { return; } if (item.DBInventory == null) { item.DBInventory = new DBInventory(); } item.DBInventory.DBGameAccount = dbGameAccount; item.DBInventory.DBToon = dbToon; item.DBInventory.Hardcore = hardcore; item.DBInventory.LocationX = item.InventoryLocation.X; item.DBInventory.LocationY = item.InventoryLocation.Y; item.DBInventory.EquipmentSlot = (int)slotId; ItemGenerator.SaveToDB(item); item.DBInventory.DBItemInstance = item.DBItemInstance; DBSessions.AccountSession.SaveOrUpdate(item.DBInventory); }
/// <summary> /// Returns the item in the slotId or null /// </summary> public Equipment GetEquipmentInSlot(EquipmentSlotId slotId) { return(m_EquipmentSlots[slotId]); }