Hi, these 2 trainers in the Ancien Sanamas Legenday Land have their text glitched out, so you can't read which skill they train. I think I reported a similar bug not long ago, so I don't know if this is related or not.
Viewing post in Caverns of Xaskazien II comments
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.
