Difference between pages "Quest Tracking Preferences" and "Append"

From Kolmafia
(Difference between pages)
Jump to navigation Jump to search
imported>Bale
(→‎Miscellaneous Quests: questM23Meatsmith)
 
m (Changed "slot" to "slott", because "slot" is reserved in KoLMafia and cannot be used as a key variable name)
 
Line 1: Line 1:
{{TOCright}}
+
{{
KoLMafia internally tracks progress for a number of quests. These are stored as preferences in settings\[charactername]_prefs.
+
#vardefine:name|append}}{{
 +
#vardefine:return_type|buffer}}{{
  
==Quests Granted by Familiars==
+
FunctionPage|
===questF01Primordial===
+
name={{#var:name}}|
=unstarted
 
===questF02Hyboria===
 
=unstarted
 
===questF03Future===
 
=unstarted
 
===questF04Elves===
 
=unstarted
 
===questF05Clancy===
 
=unstarted
 
  
==Guild Quests==
+
function1={{Function|
===questG01Meatcar===
+
name={{#var:name}}|
Possible values: unstarted, started
+
aggregate={{#var:aggregate}}|
 +
return_type={{#var:return_type}}|
 +
return_also={{#var:return_also}}|
 +
parameter1={{Param|buffer|original}}|
 +
parameter2={{Param|string|add}}|
 +
p1desc={{Pspan|original}} is the buffer to add to|
 +
p2desc={{Pspan|add}} is a string to add on|
 +
}}|
  
===questG02Whitecastle===
+
function_description=Returns a buffer containing {{pspan|original}} with {{pspan|add}} tacked on to the end.|
=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 {{kolwiki|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 {{kolwiki|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 {{kolwiki|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.
 
  
 +
code1={{CodeSample|
 +
title=Code Sample|
 +
description=Print a list of all items currently equipped.|
 +
code=
 
<syntaxhighlight>
 
<syntaxhighlight>
void comma(buffer b, string s) {
+
buffer gear;
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;
 
}
 
</syntaxhighlight>
 
 
 
===questL10Garbage===
 
=finished
 
===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====
+
foreach slott in $slots[]
Make your way into the depths of the Ancient Buried Pyramid.
+
  if(equipped_item(slott) != $item[none]) {
 +
      if(length(gear) != 0)
 +
        gear = append(gear, ", ");
 +
      gear = append(gear, to_string(equipped_item(slott)));
 +
  }
  
=====gnasirProgress=====
+
print("I am wearing: "+ gear);
gnasirProgress is a nibble bitmask with one bit for each possible way you can advance {{kolwiki|Quest_for_the_Holy_MacGuffin|Gnasir's quest}}. You can parse this with bitwise operators. Here's some code that demonstrates how to use it.
 
<syntaxhighlight>
 
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");
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
}}|
  
====questL11Ron====
+
see_also={{SeeAlso|append_tail|set_length|delete|insert}}|
Ron Copperhead
+
}}
 
 
=====zeppelinProtestors=====
 
Tracks protesters removed
 
 
 
====questL11Shen====
 
Shen Copperhead
 
 
 
====questL11Palindome====
 
=finished
 
 
 
====questL11Worship====
 
=finished
 
 
 
=====questL11Business=====
 
=====questL11Curses=====
 
=====questL11Doctor=====
 
=====questL11Spare=====
 
 
 
 
 
=====hiddenApartmentProgress=====
 
hiddenApartmentProgress tracks progress through the {{kolwiki|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 {{kolwiki|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 {{kolwiki|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 {{kolwiki|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=====
 
hiddenTavernUnlock tracks whether or not you have unlocked the {{kolwiki|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 {{kolwiki|Mysterious Island Quest|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 {{kolwiki|Mysterious Island Quest|Isle War}} was defeated during the Level 12 quest.
 
 
 
Possible values:
 
*neither
 
*hippies
 
*fratboys
 
*both
 
 
 
===questL13Final===
 
Progress for the {{kolwiki|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 {{kolwiki|check to the Meatsmith}}.
 
* finished - Returned {{kolwiki|check to the Meatsmith}} to the Meatsmith.
 
 
 
==Sea Quests==
 
===questS01OldGuy===
 
=finished
 
===questS02Monkee===
 
=unstarted
 
 
 
====merkinQuestPath====
 
merkinQuestPath indicates which path the player has chosen in the {{kolwiki|Mer-Kin Deepcity}}, during the {{kolwiki|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 {{kolwiki|Bugbear Mothership}}. It goes from 0 to 3 as that level is cleared.
 
 
 
Possible values: 0-3
 
 
 
===statusEngineering===
 
===statusGalley===
 
===statusMedbay===
 
===statusMorgue===
 
===statusNavigation===
 
===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===
+
[[Category:String Handling Routines]]
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
 

Latest revision as of 14:21, 8 December 2021

Function Syntax

buffer append(buffer original ,string add )

  • original is the buffer to add to
  • add is a string to add on

Returns a buffer containing original with add tacked on to the end.

Code Sample

Print a list of all items currently equipped.

buffer gear;

foreach slott in $slots[]
   if(equipped_item(slott) != $item[none]) {
      if(length(gear) != 0)
         gear = append(gear, ", ");
      gear = append(gear, to_string(equipped_item(slott)));
   }

print("I am wearing: "+ gear);

See Also

append_tail() | set_length() | delete() | insert()