Page 1 of 1

[1.0.5] Defiling Touch 6+ doesn't do diddly squat

Posted: Sat Nov 16, 2013 6:27 pm
by Impossiburu
Hi,

To reproduce:
1) Pick a cursed/doomed cornac
2) Activate the cursed aura tree
3) Put a category point in it
4) Level defiling touch to 5

Expected: rings should be cursed.

Result: rings are not cursed.

Re: [1.0.5] Defiling Touch 6+ doesn't do diddly squat

Posted: Wed Nov 27, 2013 7:44 pm
by Moander
I think I have found the cause, the code checks the raw talent level, 5, not the effective level, 6 if the 'level' parameter is nill, which it always is.

If you change row 56 in /data/talents/cursed/cursed-aura.lua from

Code: Select all

level = level or self:getTalentLevelRaw(t)
to

Code: Select all

level = level or getTalentLevel(t) 
it works.

Re: [1.0.5] Defiling Touch 6+ doesn't do diddly squat

Posted: Wed Nov 27, 2013 8:15 pm
by Hachem_Muche
This is a bug that slipped through during all the scaling changes. The actual fix is:

Code: Select all

 game/modules/tome/data/talents/cursed/cursed-aura.lua | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/game/modules/tome/data/talents/cursed/cursed-aura.lua b/game/modules/tome/data/talents/cursed/cursed-aura.lua
index df43d26..dda4701 100644
--- a/game/modules/tome/data/talents/cursed/cursed-aura.lua
+++ b/game/modules/tome/data/talents/cursed/cursed-aura.lua
@@ -53,7 +53,7 @@ newTalent{
 		-- mainhand (weapon), offhand (weapon/armor;shield), psionic (weapon)
 		-- finger (X2), neck (jewelry)
 		-- lite (lite), tool (tool), quiver (ammo), gem (alchemist-gem)
-		level = level or self:getTalentLevelRaw(t)
+		level = level or self:getTalentLevel(t)
 		if level >= 1 and item.type == "weapon" then return true end
 		if level >= 2 and item.type == "armor" and (item.slot == "BODY" or item.slot == "CLOAK")  then return true end
 		if level >= 3 and item.type == "armor" and (item.slot == "HEAD" or item.slot == "OFFHAND")  then return true end
@@ -232,6 +232,8 @@ newTalent{
 			end
 		end
 	end,
+	passives = function(self, t, p) -- force update on talent mastery changes
+	end,
 	on_learn = function(self, t)
 		t.curseInventory(self, t)
 		t.curseFloor(self, t, self.x, self.y)
The passives function makes sure things update correctly when talent mastery is updated.

Re: [1.0.5] Defiling Touch 6+ doesn't do diddly squat

Posted: Wed Nov 27, 2013 9:41 pm
by darkgod
fixed