How to make NPC give a suffix item to a player with desired suffix

Hi im new to C++ and im trying to make a script that makes an NPC give a player a suffix item for example… when the player selects an item they want in the menu it will go to the next menu where they will be able to choose from the items suffixes eg “of the boar” or “of the eagle”. I know how to make an NPC simply give an item to the character with player->AddItem(1234, 1) and i know that an items suffixes are held in item_enchantment_template but how do i make it give them the item with the suffix that they want?? Thanks i hope i made sense with my question.

You can’t.

Use Player::StoreNewItem, see how the function is used in Player::AddItem

i have found

bool Player::AddItem(uint32 itemId, uint32 count)
uint32 noSpaceForCount = 0;
ItemPosCountVec dest;
InventoryResult msg = CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, count, &noSpaceForCount);
if (msg != EQUIP_ERR_OK)
count -= noSpaceForCount;

if (count == 0 || dest.empty())
        /// @todo Send to mailbox if no space
        ChatHandler(GetSession()).PSendSysMessage("You don't have any space in your bags.");
        return false;

Item* item = StoreNewItem(dest, itemId, true, Item::GenerateItemRandomPropertyId(itemId));
    if (item)
        SendNewItem(item, count, true, false);
        return false;
    return true;

but i have no idea how i would make a gossip script using this???

You need to create a new function similar to AddItem that instead of calling Item::GenerateItemRandomPropertyId(itemId) it uses the propertyId that you want.