diff --git a/scripts/hv-unified.user.js b/scripts/hv-unified.user.js index d7da28f..bad70d4 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.12 +// @version 0.14.13 // @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.12'; +const VERSION = '0.14.13'; const CFG = { // — Battle automation @@ -3441,19 +3441,6 @@ function scrapeCharacterEquip() { }); }); - // Read the popup box for the currently-displayed tooltip - // Note: popup_box only updates on actual hover; triggerAllTooltips - // may not work if equips.set is async. We still get names/IDs from slots. - try { - const tooltip = parseTooltipPopup(); - if (tooltip && tooltip.name && tooltip.name !== 'Popup Box') { - const matchIdx = scraped.findIndex(s => tooltip.name.includes(s.name) || s.name.includes(tooltip.name)); - if (matchIdx >= 0) { - scraped[matchIdx].stats = tooltip.stats; - } - } - } catch (e) {} - if (scraped.length > 0) { const db = getGearDB(); const filtered = db.filter(e => !(e.source === 'character')); @@ -3581,8 +3568,8 @@ function captureAllTooltips(delay = 400) { function next() { if (idx >= slots.length) { console.log(`%c[HV] Captured ${results.length} tooltips`, 'color:#0f0'); - // Re-scrape with the captured data - autoScrapeGear(); + // DON'T re-scrape — that would wipe the tooltip stats we just saved + logGearSummary(); return; } @@ -3628,9 +3615,6 @@ function autoScrapeGear() { // Character equipment page if (url.includes('ss=eq')) { - // Trigger tooltips for all items to populate popup_box - const tooltips = triggerAllTooltips(); - // Then scrape return scrapeCharacterEquip(); } diff --git a/scripts/latest.user.js b/scripts/latest.user.js index d7da28f..bad70d4 100644 --- a/scripts/latest.user.js +++ b/scripts/latest.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name HV Unified // @namespace hvunified -// @version 0.14.12 +// @version 0.14.13 // @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.12'; +const VERSION = '0.14.13'; const CFG = { // — Battle automation @@ -3441,19 +3441,6 @@ function scrapeCharacterEquip() { }); }); - // Read the popup box for the currently-displayed tooltip - // Note: popup_box only updates on actual hover; triggerAllTooltips - // may not work if equips.set is async. We still get names/IDs from slots. - try { - const tooltip = parseTooltipPopup(); - if (tooltip && tooltip.name && tooltip.name !== 'Popup Box') { - const matchIdx = scraped.findIndex(s => tooltip.name.includes(s.name) || s.name.includes(tooltip.name)); - if (matchIdx >= 0) { - scraped[matchIdx].stats = tooltip.stats; - } - } - } catch (e) {} - if (scraped.length > 0) { const db = getGearDB(); const filtered = db.filter(e => !(e.source === 'character')); @@ -3581,8 +3568,8 @@ function captureAllTooltips(delay = 400) { function next() { if (idx >= slots.length) { console.log(`%c[HV] Captured ${results.length} tooltips`, 'color:#0f0'); - // Re-scrape with the captured data - autoScrapeGear(); + // DON'T re-scrape — that would wipe the tooltip stats we just saved + logGearSummary(); return; } @@ -3628,9 +3615,6 @@ function autoScrapeGear() { // Character equipment page if (url.includes('ss=eq')) { - // Trigger tooltips for all items to populate popup_box - const tooltips = triggerAllTooltips(); - // Then scrape return scrapeCharacterEquip(); } diff --git a/src/config.js b/src/config.js index 6b5a725..35a7cea 100644 --- a/src/config.js +++ b/src/config.js @@ -2,7 +2,7 @@ // CONFIG — default settings // ═══════════════════════════════════════════════════════════════════════ -const VERSION = '0.14.12'; +const VERSION = '0.14.13'; const CFG = { // — Battle automation diff --git a/src/gear-scraper.js b/src/gear-scraper.js index 4638a4e..0419551 100644 --- a/src/gear-scraper.js +++ b/src/gear-scraper.js @@ -198,19 +198,6 @@ function scrapeCharacterEquip() { }); }); - // Read the popup box for the currently-displayed tooltip - // Note: popup_box only updates on actual hover; triggerAllTooltips - // may not work if equips.set is async. We still get names/IDs from slots. - try { - const tooltip = parseTooltipPopup(); - if (tooltip && tooltip.name && tooltip.name !== 'Popup Box') { - const matchIdx = scraped.findIndex(s => tooltip.name.includes(s.name) || s.name.includes(tooltip.name)); - if (matchIdx >= 0) { - scraped[matchIdx].stats = tooltip.stats; - } - } - } catch (e) {} - if (scraped.length > 0) { const db = getGearDB(); const filtered = db.filter(e => !(e.source === 'character')); @@ -338,8 +325,8 @@ function captureAllTooltips(delay = 400) { function next() { if (idx >= slots.length) { console.log(`%c[HV] Captured ${results.length} tooltips`, 'color:#0f0'); - // Re-scrape with the captured data - autoScrapeGear(); + // DON'T re-scrape — that would wipe the tooltip stats we just saved + logGearSummary(); return; } @@ -385,9 +372,6 @@ function autoScrapeGear() { // Character equipment page if (url.includes('ss=eq')) { - // Trigger tooltips for all items to populate popup_box - const tooltips = triggerAllTooltips(); - // Then scrape return scrapeCharacterEquip(); } diff --git a/src/header.user.js b/src/header.user.js index 0bc3eb6..f63a798 100644 --- a/src/header.user.js +++ b/src/header.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name HV Unified // @namespace hvunified -// @version 0.14.12 +// @version 0.14.13 // @description HV Unified — battle automation, guidance, and UI enhancements for HentaiVerse // @author GaboGG + Hermes // @match *://*.hentaiverse.org/*