// ==UserScript== // @name BlockUse // @namespace InGame // @include http://www.dreadcast.net/Main // @include https://www.dreadcast.net/Main // @version 1.12 // @description Bloque l'utilisation de consommables par défaut. Il faut déverrouiller le petit cadenas 'BU' pour pouvoir. // @author Odul, MockingJay // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_listValues // @downloadURL none // ==/UserScript== function initLocalMemory(defaultValue, localVarName) { if (GM_getValue(localVarName) === undefined) { GM_setValue(localVarName, defaultValue); return defaultValue; } else { return GM_getValue(localVarName); } } var isLocked = initLocalMemory(true, "BU_isLocked"); function checkActivable() { console.log("Checking"); if (!isLocked) { $('.objets .objet_type_Consommable.non_activable').each(function(index) { //Sacs ouverts $(this).removeClass("non_activable").addClass("activable"); }); $(".zone_case10 .objet_type_Consommable.non_activable").removeClass("non_activable").addClass("activable"); //Inventaire RP $(".zone_case11 .objet_type_Consommable.non_activable").removeClass("non_activable").addClass("activable"); $(".zone_case12 .objet_type_Consommable.non_activable").removeClass("non_activable").addClass("activable"); $(".zone_case13 .objet_type_Consommable.non_activable").removeClass("non_activable").addClass("activable"); } else { $('.objets .objet_type_Consommable.activable').each(function(index) { //Sacs ouverts $(this).removeClass("activable").addClass("non_activable"); }); $(".zone_case10 .objet_type_Consommable.activable").removeClass("activable").addClass("non_activable"); //Inventaire RP $(".zone_case11 .objet_type_Consommable.activable").removeClass("activable").addClass("non_activable"); $(".zone_case12 .objet_type_Consommable.activable").removeClass("activable").addClass("non_activable"); $(".zone_case13 .objet_type_Consommable.activable").removeClass("activable").addClass("non_activable"); } } function invCallback() { for (let i = 1; i <= 20; i++) { setTimeout(checkActivable, 500*i); //Fix très sale mais le bug à l'initialisation m'énerve } $("#annexe_inventaire_ext .content").off("ajaxComplete", invCallback); } function bagCallback() { //Optimisation de l'appel de la fonction avec une callback qui ne se déclenche qu'une fois. checkActivable(); $("#zone_conteneurs_displayed").off("ajaxComplete", bagCallback); } $(document).ready(function() { $('
').prependTo($('#bandeau ul.menus')); var blockUse = $('