randomuserhi-HelAutoSentryFix icon

HelAutoSentryFix

A host-only mod that fixes HEL property for all sentries.

Last updated a month ago
Total downloads 331
Total rating 0 
Categories
Dependency string randomuserhi-HelAutoSentryFix-0.0.4
Dependants 1 other mod depends on this mod

This mod requires the following mods to function

BepInEx-BepInExPack_GTFO-3.1.0 icon
BepInEx-BepInExPack_GTFO

BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.

Preferred version: 3.1.0

README

Fix the developers short-comings

A Host-Only mod that fixes all sentries to support the HEL piercing property.

Ever since the beginning of time, sentries never supported HEL pierce. You can see this by viewing their fire code in R6 Mono and they are strictly missing the logic to do so. This means that when the developers needed to implement HEL Auto Sentry, they need to add the logic for it as well as editting the datablock, however they only editted the datablock resulting in non-functioning HEL Auto Sentry. (They probably assumed that they had implemented it in the past)

This mod adds the HEL pierce logic to the sentries such that they can utilize the pierce property from the datablocks properly.

Known Limitations:

As sentries are simulated on host this mod can only ever work on host. There is no way to get this mod to work client-side due to this fact.

There are some dodgy work arounds but they are not real solutions, for example:

  • Have clients perform piercing on sentries and send the bullet damage across network for enemies except first (since first is hit on Host)
    • desync between what bullets are shot on host and what are shot on client means its unreliable (host shot may have hit first enemy, but client may not have)

============ Compatability Notice for other Plugin Developers ============

This plugin overwrites the fire method of sentry guns in a prefix which returns false and thus anyone who implements custom sentry firing logic will have compatability issues. The following methods have been prefix patched and return false:

  • SentryGunInstance_Firing_Bullets.FireBullet
  • SentryGunInstance_Firing_Bullets.UpdateFireShotgunSemi

If you wish to have code execute on prefix or postfix of the sentry gun firing with this mod, I have provided delegates which you may use:

HelSentryFix.SentryFirePatches.anySentryFire_Prefix;
HelSentryFix.SentryFirePatches.anySentryFire_Postfix;
HelSentryFix.SentryFirePatches.sentryFire_Prefix;
HelSentryFix.SentryFirePatches.sentryFire_Postfix;
HelSentryFix.SentryFirePatches.shotgunSentryFire_Prefix;
HelSentryFix.SentryFirePatches.shotgunSentryFire_Postfix;

Assigning a function to these delegates will operate similar to Harmony prefix / postfix as in the code runs prio to the shot and after, however you cannot do harmony-like things such as returning false in a prefix to stop main code / referencing parameters to alter them prior execution.

  • Tbh this was only added for compatability with my WIP replay mod lol.

============ Change Log ============

v0.0.4

  • Fixed sniper sentry having 5 penetration as remnant of base game (can be changed in config files)

v0.0.3

  • Fixed sentry being able to do directional (back) damage

v0.0.2

  • Added compatability prefix and postfix methods

v0.0.1

  • Initial Release

Available versions

Please note that the install buttons only work if you have compatible client software installed, such as the Thunderstore Mod Manager. Otherwise use the zip download links instead.

Upload date Version number Downloads Download link  
2023-11-8 0.0.4 238 Version 0.0.4 Install
2023-11-8 0.0.3 37 Version 0.0.3 Install
2023-11-8 0.0.2 36 Version 0.0.2 Install
2023-11-8 0.0.1 20 Version 0.0.1 Install