Goal for completing spleen familiar drops?

You could do this with ash, which on the gCLI would be:

ash cli_execute("goals add +" + (5 -to_int( get_property("_aguaDrops"))) + " agua de vida")

if you were looking for agua de vida.
 
A simpler way of looking at it (if, for some reason, you just want to enter it in manually): the condition would just be +[remaining amount] [item], since +x item means "get x more of item".
 
Oh yeah. For some reason I was assuming Boogaloogaloo wanted to be able to automate / alias the process. Which could be useful, but if you already know how many you have... yeah. ;)
 
Automating is what I was looking at and since mafia continues to surprise me, I thought I'd check if a shortcut already existed. Calculating based on the days drops will work just as well.

Cheers.
 
I'll leave my previous post here in case someone wants to try the same kind of thing (quick abstract: it doesn't work).
You can use this alias instead:

Code:
[B]famdrop[/B] => ashq string d; string n;string f = my_familiar().to_string();switch(f) {case "Li'l Xenomorph":d="transponder";n="transporter transponder";break;case "Baby Sandworm":d="agua";n="agua de vida";break;case "Green Pixie":d="absinthe";n="tiny bottle of absinthe";break;case "Llama Lama":d="gong";n="llama gong";break;case "Astral Badger":d="astral";n="astral mushroom";break;case "Rogue Program":d="token";n="game grid token";break;default: return false;}int num=5-get_property("_"+d+"Drops").to_int();if(num>0)cli_execute("goals add "+num+" "+n);

Copy this in the gCLI to create the alias, then just type famdrop to add the correct number of drops to your current goals.




-----------------------------------------------------------

Here is something you can put in your mood:

Trigger On: Unconditional trigger
Check For: <empty>
Command: call choose_fam.ash <option>

where <option> can be the name of the familiar you want to get the drops from (either the full name, or lama, badger, green pix, prog, sandw or variations of those), or it can be all if you want to cycle through all your spleen familiars.

call choose_fam.ash all will simply get one drop from your each of your spleen familiars, then start again until you have 2 drops from each, etc...

The script will abort once you have all the drops that were configured. To avoid it from aborting, you can change the command to call choose_fam.ash OFF, or you can remove it from your mood (or the script can be imported in a betweenBattle script and handled completely differently).

You will have to edit the script to change the number of drops to get (default is 5).

Requires zlib.


EDIT: there's something wrong with the familiar switching, Mafia tries to equip your old familiar's equipment on the new one. I'm trying to find out what's going on.

EDIT2: oh well, I finally remembered that Mafia creates a checkpoint before running a mood, so it will try to re-equip the previous familiar equipment in any case. Well, this idea didn't work out so well =)
 

Attachments

Last edited:
I've been using this in afercore and it's great - thought I'd paste the lines for some of the newer familiars for anyone not sure how to add them that comes across this. Still only works up to 5, even though some of these go to 7, but I couldn't figure out how to split the counter easily and it's still a simple way to make sure I get all (most) of the drops.

To find the variable name for new fams look in your mafia folder\settings\username_prefs file.

Just download the script above and add the lines below . . . if you are going to use the boots make sure you add the 'release the boots' skill to your combat script or it will get stuck on them.

drop_familiars[$familiar[rogue program]] = get_property("_tokenDrops").to_int() ;
drop_familiars[$familiar[astral badger]] = get_property("_astralDrops").to_int() ;
drop_familiars[$familiar[green pixie]] = get_property("_absintheDrops").to_int() ;
drop_familiars[$familiar[llama lama]] = get_property("_gongDrops").to_int() ;
drop_familiars[$familiar[baby sandworm]] = get_property("_aguaDrops").to_int() ;
drop_familiars[$familiar[pair of stomping boots]] = get_property("_pasteDrops").to_int() ;
drop_familiars[$familiar[mini-hipster]] = get_property("_hipsterAdv").to_int() ;
drop_familiars[$familiar[knob goblin organ grinder]] = get_property("_pieDrops").to_int() ;
drop_familiars[$familiar[li'l xenomorph]] = get_property("_transponderDrops").to_int() ;
 
EDIT2: oh well, I finally remembered that Mafia creates a checkpoint before running a mood, so it will try to re-equip the previous familiar equipment in any case. Well, this idea didn't work out so well =)
Wouldn't "Command: checkpoint clear; call choose_fam.ash <option>" get around the checkpoint issue?
 
Updated the lines for the item familiars and compiling some useful info on how to use the skills.

If you are using stomping boots add 'skill release the boots' to your CCS

If you are using the happy medium, be sure to add 'skill siphon' to your CCS. You can also use the 'happymediumglow' predicate to get only the drinks you want, but putting these lines in your CCS -

if happymediumglow red
skill siphon spirit
endif

If you are adventuring in a place where the hipster combats won't trigger, the script will get items until it comes to the hipster and use the hipster from then on unless you disable it.

As far as familiar equipment goes, I only use this in aftercore and I start out equipping my fireworks. I've never had the familiar equipment switching be a problem.
 

Attachments

Last edited:
Back
Top