Soul shards are not being deleted automatically
zackeryps opened this issue · 6 comments
I tried both settings for this both independently and in tandem and no combination seemed to work.
edit: https://wowpedia.fandom.com/wiki/API_DeleteCursorItem
Patch 9.0.2 / API changes (2020-11-17): Requires a hardware event. A single hw event is sufficient for destroying multiple items.
round-about macro to get almost the same functionality:
#showtooltip
/cast Drain Soul(Rank 1)
/run PickupContainerItem(4,24) DeleteCursorItem()
Change the 4 to whatever slot your soul bag is.
Change the 24 to whatever size your soul bag is.
In my case, my soul bag is in the furthest slot from the main backpack (4) and I am using the 24 slot 'Felcloth Bag'.
This got me thinking that it may be possible to check and delete shards on cast of drain soul.
Some pseudocode of my thinking:
If spellcast == drainsoul AND (soulbag == full OR shards_in_bags >= shard_limit) then
delete extra shards + 1 --make room for an incoming soulshard
This would mimic the behavior of the macro.
Thanks for the add-on!
@CKNOEP Would it be a good idea to add a necrosis command that triggers the same event/action that happens when you ctrl+click? Something like /necrosis ss
.
Then we can add this to a macro, but still keep the nice logic of necrosis that forces them into a specific bag and limits them to X amount of shards.
I've managed to do that, by going:
function Necrosis.SlashHandler(arg1)
if arg1:lower():find("recall") then
Necrosis:Recall()
elseif arg1:lower():find("ss") then
Necrosis:BagExplore()
elseif arg1:lower():find("reset") and not InCombatLockdown() then
NecrosisConfig = {}
ReloadUI()
elseif arg1:lower():find("glasofruix") then
NecrosisConfig.Smooth = not NecrosisConfig.Smooth
Necrosis:Msg("SpellTimer smoothing : <lightBlue>Toggled", "USER")
else
Necrosis:OpenConfigPanel()
end
end
Then I can just add /necrosis ss
to my macro.
Sorry, with new version of extensions that would be:
diff --git a/Initialize.lua b/Initialize.lua
index 45ce971..2dc59ee 100644
--- a/Initialize.lua
+++ b/Initialize.lua
@@ -258,7 +258,8 @@ end
function Necrosis.SlashHandler(arg1)
if arg1:lower():find("recall") then
Necrosis:Recall()
-
+ elseif arg1:lower():find("ss") then
+ Necrosis:DeleteShards()
elseif arg1:lower():find("reset") and not InCombatLockdown() then
NecrosisConfig = {}
ReloadUI()
And then it would probably also need to be documented in all the localization files.
Would you accept such a PR @CKNOEP , or should I just patch it locally? :)