Nemesis quest script

slyz

Developer
I wonder why I didn't see that coming.

v1.4 uses a data file (hosted on Zarqon's site... but at least if it's down, you will always have a local copy after the first time you run it as a SC).
 

shazbot

Member
Minor bug, as a seal clubber, I'm doing the nemesis in aftercore. Whenever I call your script it equips gear, including the spiky shoulderpads, and then it errors wondering where the extra damage is coming from.
 

Bale

Minion
Or you could add them to the wiki page if that is easier than creating a datafile...

I'll add them to the wiki so it will simply work.
 

shazbot

Member
Yeah, I didn't look at the code when I found the problem. But it doesn't appear that there is a mechanism in place for updating the data file. I tried deleting it, and now the script just errors when it tries to load the file. There is no mechanism for recreating the file. I would go so far as to say there doesn't appear to be a mechanism for generating a new file either, for new users of the script.
 

slyz

Developer
Oh, I had switched to using a data file for those in the last version... the end of June was NOT a good period for me, and the update to nemesis.ash had completely skipped my mind.

It would have been really easy to add the spiky shoulderpads then. Unfortunately, zarqon's map manager doesn't allow new files to be uploaded for the moment. Please download the file attached to this post and place it in Mafia's /data folder.

EDIT: I even announced the change in the post above yours :(
I must have sounded schizophrenic.
 

Attachments

  • passive_damage_sources.txt
    968 bytes · Views: 33

shazbot

Member
That's cool, RL happens. I had tried to write a quit script to call your passive_damage_sources function remotely to repopulate the file, but was not getting very far with it so I just had manually added the spiky turtle shoulderpads. A thought though- have a simple to call function you can use to force an immediate repopulation of your local copy.
 

slyz

Developer
If you erase your copy of passive_damage_sources.txt, you also need to wipe the "map_passive_damage_sources.txt" Mafia preference (by doing "set map_passive_damage_sources.txt = " in the gCLI).

This way, zlib's load_current_map() function will download a fresh copy from zarqon's server.
 

shazbot

Member
But no way to force a call of the function to repopulate based off of the wiki? It's just sitting there, asking to be used :)
 

Winterbay

Active member
It does no longer repopulate off the wiki it downloads a datafile from Zarqon's server. So deleting that file and setting the preference to blank should get you a new data file.
 

slyz

Developer
Ah, now I understand what you mean. The passive_damage_sources() function is still in the script, albeit commented. It could be used as a backup if load_current_version() returns false.

I have to check if it still works, I think the KoL Wiki changed its formatting recently.
 

Donavin69

Member
Post #47 is the only one I've seen relating to Turtle Tamer Nemesis...I have done a couple of TT runs, and seem to have the same problem. It doesn't seem to recognize the French turtles...(I've manually done that part both times) I just completed another TT run, and am getting ready to get to the island (next nemesis should give me the map)

Is there anything I can try to look for on this run to help resolve this issue?
 

Bale

Minion
It does? Then it has built in French turtle recognition? In the first post it says that "Surviving combats is your responsibility". How can you be responsible for that if it disables your CCS? (Obviously from this question I've never used the script.)
 

Winterbay

Active member
Well, you need to be able to handle combats that are not essential. I think it tries to set you up to be able to kill Mother hellseals and turtles and other combats that you need to do (slimes for example). Last time I did it it had managed to free all but one of the French turtles before it exited for some reason, not sure why...
 

slyz

Developer
The script manages combat in some places, generally on the volcano island since specific actions must be done. In other places (during the farming when waiting for the hitmen, in the poop deck etc...) it uses whatever Mafia was setup to do when the script was started.

The relevant part for adventuring in the Outer Compound is:
PHP:
string macro;
if ( have_skill( $skill[ entangling noodles ] ) ) macro += "skill 3004; ";
macro += "if match french; skill 7083; repeat; endif; attack; repeat;";

[ ... ]

while ( my_adventures() > 0 )
{
	if ( my_mp() < 20 && !restore_mp( 20 ) ) return vprint( "Out of MP, exiting... please configure Mafia's automatic MP restoring",-1 );
	adventure( 1 , $location[ The Outer Compound ] , macro );
	if ( run_combat().contains_text( "escort it out of the compound" ) ) turtles_left -= 1;
	if ( turtles_left == 0 ) return vprint( "Turtles freed.", 6 );
}
return vprint( "Out of adventures, exiting...",-1 );
The script makes sure you have at least 20 mp before adventuring, so that shouldn't be a problem. The macro was based on macros like this one. I tried fooling around with the three parameter version of adventure(), and it seems to have a problem. I was doing this in the gCLI:
Code:
> ashq string macro = "if match goat; pickpocket; endif; attack; repeat;"; adventure( 1 , $location[ goatlet ] , macro );

Visit to McLarge: Goatlet in progress...

[3207] Goatlet
Encounter: dairy goat
Strategy: D:\dloads\KoLMafia\ccs\default.ccs [default]
Round 0: slyz wins initiative!
Round 0: slyz attacks!
Round 1: slyz attacks!
Round 2: dairy goat takes 445 damage.
Round 2: slyz wins the fight!
After Battle: Ultralord of the Hobo Jungle sits on your fallen opponent's body, blows a smoke ring, and winks at you.
You gain 300 Meat
You acquire an item: goat cheese
You acquire an item: glass of goat's milk
You gain 8 Strongness
You gain 9 Enchantedness
You gain 21 Roguishness
In the corresponding debug log, I have
Code:
Requesting: http://www3.kingdomofloathing.com/fight.php?ireallymeanit=1316362939&action=macro&macrotext=if+match+goat%3Bpickpocket%3Bendif%3Battack%3Brepeat%3B
But the first round in the page returned by KoL starts with <!-- macroaction: attack -->.


I tried testing
 

slyz

Developer
Ha, I had completely forgotten about an issue I reported a while back. When adventuring this way, a 'dummy' macro action has to be added at the beginning of the macro:
Code:
> ashq string macro = "attack; if match goat; pickpocket; endif; attack; repeat;"; adventure( 1 , $location[ goatlet ] , macro );

autoOlfact: monster goth giant

Visit to McLarge: Goatlet in progress...

[3213] Goatlet
Encounter: sabre-toothed goat
Strategy: D:\dloads\KoLMafia\ccs\castle.ccs [default]
Round 0: slyz wins initiative!
Round 0: slyz attacks!
Round 1: slyz tries to steal an item!
Round 2: slyz attacks!
You lose 6 hit points
Round 3: slyz attacks!
Round 4: sabre-toothed goat takes 447 damage.
Round 4: slyz wins the fight!
After Battle: Ultralord of the Hobo Jungle sits on your fallen opponent's body, blows a smoke ring, and winks at you.
You gain 321 Meat
You gain 8 Strengthliness
You gain 11 Wizardliness
You gain 18 Sarcasm

Requests complete.
Adding an "attack" at the beginning of the macro makes the first action (the if/endif) work.
 

Theraze

Active member
Where I notice it hijacking my combat is usually the nemesis lair in the mountains while farming for paper strips and things like that... It really likes to attack with weapons there. :) But yeah, when I care, I cancel out, change it back from attack to custom, and run the combat/boss myself.
 
Top