Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
When using the adventure spawner ability, the talent levels of each ability decide what you spawn, and you'll see in the talent level preview what each ability is changing and the current settings.
-if there's any issues tell me and I'll fix it.
-and don't worry, everything about this addon is a "hacky solution" so I'm sure it'll fit in with everything else perfectly.
I'll need to redownload TOME and remember how to do stuff with it, but I'll try updating it some time tomorrow or the day after.
Here is my solution: https://imgur.com/a/DPXUQEm
I moved the call to after a finishEntity call because I saw there was a resolve(true, nil) call inside it that's also called before the custom_birthend call in the player's birth code in Game.lua, and that was about it. If you're not ok with this fix or would just prefer me to, I will try to publish a new version of this addon tomorrow.
It's honestly working perfectly fine so far, I'm pretty happy I managed to make it work even if just like this. Having a party of a bunch of Wanderers is a must. They're all getting their own trees and stuff, it's wild.
I just moved the call somewhere else and it seems to work.
I guess that's fine, I might consider doing that, having different versions of the same addon sounds ok. Personally I'd rather just update yours because I'm really not knowledgeable enough and stuff about modding and ToME's internals at all, and the vast majority of it is your work. But if I have your permission I will think about it, I can add you as a contributor and stuff so it sounds alright like that.
That said I haven't found a solution yet, I tried to make some changes but they haven't worked so far sadly. I really thought it was gonna work, I tried adding a custom_birthend call to the addon but although it made the Wanderer dialog show up it didn't work so I have no idea to go, sounds like some complicated birth/actor stuff that would take a significant greater amount of effort to fix, so I'm thinking if I really wanna do that or not, I'm stopping here for today at least.
I'll happily apply an update if you do find a solution.
-that said, if you were interested you could also just make your own version of the addon, updating/changing it as you see fit, and then have me link to it from this page given you seem to be much more energetic about working on it than I am at this point.
/(wish steam allowed transferring ownership of workshop items)
I'm looking into the spawn talent in talents.lua in the addon, around line 300 there's a finishEntity call which I think is where all the birth stuff is happening. ToME's internals at this point get pretty complicated so I'm still looking things up to make sure this is gonna work but I think that if this callback is somehow called after this finishEntity call, everything's gonna work.
Gonna keep looking up stuff to see if this idea will really work.
I wasn't sure if it would be possible to make Wanderers work when I first started looking into it but now I'm fairly certain they can work. I don't really have any strong basis but for me everything points to the lack of a custom_birthend call. Wanderers are the only class to have this attribute (line 152 of Adventurer.lua) and it's where the Wanderer Seed is set.
Not having the seed set allows them to be birthed on level 1 just fine, but without any trees due to the lack of said call. When they level up, the game tries to assign them a new generic tree (in line 156 of Adventurer.lua) but finds no seed (or rather the generic trees) and freaks out.
I'm pretty sure that if the mod makes the game call the custom_birthend at some point, just after the Wanderer is created, it will work. This call should assign them a seed, 3 class trees and a generic tree, and level ups will be fine too.
I'm gonna be trying to look into this, if I find anything I'll be back here.
My understanding is the only abilities in game that can disable sustains are those that specifically target physical, magical, or mental sustains. So sustains that aren't any of those things can't actually be targeted by those kind of abilities unless some mod or update added new such abilities that didn't follow that tradition.
It's possible some other effect I didn't account for could turn them off like something related to death, AI, or whatever, but if it was something you observed specifically in the past that is no longer the case it was most likely a bug or oversight with some addon or in a TOME update that was later fixed, as it seemed pretty clear that TOME was very careful with never having any abilities that could disable non-typed sustains.
If you want to list what addons you're running and what exactly you were doing when you experience such an issue I might be able to look for a solution, or people who are running those addons would know not to run this addon with them if it's something I can't solve.
I can't spend time looking through my code for a solution that might not even be caused by my code. Even if an issue only happens for you when this addon is enabled, it's often the case that another addon reworks some game aspect without considering compatibility with other addons that alter it thus creating a conflict with any that do.
This addon does probably have some issues too, but if you're going to say the addon doesn't work you need to be specific on what you're running.
would be very unexpected and likely wouldn't wait until you were level 19 to start happening.
If you know how to use dev mode you can check if this is what's happening using the LUA console to fetch the "IS_ADVENTURE_PARTY_MEMBER" value from any NPC you're hoping to kill for EXP. If it returns "true" then you'll know the EXP reward is being blocked by this addon but otherwise there's simply no way this addon could cause EXP to not be awarded.
Also worth noting another addon could be breaking the limiters of this addon causing you to become overleveled and thus too high level to gain exp in the zones you're in, which is something that has happened to several people in the past.
Prettymuch everything this mod interacts with is run at least once by the time you finish the first zone with an added party member and return to the world map. If nothing bad happens by then it's pretty safe to say you'll be bug-free for that playthrough.
While I see no reason to be concerned, if you do encounter anything not working correctly leave a message here and I'll be sure to try to find a fix within the day.
IMPORTANT: removeEffectsSustainsTable, removeEffectsSustainsTable, removeEffectsSustainsTable and removeEffectsSustainsTable now take a first src parameter. Addons need updating or will explode!.
Two things to keep in mind tho that could explain it:
1: Difficulty level changes the level of enemies in zones. So on higher difficulties you'll level much faster until you catch up to the zone level, which is especially easy to see early game. As this mod encourages people to play on higher difficulties than they usually do it may be a surprise.
2: The EXP multiplier for the party is based on the EXP multiplier of the party leader, so if you play with a fast leveling character such as a yeek you'll see your whole party level much faster.
I simply changed game.on_tick_end to game.on_tick_end.fcts in the revive talent and it works perfectly fine (if you need revive anyway. I too incompetent to keep my party alive, so I use it every once and a while :-D).
It's unfortunate how it got broken by the patch. I know a project the size of tome is really hard to keep, but that's why APIs and stuff should only show functions to it's users and not attributes, so if the developer needs to change something they can keep a deprecated function which doesn't break compatibility. I don't wanna blame (or similar) anyone for breaking it, just a lesson for the future for anyone who sees this.
The Golemancy.lua file seems to not do the on_tick_end thing anymore, it looks like a simple call to invoke_golem now, if you're interested. But changing it and making sure it works fine would be a pain, I think leaving it like this is fine since it has worked for so long.
I have no idea why it triggers on-tick-end in the first place. Everything was prettymuch a copy/paste of how alchemist golems were handled at the time, and then piggybacked the character creation's code to build characters with stats and equipment akin new characters.
-but yeah kudos for figuring out the issue. I never would have guessed it was something so small and top level. Here I was expecting it to require some huge rework of the addon to get it working.
You're a hero!
Right away on the _M:onTickEndExecute function you can already see the problem. This function would iterate through everything (a bunch of functions) in "on_tick_end" and execute them. Now it iterates through "on_tick_end.fcts". Previously, the game had "on_tick_end" and "on_tick_end_names", now those were replaced by "on_tick_end.fcts" and "on_tick_end.names".
The whole commit is a lot more complicated than that and I didn't go through all the changes because I think I won't understand it, but I'm 99% sure that if the function is queued into "game.on_tick_end.fcts" instead of the current "game.on_tick_end" everything should be fine. I changed just that line with the queueing of the invoke_partner call and it worked in my game, I was able to successfully summon a partner.
And apparently comments can also not be edited for god knows what reason...
Fixing the error is another story, because I don't know why it was done like this in the first place. My instinct was that just calling invoke_partner at this stage instead of putting it on a queue would work, but since it was done like this I suppose it's to not brick something inside the game's engine. I'm hypothesizing that either "ftcs" or "names" is the same as the previous "on_tick_end" structure, which was divided into those two categories to be more organized, have better functionality or something, so queueing the invoke_partner call into one of those two should work. I'll look into those two structures to see if that's really what they are for.
Sorry for the split, there's a ridiculously low 1000 characters limit for comments here...
The invoke_partner function is not called (inside the summon talent's action) after the resting period is done. What is around it gets called, but the reason why this function in particular isn't, is because it is placed on a list or queue(?) of sorts: game.on_tick_end. Anyways after the resting is done, the function that should summon the partner isn't called.
I have a 1.5.5 standalone version of the game and I downloaded a 1.6.6 standalone (1.6.6 -> 1.6.7 was the update that bricked this addon), and in those versions, looking through the console, the game.on_end_tick thing is just a table, but on the newest version, it is a table with two attributes "fcts" and "names", and after trying to summon a partner it has a "1" attribute which is a function, very probably the invoke_partner call...
I will try to copy the source from the .teaa and build it into a new addon or something so I can debug it like you said. Afaik it shouldnt be TOO complicated to figure out what went wrong and hopefully Im right.
Is it possible to have a proper debugger with step execution?
I'll update the description to point out it doesn't work on the latest version. If you want to play with it real bad you can still go back to an older version from https://te4.org/download
If someone else wants to look into fixing it they're welcome to upload a new version based on this addon if they're able to understand the mess that is my code.