-
Followers
Dathil (Assigned To) , Pilus
AttachmentsNo attachmentsAssociationsNo associationsActivityA more simple solution:
In the "Bag" action menu, the user can check "Tradeable Bag". This results in the following:- The item is locked into having a Stacksize of 1.
- In the create / edit item menu the stacksize slider is clocked
- If there is already items of these existing: Whenever they are splitted into smaller stacks, they can not merge again, as the stacks will try to get a stack size of 1.
- On first use, the "bag" action will result in the evt. old bag becomes tied to one item instance. The old bagGuid is given as an attribute to this item instance.
- On use with other items instances, they get a new bagGuid to their item instance, if they do not have already
- When an item instance is split, the split off instance is given the original bag guid and the remaining gets a new guid. This ensures that the bag will be traded, in the case of a user editing a stack of bags to be tradeable, right before giving them away.
A solution for bags and advanced items:- The action identify the container using an attribute of the type 'GUID'
- When choosing a bag for the dynamic action to interact with the play can then select an attribute of the type 'GUID'.
- The instances with this attribute should have a max size of 1
This might requires some changes to how selecting of attributes is done. E.g. so you can only select those attribute types that fits the input in type.Maybe the same can be used on simple / standard items.
Currently it is done by using attributes a bit in the same way. Only change this requires is for attributes to be part of the item data for simple items.
In this way all the bag action just needs to add the "bagX" attribute of type 'GUID' to the item.Time ExpenditureLoading
Pilus: I have realised that trading of bags are a bit of a design nightmare, because we now allow any item to open any bag. I mean any instance of the item.So if you have two items in a stack, give it a bag action and then split the item into two, they still open the same bag. The problem is then if you trade one of them away, what happens with the bag content?
Aurora: i know it did that before and we had to empty the bag..perhaps if we somehow checked if the bag was full then flagged it in som fashion?
Pilus: You mean so we wont allow to trade any bags with content?
Aurora: well that or we flag the bag to say 'hey i have content in me now i need to make myself some kind of indepentent enity/instance of the other empty bag like me' or provide a copy all items in bag on trade option.
Pilus: hmm, yeah. We could do that by putting some kind of limit to how many items there are allowed in each item instance, but that can also easily confuse the user if the got a whole stack of items that are a bag.
Aurora: yeah and if we could somehow make an affix to its ID when it has content in it so its like you have two diffrent bags like empty. Like a bag instanceID that could be changed on the code in depending on if the bag has items or not. so in a way you can check for it and treat them like psudeo seprate instances of themselves
Pilus: An alternative solution is to always trade the related bag. That might be needed to be shown as a text in the trade frame to notify the trading user about it
Aurora: that other solution works too.