- Rescoped all of the variables to no longer be global.
- Updated for PIXI 4 & 5
- Removed the outdated Terrax ABS, Quasi ABS, and Mog Time stuff references.
- Added compatibility for Ultra Mode 7
Fixed the issue with the Lighting plugin needing to be in a specific order in the plugin list.
- The plugin is now roughly 800 lines shorter and much faster, at least in my testing so far.
- Not going to lie, I made some other changes... But wasn't noting them because I didn't know I was making this thread at the time.
var rnd = -Math.floor((Math.random() * 20) + 10);
- Removed the "fix" for the plugin order list due to issues with other plugins.
- Fixed issue with Mog Character Particles giving a "Clamp" error.
- Organized the plugin parameters into logical sections
- Removed the redundant "Add to options" plugin parameter. It can be ommitted from the options menu by leaving "Options Menu Entry" blank
- Changed the casing in a few plugin parameter names to be more consistent (minor nitpick, I know)
- Added the option to use modern note tag syntax "<cl: light 250 #ffffff>" to avoid conflicts with other plugins that may also use event/map note tags. Those note tags currently break Terrax's tagless implementation
- Added better default day/night colors. These can also be changed in the plugin parameters now for easier customization
- Added a "night switch" which, if assigned to a switch, will set to true during night or false during day (which hours count as day and night are user-defined)
- Expanded the "Daynight" note tag in maps so you can also set the speed if desired: "Daynight 10" for the default speed, "Daynight 0" to stop time and use the current hour's tint in one go. "Daynight" by itself uses the current speed
- Fixed a bug where the "Daynight" tag wouldn't tint at all if the speed was < 0 or > 4999.
- Added "Tint daylight" plugin command which is essentially "Tint set [whatever the current hour's color is]." "Tint daylight" should be used instead of the "Daynight" map note tag if you plan on applying any manual tints on the map. (Daynight blocks the use of the tint command)
- Changed map note tag reading to happen only once per cycle instead of X times per cycle, where X is the number of events on the map (seriously why was it done that way!?)
- Replaced the word salad in the help section with (what I hope is) a clearer breakdown of each command/tag and how to use it. I hope I didn't leave anything out.
- Added a "version" property to Community.Lighting so other plugins can ask it what version it is.
- Removed a strange debug system that ran twice per light per frame.
- Removed a speed test system.
- Restructured the code to use a switch statement and objects instead of a huge stack of Ifs.
- Removed assorted commented out code from the original plugin.
- Fixed a variable scoping issue introduced by the latest optimization pass.
- Added explanation how to set speeds via the daynight map note tag to the help section.
1. Stored the RegExp note tag into a variable for the code does not compile the RegExp every time he uses getTag() function.
2. Replace the plugin command switch statements with an array/object lookup table.
3. Optimized some for loops changing the way they are handled from this:
for (let i = 0; i < tilearray.length; i++)
for (let i = 0, len = tilearray.length; i < len; i++)
*I did not reverse the iterator order because I don't know how the plugin works, to be sure if the order matter or not.
4. Some minor changes to if statements that are redundants like:
if(args == 'on' || args == 'ON') to if(args.toLowerCase() == 'on')
Removed the "tiletype" argument here, on line 383.
1. Added support for Battle lighting.
2. As a plugin parameter, you can choose to put the battle light mask between the battlers and the battleback or above the battlers.
3. This version includes Eliaquim's work with the better for loops.
4. The kill switch bug I mentioned before is corrected.
5. Multiple parameters in the plugin manager now have proper formatting.
1. Daynight tinting now works properly in battles. So if it's night time on the map, the battleback will be tinted to match (assuming battle tinting is turned on, of course
2. Shortened the battle tint plugin parameter IDs (they were being clipped due to their length) and so they match the format of the other plugin parameters (minor nitpick, sorry about that!)
1. All Community.Lighting functions are now inside the main anonymous function, and all references to Community.Lighting within it have been changed to $$ (which is a reference to the Community.Lighting object).
2. Help syntax format has been updated to be more uniform: Values in [brackets] are optional, and this is now actually indicated toward the top of the help.
1. Fixed issue with tile lighting not working properly.
1. Removed bug with light ID.
1. Conditional Light killswitches now set to on/off based on if the Lightsource is decativated/activated.
2. Bug fixed with Day Night setting.
1. Killswitch synchronization added an option.
1. Fixed the compatibility issue with plugin order, and still works with Mog Character Particles.
1. Alternate Light Directions added, demo updated.
See changes after this on GitHub.