This is for you who wants to make addons for Nexus Infinity.
Before you begin.. to ensure max functionality of the mod's new features (such as monster spawners or the dice) you MUST follow these 3 guidelines carefully:



Method 1. "Changing already existing actors in general"

Try not to use "new actor replaces actor" too much with actors especially those who are connected to action code scripts (ACS). (Example: "Actor ZombieSpawner3 : ZombieSpawner2 Replaces ZombieSpawner2")
If you do that the mod's core functions could break and new items, weapons or monster spawners could be easily broken (it could be considered as sabotage code if intentionally done)

(Actors that have "//Scripted" messages on them should never be replaced... and instead use the method below if absolutely necessary)

You can instead use the following method:

Example: Copy monster spawner decorate file inside Actors/Spawners and paste them into your new addon,
in the exact same destination which is Actors/Spawners.
(No need to include them in DECORATE as they already have been added there in Nexus Infinity)
From there, you can safetly tweak the code by adding/removing without needing to use "actor replaces actor", given the actor names are still the same as before,
otherwise the ACS won't recognize the actor names if they are replaced with a new actor name.

Example: This addon changes all zombies to be female plasma gunners, without breaking monster spawner script
https://drive.google.com/file/d/1MIzNAALnKIgsZ5stWg0Pu4AaTa4MZJYE/view?usp=sharing

This method can also be used for all other decorate files and could make things slightly easier for modifying...
but keep in mind that some code are still exclusive to the project, see list in README+EXCLUSIVE-ASSETS.txt

FYI: When replacing runes... make sure to also update the NEXUS script for when you die and drop the runes
(Also in NXCOMP with Samara)


Method 2. "Assigning new monsters with music"

Using "StartMonsterMusic" will return a big red error saying it didn't work, instead...

You must use the script "InfinityMusic" for new monsters you create in you addon.
The "Legendary Catharsi" has the script on as an example, located in Actors/Monsters/Imps

Example: TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,2057,3)

"arg1" which is "2057" is music name (same as StartMonsterMusic)
"arg2" which is "3" is the music priority, higher number means higher priority of being played ingame
(Check MonsterTierList.txt for the entire priority list of monsters, monster spoilers ahead)

When assigning a priority, you can safetly use any number same as other legendaries,
given it has the same difficulty compared to a monster in the priority list.

For more info on acs scripts and arguments check here: https://zdoom.org/wiki/ACS_Execute
(This is for ACS_Execute, ACS_NamedExecuteAlways just means it executes named scripts while being able to have multiple of the same script running at the same time)



Method 3. "Replacing already existing monsters with music"

In cases of replacing legendary monsters with added music, best way is to do the same way as with the monster spawners (see method 1)
In Actors/Tweaks/BossTweaks all the legendaries are replaced there, some are even left empty just for you to use them.
It should be safe to copy the files inside that destination and use them to fill any changes you'd like without using the "new actor replaces actor" method.



Method 4. "ACS Compatibility (Changing Weapons, armor and runes)"

NXCOMP ACS script was made so it can be modified in case of changing those.
Because when you replace an actor name with a new one, the ACS won't recognize 
it anymore unless you updated it too.

NXCOMP does not have all scripts available... but those that are in most need of compatibility

If you have more questions feel free to reach out to the archive manager of the project