I have a question about the section of auto_mcd() that checks for MCD access. Do moxie signs really need the meat car to get to the Annoy-o-Tron, or just beach access?
I like to rip things out into separate functions, and hate long if conditions: here's what I'm using at the moment for roughly the same functionality as your if statment. Comments?
Code:
# Checks to see if you can get to an MCD and trys to get you one if you don't.
# Returns true if you now do, false otherwise.
# Heartbreaker's returns false, because it costs turns to set.
boolean has_mcd()
{
# Myst signs have the One True MCD
if (in_mysticality_sign()) return true;
# Muscle signs should buy it if they need it
if (in_muscle_sign()) return (retrieve_item(1, $item[detuned radio]));
# Moxie signs need to be able to get to the beach
if (in_moxie_sign()) return canadv($location[South of the Border], false)
# If it's your first ascension or you're in Bad Moon, tough luck
return false;
}
On the other hand, adopting such a method in zlib would require that zlib include canadv, which itself includes zlib. That seems like a Bad Thing. Mafia may deal well with multiple inclusions of the same file, but
nothing can really deal with circular inclusions.
I'm still curious about the meatcar, though.