Nemesis quest script

Posts 302, 303, 307, and 312 are all regarding PM support not being in yet.

Roger. Since those posts are several months old I guess I should ask if there is any intention of updating the script or not or whether there are unofficial versions that have addressed this.
 
I've encountered a bit of a glitch on the Seal Clubber Nemesis quest- if looks like the script is using a dictionary against the hellseal pups and hitting round 31 without the needed "The little hellseal gives you an aggrieved look, raises its head, and emits a high-pitched screeching wail. You hear a loud growling noise somewhere nearby. Uh-oh." message. Once I stopped the script and bought a seal tooth it started using that and proceeded just fine. I'm not sure if there's a way for the script to check for/acquire a seal tooth- if so, that seems to be a possible fix (perhaps it could just acquire 2 when it starts the quest- 1 for the weapon and 1 for later).
 
It looks like Pastamancers are going to need a tweak too. I'm stuck in a Yearbook Camera run right now, so it's going to be some time before I'm a PM again.

I ended up being stuck in a real break from KoL.

If anyone comes up with a fix for the PM nemesis quest, I'll happily share the sourceforge access so the script can be updated.
 
The basics are still the same, but rather than needing to get the crystal sphere, you just need to get the thrall skill. If you have permed it from an earlier run, you can skip the collection part entirely. You just need to learn the skill, then fight it up to level 3 or whatever is the equivalent of before (think it's still 3 though), and move on. And since mafia has values to check for how big your thralls are, it shouldn't take any major work.

But I've been running lazy ascensions and skipping the nemesises. Not for any real reason, mostly because it would have taken doing more than farming my beer lens, 2 bounties, and keys before jumping the gash.
 
And you no longer explicitly "summon" it every combat, so you just keep fighting until you have the cultist robes.
 
I always have to look it up on the wiki each time. The relevant part is this
Pastamancer – Obtain 5 cult memos, decode them, use the decoded cult documents, and summon a Spaghetti Elemental (Note: You can skip getting the cult memos if you permed Bind Spaghetti Elemental.). Then get it to level 3 (Note: You can skip it using an experimental carbon fiber pasta additive) and defeat a cult member to obtain a spaghetti cult robe. Equip it to enter the lair.
Lucky for me, I have the skill permed and the pasta additive, so it's very quick. I ideally this script would detect those and chose a different path depending on that.
 
If you have any of the old items that used to be used to summon a pasta guardian (shimmering tendrils, crumbling rat skull, etc), they also give an immediate boost to a thrall's exp.

Seriously, make sure you perm Bind Spaghetti Elemental the first time you do the PM Nemesis so you never have to worry about that part again. He gives stats, so you can use him in-run to get him to L3 easily.
 
Last edited:
Hey,

I'm sorry for disappearing so utterly... Life has a pretty firm grip on me now.

Ckb1 should be able to administrate the project on SourceForge now. He will probably update the bits that stopped working... so blame him for all the new (and old) bugs!
 
I do indeed have access, and do indeed intend to update this for PMs. But it may take me a while (I am traveling) and I will need to be a PM at some point probably. Anyone else who want to help tweak and update this is welcome.
 
Update nemesis for new use of the volcano map. This should work, but it is untested as I do not have a character with this quest currently open.
 
I just tried running the latest revision of the script (in Mafia 15285):

WARNING: Unreachable code (nemesis.ash, line 759)
Checkpoints cleared.
Internal checkpoint created.
Somehow, the Volcano Island is not accessible!
Restoring initial settings...

(I do have the map in my inventory).
 
Looks like this might be a Mafia bug of not recognizing that the map can be used:
> ash use(1,$item[secret tropical island volcano lair map]);

secret tropical island volcano lair map is unusable.
Returned: true

I will file a bug report, and try and work around this.
 
Updated the script to just check for the existence of the Volcano Map and access to the volcano. Not fully tested, but better than before.
 
Trying to fix the pastamancer's quest

I need some pastamancer that could help me test this code. Since I'm past those steps, I can't check it myself.

Just copy/paste this code over line 1309 (right after // Pastamancer // Thanks to Mr Purple @ kolmafia.us) to right before boolean nemesis_Pastamancer().

Reply to this tread with any errors or comments.

Code:
boolean get_decoded_doc()

	{
		if (have_skill($skill[Bind Spaghetti Elemental]))	return vprint ("You already know how to bind a Spaghetti Elemental.",6);
		if ( item_amount( $item[ decoded cult documents ] ) > 0 && !have_skill($skill[Bind Spaghetti Elemental])) return vprint( "You already have the decoded cult documents. Go learn the skill already!", 6 );
		if ( item_amount( $item[ encoded cult documents ] ) < 1 && !visit_url( "volcanoisland.php?action=npc" ).contains_text( "important cult documents") )
			return vprint( "Could not obtain the encoded cult documents from the volcano NPC.",-1 );
		if ( item_amount( $item[ cult memo ] ) == 5 )
			return ( use( 1, $item[ cult memo ] ) && item_amount( $item[ decoded cult documents ] ) > 0 );
		vprint( "Obtaining cult memos...","green",2 );

		// farm 5 cult memos
		if ( my_adventures() == 0 ) return vprint( "Out of adventures.",-1 );
		cli_execute ( "mood execute" );
		if ( my_buffedstat( $stat[ moxie ] ) < ( 155 + monster_level_adjustment() ) )
			maximize( "item, moxie, -melee, -ML, -familiar -tie", false );
		use_familiar( best_fam("item") );
		cli_execute( "conditions clear" );

		while ( my_adventures() > 0 )
		{
			if ( item_amount( $item[ cult memo ] ) == 5 )
				return ( use( 1, $item[ cult memo ] ) && item_amount( $item[ decoded cult documents ] ) > 0 );

			adventure( 1 ,$location[ The Temple Portico ] );
			vprint( item_amount( $item[ cult memo ] ) + "/5 memos obtained", "green", 4 );
		}
		return vprint( "Out of adventures, exiting...",-1 );
	

}


boolean get_spaghetti()
{
	if ( !get_decoded_doc() ) return vprint( "Could not obtain the decoded cult documents.",-1 );
	vprint( "Making sure the Spaghetti Elemental is our thrall...","green",2 );


	// if we have a Spaghetti Elemental with us
	if ( my_thrall() == $thrall[Spaghetti Elemental]) return true;


	// if we know how to bind a Spaghetti Elemental	
	if ( have_skill($skill[Bind Spaghetti Elemental]))
	{
		use_skill($skill[Bind Spaghetti Elemental]);
		return ( my_thrall() == $thrall[Spaghetti Elemental]);
	}
		
	// if we don't know how to bind a Spaghetti Elemental
	if ( item_amount( $item[ decoded cult documents ] ) > 0 )
		use( 1 , $item[ decoded cult documents ] );
	use_skill($skill[Bind Spaghetti Elemental]);
	return ( my_thrall() == $thrall[Spaghetti Elemental]);
}



boolean get_cult_robe()
{
	if ( available_amount( $item[ spaghetti cult robe ] ) > 0 ) return vprint( "You already have the spaghetti cult robe.", 6 );
	vprint( "Obtaining a spaghetti cult robe...","green",2 );

	// Level up your Spaghetti Elemental and obtain the spaghetti cult robe
	if ( (my_class() == $class[Pastamancer]) && ( my_thrall() == $thrall[Spaghetti Elemental]) && ($thrall[Spaghetti Elemental].level <3) && (get_property("_pastaAdditive") == "false") && ( item_amount( $item[Experimental carbon fiber pasta additive] ) > 0 ) ){
		use(1, $item[Experimental carbon fiber pasta additive]);
	if ( my_adventures() == 0 ) return vprint( "Out of adventures.",-1 );
	cli_execute ( "mood execute" );
	if ( my_buffedstat( $stat[ moxie ] ) < ( 155 + monster_level_adjustment() ) )
		maximize( "item, moxie, -ML, -familiar -tie", false );
	use_familiar( previous_familiar );
	cli_execute( "conditions clear" );
}


	while ( my_adventures() > 0 )
	{
		if ( available_amount( $item[ spaghetti cult robe ] ) > 0 ) return vprint( "Spaghetti cult robe obtained.", 6 );

		restore_hp( 0 );
		restore_mp( 0 );

		// visit the Temple Portico
		print( "" );
		string response = visit_url( "volcanoisland.php?action=tuba" );

		if ( !response.contains_text( "Combat" ) ) continue;
		run_combat();

	}
	return vprint( "Out of adventures, exiting...",-1 );
}
 
Last edited:
I had a Pastamancer account stalled out at the end of the last script. So... I tried it:

Success!

If you want to see the output, here's what I got:

I'm a bit concerned about that 'unreachable code' error
Code:
> nemesis.ash

WARNING: Unreachable code (nemesis.ash, line 1360)
Checkpoints cleared.
Internal checkpoint created.
Restoring initial settings...
CCS set to default
Restoring MP! Currently at 85 of 85 HP, 55 of 699 MP, current meat: 775014 ... Target MP = 0.

Encounter: the Spaghetti Elemental
Round 0: Jennisage wins initiative!
WHAM: Running SmartStasis
WHAM: Starting evaluation and performing of attack
WHAM: Enqueuing a stun to help with the battle
WHAM: We are going to 3-shot with Entangling Noodles, Stuffed Mortar Shell and Ravioli Shurikens.
Round 1: Jennisage executes a macro!
Round 1: Jennisage casts ENTANGLING NOODLES!
Round 2: Simsum shakes loose a considerable quantity of spice. You conjure up a canister and collect it.
You acquire an item: spices
Round 2: Jennisage casts STUFFED MORTAR SHELL!
Round 3: Jennisage casts RAVIOLI SHURIKENS!
Round 4: the Spaghetti Elemental takes 13 damage.
Round 4: the Spaghetti Elemental takes 13 damage.
Round 4: the Spaghetti Elemental takes 13 damage.
Round 4: the Spaghetti Elemental takes 395 damage.
Round 4: Jennisage wins the fight!
You acquire an item: Angelhair Culottes
After Battle: Simsum does an impression of a swarm of tiny bees dancing, directing each other to the items they've discovered.
After Battle: Buu Xolo smiles approvingly. (+7 Stats)
You gain 12 Strongness
You gain 29 Enchantedness
You gain 13 Cheek
You can now equip a crappy Mer-kin mask (and possibly other things).
You gain a Moxie point!

nemesis_Step => 4
Restoring initial settings...
CCS set to default
Maximizing (1st time may take a while)...
104 combinations checked, best score 105.00
Putting on anniversary concrete fedora...
Equipment changed.
Putting on spandex anniversary shorts...
Equipment changed.
Putting on Slow Talkin' Elliot's dogtags...
Equipment changed.
Putting on time-twitching toolbelt...
Equipment changed.
Putting on Green Clover of Justice...
Equipment changed.
Wielding Greek Pasta of Peril...
Equipment changed.
Restoring MP! Currently at 85 of 145 HP, 51 of 654 MP, current meat: 775014 ... Target MP = 0.
Unlocking Volcano Maze...
Restoring MP! Currently at 85 of 145 HP, 51 of 654 MP, current meat: 775014 ... Target MP = 0.

Mafia will now try to solve the Volcano Maze, please wait...
1 total platforms seen.
Map #1 has 34 platforms
35 total platforms seen.
Current position: 6,12 on map 1
Current position: 6,12 on map 1
Move to: 7,12 on map 1
Map #2 has 36 platforms
71 total platforms seen.
Move to: 8,12 on map 2
Map #3 has 30 platforms
101 total platforms seen.
Move to: 7,11 on map 3
Map #4 has 35 platforms
136 total platforms seen.
Move to: 8,11 on map 4
Map #5 has 33 platforms
169 total platforms seen.
Paths examined/made 151/155 ->solution with 60 hops.
Mafia finished trying to solve the Maze. If it didn't, try swimming back to shore and using the 'Solve' button in the Relay Browser.
nemesis_Step => 5
Your Nemesis is waiting for you!
Don't forget to visit your guild after you kill him.
Restoring initial settings...
CCS set to default
exiting...
Restoring initial settings...
CCS set to default
 
Back
Top