public AddData AddItem(AddItem ItemAddData) { Object TPlayerItemData; AddData Result; Result = new AddData() { Status = false }; if (UID == 0) { return(Result); } switch ((TITEMGROUP)GetPartGroup(ItemAddData.ItemIffId)) { case TITEMGROUP.ITEM_TYPE_CHARACTER: { TPlayerItemData = ItemCharacter.GetChar(ItemAddData.ItemIffId, CharType.bTypeID); if (TPlayerItemData == null) { return(AddItemToDB(ItemAddData)); } else if (!(TPlayerItemData != null)) { Result.Status = true; Result.ItemIndex = ((PlayerCharacterData)(TPlayerItemData)).Index; Result.ItemTypeID = ((PlayerCharacterData)(TPlayerItemData)).TypeID; Result.ItemOldQty = 1; Result.ItemNewQty = 1; Result.ItemUCCKey = string.Empty; Result.ItemFlag = 0; Result.ItemEndDate = null; if (ItemAddData.Transaction) { ItemTransaction.AddChar(2, (PlayerCharacterData)TPlayerItemData); } } } break; case TITEMGROUP.ITEM_TYPE_HAIR_STYLE: { var IffHair = IffEntry.GetByHairColor(ItemAddData.ItemIffId); var character = ItemCharacter.GetCharByType((byte)IffHair.CharType); if (character != null) { character.HairColour = IffHair.HairColor; character.Update(character); Result.Status = true; Result.ItemIndex = character.Index; Result.ItemTypeID = ItemAddData.ItemIffId; Result.ItemOldQty = 0; Result.ItemNewQty = 1; Result.ItemUCCKey = null; Result.ItemFlag = 0; Result.ItemEndDate = null; } } break; case TITEMGROUP.ITEM_TYPE_PART: { return(AddItemToDB(ItemAddData)); } case TITEMGROUP.ITEM_TYPE_CLUB: { return(AddItemToDB(ItemAddData)); } case TITEMGROUP.ITEM_TYPE_AUX: case TITEMGROUP.ITEM_TYPE_BALL: case TITEMGROUP.ITEM_TYPE_USE: { TPlayerItemData = ItemWarehouse.GetItem(ItemAddData.ItemIffId, 1); if (TPlayerItemData != null) { Result.Status = true; Result.ItemIndex = ((PlayerItemData)(TPlayerItemData)).ItemIndex; Result.ItemTypeID = ((PlayerItemData)(TPlayerItemData)).ItemTypeID; Result.ItemOldQty = ((PlayerItemData)(TPlayerItemData)).ItemC0; Result.ItemNewQty = ((PlayerItemData)(TPlayerItemData)).ItemC0 + ItemAddData.Quantity; Result.ItemUCCKey = ((PlayerItemData)(TPlayerItemData)).ItemUCCUnique; Result.ItemFlag = (byte)((PlayerItemData)(TPlayerItemData)).ItemFlag; Result.ItemEndDate = null; //Add ((PlayerItemData)(TPlayerItemData)).AddQuantity(ItemAddData.Quantity); if (ItemAddData.Transaction) { ItemTransaction.AddItem(0x02, (PlayerItemData)TPlayerItemData, ItemAddData.Quantity); } } else if (TPlayerItemData == null) { return(AddItemToDB(ItemAddData)); } } break; case TITEMGROUP.ITEM_TYPE_CADDIE: { return(AddItemToDB(ItemAddData)); } case TITEMGROUP.ITEM_TYPE_CADDIE_ITEM: { TPlayerItemData = ItemCaddie.GetCaddieBySkinId(ItemAddData.ItemIffId); if (!(TPlayerItemData == null)) { ((PlayerCaddieData)(TPlayerItemData)).Update(); ((PlayerCaddieData)(TPlayerItemData)).UpdateCaddieSkin(ItemAddData.ItemIffId, ItemAddData.Day); Result.Status = true; Result.ItemIndex = ((PlayerCaddieData)(TPlayerItemData)).CaddieIdx; Result.ItemTypeID = ((PlayerCaddieData)(TPlayerItemData)).CaddieSkin; Result.ItemOldQty = 1; Result.ItemNewQty = 1; Result.ItemUCCKey = string.Empty; Result.ItemFlag = 0; Result.ItemEndDate = DateTime.Now.AddDays(ItemAddData.Day); } } break; case TITEMGROUP.ITEM_TYPE_SKIN: { return(AddItemToDB(ItemAddData)); } case TITEMGROUP.ITEM_TYPE_MASCOT: { TPlayerItemData = ItemMascot.GetMascotByTypeId(ItemAddData.ItemIffId); if (TPlayerItemData != null) { ((PlayerMascotData)(TPlayerItemData)).AddDay(ItemAddData.Day); Result.Status = true; Result.ItemIndex = ((PlayerMascotData)(TPlayerItemData)).MascotIndex; Result.ItemTypeID = ((PlayerMascotData)(TPlayerItemData)).MascotTypeID; Result.ItemOldQty = 1; Result.ItemNewQty = 1; Result.ItemUCCKey = ""; Result.ItemFlag = 0; Result.ItemEndDate = ((PlayerMascotData)(TPlayerItemData)).MascotEndDate; } else if (TPlayerItemData == null) { return(AddItemToDB(ItemAddData)); } } break; case TITEMGROUP.ITEM_TYPE_CARD: { TPlayerItemData = ItemCard.GetCard(ItemAddData.ItemIffId, 1); if (TPlayerItemData == null) { AddItemToDB(ItemAddData); } else if (TPlayerItemData != null) { Result.Status = true; Result.ItemIndex = ((PlayerCardData)(TPlayerItemData)).CardIndex; Result.ItemTypeID = ((PlayerCardData)(TPlayerItemData)).CardTypeID; Result.ItemOldQty = ((PlayerCardData)(TPlayerItemData)).CardQuantity; Result.ItemNewQty = ((PlayerCardData)(TPlayerItemData)).CardQuantity + ItemAddData.Quantity; Result.ItemUCCKey = string.Empty; Result.ItemFlag = 0; Result.ItemEndDate = null; ((PlayerCardData)(TPlayerItemData)).AddQuantity(ItemAddData.Quantity); if (ItemAddData.Transaction) { ItemTransaction.AddCard(0x02, (PlayerCardData)TPlayerItemData, ItemAddData.Quantity); } } } break; } return(Result); }