So, it turns out that MF_BOSS objects automatically set args[4] to the boss's pinch phase tag value, making the UDMF check in every boss's code completely unnecessary. Whoops!
Nothing else has been changed.
In the last update, I forgot to change the map thing ID for the 2.0 Egg Mobile. This update fixes that, so now the 2.0 Egg Mobile's map thing ID is 4054 instead of 4050, matching SRB2 The Past's version of the boss.
This update adds basically every official remaining boss from SRB2's past. This has been a request for a long time, and now it's finally a reality! These include:
While these bosses are already included in SRB2 The Past, these versions have been updated to take advantage of Ultimate Zone Builder's features, and they also include optimizations and accuracy fixes.
- The Games Factory bosses
- Robotnik
- Plasma Drone
- Fan-A/tic
- Demo & Final Demo Egg Mobile
- Final Demo Egg Slimer
This update also adds maps for the "new" bosses. The TGF maps have been lifted from SRB2 The Past and modified to add a zoomed out view of the main arena, making the boss fights slightly less annoying.
Below is a more in-depth changelog:
CHANGES:
BUGFIXES:
- Changes from Retro Bosses
- Many of the 2.0 and 2.1 bosses have had their mapthing IDs changed to their SRB2 The Past counterparts, just for convenience.
- Some functions shared between bosses have been separated into their own scripts:
- Please read the README.txt document in the PK3 to see which scripts are needed for which bosses.
- The two old Egg Slimer goop objects have been merged into one since they're basically the same.
- The bosses are now separated into subfolders in Ultimate Zone Builder to make finding them easier.
- The maps have been reorganized in chronological order. Now, they go from oldest (TGF bosses) to newest (2.1 bosses).
- Changes from SRB2 The Past
- All the TGF bosses have had parts of their code rewritten for optimization and to stay consistent with the other bosses' code.
- The FD Egg Mobile now floats 33 FRACUNITs above the ground at all times, just like the 2.0 Egg Mobile.
- This is how it behaved in 1.09-1.09.4, so this is accurate.
- The usernames of those who helped with the coding of certain bosses have been updated in the comments so that they're properly credited.
- The 2.0 and 2.1 Sea Egg now go to the correct retreating waypoint when hit in a UDMF map.
- The FD Egg Slimer's offsets and hitbox have been corrected from SRB2 The Past's version's to match their Final Demo values.
- Fan-A/tic's rollybomb now has an extra frame of animation that was missing from the SRB2 The Past version.
This update renames the Lua scripts to be more clear in what they're for.
CHANGES:
BUGFIXES:
- Every single Lua script has been renamed to be more descriptive.
- Renamed scripts in order:
- LUA_CMMN -> RetroBossesCommon.lua
- LUA_OJTF -> OldJetfumes.lua
- LUA_OMCE -> OldMaces.lua
- LUA_EMCM -> EggMobileCommon.lua
- LUA_20EM -> 2.0/20EggMobile.lua
- LUA_21EM -> 2.1/21EggMobile.lua
- LUA_ENCM -> EggSlimerCommon.lua
- LUA_20EN -> 2.0/20EggSlimer.lua
- LUA_21EN -> 2.1/21EggSlimer.lua
- LUA_EOCM -> SeaEggCommon.lua
- LUA_20EO -> 2.0/20SeaEgg.lua
- LUA_21EO -> 2.1/21SeaEgg.lua
- LUA_21EP -> 2.1/21Eggscalibur.lua
- LUA_21MS -> 2.1/21MetalSonic.lua
- LUA_BECM -> BrakCommon.lua
- LUA_20BE -> 2.0/20BrakEggman.lua
- LUA_21BE -> 2.1/21BrakEggman.lua
- An init.lua script has been added to the PK3's root as a guide for loading the scripts in the correct order.
- The 2.0 Egg Mobile can now execute pinch phase linedef triggers in Binary maps.
- The 2.1 Egg Mobile, Egg Slimer, Sea Egg, and Eggscalibur now use their proper color flashing when hit.
- Added an option for 1.1-style color flashing to the 2.0 bosses.
- Removed unnecessary bit-shift functions from 2.1 Metal Sonic's code.
- Fixed a missing "nomissile" function call in A_FDBoss1Chase.
This update makes certain bosses flash the correct color when they're hurt, and improves Zone Builder compatibility!
CHANGES:
BUGFIXES:
- 2.1 Metal Sonic, 2.1 Brak Eggman, and all 2.0 bosses now use their correct flashing color when hit!
- TRNSLATE.txt (included in the root of the PK3) is required for this to work.
- Special thanks to 2.2.14 for the new ZDoom-inherited translation feature!
- Changed ERZ3 to use the "Gravity" parameter in its level header instead of the deprecated "Custom Global Gravity" sector type.
- Updated the Map Thing spawn height code to be more compatible with UDMF.
- Spawn height offset is now handled in the function RB_MapThingHeightOffset, located in LUA_CMMN.
- UDMF editor keys no longer cause errors in Zone Builder.
- Map thing graphics and flags text actually show up now.
- The 2.1 Egg Mobile's laser targetting code is less hacky now.
- Properly uses mo.target instead of a custom variable, mo.rbLaserTarget.
This update brings a couple of bugfixes, plus UDMF support!
CHANGES:
BUGFIXES:
- Added UDMF Support!
- Every boss can now have its own pinch phase trigger, death trigger, "victory" trigger, etc.
- Cleaned up the code to be more in-line with my other addons.
- Fixed a bunch of interpolation issues introduced in SRB2 v2.2.11.
- Fixed another C stack overflow error involving 2.0 Brak's goop.
This update brings a couple of improvements to how 2-player bots impact gameplay:
QUALITY OF LIFE IMPROVEMENTS:
Special thanks to Widu Midu on the SRB20YA Discord server for discovering the 2.0 Brak missile bug!
- 2-player bots can no longer grab or control missiles fired by 2.0 Brak. This should make the fight a little more fair when playing as Sonic & Tails. It also fixes a bug where the player can get stuck on the missile if a 2-player bot is also riding the same missile.
- 2-player bots can also no longer control spinning chains. This prevents chains from accelerating twice as fast as they should when a player and a 2-player bot are on the same chain.
This update fixes a bug where the hanging chains could not move at all.
This isn't a big update, but it's one I felt was needed.
QUALITY OF LIFE IMPROVEMENTS:
- Maces and chains now move and are visible ONLY if a player is nearby. This feature has been inherited from 2.2 to reduce lag on devices with slower CPUs. It can be turned off by checking the "Repeat Midtexture" parameter in the mace/chain spawnpoint's control linedef.
- Added the "then" keyword to numerous parts of the code to make it more readable.
- Got rid of some commented out code to de-clutter it.
For gameplay reasons, 2.1 Metal Sonic can now be affected by any projectile (and aimed at by Fang) in his "floating" state.