v0.14.26 - Fix threat threshold (70%->80%) + stalling on single enemy
- Threat threshold raised from 70% (84px) to 80% (96px) — stops wasting OC on Rending Blow when enemies are at 89 SP (31 points from actually specialing). In the log, RB fired at OC=50 on 89SP mobs which wasn't an emergency. - Single-monster stalling now triggers regardless of enemy SP level. Previously blocked by !hasHighThreat — if the last enemy had high SP, stalling was skipped and the script killed immediately, wasting the stall opportunity for skill cooldown recovery.
This commit is contained in:
parent
3618198081
commit
ff728fe68f
5 changed files with 21 additions and 15 deletions
|
|
@ -1,7 +1,7 @@
|
|||
// ==UserScript==
|
||||
// @name HV Unified
|
||||
// @namespace hvunified
|
||||
// @version 0.14.25
|
||||
// @version 0.14.26
|
||||
// @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.25';
|
||||
const VERSION = '0.14.26';
|
||||
|
||||
const CFG = {
|
||||
// — Battle automation
|
||||
|
|
@ -771,8 +771,8 @@ function shouldBuff(name, minTurns) {
|
|||
|
||||
// Known buffs with their priority, icon name, spell name, and refresh threshold
|
||||
|
||||
// Threat detection: SP bar max is 120px, monsters >70% are dangerous
|
||||
const THREAT_PX = Math.round(120 * 70 / 100); // ~84px — triggers earlier on IWBTH
|
||||
// Threat detection: SP bar max is 120px, monsters >80% are dangerous
|
||||
const THREAT_PX = Math.round(120 * 80 / 100); // ~96px — triggers when genuinely close to specialing
|
||||
|
||||
// NOTE: Heartseeker and Arcane Focus are mutually exclusive. For a 2H (physical) build,
|
||||
// Heartseeker is preferred (+25% phys dmg, +10% crit). Arcane Focus is for magic builds.
|
||||
|
|
@ -1646,7 +1646,9 @@ function strategyVeteran() {
|
|||
|
||||
// ── Stalling: when 1 normal enemy remains, prefer buff refreshes over killing
|
||||
// This gives weapon skill cooldowns time to tick down before next round.
|
||||
if (STATE.monsters && STATE.monsters.length === 1 && !anyRareMonster() && !hasHighThreat(THREAT_PX)) {
|
||||
// Always stall regardless of enemy SP — the last enemy will special anyway,
|
||||
// and one extra turn of buff refresh > killing immediately with skills on CD.
|
||||
if (STATE.monsters && STATE.monsters.length === 1 && !anyRareMonster()) {
|
||||
for (const b of BUFF_PRIORITY) {
|
||||
const dur = buffDuration(b.icon);
|
||||
if (dur === 0 || dur < 15) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// ==UserScript==
|
||||
// @name HV Unified
|
||||
// @namespace hvunified
|
||||
// @version 0.14.25
|
||||
// @version 0.14.26
|
||||
// @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.25';
|
||||
const VERSION = '0.14.26';
|
||||
|
||||
const CFG = {
|
||||
// — Battle automation
|
||||
|
|
@ -771,8 +771,8 @@ function shouldBuff(name, minTurns) {
|
|||
|
||||
// Known buffs with their priority, icon name, spell name, and refresh threshold
|
||||
|
||||
// Threat detection: SP bar max is 120px, monsters >70% are dangerous
|
||||
const THREAT_PX = Math.round(120 * 70 / 100); // ~84px — triggers earlier on IWBTH
|
||||
// Threat detection: SP bar max is 120px, monsters >80% are dangerous
|
||||
const THREAT_PX = Math.round(120 * 80 / 100); // ~96px — triggers when genuinely close to specialing
|
||||
|
||||
// NOTE: Heartseeker and Arcane Focus are mutually exclusive. For a 2H (physical) build,
|
||||
// Heartseeker is preferred (+25% phys dmg, +10% crit). Arcane Focus is for magic builds.
|
||||
|
|
@ -1646,7 +1646,9 @@ function strategyVeteran() {
|
|||
|
||||
// ── Stalling: when 1 normal enemy remains, prefer buff refreshes over killing
|
||||
// This gives weapon skill cooldowns time to tick down before next round.
|
||||
if (STATE.monsters && STATE.monsters.length === 1 && !anyRareMonster() && !hasHighThreat(THREAT_PX)) {
|
||||
// Always stall regardless of enemy SP — the last enemy will special anyway,
|
||||
// and one extra turn of buff refresh > killing immediately with skills on CD.
|
||||
if (STATE.monsters && STATE.monsters.length === 1 && !anyRareMonster()) {
|
||||
for (const b of BUFF_PRIORITY) {
|
||||
const dur = buffDuration(b.icon);
|
||||
if (dur === 0 || dur < 15) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// CONFIG — default settings
|
||||
// ═══════════════════════════════════════════════════════════════════════
|
||||
|
||||
const VERSION = '0.14.25';
|
||||
const VERSION = '0.14.26';
|
||||
|
||||
const CFG = {
|
||||
// — Battle automation
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// ==UserScript==
|
||||
// @name HV Unified
|
||||
// @namespace hvunified
|
||||
// @version 0.14.25
|
||||
// @version 0.14.26
|
||||
// @description HV Unified — battle automation, guidance, and UI enhancements for HentaiVerse
|
||||
// @author GaboGG + Hermes
|
||||
// @match *://*.hentaiverse.org/*
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ function shouldBuff(name, minTurns) {
|
|||
|
||||
// Known buffs with their priority, icon name, spell name, and refresh threshold
|
||||
|
||||
// Threat detection: SP bar max is 120px, monsters >70% are dangerous
|
||||
const THREAT_PX = Math.round(120 * 70 / 100); // ~84px — triggers earlier on IWBTH
|
||||
// Threat detection: SP bar max is 120px, monsters >80% are dangerous
|
||||
const THREAT_PX = Math.round(120 * 80 / 100); // ~96px — triggers when genuinely close to specialing
|
||||
|
||||
// NOTE: Heartseeker and Arcane Focus are mutually exclusive. For a 2H (physical) build,
|
||||
// Heartseeker is preferred (+25% phys dmg, +10% crit). Arcane Focus is for magic builds.
|
||||
|
|
@ -920,7 +920,9 @@ function strategyVeteran() {
|
|||
|
||||
// ── Stalling: when 1 normal enemy remains, prefer buff refreshes over killing
|
||||
// This gives weapon skill cooldowns time to tick down before next round.
|
||||
if (STATE.monsters && STATE.monsters.length === 1 && !anyRareMonster() && !hasHighThreat(THREAT_PX)) {
|
||||
// Always stall regardless of enemy SP — the last enemy will special anyway,
|
||||
// and one extra turn of buff refresh > killing immediately with skills on CD.
|
||||
if (STATE.monsters && STATE.monsters.length === 1 && !anyRareMonster()) {
|
||||
for (const b of BUFF_PRIORITY) {
|
||||
const dur = buffDuration(b.icon);
|
||||
if (dur === 0 || dur < 15) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue