public void Read(WorldPacket data) { data.ResetBitPos(); LootItemType = (LootItemType)data.ReadBits <byte>(2); Item = new ItemInstance(); Item.Read(data); Quantity = data.ReadUInt32(); }
private static ILootContentContent CreateContent(LootItemType type) { switch (type) { case LootItemType.None: return(new LootContentEmptyContent()); case LootItemType.SomeMoney: return(new LootContent_SomeMoney()); case LootItemType.Fuel: return(new LootContent_Fuel()); case LootItemType.Money: return(new LootContent_Money()); case LootItemType.Stars: return(new LootContent_Stars()); case LootItemType.StarMap: return(new LootContentEmptyContent()); case LootItemType.RandomComponents: return(new LootContent_RandomComponents()); case LootItemType.RandomItems: return(new LootContent_RandomItems()); case LootItemType.AllItems: return(new LootContent_AllItems()); case LootItemType.ItemsWithChance: return(new LootContent_ItemsWithChance()); case LootItemType.QuestItem: return(new LootContent_QuestItem()); case LootItemType.Ship: return(new LootContent_Ship()); case LootItemType.EmptyShip: return(new LootContent_EmptyShip()); case LootItemType.Component: return(new LootContent_Component()); default: throw new DatabaseException("LootContent: Invalid content type - " + type); } }
public static ILootContent CreateLoot(LootItemType type) { switch (type) { case LootItemType.None: case LootItemType.StarMap: return(new EmptyLootContent()); case LootItemType.SomeMoney: return(new ResourceByLevelLootContent()); case LootItemType.Money: case LootItemType.Fuel: case LootItemType.Stars: return(new ResourceLootContent()); case LootItemType.RandomComponents: return(new RandomComponentsLootContent()); case LootItemType.ItemsWithChance: return(new ItemsWithChanceLootContent()); case LootItemType.RandomItems: return(new RandomItemsLootContent()); case LootItemType.AllItems: return(new ItemGroupLootContent()); case LootItemType.QuestItem: return(new QuestItemLootContent()); case LootItemType.Ship: return(new ShipBuildLootContent()); case LootItemType.EmptyShip: return(new ShipLootContent()); case LootItemType.Component: return(new ComponentLootContent()); default: throw new System.ArgumentException("Unknown loot item type - " + type); } }
/// <summary> /// Called when a player completes a quest and is rewarded, opt is the selected item's index or 0 /// </summary> public virtual void QuestReward(Player player, Quest quest, LootItemType type, uint opt) { }