openkore icon indicating copy to clipboard operation
openkore copied to clipboard

Merge pickupitems.txt with items_control.txt

Open Cozzie opened this issue 9 years ago • 3 comments

Since items_control can manage pickupitems.txt functions with an extra flag I don't see why it can't be combined into a single file. Results in cleaner control folder and less code.

Cozzie avatar Sep 14 '16 11:09 Cozzie

I actually think our item management is horrible, I wrote a complete change on the inventory code a few months ago but it never got merged (#119)

We have no "storage to cart" function and we use 2 data files and some config.txt lines (getAuto, sellAuto, buyAuto) to manage items. We should have only one more complete data file with options like: invToStorage invToCart storageToCart cartToStorage sellAuto butAuto getAuto pickUp And many others I can't remember now.

Henrybk avatar Oct 03 '16 13:10 Henrybk

I talked about your idea that I came up with separately (did not know you already implemented it) with allanon a couple of weeks ago, he says this is best to be done as a separate item_controls file with a plugin for backwards compatibility if the users choose to use the old settings.

My perspective is that such backwards compatibility is a minor issue and that this improvement outweighs the gains. A migration script can also be written to assist users. That said I think we can implement this as core using a new control file and not disabling old way of configuration but just deprecate it.

Are you able to code it as a plugin first so for those who wants to be use it can use it now and merging to core files can be worked on?

I also think cart should be last as only a merc class uses them. I think it should be:

sellAuto block

(item name) (pickup) (inventory amount) (auto store amount - if more than 0 activate auto store) (auto store npc) (auto sell amount - if more than 0 activate auto-sell block) (auto buy block) [put in cart] [get from cart]

We can even add a check if BuyAuto and SellAuto is active in the same line to prevent selling loop by confirming with the users.

Cozzie avatar Oct 03 '16 18:10 Cozzie

@Cozzie I think backwards compatibility is very important, there are many users who have been using kore for years and suddenly invalidating their configurations is never a good idea.

I like the idea of deprecation for now.

itsrachelfish avatar Oct 21 '16 09:10 itsrachelfish