Think I might have tracked down the bug where SS keeps trying to use healing items at full health. This relates to the speculative max being lower than the actual max health.
Code:
float my_stat(string which) {
switch (which) {
case "hp": return minmax(my_hp()+adj.hp,0,max(my_maxhp(), numeric_modifier("_spec","Buffed HP Maximum")));
case "mp": return minmax(my_mp()+adj.mp,0,max(my_maxmp(), numeric_modifier("_spec","Buffed MP Maximum")));
Basically, return whatever is higher for your hp/mp max... either the speculative buffed max, or your actual max. This might screw up poisons and other cases where the actual maxhp drops during a fight, but... least it stops burning 150 mp on saucy salve.
Also, another thing that's a bit odd... apparently BB initializes the familiar before it's finished reading the round. With meat familiars like the Cocoabo, there's no sense in stasis-ing if you already have full hp/mp after round 10...
> adventure last
0 29.25
Profit per round: ActionProfitDamageOtherbase; Cocoabo (9.65μ)10.51μ2.39 (-4.03 μ/dmg)Att: -0.77 (0 DPR) Def: -0.77 HP: 2.81 MP: 2.81
Run SmartStasis! (10 profit to stasis with spectre scepter -- low)
Monster: Fudge vulture, ATT: 114, DEF: 101, HP: 51, Value: 590
You will die in 11784 rounds.
Your attack will kill the monster in 2 rounds.
26
This is using DAM... I added this (with proper global definitions above) to famevent:
Code:
if (tempmeat != fam.meat) print_html(round +" "+fam.meat); tempmeat = fam.meat;
Basically, according to BB, it's still round 0 when it's initializing the Cocoabo. DAM knows the round (it's where the "26" came from, I believe) but at the point of familiar benefit, it appears to only initialize once... am I misunderstanding this somehow? I'm trying to figure out why DAM keeps wanting to stasis 28 rounds while I have full health and mp.