CandyNim
Tiller
As of 1.5, the random quarry floors are no longer capable of being infested. I suspect the intended behavior was to make the actual proper Quarry no longer capable of being infested, and as an accidental side product it removed the capacity of random quarry floors in the regular mines from being infested.
Code Analysis:
All the relevant code lives in MineShaft.loadLevel. In 1.4, the decompiled code looked like (removing/reducing irrelevant portions)
The first section has a 4.4% chance of making floor 77377 infested [potentially monster, slime, or dino] (as it had no guard against it), and the second section has a 25% chance of making any regular-mines quarry floors infested. Then, if it is a quarry area or 77377, it sets up quarry stuff and disables slime floors and dino floors. Notably, it doesn't remove the regular infested floors (isMonsterArea).
This means that about 1.1% of the time, floor 77377 would be infested. While this didn't spawn a ladder on 1.4 (the game tries but fails), it does cause frequent chat messages and likely against the intended behavior of the quarry. As such, in 1.5, the code looks very similar except for one addition.
What that means is that the 1.1% bug in the quarry mines had been fixed, but the 25% chance of an infested quarry floor in the regular mines got entirely removed. The 25% chance of making a quarry floor infested, however, remains - it just gets overwritten a handful of lines down. This 25% chance still exists in the 1.6 code, even.
Suggested Fix:
Rather than always setting isMonsterArea to false, check if it's 77377 and only then set isMonsterArea to false. Alternatively, add a check for if it's floor 77377 in the code that creates regular infested floors, so there wouldn't even be a need to set the infested bools to false. As an alternative option, if it was an intended change in 1.5 to remove the capacity for the random quarry mines to be infested (despite not existing in the 1.5 patch notes), remove the 25% chance of quarry floors being infested.
Code Analysis:
All the relevant code lives in MineShaft.loadLevel. In 1.4, the decompiled code looked like (removing/reducing irrelevant portions)
Code:
if (r.NextDouble() < 0.044 && notelevatororotherbadlayouts){
if (r.NextDouble() < 0.5)
{
this.isMonsterArea = true;
}
else
{
this.isSlimeArea = true;
}
if (canDino && r.NextDouble() < 0.5)
{
this.isDinoArea = true;
this.isSlimeArea = false;
this.isMonsterArea = false;
}
}
else if (this.mineLevel < 121 && r.NextDouble() < 0.044 && hasunlockedquarryandnotelevator)
{
this.isQuarryArea = true;
if (r.NextDouble() < 0.25)
{
this.isMonsterArea = true;
}
}
if (this.isQuarryArea || this.getMineArea(level) == 77377)
{
setupquarrytilesheetstuff;
this.isQuarryArea = true;
this.isSlimeArea = false;
this.isDinoArea = false;
}
This means that about 1.1% of the time, floor 77377 would be infested. While this didn't spawn a ladder on 1.4 (the game tries but fails), it does cause frequent chat messages and likely against the intended behavior of the quarry. As such, in 1.5, the code looks very similar except for one addition.
Code:
(still the other stuff)
if (this.isQuarryArea || this.getMineArea(level) == 77377)
{
(still the other stuff)
this.isMonsterArea = false;
}
Suggested Fix:
Rather than always setting isMonsterArea to false, check if it's 77377 and only then set isMonsterArea to false. Alternatively, add a check for if it's floor 77377 in the code that creates regular infested floors, so there wouldn't even be a need to set the infested bools to false. As an alternative option, if it was an intended change in 1.5 to remove the capacity for the random quarry mines to be infested (despite not existing in the 1.5 patch notes), remove the 25% chance of quarry floors being infested.