diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 2b55454e0941977e42fba6fa6a56600e21955bec..6af3fc11cef21ae1302b0b29dd0bed560f0f2367 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -706,23 +706,6 @@ function _M:act() end end - -- Conduit talent prevents all auras from cooling down - if self:isTalentActive(self.T_CONDUIT) then - local auras = self:isTalentActive(self.T_CONDUIT) - if auras.k_aura_on then - local t_kinetic_aura = self:getTalentFromId(self.T_KINETIC_AURA) - self:startTalentCooldown(self.T_KINETIC_AURA, t_kinetic_aura.cooldown(self, t)) - end - if auras.t_aura_on then - local t_thermal_aura = self:getTalentFromId(self.T_THERMAL_AURA) - self:startTalentCooldown(self.T_THERMAL_AURA, t_thermal_aura.cooldown(self, t)) - end - if auras.c_aura_on then - local t_charged_aura = self:getTalentFromId(self.T_CHARGED_AURA) - self:startTalentCooldown(self.T_CHARGED_AURA, t_charged_aura.cooldown(self, t)) - end - end - if self:attr("paralyzed") then self.paralyzed_counter = (self.paralyzed_counter or 0) + (self:attr("stun_immune") or 0) * 100 if self.paralyzed_counter < 100 then diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index 6c1795b58091c9bebb1b352839eacc8706c5788b..5bebc15e0570f326e93d330feae3cd27f50572b7 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -943,9 +943,10 @@ function _M:restCheck() if self.resting.wait_cooldowns then for tid, cd in pairs(self.talents_cd) do - if self:isTalentActive(self.T_CONDUIT) and (tid == self.T_KINETIC_AURA or tid == self.T_CHARGED_AURA or tid == self.T_THERMAL_AURA) then +-- if self:isTalentActive(self.T_CONDUIT) and (tid == self.T_KINETIC_AURA or tid == self.T_CHARGED_AURA or tid == self.T_THERMAL_AURA) then -- nothing - elseif self.talents_auto[tid] then +-- else + if self.talents_auto[tid] then -- nothing else if cd > 0 then return true end diff --git a/game/modules/tome/class/interface/Archery.lua b/game/modules/tome/class/interface/Archery.lua index ffde75dff37d7678769022b812fb629e4f60bdbf..112ea1839f83305ce94e311d88db9a244e837798 100644 --- a/game/modules/tome/class/interface/Archery.lua +++ b/game/modules/tome/class/interface/Archery.lua @@ -451,30 +451,6 @@ local function archery_projectile(tx, ty, tg, self, tmp) end end - -- Conduit (Psi) - if hitted and not target.dead and self:knowTalent(self.T_CONDUIT) and self:isTalentActive(self.T_CONDUIT) and self:attr("use_psi_combat") then - local t = self:getTalentFromId(self.T_CONDUIT) - --t.do_combat(self, t, target) - local mult = 1 + 0.2*(self:getTalentLevel(t)) - local auras = self:isTalentActive(t.id) - if auras.k_aura_on then - local k_aura = self:getTalentFromId(self.T_KINETIC_AURA) - local k_dam = mult * k_aura.getAuraStrength(self, k_aura) - DamageType:get(DamageType.PHYSICAL).projector(self, target.x, target.y, DamageType.PHYSICAL, k_dam, tmp) - end - if auras.t_aura_on then - local t_aura = self:getTalentFromId(self.T_THERMAL_AURA) - local t_dam = mult * t_aura.getAuraStrength(self, t_aura) - DamageType:get(DamageType.FIRE).projector(self, target.x, target.y, DamageType.FIRE, t_dam, tmp) - end - if auras.c_aura_on then - local c_aura = self:getTalentFromId(self.T_CHARGED_AURA) - local c_dam = mult * c_aura.getAuraStrength(self, c_aura) - DamageType:get(DamageType.LIGHTNING).projector(self, target.x, target.y, DamageType.LIGHTNING, c_dam, tmp) - end - end - - -- Regen on being hit if hitted and not target.dead and target:attr("stamina_regen_when_hit") then target:incStamina(target.stamina_regen_when_hit) end if hitted and not target.dead and target:attr("mana_regen_when_hit") then target:incMana(target.mana_regen_when_hit) end diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index c75c50df15c72c83b35248f1200dfb4a04a09e38..16e4d944204cdb3d68db4c3af2a8c1e6d2da3ba2 100644 --- a/game/modules/tome/class/interface/Combat.lua +++ b/game/modules/tome/class/interface/Combat.lua @@ -122,10 +122,13 @@ function _M:attackTarget(target, damtype, mult, noenergy, force_unharmed) end if not target.turn_procs.warding_weapon and target:knowTalent(target.T_WARDING_WEAPON) and target:getTalentLevelRaw(target.T_WARDING_WEAPON) >= 5 - and rng.percent(target:callTalent(target.T_WARDING_WEAPON, "getChance")) and target:getPsi() >= 15 then - target:setEffect(target.EFF_WEAPON_WARDING, 1, {}) - target.turn_procs.warding_weapon = true - target:incPsi(-15) + and rng.percent(target:callTalent(target.T_WARDING_WEAPON, "getChance")) then + local t = self:getTalentFromId(self.T_WARDING_WEAPON) + if target:getPsi() >= t.psi then + target:setEffect(target.EFF_WEAPON_WARDING, 1, {}) + target.turn_procs.warding_weapon = true + target:incPsi(-t.psi) + end end -- Change attack type if using gems diff --git a/game/modules/tome/data/talents/psionic/kinetic-mastery.lua b/game/modules/tome/data/talents/psionic/kinetic-mastery.lua index 3a3ca0b7a6e3f9155a889f127a546a0193d962df..11d1c5efdd4ab3372b0babfe8c492538aee562b6 100644 --- a/game/modules/tome/data/talents/psionic/kinetic-mastery.lua +++ b/game/modules/tome/data/talents/psionic/kinetic-mastery.lua @@ -174,7 +174,7 @@ newTalent{ local chance, spread = t.getEvasion(self, t) return { chance = self:addTemporaryValue("projectile_evasion", chance), - slow = self:addTemporaryValue("slow_projectiles", slow), + slow = self:addTemporaryValue("slow_projectiles", chance), spread = self:addTemporaryValue("projectile_evasion_spread", spread), } end, diff --git a/game/modules/tome/data/talents/psionic/thermal-mastery.lua b/game/modules/tome/data/talents/psionic/thermal-mastery.lua index 4ee9d6d1100a95e0a843a2fd724809e8b04cd4d4..a46cd447bb681773d2b6d5c9fc17b9d83fd013e4 100644 --- a/game/modules/tome/data/talents/psionic/thermal-mastery.lua +++ b/game/modules/tome/data/talents/psionic/thermal-mastery.lua @@ -168,7 +168,7 @@ newTalent{ local dam=self:mindCrit(t.getDamage(self, t)) local dam1 = dam * (self:getMaxPsi() - self:getPsi()) / self:getMaxPsi() - local dam2 = dam * self:getPsi() / self:getMaxPsi() + local dam2 = dam * self:getPsi() / self:getMaxPsi() * 2 self:project(tg, x, y, DamageType.COLD, dam1) self:project(tg, x, y, DamageType.FIRE, dam2)