Skip to content
Snippets Groups Projects

Fix d'old bug d'adept

Merged LU "helminthauge" requested to merge helminthauge/t-engine4:Fix_d'Old_Bug_d'Adept into master
11 files
+ 37
33
Compare changes
  • Side-by-side
  • Inline
Files
11
@@ -834,7 +834,7 @@ function _M:useBuildOrder()
self:learnTalentType(tt)
else
self.__increased_talent_types[tt] = (self.__increased_talent_types[tt] or 0) + 1
self:setTalentTypeMastery(tt, self:getTalentTypeMastery(tt) + 0.2)
self:setTalentTypeMastery(tt, self:getTalentTypeMastery(tt, true) + 0.2)
end
game.log("#VIOLET#Following build order %s; learning talent category %s.", b.name, tt)
@@ -3111,6 +3111,10 @@ function _M:isMySummoner(act)
return false
end
function _M:playerControlled()
return false
end
function _M:emptyDrops()
local inven = self:getInven(self.INVEN_INVEN)
for i = #inven, 1, -1 do
@@ -3584,19 +3588,19 @@ function _M:levelupClass(c_data)
ttypes = {}
for tt, d in pairs(mclass.talents_types or {}) do
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt) or 1) + d[2])
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt, true) or 1) + d[2])
ttypes[tt] = table.clone(d)
end
for tt, d in pairs(mclass.unlockable_talents_types or {}) do
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt) or 1) + d[2])
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt, true) or 1) + d[2])
ttypes[tt] = table.clone(d)
end
for tt, d in pairs(c_def.talents_types or {}) do
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt) or 1) + d[2])
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt, true) or 1) + d[2])
ttypes[tt] = table.clone(d)
end
for tt, d in pairs(c_def.unlockable_talents_types or {}) do
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt) or 1) + d[2])
self:learnTalentType(tt, d[1]) self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt, true) or 1) + d[2])
ttypes[tt] = table.clone(d)
end
@@ -3609,14 +3613,14 @@ function _M:levelupClass(c_data)
else d=table.clone(d)
end
self:learnTalentType(tt, d[1])
self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt) or 1) + d[2])
self:setTalentTypeMastery(tt, (self:getTalentTypeMastery(tt, true) or 1) + d[2])
ttypes[tt] = table.mergeAdd(ttypes[tt] or {}, d)
end
end
end
if not next(ttypes) then -- if not specified, use all known talent types
for tt, known in pairs(self.talents_types) do
ttypes[tt] = {known, (self:getTalentTypeMastery(tt) or 1) - 1}
ttypes[tt] = {known, (self:getTalentTypeMastery(tt, true) or 1) - 1}
end
end
@@ -3632,7 +3636,7 @@ function _M:levelupClass(c_data)
d.tt = tt
tt_count = tt_count + 1
d.tt_count = tt_count
d.rarity = d.rarity or (1.3 + 0.5*tt_count)/math.max(0.1, self:getTalentTypeMastery(tt)*rng.float(0.1, tt_focus))^2
d.rarity = d.rarity or (1.3 + 0.5*tt_count)/math.max(0.1, self:getTalentTypeMastery(tt, true)*rng.float(0.1, tt_focus))^2
--print(("\t *** %-40s rarity %5.3f"):format(tt, d.rarity))
if not d[1] then table.insert(unknown_tt, d) end
end
@@ -3702,7 +3706,7 @@ function _M:levelupClass(c_data)
if tt then
if self:knowTalentType(tt.tt) then
print("\t *** auto_levelup IMPROVING TALENT TYPE", tt.tt)
local ml = self:getTalentTypeMastery(tt.tt) or 1
local ml = self:getTalentTypeMastery(tt.tt, true) or 1
self:setTalentTypeMastery(tt.tt, ml + (ml <= 1 and 0.2 or 0.1)) -- 0.2 for 1st then 0.1 thereafter
elseif c_data.learned_talent_types < c_data.max_talent_types then
print("\t *** auto_levelup LEARNING TALENT TYPE", tt.tt)
@@ -3710,7 +3714,7 @@ function _M:levelupClass(c_data)
tt.rarity = tt.rarity/2 -- makes talents within an unlocked talent tree more likely to be learned
c_data.learned_talent_types = c_data.learned_talent_types + 1
end
--print("\t *** talent type mastery:", tt, self:getTalentTypeMastery(tt))
--print("\t *** talent type mastery:", tt, self:getTalentTypeMastery(tt, true))
self.unused_talents_types = self.unused_talents_types - 1
else fails = fails + 1
end
@@ -7219,10 +7223,10 @@ function _M:dispel(effid_or_tid, src, allow_immunity, params)
if not self:canBe("dispel_effects") then allowed = false end
end
if allowed and allow_immunity then
if self:fireTalentCheck("callbackOnDispel", "effect", effid_or_tid, src, allow_immunity) then allowed = false end
if self:fireTalentCheck("callbackOnDispel", "effect", effid_or_tid, src, allow_immunity, eff.desc) then allowed = false end
end
if allowed then
self:fireTalentCheck("callbackOnDispelled", "effect", effid_or_tid, src, allow_immunity)
self:fireTalentCheck("callbackOnDispelled", "effect", effid_or_tid, src, allow_immunity, eff.desc)
self:removeEffect(effid_or_tid, params.silent, params.force)
return true
else
@@ -7239,10 +7243,10 @@ function _M:dispel(effid_or_tid, src, allow_immunity, params)
if not self:canBe("dispel_sustains") then allowed = false end
end
if allowed and allow_immunity then
if self:fireTalentCheck("callbackOnDispel", "sustain", effid_or_tid, src, allow_immunity) then allowed = false end
if self:fireTalentCheck("callbackOnDispel", "sustain", effid_or_tid, src, allow_immunity, t.name) then allowed = false end
end
if allowed then
self:fireTalentCheck("callbackOnDispelled", "sustain", effid_or_tid, src, allow_immunity)
self:fireTalentCheck("callbackOnDispelled", "sustain", effid_or_tid, src, allow_immunity, t.name)
self:forceUseTalent(effid_or_tid, params)
return true
else
Loading