Slime Tube Adventuring Script

jcowley

New member
This is a great script, and it's helped with with several of my aftercore passages so far. However, I have one question / request about something. Is there a way to "cap" my ML at 1000 for my 2nodule runs? This way I get medium slimy cysts instead of big slimy cysts. This happens from level 23+ for me; I have 10 MCD, 945 slime hates it and 46 from aria, which results in 1001ML. Any way to fix this, or even just where to switch off the MCD useage would be great thanks.
 

Jef

New member
Yeah, how about adding a variable for what to set the MCD to.

By the way, I added a third run type in my copy of the script: eyeball. Min-ML all the way, cause the guy in our clan who wants to collect slimy eyeball trophies can't handle Mother Slime if we add any ML. I'd use the MCD setting here, if it existed.
 

Bale

Minion
If Alhifar doesn't get around to adding a settable MCD feature for you, it isn't tough to mod the script. Look for this function:

Code:
int max_mcd()
{
	return 10 + ( in_mysticality_sign().to_int() );
}

Then change that to return the value you want the MCD to be set to. For example:

Code:
int max_mcd()
{
	return 9;
}

Alhifar writes very readable code so I never have trouble modding his stuff. (Well, aside from the regexp's...) By contrast dj_d's code is a nightmare for me. Though maybe that's just because we think similarly, I'm not sure. I do wish that Alhifar published more scripts.

EDIT: Thinking a little more, the max value will change a bit when you level up. That could be a b*ch. Perhaps you'd want something more like:

Code:
int max_mcd()
{
	return max(55 - numeric_modifier($effect[Aria], "Monster Level"), 0);
}

Though obviously this is far from a universal solution to the problem. It will only work with your particular level of Slime Hates It and other ML bonuses, but at least it adjusts for your current level of Aria.
 
Last edited:

Bale

Minion
Another edit. Okay, made it universal.

This will automatically attempt to set your MCD so that max ML is 1000, or max it out if that is impossible. If you're set for a larva run, then it will automatically set it to maximum as usual.

Code:
int max_mcd()
{
	int max_mcd = 10 + ( in_mysticality_sign().to_int() );
	int mcd = 1000 - numeric_modifier("Monster Level") + current_mcd();
	if(run_type == "larva" || mcd < 0 || mcd > max_mcd) 
		return max_mcd;
	return mcd;
}
 
Last edited:

Alhifar

Member
Wow, I saw that request this morning, and figured I would work on it after I got home from classes. Instead I'm greeted with the pleasant surprise of someone having done the work for me! I hope you don't mind if I steal that bit of code from you, Bale.
 

Bale

Minion
Feel free. It is the highest form of compliment when a scripter I admire wants to steal my code.

I was thinking about if the player should be able to turn this off, but considering that the MCD will so rarely be the crucial few ML between hitting 1000 and not hitting 1000, it is pretty safe to just automatically adjust it accordingly and assume that the player did it on purpose and wants that to happen.
 
Last edited:

Jef

New member
Using the current slime.ash and the current Mafia version, the script stalls out when it gets to Engulfed!. Is that expected behavior? I had a vague memory that it handled Engulfed! automatically but perhaps I'm wrong.

How about adding a variable for what to do with Engulfed!?
 

Alhifar

Member
I haven't touched the handling for engulfed in ages. It should use mafia's settings for handling engulfed. What do you have that set to?
 

Jef

New member
No idea, probably nothing. Where do I find that setting?

Edit: found it!
 
Last edited:

tgetgel

Member
Has much thought been given, other than by me, to converting this script over to using "setvar" instead of "string" so the script can be used by multiple characters without modification every time someone wants to run it?

We have 3 people running characters from one computer and not all have the same equipment, skills, familiars, etc.
 

slyz

Developer
The script already uses the "badkitty" and "goodkitty" Mafia properties (and not zlib vars). You can set those up by doing set badkitty = purse rat and set goodkitty = levitating potato in the gCLI.
 

Alhifar

Member
As slyz said, the goodkitty and badkitty properties do exist.

Regarding using zlib variables, I've chosen specifically not to use zlib, because most of the users of this script are very new to mafia. I'd prefer not to force people to download anything more than they have to.
 

tgetgel

Member
I was thinking of things like the following that could be different for each player/character:
string run_type
string max_ml_outfit
string min_ml_outfit
boolean use_tatter_like
item which_tatter
string max_ml_ccs
string min_ml_ccs
int fumble_buffer
boolean use_hottub

As noted, these are already addressed.
string max_ml_familiar (badkitty)
string min_ml_familiar (goodkitty)
 
Last edited:

slyz

Developer
How about keeping a different copy of the script for each character ? You can just name them slime_playername.ash and not have to edit the same file each time you switch to a multi.
 

tgetgel

Member
How about keeping a different copy of the script for each character ? You can just name them slime_playername.ash and not have to edit the same file each time you switch to a multi.

Of course, the easy answer! Face palm. Really need to get more sleep. :)
 

Alecto

New member
I tried searching through the thread for this, so I apologize if this has been addressed before.

Is there anyway to cleesh the minml slime monster before killing it? I see the tatter option, but I would rather not have to use items in this case as that would be more costly.

Thanks!
 

slyz

Developer
You could setup a CCS named slimecleesh, and change line 31 to string min_ml_ccs = "slimecleesh";.

The CCS should look like this:
Code:
[ default ]
1: skill cleesh
2: item tattered scrap of paper

If you have Funkslinging, it should be:

Code:
[ default ]
1: skill cleesh
2: item tattered scrap of paper, item tattered scrap of paper

EDIT: oh, and make sure line 26 is: boolean use_tatter_like = false;
 
Last edited:
Top