Created a quick fix for the bug that causes Silva to crash the game in GC6. Praying to Silva there will spawn wolves instead of starting an earthquake:
In gods.cpp:
void silva::PrayGoodEffect()
{
// ...
if(!game::GetCurrentLevel()->IsOnGround() && !game::GetCurrentLevel()->GetLevelScript()->IsZombieLevel())
{
ADD_MESSAGE("Suddenly a horrible earthquake shakes the level.");
// ...
}
In script.h:
class levelscript : public scriptwithbase
{
// ...
SCRIPT_TRUTH_WITH_BASE(IsCatacomb);
SCRIPT_MEMBER_WITH_BASE(festring, EnterImage);
SCRIPT_MEMBER_WITH_BASE(v2, EnterTextDisplacement);
SCRIPT_TRUTH_WITH_BASE(IsZombieLevel);
};
In script.cpp:
void levelscript::InitDataMap()
{
// ...
INIT_ENTRY(EnterTextDisplacement);
INIT_ENTRY(IsZombieLevel);
}
In dungeon.dat:
Level ZOMBIE_LEVEL;
{
Rooms = 1;
IsZombieLevel = true;
IgnoreDefaultSpecialSquares = true;
MonsterAmountBase = 20;
LOSModifier = 24;
FillSquare = FLINT solidterrain(GROUND), GNEISS earth;
//...
}
Tomorrow I'll poke around and see if I can figure out why the earthquake causes the crash on that level (if anyone knows anything about this any info would be greatly appreciated), but failing that this should work nicely.