Open clort81 opened 4 years ago
This shop is a healing shop which means the "items" for sale are actually events that heal the party or cure status effects. Since your party is at full health, it's correct for it to be empty, but it's definitely a bug that clicking the empty space does something...
I'll try to find the bug causing empty slots to be 'buyable' but:
This is an instance of a general class of UI mistake called "Giving the user a menu of no-choice". It would be more useful - particularly for n00b players - to receive "No-one is in need of healing" in response to an attempt to open the healing shop when all members are at full health.
After selecting item 'a'
Thread 1 "Blades of Exile" hit Breakpoint 1, handle_shop_event (p=...) at build/obj/game/boe.dlgutil.cpp:223
223 for(short i = 0; i < 8; i++) {
(gdb) p what_picked
No symbol "what_picked" in current context.
(gdb) step
224 unsigned long what_picked = shop_array[i + shop_sbar->getPosition()];
(gdb) p what_picked
$3 = 4796052129274396672
(gdb) p active_shop.getItem(what_picked).type
$6 = eShopItemType::EMPTY
(gdb) p active_shop.size()
$7 = 9
(gdb) p shop_sbar->getPosition()
$8 = 0
(gdb) p i
$9 = 0
(gdb)
p shop_array[i + shop_sbar->getPosition()]
Cannot access memory at address 0x0
Savefile for sweetgrove healer: Sweetgrove3k.zip
Seems like this might be caused in part by what_picked
being unsigned…
It would be more useful - particularly for n00b players - to receive "No-one is in need of healing" in response to an attempt to open the healing shop when all members are at full health.
Does this happen in the original game? Healing used to be handled as a separate case from item shops, so I could imagine him coding in an exception when there's no-one to heal…
There are invisible items which can be bought and cost gold, but do not appear in any character's inventory.