Difference between pages "Quest Tracking Preferences" and "IntelliJ Setup"

From Kolmafia
(Difference between pages)
Jump to navigation Jump to search
imported>Paladinwhite
 
 
Line 1: Line 1:
{{TOCright}}
 
KoLMafia internally tracks progress for a number of quests. These are stored as preferences in settings\[charactername]_prefs.
 
  
==Quests Granted by Familiars==
+
==== KoLmafia has migrated to the GitHub with gradle builds. ====
===questF01Primordial===
 
=unstarted
 
===questF02Hyboria===
 
=unstarted
 
===questF03Future===
 
=unstarted
 
===questF04Elves===
 
=unstarted
 
===questF05Clancy===
 
=unstarted
 
  
==Guild Quests==
 
===questG01Meatcar===
 
  
===questG02Whitecastle===
+
[https://www.jetbrains.com/idea/ IntelliJ IDEA] is an IDE for developing Java applications. This guide assumes that you have a recent enough version of Java JDK, Ant, and IntelliJ IDEA. Completing [[Compiling from Source]] is a requirement for this guide, although experienced developers can skip to whatever step is appropriate.
=unstarted
 
===questG03Ego===
 
=started
 
===questG04Nemesis===
 
=started
 
===questG05Dark===
 
=unstarted
 
===questG06Delivery===
 
=unstarted
 
  
==Quests Granted by Items==
+
The following instructions are based on IntelliJ IDEA 2021.2 Community Edition. Instructions for other versions/editions of IntelliJ may be slightly different.  The latest version is recommended.
===questI01Scapegoat===
 
=unstarted
 
===questI02Beat===
 
=unstarted
 
  
==Council Quests==
+
== Create a Project ==
===questL02Larva===
+
=== Create a new project ===
questL02Larva tracks the player's progress in the {{kolwiki|Spooky_Forest_Quest|Spooky Forest quest}}.
+
# Start IntelliJ IDEA. In the ''Welcome to IntelliJ IDEA'' dialog, click '''Get from VCS'''.<br>[[File:Intellij-setup-c2021.2-welcome.png|300px]]
 +
# In the ''Get from Version Control'' dialog, select the '''Repository URL''' tab.
 +
## In ''Version control'', select '''GitHub'''.<br>[[File:Intellij-setup-c2021.2-get-from-vcs.png|300px]]
 +
## Add a new repository location. To do so, click the '''+''' button next to ''Repositories''.<br>[[File:Intellij-setup-c2021.2-get-from-vcs-subversion.png|300px]]
 +
## In the ''New Repository Location'' popup, enter the URL to KoLmafia's GitHub repository. If you have a GitHub account and a Personal Access Token, use  git@github.com:kolmafia/kolmafia.git  If you do not have a GitHub account, use  https://github.com/kolmafia/kolmafia.git<br>[[File:Intellij-setup-c2021.2-new-repository-location.png|200px]]
 +
## Click '''OK''' to close the popup.
 +
## Once the repository has been added, '''click the repository URL to highlight it''', then click '''Check Out'''.<br>[[File:Intellij-setup-c2021.2-get-from-vcs-check-out.png|300px]]
 +
# If the ''Destination Directory'' popup appears, choose a directory to check out the working copy.<br>''Caution'': Don't choose a common directory like <samp>C:\Users\&lt;username&gt;\Documents</samp>. Instead, create a new directory under it (by clicking the folder icon) and give it an appropriate name (e.g. <samp>kolmafia</samp>).<br>[[File:Intellij-setup-c2021.2-choose-working-copy-dir.png|200px]]<br>Click '''OK''' to continue.
 +
# IntelliJ will generate a new project. If it asks you whether to add <code>kolmafia.iml</code> to Subversion, you may click '''Cancel''' to skip it
  
*unstarted: quest not yet received
+
=== Add the Gradle Build File ===
*started: quest received from the Council
+
# Open the Gradle Toolbar Item (typically on the right side, and not very large)
*(step1?): (mosquito larva acquired?)
+
# Click the '''+''' button to add a build file
*finished: mosquito larva returned to the Council
+
# Choose build.gradle from the file selector and press Open
 +
#Run Configurations should contain <code>kolmafia [runShadow]</code>. If it does not, continue to the next steps.
 +
#In the Gradle Toolbar click on the elephant to Execute Gradle Task
 +
#A window titled ''Run Anything'' will popup. Search for <code>runShadow</code> and select it
  
===questL03Rat===
+
===How to build and run/debug===
questL03Rat tracks the player's progress in the {{kolwiki|Typical_Tavern_Quest|Typical Tavern quest}}.
+
#Click the drop down in the top right and select the desired option
 
+
##<code>kolmafia [runShadow]</code> is the application itself
*unstarted: quest not yet received
+
##<code>Tests in 'KoLMafia'</code> are the unit tests
*started: quest received from the Council
+
#Click the play button to build and run
*step1: spoke to Bart Ender in the Typical Tavern
+
#Or click the bug button to build and debug
*step2: (turned off the Rat Faucet?)
 
*finished: quest complete
 
 
 
===questL04Bat===
 
questL04Bat tracks the player's progress in the {{kolwiki|Boss_Bat_Quest|Boss Bat quest}}.
 
 
 
*unstarted: quest not yet received
 
*started: quest received from the Council
 
*step1-step3: demolished 1-3 walls in the Bat Hole
 
*(step4?): (Boss Bat defeated?)
 
*finished: quest completed
 
 
 
===questL05Goblin===
 
questL05Goblin tracks the player's progress in the {{kolwiki|The_King_of_Cobb's_Knob_Quest|The King of Cobb's Knob quest}}.
 
 
 
*unstarted: quest not yet received
 
*started: quest received from the Council
 
*step1: Cobb's Knob map decrypted
 
*finished: Knob Goblin King defeated
 
 
 
===questL06Friar===
 
questL06Friar tracks the player's progress in the {{kolwiki|Deep_Fat_Friars'_Gate_Quest|Friars' quest}}.
 
 
 
*unstarted: quest not yet received
 
*started: quest received from the Council
 
*finished: cleansed the taint
 
 
 
===questL07Cyrptic===
 
questL07Cyrptic tracks the player's progress in the {{kolwiki|Undefile_the_Cyrpt_Quest|Undefile the Cyrpt quest}}.
 
 
 
*unstarted: quest not yet received
 
*started: quest received from the Council
 
*finished: Bonerdagon defeated
 
 
 
===questL08Trapper===
 
 
 
questL08Trapper tracks the player's progress in the {{kolwiki|Mt._McLargeHuge_Quest|Mt. McLargeHuge Quest}}.
 
 
 
* unstarted: quest not yet received from the Council
 
* started: quest received from the Council
 
* step1: cheese and ore requested by the Trapper
 
* step2: cheese and ore returned to the Trapper
 
* step3: discovered the stairs up to the Mist-Shrouded Peak (via either route)
 
* step4: fought at least one yeti
 
* step5: defeated the monster at the top of the Peak
 
* finished: returned the fur to the Trapper (quest complete)
 
 
 
===questL09Lol===
 
=unstarted
 
===questL09Topping===
 
questL08Trapper tracks the player's progress in the {{kolwiki|Orc_Chasm_Quest|Orc Chasm Quest}}.
 
 
 
* unstarted: quest not yet received from the Council
 
* started: quest received from the Council
 
* step1: bridge built
 
* step2: like, totally got the deets from the Highland Lord
 
* finished: quest complete
 
 
 
====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.
 
 
 
<syntaxhighlight>
 
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;
 
}
 
</syntaxhighlight>
 
 
 
===questL10Garbage===
 
 
 
questL10Garbage tracks the player's progress in {{kolwiki|Giant_Trash_Quest|the Giant Trash Quest}}.
 
 
 
* 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 ({{kolwiki|The_Castle_in_the_Clouds_in_the_Sky_(Basement)|Castle Basement}} open)
 
* step8: {{kolwiki|The_Castle_in_the_Clouds_in_the_Sky_(Basement)|Castle Ground Floor}} open
 
* step9: {{kolwiki|The_Castle_in_the_Clouds_in_the_Sky_(Basement)|Castle Top Floor}} open
 
* finished: quest complete
 
 
 
===questL11MacGuffin===
 
questL11MacGuffin tracks the player's progress in the {{kolwiki|Quest_for_the_Holy_MacGuffin|Holy MacGuffin quest}}.
 
 
 
*unstarted:
 
*started: quest received from the Council
 
*step1: Black Market located (blackForestProgress == 5) OR forged identification documents purchased
 
*step2: retrieved your father's MacGuffin diary
 
 
 
====questL11Black====
 
questL11Black tracks the player's progress in the {{kolwiki|Quest_for_the_Holy_MacGuffin|Black Market portion of the Holy MacGuffin quest}}.
 
 
 
*unstarted: quest not yet received
 
*started:  quest received from the Council
 
*step1: spent at least one turn in the Black Forest
 
*step2: Black Market found
 
*step3: forged identification documents purchased
 
*finished: MacGuffin diary acquired
 
 
 
=====blackForestProgress=====
 
blackForestProgress tracks the player's progress in [http://kolmafia.us/showthread.php?15995 discovering the Black Market].
 
 
 
*0: no progress in exploring the Forest
 
*1: blackberry bushes located
 
*2: black cottage located
 
*3: black mineshaft located
 
*4: black church located
 
*5: black market located
 
 
 
====questL11Manor====
 
questL11Manor tracks the player's progress in the {{kolwiki|Quest_for_the_Holy_MacGuffin#Spookyraven_quest_.28In_a_Manor_of_Spooking|Spookyraven Manor portion of the Holy Macguffin quest}}.
 
 
 
*unstarted: quest not yet received
 
*started: quest received, by reading your father's MacGuffin diary
 
*step1: Spookyraven Manor Cellar opened
 
*step2: recipe: mortar-dissolving solution read
 
*step3: Suspicious Masonry demolished
 
*finished: Lord Spookyraven defeated
 
 
 
=====spookyravenRecipeUsed=====
 
spookyravenRecipeUsed tracks whether and how the player has read recipe: mortar-dissolving solution
 
 
 
*none: recipe not yet read
 
*with_glasses: recipe read with Lord Spookyraven's spectacles
 
*no_glasses: recipe read without the spectacles
 
 
 
====questL11Desert====
 
Explore the Arid, Extra-Dry Desert to find the pyramid mentioned in your father's journal.
 
 
 
*unstarted:
 
*started: quest started by reading your father's MacGuffin diary
 
*finished: discovered the Small Pyramid
 
 
 
=====desertExploration=====
 
*0: haven't yet started exploring the Desert
 
*1-99: Desert exploration in progress
 
*100: Desert fully explored
 
 
 
====questL11Pyramid====
 
questL11Pyramid tracks the player's progress in the {{kolwiki|Quest_for_the_Holy_MacGuffin#A_Small_Pyramid|Pyramid portion of the Holy Macguffin quest}}.
 
 
 
* unstarted: Pyramid not yet discovered
 
* started: Pyramid discovered
 
* step1: Middle Chamber opened
 
* step2: The Lower Chambers opened
 
* step3: Control Room opened
 
* finished: MacGuffin retrieved (quest complete)
 
 
 
=====gnasirProgress=====
 
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>
 
 
 
====questL11Ron====
 
Ron Copperhead
 
 
 
=====zeppelinProtestors=====
 
Tracks protesters removed
 
 
 
====questL11Shen====
 
Shen Copperhead
 
 
 
====questL11Palindome====
 
questL11Palindome tracks the player's progress in the {{kolwiki|Quest_for_the_Holy_MacGuffin#The_Palindome|Palindome portion of the Never Odd or Even quest}}.
 
 
 
* unstarted:
 
* started: spent at least one turn Inside the Palindome
 
* step1: arranged the photos in Dr. Awkward's office
 
* step2: read 2 Love Me, Vol. 2
 
* step3: met Mr. Alarm in his office (received the wet stunt nut stew quest)
 
* step4: cooked wet stunt nut stew
 
* step5: returned the stew to Mr. Alarm
 
* finished: defeated Dr. Awkward
 
 
 
====questL11Worship====
 
hiddenApartmentProgress tracks progress through the {{kolwiki|Quest_for_the_Holy_MacGuffin#Hidden_Temple_quest_.28Gotta_Worship_Them_All.29|Hidden Temple portion of the Quest for the Holy MacGuffin}}.
 
 
 
*unstarted: quest not yet received
 
*started: quest received, by reading your father's MacGuffin diary
 
*step1: (Hidden Temple opened?)
 
*step2: (Nostril of the Serpent acquired?)
 
*step3: Hidden City uncovered
 
*step4: four stone spheres acquired
 
*finished: ancient amulet acquired from the Protector Spectre
 
 
 
=====questL11Business=====
 
*unstarted:
 
*started: Hidden Office Building opened
 
*finished: crackling stone sphere acquired
 
 
 
======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
 
 
 
=====questL11Curses=====
 
*unstarted:
 
*started: Hidden Apartment Building opened
 
*finished: moss-covered stone sphere acquired
 
 
 
======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
 
 
 
=====questL11Doctor=====
 
*unstarted:
 
*started: Hidden Hospital opened
 
*finished: dripping stone sphere acquired
 
 
 
======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.
 
* 6: Encountered the Protector Spirit
 
* 7: Found the stone sphere
 
* 8: Placed the stone sphere in the relevant overgrown shrine
 
 
 
=====questL11Spare=====
 
*unstarted:
 
*started: Hidden Bowling Alley opened
 
*finished: scorched stone sphere acquired
 
 
 
======hiddenBowlingAlleyProgress======
 
hiddenBowlingAlleyProgress tracks progress through the {{kolwiki|Hidden Bowling Alley}} during the Quest for the Holy MacGuffin.
 
 
 
* 0: Haven't opened the Hidden Bowling Alley
 
* 1: Hidden Bowling Alley is open for adventuring
 
* 2-5: Number of times bowled is 1 less than hiddenBowlingAlleyProgress
 
* 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.
 
 
 
* 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===
 
questL12War tracks progress during the {{kolwiki|Mysterious Island Quest}}.
 
 
 
* unstarted: quest not yet received from the Council
 
* started: quest received
 
* step1: War started
 
* finished: War ended; boss defeated (quest complete)
 
 
 
====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
 
 
 
===questL13Warehouse===
 
the final quest if you ascend as {{kolwiki|Actually Ed the Undying}} where you adventure in {{kolwiki|The Secret Council Warehouse}}.
 
*unstarted
 
*started
 
*finished
 
Current progress in the warehouse is tracked in warehouseProgress.
 
 
 
==Miscellaneous Quests==
 
===questM01Untinker===
 
=finished
 
===questM02Artist===
 
=unstarted
 
===questM03Bugbear===
 
=unstarted
 
===questM04Galaktic===
 
=started
 
===questM05Toot===
 
=unstarted
 
===questM06Gourd===
 
=unstarted
 
===questM07Hammer===
 
=unstarted
 
===questM08Baker===
 
=unstarted
 
===questM09Rocks===
 
=unstarted
 
===questM10Azazel===
 
questM10Azazel tracks the player's progress in the {{kolwiki|Azazel,_Ma_Belle|Azazel, Ma Belle quest}}.
 
 
 
*unstarted: quest not yet received
 
*started: received the quest, from Azazel or the stranger in Moaning Panda Square
 
*finished: returned Azazel's talismans to him
 
 
 
===questM11Postal===
 
=unstarted
 
===questM12Pirate===
 
questM12Pirate tracks the player's progress in the {{kolwiki|Cap'm Caronch Quest}}.
 
 
 
*unstarted:
 
*started: Cap'm Caronch's Map found
 
*step1: acquired Cap'm Caronch's nasty booty from the booty crab
 
*step2: received the Orcish Frat House blueprints
 
*step3: retrieved Cap'm Caronch's dentures from the Frat House
 
*step4: returned the dentures to the Cap'm and accepted the beer pong challenge
 
*step5: won a game of beer pong
 
*step6: acquired pirate fledges
 
*finished: unlocked Belowdecks
 
 
 
===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===
 
questM20Necklace tracks the player's progress in {{kolwiki|Spookyraven_Manor_Quest#Lady_Spookyraven.27s_Necklace_.28First_Floor.29|retrieving Lady Spookyraven's necklace}}.
 
 
 
* unstarted: quest not yet received
 
* started: quest received from the telegram
 
* step1: billiards room key found
 
* step2: (pool skill increased at least once?)*
 
* step3: library key found
 
* step4: necklace found
 
* finished: necklace returned to Lady Spookyraven (quest complete)
 
 
 
<nowiki>*Needs spading.</nowiki>
 
 
 
===questM21Dance===
 
questM21Dance tracks the player's progress in the Second Floor portion of the {{kolwiki|Lady_spookyraven's_dance|Spookyraven Manor quest}}.
 
 
 
*unstarted:
 
*started: quest received, from Lady Spookyraven's ghostly telegram
 
*step1: spoken to Lady Spookyraven on the Second Floor
 
*step2: (???)
 
*step3: returned Lady Spookyraven's dancing things to her
 
*finished: danced with Lady Spookyraven in the Ballroom
 
 
 
===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.
 
 
 
===questM24Doc===
 
What's Up, Doc?
 
* unstarted
 
* started
 
* step1 - Collected the Herbs and need to return them to Doc Galaktik
 
* finished
 
 
 
==Sea Quests==
 
===questS01OldGuy===
 
=finished
 
===questS02Monkee===
 
=unstarted
 
 
 
When Mom is rescued the Quest is completed
 
 
 
=finished
 
 
 
====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===
 
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 01:09, 5 December 2023

KoLmafia has migrated to the GitHub with gradle builds.

IntelliJ IDEA is an IDE for developing Java applications. This guide assumes that you have a recent enough version of Java JDK, Ant, and IntelliJ IDEA. Completing Compiling from Source is a requirement for this guide, although experienced developers can skip to whatever step is appropriate.

The following instructions are based on IntelliJ IDEA 2021.2 Community Edition. Instructions for other versions/editions of IntelliJ may be slightly different. The latest version is recommended.

Create a Project

Create a new project

  1. Start IntelliJ IDEA. In the Welcome to IntelliJ IDEA dialog, click Get from VCS.
    Intellij-setup-c2021.2-welcome.png
  2. In the Get from Version Control dialog, select the Repository URL tab.
    1. In Version control, select GitHub.
      Intellij-setup-c2021.2-get-from-vcs.png
    2. Add a new repository location. To do so, click the + button next to Repositories.
      Intellij-setup-c2021.2-get-from-vcs-subversion.png
    3. In the New Repository Location popup, enter the URL to KoLmafia's GitHub repository. If you have a GitHub account and a Personal Access Token, use git@github.com:kolmafia/kolmafia.git If you do not have a GitHub account, use https://github.com/kolmafia/kolmafia.git
      Intellij-setup-c2021.2-new-repository-location.png
    4. Click OK to close the popup.
    5. Once the repository has been added, click the repository URL to highlight it, then click Check Out.
      Intellij-setup-c2021.2-get-from-vcs-check-out.png
  3. If the Destination Directory popup appears, choose a directory to check out the working copy.
    Caution: Don't choose a common directory like C:\Users\<username>\Documents. Instead, create a new directory under it (by clicking the folder icon) and give it an appropriate name (e.g. kolmafia).
    Intellij-setup-c2021.2-choose-working-copy-dir.png
    Click OK to continue.
  4. IntelliJ will generate a new project. If it asks you whether to add kolmafia.iml to Subversion, you may click Cancel to skip it

Add the Gradle Build File

  1. Open the Gradle Toolbar Item (typically on the right side, and not very large)
  2. Click the + button to add a build file
  3. Choose build.gradle from the file selector and press Open
  4. Run Configurations should contain kolmafia [runShadow]. If it does not, continue to the next steps.
  5. In the Gradle Toolbar click on the elephant to Execute Gradle Task
  6. A window titled Run Anything will popup. Search for runShadow and select it

How to build and run/debug

  1. Click the drop down in the top right and select the desired option
    1. kolmafia [runShadow] is the application itself
    2. Tests in 'KoLMafia' are the unit tests
  2. Click the play button to build and run
  3. Or click the bug button to build and debug