diff --git a/scripts/hv-unified.user.js b/scripts/hv-unified.user.js index 4bf9507..603f52c 100644 --- a/scripts/hv-unified.user.js +++ b/scripts/hv-unified.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name HV Unified // @namespace hvunified -// @version 0.14.2 +// @version 0.14.3 // @description HV Unified — battle automation, guidance, and UI enhancements for HentaiVerse // @author GaboGG + Hermes // @match *://*.hentaiverse.org/* @@ -17,7 +17,7 @@ // CONFIG — default settings // ═══════════════════════════════════════════════════════════════════════ -const VERSION = '0.14.2'; +const VERSION = '0.14.3'; const CFG = { // — Battle automation @@ -963,15 +963,16 @@ function castInitialBuffs() { if (candidates.length === 0) return null; + // Log which mode we're in if (STATE.channeling) { // Channeling is charged — cast the MOST expensive buff for best value candidates.sort((a, b) => b.mpCost - a.mpCost); + return { type: 'spell', name: candidates[0].spell, selfTarget: true, _reason: 'initCh' }; } else { // No channeling — cast the CHEAPEST buff first for more proc attempts candidates.sort((a, b) => a.mpCost - b.mpCost); + return { type: 'spell', name: candidates[0].spell, selfTarget: true, _reason: 'init' }; } - - return { type: 'spell', name: candidates[0].spell, selfTarget: true }; } function kickstartChanneling() { diff --git a/scripts/latest.user.js b/scripts/latest.user.js index 4bf9507..603f52c 100644 --- a/scripts/latest.user.js +++ b/scripts/latest.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name HV Unified // @namespace hvunified -// @version 0.14.2 +// @version 0.14.3 // @description HV Unified — battle automation, guidance, and UI enhancements for HentaiVerse // @author GaboGG + Hermes // @match *://*.hentaiverse.org/* @@ -17,7 +17,7 @@ // CONFIG — default settings // ═══════════════════════════════════════════════════════════════════════ -const VERSION = '0.14.2'; +const VERSION = '0.14.3'; const CFG = { // — Battle automation @@ -963,15 +963,16 @@ function castInitialBuffs() { if (candidates.length === 0) return null; + // Log which mode we're in if (STATE.channeling) { // Channeling is charged — cast the MOST expensive buff for best value candidates.sort((a, b) => b.mpCost - a.mpCost); + return { type: 'spell', name: candidates[0].spell, selfTarget: true, _reason: 'initCh' }; } else { // No channeling — cast the CHEAPEST buff first for more proc attempts candidates.sort((a, b) => a.mpCost - b.mpCost); + return { type: 'spell', name: candidates[0].spell, selfTarget: true, _reason: 'init' }; } - - return { type: 'spell', name: candidates[0].spell, selfTarget: true }; } function kickstartChanneling() { diff --git a/src/config.js b/src/config.js index d7f90f8..9637530 100644 --- a/src/config.js +++ b/src/config.js @@ -2,7 +2,7 @@ // CONFIG — default settings // ═══════════════════════════════════════════════════════════════════════ -const VERSION = '0.14.2'; +const VERSION = '0.14.3'; const CFG = { // — Battle automation diff --git a/src/header.user.js b/src/header.user.js index 85c1c19..12da18c 100644 --- a/src/header.user.js +++ b/src/header.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name HV Unified // @namespace hvunified -// @version 0.14.2 +// @version 0.14.3 // @description HV Unified — battle automation, guidance, and UI enhancements for HentaiVerse // @author GaboGG + Hermes // @match *://*.hentaiverse.org/* diff --git a/src/strategy-engine.js b/src/strategy-engine.js index eb180ea..d10eaf9 100644 --- a/src/strategy-engine.js +++ b/src/strategy-engine.js @@ -238,15 +238,16 @@ function castInitialBuffs() { if (candidates.length === 0) return null; + // Log which mode we're in if (STATE.channeling) { // Channeling is charged — cast the MOST expensive buff for best value candidates.sort((a, b) => b.mpCost - a.mpCost); + return { type: 'spell', name: candidates[0].spell, selfTarget: true, _reason: 'initCh' }; } else { // No channeling — cast the CHEAPEST buff first for more proc attempts candidates.sort((a, b) => a.mpCost - b.mpCost); + return { type: 'spell', name: candidates[0].spell, selfTarget: true, _reason: 'init' }; } - - return { type: 'spell', name: candidates[0].spell, selfTarget: true }; } function kickstartChanneling() {