v0.13.10 - Only consume channeling on buffs that need refresh (<10 turns)
- findBestChannelingTarget: skip buffs with >10 remaining turns - When all buffs are fresh, falls through to cheap damage spell instead of wasting channeling on a nearly-full duration buff - This prevents recasting Spark of Life at 15 turns just because its score happens to be highest among all fresh buffs
This commit is contained in:
parent
71da9b1214
commit
e13b4c5206
3 changed files with 6 additions and 0 deletions
|
|
@ -881,6 +881,8 @@ function findBestChannelingTarget() {
|
|||
if (b.icon === 'regen' && STATE.hp >= CFG.cureRegenHP) continue;
|
||||
// Skip completely fresh Heartseeker (> 50 turns means just cast)
|
||||
if (b.icon === 'heartseeker' && dur > 50) continue;
|
||||
// Only consider buffs that would benefit from a refresh
|
||||
if (dur > 10) continue; // Still fresh, don't waste channeling
|
||||
const sp = findSpell(b.spell);
|
||||
const mpCost = sp ? sp.mp : 0;
|
||||
// Score: higher MP cost + lower remaining turns = better channeling target
|
||||
|
|
|
|||
|
|
@ -881,6 +881,8 @@ function findBestChannelingTarget() {
|
|||
if (b.icon === 'regen' && STATE.hp >= CFG.cureRegenHP) continue;
|
||||
// Skip completely fresh Heartseeker (> 50 turns means just cast)
|
||||
if (b.icon === 'heartseeker' && dur > 50) continue;
|
||||
// Only consider buffs that would benefit from a refresh
|
||||
if (dur > 10) continue; // Still fresh, don't waste channeling
|
||||
const sp = findSpell(b.spell);
|
||||
const mpCost = sp ? sp.mp : 0;
|
||||
// Score: higher MP cost + lower remaining turns = better channeling target
|
||||
|
|
|
|||
|
|
@ -233,6 +233,8 @@ function findBestChannelingTarget() {
|
|||
if (b.icon === 'regen' && STATE.hp >= CFG.cureRegenHP) continue;
|
||||
// Skip completely fresh Heartseeker (> 50 turns means just cast)
|
||||
if (b.icon === 'heartseeker' && dur > 50) continue;
|
||||
// Only consider buffs that would benefit from a refresh
|
||||
if (dur > 10) continue; // Still fresh, don't waste channeling
|
||||
const sp = findSpell(b.spell);
|
||||
const mpCost = sp ? sp.mp : 0;
|
||||
// Score: higher MP cost + lower remaining turns = better channeling target
|
||||
|
|
|
|||
Loading…
Reference in a new issue