t-engine

Tales of Maj'Eyal 1.7.0 BETA2 is upon you!

My minions,

The second beta of 1.7.0 is now available!
You'll find all the downloads on https://te4.org/beta-test

Please, try to keep all bug reportings on ToME's official forums at http://forums.te4.org/ as it is hardly feasible for me to survey 10 different location for bugs.
Do not use addons or DLCs to test it, as addons can always mess up the testing and the DLCs require an update to work for 1.7.

This release brings a lot of little changes, fixes, balancing for the Necromancer, but some other goodies too! Of particular note is a new class evolution for Archmages (sorry I can't stop myself!), the High Thaumaturgist!

One last thing for those new to betas; characters will NEVER validate in beta; that's normal and as usual importing characters across major releases is bound to not work all too well.

Changelog in no particular order:

  • Fixed some more Possessors memory leaks
  • Fixed possessing various NPCs
  • Fixed using Multiply while assuming the form of a multiplying NPC (now it works!)
  • Fix Kinetic Surge to let you self-target even with only one foe around
  • Fixed Endless Woes disease and slow
  • Harkor'Zun is correctly classified as a demon
  • Metaflow now only boosts spell levels for some turns after activation
  • Fixed Slow effect merging with itself but not actually updating the speed
  • Swapped Necromancer talents that used callbackOnActBase for life threshold checks to callbackOnAct so that they account for faster players
  • Discarded Refuse can only be used in combat, unsustains when out of combat and sustain cost is changed to a casting cost. It is not meant to be left on but to be used as a cooldown
  • Swapped Black Ice and Chill of the Tomb
  • Increased Night Sphere damage and reduced Erupting Darkness damage
  • Lichform quest correctly consumes the fortress energy
  • Increased the life rating of bone giant summons
  • Golden Age of Necromancy is now 1 turn invulnerability (it was intended this way but I was dumb and didn't find a way to do it until now)
  • Fixed a small memory leak when visual hotkey feedback is enabled
  • Buff maulotaurs
  • Add revamped bandit fortress vault
  • Changed Adept to instead grant a flat +2 to all talent levels
  • Fixed Telmur Ruins being too full of light
  • Fix absolute resistance display in tooltips
  • Detonating Charge is greyed out if pinned
  • Shadowstep is greyed out when pinned
  • Prevent removing talent levels learnt from items
  • Fixed Attune Mindstar exploding when used with a shield
  • Prevent Bone Grab to be cast on oneself
  • Voidstalker cloaks correctly work only on foes
  • Fix shield's power being wrong in their name but right in their description
  • Greater checkerboard vaults should again have correct vault door entrances and revamped it to be smaller and have a boss in the middle
  • Fixed Misdirection and Curse of Nightmares
  • Corpse Explosion only works on Ghouls
  • Fix Gelid Host from damaging yourself
  • New class evolution for Archmages: High Thaumaturgist, that focuses on using and enhancing beam spells
  • Healing infusion can be used even at 0 healing factor (for the cure side of it)
  • Capped Scoundrel's Strategies to 100% crit penalty
  • Curse of Shrouds movement bonus now triggers when swapping places with an ally
  • Perilous Cliffs should not be overridden by meteors
  • Shadow Grab now uses spell speed
  • Tumble targeting can now be freely moved around
  • Fixed a couple of memory leaks.
  • Reduced damage on River of Souls somewhat
  • Master of Bones' Armoured Skeleton Warriors now always have a blink rune instead of a random one
  • Discarded Refuse is now instant-cast
  • Slightly reduced damage and increased radius on Across the Veil
  • Casting Dire Plague on foes already affected will not reduce the duration
  • Corselight disappears when the caster dies
  • Fixed a few skills that work on living things from working on Lich
  • When there is possible negative life the player's healthbar will now account for it and add a visual marker at the "0" health point too
  • Fixed To The Grave
  • Health warning effect now accounts for negative life
  • Rime Wraith cooldown can not be altered
  • Corpselight can not be placed into walls
  • Fixed Frantic Summoning not actually giving the full speed reduction
  • Phase Summon correctly moves the camera
  • Fixed Call of the Mausoleum range description
  • Fixed Lich self-resurrect to work with minions too
  • Soul Leech can not apply to the summoner or self
  • Runed Bone Giants have gotten a little makeup
  • Lord of Skulls now has images for all possible bone giants
  • Assemble now makes eternal before heavy (so in order of size)
  • Gave a bonus for Dreads affected by Blighted Summoning
  • Hiemal Shield only affects 66.6% of the incoming damage when above 1 life, 100% when under
  • Fixed Neverending Unlife
  • Corpselight correctly checks for caster's position
  • Fixed Lich description saying they gain resistance cap
  • Lost life warning input disabler now counts both max life and max negative life
  • Putrescent Liquefaction does not damage allies anymore
  • Fixed Spectre talents to actually work (fun mistake, half their code was in the Lost Land code ;) )
  • Fix necrotic minions being able to receive items but not using them
  • Assemble correctly respects Lord of Skulls' right of uniqueness and will not merge it with the rest of the rabble!
  • Fix Cold Flames traps
  • Dreadmaster correctly learn disperse magic
  • Necromancers can now use the party orders to dismiss any minion
  • Added new hooks "PartyOrder:define" and "PartyOrder:execute"
  • Pressing x on the levelup dialog can toggle between the current display and a new one were every value of talents over 5 levels is shown at once (just try it's harder to explain than it really is ;) )
  • Call of the Mausoleum summons a free ghoul a little more often
  • Surge of Undeath now also heals minions
  • Necrotic minions can only be healed by themselves, other necrotic minions or talents that are not powered by nature
  • Soul Leech does not affect your own minions
  • When Putrescent Liquefaction absorbs a dying ghoul/ghast, every two of them you'll get one soul back
  • Necromancer's Eternal Bone Giants now know Throw Bone
  • Lord of Skulls now grants effects more gradually and at the high end can now even affect a bone giant
  • Fixed Shatter Affliction rune description
  • Fixed Lich evolution not showing up anymore in the prodigies screen once learnt
  • Moved the default binding for 'w'ield to 'e'quip and the old 'e' binding to 'E' (not that this matters as this was just and alias for 'i'nventory anyway). Those are the DEFAULT binds, if you want the old ones, you can rebind to whatever you prefer :)
  • WASD keys no longer affect negatively arrow keys
  • WASD keys now have a repeat function if if keep them pressed, just like normal keys do (the timing may bit a bit different from other keys as it can't be handled by the OS itself)
  • Fixed Zigur patrols crash
  • Fixed arena mode
  • Made the death code resilient to entities without name
  • Fixed a crash on reload when Draebor (and likely some others) is present on the level
  • New dispel framework, from now on do dispel effects as target:dispel(eff_or_t_id, source)
  • IMPORTANT: removeEffectsSustainsTable, removeEffectsSustainsTable, removeEffectsSustainsTable and removeEffectsSustainsTable now take a first src parameter. Addons need updating or will explode!
  • New "callbackOnResurrect", "callbackOnDispelled", "callbackOnDispel"

Now go test and have fun!

Tales of Maj'Eyal 1.7.0 BETA1 is upon you!

My minions,

The day of the Necromancer is drawing near! While 1.7 is not yet released .. its first beta is!
You'll find all the downloads on https://te4.org/beta-test

Please, try to keep all bug reportings on ToME's official forums at http://forums.te4.org/ as it is hardly feasible for me to survey 10 different location for bugs.

Of particular interrest is, obviously, the full rewrite of the Necromancer (you can find some more details on them there: https://te4.org/blogs/darkgod/2020/05/necromancer/patch-17-big-feature-preview-new-necromancers) but also the localization support.
The current beta ships with a partial Simplified Chinese translation that should be complete once 1.7 is fully released.
Also thanks to this framework it is now possible for addons to provide new translations for new languages easily without having to override 95% of the game's code!

One last thing for those new to betas; characters will NEVER validate in beta; that's normal and as usual importing characters across major releases is bound to not work all too well.

Changelog in no particular order:

  • Block has no effect against self inflicted effects to prevent some problems for Demonologists
  • Focused Wrath now also resets the cooldown of Mind Storm at talent level 5
  • Fixed Demon Seed spell of Ashes of'Urhrok from taking two turns when it auto-attaches a seed to your inventory
  • New minor demon, the onilug
  • Switch chat channel is now unbound by default, as it's not used much and people ended up on different channels by mistake
  • Reduce the size of Reknor
  • Fix Marauder, Archer, and Skirmisher not being taught poisons when siding with assassin lord for the first time to unlock the category on an account
  • Fix weaver queen's portal being destroyed by temporary terrain
  • Fix temporary terrain destroying the portal to return to Maj'Eyal in the Fearscape
  • Fix mastery and perfection egos overwriting each other
  • Fix save/reload bug in Hammer Toss
  • Burb now has his own tile! All hail Burb the snow giant champion!
  • Change how rares and randbosses are generated to be tree based instead of individual talent based thus making them focus on trees more and increasing chance to see tier 3 and 4 talents while also making rares easier to evaluate at a glance
  • Fix Shadow Feed mana regen at very high talent level
  • Tune down Grand Arrival a little
  • Altered Essence of Speed formula to be less punishing on high level NPCs and reduced its mana cost
  • Give Spell Shield, Blinding Speed, Corrupted Negation, Unstoppable, Disperse Magic and Shadow Simulacrum a lower change to appear on ranbosses
  • Marked for Death, Chromatic Fury, Haymaker and Bombardment can't be used by NPCs
  • Prevent Weapon of Wrath from showing on randbosses
  • Melinda has a new haircut (also available to players after unlocking redhair)
  • Malevolent Dimensional Jelly finally got its own tile! It is now MORE malevolent!
  • Full and total rewrite of the Necromancer class, I can't really give a list of change as 95% of it is new or altered a lot :)
  • Lich is now a race evolution for Necromancers, with it's own racial talent tree
  • Archmage's Wildfire, Storm, Ice and Stone trees are now available without an unlock (they still require a category point)
  • Cleansing Flames is now an active that sets yourself on fire to activate the cleansing flames efefcts for yourself and all burning wake/inferno damage as before. This makes it work with Spellcraft
  • Reduced cooldown and mana cost of Inferno
  • Merged Quicken Spells and Spellcraft
  • Added Energy Alteration in the newly freed Meta tree that allows to change damage spells types dynamically, hopefully enabling some fun multi-elements builds
  • At level 6 Metaflow now increases the talent level of all spells by 1 when casting them
  • Rework of the Phantasm tree, Illuminate is more useful, Phantasmal Shield remade, Invisibility is not a sustain anymore and has no damage penalty and a new Mirror Image spell
  • Enabled "WASD" movement (with an option to turn it off, and keybinds anyway). The big difference to normal movement is that it responds to key *release* and can combine directions. So you can do diagonal movement with just 4 keys by pressing two at the same time
  • Bone grab will correctly fail if not hitting target.
  • Fix Shattering Shout bug
  • Fix Sentinel not putting initial talent on cooldown
  • Fix Poltergeist duplicate uniques in the living weapon vault
  • Fixed an infinite loop between Flexible Combat and weapons with multi-attacks
  • Grapple will check if target can be silence/slowed
  • Stalked will not prevent entering worldmap
  • Eyal's Wrath have correct duration
  • Make using item that can use talents respect the talent's usage conditions
  • Fixed negative fortress energy
  • Fix Rune: Blink description and line of sight bug
  • Solipsism threshold fixes
  • Fix Disruption Shield bug
  • Shield wand and Healing totem now work with Through The Crowd
  • Fix skip learning a trap break player.restCheck
  • The damDesc talents function can now take a list of damage types and aggregate damage types can themselves define this list too
  • Nerf Grand Arrival resistance reduction andd buff poison AOE damage
  • Fix Hold the Ground description
  • Intimidated no longer prevents entering the worldmap
  • Remove negative resists from of madness ego
  • Remove negative resists from werebeast's ego
  • Remove negative stats from battlemaster's ego
  • Reduce freeze iceblock life
  • Nerf nature slow proc on egos
  • Fix accuracy bonuses matching their effects
  • Remove selffire from Corrupted Negation
  • Fix callBackOnHit damage going through Unstoppable
  • Blast can no longer randomly multihit
  • Blast damage now actually reduced by distance (up to 50% at max range)
  • Random knockback VFX direction now matches effect
  • Fix Unseen Force to actually use getTalentRange so it works with RAD, fixed tooltip inconsistency
  • Allow cancelling Temporal Form's anomaly talents
  • Fix Advanced Shadowmancy crits
  • Fix Vargh Redemption AI
  • Update shattering shout to modern scaling formula and cap radius
  • Move Blood Spray damage to after applying disease to avoids Virulent Disease being triggered and then immediately overriden by a weaker disease
  • Fix Advanced Shadowmancy tooltip damage
  • Remove Heighten Fear antisynergy with Darkness and Predator
  • Make hasLOS properly respect Dark Vision
  • Increase minimum level for merchant tunnels event to 18, saving new players left and right!
  • Fox Hold The Ground tooltip
  • Pride stair guardians are now rank rare instead of elite, which they already were in all but name
  • Fix Dreamscape/Fearscape fizzling on summoners instead of summons
  • Update Dream Hammer mastery to 1.6 scaling
  • Turned diggable walls into doors in some vaults
  • Fix Scattershot-type talents multi-hitting the player/breaking targeting
  • Fix Blood Vengeance
  • Fix Endless Woes tooltip
  • Fixed radius and target attributes for Vargh Redemption
  • Reduce damage taken requirements for prodigies that require those
  • Remove blighted summoning from gorbat, replace with grand arrival and rage
  • Add cost to crude iron battle axe of kroll, rungof's fang, mummified egg sac and razorblade
  • Adjust formula for Dominate resistance penetration and change cap to 70%
  • Nerf Rampage speeds
  • Reduce spawn rate of living weapons vault in halfling ruins
  • Prevent randbosses with a fixed class from rolling that class a second time
  • Remove the burglar's ego
  • Modify collapsed tower vault to make it more interesting
  • Give grushnak pride orcs -30% damage when randbosses
  • Add worms vault to dry lake of nur
  • Somewhat reduce number of vaults in prides and add new unique vaults for them
  • Make forest ruined building 2 vault more interesting
  • Make worms vault a bit more reasonable
  • Add language localization support.
  • New hooks "Game:changeLevel" and "PartyIngredients:collectIngredient", "Zone:InfiniteDungeon:loadNPCs", "Combat:attackTargetWith:beforeArmor"
  • Updated the way escorts are coded to make them easier to mod. To avoid stuff exploding too much in addons, the old hooks are disabled and now two new ones took their place "EscortRewards:givers" and "EscortRewards:rewards"
  • Added a framework to know how a talent got activated (by action, forceuse, callback, ...) along with passing this into to the damage projectors
  • New callback "callbackOnSummonHit"
  • New Map:removeEffect() method

A huge thanks to all those that contributed to help make this release!
And a special mention to Otowakotori for his (and his fellow teammates) amazing work on the translation framework.

Now go test and have fun!

Explanation of the localization feature for addons creators

My addon creator minions!

The next release of Tales of Maj'Eyal will include support for localization of the texts. And since this change can affect you I wanted to explain a bit what this entails. There are two things to consider: making your addon translatable and providing translations (either for your own addon or for a whole new language for the game itself).

Making your addon translatable

Let's start with the easy stuff: if you do not want to bother with it you have NOTHING to change. Your addon's texts will display in English as before and that's it :)

Now, if you want to support it here's how it works: The game now provides two new methods to handle text, these functions are _t and tformat. They are both extremely easy to use, a little example:

foo = "This text is visible by users"
bar("This one is also visible!")
test(("And this one is too but with formatting too! %d is a number and %s a string!"):format(7, "Yes I am a string!"))

Would now simply become:

foo = _t"This text is visible by users"
bar(_t"This one is also visible!")
test(("And this one is too but with formatting too! %d is a number and %s a string!"):tformat(7, _t"Yes I am a string!"))

That's it, if you do that your addon is now localizable!

Now to give some more details of the do & don't of the new system:

  • Any string that IS an entity name, achievement name, talent name, effects name, ingredient name, birth descriptor name/display name/cosmetic, a call to a log function (game.log/logSeen/..., npc emotes, ..) and a few other minor things will NOT need to pass through the _t function as the framework will automatically understand those need to be translated.
  • Any string that IS NOT an entity name, achievement name, talent name, effects name, ingredient name, birth descriptor name/display name/cosmetic, a call to a log function (game.log/logSeen/..., npc emotes, ..) and a few other minor things will need to be put through _t or :tformat is the user is ever going to see it
  • If it is a plain string, simply prefix it with _t; like "Foorbar" becomes _t"Foobar", or [[Whatever this text is super long...]] to _t[[Whatever this text is super long...]]
  • If it is a :format() call then simply change it to a :tformat call()
  • Only do this for user-facing strings! identifiers, debug print() calls and such should not be translated.
  • NEVER do manual concatenation of user-facing strings anymore, so turn code like that:
    "There are "..nb.." foes around!"

    into

    ("There are %d foes around!"):tformat(nb)

    It is cleaner anyway.

  • A few things have change for entities, Objects always had a getName, but now npcs also do, so never call npc.name but instead npc:getName()
  • Try to not change strings around just for the sake of it, as it'll require translation of the new slightly different version again

Providing translations for your own addon

That one is very easy, basically you make a new folder named "locales" into your addon's data folder.
Inside of that you place one file per locale you wish to support. Say you want to provide translation into Simplified Chinese, you'd have a file names zh_hans.lua. For French you'd use fr_FR.lua and so on.
Each of those files should look like that:

locale "fr_FR"

t("This is a plop!", "Ceci est un plop!")
t("A string with %s formating %d code works the same.", "Une chaine avec %s du code de formatage %d marche exactement pareil.")
...

And important thing to note, the framework allows for re-ordering the parameters of formated strings. Imagine an example where you have a string that is formated like that:

local size = _t"giant"
local what = _t"rabbit"
game.log("You see a %s %s!", size, what)

Now in some languages, like French, this would need to become what, size. Handling that is actually very easy by passing some more infos into the locale file:

locale "fr_FR"
t("You see a %s %s!", "Vous voyez un %s %s!", nil, {2, 1})

Notice the {2,1} table. It simply tells the game how to reorder the parameters before passing them to the formating code. That's it!

One last case is when the same english text would translate to two different texts based on context. You can handle that with "tags". Example:

foobar(_t("This text has a meaning!", "context1"))
foobar(_t("This text has a meaning!", "context2"))

And the local file would do:

t("This text has a meaning!", "...first meaning here..", "context1")
t("This text has a meaning!", "...second meaning here..", "context2")

Making a translation addon for a new language

That is also extremely easy (to implement, the actual translation will take you days, there is a LOT of text in ToME!) to do and is basically the same as the previous section.
Indeed you do provide the language file in the exact same way, but you also add a hook to tell the game of your new locale, basically:

class:bindHook("I18N:listLanguages", function(self, data)
	table.insert(data.list, {name = "Français (French)", locale="fr_FR"})
end)

If your language needs special characters not included in the game's default font you can also provide a special font package and force it on inside the locale file:

forceFontPackage("chinese")

Note that you'll need to provide translations for both the game's and engine's (and DLCs if you want) locale files! This is a lot of work!

I'll try to provide an example base translation addon upon which to build on sometime in the future.

Anyway, that's it for now, have fun!

Tales of Maj'Eyal 1.6.7 "This Is Not A Dinosaur" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.7 ! See https://te4.org/

Your launcher should automatically update your game so no need to redownload it all.
If your launcher didn't self-update correctly, just redownload it from the homepage.

I am very sorry about the summoner's bug (which is fixed in this release), I was so sure it was already fixed that I took some time off before doing 1.6.7 :'( Sorry for the annoyances!

Don't forget to help ToME by with donations ( https://te4.org/donate / https://www.patreon.com/darkgodone ) !

  • Fix Antimagic Zone targeting
  • Fix Reaver NPCs trying to attack before they're fully on the map via Command Staff
  • Improve Blade of Distorted Time
  • Fix Out of Phase merging
  • Slightly reduce Insane talent and class level scaling
  • Cap Rush range at 14
  • Add slow subtype to Cripple
  • Move Corrupted Negation damage to after the dispel
  • Fix Shield Slam block occuring before the attacks
  • Fix Guidance antimagic bonus
  • Fix Marauder and Skirmisher power_source tags
  • Allow Elemental weapon ego to proc on kills
  • Disable bandit fortress vault, until it can be reworked as it causes more problems than it's worth
  • Added a visual effect for Inner Demon debuff
  • Add a decimal to ancestral life turn gain description
  • Reduce spawn rate of living weapons vault in halfling ruins
  • Prevent randbosses with a fixed class from rolling that class a second time
  • Modify collapsed tower vault to make it more interesting
  • Add Vile Life locked for Reaver at 1.0
  • Increase Reaver Plague mastery to 1.3
  • Ban Vile Life from NPCs
  • Increase Vile Transplant cooldown from 10 to 15
  • Replace damage and healing on Vile Transplant with a vim cost per effect
  • Improve Healing Inversion radius and cooldown
  • Restructure Unflinching Resolve cleanse tiers (buff)
  • Give grushnak pride orcs -30% damage when randbosses
  • Remove Probability Travel from some NPCs as the spell has been set to no NPC use
  • Add minimum damage to some proc egos
  • Nerf Prismatic Slash weapon damage
  • Improve Endless Woes tooltip
  • Add some new vaults to the Prides
  • Fix Dominant Will and Dom Hex preventing healing on level change
  • Reduce number of vaults in prides
  • Make worms vault more reasonable
  • Add AI pathfinding protection to Wraithform
  • Increase armor randart power max
  • Unified all anti-crit mechanisms from a chance of ignoring crit into an always on reduction of crit damage. Overall this is the same damage reduction but without spikes.
  • Fixed a bug when a level is scraped during level generation that forced escorting NPCs of the discarded level to appear on the new one
  • Fixed Pheromones talent

  • New tile & doll tile for the Helm of Knowledge
  • Add a very clear message indicating a Searing Horror reflect is up
  • Fix Forbidden Tome: "A View From The Gallery" NPCs spawning with item egos
  • Fix Writing One pet not always returning on combat exit
  • Add power source display to Font of Sacrifice ego tooltip
  • Change Font of Sacrifice cost to increase by 1000 gold for greater/500 gold for lesser each time the same item is modified (cheaper)
  • Change Font of Sacrifice ego count to 5 from 3
  • Fixed the epilogue lore of the book The Day It Came
  • Mutated Hand weapon mastery works now with the same numbers as all other masteries

  • Reduce level requirement of Medic turret
  • Add display of current ingredient amount to Tinkers
  • Remove APR on Steamsaws
  • Actually fix Mecharachnid running away
  • Add inherent accuracy scaling to Mecharachnid
  • Add block to Lightning Web tooltip
  • Reduce Lightning Web damage
  • Change Lightning Web duration to always be 4
  • Nerf Capacitator Discharge damage
  • Fix shockstaff tooltip
  • Reduce Shockstaff damage
  • Reduce Flame Turret damage
  • Reduce Flame and Steamgun Turret life rating
  • Reduce Grenade Launcher damage
  • Mecharachnid can now be renamed by the orders menu
  • Actually ban Heavy Weapons and Artillery from NPCs

  • Internal update to use some new code of the main game

Have fun in Eyal!

Tales of Maj'Eyal 1.6.6 "Vaulted!" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.6 ! See https://te4.org/

Your launcher should automatically update your game so no need to redownload it all.
If your launcher didn't self-update correctly, just redownload it from the homepage.

This release is rather big, with quite some focus on reducing the felt "godmode" of the AI and some corner-cases of scalings.

Don't forget to help ToME by with donations ( https://te4.org/donate / https://www.patreon.com/darkgodone ) !

  • Madness mode starts with more gold and HP. But don't worry you'll die anyway
  • Fixed (perhaps) some perma-ressource loss due to sustained talents
  • Worldmap ambushes npcs and graveyard coffin npcs are now of rank rare instead of elite, which they already were in all but name
  • Right click on the inventory icon on the toolbar will bring up the ingredients list
  • Reduce Blink Rune cooldown
  • Unflinching Resolve now cleanses in a set priority order and works on disarms instead of wounds
  • Ranged Arcane Vortex proc scales with material level
  • Increase base damage on Shadow Combat but reduced high end damage
  • Reduce scaling on Total Thuggery
  • Feed no longer prevents entering the world map
  • Fix Tentacle Totem always adding to player party
  • Reduce duration of Primal Infusion by 1
  • Clarify Gloom tooltip
  • Fix weapon damage display on Actor tooltips
  • Fixed a few bugs with Cursed Sentry
  • Any error now dumps a copy of the log into TENGINEHOME/4.0/tome/error-logs/'date'.txt
  • Reduce AI chase accuracy during Burrow and Movement Infusion
  • Daikara meteors do not remove special features (like weird pedestals) anymore
  • Reduce Howl rank on Gorbat
  • Fixed Mitosis not worked with negative life
  • Prevent Shriek and Howl from scaling with difficulty
  • Coup de Grace correctly restricted in range
  • Crystaline Half of Stone Wardens will only cast Rain of Spikes when a target is available
  • Spacial Tether correctly works with duration increase/reduction of the effect
  • Simplified main menu's new game option, with dev mode on it always shows a list of modules, without it only shows if more than one is installed
  • NPCs don't pass target if they haven't seen it for 7 turns (down from 10)
  • NPCs only pass aggro if they have had their target in their actual FOV at least once
  • Improve drops from pride uniques
  • Buff Summoner's Pheromones to increase damage received from their summons
  • Mindstars now randomly roll either as nature or mind damage (except for fixed artifacts) and give an Attune Mindstar talent to swap them to the other damage type
  • Tinker switching is now correctly affected by Switf Hands prodigy
  • Added vauls contest submissions! Several new and redesigned funky vaults for you to find and die in! Thanks to Helminthauge, Nsrr, Orange, Razakai, Recaiden and Starsapphire!
  • Add failsafe for if one of the Pride's orbs of command somehow didn't spawn
  • New artifact: The Far-Hand with teleport immunity and ability to teleport yourself away, or a foe
  • Brawler rares now use the same base unarmed damage as a player, instead of the one from the base NPC type; to prevent problems arising on some npcs taht have very strong base melee
  • Banned Predator talents from random NPCs
  • Disruption Shield correctly explodes once your mana dips below 50%, for whatever reason
  • Teleport and Phase Door now become less accurate with distance to target when used by the AI
  • Slightly increase numbers for Combat Accuracy
  • Target passing between NPCs is now based on rank, the lower the rank the less likely to alert
  • Savefiles now contain a "last_log.txt" which contains the last 2000 lines of well .. log. This is the actual game log, not the ingame message log.
  • Resistance penetration is capped at 70%
  • Halved the experience penalty on all races
  • Nerfed Freeze a little to prevent high level oneshoots
  • Trying to put a tinker in an object that refuses it will not add a few stats anyway (fixing Galvanic Retributor for example)
  • Spells cast by items (like on spell effects) will not trigger Aether Avatar penalty
  • Increase save rewards from escorts
  • Updates to visuals and sounds of some talents
  • Remove linear scaling from Spell Shield
  • Combat:attackTarget() returns total damage done
  • New hook "Actor:tooltip"
  • Add an ActorTalent.deactivate_on property for things that disable at various events
  • Add Actor:getCombatStats to get weapon properties for a given object
  • New method game.state:dynamicZoneEntry() to easily make new dynamic zones in events, vaults, ...
  • Dynamic zones can now be set to reload lists instead of saving them, using zone.embed_lists
  • In developer mode all generated maps' entities are now checked for upvalues. Beware evil code! Beware!
  • Developer mode: ctrl+shift+alt+right click on an NPC to move it around

  • Add Steampower to Actor tooltips
  • Change Automated Defenses Boltgun/Flamethrower to be PBAOEs instead of asking for targets
  • Fix Shockstaff object cloning
  • Heavy Weapons deactivate when leaving combat, running, or resting
  • Link turret weapon mastery to the summon talent level
  • Increase steam cost of all turrets
  • Remove armor penetration from Incendiary Rounds
  • Cap and reduce fear chance on Incendiary Powder
  • Increase Rocket Pod steam drain
  • Reduce armor penetration on steamguns
  • Limit Rocket Pod to 2 missiles
  • Ban Heavy Weapons and Artillery from NPCs
  • Fixed an error in a lore note of the pocket of time
  • Remove Weapon Automaton tinker (pending its upgrade to be actually working, likely in next update)
  • Change turrets to hardcode their physical power, accuracy, and steampower to the casters at time of summon
  • Turrets die when their summoner dies
  • Reduce the base life and life rating of turrets
  • Add icon overlay display for Stormstrike
  • Increase Grenade Launcher cooldown from 6 to 9
  • Add Magical to Boltgun Safety Overload effects
  • Fix Safety Override doing friendly fire
  • Change Weapon Expertise Boltgun to fire 4 attacks and disarm
  • Fix some no_energy tags
  • Fix Automated Defenses Shockstaff occuring at the start of next turn
  • Fix Shockstaff automated defense counting more than the weapon damage dealt
  • Allow Shockstaff Automated Defense to work at melee range
  • Schematics will not transmog anymore
  • Buffed Flashpoint
  • Halved the experience penalty on all races
  • Update the steamgun ego pool to load the base ranged pool and add a few new egos on top of it
  • Gauss Cannon always targets the farthest enemy
  • Fix Mecharachnid remembering the wrong weapon type to reequip on chassis change
  • Fix Mecharachnid not always teleporting when its summoner leaves combat
  • Mecharachnid will almost never use basic attacks
  • Mecharachnid will only escape via talents
  • Mecharachnid targets enemies that damage its summoner if it has no target
  • Remove the Mecharachnid on unlearn
  • Heavy Weapons now attack as part of their activation
  • Boltgun now generates steam on hit instead of reducing saves
  • Remove steam cost from Heavy Weapon basic attacks
  • Remove Taunt from Flame Turrets
  • Fix AED tooltip
  • Demolition nerfs

  • Writhing One's Worm that Walks can now be renamed (use the orders menu)
  • Shoes of Moving Slowly correctly combine with Shoes of Moving Quickly even with curses (requires a new pair of both after the patch)
  • Light of Revelation only works on foes
  • Somewhat reduced the rarity of most Forbidden Tomes
  • Halved the experience penalty on all races

  • Halved the experience penalty on all races

Have fun in Eyal!

Tales of Maj'Eyal 1.6.5 "The Long Dark" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.5 ! See https://te4.org/

Your launcher should automatically update your game so no need to redownload it all.
If your launcher didn't self-update correctly, just redownload it from the homepage.

Don't forget to help ToME by with donations ( https://te4.org/donate / https://www.patreon.com/darkgodone ) !

  • Adjust melee damage to re-emphasize importance of equipment tier and weapon base damage
  • Fix Searing Light range
  • Add unarmed damage display to Actor tooltips for NPCs that are unarmed
  • Change minimum unique/boss randboss level to 10 from 8
  • Reduce life regen on Wild Growth slightly
  • Change Sudden Growth to use a standard scaling pattern
  • Equipping a tinker now uses a turn
  • Last Stand now sets life to 1 if it was below 0 upon deactivating
  • Fix major bug with Ancestral Life energy gain
  • Fix anti-antimagic quest invuln sometimes bugging
  • Some protection against disappearing talents (due to addons or whatever)
  • Backlash and Focused Wrath range up 7 -> 10, additionally Focused Wrath gives respen for the duration
  • Changed several doomed talents to work with autoaccept target: Creeping Darkness, Blast and Focus Shadows.
  • Fixes glove ego procs being stuck with lower talent levels than they should
  • Buff Mind Sear, Psychic Lobotomy, and Sunder mind to be range 10 while Mind Storm is sustained. Additionally buffed Synaptic static's damage and radius slightly to match talents like Flash freeze.
  • Increase Mind Storm range from 7 to 10
  • Buff Yeek Wayist life
  • Change the source of some healing to their talent for better log entry
  • Replace Slumber with Nightmare on restful gloves
  • Prevent crafting with the same ring over and over
  • Add icon overlay to a bunch of effects
  • Expand early game stun talent level reduction to all disable talents but limit it to randbosses under L25
  • Revise Spellblaze Shard to be cooler
  • Allow Wyrmic weapon talents to work without a MH weapon
  • Fixed Disruption Shield from trying to work when mana is already below the limit
  • Blood splash healing shows as being from blood splash in the combat log
  • Fix Hold the Ground description not displaying the right cooldown
  • Autoaccept now works with Focus Shadows, Blast, Creeping Darkness
  • New physical/nature effect for Thalore's regen, also scales with willpower or constitution. No longer magical! Filthy magic!
  • Shatter Afflictions rune description typo
  • Reduce cooldown of Torque of Clear Mind
  • Allow Aether Breach casts to stack (but not happen any faster)
  • Exclude Manasurge from Aether Avatar restriction
  • Nerfed Aeryn's survivability

  • Prevent AI from spamming heavy weapons
  • Awesome Toss now works on base turns instead of player turns
  • Incendiary Powder correctly reduces armor
  • Fixed the log entry for Incendiary Powder's panic
  • Miasma Engine starts with 1 stack
  • Capacitor Discharge no longer crits multiple times, chain lightning effect is now hit rather than beam
  • Haywire Missiles deals correct damage
  • Lightning Web absorbs the correct amount of damage
  • Clarified several Annihilator tooltips

  • Fixed (for real this time) Horrific Display to not pull without the correct level of Call of Amakthel talent

Have fun in Eyal!

Tales of Maj'Eyal 1.6.4 "The Neverending Story" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.4 ! See https://te4.org/

Your launcher should automatically update your game so no need to redownload it all.
If your launcher didn't self-update correctly, just redownload it from the homepage.

This is a quick-fix release for a very nasty bug. Upgrading is vital.

Don't forget to help ToME by with donations ( https://te4.org/donate / https://www.patreon.com/darkgodone ) !

  • Now that you've all enjoyed 32-chambers vault a lot, I will gracefully allow you to get the others back. Also, fixes the never-ending map generation bug
  • Fix casting Freeze at a target in a wall freezing you instead
  • Fixed Grappled tooltip
  • Fix Meteoric Crash nto applying highest dam to fire
  • A few misc fixes & addons sanity prevention

  • Arcane Amplification Drone now has a normal amount of HP but is invulnerable to any damage and inherits the caster's resists penetration to keep it useful later on
  • Fixed a bug with Advanced Targeting System when no target exists

Have fun in Eyal!

Tales of Maj'Eyal 1.6.3 "Oops !.. I Did It Again" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.3 ! See https://te4.org/

Your launcher should automatically update your game so no need to redownload it all.
If your launcher didn't self-update correctly, just redownload it from the homepage.

This is a quick-fix release for a very nasty bug. Upgrading is vital.

Don't forget to help ToME by with donations ( https://te4.org/donate / https://www.patreon.com/darkgodone ) !

  • Fixed archery from exploding in a big ball of errors. Very sorry, much self whipping :/
  • Changed the greater vault "32-chambers" to only require one exit and replaced diggable walls with doors
  • Applied a global reduction to the need to escape for tactical AI. This means NPC should be much less likely to teleport away (they can still do)

  • Fixed a bug with turrets upon reloading a savefile
  • Fixed Seeker Warhead tooltip
  • Fixed Tinker's Cave not appearing at birth for tinker classes in Age of Ascendancy campaign

Have fun in Eyal!

Tales of Maj'Eyal 1.6.2 "Bug Annihilator" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.2 ! See https://te4.org/

Your launcher should automatically update your game so no need to redownload it all.
If your launcher didn't self-update correctly, just redownload it from the homepage.

Don't forget to help ToME by with donations ( https://te4.org/donate / https://www.patreon.com/darkgodone ) !

  • Disabled Probability Travel on NPCs; they don't know how to use it anyway
  • Fixed Bow Threading to correctly swap to bows
  • Reduced fixedboss randomclass talents spread
  • Fixes a bug with Annihilator's shield capacitor
  • Fix wand, totem, and torque damage tooltips not always using bonus damage in their descriptions
  • Limit Fire Dragon Shield procs to 4/turn
  • Disable Shadowstrike on NPCs
  • Reduce and cap Bone Spear damage
  • Replace Pale Drake Elemental Surge with Adept
  • Reduce the scaling of the Archmage resist pen scalers to approach 60% instead of 100% (does not affect players)
  • Increase Dissipation dispel from 4 to 8
  • Fix Mirror Image not actually taunting on cast
  • Remove Spine of the World from Gorbat
  • Limit Elandar and Vor to unlocking 1 category and ban several problematic talents
  • Made thoughtform use talents slightly more often
  • Fixes to block callback and archery AI
  • Changed Freeze scaling to something saner
  • Being Frozen will not prevent the application of Wet and Frozen Feet debuffs
  • If the caster is Frozen when casting Shatter, the ice block is instantly destroyed
  • Disruption Shield now has a hard cap to max mana considered for energy storage
  • Gloves and Gauntlets of tier3 and tier5 will now start dropping in tier2 and tier4 respectively, mainly to help Brawlers get better weapons in a timely fashion
  • Fixed a bug with Mark Prey tooltip

  • Fixed Horrific Display pulling foes even without Call of Amakthel level 5
  • Fixed Mutated Hand not using itself as a mastery
  • Fixed Preordain and Luckdrinker to correctly work from 7 stacks as the tooltip implied

  • Fix Galen's Flowing Robe
  • Fixed Metaphasic Echoes to do damage on the same area as Reality Breach did
  • Replaced Charm Mastery with Device Mastery from the [redacted] machine!
  • Fixed Galvanic Rod not being usable after dying
  • Static Shock now correctly allows equipping shields with Cunning
  • Autoloader makes your shots bypass allies harmlessly
  • Heavy Weapons no longer drain steam
  • Boltgun and Flamethrower correctly gain damage bonus from Autoloader
  • Heavy Weapon Expertise (boltgun) scales correctly and always applies the correct debuff
  • Turrets tooltip improved
  • Turrets gain increased armor
  • Flame Turret gains further scaling armor and resistances, and no longer gets damage decreased by Upgrade
  • Steamgun Turret damage improved
  • AI of all turrets improved
  • Gauss Turrets correctly ignore armor
  • Rocket Pods no longer generate Heavy Weapon Ammo
  • Seeker Warhead now always stuns, and uses a better tile
  • Mecharachnid can self-destruct
  • Mecharachnid no longer inflicts friendly fire
  • Mecharachnid can equip armor with Dexterity
  • Mecharachnid's Overrun gives Steamsaw Mastery
  • Mecharachnid Piloting ejects you in a wider area, reducing chance of crashes
  • Mecharachnid Piloting correctly grants resistances, and the damage bonus no longer stacks
  • Mecharachnid correctly uses Magnetic Accelerator to escape
  • Fixed Pincer Strike tooltip
  • Heavy Weapons deactivate when you rest
  • Tooltip of Chemical Grenade fixed
  • Increase max number of Raze procs to 25
  • Nerf Steam Power (the talent) scaling
  • Fix Furnace tooltip
  • Nerf scaling on Furnace (linear scaling is evil on NPCs)
  • Mecha will teleport to you after combat ends, and auto-rezzes when combat ends. Tweaked turret AI further
  • Removed dust and tooth requirements for arcane dynamo

Have fun in Eyal!

Tales of Maj'Eyal 1.6.1 "Techno-Annihilation" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.1 ! See https://te4.org/

Your launcher should automatically update your game so no need to redownload it all.
If your launcher didn't self-update correctly, just redownload it from the homepage.

On this day (baring timezone and delays shenanigans ;) ) the first line of code of the game is now 10 years old!
To celebrate this tremendous anniversary the 1.6.1 release is quite beefy in terms on content for a "patch release".
It includes many fixes and changes, most notable are probably the full rework of the four Prides with better and more diverse layouts, tilesets and mechanics. They also got leaner with smaller levels and much less laggy with vaults put into sublevels!

But that is not all, that is not even the biggest thing! A few months ago I announced that a big update to Embers of Rage was coming. And it came! With this update our orcish friends have discovered new ways of maiming and mayhem!
The Annihilator class is coming. Using both a steamgun and a shield, they wield terrible powers of destruction on the battlefield. They can create a powerful mecharachnid companion, create both hostile and friendly turrets, equip a set of heavy weapons (flamethrower, boltgun, shockstaff), equip a rocket launcher and even more fun stuff!

"Woha DG, this is great!" Yes it is my dear minion but .. this is not all!
Unbeknownst to most of you I've also built a new .. thing for Embers of Rage. I've always wanted a steamtech "mage" class but could never figure how to make it. Well, I did; by introducing a new feature: class evolutions.
Class evolutions are prodigies that once taken changes the rules of a class, orienting it towards new grounds!
The costs for them are heavy, a prodigy point obviously, but usualy also talent points, or even category points.
As a test ground for this feature, the first class evolution available is the Technomancer (Archmage).
Once learn, Technomancers will learn to create an arcane dynamo tinker to put in a robe that will enable all their technomancy spells to work. There are three categories of technomancy (with one unlocked for free when taking the evolution): Occult (focusing on tearing apart reality with a steamsaw, doing arcane and temporal damage), Galvanic (focusing on creating death fields between galvanic rods, doing fire and lightning damage) and Terrene (focusing on the deployment of tiny cryogenic spiderbots that can harass and debuff your foes but also protect you).

Technomancers are the first and for now only class evolution available, but if this proves to be a well-working idea; many more can and will come!

Don't forget to help ToME by with donations ( https://te4.org/donate ) !

  • Fixed some more leaks in Possessors
  • Update damage display on talents to new stun damage penalty
  • Also fix typo in Fire Dragon Shield description
  • Fix Mark Prey bloating savefiles
  • Fix a bug that could leave confusion effects permanent
  • Remove Elemental Surge from Vor
  • Remove Acidic Skin from Gorbat
  • Fixed some zones not being able to generate randbosses
  • Increase the minimum level on several antimagic egos
  • New tiles for Stone Wall spell
  • Rewrote/re-imagined the layout & tilesets & sizes of the four Prides. They should now be more interresting, smaller and way less laggy
  • New Gameplay option to display a warning and stop receiving key/mouse input for 2 seconds after loosing X% of max life in a turn (disabled by default)
  • Increased the visibility of Agony effect to reduce tedium of checking target to see the debuff
  • Changed Curse of Nightmares to not use hateful whispers as it provided anti-synergy with the efficient way of playing
  • Fix blighted summoning not working with some wild summons
  • Swap blink and shatter afflictions for Ogre and Shalore
  • Swap blink and shatter afflictions for shalore
  • Nerf psychokinetic and grasping ego damage
  • Fix stormbringer's ego giving massive movespeed bonuses
  • Disruption Shield (and its Aegis effect) changed to a recharging absorb shield that once depleted continues to work (up to a point) by using mana
  • Golem's three rush talents now have greater range and pass through friendlies
  • Golem's Eye Beam is now always maximum range and does not hurt friendlies
  • Circle of Sanctity correctly deals light damage
  • Fixed Temporal Form auto-damage bonus not fully going away at the end
  • Shadow Senses allows you to always see your own shadows, even when blinded
  • Naturalistic and Corrosive gloves ego use the new wyrmic breaths instead of npcs ones
  • Fixed reseting charms cooldown with Metaflow
  • Fix learning/unlearning Solipcism on Adventurers
  • Fixed exiting the fearscape in Tannen's quest after a save&reload
  • Updated Dream Hammer weapon mastery
  • Daneth's Neck Guard properly gives physical resist
  • Fortress quest is given upon inserting the rod even if it was somehow missed
  • Fixed Frenzied Focus when used by a NPC using TK-worn gem
  • Sanity check Aether Avatar against addons
  • Fixed a bug with Piercing Gaze
  • Fixed an error on the MTX UI when the game's internal browser is not available
  • Sudden Growth now can trigger effects affected by direct heals
  • Greater Checkerboard vault has had a revolution! It now features a new sort of incredible new mechanical contraptions: doors!
  • Decrease ring crafting costs for non-unique gems
  • Remove critting from ego charms and nerf damage
  • Increase cost and cooldown of breaths
  • Reduce damage and penetration on Chromatic Fury
  • Remove stat gain from Wyrmic Guile
  • Fix Primal Infusion not removing effects
  • Nerf Shadow Grasp damage
  • Buff Flexible Combat to 50%
  • Display randelites/randboss classes even outside of dev mode
  • Improve Striking Stance damage bonus
  • Restore exponential bonus to weapon damage
  • Reduce the early randboss damage penalty
  • Clarify Mirror Image description
  • Warshout now checks mental resist instead of physical
  • Yeek quickened racial activated at 70% life instead of the 30% advertised in its description
  • Heroism now gives the bonus for missing life it says it does instead of only giving a bonus to stat contribution aspect
  • Disabled escape AI from Spellblaze Crystal
  • Removed 300% cost modifier on Gates of Morning shops; instead Slazish Fens items have a 20% sell value modifier to prevent celestials from starting with high tier items
  • Updated Sun Paladin betray rewards to give augmented mobility talents instead of mobility talents
  • Fixed Painful Agony getting people stuck with antimagic when eating antimagic people
  • Fixed a bug preventing your from being prevented from respecing in combat ;)
  • Gesture of Pain now procs "Talent on hit(mindpower)"
  • Fixed recalling out of sublevel maps (like hidden vaults, event maps, ...)
  • Reduced minimum level for randbosses to spawn to 8
  • Fixed a bug preventing Fireflash from damaging the caster, even without Spellcraft
  • The way out of the yeek islands now opens after the first zone done
  • Reduced minimum level for rares to appear to 4
  • Increased Dark Torrent range to 7
  • Fixed saving in the Slumbering Caves
  • When making a new character the game will check if there is the same addon installed twice and refuse to start (and it won't work anyway), clearly explaining why and how to remove one of them
  • Fixed Divine Glyphs to not make the character explode in a glorious stream of errors. Also renamed Divine Glyphs to Empowered Glyphs. Divine does not really exist in Eyal
  • Fixed a bug that allowed to spawn the Worm that Walks without spending a point in it
  • Fixed Transcendent Electrokinesis interaction with Brain Storm
  • Shatter Afflictions rune now goes on cooldown when cleaning only crosstier effects but a much much reduced one (-75%)
  • Fixed hotkeys dispaying 0.5 cooldowns
  • Fix Frenzy permanently reducing defense
  • Briagh's Lair is actually shown on the map when Zemekkys tells you so
  • Fixed Skin of the Many to work on whitehooves
  • Adept prodigy now forces all known talents to update their passive effects (fixing notably Possessor's body storage count)
  • All robes now provide a bit of resist all instead of defense and robe egos buffed a little
  • New shimmer mirror feature: loading & saving whole shimmer outfits (save independently of savefiles so you can import them on other characters too)
  • Auto-bugreports will now include the game version a character was MADE in

  • Allow world map entry for various Cults detrimental effects
  • Fix Tentacle Trees always generating en masse.. again
  • Nerf/fix Drem Frenzy working on prodigies and passives
  • Prevent Entropy gain from healing out of combat
  • Update Drem starting inscriptions
  • Fix The Maggot deleting an escort from some builds
  • Prevented Fonts of Knowledge from reseting on meteor impacts
  • Fixed the worm that walks not coming back up after self-destructing
  • Fixed tentacle trees event, when they turn into a randboss they move you out of the way

  • New class: Annihilators! Ride around in your mecharachnid battle-tank, lay down turrets of doom, equip a mighty flamethrower, launch rockets, and MORE!
  • New class evolution: Technomancer! An Archmage's high level evolution that combines arcane power and steamtech
  • Removed Displacement Shield from Qog's Essentials (because it requires a target) and made the activation instant
  • Emergency Steam Purge now only uses half max steam, deals less damage and cannot crit
  • Fixed healing salves to correctly trigger on heal effects
  • Psionic Fog correctly ignores allies
  • Fixed Tinker Cave not always appearing when it should
  • Fixed Lifeless Rush not providing full stacks if you had some already
  • Fixed Solidiy Air volume
  • Updated all remaining wpeaon mastery talents to 1.6 standard
  • Update stores to 1.6

  • Fix outdated Block talent levels
  • Improve Doomelf starting inscriptions
  • Nerf Hardened Core and fix tooltip
  • Fix run/res autodeactivate on several talents
  • Fix Fire Haven floor event not being resolved
  • Fix Pitiless targeting, improve its effect duration increase cap and clarify tooltip
  • Fix Haste of the Doomed working without LOS
  • Remove Link of Pain from The Black Plate
  • Change Surge of Power heal to be flat instead of a % of max HP
  • Fix Fiery Grasp damage type
  • Fix Demonic Party not counting demon subtypes
  • Fixed Demon Statues from reseting at meteor impact

Have fun in Eyal!

Syndicate content