ToME: the Tales of Maj'Eyal

Everything about ToME
It is currently Wed Jun 03, 2020 3:44 pm

All times are UTC




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Bugfix Pack 1.1.2
PostPosted: Tue Mar 20, 2018 10:48 pm 
Offline
Wyrmic

Joined: Fri Sep 07, 2012 1:34 am
Posts: 264
https://te4.org/games/addons/tome/meteor-fix
Code:
An addon compiling various fixes to bugs in ToME4.

===== Bugs fixed by this addon =====

= Amulet mastery egos overwriting each other =
The "of mastery" and "of protection" egos can appear in combination, or multiple times, on random artifacts, but will overwrite each others' mastery bonuses when they do (effectively making all but one of the egos do nothing except increase the price of the item). This addon fixes these egos so that they do not overwrite existing mastery bonuses.

= Blast and Tentacled Wings hitting multiple times =
Blast and Tentacled Wings perform knockback/pulling during projection, which can cause the same actor to be hit multiple times, depending on the order that squares are iterated over. This addon fixes these talents so that they can only hit each actor once.

= Hammer Toss serialization =
Hammer Toss's projectile will fail to return if you load the game while it is outgoing. This addon fixes Hammer Toss so that it saves properly.

= Lock On working on invalid targets =
Lock On works on targets that are out of range or blocked by walls. This addon fixes it so it doesn't.

= Meteoric Crash mind critical typo =
Due to a typo, Meteoric Crash will fail to apply your critical multiplier to its impact damage if your mind critical chance is higher than your spell critical chance. This addon fixes this.

= 1.6 Possessor resource leaks and performance =
= Possessor (and Writhing One) access to Multiply and Summon =
ToME4 1.6 introduced particularly nasty exponential resource leaks with Possess, which this addon fixes by swiching from cloneFull() to cloneActor(). It performs similar fixes for Psychic Crush, Psionic Minion, and Ominous Form.
This addon also prevents players from stealing the Multiply and Summon talents that are meant to be NPC-only.

= Real-time Meteors =
Actors can dodge meteors from some talents (Meteor Rain, Rain of Fire, etc) by moving out of the way within 1/6th of a second, real-time. This addon removes this real-time behaviour, making the game properly turn-based once again.

Note: Unfortunately, this won't fix third-party addons that use this behaviour (I hope none exist).

= Reckless Strike self-kill =
= Reckless Strike improper handling of damage shields =
= Reckless Strike not ignoring resistances =
= Reckless Strike incorrect amount of backlash damage =
It is possible for Reckless Strike to kill you if you attack an enemy with any sort of retaliation, due to the way the self-damage cap is implemented. This also does not interact with the user's damage shields (or similar mitigations) correctly, and often deals more or less backlash damage than it should (usually much less). It also doesn't ignore resistances (just penetrates 70% of them).
This addon fixes all of these bugs so that Reckless Strike works as its description claims it does.

= Snapshotting for many talents =
Many sustains and passives do not update their values after being activated, allowing you to "snapshot" values with high power and then continue to use those high values even after changing to e.g. equipment that gives less spellpower or mastery. This addon currently fixes snapshotting for the following talents:
- Abyssal Shield
- Acid Infusion
- Acidic Skin
- Acidic Soil
- Aim
- Antimagic Shield
- Arcane Feed
- Arcane Power
- Arcane Shield
- Augmentation
- Automated Cloak Tessellation
- Berserker
- Berserker Rage
- Blood Fury
- Blur Sight
- Body of Fire
- Body of Stone
- Burning Wake
- Corrosive Nature
- Corrosive Slashes
- Crystalline Focus
- Dark Ritual
- Deflect Projectiles
- Eldritch Infusion
- Elemental Harmony
- Essence of Speed
- Defensive Posture
- Fiery Hands
- Flame Infusion
- Flame of Urh'Rok
- Forge Shield
- Frost Hands
- Frost Infusion
- Frostdusk
- Furnace
- Gravity Locus
- Grinding Shield
- Ice Core
- Infestation
- Keen Senses
- Lightning Infusion
- Living Lightning
- Lucid Dreamer
- Mitosis
- Molten Iron Blood
- Momentum
- Natural Acid
- Nature's Defiance
- Onslaught
- Pace Yourself
- Phantasmal Shield
- Precise Strikes
- Precision
- Psiblades
- Rapid Shot
- Reflective Skin
- Resilient Body
- Righteous Strength
- Rocket Boots
- Secrets of the Eternals
- Shadow Feed
- Shielding
- Shield Wall
- Shattering Impact
- Shock Hands
- Slow Motion
- Spellcraft
- Steam Powered Armour
- Stone Skin
- Striking Stance
- Tempest
- Tempest of Metal
- Total Thuggery
- Unstoppable Nature
- Uttercold
- Weapon of Light
- Weapon of Wrath
- Wildfire

Unfortunately, this is not all of the snapshottable talents in the game, but it's a start.
This addon also fixes the ability to snapshot tons of passives and sustains by using items with "Talent category bonus" (or Adept).

= Temporary terrain changes destroying portals in Fearscape and Godfeaster =
Some bosses, such as the Divine Writhing Mass, create portals when they die, and some of these are implemented incorrectly and can be destroyed if there was a temporary terrain change (such as Ice Wall) on the square they appear on. This addon fixes this for the Divine Writhing Mass (Godfeaster) and Draebor the Imp (Fearscape).
There are other places where this bug is present, notably Derth (Southeast), Cavern beneath tombstones, Trollmire, and Unhallowed Morass. However, in order to maintain as much compatibility with other addons as possible, this addon only fixes it for the two aforementioned zones because you cannot recall out of them (giving the bug a high chance of soft-locking you).

===== Compatibility =====
This addon OVERLOADS the following files:
data/general/events/meteor.lua
data/general/events/pyroclast.lua
data/gfx/particles/meteor.lua

This addon overwrites the following functions:
- Adept's passives
- Anomaly Meteor's action
- Aim's activate
- Aim's deactivate
- Antimagic Shield's on_damage
- Arcane Power's activate
- Blast's action
- Blood Fury's activate
- Blood Fury's deactivate
- Blur Sight's activate
- Blur Sight's deactivate
- Bodies Reserve's setupBody
- Defensive Posture's activate
- Defensive Posture's deactivate
- The Divine Writhing Mass's on_die
- Draebor, the Imp's on_die
- Keen Senses's activate
- Keen Senses's deactivate
- Lock On's action
- Meteoric Crash's trigger
- Meteor Rain's action
- Precise Strikes's activate
- Precise Strikes's deactivate
- Psionic Minion's action
- Psychic Crush's summon_minion
- Rain of Fire's callbackOnActBase
- Reckless Strike's action
- Stone Skin's activate
- Stone Skin's deactivate

It should otherwise not be destructive.

===== Changelog =====
1.1.2:
- Fixed 1.6 Possessor resource leaks and performance regressions
- Fixed Meteoric Crash mind crits

1.1.1:
- Fixed Godfeaster fix

1.1.0:
- This version is not compatible with savegames from older versions!
- Updated all bug fixes for ToME4 version 1.6.7
- Added a warning popup if addon version doesn't match ToME4 version
- Fixed Fearscape and Godfeaster boss death portals
- Fixed Tentacled Wings hitting multiple times
- Fixed Hammer Toss serialization
- Fixed Lock On working on out-of-range and out-of-sight targets
- Fixed "of mastery" and "of perfection" amulet egos from overwriting existing mastery
- No longer fixes early equilibrium failures for targeted talents (too destructive to compatibility). Sorry.
- No longer alters talents that had their bugs fixed in mainline ToME4: Bone Shield, Overkill, Willful Tormenter, Wing Buffet knockback
- Abyssal Shield melee retaliation restored (and no longer snapshottable)
- Flame of Urh'Rok original resistance formula restored (and no longer shapshottable)
- on_mastery_change functions added by other addons will no longer be stomped
- All original talent function environments are now preserved (improves compatibility with other addons)
- Fixed Reckless Strike so that it actually ignores resistances (instead of just giving 70% penetration)
- Restored Reckless Strike's "25% of damage dealt" alternative backlash, but made this amount of backlash damage actually correct (in mainline ToME4 it almost always inflicts less backlash than it should)
- Fixed snapshotting for more talents: Acid Infusion, Acidic Skin, Acidic Soil, Arcane Feed, Arcane Power, Arcane Shield, Augmentation, Automated Cloak Tessellation, Berserker, Berserker Rage, Blur Sight, Body of Fire, Body of Stone, Burning Wake, Corrosive Nature, Crystalline Focus, Deflect Projectiles, Eldritch Infusion, Elemental Harmony, Essence of Speed, Fiery Hands, Flame Infusion, Forge Shield, Frost Hands, Frost Infusion, Frostdusk, Furnace, Gravity Locus, Grinding Shield, Ice Core, Keen Senses, Lightning Infusion, Living Lightning, Lucid Dreamer, Mitosis, Molten Iron Blood, Momentum, Natural Acid, Nature's Defiance, Onslaught, Pace Yourself, Phantasmal Shield, Precision, Psiblades, Rapid Shot, Reflective Skin, Resilient Body, Righteous Strength, Rocket Boots, Secrets of the Eternals, Shadow Feed, Shattering Impact, Shielding, Shield Wall, Shock Hands, Slow Motion, Spellcraft, Steam Powered Armour, Stone Skin, Tempest, Tempest of Metal, Total Thuggery, Unstoppable Nature, Uttercold, Weapon of Light, Weapon of Wrath, Wildfire
- Fixed snapshotting via talents_mastery_bonus (e.g. the Radiance artifact cloak, the Adept prodigy)

1.0.6:
- Fixed sustainbug for Aim, Antimagic Shield, Striking Stance
- Fixed Antimagic Shield's retaliation
- Fixed Blast and Wing Buffet hitting multiple times
- Preserved original fenv for more replaced functions, to reduce the chances of addon conflicts

1.0.5:
- Gave the Spider talent's action its original fenv back (fixes some artifacts)

1.0.4:
- Remove Catalepsy fix as it is fixed in vanilla in 1.5.8

1.0.3:
- Fixed Catalepsy

1.0.2:
- Fixed equilibrium failure happening before targeting instead of after.

1.0.1:
- Shifted to a generalized bugfix addon instead of just "Meteor Fix".
- Fixed sustainbug for Abyssal Shield, Blood Fury, Bone Shield, Corrosive Slashes, Dark Ritual, Defensive Posture, Flame of Urh'Rok, Infestation, Overkill, Precise Strikes, Willful Tormenter
- Fixed Reckless Strike self-kills
- Fixed Reckless Strike damage shield interaction
- Reckless Strike now always damages you for 30% of your current HP after the attack
- Overkill now correctly attributes its damage to the talent
- Overkill now ignores the source's inc_damage instead of the victim's
- Overkill now projects its damage in an onTickEnd()
- Overkill no longer has an overzealous recursion guard, just a regular recursion guard

1.0.0:
- Initial release

Weight: 61428967


Last edited by minmay on Mon Jun 01, 2020 1:23 am, edited 4 times in total.

Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.1
PostPosted: Tue Mar 20, 2018 11:21 pm 
Offline
Archmage

Joined: Fri Oct 09, 2015 2:27 pm
Posts: 306
Does Augmentation have the sustainbug? I remember reading a guide that talked about snapshotting for it.


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.1
PostPosted: Tue Mar 20, 2018 11:25 pm 
Offline
Wyrmic

Joined: Fri Sep 07, 2012 1:34 am
Posts: 264
Augmentation does have the bug, but the snapshotting bug you're thinking of was different. I list all the bugged talents here.


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.1
PostPosted: Wed Mar 21, 2018 1:32 am 
Offline
Wayist

Joined: Fri May 16, 2014 6:30 pm
Posts: 29
There is a bug related to the off-hand penalty of stone warden and the damage of Shield of Light when using steam saw.
(If you are not interested in details, please just read what in red.)

First, let's see the definition of shield:

special_combat = { talented="shield", accuracy_effect="staff", damrange = 1.2, no_offhand_penalty=true }

Now let's see how steam saw is defined:

combat = { talented = "steamsaw", accuracy_effect="axe", damtype=DamageType.PHYSICALBLEED, damrange = 1.5, physspeed = 1, sound = {"actions/saw", pitch=1, vol=1}, sound_miss = {"actions/saw", pitch=1, vol=1}, use_resources={steam = 1}},

The difference is obvious. Shield is not defined with "combat", while steam saw is not defined with "special_combat".

Then let's see why stone warden has off-hand penalty when using shield:

local offmult = self:getOffHandMult(o.combat, mult) --change this to "local offmult = self:getOffHandMult(o.combat or o.special_combat, mult)"
local combat = self:getObjectCombat(o, "offhand")
if o.special_combat and o.subtype == "shield" and self:knowTalent(self.T_STONESHIELD) then combat = o.special_combat end

Since shield has no combat property, the variable offmult will never be updated.

Similarly let's see how the shield of light works:

self:attackTargetWith(target, shield.special_combat, DamageType.LIGHT, t.getShieldDamage(self, t)) --change this to "self:attackTargetWith(target, shield.special_combat or shield.combat, DamageType.LIGHT, t.getShieldDamage(self, t))"

So, as you can see, when using steam saw that has no special_combat, the damage would become negligible.

Could you please integrate those modifications in this great addon?


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.1
PostPosted: Wed Mar 21, 2018 2:01 am 
Offline
Wayist

Joined: Fri May 16, 2014 6:30 pm
Posts: 29
Besides, could you please also make your addon compatible with translations?


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.1
PostPosted: Wed Mar 21, 2018 3:14 am 
Offline
Wyrmic

Joined: Fri Sep 07, 2012 1:34 am
Posts: 264
Sure, I can fix that Shield of Light bug.
wuxiangjinxing wrote:
Besides, could you please also make your addon compatible with translations?
Unfortunately, this is not possible. Sorry.


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.1
PostPosted: Wed Mar 21, 2018 4:26 am 
Offline
Wayist

Joined: Fri May 16, 2014 6:30 pm
Posts: 29
By the way, one more possible bug for the talent shard (earthen power T3)

By my testing, this talent uses the attacker's talent level when calculating the damage, so it's usually zero (the attacker cannot know shard) and the damage would always be 40% that is the lower limit.


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.2
PostPosted: Sun Apr 22, 2018 8:29 pm 
Offline
Wyrmic

Joined: Fri Sep 07, 2012 1:34 am
Posts: 264
1.0.2 released. This version fixes equilibrium failures happening before targeting instead of after. So you are no longer effectively penalized for canceling targeted equilibrium talents.
Unfortunately this fix only applies to vanilla equilibrium-using talents. Addon talents won't be affected.

Obviously, this needs to be fixed for all talent failures, not just equilibrium ones, but doing so in an addon is not currently possible without completely destroying compatibility, so you'll just have to hope it gets fixed in vanilla (which it obviously won't lol).


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.2
PostPosted: Sun Apr 22, 2018 10:20 pm 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
minmay wrote:
so you'll just have to hope it gets fixed in vanilla (which it obviously won't lol).

Yeah I'm evil and intentionally ignore stuff and tries to make the game as bad as possible, as I've proven so many times in the many years I've kept the game going forward... ;)

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.2
PostPosted: Sun Apr 22, 2018 10:30 pm 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
To be more precise, I have a fix for the equilibrium thing, but it was too late to correctly test it for 1.5.6

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.3
PostPosted: Wed Apr 25, 2018 4:03 am 
Offline
Wyrmic

Joined: Fri Sep 07, 2012 1:34 am
Posts: 264
I assumed it wouldn't be fixed because I saw Sheila saying she preferred the current behaviour. Whoops.

Anyway, I've uploaded a new version that fixes the Catalepsy AI error, for those not wanting to wait for 1.5.8.


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.2
PostPosted: Wed Apr 25, 2018 7:39 am 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
Actually I mistook your post, I thought you meant the fact that instant equilibrium talents failing consumes a turn, which is now fixed for 1.6 sorry :)
As for the check before or after target, this is not a bug yeah, and changing it as you said means altering every talent, and keeping on altering every new talent ever made which in itself sounds very bad. It could work if integrated into getTarget but that cant work since not all talents need to react the same to the returns; in any cases this does not really bother me as it is, I find it rather logical but I get that some people may not :)
Hence why addons exist :)

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.0.2
PostPosted: Wed Oct 03, 2018 2:51 am 
Offline
Low Yeek

Joined: Tue Dec 24, 2013 3:02 pm
Posts: 9
Is this obsolete now as of 1.5.10?


Top
 Profile  
 
 Post subject: Re: Bugfix Pack 1.1.2
PostPosted: Mon Jun 01, 2020 1:24 am 
Offline
Wyrmic

Joined: Fri Sep 07, 2012 1:34 am
Posts: 264
Finally updated this for 1.6, along with lots of new fixes.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group