Nexus Clash: Lore Counter

Adds total Lore collected so far to the Lore button in the sidebar when Lore is selected.

  1. // ==UserScript==
  2. // @name Nexus Clash: Lore Counter
  3. // @namespace http://nexusclash.com/wiki/index.php/user:xensyria
  4. // @version 1.2
  5. // @description Adds total Lore collected so far to the Lore button in the sidebar when Lore is selected.
  6. // @match http://nexusclash.com/modules.php?name=Game*
  7. // @match http://www.nexusclash.com/modules.php?name=Game*
  8. // @exclude http://nexusclash.com/modules.php?name=Game&op=disconnect
  9. // @exclude http://www.nexusclash.com/modules.php?name=Game&op=disconnect
  10. // @grant none
  11. // @copyright PD
  12. // ==/UserScript==
  13.  
  14. var sideBars = document.getElementsByName('sidebar'); // Find the sidebar
  15.  
  16. for (var i = 0; i < sideBars.length; i++){ // Cycle through the buttons
  17.  
  18. if (sideBars[i].value == 'Lore'){ // Find the Lore button if it's there
  19.  
  20. var possibleLore = sideBars[i].parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nextSibling.firstChild.textContent // Select the sidebar pane from the Lore button
  21.  
  22. if (possibleLore.match(/^(\n\s+\d{1,2}\.\s+[a-z ,\?\-:\.\;]+)+\s*$/i)){ // Check if the pane contents match Lore formatting (e.g. 1. blah / 20. blah / etc.)
  23.  
  24. sideBars[i].nextSibling.value = 'Lore (' + possibleLore.match(/\n\s+\d{1,2}\.\s+[a-z ,\?\-:\.\;]+/gi).length + '/50)'; // If so, change Lore button to include Lore count
  25.  
  26. }
  27.  
  28. }
  29.  
  30. }