Quest Tracking Preferences
KoLMafia internally tracks progress for a number of quests. These are stored as preferences in settings\[charactername]_prefs.
Quests Granted by Familiars
questF01Primordial
=unstarted
questF02Hyboria
=unstarted
questF03Future
=unstarted
questF04Elves
=unstarted
questF05Clancy
=unstarted
Guild Quests
questG01Meatcar
Possible values: unstarted, started
questG02Whitecastle
=unstarted
questG03Ego
=started
questG04Nemesis
=started
questG05Dark
=unstarted
questG06Delivery
=unstarted
Quests Granted by Items
questI01Scapegoat
=unstarted
questI02Beat
=unstarted
Council Quests
questL02Larva
=finished
questL03Rat
=finished
questL04Bat
=finished
questL05Goblin
=finished
questL06Friar
=finished
questL07Cyrptic
=finished
questL08Trapper
=finished
questL09Lol
=unstarted
questL09Topping
=finished
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
oilPeakProgress
oilPeakProgress tracks the remaining pressure at Oil Peak. It decreases as the player reduces the pressure in the zone.
Possible values: 0.00 - 310.66
- 310.66: Pressure not yet reduced
- 0.00: Subquest completed
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;
}
questL10Garbage
questL10Garbage tracks the player's progress in the Giant Trash Quest.
Possible values: unstarted, started, step1-step?, finished
- unstarted: quest not yet received from the Council
- started: quest received from the Council
- step2: giant beanstalk grown
- step3 - step6: four Immateria acquired
- step7: S.O.C.K. acquired
- [...]
- finished: quest complete
questL11MacGuffin
=finished
questL11Black
Tracks Black Market discovery
questL11Manor
=finished
wineCellarProgress
=3
questL11Desert
Explore the Arid, Extra-Dry Desert to find the pyramid mentioned in your father's journal.
questL11Pyramid
Make your way into the depths of the Ancient Buried Pyramid.
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");
questL11Ron
Ron Copperhead
zeppelinProtestors
Tracks protesters removed
questL11Shen
Shen Copperhead
questL11Palindome
=finished
questL11Worship
=finished
questL11Business
questL11Curses
questL11Doctor
questL11Spare
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 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 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 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
hiddenTavernUnlock tracks whether or not you have unlocked the Hidden Tavern during the Quest for the Holy MacGuffin.
Possible values: 0 - N
- When the value is equal to your number of ascensions, the Tavern is unlocked
- When the value is any other number, the Tavern is locked
questL12War
=finished
warProgress
Possible values for the progress of the Isle War:
- unstarted: We can still visit the small version of the Mysterious Island
- started: The war is in progress
- finished: The final boss or bosses were defeated
sideDefeated
Which side of the Isle War was defeated during the Level 12 quest.
Possible values:
- neither
- hippies
- fratboys
- both
questL13Final
Progress for the Naughty Sorceress Quest.
- unstarted - Lair is closed
- started - Contest booth is available
- step1 - Coronation ceremony
- step2 - Hedge maze
- step3 - Tower door
- step4 - Wall of skin
- step5 - Wall of meat
- step6 - Wall of bone
- step7 - Mirror
- step8 - Your Shadow
- step9 - Naughty Sorceress
- step10 - Prism awaits breaking
- finished - Gash is available
Miscellaneous Quests
questM01Untinker
=finished
questM02Artist
=unstarted
questM03Bugbear
=unstarted
questM04Galaktic
=started
questM05Toot
=unstarted
questM06Gourd
=unstarted
questM07Hammer
=unstarted
questM08Baker
=unstarted
questM09Rocks
=unstarted
questM10Azazel
=finished
questM11Postal
=unstarted
questM12Pirate
=finished
questM13Escape
=unstarted
questM14Bounty
=unstarted
questM15Lol
=started
questM16Temple
Dakota Fanning's quest to find the Hidden Temple
questM17Babies
Lady Spookyraven's Babies
questM18Swamp
Marty and His Swamp Problems
questM19Hippy
Hippy Give a Hippy a Boat...
questM20Necklace
Lady Spookyraven's Necklace
questM21Dance
Lady Spookyraven's Dance
questM22Shirt
The Shirt Off His Lack of Back
questM23Meatsmith
Helping Make Ends Meat
- unstarted
- started
- step1 - Got a check to the Meatsmith.
- finished - Returned check to the Meatsmith to the Meatsmith.
Sea Quests
questS01OldGuy
=finished
questS02Monkee
=unstarted
merkinQuestPath
merkinQuestPath indicates which path the player has chosen in the Mer-Kin Deepcity, during the Sea Monkees Quest.
Possible values:
- none: Player has not yet chosen a path
- gladiator: Player will fight Yog-Urt, Elder Goddess of Hatred
- scholar: Player will fight Shub-Jigguwatt, Elder God of Violence
- done: Player has completed the Sea Monkees Quest
skateParkStatus
Bug Bear Invasion Properties
mothershipProgress
mothershipProgress tracks progress of level completion in the Bugbear Mothership. It goes from 0 to 3 as that level is cleared.
Possible values: 0-3
statusEngineering
statusGalley
statusMedbay
statusMorgue
statusScienceLab
statusSonar
statusSpecialOps
statusWasteProcessing
All of these work the same way.
- 0-x (integers): insufficient bodata collected)
- open: all biodata collected and zone accessible
- unlocked: biodata collected but zone not yet accessible
- cleared: zone has been cleared
Quests from the Elemental Planes
Spring Break Beach
The Elemental Plane of Sleaze
questESlMushStash
Jimmy's Quest to collect receipts from the Fun-Guy Mansion.
questESlAudit
Taco Dan's Quest to collect receipts from the Fun-Guy Mansion.
questESlBacteria
Broden's Quest to collect bacteria from the Fun-Guy Mansion.
questESlCheeseburger
Jimmy's Quest to collect ingredients from the Sloppy Seconds Diner.
questESlSprinkles
Taco Dan's Quest to collect ingredients from the Sloppy Seconds Diner.
questESlCocktail
Broden's Quest to collect sprinkles from the Sloppy Seconds Diner.
questESlSalt
Jimmy's Quest to collect salt from the Sunken Yacht.
questESlFish
Taco Dan's Quest to collect fish meat from the Sunken Yacht.
questESlDebt
Broden's Quest to collect broupons from the Sunken Yacht.
Conspiracy Island
The Elemental Plane of Spooky
questESpOutOfOrder
Deep Dark Jungle - Out of Order
questESpJunglePun
Deep Dark Jungle - Pungle in the Jungle
questESpSmokes
Deep Dark Jungle - Everyone's Running Out of Smokes
questESpClipper
Mansion of Dr. Weirdeaux - The Big Clipper
questESpSerum
Mansion of Dr. Weirdeaux - Serum Sortie
questESpEVE
Secret Government Laboratory - Choking on the Rind
questESpFakeMedium
Secret Government Laboratory - Fake Medium at Large
questESpGore
Secret Government Laboratory - Gore Tipper