Quest Tracking Preferences: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Paladinwhite
Some data for Hidden City subquests
imported>Bale
More about Hidden City subquests
Line 30: Line 30:
hiddenApartmentProgress tracks progress through the Hidden Apartment Building during the Quest for the Holy MacGuffin.
hiddenApartmentProgress tracks progress through the Hidden Apartment Building during the Quest for the Holy MacGuffin.


Possible values: 0-100
Possible values: 0, 1, 6-8
* 7: found the stone sphere
* 0: Haven't opened the Hidden Apartment Building
* 8: placed the stone sphere in the relevant overgrown shrine
* 1: Hidden Apartment Building is open for adventuring
* 6: Encountered the Protector Spirit
* 7: Found the stone sphere
* 8: Placed the stone sphere in the relevant overgrown shrine


==hiddenBowlingAlleyProgress==
==hiddenBowlingAlleyProgress==
hiddenBowlingAlleyProgress tracks progress through the Hidden Bowling Alley during the Quest for the Holy MacGuffin.
hiddenBowlingAlleyProgress tracks progress through the Hidden Bowling Alley during the Quest for the Holy MacGuffin.


Possible values: 0-100
Possible values: 0, 1, 6-8
* 7: found the stone sphere
* 0: Haven't opened the Hidden Bowling Alley
* 8: placed the stone sphere in the relevant overgrown shrine
* 1: Hidden Bowling Alley is open for adventuring
* 6: Encountered the Protector Spirit
* 7: Found the stone sphere
* 8: Placed the stone sphere in the relevant overgrown shrine


==hiddenHospitalProgress==
==hiddenHospitalProgress==
hiddenHospitalProgress tracks progress through the Hidden Hospital during the Quest for the Holy MacGuffin.
hiddenHospitalProgress tracks progress through the Hidden Hospital during the Quest for the Holy MacGuffin.


Possible values: 0-100
Possible values: 0-8
* 7: found the stone sphere
* 0: Haven't opened the Hidden Hospital
* 8: placed the stone sphere in the relevant overgrown shrine
* 1: Hidden Hospital is open for adventuring, but haven't bowled.
* 2-5: Number of times bowled is 1 less than hiddenHospitalProgress
* 6: Encountered the Protector Spirit
* 7: Found the stone sphere
* 8: Placed the stone sphere in the relevant overgrown shrine


==hiddenOfficeProgress==
==hiddenOfficeProgress==
hiddenOfficeProgress tracks progress through the Hidden Office Building during the Quest for the Holy MacGuffin.
hiddenOfficeProgress tracks progress through the Hidden Office Building during the Quest for the Holy MacGuffin.


Possible values: 0-100
Possible values: 0, 1, 6-8
* 7: found the stone sphere
* 0: Haven't opened the Hidden Office Building
* 8: placed the stone sphere in the relevant overgrown shrine
* 1: Hidden Office Building is open for adventuring
* 6: Encountered the Protector Spirit
* 7: Found the stone sphere
* 8: Placed the stone sphere in the relevant overgrown shrine


==mothershipProgress==
==mothershipProgress==

Revision as of 23:24, 13 February 2014

KoLMafia internally tracks progress for a number of quests. These are stored as preferences in settings\[charactername]_prefs.

booPeakProgress

booPeakProgress tracks the hauntedness level of A-boo Peak. A value of 18, for instance, indicates that A-boo Peak is 18% haunted.

Possible values: 0-100

chasmBridgeProgress

chasmBridgeProgress tracks the player's progress in building a bridge across the Orc Chasm. A value of 10, for instance, indicates that the bridge is 10 planks long.

Possible values: 0-30

gnasirProgress

gnasirProgress is a nibble bitmask with one bit for each possible way you can advance Gnasir's quest. You can parse this with bitwise operators. Here's some code that demonstrates how to use it.

int gnasirProgress = get_property("gnasirProgress").to_int();
buffer gnasir;
if((gnasirProgress & 1) == 0)
	print("Gnasir wants a stone rose");
if((gnasirProgress & 2) == 0)
	print("Gnasir wants a can of black paint");
if((gnasirProgress & 4) == 0)
	print("Gnasir wants a killing jar");
if((gnasirProgress & 8) == 0)
	print("Gnasir wants a 15 worm-riding manual page");
if((gnasirProgress & 16) == 0)
	print("You need to use a drum machine to ride the worm");

hiddenApartmentProgress

hiddenApartmentProgress tracks progress through the Hidden Apartment Building during the Quest for the Holy MacGuffin.

Possible values: 0, 1, 6-8

  • 0: Haven't opened the Hidden Apartment Building
  • 1: Hidden Apartment Building is open for adventuring
  • 6: Encountered the Protector Spirit
  • 7: Found the stone sphere
  • 8: Placed the stone sphere in the relevant overgrown shrine

hiddenBowlingAlleyProgress

hiddenBowlingAlleyProgress tracks progress through the Hidden Bowling Alley during the Quest for the Holy MacGuffin.

Possible values: 0, 1, 6-8

  • 0: Haven't opened the Hidden Bowling Alley
  • 1: Hidden Bowling Alley is open for adventuring
  • 6: Encountered the Protector Spirit
  • 7: Found the stone sphere
  • 8: Placed the stone sphere in the relevant overgrown shrine

hiddenHospitalProgress

hiddenHospitalProgress tracks progress through the Hidden Hospital during the Quest for the Holy MacGuffin.

Possible values: 0-8

  • 0: Haven't opened the Hidden Hospital
  • 1: Hidden Hospital is open for adventuring, but haven't bowled.
  • 2-5: Number of times bowled is 1 less than hiddenHospitalProgress
  • 6: Encountered the Protector Spirit
  • 7: Found the stone sphere
  • 8: Placed the stone sphere in the relevant overgrown shrine

hiddenOfficeProgress

hiddenOfficeProgress tracks progress through the Hidden Office Building during the Quest for the Holy MacGuffin.

Possible values: 0, 1, 6-8

  • 0: Haven't opened the Hidden Office Building
  • 1: Hidden Office Building is open for adventuring
  • 6: Encountered the Protector Spirit
  • 7: Found the stone sphere
  • 8: Placed the stone sphere in the relevant overgrown shrine

mothershipProgress

=0

oilPeakProgress

=0.00

twinPeakProgress

twinPeakProgress is a nibble bitmask with least significant bit set for the first choice and the most significant for the fourth. You can parse this with bitwise operators. Here's some code that demonstrates how to use it.

void comma(buffer b, string s) {
	if(length(b) > 0)
		b.append(", ");
	b.append(s);
}

boolean mysterious(int progress, int c) { 
	return (progress & (1 << c)) == 0;
}

string twinPeak() {
	int p = get_property("twinPeakProgress").to_int();
	buffer need;
	if(mysterious(p, 0)) need.comma("4 Stench Resistance");
	if(mysterious(p, 1)) need.comma("+50% Item Drop");
	if(mysterious(p, 2)) need.comma("Jar of Oil");
	// Only check for final if first three complete
	if(length(need) == 0) {
		if(mysterious(p, 3))
			return "Need +40% Initiative";
		return "Twin Peak Completed";
	}
	return "Need " + need;
}

warProgress

=unstarted

wineCellarProgress

=3