red_kangaroo wrote
Hm...
Can someone tell me if
this is a suitable approach to fixing the librarian, or would you do it some other way?
game::GetStoryState() == 1
is where the player has dropped off the scroll to Petrus, and has thereby opted to follow the gloomy caves story arc. The game also checks for the existence of Petrus. Changing this causes all sorts of inconsistencies in the dialogues. I suggest we simply implement some more conditions within the case statesments, say:
case 1:
if(game::GetPetrus() && game::GetStoryState() == 1)
ADD_MESSAGE("\"Thou art going to fight Elpuri? Beware! It is a powerful enemy. Other monsters "
"are very vulnerable if surrounded by thy party, but not that beast, for it may "
"slay a horde of thy friends at once with its horrendous tail attack.\"");
else if(game::GetXinrochTombStoryState() == 1)
ADD_MESSAGE("\"Some message about going to the Tomb of Xinroch.\"");
else
ADD_MESSAGE("\"Thou shalt remember: Scientia est potentia.\"");