Skip to content

Commit

Permalink
Consolidating everything for a release
Browse files Browse the repository at this point in the history
  • Loading branch information
Argavyon committed Jun 12, 2022
1 parent ea61c67 commit 80185e7
Show file tree
Hide file tree
Showing 5 changed files with 126 additions and 67 deletions.
163 changes: 111 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,36 @@ Install the userscript via GreaseMonkey or TamperMonkey.

Then navigate to "Nexus Tweaks" tab in the multifunction pane.

There are two types of modules: "local" for character-specific settings, and "global" for all characters (for instance, Global Message History).
There are two types of modules: "local" for character-specific settings, and "global" for all characters (global modules are marked with \[G\]).

You can enable modules by clicking the checkbox beneath the character pad for the relevant module.

Each module may also have optional settings associated with it, which will be displayed alongside the enable/disable checkbox.


# Features
## Global Message History
A global module that stylises the message log (both in-game and in the week log).

This massively improves readability of the game, but is not tested to be colour-blind friendly.
## Anne True's Nexus Tweaks
The original Nexus Tweaks.

## Global Safe Speech Buttons
A global module that prevents you from accidentally sending empty messages via bullhorn/speech.
### Character Interface
A local module that reworks the character list in the description section.

It disables the Say/Bullhorn buttons if the associated input field is empty.
#### Thalanor's Visual Character Interface
Replaces the textual character list with a two-column table sorted by allegiance and health.
Shows a proportional health and magic bar when the appropriate skills are available.

## Global Description Highlights
A global module that highlights building light status in the description, and displays how many items are available for pickup/target shooting.
Characters taking damage since the last refresh will show a corresponding health bar animation to quickly notice combat actions in the area.
Characters entering or reentering a location will be labeled with a "NEW" status tag to more easily notice them within a highly populated area.

### Classify Badges
A global module that classifies character badges into a hierarchy on the character info page. The major categories can be collapsed and expanded.
For career and breath achievement badges, it also displays progress.

## Resizeable Message Pane
A global module that allows setting a custom size for the message pane.
### [G] Description Highlights
A global module that highlights building light status in the description, and displays how many items are available for pickup/target shooting.

## Inventory Tweaks
### Inventory Tweaks
A local module that improves the inventory interface.

By default, the module adds a contextual use button to the inventory rows.
Expand All @@ -48,77 +53,131 @@ By default, the module also hides weightless items in the inventory and adds a t

Items that can be manabitten will be displayed regardless of weight, as will worn clothing items.

## Thin HP/MP Bars
### [G] Message Style
A global module that stilyzes the message log (both in-game and in the week log).

This massively improves readability of the game, but is not tested to be colour-blind friendly.

### [G] Safe Speech Buttons
A global module that prevents you from accidentally sending empty messages via bullhorn/speech.

It disables the Say/Bullhorn buttons if the associated input field is empty.

### Thin HP/MP Bars
A local module that reduces visual clutter for characters in the area and makes it easier to spot wounded characters.

If a character is at full health (or full magic with Sense Magic), then their resource bar is thinner.

## Character List Tweaks
A local module that reworks the character list section.
## Argavyon's misc tweaks

### Thalanor's Visual Character List
Replaces the textual character list with a two-column table sorted by allegiance and health.
Shows a proportional health and magic bar when the appropriate skills are available.
### Class-specific Tweaks
A module that contains various class-specific tweaks.

Characters taking damage since the last refresh will show a corresponding health bar animation to quickly notice combat actions in the area.
Characters entering or reentering a location will be labeled with a "NEW" status tag to more easily notice them within a highly populated area.
#### Shepherd - Energize defaults to Max
Energize's dropdown selects the maximum amount by default.

## Badge Classifier
A global module that classifies character badges into a hierarchy on the character info page. The major categories can be collapsed and expanded.
For career and breath achievement badges, it also displays progress.
#### Archon - Word of Sorting
Sorts Archons' Word powers.

#### Lich - Pet Summon fix
Fixes the UI for summoning lich pets. Should make the pet list more eye-friendly.

### Message Log Saver
Enables saving NC message log into a text file with a single press of a button.

You'll need to reload before seeing the dowload button."


## Argavyon's minor UI
These tweaks won't change how you play, but will polish and bugfix the UI here and there.

### Collapsible Bloodhound Pane
Makes Bloodhound pane properly collapse.

### [G] Character Icon Selection
Enables selecting your character icon from a visual dropdown.

### [G] Collapse Released Characters
Collapse released characters on the character select page.

## Lich Pet Summon fix
A local module that rearranges Necro/FM summoning buttons into a second row under Skeleton/Zombie summoning buttons. No more wide Pet tables.
### Default Set-All Pet Stance
Allows the user to set the default stance for Set All pets, instead of defaulting to "Passive". Doesn't affect default summoning stance.

## Default Set-All Pet Stance
A local module that allows the user to set the default stance on the dropdown by the "Set All" button.
### [G] Improved Purchase Skills Page
Fixes formatting of the Purchase Skills page.

## No Targeting Allies
A local module that enables removing factionmates/allies/friendlies from the combat targeting list. May not work fast enough if you spam the attack button.
### [G] Enter/Exit button on Map
Adds an Enter/Exit button on the Map layout.

## Colored Status Effects
A local module that colors the status effects in the status effect pane, and adds a description on-mouse-hover. No more navigating to the wiki to check what a status is.
### [G] Message Pane Resize
Enables custom resizing of the message pane.

## Inventory Sorter
A local module that sorts items into categories, such as "weapons", ...
### [G] Improved Purchase Skills Page
Displays items' enchantments to mobile users (provided they can see them).

## Enhanced Alchemy Pane
### [G] Display Spell Affinity
Display Spell Affinity bonus for known spells in the character page. Currently only adds aura duration.


## Argavyon's major UI revamp
These are major changes to how the UI operates. From rearranging dropdowns, to changing how data is presented, and to creating new panes.

### Enhanced Alchemy Pane
A local module that adds the following buttons to each recipe in the alchemy pane, so that you don't need to select which potion you want to work with on the potion dropdown:
* Brew Potion: If the recipe is fully researched.
* Research Component: If the recipe isn't fully researched.
* Forget Recipe: If the recipe has at least one component researched.
* Transmute Component: If the recipe is fully researched and there's components missing from the inventory.

## Word of Sorting
Sorts Archon's Word powers in the dropdown. (They appear unsorted if the Archon has purchased a skill that grants a new Word power)
### Colored Status Effects
Status effects display colored.

### Easy Use Pane
Creates a left-side pane with trigger-able spellgems and consumables from inventory.

### Pet Display Improvement
Sort pets by petmaster, and according to faction politics. Allows collapsing pet lists by default and manually.

### [G] How Hurt Am I?
Changes background color based on missing HP.

### Inventory Sorter
Sort and Categorize Inventory Items. Filters and categories can be very finely adjusted on the Inventory Sorter tab.

### No Targeting Allies
Allows disabling targeting based on politics stance on the attack selection box. Allows the same treatment for the healing box.

### Safe Spellgem Sorter
Sort Spellgem display in the Faction Safe.


## Argavyon's Extra Flavor Tweaks
*Extra flair is never bad. Unless you activate the HELL module.*

## Collapse Released Characters
A global module that enables collapsing/expanding the list of released characters on the character select page.
### [G] HELL
HELL

## Zalgo Speech
A local module that enables zalgofy your speech. Configurable on intensity and direction.
### Potato Stance
Replaces the Passive pet stance by a functionally-equivalent Potato stance. It's pretty useless. Absolutely useless.

## Improved Purchase Skills Page
A global module that slightly improves the Buy Skills page.
### [G] Stigya Ambiance
Makes Stygia feel like Stygia by adding music and flair.

## Pet Display Improvement
Classifies the pets on the tile description by petmaster, sorts petmasters by faction politics and enables collapsing a petmaster's pet list.
### Zalgo Speech
Z A L G O S P E E C H

## Display Spell Affinity
A global module that displays spell affinity bonus for known spells in the character page.

# Contributing
## Guidelines
Feel free to send pull requests with fixes or new features, open Github issues, comment on the [NexusClash forum thread](https://www.nexusclash.com/viewtopic.php?f=8&t=65) with ideas, contact AnneTrue on discord, and more.
### Guidelines
Feel free to send pull requests with fixes or new features, open Github issues, comment on the [NexusClash forum thread](https://www.nexusclash.com/viewtopic.php?f=8&t=2081) with ideas, contact Argavyon#1468 on discord, and more.

Expect pull requests to be code reviewed, or taken over and adapted to the codebase.

Refer to the checklist for release to understand current practices for committing code.

## Checklist for Release
* Script version bumped (and in sync) between both scaffolding.user.js and nexus-tweaks.user.js
### Checklist for Release
* Script version bumped for nexus-tweaks.user.js

* Major release bumps e.g. 1.x.x -> 2.x.x for scaffolding changes, minor release bumps for new modules/removed modules, point releases for fixes and tweaks within a module
* Major release bumps e.g. 1.x.x -> 2.x.x for API (scaffolding.js) changes, minor release bumps for new modules/removed modules, point releases for fixes and tweaks within a module

* README.md updated to include feature details (if applicable)

Expand Down
2 changes: 1 addition & 1 deletion modules/descriptionHighlight.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const descriptionHighlight = {
module: async (api) => {
const mod = await api.registerModule(
'descriptionHighlight',
'Global Description Highlight',
'Description Highlight',
'global',
'Highlights building light status in the description, and displays how many items are available for pickup.',
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
const betterPurchaseSkills = {
const improvedPurchaseSkills = {
module: async (api) => {
const mod = await api.registerModule(
'betterPurchaseSkills',
'improvedPurchaseSkills',
'Improved Purchase Skills Page',
'global',
'',
);

const betterPurchaseSkills = () => {
const improvedPurchaseSkills = () => {
const purchaseTableHead = document.querySelector('tr>td>b>u');
if (!purchaseTableHead || purchaseTableHead.textContent !== 'CHARACTER SKILLS AVAILABLE FOR PURCHASE') {
mod.debug('No Purchase Skills table found');
Expand All @@ -28,7 +28,7 @@ const betterPurchaseSkills = {

await mod.registerMethod(
'sync',
betterPurchaseSkills
improvedPurchaseSkills
);
}
}
2 changes: 1 addition & 1 deletion modules/safeSpeech.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const safeSpeech = {
module: async (api) => {
const mod = await api.registerModule(
'safespeech',
'Global Safe Speech Buttons',
'Safe Speech Buttons',
'global',
'Places a safety on speech and bullhorn buttons so that you cannot accidentally send an empty message.',
);
Expand Down
18 changes: 9 additions & 9 deletions nexus-tweaks.user.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
// ==UserScript==
// @name AnneTrue's Nexus Tweaks
// @version 999.preview.60.1
// @version 2.0.0
// @description Tweaks for Nexus Clash's UI
// @namespace https://github.com/AnneTrue/
// @author Anne True
// @author Thalanor
// @author Argavyon
// @homepage https://www.nexusclash.com/viewtopic.php?f=8&t=2081
// @source https://github.com/Argavyon/nexus-clash-interface-tweaks/tree/preview
// @downloadURL https://github.com/Argavyon/nexus-clash-interface-tweaks/raw/preview/nexus-tweaks.user.js
// @updateURL https://github.com/Argavyon/nexus-clash-interface-tweaks/raw/preview/nexus-tweaks.user.js
// @source https://github.com/Argavyon/nexus-clash-interface-tweaks
// @downloadURL https://github.com/Argavyon/nexus-clash-interface-tweaks/raw/main/nexus-tweaks.user.js
// @updateURL https://github.com/Argavyon/nexus-clash-interface-tweaks/raw/main/nexus-tweaks.user.js
// @match *://nexusclash.com/clash.php*
// @match *://www.nexusclash.com/clash.php*
// @exclude *?op=map
Expand All @@ -27,7 +27,6 @@
// @resource nexusTweaksCSS css/nexus-tweaks.css
// @resource HELLCSS css/HELL.css
// @require modules/alchPanel.js
// @require modules/betterPurchaseSkills.js
// @require modules/bloodhoundFix.js
// @require modules/characterList.js
// @require modules/charIconSelect.js
Expand All @@ -39,6 +38,7 @@
// @require modules/descriptionHighlight.js
// @require modules/easyUsePane.js
// @require modules/HELL.js
// @require modules/improvedPurchaseSkills.js
// @require modules/improvePetDisplay.js
// @require modules/inPain.js
// @require modules/inventorySort.js
Expand Down Expand Up @@ -70,12 +70,12 @@ const nexusTweaks = new NexusTweaksScaffolding(
);

promiseList.push(characterList.module(nexusTweaks));
promiseList.push(messageStyle.module(nexusTweaks));
promiseList.push(safeSpeech.module(nexusTweaks));
promiseList.push(classifyBadges.module(nexusTweaks));
promiseList.push(descriptionHighlight.module(nexusTweaks));
promiseList.push(inventoryTweaks.module(nexusTweaks));
promiseList.push(messageStyle.module(nexusTweaks));
promiseList.push(safeSpeech.module(nexusTweaks));
promiseList.push(thinBars.module(nexusTweaks));
promiseList.push(classifyBadges.module(nexusTweaks));


//##############################################################################
Expand All @@ -98,11 +98,11 @@ const minorFixes = new NexusTweaksScaffolding(
`${GM.info.script.version}`
);

promiseList.push(betterPurchaseSkills.module(minorFixes));
promiseList.push(bloodhoundFix.module(minorFixes));
promiseList.push(charIconSelect.module(minorFixes));
promiseList.push(collapseReleased.module(minorFixes));
promiseList.push(defaultSetAllPetStance.module(minorFixes));
promiseList.push(improvedPurchaseSkills.module(minorFixes));
promiseList.push(mapDoor.module(minorFixes));
promiseList.push(messagePaneResize.module(minorFixes));
promiseList.push(mobileEnchants.module(minorFixes));
Expand Down

0 comments on commit 80185e7

Please sign in to comment.