Daily Deed to Vamp Out with your Vampire Fangs

nworbetan

Member
So, you are suggesting the script should...

a) Remove staff of homophones before vamping out?

b) Check singleFamiliarRun and pop-up a confirmation box if you are doing a single familiar run?

For a) that's exactly what I did, then re-equipped it afterwards. For b) I think it might be easier to use the singleFamiliarRun familiar and then switch back when it's done vamping. Or, as slyz pointed out, I could have missed something.

I remember reading that only choice adventures that can lead to a fight count. It's not the case with Vamping Out, so their might be something new with familiar%.

The "choice adventure that can lead to a fight" distinction is something I've heard before too, and I'm going to dig through my logs one more time to make sure I didn't miss anything.
 

nworbetan

Member
Sorry about that false alarm, I had the wrong familiar out for all 7 of my fax & putty fights one day. I don't know how I missed that the first time. :eek:
 

Bale

Minion
Loi! Thanks for saving us.

I guess I only need to worry about a. I'll add removal of sbip and homophone staff to my next version of this script. When I have the time.
 

lostcalpolydude

Developer
Staff member
That seems like something that should be fixed in mafia, actually.

Edit: Except fixing parsing around homophones might not be worth doing. That seems likely.
 
Last edited:

Bale

Minion
Version 1.3 September 16, 2012
  • Added protection for Staph of Homophones & Sword Behind Indefinite Prepositions
  • Outfit will restore if user aborts
 

Erich

Member
> VampOut your own black heart restores all HP/MP

Checking for updates (running Bale's VampOut Daily Deed script ver. 1.3)...
Internal checkpoint created.
Encounter: Interview With You - Goal your own black heart
Action: Visit The Masquerade
Action: "An abandoned, graffiti-covered warehouse."
Action: "An angry growl promising impending violence."
Action: "The Clash."
Action: "I tuned my motorcycle for maximum noise."
Action: "Lager."
Action: Speak to the Ventrilo representative.
Action: Speak to the Brouhaha representative.
Action: Speak to the Torremolinos representative.
Action: Speak to the Malkovich representative.
Action: "Yes."
Action: And the result is...
You acquire an effect: Pride of the Vampire (duration: 30 Adventures)

I have no clue what just happened.
 

Theraze

Active member
Look like you tried to use it as an executable script rather than following the directions and using it as a daily deed...
 

Erich

Member
Looks like it, but I clicked it as a daily deed (I know how to follow directions :)) Looking back, I think what happened was that I clicked my inventory while it was running and that confused it, but I didn't realize that when it happened (which was when I posted). Ah well, no big loss.
 

Theraze

Active member
Ah. Well, your only comment was that you had no idea what happened, not how you executed it or anything. :D

Glad to hear it was just inventory-refresh overriding the script.
 

nworbetan

Member
Look like you tried to use it as an executable script rather than following the directions and using it as a daily deed...

One of the first changes I made when I started using this script was to rename it to vamp.ash and added a few simplified arguments, because I don't like following directions and wanted to use it as both an executable script and a daily deed. :)

Code:
// If choice is 0, it will create a daily deed.
void main (string choice)
{
    //check_version();
    int choice_toint()
    {
        if (is_integer(choice)) return choice.to_int();
        if (choice == "mainstat" || choice == "main") choice = my_primestat().to_string();
        switch (choice) {
        case "Damage Reduction 30":
            return 1;
        case "Spell Damage +100%":
            return 2;
        case "Weapon Damage +100%":
            return 3;
        case "Muscle":
        case "mus":
            return 4;
        case "Mysticality":
        case "mys":
            return 5;
        case "Moxie":
        case "mox":
            return 6;
        case "Gain Meat":
            return 7;
        case "Sword of the Brouhaha (Muscle)":
        case "sword":
            return 8;
        case "Sceptre of the Torremolinos (Myst)":
        case "sceptre":
            return 9;
        case "Medallion of the Ventrilo (Moxie)":
        case "medallion":
            return 10;
        case "Chalice of the Malkovich (all stats)":
        case "chalice":
            return 11;
        case "Interview With You":
        case "book":
            return 12;
        case "your own black heart":
        case "heart":
            return 13;
        default:
            print("I don't know what kind of vamping \"" + choice + "\" is, but the answer is NO.", "#dd0000");
            abort();
        }
        return -11;
    }
    int vchoice = choice_toint();
    if (vchoice == 0) insert_deeds();
    else vamp_out(vchoice);
}
 

LordKass

New member
Is there a way to customize this so that the book is used instead of fangs? I was hoping it would be simple, but apparently even that's too hard for me.
 

Bale

Minion
Probably it would work if you did this to vamp_out()

Code:
void vamp_out(int choice) {
	// First let's make sure that some soft of Fubar didn't send us here.
	if(check_choice(choice)) {
		boolean locked = false;
		cli_execute("checkpoint");
		// adjust outfit behind executing choice.
		try {
			// Removed SBIP or Staff of Homophones.
			if(equipped_amount($item[staph of homophones]) + equipped_amount($item[sword behind inappropriate prepositions]) > 0)
				equip($slot[weapon], $item[none]);
			// Vamp Out
			set_property("choiceAdventure546", choice); 
			// choice = DamRed-SpellDamage-WeapDamage (1-3), Muscle-Myst-Moxie (4-6), Meat (7), Sword-Scepter-Medallion-Chalice (8-11), Book (12), Black Heart (13)
			retrieve_item(1, $item[Interview With You (a Vampire)]);
			locked = true;
			use(1, $item[Interview With You (a Vampire)]);
			cli_execute("choice-goal");
			locked = false;
		} finally {
			// Restore Outfit, if not trapped in the choice adventure
			if(!locked)
				cli_execute("outfit checkpoint");
		}
	}
}

It might be worthwhile though if it would automatically use the book if you don't have fangs. I'll have to consider that as a feature.
 
Last edited:

Bale

Minion
Works like a charm, thanks!

Please download the attached version and run it for me. It should automatically use the book if you don't have fangs, but can acquire a book. If it works well, then I'll make it the official version after you test it tomorrow.

I also added my version of nworbetan's modifications.
 

Attachments

  • VampOut.ash
    9.1 KB · Views: 56
Last edited:

LordKass

New member
Please download the attached version and run it for me. It should automatically use the book if you don't have fangs, but can acquire a book. If it works well, then I'll make it the official version after you test it tomorrow.

Well I can't say for sure about the fangs (I assume they work fine), but yep, books are definitely working.
 

fxer

Member
I'm having a hard time getting vampout.ash to work in my rollover script. The first time running the rollover script vamping doesn't take place, but if I run the rollover script again vamping does take place, any idea what can cause that?

Stuff happens before and after I call 'vamp_out(12);', but vamping doesn't work the first time through...
Code:
...
Equipment changed.
Encounter: The Mad Tea Party
You acquire an effect: Quadrilled (duration: 30 Adventures)
Internal checkpoint created.
Putting on plastic vampire fangs...
Equipment changed.
Putting on Hodgman's lucky sock...
Equipment changed.
Using 1 Bag o' Tricks...
...

Second run of rollover.ash of the day:
Code:
...
Internal checkpoint created.
Putting on plastic vampire fangs...
Equipment changed.
Encounter: Interview With You - Goal Pride of the Vampire and Interview With You (a Vampire)
Action: Visit The Masquerade
Action: "An abandoned, graffiti-covered warehouse."
Action: "An angry growl promising impending violence."
Action: "The Clash."
Action: "I tuned my motorcycle for maximum noise."
Action: "Lager."
Action: Speak to the Ventrilo representative.
Action: Speak to the Malkovich representative.
Action: Speak to the Torremolinos representative.
Action: Speak to the Brouhaha representative.
Action: "Yes."
Action: And the result is...
You acquire an effect: Pride of the Vampire (duration: 30 Adventures)
You acquire an item: Interview With You (a Vampire)
...
 

Bale

Minion
Maybe if you posted your rollover script I might find a clue. Maybe there is some interaction with the outfit changing for the hatter? Unlikely, but something weird is going on. You could try putting it before the hatter and other stuff and see if that makes a difference.

By the way, what exactly is a rollover script? Is it a login script? Does it activate automatically, or do you call it yourself?
 

fxer

Member
It's just a logout script basically, getting all the freebie items and buffs allowed for the day that I want before rollover. Then uses PYEC and BoT etc to extend buffs and that kind of thing. I moved vamp_out(12) up to the top of the script but it still fails the first time though.

The only thing I notice different about the vampout code is the try{}finally{} block which I don't see used often, does mafia process them differently or something maybe causing it to break occasionally? Maybe I should put a dummy boolean in vamp_out() and have it return that so the rollover/logout script tries to initialize a variable with the results from vamp_out() which maybe keeps it from moving on too fast?
 

Bale

Minion
The try-finally block ensures that your equipment is restored, even if something goes wrong or you hit the escape key. (Unless it is locked because you're in the middle of the choice adventure.)

I notice that you did not copy/paste anything from your logout script so that I could attempt to debug your problem.
 
Top