News

August 7, 2020
By darkgod - August 7, 2020

My minions,

The third 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.

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:

  • Lichform does not wait your next death in the Arena, as resurrection is forbidden there
  • Updated the Arena death dialog to use the same code as the normal one
  • New Actor:udpateSustains() to force sustains to turn off and on again
  • Changed Adept and other such talent changes to bit a bit more clear in how they operate (add raw levels affected by mastery to effective level, they do NOT trigger on_learn and such and do NOT alter raw level)
  • Mirror Images inherit widebeams, Spellcraft and iceblock penetration
  • Actors are cleaned of temporary effects upon death even if they do not resurrect, to prevent some effects from lingering after their deaths
  • Prevent Born Into Magic to work with Elemental Array Burst as it would be rather useless
  • Slightly decrease the total amount of talent trees on rare+ enemies and restrict the level at which some problematic talents (notably antimagic) begin to show.
  • Phantasmal Shield does not retaliate to self inflicted damage
  • Expand randomization range for amount of talent trees
  • Slightly nerf caustic terror
  • Slightly reduce talents taken by rares
  • Limit antimagic on early game rares
  • Limit fearscape on rares
  • Levelup screen now accounts for bonus talent levels in the talent descriptions
  • Actors with inventory access disabled can not access stores either. Sorry!
  • Multicaster will respect Aether Avatar
  • Unless in developer mode, during betas the game will refuse to load most addons; as they only mess up with the testing
  • Fix anomalies from not having cooldowns/not using a turn
  • Fixed some talents description in the levelup screen when using advanced view mode
  • Fixed Call of the Mausoleum duration in the tooltip
  • Fixed a bug that prevented necrotic minions from leveling up their stats
  • Fixed Assemble to not error out when there are 2 skeletons and one lord of skulls
  • Silk Current also works on ice themed Necromancer trees
  • Fix floor effects (among other things) staying beyond their welcome
  • Prevent Putrescent Liquefaction from hitting your own minions
  • Fixed error when non actors deal damage

Now go test and have fun!

August 6, 2020
By darkgod - August 6, 2020

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!

July 7, 2020
By darkgod - July 7, 2020

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!

July 6, 2020
By darkgod - July 6, 2020

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!

May 27, 2020
By darkgod - May 27, 2020

Hello my minions!

So, I have announced in the past that Necromancers will be getting an update, and they "soon" will! But it is not a simple update, however, it is more like a near-total rewrite. So, I wanted to go over them a bit to give you a feel for what's coming.

Necromancers in patch 1.7 will have 12 class talent trees and 2 new generic talent trees. The class trees are split by theme into 4 groups of 3 trees each: Minions, Death, Darkness and Cold.
The way souls are generated and spent has changed. There are more ways to get new souls, even in a solo fight, but also more ways to spend them. The intention is that you should have to think about when to spend souls but, they shouldn't feel like consumables either.

So, with that in mind, let's go over the themes!


Minions

What necromancer would go out without an army of undead minions to slaughter their foes? Well some I hope, as I want minion-less builds to be viable, but that's a different matter ;)
One important thing to note is that minions no longer decay outside your necrotic aura! As before, however, all necrotic minions are incapable of passively regenerating life. Another important change is that your minions can't hurt you by default, and you can't hurt them either.

Master of Bones

This tree focuses on the summoning of skeletons with various powers. All of them share some basic properties:

  • No summoning timer: once summoned, a skeleton will stay by your side until it is destroyed
  • Sturdy: as you levelup most of them will have the skeleton racial shield available to them
  • Limited: you can never summon a lot of them at once, so try to care for them!

As a necromancer gains power they learn to summon stonger types of skeletons, including mages.
Necromancers can also combine and enhance their basic skeletons into more powerful forms:

  • Bonewall: should the need arise, a skeleton can be "expanded" to create an unmoving bonewall that damages and pins down all foes
  • Bone Giant: by combining 3 normal skeletons the necromancer can make a powerful and sturdy bone giant to become the backbone of their minion army
  • Lord of Skulls: by funneling even more souls into a single skeleton, a powerful necromancer can create a Lord of Skulls, enhancing the power of the minion even further. At high level they can even grant them new extremely powerful talents.

Master of Flesh

This tree focuses on summoning ghouls of varying power. All of them share some basic properties:

  • Summoning timer: once summoned, a ghoul will only exist for some turns, and then they decay
  • Numerous: Ghouls are expendable minions, you can summon them in greater quantities than skeletons and you have multiple ways to "expend" them, from a simple corpse explosion to liquifying them into a cloud of gore that follows you around

Raising ghouls is part of any worthy necromancer's arsenal and such a basic task that they can do it instinctively. At the start of each combat and every few turns afterwards a ghoul automatically rises to aid the necromancer. They can also be summoned en masse, however, should the need arise.
Ghouls are expendable minions and no necromancer would shed a tear when one (or 10) die, as long as their death was useful.

  • Make them go boom: Once a ghoul has served its time, or when it is destroyed, why not make it go out with a bang (literally), literally exploding in a mass of gore!
  • Liquefy them: Once a ghoul is dead, or exploded, why not use their remains to make a cloud of gore that follows you around, damaging all foes.
  • Sacrifice them: Who likes debuffs? Nobody! So make a ghoul absorb the effect for you and then go boom!

Master Necromancer

This tree focuses on enhancing and using your existing summons without adding new ones.
With it you can: increase their power, protect them while they are nearby, buff them up, recall them back to you for protection, or even use them to prevent damage directed at you.


Death

Any necromancer worth their salt has some dominion over death. These trees concentrate on utilizing the souls and deaths of your foes to your advantage. Yummy souls!

Animus

The staple talent of every necromancer lives here: Soul Leech. Anytime you or your minions deal damage to a creature, you apply soul leech to it and, should it die, steal its soul for your own purposes.
That is not all, however. This tree also offers you the ability to consume souls to heal yourself and regenerate mana, torture victims of soul leech for even more souls, and gain buffs based on the current number of souls!

Death

Focusing specifically on absorbing souls and gaining bonuses upon deaths, this tree starts with the return of the fan favorite Rigor Mortis and adds ways to teleport to the place of death of your foes, regenerate when you kill, and damage any creature afflicted by soul leech (so hopefully everyone).

Eradication

A melting pot of high end death effects, this tree can unleash your vampiric side, create graveyards to resurrect your minions, hurt your foes, and sees the return of another fan favorite: Impending Doom!


Darkness

A necromancer works in dark and remote places, hidden from the living and shunned from society.
Some learn to use that darkness to their advantage.

Nightfall

The old staple of Invoke Darkness is back, but improved at high-end as a 3-wide beam!
In addition, banes are still present and now improved by Erupting Shadows which doubles down on baned creatures. Poor things.
But what if you want to play minion-less and thus have less "soul dump"? Well River of Souls is there for you! Automatically firing a weaponized soul each turn for AOE damage!

Dread

In all the taverns of Eyal, you can always find an adventurer mumbling in the dark about the terrors they've faced, a glimpse of madness in their eyes. Those who have seen a Dread, or, worse, a Dreadmaster.
Necromancers, however, do not fear the Dreads, they control them! Dreads are expensive support minions. Their purpose is to harass and debuff your foes, making them ripe for the picking by your army or your own spells.

Age of Dusk

Ahhh the Age of Dusk. The Golden Age of Necromancy. A time of plagues and hopelessness.
This tree represents all of that, with Dire Plague, a disease that bypasses disease immunity and can trigger lots of effects in the tree, including ripping out the souls of its victims.
The Golden Age of Necromancy talent offers a slew of saves and resistances, most notably the extremely rare teleport resistance. And when your life drops below 1, you can even gain 2 turns of full immunity to everything!


Cold

The cold embrace of death. A feeling known to every necromancer.
The cunning necromancer goes even further, using cold to damage and defend, or even summon a wraith!

Grave

Chill of the Tomb returns, but with a twist: any minion caught in the blast is covered in a thin layer of ice, reducing all damage they take! So blast away!
In addition, the Black Ice spell gives a way to focus on priority targets, dealing heavy damage and increasing damage taken from minions.
Last, but not least, the Corpselight! It is a static pseudo-minion that deals constant AOE damage and grows in power each time you cast spells, and can even be made to implode in a burst of cold destruction.

Glacial Waste

Damaging your foes is nice, but useless if you are dead!
All of this tree focuses on one spell: Hiemal Shield, a powerful shield that can block damage, retaliate with bolts of ice, create wastelands around you and even regenerate itself.

Rime Wraith

Hailing from the glacial wastes of the north, the Rime Wraith is a powerful, fully immaterial spirit of ice and death. Nothing can stop the cold embrace of this parasitic spirit as it jumps into foes and friends alike each turn, in a fast paced dance of death. A Rime Wraith’s purpose is to protect your other minions and debilitate your foes.


Generic

Necromancers no longer share any trees with Archmages, either class or generic, resulting in some new stuff and some shuffling.

Necrosis

Necrosis is back, but now as a generic which focuses even more on negative life and "anti-nature".
Actually, I did not mention it much yet, but many of the necromancer spells have specific additional effects if you are under 1 HP!
So, Blurred Mortality is back, bringing in the negative life goodness, and the additional effect of increasing resistances if you are under 1 HP.
But that's not all, with Across the Veil triggering whenever the 1 HP threshold is crossed, in either direction and uses the energy of the crossing to blast foes with damage and reduce your cooldowns!
Last, but not least, come the rune-interacting talents, which strongly encourages you to not use wild infusions and only use runes.
"But DarkGod where is Lichdom?!" Well, it's not here anymore! Lich is now a prodigy, like a race evolution. The requirements for it do not change however you still need to do the quest and all.

Spectre

Shared with the future Gravelord class from Lost Land, the spectre talents focus on movement and vision by turning yourself into a spectre! A kind of replacement for Divination and Conveyance trees.


Lich

Ahhh, the Lich! The fantasy of many necromancers, the ultimate form of undead (or so they think).
A lich has a racial tree, along with the usual immunities and stat boosts you've come to expect from them. Their talents focus on self-resurrection (at a cost!), inspiring fear in your foes, commanding an army of shadows and bolstering all allied undead in sight. A true commander of the dead!

There we go, the new Necromancer class in all its undeath glory, coming to you in patch 1.7!

April 16, 2020
By darkgod - April 16, 2020

What could be terrifying about little cute bunnies and eggs?
Nothing you say? Well, think again for the Pikataclysm has arrived to Eyal and will stay active until May 1st!
Beware of what lurks in this strange place, for sometimes, bunnies have big teeth.

The Pikataclysm is a yearly special server event, triggered every 10 minutes by the server to all players currently logged in. There are others such events, come find them all during the year!

February 26, 2020
By darkgod - February 26, 2020

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!

January 8, 2020
By darkgod - January 8, 2020

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!

December 19, 2019
By darkgod - December 19, 2019

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!

December 15, 2019
By darkgod - December 15, 2019

My dear minions,

After some *fun* debugging the script that updates the global stats page ( https://te4.org/game-statistics ) and the player's individual stats should be running again now!
Note that profile's stats are slatted for updating a few tens of minutes after you exit the game so you know when to expect it :)

Have fun and suffer many nice deaths ! :)