Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

This taskmaster also had 170 lessons remaining when I first met him, instead of 5. If this isn't a bug then I don't know what it is xD

(1 edit)

I also discovered a much bigger bug: The Infernal Strike event will stay applied forever even after leaving the floor it was triggered on. I tried to use a Summon Knight Scroll and the Infernal Strike message appeared, even though I had no events triggered on this floor.

Quitting and reloading the game  doesn't remove it, but shutting down the game, restarting it and reloading the save file seems to be able to remove it. I could cast the scroll once again.


Regarding the Trainers and Taskmaster, it seems they're not properly initialized as a result of the Legendary Land (as opposed to be placed randomly).  I've added in a catch in this land alone that sweeps through and assigns random skills to be trained to the Trainers, and 6 Lessons to any Taskmasters, so hopefully that solves that.  Still looking into the Infernal Strike situation.

Alright, for Infernal Strike, or any related type of Event that blocks a spell type from being cast, it sets a flag in a string called spelltypeblocked.  My gut says that flag isn't getting removed, and when I checked the logical spot to remove it (a function called startnewlevel()) I was right.  However, it WAS allegedly being removed in maze() (the function that designs procedural maps) as well as in the function that loads the maps for any Legendary Lands you enter.  I can't think of a way that a new level could start without first either designing a new map in maze() or loading a new legendary land, so it feels to me like the flag resets SHOULD have been happening.  I've moved that code now into startnewlevel() which gets called every time you go to a new map, no matter what type of map that is.  Logically, having the small code there should fix the flags, but logically they also should have been fixed before...  so, we'll have to see if this does it or not.

Okay, thanks for the insight. I have no idea how it's actually coded so I can only help by making assumptions.