Here are the differences between the stat numbers in canadv.txt (C) vs. mafia's recommended_stat proxy field (R):
- Cobb's Knob Harem R: 25, C: 20
- Engineering R: -1, C: 130
- Galley R: -1, C: 210
- Inside the Palindome R: 120, C: 65
- The Black Forest R: 110, C: 104
- The Broodling Grounds R: 140, C: 115
- The Clumsiness Grove R: 40, C: 15
- The Glacier of Jerks R: 40, C: 15
- The Haunted Ballroom R: 40, C: 68
- The Haunted Bathroom R: 40, C: 68
- The Haunted Bedroom R: 40, C: 85
- The Haunted Billiards Room R: 20, C: 10
- The Haunted Conservatory R: 20, C: 6
- The Haunted Gallery R: 40, C: 68
- The Haunted Kitchen R: 20, C: 5
- The Haunted Library R: 20, C: 40
- The Maelstrom of Lovers R: 40, C: 15
- The Middle Chamber R: 140, C: 165
- The Upper Chamber R: 150, C: 160
- Whitey's Grove R: 37, C: 34
Looks like we can -- and should -- drop the data file and use mafia's data instead. Very nice!
And... I just went through to see what changes you made and note that you already ditched the data file. Splendid.
As for checking quest properties vs. inventory: the properties are becoming more and more reliable. However, they can still be thrown off if people reinstall, ascend outside mafia, etc. I'm pretty sure quest properties are also not updated on login, whereas inventory and level are. So I feel like combining property checks and other, more reliable checks is the way to go. Also, the chances of someone's property being correctly set is higher if we limit the property check using level/inventory/etc. checks. In short, I agree with your recipe check.
Three further things:
- There's one important fix you didn't take. I wrote that new Airship code expressly because the old code wasn't working. The URL given there will plant the bean, or simply visit if you've already planted it.
- I have also realized that the relay hook won't work unless the script is located in the relay directory. Since that won't interfere with normal script operation, would you be averse to relocating this script to the relay folder? As it is not prefixed by "relay_" it won't clutter the relay menu -- in fact it will also stop cluttering the scripts menu.
- Having a mass of CanAdv output at verbosity 6 is simply not acceptable for several scripts I use and work on, for precisely the reason you gave -- I don't want to be overwhelmed with every little thing. I've added an optional verbosity parameter for can_adv(), posted below. You can set the default to 6 if you like, but this will give calling scripts the option to override that if they so desire.
I believe if you are amenable to those three things, I will be able to re-merge mine with yours. Woohoo!