Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
FlamethrowerReconnectFix
Corrige el bug de BetterArmory donde el lanzallamas deja de disparar fuego / gastar munición tras morir y reconectar al servidor.
By Lanzallamas
| Last updated | 2 hours ago |
| Total downloads | 2 |
| Total rating | 1 |
| Categories | Bug Fixes |
| Dependency string | Lanzallamas-FlamethrowerReconnectFix-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
Y4NGZ313-BetterArmory
Standalone weapons pack: Heavy Shotgun, Revolver, Assault Rifle, Bolt-Action Rifle, Pistol and Flame Thrower, with configurable shop listings, interior spawns, damage and ammunition, plus an ammo HUD.
Preferred version: 1.0.5README
FlamethrowerReconnectFix
Parche no oficial para BetterArmory (com.y4ngz.betterarmory) que corrige
el bug donde el lanzallamas deja de disparar fuego y de gastar munición
después de morir y reconectarte al servidor (la animación de disparo sigue
funcionando, pero no pasa nada más).
Causa del bug (confirmada por ingeniería inversa del DLL)
FlamethrowerStreamDriver.RegisterNetworkHandlers() registra sus 5 handlers
de red (Y4NGZ_Flamethrower_Use/Aim/Reload/State/GroundFire) una sola vez,
comparando NetworkManager.Singleton contra un campo estático cacheado.
Ese NetworkManager sobrevive a la reconexión (mismo objeto), pero Unity
Netcode sí crea un CustomMessagingManager nuevo en cada StartClient().
Como la comparación no detecta ese cambio, los handlers quedan "colgados"
del CustomMessagingManager viejo y el lanzallamas deja de funcionar en red.
Este mod detecta cuando aparece un CustomMessagingManager nuevo y limpia
por reflexión el campo cacheado de BetterArmory, forzando que sus handlers
se vuelvan a registrar correctamente. No modifica el DLL original de
BetterArmory, todo pasa en tiempo de ejecución vía Harmony.
Cómo compilarlo
Necesitas Visual Studio, VS Code + C# Dev Kit, o Rider, con el SDK de .NET instalado.
-
Abre
FlamethrowerReconnectFix.csprojy edita la línea:<LethalCompanyDir>C:\Program Files (x86)\Steam\steamapps\common\Lethal Company</LethalCompanyDir>poniendo la ruta real donde tienes instalado el juego (clic derecho en Lethal Company en Steam → Administrar → Explorar archivos locales).
-
Compila en modo Release:
dotnet build -c Release(o simplemente "Build" desde tu IDE).
-
Esto genera
bin\Release\net472\FlamethrowerReconnectFix.dll.
Cómo instalarlo
Copia FlamethrowerReconnectFix.dll a:
<Lethal Company>\BepInEx\plugins\FlamethrowerReconnectFix\FlamethrowerReconnectFix.dll
Si usas r2modman/Thunderstore Mod Manager, puedes en vez de eso empaquetar
esta carpeta como mod local (con el manifest.json incluido) e importarla ahí,
para que se instale junto a tu perfil de 67 mods sin tocar nada a mano.
Debe cargar después de BetterArmory (el BepInDependency ya se encarga
de eso automáticamente).
Cómo confirmar que funciona
En el log de BepInEx (BepInEx/LogOutput.log), después de morir y reconectar
deberías ver una línea nueva:
[Info :FlamethrowerReconnectFix] Nuevo CustomMessagingManager detectado (reconexión). Forzando re-registro de los handlers del lanzallamas.
Justo después de eso, el lanzallamas debería volver a disparar fuego y gastar munición con normalidad.
Nota
Este es un parche "puente" hecho para tu instalación. Lo ideal a mediano plazo es reportarle este bug al autor de BetterArmory (Y4NGZ313) con este mismo diagnóstico, para que lo arregle en el mod original y no necesites este parche extra.