summary refs log tree commit diff
path: root/whispers-qol/superload/mod/class
diff options
context:
space:
mode:
authorRabbit Whispers <us@starfall.systems>2025-06-20 22:00:16 -0500
committerRabbit Whispers <us@starfall.systems>2025-06-20 23:29:33 -0500
commit893937108bdd308f6ad35b415fbc1dcb1df03e91 (patch)
tree08f134d4ba5ddff3eddbcec1d1eac1588b258ecd /whispers-qol/superload/mod/class
parent4a4709db06185acceaa9aa22ae449d193115a1f8 (diff)
whispers-qol: patch auto-transmo-gems to ignore stun resist and damage pen gems HEAD main
Diffstat (limited to 'whispers-qol/superload/mod/class')
-rw-r--r--whispers-qol/superload/mod/class/Player.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/whispers-qol/superload/mod/class/Player.lua b/whispers-qol/superload/mod/class/Player.lua
new file mode 100644
index 0000000..3a6068e
--- /dev/null
+++ b/whispers-qol/superload/mod/class/Player.lua
@@ -0,0 +1,18 @@
+local _M = loadPrevious(...)
+
+-- detect Auto-Transmo Gems, hopefully durably
+if type(config.settings.tome.auto_transmo_gems) ~= 'nil' then
+	local super_pickupFloor = _M.pickupFloor
+	function _M:pickupFloor(i, vocal, no_sort)
+		local ret = { super_pickupFloor(self, i, vocal, no_sort) }
+
+		local o = ret[1]
+		if not (o and type(o) == 'table' and o.type == 'gem' and o.imbue_powers and o.__transmo == true) then
+			return unpack(ret)
+		if o.imbue_powers.stun_immune or o.imbue_powers.resists_pen then
+			o.__transmo = false
+		end
+
+		return unpack(ret)
+	end
+end