Bugfix Pack

Bugfix Pack

An addon compiling various fixes to bugs in ToME4.

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

= Actor cloning with Corpathus, Wintertide, and more =
Cloned actors (Forgery of Haze, Warden's Call, and so on) can cause errors with the Corpathus and Wintertide weapons, and other strange behaviour as well; see http://forums.te4.org/viewtopic.php?f=42&t=50960 for details. This addon changes actor cloning to preserve 'x', 'y', and 'summon' fields on tables other than the actor themselves, making these weapons work with clones without errors.

= 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.

= Flamethrower talents not working with double weapons =
Annihilator's Flame Jet and Heavy Weapons Expertise (with Flamethrower sustained) cause errors if used with a double weapon such as The Long-Arm, due to one mistaken line of code. This addon fixes these errors.

= 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 =
= Psychic Crush cloning inconsistency =
ToME4 1.6 introduced particularly nasty exponential resource leaks with Possess, which this addon fixes by switching 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, and makes Psychic Crush work more like other cloning talents such as Forgery of Haze, fixing issues with timed effects like Corrosive Worm. It no longer removes detrimental effects upon cloning.

= 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:

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
- Flame Jet's fire_flamethrower
- Heavy Weapons Expertise's action
- 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 =====
- Fixed cloneCustom() breaking Corpathus and Wintertide (see http://forums.te4.org/viewtopic.php?f=42&t=50960 )
- Fixed Annihilator's flamethrower talents causing an error when used with double weapons such as The Long-Arm
- Made Psychic Crush work more like Forgery of Haze/Shadow Simulacrum/etc., only removing remove_on_clone timed effects and such. This fixes various issues with timed effects like Mucus and Corrosive Worm.

- Fixed Eyal's Will Psiblades error

- Generalized Possess aura/shield fix for other talents and timed effects

- Fixed possessing creatures with Mindslayer auras and shields

- Fixed 1.6 Possessor resource leaks and performance regressions
- Fixed Meteoric Crash mind crits

- Fixed Godfeaster fix

- 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)

- 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

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

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

- Fixed Catalepsy

- Fixed equilibrium failure happening before targeting instead of after.

- 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

- Initial release

Weight: 61428967

Bugfix Pack forum discussion thread
See addon usage in the character's vault.
Your rating: None Average: 5 (2 votes)

is this going to be

is this going to be upstreamed?