v0.14.30 - Ignore high threat when 2 or fewer enemies

- Step 0e (emergency weapon skills): requires STATE.monsters.length >= 3.
  With 1-2 enemies, basic attack and tank the hits — better to farm OC.
- Step 11 (normal weapon skills): isHighThreat trigger also requires >= 3.
  If OC >= 60 naturally, skills still fire regardless of enemy count.
- Great Cleave on rares still works at lower OC since rares are worth
  killing fast regardless of group size.
This commit is contained in:
GaboGG 2026-07-28 10:43:07 -04:00
parent 782a094691
commit 2d6042df64
5 changed files with 18 additions and 15 deletions

View file

@ -1,7 +1,7 @@
// ==UserScript==
// @name HV Unified
// @namespace hvunified
// @version 0.14.29
// @version 0.14.30
// @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.29';
const VERSION = '0.14.30';
const CFG = {
// — Battle automation
@ -1471,11 +1471,12 @@ function strategyVeteran() {
// Reset flag if spirit got turned off externally
if (!STATE.spiritStance) STATE._spiritForSkill = 0;
// 0e. HIGH-THREAT WEAPON SKILLS — after survival items/cure
// 0e. HIGH-THREAT WEAPON SKILLS — only when 3+ enemies
// Skip if ≤2 enemies — basic attacks build OC for next wave instead.
const SINGLE_THREAT = Math.round(120 * 90 / 100);
const anyImminent = STATE.monsters.some((m, i) => (STATE.monsterSp[i] || 0) > SINGLE_THREAT);
const isHighThreatEarly = hasHighThreat(THREAT_PX);
if ((isHighThreatEarly || anyImminent) && STATE.oc >= 20) {
if ((isHighThreatEarly || anyImminent) && STATE.oc >= 20 && STATE.monsters.length >= 3) {
if (STATE.monsters.length >= 3 && STATE.skillsKnown.includes('Rending Blow')) {
// Use findOptimalDominoTarget for max AoE coverage (target + 2 left + 2 right)
const t = findOptimalDominoTarget();
@ -1590,7 +1591,7 @@ function strategyVeteran() {
if (isHighThreat) console.log('%c[HV] ⚠ HIGH THREAT: 2+ monsters with SP >85%', 'color:#f44');
const askillOC3 = CFG.skillOC || 80;
if (STATE.oc >= askillOC3 || isHighThreat) {
if (STATE.oc >= askillOC3 || (isHighThreat && STATE.monsters.length >= 3)) {
if (isHighThreat && STATE.oc < askillOC3) console.log('%c[HV] ⚠ emergency: using skill at OC=' + STATE.oc.toFixed(0), 'color:#f80');
// Emergency: 2+ monsters about to special — spend OC to kill them fast
// Rending Blow: AoE armor pen vs 3+ enemies. Target center monster for max 5-target splash.

View file

@ -1,7 +1,7 @@
// ==UserScript==
// @name HV Unified
// @namespace hvunified
// @version 0.14.29
// @version 0.14.30
// @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.29';
const VERSION = '0.14.30';
const CFG = {
// — Battle automation
@ -1471,11 +1471,12 @@ function strategyVeteran() {
// Reset flag if spirit got turned off externally
if (!STATE.spiritStance) STATE._spiritForSkill = 0;
// 0e. HIGH-THREAT WEAPON SKILLS — after survival items/cure
// 0e. HIGH-THREAT WEAPON SKILLS — only when 3+ enemies
// Skip if ≤2 enemies — basic attacks build OC for next wave instead.
const SINGLE_THREAT = Math.round(120 * 90 / 100);
const anyImminent = STATE.monsters.some((m, i) => (STATE.monsterSp[i] || 0) > SINGLE_THREAT);
const isHighThreatEarly = hasHighThreat(THREAT_PX);
if ((isHighThreatEarly || anyImminent) && STATE.oc >= 20) {
if ((isHighThreatEarly || anyImminent) && STATE.oc >= 20 && STATE.monsters.length >= 3) {
if (STATE.monsters.length >= 3 && STATE.skillsKnown.includes('Rending Blow')) {
// Use findOptimalDominoTarget for max AoE coverage (target + 2 left + 2 right)
const t = findOptimalDominoTarget();
@ -1590,7 +1591,7 @@ function strategyVeteran() {
if (isHighThreat) console.log('%c[HV] ⚠ HIGH THREAT: 2+ monsters with SP >85%', 'color:#f44');
const askillOC3 = CFG.skillOC || 80;
if (STATE.oc >= askillOC3 || isHighThreat) {
if (STATE.oc >= askillOC3 || (isHighThreat && STATE.monsters.length >= 3)) {
if (isHighThreat && STATE.oc < askillOC3) console.log('%c[HV] ⚠ emergency: using skill at OC=' + STATE.oc.toFixed(0), 'color:#f80');
// Emergency: 2+ monsters about to special — spend OC to kill them fast
// Rending Blow: AoE armor pen vs 3+ enemies. Target center monster for max 5-target splash.

View file

@ -2,7 +2,7 @@
// CONFIG — default settings
// ═══════════════════════════════════════════════════════════════════════
const VERSION = '0.14.29';
const VERSION = '0.14.30';
const CFG = {
// — Battle automation

View file

@ -1,7 +1,7 @@
// ==UserScript==
// @name HV Unified
// @namespace hvunified
// @version 0.14.29
// @version 0.14.30
// @description HV Unified — battle automation, guidance, and UI enhancements for HentaiVerse
// @author GaboGG + Hermes
// @match *://*.hentaiverse.org/*

View file

@ -745,11 +745,12 @@ function strategyVeteran() {
// Reset flag if spirit got turned off externally
if (!STATE.spiritStance) STATE._spiritForSkill = 0;
// 0e. HIGH-THREAT WEAPON SKILLS — after survival items/cure
// 0e. HIGH-THREAT WEAPON SKILLS — only when 3+ enemies
// Skip if ≤2 enemies — basic attacks build OC for next wave instead.
const SINGLE_THREAT = Math.round(120 * 90 / 100);
const anyImminent = STATE.monsters.some((m, i) => (STATE.monsterSp[i] || 0) > SINGLE_THREAT);
const isHighThreatEarly = hasHighThreat(THREAT_PX);
if ((isHighThreatEarly || anyImminent) && STATE.oc >= 20) {
if ((isHighThreatEarly || anyImminent) && STATE.oc >= 20 && STATE.monsters.length >= 3) {
if (STATE.monsters.length >= 3 && STATE.skillsKnown.includes('Rending Blow')) {
// Use findOptimalDominoTarget for max AoE coverage (target + 2 left + 2 right)
const t = findOptimalDominoTarget();
@ -864,7 +865,7 @@ function strategyVeteran() {
if (isHighThreat) console.log('%c[HV] ⚠ HIGH THREAT: 2+ monsters with SP >85%', 'color:#f44');
const askillOC3 = CFG.skillOC || 80;
if (STATE.oc >= askillOC3 || isHighThreat) {
if (STATE.oc >= askillOC3 || (isHighThreat && STATE.monsters.length >= 3)) {
if (isHighThreat && STATE.oc < askillOC3) console.log('%c[HV] ⚠ emergency: using skill at OC=' + STATE.oc.toFixed(0), 'color:#f80');
// Emergency: 2+ monsters about to special — spend OC to kill them fast
// Rending Blow: AoE armor pen vs 3+ enemies. Target center monster for max 5-target splash.