diff --git a/game/engines/default/engine/init.lua b/game/engines/default/engine/init.lua index 15874258efb9384be8d3509bdfdc810514725370..9116580f5acae194f12a5532c10ea85fd9690998 100644 --- a/game/engines/default/engine/init.lua +++ b/game/engines/default/engine/init.lua @@ -87,8 +87,9 @@ if not config.settings.window or not config.settings.window.size then local r = list[1] or {w=800, h=600} print("[RESOLUTION] no configured resolution, defaulting to biggest possible: ", r.w, r.h) config.settings.window = config.settings.window or {} - local x, y = math.max(800, math.floor(r.w * 0.75)), math.max(600, math.floor(r.h*0.75)) - config.settings.window.size = x.."x"..y + --local x, y = math.max(800, math.floor(r.w * 0.75)), math.max(600, math.floor(r.h*0.75)) + local x, y = r.w, r.h + config.settings.window.size = x.."x"..y.." Fullscreen" end -- Move around diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index b7dd4f620dfab473e49b96d9efb68da6e4609998..1dd90ae968dde8201d6ca91ec75ef4d82bb29d0c 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -3562,6 +3562,10 @@ function _M:preUseTalent(ab, silent, fake) end end + if self:triggerHook{"Actor:preUseTalent", t=ab, silent=silent, fale=fake} then + return false + end + -- Confused ? lose a turn! if self:attr("confused") and (ab.mode ~= "sustained" or not self:isTalentActive(ab.id)) and ab.no_energy ~= true and not fake and not self:attr("force_talent_ignore_ressources") then if rng.percent(self:attr("confused")) then @@ -3785,7 +3789,10 @@ function _M:postUseTalent(ab, ret) end end - self:triggerHook{"Actor:postUseTalent", t=ab, ret=ret, trigger=trigger} + local hd = {"Actor:postUseTalent", t=ab, ret=ret, trigger=trigger} + if self:triggerHook(hd) then + trigger = hd.trigger + end if trigger and self:hasEffect(self.EFF_BURNING_HEX) then local p = self:hasEffect(self.EFF_BURNING_HEX) @@ -3956,6 +3963,8 @@ function _M:getTalentFullDescription(t, addlevel, config, fake_mastery) if t.sustain_paradox then d:add({"color",0x6f,0xff,0x83}, "Sustain paradox cost: ", {"color", 176, 196, 222}, ("%0.2f"):format(t.sustain_paradox), true) end if t.sustain_psi then d:add({"color",0x6f,0xff,0x83}, "Sustain psi cost: ", {"color",0x7f,0xff,0xd4}, ""..(t.sustain_psi), true) end if t.sustain_feedback then d:add({"color",0x6f,0xff,0x83}, "Sustain feedback cost: ", {"color",0xFF, 0xFF, 0x00}, ""..(t.sustain_feedback), true) end + + self:triggerHook{"Actor:getTalentFullDescription:ressources", str=d, t=t, addlevel=addlevel, config=config, fake_mastery=fake_mastery} end if t.mode ~= "passive" then if self:getTalentRange(t) > 1 then d:add({"color",0x6f,0xff,0x83}, "Range: ", {"color",0xFF,0xFF,0xFF}, ("%0.2f"):format(self:getTalentRange(t)), true) diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index 2cb2612c99a54a900b70cdf354ff1d825d726ac8..6a54a8e43c4fef7247d20c0033d023f720f1324b 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -1289,6 +1289,9 @@ function _M:onWear(o, bypass_set) end end + if o.power_source and o.power_source.antimagic and not game.party:knownLore("nature-vs-magic") and self:attr("has_arcane_knowledge") then + game.party:learnLore("nature-vs-magic") + end end --- Call when an object is added diff --git a/game/modules/tome/data/lore/misc.lua b/game/modules/tome/data/lore/misc.lua index 8eef016d6e9e462ed8cc646f43dc970bd0741589..37726346421c5a679c0ec139b26735de95de3df7 100644 --- a/game/modules/tome/data/lore/misc.lua +++ b/game/modules/tome/data/lore/misc.lua @@ -583,6 +583,16 @@ Try to be a little faster next time. Love, #{italic}#Eden#{normal}#]] } +newLore{ + id = "nature-vs-magic", + category = "magic", + name = "Nature vs Magic", + always_pop = true, + lore = [[Your arcane abilities have been interfered with! + +Eyal is a torn world, and the forces of nature can react strongly to the arcane energies that seek to manipulate them. Some items and areas are imbued with anti-magic, a natural energy that disrupts magical abilities and effects. There are even those who have learned to harness anti-magic into their own wild abilities, and who use them to hunt down and destroy those who practise magic. So beware, caster! It is a hostile world ye wander in.]], +} + -------------------------------------------------------------- -- Misc bosses -------------------------------------------------------------- diff --git a/game/modules/tome/data/talents/cursed/gestures.lua b/game/modules/tome/data/talents/cursed/gestures.lua index 63dbf17eeb34fb33c07afe492722606655fb9f53..11f959914a0fa69c160903cedce866733a3605a3 100644 --- a/game/modules/tome/data/talents/cursed/gestures.lua +++ b/game/modules/tome/data/talents/cursed/gestures.lua @@ -127,7 +127,7 @@ newTalent{ local bonusCritical = t.getBonusCritical(self, t) return ([[Use a gesture of pain in place of an normal attack to strike into the minds of your enemies, inflicting between %0.1f and %0.1f mind damage. If you strike your target, there is a %d%% chance to stun your opponent for 3 turns. This strike replaces your melee physical and checks Mindpower versus Mental Save, and is thus not affected by your Accuracy or the enemy's Defense. It also does not trigger any physical on-hit effects. However, the base damage and the critical chance of Mindstars equipped is added in when this attack is performed. - 25%% chance of cross tier effects. Requires at least one free or mindstar-equipped hand. Can cause critical hits with cross tier effects. The damage will increase with your Mindpower. Mindstars bonuses from damage and physical criticals: (+%d damage, +%d critical chance)]]):format(damDesc(self, DamageType.MIND, baseDamage * 0.5), damDesc(self, DamageType.MIND, baseDamage), stunChance, bonusDamage, bonusCritical) + 25%% chance of cross tier effects. Requires two free or mindstar-equipped hands. Can cause critical hits with cross tier effects. The damage will increase with your Mindpower. Mindstars bonuses from damage and physical criticals: (+%d damage, +%d critical chance)]]):format(damDesc(self, DamageType.MIND, baseDamage * 0.5), damDesc(self, DamageType.MIND, baseDamage), stunChance, bonusDamage, bonusCritical) end, } @@ -171,7 +171,7 @@ newTalent{ local mindpowerChange = t.getMindpowerChange(self, t, 2) local mindCritChange = t.getMindCritChange(self, t) return ([[Enhance your mental attacks with a single gesture. You gain +%d mindpower and +%d%% chance to inflict critical damage with mind-based attacks (current chance is %d%%). - Requires at least one free or mindstar-equipped hand; does not require Gesture of Pain to be sustained.]]):format(mindpowerChange, mindCritChange, self:combatMindCrit()) + Requires two free or mindstar-equipped hands; does not require Gesture of Pain to be sustained.]]):format(mindpowerChange, mindCritChange, self:combatMindCrit()) end, } @@ -202,6 +202,6 @@ newTalent{ local damageChange = t.getDamageChange(self, t) local counterAttackChance = t.getCounterAttackChance(self, t) return ([[You guard against melee damage with a sweep of you hand. All damage from melee attacks is reduced by %d%%. There is also a %d%% chance of counterattacking while Gesture of Pain is active. - Requires at least one free or mindstar-equipped hand; does not require Gesture of Pain to be sustained.]]):format(-damageChange, counterAttackChance) + Requires two free or mindstar-equipped hands; does not require Gesture of Pain to be sustained.]]):format(-damageChange, counterAttackChance) end, }