Skip to content

SF2M Rewrite (1.8.0)#109

Open
Mentrillum wants to merge 86 commits into
masterfrom
1-8-0-rewrite
Open

SF2M Rewrite (1.8.0)#109
Mentrillum wants to merge 86 commits into
masterfrom
1-8-0-rewrite

Conversation

@Mentrillum

@Mentrillum Mentrillum commented Apr 1, 2023

Copy link
Copy Markdown
Owner

Over the years Slender Fortress evolved and the younger Modified counterpart also evolved, but most of the code was touched in not so good ways and sub plugins are forced to be designed around this forced nature. The main purpose of this PR is to fully modularize SF2M's codebase. Features like the flashlight, ultravision, proxy system, and music system are now properly divided up into their own files rather than have each main file rely on parts of one system that is completely unrelated to it. To accomplish this SF2M now uses private forwards, which is the local equivalent to global forwards, these can be called and other files with static functions can fire once these forwards are called.

Along with the backend changes, there will be many changes that are QoL improvements for server owners or creators, there may not be as many player QoL changes except for bug fixes. Once everything is ready to go, the final update will ship.

If there is ANY bug you've seen and figured out how to trigger, submit it as a Github issue and add the label 1.8.0. Link is here https://github.com/Mentrillum/Slender-Fortress-Modified-Versions/issues

Goals

  • Fully utilize private forwards to decrease coupled code
  • Rewrite the boss entities (chaser and statue) to use the NextBot Behavior system
  • Turn certain entities (like the glow, flashlight, ultravision, and pages) into custom entities using the entity factories
  • Rewrite the music system (it is horrible right now)
  • Slightly rewrite the special round system
  • Make use of the SF2_BasePlayer methodmap to satisfy dependency inversion
  • Make more use of the boss controller methodmaps
  • Create a PvE mode (sub plugin creators can make their own entities to fight)
  • Rework the glow system to be incredibly consistent
  • Add a custom changelog config for server owners to tweak with to have their own custom changelog
  • Rework the boss attack index system to utilize names rather than, well, numbers
  • Add complete and organized documentation using the markdown files for maps and bosses
  • Allow bosses to automatically detect animation durations for certain animation states (like chase initial animations)
  • Allow creators to use model events to determine when a boss should hit a player
  • Remove copy and pasted code
  • Whatever else may need to be added

Changes

  • Added CHAR_SPATIALSTEREO and CHAR_DRYMIX for bosses (achieved by adding a ) or # before a sound directory respectively, example: "1" ")sound/slender/boss/move1.wav")
  • Fixed a bug where the last Nightmare sound would not play on Apollyon or Nightmare
  • Changed the majority of the sounds in the plugin to use spatial sounds
  • Optimized IsClientInGame and TF2_IsClientInCondition
  • Removed many copy and pasted code
  • Altered the kill feed for bosses to not be so overly complicated for no reason
  • Added the following admin commands, sm_sf2_toggle_intro, sm_sf2_global_alltalk, sm_sf2_block_suicide, sm_sf2_maxplayers, sm_sf2_maxplayers_override, sm_sf2_specialround_mode, sm_sf2_player_infinite_sprint_override, sm_sf2_player_infinite_flashlight_override, sm_sf2_player_infinite_blink_override, sm_sf2_wall_hax, and sm_sf2_keep_weapons
  • Fixed a bug where boss chase initial animations played twice
  • Possibly optimized trace filter functions

Known bugs

  • Statue bosses do not work, like at all

Mentrillum and others added 12 commits March 31, 2023 20:30
-Fixed g_VoteTimer being triggered after 5 seconds instead of 1
-Fixed SF2_BasePlayer returning not connected clients as -1 instead of the original client index
* Logo replaced

* Add Korean Translation

* Change some occurrences

---------

Co-authored-by: Mentrillum <42941613+Mentrillum@users.noreply.github.com>
@Mentrillum Mentrillum added the 1.8.0 Bug related to SF2 1.8.0 label Sep 16, 2023
@Mentrillum Mentrillum self-assigned this Dec 22, 2024
Mentrillum and others added 27 commits December 24, 2024 10:39
* Translation Update Renevant

* Update renevant.sp
* fix static shake implementation

fixes a stupid typo that broke the static shake. this took so long to track down since it was easy to miss and it didn't produce any errors.

* Update profiles_boss_functions.sp
* fix deathcams from static

this makes it so that bosses with non-public deathcams still play their deathcam when killing you with static.

* I almost missed this

* I have no idea how I missed this as well, wtf

* dammit

* I accidentally made this an array, whoops
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.8.0 Bug related to SF2 1.8.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants