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:
parent
782a094691
commit
2d6042df64
5 changed files with 18 additions and 15 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// CONFIG — default settings
|
||||
// ═══════════════════════════════════════════════════════════════════════
|
||||
|
||||
const VERSION = '0.14.29';
|
||||
const VERSION = '0.14.30';
|
||||
|
||||
const CFG = {
|
||||
// — Battle automation
|
||||
|
|
|
|||
|
|
@ -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/*
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue