Not gonna lie, I've been procrastinating in keeping this addon up to date on here.
There's only been one major change, while the rest of the changes are small balance tweaks.
The big change is the console variable tu_miniringrange that lets you change the maximum distance in Fracunits where rings will be collected by Mini Mario or Luigi.
The other few things is that the 8 second invincibility has been reversed back to 20 seconds, and Skip's monitor prices for Invincibility and Super have been increased to compensate.
So thanks to @Golden and their awesome open asset script for ring attraction, I was able to increase the range at which Mini Mario and Luigi can collect rings. They have a 75 fracunit radius of ring attraction, which isn't as good as an attraction shield but still makes Mini Mushroom viable in play.
So, thanks to that I added Mini Mushrooms back to the ring drain list.
Besides all that, I also optimized the data load functions more. Turns out the reason we has resync issues before was because I was trying to access constants created by addons on load.
This means that while the user who loads the addon will have it work, the players connecting to the server won't actually be able to load the code that uses these constants.
Simple fix is to run such code once the game loads for each player, but this is hacky.
I'll definitely forward this to a dev.
For this update, I disabled the Mega Mushroom abilities since it's completely unfair in the context of tag.
I also removed Mini Mushroom from the list of powers that drain rings, and added cape to it instead.
I plan to eventually implement a decent ring attraction ability for mini mario and luigi to aid them in collecting rings for their small size, and once I can implement that I will re-enable ring drain for that powerup.
For now, this will have to do. if anyone is willing to help with ring attraction, I'd appreciate it.
tu_maxallowedspeed <number>allows any admin to change the horizontal speed limit of all players in fracunits.
Default value is 0 in the addon, default value in my server is 90.
0 disables the limit, any value above 0 sets the limit to that many fracunits.
0 = no limit
1 = 1 fracunit limit (snail tag)
50 = 50 fracunit limit (normal running speed)
90 = 90 fracunit speed (fastest speed before it gets unfair)
200 = 200 fracunit speed (just use 0 at this point lmao)
Also, Speedshoes disables the speed limit. This is an intentional feature to encourage speedshoe usage.
Oh yeah, another small fix for detecting shadow boxes since checking for MT_SHADOW_BOX causes errors. I use a rawset supplied by the shadow box wad to detect it now. Hopefully this is the last fix required for shadow boxes.
So there was a problem with two shadow monitors popping up in Skip's crafting menu.
After reviewing both the code of TagUtilities and StephChars I've come to the conclusion that both addons try to add this monitor to the list at nearly the same time, causing this issue.
I just ensured my code will run 5 tics after the first time a map loads, this delayed start seems to fix the issue.
Edit: Forgot to mention that this issue usually only happens in mod-heavy servers.
So Shadow monitors are annoying when spammed all game in Tag, so I added a small tweak to make them cost 300 scrap.
Again, Shadow and StephChars must be loaded before TagUtilities for it to work.
Small change, I added a console variable to automatically delete specific Mobjs.
The default value is off.
Mobjs set for removal if enabled:
Yeah so Mario's ring drain mechanic did not work at all on dedicated servers, and there were shoe issues on normal netplay too. Luckily, I found (a stupid) solution!
I won't lie, the solution is complete bs. I basically have to re-define the tables I set in the Mario tweaks each time a player joins the game. No clue why.
I also improved the ring drain mechanic, instead of individual timers I use a universal time period to take away rings (very proud of remembering modulo, code should be much more efficient now).
This new implementation should be much less error-prone, and doesn't require any new variables nor player vars.
I am very tired and angry now, have a good one yall.
I've been working for a long time on my Tag server, and made a lot of changes to this addon over the months.
I've been a bit lazy in terms of updating this page, so here Version 1.4 of the TagUtillities script collection.
-Separated StopTagHotPotato and Fireflower Checks
-Added a feature to allow for more Taggers on map load
-Added Momentum to RIngs.
-Reduced cooldown for Rail rings and Bomb rings.
-Automated monitor conversions if a map has team monitors, turns into normal ring monitors.
-Added StephChars modifications for Skip's monitor prices.
-Added Mario Bros modifications, mainly ring drain for powerups that are too powerful.
-A few other small tweaks that I don't want to list out, read the addon page.