Mercenary Mood -- choiceadv adjustment as you go, modifier maintenance, etc.

ckb

Active member
By the way, the last time I did the TT Nemesis quest, the guardTurtlesFreed property never updated. I am waiting to make another run and check it out before submitting a bug report but if anyone gets there before me, I'm curious to know if the property is updating for you.

FWIW - My Nemesis quest script (which has not been updated in ages) does not use guardTurtlesFreed... though it probably would if I could confirm it is working.
 
Last edited:

Veracity

Developer
Huh. The last time I did the Nemesis quest as a Turtle Tamer was Jan 13, 2020.

Code:
[820] The Outer Compound
Encounter: guard turtle
Round 0: Veracity wins initiative!
Round 1: Veracity casts APPRIVOISEZ LA TORTUE!
Round 2: Nothing says, "don't attack me," like an ancient God Lobster staring down your foe.
Round 2: Veracity casts APPRIVOISEZ LA TORTUE!
Round 3: You lose 19 hit points
Round 3: Veracity casts APPRIVOISEZ LA TORTUE!
Round 4: You lose 51 hit points
Round 4: Veracity casts APPRIVOISEZ LA TORTUE!
Round 5: You lose 99 hit points
Round 5: Veracity casts APPRIVOISEZ LA TORTUE!


Visiting a Guy in the Bushes on the Secret Tropical Island Volcano Lair

cast 1 Cannelloni Cocoon
You gain 156 hit points

volcanoisland.php?pwd&action=tniat

[821] The Nemesis' Lair
Encounter: warehouse worker
...
Looking at when we set guardTurtlesFreed, FightRequest.java:

Code:
		// The turtle blinks at you with gratitude for freeing it from
		// its brainwashing, and trudges off over the horizon.
		// ...Eventually.
		if ( responseText.contains( "freeing it from its brainwashing" ) )
		{
			int free = Preferences.increment( "guardTurtlesFreed" );
			String message = "Freed guard turtle #" + free;
			RequestLogger.printLine( message );
			RequestLogger.updateSessionLog( message );
		}
I have not seen that message in my session log sinceo 2010.

Notice that although the fight is over, the session log does not claim I "won" the battle.
That was clearly the final round, but it must not have done final round checks - like the guard turtle one.

Code:
		// Reset round information if the battle is complete.
		if ( !finalRound )
		{
			return;
		}

		// If this was an item-generated monster, reset
		KoLAdventure.setNextAdventure( KoLAdventure.lastVisitedLocation );

		if ( stillInBattle )
		{
			// The fight is not over, none of the stuff below needs to be checked
			MonsterStatusTracker.applyManuelStats();
			return;
		}
I assume it thought I was "still in battle".

If anyone has a DEBUG log for (at least) the final round of taming a guard turtle, I can look at this.
 

Veracity

Developer
Ha. The Wiki says:

Against a French guard turtle (fifth time):
The turtle appears to suffer some kind of mental breakdown -- it collapses to the ground, sobbing. You help it to its feet and escort it out of the compound.

Against a post-nemesis guard turtle (fifth time):
The turtle appears to suffer some kind of mental breakdown -- it collapses to the ground, sobbing. You help it to its feet and escort it out of the compound.
The turtle blinks at you with gratitude for freeing it from its brainwashing, and trudges off over the horizon.
...Eventually.
Weird that freeing a turtle post-nemesis would give BOTH messages, but I think we need to recognize the first (pre-nemesis) message for counting guard turtles freed.
 

Veracity

Developer
Or not. As coded, this will only count guard turtles freed after the nemesis quest is complete - and each time you do that, you (eventually) get Cold-Blooded Warm Fuzzies. Do it 30 times, and you get the Little Help From My Friends trophy.

Which is to say, as coded, this is for tracking progress towards the trophy.

I'll add a new setting - frenchGuardTurtlesFreed - for tracking the turtles during the Nemesis quest.
 

zarqon

Active member
Thanks Veracity. That certainly explains why it wasn't updating. I did that trophy so long ago I forgot it existed!
 

zarqon

Active member
Upon review, I had some unhandled reports on page one of this thread.

@Magus: Are you saying you only want MM to help you get more stats if you are below level 13? That sounds reasonable. Added in r30. Will be overridden if you have any stats set as goals (e.g. a "level" condition).

@frono: MM does nothing with the MCD, but BBB does, by calling a ZLib function. :) I've just altered the ZLib function to skip doing anything in KoE.

For your second question about deprecating newLife, I wouldn't recommend it. I still use newLife myself, as a good starting point for a run (though I have altered a few things). A good number of those choices are redundant with MM, but many are not. MM mostly handles choices that need to change during a run rather than choices which should be set at the beginning and can then be ignored. If I made MM set all your choices as you play it would be hard to avoid being too heavy-handed for certain playstyles.
 
Last edited:

fronobulax

Developer
Upon review, I had some unhandled reports on page one of this thread.

@Magus: Are you saying you only want MM to help you get more stats if you are below level 13? That sounds reasonable. Added in r30. Will be overridden if you have any stats set as goals (e.g. a "level" condition).

This makes me sad because I don't mind getting stats in aftercore if doing so does not detract from anything else. Checking on goals is not helpful since, for example, whatever goal VMF sets, or doesn't, will be my goal. I have also, although a long time ago, had runs where I had to level past 13 to beat the NS (think Myst classes) and chose to do so by optional side quests with goals other than stat, But I am merely sad since I think I can undo this by manually setting the MCD to max when I hit 13.

NewLife has made enough wrong choices for me for paths that it doesn't know about that I no longer trust it. If you have changes that make it trustworthy then perhaps we should explore your willingness to share and maintain?
 

zarqon

Active member
Hmmm, I also enjoy leveling up a bit faster in aftercore. How about only ignoring generic +ML if you reach level 13 and are still in a run? In aftercore, continue to raise ML as before. I think Magus's concern was more of an in-run concern.

Re: newLife, I realized I hadn't updated from SVN in quite a while so I updated that and merged all the changes. I hadn't really changed many of the choices. The main changes I made were:

  • Default to skip all the non-essential nightstands.
  • Set the choice to draw primestat-appropriate stuff on the tent with the burnt stick.
  • Consider moxie your primestat as a Plumber.
  • Remove all ZLib vars. Nothing is configurable because it's all the way I like it. :)
  • Start all three NPC quests using another script to unlock those zones (Armorer, Galaktik, Meatsmith).
  • Get your stat's FantasyRealm hat (it's often been the best headgear available starting a new run).
  • If possible, create skeleton skis.
  • If you can_eat(), set the Boombox to food.
  • Also if you can eat, Time-Spinner yourself a tea.
  • Source Terminal educate, enquiry, and enhance (substats).

The removal of configurability makes it non-publishable, I guess. But I could still share if people are interested in cannibalizing/integrating it.
 

Magus_Prime

Active member
Hmmm, I also enjoy leveling up a bit faster in aftercore. How about only ignoring generic +ML if you reach level 13 and are still in a run? In aftercore, continue to raise ML as before. I think Magus's concern was more of an in-run concern.

Correct on all counts.

I'd be interested in seeing your changes to newLife. In the time since Bale stopped updating the script I started using a wrapper, to make the changes I cared about, to call newLife while still using the core of new Life.
 
Last edited:
Top