t-engine

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!

Cosmetic Shimmer Packs are now available from the website too!

My minions,

I know some of you were frustrated that the cosmetics packs can only be gotta from the ingame UI, as either you can't access it or the ingame browser is not working well for you or whatever.
Well, to ease your agony, they are now available right here!

Have fun!

Tales of Maj'Eyal 1.6 "A Late Delivery from Avalon" is released!

My minions, I am happy and proud to give you Tales of Maj'Eyal 1.6.0 ! See http://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 ( http://te4.org/donate ) or on Patreon !

Please do note this is *not* a full changelog of every little things. The 1.6 release contains so many changes and updates that it'd turn me mad organizing them into a semblance of changelog and it'd turn you mad reading it all (and if you want to turn mad you can just play Forbidden Cults expansion!).
The original unabridged log is about 3500 lines long.

Also included are updates to the three expansions: Forbidden Cults, Embers of Rage and Ashes of Urh'rok.

And if you use addons, make sure they have a version for 1.6 or disable them; you don't want problems do you? :)

  • When a yeek exits the tunnels to the halfling complex and sees subject Z; a warning comes up from the wayist, urging you to flee
  • When a shader is missing, it'll use a default fallback (prevents loading game with missing DLCs/addons)
  • Classic UI can now cancel buffs by right-click
  • Load quickhotkeys prior to loading the game to fix hotkey ordering for "restart the same character".
  • Revised Anorithils
  • Disable fatigue for positive and negative energy
  • Updated/rebalanced some NPCs
  • Revised Defilers
  • Removed max level on all fixed artifacts. Material level already restrains them. This prevents some artifacts being near un-obtainable on higher difficulties
  • Fixed an issue preventing users with a too long password from login in. Woops sorry :/
  • Cunning techniques revisions
  • Greatly revised Summoners
  • Significantly revise 2H Assault
  • Fix NPCs shoving the player
  • Teleports now immediately maximize the AI's guess spread on your current location
  • Ethereal Form uses highest of Dex or Mag for its defense bonus
  • Rebalance Elemental Harmony
  • Revise many artifacts, egos, randarts and items
  • Revise Arcane Blade's Enhancement tree
  • Reduce Arcane Destruction damage and fix type to Arcane
  • Fix Glove display
  • Fix Adept causing infinite talent levels
  • Sustains will not disable at 0 Stamina or Mana anymore, as it is cumbersome and is easily prevented with a little regen anyway
  • Fix Slings not having a base speed
  • Add stairs up to Dark Crypt
  • Fix Elemental Harmony allowing self damage
  • Allow respeccing out of combat
  • Add a talent autouse for being out of combat
  • Multiple updates to combat damage log
  • Fix light radius letting Players (but not NPCs) see beyond their max vision radius
  • Resize and reposition how charges are displayed on effects
  • Several talents that move the player would not function at all or would behave unusually if auto-accept target was enabled.
  • Greatly revised inscriptions (runes & infusions)
  • Greatly revised the early game combat to make melee start less painful
  • Revise accuracy bonuses to have more impact and nicer breakpoints
  • Revise shield/glove combat table tooltips
  • Born into magic now actually gives 20% inc dam as advertised(up from 15%)
  • Change Stone Vines' and Rockswallow's damage to Nature and removed speed malus from Stone Vines
  • Revise some racial talents
  • Round most talent masteries to 0.0 or 0.3
  • Add many, many base character visual customisation options (beards, hairs, skin color, tatoo and so on)
  • Implement support for cosmetic & "useless fun" microtransactions
  • Revise Scoundrel and add it to the Rogue escort
  • Redesign the Vim resource (no more ability refund; Vim regeneration on any kill scales faster with Willpower and now also scales with target rank; Bloodcasting is now baselined in the resource allowing you to pay Vim costs with 200% of the cost as life)
  • Added an UI option to sharpen the map display
  • Fixed a bug preventing steamsaw/guns from generating as egos for randbosses (amongst other things) (yes fear the gunsnakes!)
  • Smallish revisions to Archmage
  • Update Worldly Knowledge to only include most of the currently available escort/quest trees
  • Remove defense penalty from block
  • Miscelanous revisions to many talents
  • Revise Antimagic
  • Major AI update, smarter, better, maybe faster
  • Fixed several screenshot issues
  • Randomly generated humanoid npcs now use the same cosmetic features available to players, randomly
  • Simplify SDL gamma calculation and restore default gamma on exit.
  • Levelup dialog shows variable parts of talent descriptions (like numbers that go up as you levelup) in green even at talent levels 0 and 5, to better see which values will evolve
  • Revision of Fears
  • Stores now restock every 10 levels
  • Prodigies are now gained at levels 25 and 42
  • Add a bonus to stealth rating for Armor of Shadows
  • Revise fixed bosses, now they can better levelup and learn new tricks too
  • Revise Wyrmics
  • Revise Doomed
  • Revise Cursed
  • Revise Stealth
  • Revise Shadowblade
  • Small revisions to Stone Warden
  • Ban Dreamscape entirely from NPC use
  • New scriptable map generator along with a variety of combinable algorithms for it
  • Modules Markers, IMPORTANT: Removed unpausing the game when using energy in engine.Actor:useEnergy as this was badly misplaced, instead superload useEnergy inside your own player class to do it, look at example's module Player class for how to
  • Tilemaps can be scaled, fliped, rotated; new Maze tilemap; Heightmap & Noise tilemaps can be normalized
  • Revised many Prodigies
  • To celebrate nearly 10 years of ToME, a new awesomely drawn custom player tile that comes from the very early days of the game
  • Stun: Cooldown lock changed to half, damage reduction changed to 50%
  • Confusion: Interaction with confusion immunity removed
  • Increase resting rate dramatically
  • Add 1 regen to Alchemist golem to reduce resting tedium
  • Remove Munitions from Archer and re-add Poisons
  • Remove useless trees from some classes
  • Remove melee retaliation from many NPCs
  • Zigur is now always present on the map but forbids entry to any magic user.
  • Reenable Skirmisher on NPCs
  • Yeeks in the shadow crypt will have .. a surprise
  • Show known lore menu now has a search bar (search by lore id, name and category)
  • Clicking on a lore entry in the "Show known lore" menu will display the lore in the usual parchment-like UI, for easier reading
  • New keybind for automatic target accept option, no default binding
  • Shimmer mirror now has a search box
  • Various visual improvements
  • Updated the way NPCs (randbosses) are assigned character classes
  • Object requirements can now be any random flag of the wearer
  • High Peak levels become smaller towards the end (but keep the same number of foes inside)
  • Increased foes density in the Prides
  • Escort quests will now spawn in the Infinite Dungeon (between levels 5 and 40)
  • Fixed some Infinite Dungeon challenges
  • Nerfed patrols a bit
  • Revise Ghouls
  • Nerf life leech stacking
  • Can send talent links in the chat from the talent's right click menu or in the levelup dialog by pressing ctrl+l
  • Revise shops system
  • More Mummies! Rejoice!
  • Revise archers
  • *NUMEROUS* fixes and updates to a ton of things (can I be more vague? probably but it'll be hard ;) )

  • Buffed Nethergates. Be afraid.
  • When Kroshkkur is lost, the teleport spell to it is removed
  • Update for 1.6 cosmetic options
  • Fixed the books shader for some GPUs
  • Reduce Chronophage speed bonus
  • Tighten the radius rifts can spawn in
  • Fix Entropic Wasting merge behavior
  • Nerf From Below It Devours
  • Change WTW speed penalty to spell and phys speed instead of global speed
  • Replace Warborn with Drakeblood Strike
  • Fuel Pain now removes infusion saturation.
  • Fix Wrath of the Wilds description
  • Adjust values on Drake-Infused Blood and increase penalty for phys
  • Move Krog dual wield talent to Drake-Infused Blood
  • Add an acid aspect to Drake-infused Blood
  • Consume Whole now resets the cooldown of Digest
  • Increase the damage on Dissolved Face
  • Increase Reality Fracture rifts to 3 from 2
  • Add a failsafe for The One that Hunts not despawning
  • Significantly redesign the Hypostasis of Entropy fight
  • Fix Terrible Sight not reducing defense
  • Redesign Suspend to work as it was basically bugged to work anyway
  • Dramatically increase the talent level of talents gained from Painful Agony
  • Remove cooldown from Inner Tentacles
  • Increase Digest execute requirement from 10% to 20%
  • Reduce Digest cooldown to 12 from 15
  • Reduce Consume Whole cooldown to 14 and clarify insanity gain
  • Revise The Home Which Is Not
  • Add a self destruct to the Worm that Walks pet
  • Fix Monolith Armor deleting itself
  • Fix Grand Oration AoE display
  • Fatebreaker's damage redirect now lasts a full turn
  • Nihil, Atrophy, and Jinx will now be removed if line of sight with the source remains broken for 2 turns
  • Fix Atrophy triggering on sustains
  • Reduce Entropic Gift insanity gain from 20 to 10
  • Increase insanity gain of Netherblast from 8 to 11 and increase base damage
  • Reduce cost of Spatial Distortion from 20 insanity to 10
  • Reduce weapon damage of Defiled Blood to 10%
  • Rearrange the order Doom prophecies are learned in to Ruin, Treason, Madness
  • Increase damage on Prophecy of Ruin
  • Increase the level range and remove material tier from some of the forbidden tomes
  • Significantly revise and bug fix The Writhing Ring
  • Reduce WO Worm that Walks global speed to 80% from 100%
  • Fixed tentacle trees event to only be usable once and not block movement
  • Fixed the Font of Sacrifice to correctly only offer 3 choices, not the debug version 20 ;) I hope you all enjoyed the bug while it lasted!
  • Demented can be used in Embers of Rage campaign

  • Fixed Dead Hide
  • Fixed Solid Shell
  • Bosses in tier1 zones will not try to escape (following 1.6 change)
  • Steamgun Mastery & Psyshot talenst give Shoot talent when learnt
  • Update escorts to 1.6 standard
  • New artifact: the Laser Powered Giant Smasher
  • Added correct attachement spots for Orcs. How the hell did I miss that!
  • Update for 1.6 cosmetic options
  • Shoes of Moving Quickly now have a player doll tile
  • Much more fitting door opening sound for doors in the GEM and the Palace of Fumes
  • Tinker escort in the infinite dungeon will give a teleporter to the tinker's cave
  • Set Kruk Cloak as a cosmetic item
  • Update for ToME 1.6 combat training talents
  • Disabled Sawrd
  • Fixed size category of the pre-endbosses
  • Fixed Nimbus of Enlightenment
  • Tinkers in Age of Ascendancy campaign start with the tinker's cave on the worldmap
  • When Tinker's Cave is placed, it's location is now random like any other zone encounters, to prevent it being over-rideable or orveridden
  • Sawbutchers start with known Steamsaw tinker
  • Gunslingers and Psyshots start with known Steamgun tinker
  • AAAs can not be sent to Kruk from other campaigns

  • Wheel of Fate marked as not usable by NPCs
  • Bosses in tier1 zones will not try to escape (following 1.6 change)
  • Rogroth and the Planar Controller can equip their artifacts
  • Bleak Outcome debuff expires when the source is killed
  • Clarify the range of Fearfire Mantle
  • Fixed Overwhelming Fear lost message
  • Plaguefire explosions will only affect foes


DarkGod turns evil: Microtransactions, but the good kind!

So let's say it upfront: no pay2win to be seen in there!

Now that this is said let's get into more fun details. So if there is no pay2win, what will there be?
Many things! Mostly fun and/or cosmetic stuff as could be expected:

  • Additional Online Item's Vault space. Any purchase of the game, expansions, donations, ... already provides vault space, but this is for even MOAR!
  • Various cosmetic themed packs. These will include shimmer appearances for most items, plus sometimes/usually additional cosmetic options for playable races. "But DarkGod, I want to have racial cosmetic options without giving you more money!" Well, fear not for 1.6 does bring in a ton of those for free anyway. The more, the merrier! Oh and do not go around thinking you'll expansive cosmetic items one by one! No my good minions, a pack is about 2€ and usualy contains are 50 items appearances and a whole set of racial customization options!
  • Community events! Now for something a little different. In Tales of Maj'Eyal community events are temporary stuff that are sent by the server to any currently playing character. The server randomly sends two of those, called the Bearscape and the Lost Land of Poosh, to players automatically. There are many more, like seasonal ones, or ones only I can push when I feel like it. Now players will be able to acquire the ability to trigger either the Bearscape or Poosh themselves, in addition to the random server pushes that are not changing. But wait there is more! They are still community events, so whenever somebody buys and triggers one, all players currently online will benefit!
  • I don't like pay2win. I really really don't. So instead of doing pay2win, I've decided to add a pay2die system instead! If you think your character is too strong, that nothing can kill you as you stride effortlessly through the toughest of foes, just buy this option and get a few level 500 god-level horrors randbosses summoned on you! Death is guaranteed! You can even boast online by showing off what horrible horrible creatures are about to kill you!

To be perfectly clear: this is just a way for people who want to support the game to do so while getting a few cosmetic/fun stuff out of it. The game itself is free/cheap and will keep on being so because making my game accessible to more people is something I truly believe in. Also I'm an evil god of darkness, thus I want to reach as many minions as possible; you know to eat their souls and stuff... :)

The first three cosmetic packs are now available: Pyromania, Iron Throne Couture and Plumpkin Daper!

A huge thanks to all those contibuted to help make this release the biggest release ever!
Have fun in Eyal!

Syndicate content