The 2011 Annual Roguelike Release Party is getting closer and closer, and I'm trying to get Rings of Valor into a releasable state for it. I'm almost halfway through the to-do list and I think at least some sort of beta phase might be ready on September 18th.
So instead, I ended up with something little different, which requires only seven teams in addition to the player's. I wonder, though, if the tournament is too easy. I seem to able to win it without too much trouble (when playing with a balanced team). I'm planning to improve the AI players, but I'm also going to increase the player's control over the team in matches. I might have to discard that plan.
During the development of this version, my dislike for C strings grew stronger due to the bugs they caused (mostly because of my lack of understanding how they work). Sadly, their use is required as libtcod likes to take everything in const char *.
std::string and call its c_str() function whenever a variable needs to deal with libtcod. I feel a bit stupid for not doing this earlier. Makes things so much easier.
What else... Ah, yes; weird bugs. Here's one: Take a screenshot in menu -- all ranged characters created afterwards do millions of damage.
And the reason for this curious behavior: Gladiator class's calcStats() function was missing calcSpellPen();, which left spellPen [spell penetration] attribute uninitialized. Somehow using libtcod's easy screenshot utility made the variable something else than 0 when creating new Gladiator objects. Beats me how, but that certainly puzzled me for a while.