Bale
Minion
Devour Minions doesn't cure Beaten Up.
No, it doesn't. That's why the script casts Bite Minion to cure Beaten Up if you have Devour Minions.
Devour Minions doesn't cure Beaten Up.
[COLOR=red]Calling Universal Recovery for type=HP, amount=0[/COLOR]
[COLOR=#66CC00]Restoring HP! Currently at 118 of 206 HP, 22 of 22 MP, current meat: 33029 ... Target HP = 196.[/COLOR]
[COLOR=#002080]Trying to fullheal[/COLOR]
_meatperhp => 0.3106796116504854
[COLOR=red]You don't have a skill uniquely matching "1 Devour Minions"[/COLOR]
_meatperhp => 0.4
Casting Bite Minion 1 times...
You gain 20 hit points
Bite Minion was successfully cast.
[COLOR=blue]Try to heal HP from inventory.[/COLOR]
[COLOR=#002080]Trying to fullheal[/COLOR]
[COLOR=blue]Try to heal HP with skills.[/COLOR]
Casting Bite Minion 2 times...
You gain 40 hit points
Bite Minion was successfully cast.
Casting Bite Minion 1 times...
You gain 20 hit points
Bite Minion was successfully cast.
[COLOR=red]Calling Universal Recovery for type=MP, amount=0
[/COLOR]
[COLOR=olive]> ash to_skill("devour")[/COLOR]
Returned: Devour Minions
level => 6
traincost => 3500
class => Zombie Master
libram => false
passive => false
buff => false
combat => false
song => false
permable => true
dailylimit => -1
timescast => 0
[COLOR=olive]> ash have_skill($skill[Devour Minions])[/COLOR]
Returned: true
[COLOR=olive]> cast devour minions[/COLOR]
[COLOR=red]You don't have a skill uniquely matching "devour minions"
[/COLOR]
Edit: I'm leaning towards something in Mafia not working as expected
Is it an effect due to the skill being marked as "7" (combat/noncombat) and that not being completely implemented?
if(best_skill == $skill[Devour Minions])
visit_url("skills.php?pwd&action=Skillz&whichskill=12006&skillform=Use+Skill&quantity=" + to_string(q_skill));
else
cast(q_skill, best_skill);
if(have_skill($skill[Lure Minions])) {
// Need to keep enough brains for today and half of tomorrow.
int brains_needed = fullness_limit() * 1.5 - my_fullness();
int check_brains(int brains) {
if(brains <= brains_needed) {
brains_needed -= brains;
return 0;
}
int temp = brains_needed;
brains_needed = 0;
return brains - temp;
}
boolean exchanged = false;
boolean lure(int x, int type) { // Type is both choice and number of minions per brain.
// How many times do I do this to reach target?
x = min(ceil(to_float(target - my_mp()) / type), x);
if(x > 0) {
if(!exchanged) // Start choice adventure first time only
visit_url("skills.php?pwd&action=Skillz&whichskill=12002&skillform=Use+Skill&quantity=1");
visit_url("choice.php?pwd&whichchoice=599&option="+type+"&quantity="+ x);
exchanged = true;
}
return my_mp() >= target;
}
// Finish choice adventure if started
boolean done() {
if(exchanged) visit_url("choice.php?pwd&whichchoice=599&option=5");
return true;
}
int spare_good = check_brains(item_amount($item[good brain]));
int spare_decent = check_brains(item_amount($item[decent brain]));
int spare_crappy = check_brains(item_amount($item[crappy brain]));
// Reserve them in order from best to worst. Then trade them worst first.
if(lure(spare_crappy, 1) || lure(spare_decent, 2) || lure(spare_good, 3))
return done();
done();
}
Winterbay, if that isn't fixed soon by a mafia dev, then I'll add your workaround into my script. Except that I'll add it to cast, so I only have to add it to a single location. Seriously, what were you thinking? Just fake the return value!
Did r11430 fix this?
[COLOR=olive]> cast 1 devour minion[/COLOR]
[COLOR=red]You don't have a skill uniquely matching "1 devour minion"
[/COLOR]
//This is a wrapper for eatdrink. It checks the daily budget against the amount spent
//by EatDrink. It closets meat so that Eatdrink cannot exceed the budget, calls EatDrink
//and then restores the meat. Daily limit will get hosed if, for whatever reason, EatDrink
//does not return here after being called. Ignores SIM parameter and any parameters
//that might logically prevent EatDrink from spending
void eatdrinkWrapper (int foodMax, int drinkMax, int spleenMax, boolean overdrink,
boolean use_inv_p, boolean use_closet_p, boolean use_storage_p,
boolean sim_consume_p, boolean supress_overdrink_p,
boolean shop_p, int budget_p, float price_flexibility_p,
boolean consider_cost_when_owned_p, int cost_of_pull_p,
int value_of_adventure_p,
int value_of_prime_stat_p, int value_of_nonprime_stat_p,
boolean pie_priority_p, int price_of_nontradeables_p,
int price_of_unknowns_p, boolean sim_ronin_p, int sim_level_p)
{
int spentToday = to_int(get_property("_Ascend_EatDrinkSpentToday"));
int allowedThisCall = max(0, eatDrinkBudget - spentToday);
int beginMeat = my_meat();
int toCloset = max(0, beginMeat - allowedThisCall);
if (toCloset > 0) {
put_closet(toCloset);
}
int startMeat = my_meat();
debug("EDW Before "+spentToday+" "+eatDrinkBudget+" "+allowedThisCall+" "+beginMeat+" "+toCloset+" "+startMeat);
eatdrink (foodMax, drinkMax, spleenMax, overdrink,
use_inv_p, use_closet_p, use_storage_p,
sim_consume_p, supress_overdrink_p,
shop_p, budget_p, price_flexibility_p,
consider_cost_when_owned_p, cost_of_pull_p,
value_of_adventure_p,
value_of_prime_stat_p, value_of_nonprime_stat_p,
pie_priority_p, price_of_nontradeables_p,
price_of_unknowns_p, sim_ronin_p, sim_level_p);
int endMeat = my_meat();
int deltaSpend = startMeat - endMeat;
spentToday = spentToday + deltaSpend;
set_property("_Ascend_EatDrinkSpentToday",to_string(spentToday));
if (toCloset > 0) {
take_closet(toCloset);
}
debug("EDW After "+endMeat+" "+deltaSpend+" "+spentToday);
}