*NEW* adding JavaScript for CSS here and there in the ♥Hentai Heroes game♥
当前为
// ==UserScript==
// @name CSS Define
// @namespace Haremheroes
// @version 1.6.0
// @description *NEW* adding JavaScript for CSS here and there in the ♥Hentai Heroes game♥
// @author KominoStyle
// @match http*://nutaku.haremheroes.com/*
// @match http*://*.hentaiheroes.com/*
// @run-at document-end
// @grant none
// @license MIT
// ==/UserScript==
/*==========================================================*
CSS-Addon:
Stylus: https://add0n.com/stylus.html
*-----------------------------------------------------------*
£-*-
+
CSS-Script:
https://userstyles.world/style/960/hentai-heroes-css-define
*==========================================================*/
/* =========
GENERAL
========= */
// Define jQuery
var $ = window.jQuery
// no eslint because window. is not used
/* global membersList */
// Define CSS
var sheet = (function() {
var style = document.createElement('style');
document.head.appendChild(style);
return style.sheet;
})();
var CurrentPage = window.location.pathname;
var CurrentHref = window.location.href;
var page = CurrentPage.split("/").pop(); //console.log(page) window.location.pathname.split("/").pop();
var pageQuest = CurrentHref.split("/")[3]; //console.log(page) window.location.pathname.split("/").shift();
var CurrentSearch = window.location.search;
var pagesearch = page+CurrentSearch;
//localstorage
var Clubmember_deserialized = JSON.parse(localStorage.getItem("CMID"));
var ClubMember_deserialized = JSON.parse(localStorage.getItem("CMNL"));
var CSSCurrentQuest_deserialized = JSON.parse(localStorage.getItem("QuestID"));
//shortcut var
const CSSsClubChampion = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/club-champion.html" hh-title="Club Champion" tooltip-id="tooltip_1"><div class="ClubChampionIcn CSSDefineIcn"></div></a>'
const CSSsChampion = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/champions-map.html" hh-title="Champion" tooltip-id="tooltip_1"><div class="ChampionIcn CSSDefineIcn"></div></a>'
const CSSsEpicPachinko = '<a class="CSSDefine_round_button CSSDefine_button_red Pachinkohidden" href="" hh-title="Epic Pachinko" tooltip-id="tooltip_1"><div class="PachinkoIcn CSSDefineIcn"></div></a>'
const CSSsMythicPqchinko = '<a class="CSSDefine_round_button CSSDefine_button_orange Pachinkohidden" href="" hh-title="Mythic Pachinko" tooltip-id="tooltip_1"><div class="PachinkoIcn CSSDefineIcn"></div></a>'
const CSSsGreatPachinko = '<a class="CSSDefine_round_button CSSDefine_button_green Pachinkohidden" href="" hh-title="Great Pachinko" tooltip-id="tooltip_1"><div class="PachinkoIcn CSSDefineIcn"></div></a>'
const CSSsLvLGirl = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html?type=potion" hh-title="Leveling Girl" tooltip-id="tooltip_1"><div class="LvLGirlIcn CSSDefineIcn"></div></a>'
const CSSsAwakenGirl = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html?type=potion" hh-title="Awakening Girl" tooltip-id="tooltip_1"><div class="AwakenGirlIcn CSSDefineIcn"></div></a>'
const CSSsUpgradeGirl = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html?type=gift" hh-title="Upgrading Girl" tooltip-id="tooltip_1"><div class="UpgradGirlIcn CSSDefineIcn"></div></a>'
const CSSsMarket = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html" hh-title="Market" tooltip-id="tooltip_1"><div class="MarketIcn CSSDefineIcn"></div></a>'
const CSSsVillain = '<a class="CSSDefine_round_button CSSDefine_button_blue Villainhidden" href="/map.html" hh-title="Villain" tooltip-id="tooltip_1"><div class="VillainIcn CSSDefineIcn"></div></a>'
const CSSsQuest = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="'+CSSCurrentQuest_deserialized+'" hh-title="Current Quest" tooltip-id="tooltip_1"><div class="QuestIcn CSSDefineIcn"></div></a>'
const CSSsSideQuest = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/side-quests.html" hh-title="Side Quest" tooltip-id="tooltip_1"><div class="SideQuestIcn CSSDefineIcn"></div></a>'
const CSSsLeague = '<a class="CSSDefine_round_button CSSDefine_button_blue Leagueshidden" href="/tower-of-fame.html" hh-title="Leagues" tooltip-id="tooltip_1"><div class="LeaguesIcn CSSDefineIcn"></div></a>'
const CSSsPhanteon = '<a class="CSSDefine_round_button CSSDefine_button_blue Phanteonhidden" href="/pantheon.html" hh-title="Phanteon" tooltip-id="tooltip_1"><div class="PhanteonIcn CSSDefineIcn"></div></a>'
const CSSsDailyGoal = '<a class="CSSDefine_round_button CSSDefine_button_orange" href="/activities.html?tab=daily_goals" hh-title="Daily Goals" tooltip-id="tooltip_1"><div class="ActivitiesIcn CSSDefineIcn"></div></a>'
const CSSsMission = '<a class="CSSDefine_round_button CSSDefine_button_blue" href="/activities.html?tab=missions" hh-title="Mission" tooltip-id="tooltip_1"><div class="ActivitiesIcn CSSDefineIcn"></div></a>'
//Get Club Member-ID
if (page == 'clubs.html') { // membersList is missing
const CMemberID = membersList.map(({id_member}) => id_member)
//const CMemberID = $('#members tr').map(function () {return $(this).attr('sorting_id')}).toArray(); old Code
let Clubmember_serialized = JSON.stringify(CMemberID);
localStorage.setItem("CMID", Clubmember_serialized);
const CMemberNick = membersList.map(({nickname}) => nickname)
const CMemberLvL = membersList.map(({level}) => level)
let ClubMember_serialized = JSON.stringify(CMemberNick && CMemberLvL);
localStorage.setItem("CMNL", ClubMember_serialized);
}
/*if (page == 'clubs.html') {
const CMemberID = $('#members tr').map(function () {return $(this).attr('sorting_id')}).toArray();
let Clubmember_serialized = JSON.stringify(CMemberID);
localStorage.setItem("CMID", Clubmember_serialized);
}*/
//Leagues ID check
if (page == 'tower-of-fame.html') {
Clubmember_deserialized.forEach(Member => { //console.log(Member)
$('tr[sorting_id='+Member+']').addClass('IsMember')
})
}
//Contest ID check
if (page == 'activities.html') {
Clubmember_deserialized.forEach(Member => { //console.log(Member)
$('tr[sorting_id='+Member+']').addClass('IsMember')
})
}
if (page == 'home.html' || page == 'homepage.html') {
const CSSCurrentQuest = $('#homepage .continue_quest_home').map(function () {return $(this).attr('href')}).toArray();
let CSSCurrentQuest_serialized = JSON.stringify(CSSCurrentQuest);
localStorage.setItem("QuestID", CSSCurrentQuest_serialized);
}
//Hide button "buy with kobans" for Bookshop & Giftshop
if (page == 'shop.html') {
//Hide button "buy with kobans" for Bookshop & Giftshop
if(pagesearch == 'shop.html?type=potion' || pagesearch == 'shop.html?type=gift') {
$('#shop button[rel=buy]').addClass('DONTbuy')
}
//Hide button "sell your Items" for Boostershop & Bookshop & Giftshop
if(pagesearch == 'shop.html?type=booster' || pagesearch == 'shop.html?type=potion' || pagesearch == 'shop.html?type=gift') {
$('#inventory button[rel=sell]').addClass('DONTsell')
}
document.querySelector("#type_item > div:nth-child(4)").onclick = function() {addDontBuy() + addDontSell()};
document.querySelector("#type_item > div:nth-child(3)").onclick = function() {addDontBuy() + addDontSell()};
document.querySelector("#type_item > div:nth-child(2)").onclick = function() {delDontBuy() + addDontSell()};
document.querySelector("#type_item > div:nth-child(1)").onclick = function() {delDontBuy() + delDontSell()};
//Show button "Buy with Kobans" if the User wants to buy with Kobans
$('#shop').append('<label type="button" id="GiveMeThisItem" class=""><span id="show_terminal"><img title="Activate button" src="https://hh.hh-content.com/quest/ic_eyeopen.svg"></span></label>')
document.querySelector("#GiveMeThisItem").onclick = function() {delDontBuy()};
//Show button "Sell Item" if the User wants to sell his Item
$('#inventory').append('<label type="button" id="SellThisItem" class=""><span id="show_terminal"><img title="Activate button" src="https://hh.hh-content.com/quest/ic_eyeopen.svg"></span></label>')
document.querySelector("#SellThisItem").onclick = function() {delDontSell()};
//function for buy and sell button
function addDontBuy() {
$('#shop button[rel=buy]').addClass('DONTbuy')
}
function delDontBuy() {
$('#shop button[rel=buy]').removeClass('DONTbuy')
}
function addDontSell() {
$('#inventory button[rel=sell]').addClass('DONTsell')
}
function delDontSell() {
$('#inventory button[rel=sell]').removeClass('DONTsell')
}
}
//Hide button "sell your Items" for Boostershop & Bookshop & Giftshop
//Side-Quest
if (page == 'side-quests.html') {
$('.side-quest').has('.Read').addClass('complete')
$('.side-quest').each(function() {
$('.side-quest:not(:has(".slot.slot_xp"))').not('.complete').addClass('rewards').find('.Continue').removeClass('blue_button_L').addClass('purple_button_L').text('➥ Reward')
})
$('.side-quests-list').prepend($(".side-quest:has('.slot.slot_xp')"))
/* Normales JavaScript
document.querySelectorAll('.side-quest .slot.slot_xp').forEach(function(hasXP) {
document.querySelector('.side-quests-list').prepend(hasXP.parentElement.parentElement)
})
*/
}
//document.querySelector('.side-quests-list').prepend(document.querySelectorAll('.side-quest .slot.slot_xp'))
//PoA changes
if (page == 'event.html') {
//Give girls more space if all Mission done
$('#poa-content:not(:has(".selected"))').each(function() {
$('#events #poa-content .animated-girl-display').addClass('MoreSpace')
$('#events #poa-content .girl-avatar').addClass('MoreSpace')
})
//If "PoA reward Container" get clicked, remove more space for girls
$("#nc-poa-tape-rewards .nc-poa-reward-container").click(function() {
$('#events #poa-content .animated-girl-display').removeClass('MoreSpace')
$('#events #poa-content .girl-avatar').removeClass('MoreSpace')
})
//Add Club Champion if "Go to Champion"
$('#poa-content .buttons:has(button[data-href="/champions-map.html"])').append('<button data-href="club-champion.html" class="blue_button_L">Go to Club Champions</button>')
//"Go to" change to "➥"
$('#poa-content .buttons button').each(function() {
var Goto = $(this).text().replace('Go to','➥').replace('Defeat','➥')
$(this).text(Goto)
})
$('#events .nc-events-prize-locations-buttons-container a').each(function() {
var Goto = $(this).text().replace('Go to','➥').replace('Defeat','➥')
$(this).text(Goto)
})
}
//Bang Event changes
if (page == 'event.html') {
$('#boss_bang .boss-bang-center-section').append($('#start-bang-button'))
}
//PlaceOfPower /addons
if (page == 'activities.html') {
$('#pop_info .pop_thumb_title > span').each(function() {
var HCCHKH = $(this).text().replace(/ *\([^)]*\) */g, "")
$(this).text(HCCHKH)
})
$('#pop_info .pop_thumb_level > span').each(function() {
var LVL = $(this).text().replace("Lvl", "LvL")
$(this).text(LVL)
})
//just adding display: none; always (not like market)
$('#pop .pop_list .pop-action-btn').addClass('hiddenPoP')
//Hide PoP-button /class=hiddenPoP = eye-button
$('#pop_info').append('<label type="button" id="ShowPoP" class="hiddenPoP"><span id="show_PoP_terminal"><img title="Activate button" src="https://hh2.hh-content.com/quest/ic_eyeclosed.svg"></span></label>')
document.querySelector("#ShowPoP").onclick = function() {addHiddenPoP()};
//Show PoP-Button if the User wants to use them
$('#pop_info').append('<label type="button" id="HiddenPoP" class=""><span id="show_PoP_terminal"><img title="Activate button" src="https://hh.hh-content.com/quest/ic_eyeopen.svg"></span></label>')
document.querySelector("#HiddenPoP").onclick = function() {delHiddenPoP()};
//function for faster PoP button#pop #pop_info label#HiddenPoP
function addHiddenPoP() {
$('#pop .pop_list .pop-action-btn').addClass('hiddenPoP')
$('#pop_info label#ShowPoP').addClass('hiddenPoP')//only for eye-button
$('#pop_info label#HiddenPoP').removeClass('hiddenPoP')//only for eye-button
}
function delHiddenPoP() {
$('#pop .pop_list .pop-action-btn').removeClass('hiddenPoP')
$('#pop_info label#ShowPoP').removeClass('hiddenPoP')//only for eye-button
$('#pop_info label#HiddenPoP').addClass('hiddenPoP')//only for eye-button
}
}
//DailyGoals /addons
if (page == 'activities.html') {
$('#daily_goals .daily-goals-objective-status > p').each(function() {
var NoMatter = $(this).text().replace(/ *\([^)]*\) */g, "")
$(this).text(NoMatter)
})
$('#daily_goals .daily-goals-objectives-container').append(`<div class="daily-goals-objective">
<div class="daily-goals-shortcut">
<a class="CSSDefine_round_button CSSDefine_button_blue" href="/club-champion.html" hh-title="Club Champion" tooltip-id="tooltip_1"><div class="ClubChampionIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue" href="/champions-map.html" hh-title="Champion" tooltip-id="tooltip_1"><div class="ChampionIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_red Pachinkohidden" href="" hh-title="Epic Pachinko" tooltip-id="tooltip_1"><div class="PachinkoIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_orange Pachinkohidden" href="" hh-title="Mythic Pachinko" tooltip-id="tooltip_1"><div class="PachinkoIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_green Pachinkohidden" href="" hh-title="Great Pachinko" tooltip-id="tooltip_1"><div class="PachinkoIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html?type=potion" hh-title="Leveling Girl" tooltip-id="tooltip_1"><div class="LvLGirlIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html?type=potion" hh-title="Awakening Girl" tooltip-id="tooltip_1"><div class="AwakenGirlIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html?type=gift" hh-title="Upgrading Girl" tooltip-id="tooltip_1"><div class="UpgradGirlIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue" href="/shop.html" hh-title="Market" tooltip-id="tooltip_1"><div class="MarketIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue Villainhidden" href="/map.html" hh-title="Villain" tooltip-id="tooltip_1"><div class="VillainIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue" href="`+CSSCurrentQuest_deserialized+`" hh-title="Current Quest" tooltip-id="tooltip_1"><div class="QuestIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue" href="/side-quests.html" hh-title="Side Quest" tooltip-id="tooltip_1"><div class="SideQuestIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue Leagueshidden" href="/tower-of-fame.html" hh-title="Leagues" tooltip-id="tooltip_1"><div class="LeaguesIcn CSSDefineIcn"></div></a>
<a class="CSSDefine_round_button CSSDefine_button_blue Phanteonhidden" href="/pantheon.html" hh-title="Phanteon" tooltip-id="tooltip_1"><div class="PhanteonIcn CSSDefineIcn"></div></a>
</div>
</div>`)
$('#daily_goals .potions-total p').attr('id', 'Potion-Points')
$("#daily_goals div.daily-goals-right-part > img").attr('id', 'DailyGirlRewards')
const PotionsTotal = document.getElementById('Potion-Points').innerHTML
const DailyGirl = "https://hh2.hh-content.com/pictures/girls/354002053/"
const DailyGirl0 = "ava0-1200x.webp"
const DailyGirl1 = "ava1-1200x.webp"
const DailyGirl2 = "ava2-1200x.webp"
const DailyGirl3 = "ava3-1200x.webp"
if (PotionsTotal > 99) {
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl3)
} else if (PotionsTotal > 59) {
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl2)
} else if (PotionsTotal > 19) {
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl1)
} else if (PotionsTotal > 0) {
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl0)
}
document.querySelector("#Potion-Points").onclick = function() {previewDailyGirl0()};
document.querySelector("#daily_goals .daily-goals-left-part div.progress-bar-rewards-container > div:nth-child(1) > p").onclick = function() {previewDailyGirl1()};
document.querySelector("#daily_goals .daily-goals-left-part div.progress-bar-rewards-container > div:nth-child(3) > p").onclick = function() {previewDailyGirl2()};
document.querySelector("#daily_goals .daily-goals-left-part div.progress-bar-rewards-container > div:nth-child(5) > p").onclick = function() {previewDailyGirl3()};
function previewDailyGirl0(){
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl0)
}
function previewDailyGirl1(){
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl1)
}
function previewDailyGirl2(){
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl2)
}
function previewDailyGirl3(){
$("#DailyGirlRewards").attr('src', DailyGirl + DailyGirl3)
}
}
//Pantheon /addons
if (page == 'pantheon.html') {
$('#pantheon_tab_container .temple-name-bgr .text-container > div').each(function() {
var LVL = $(this).text().replace("Lvl", "LvL")
$(this).text(LVL)
})
}
//Harem /addons
if (page == '1') {
$('#harem_left .right .g_infos .lvl > span').each(function() {
var LVL = $(this).text().replace("Lvl", "LvL")
$(this).text(LVL)
})
}
//HH++ script
/*if (page = 'home.html') {
$('#contains_all .hh-plus-plus-config-panel').each(function() {
//just adding display: none; always (not like market)
$('.hh-plus-plus-config-panel .config-setting:is([rel="core_marketHideSellButton"])').addClass('hiddenHHConfig')
//Hide Config that can conflict with this script
$('#contains_all .hh-plus-plus-config-panel').append('<label type="button" id="ShowHHConfig" class="hiddenHHConfig"><span id="show_HHConfig_terminal"><img title="Show Hidden Config" src="https://hh2.hh-content.com/quest/ic_eyeclosed.svg"></span></label>')
//Show Config that can conflict with this script
$('#contains_all .hh-plus-plus-config-panel').append('<label type="button" id="HideHHConfig" class=""><span id="show_HHConfig_terminal"><img title="Hide red Config" src="https://hh.hh-content.com/quest/ic_eyeopen.svg"></span></label>')
})
document.querySelector("#ShowHHConfig").onclick = function() {addHiddenHHConfig()};
document.querySelector("#HideHHConfig").onclick = function() {delHiddenHHConfig()};
//function for faster PoP button#pop #pop_info label#HiddenPoP
function addHiddenHHConfig() {
$('#contains_all .hh-plus-plus-config-panel .config-setting:is([rel="core_marketHideSellButton"])').addClass('hiddenHHConfig')
$('#pop_info label#ShowHHConfig').addClass('hiddenHHConfig')//only for eye-button
$('#pop_info label#HideHHConfig').removeClass('hiddenHHConfig')//only for eye-button
}
function delHiddenHHConfig() {
$('#contains_all .hh-plus-plus-config-panel.config-setting:is([rel="core_marketHideSellButton"])').removeClass('hiddenHHConfig')
$('#pop_info label#ShowHHConfig').removeClass('hiddenHHConfig')//only for eye-button
$('#pop_info label#HideHHConfig').addClass('hiddenHHConfig')//only for eye-button
}
}*/
/*New Homescreen*/
if (page == 'home.html' || page == 'homepage.html') {
$('#homepage .main-container .middle-container .waifu-and-right-side-container .right-side-container .event-widget-container .bundles').addClass('Fucking-Bundles')
$('#homepage .main-container .left-side-container a[rel=activities]').wrap('<div class="quest-container"></div>') // must be created befor adding CSS-Define Button
$("#homepage .main-container .left-side-container .quest-container:has('a[rel=sex-god-path]')").append(`<div class="CSS-Container CSS-Container-sex-god-path">`+CSSsChampion+``+CSSsPhanteon+`</div>`)
$("#homepage .main-container .left-side-container .quest-container:has('a[rel=clubs]')").append(`<div class="CSS-Container CSS-Container-clubs">`+CSSsClubChampion+`</div>`)
$("#homepage .main-container .left-side-container .quest-container:has('a[rel=activities]')").append(`<div class="CSS-Container CSS-Container-activities">`+CSSsDailyGoal+``+CSSsMission+`</div>`)
$("div.script-home-shortcut-container:has('.script-home-shortcut-club-champ')").remove()
$("div.script-home-shortcut-container:has('.script-home-shortcut-pantheon')").remove()
}
/*!♥Koͨmͧiͭnͥoͤ Style♥!*/