Fixed Burst Weapon's Fire Rates (#575)
Some checks failed
FModel QA Builder / build (push) Has been cancelled

* Update BaseIconStats.cs

Fixed Burst Fire Rates

* Hides fire rate if it = 0

Made it so if the equation = 0, it hides fire rate

* Fixed if firing rate = 1

Made it so if firing rate = 1, it hides the burst firing rate equation and just shows the firing rate.

* Neverness to Everness and Terminull Brigade support
Add new loading mode that skips patched assets

* BinaryConfig.ini support

* Update CUE4Parse

---------

Co-authored-by: GhostScissors <79089473+GhostScissors@users.noreply.github.com>
This commit is contained in:
Chompster86 2025-07-06 23:10:14 -04:00 committed by GitHub
parent 233b7ab03b
commit 62b103f958
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 20 additions and 2 deletions

@ -1 +1 @@
Subproject commit 8389f31d4ca4add18377ca5ba7bcd93066b13362
Subproject commit 5a03d96378c214e924e0cacfaa02969ca4a27236

View File

@ -95,6 +95,8 @@ public class BaseIconStats : BaseIcon
weaponRowValue.TryGetValue(out float heatMax, "OverheatingMaxValue"); //Maximum heat overheating weapons can hold before they need to cool off
weaponRowValue.TryGetValue(out float heatPerShot, "OverheatHeatingValue"); //Heat generated per shot on overheat weapons
weaponRowValue.TryGetValue(out float overheatCooldown, "OverheatedCooldownDelay"); //Cooldown after a weapon reaches its maximum heat capacity
weaponRowValue.TryGetValue(out int cartridgePerFire, "CartridgePerFire"); //Amount of bullets shot after pressing the fire button once
weaponRowValue.TryGetValue(out float burstFiringRate, "BurstFiringRate"); //Item firing rate during a burst, value is shots per second
{
var multiplier = bpc != 0f ? bpc : 1;
if (dmgPb != 0f)
@ -122,7 +124,12 @@ public class BaseIconStats : BaseIcon
_statistics.Add(new IconStat(Utils.GetLocalizedResource("", "068239DD4327B36124498C9C5F61C038", "Magazine Size"), clipSize, 40));
}
if (firingRate != 0f)
var burstEquation = cartridgePerFire / (((cartridgePerFire - 1f) / burstFiringRate) + (1f / firingRate));
if (burstEquation != 0f)
{
_statistics.Add(new IconStat(Utils.GetLocalizedResource("", "27B80BA44805ABD5A2D2BAB2902B250C", "Fire Rate"), burstEquation, 11));
}
else if (firingRate != 0f)
{
_statistics.Add(new IconStat(Utils.GetLocalizedResource("", "27B80BA44805ABD5A2D2BAB2902B250C", "Fire Rate"), firingRate, 11));
}

View File

@ -39,6 +39,7 @@ using CUE4Parse_Conversion;
using CUE4Parse_Conversion.Sounds;
using CUE4Parse.FileProvider.Objects;
using CUE4Parse.UE4.Assets;
using CUE4Parse.UE4.BinaryConfig;
using CUE4Parse.UE4.Objects.UObject;
using CUE4Parse.Utils;
using EpicManifestParser;
@ -580,6 +581,16 @@ public class CUE4ParseViewModel : ViewModel
break;
}
case "ini" when entry.Name.Contains("BinaryConfig"):
{
var ar = entry.CreateReader();
var configCache = new FConfigCacheIni(ar);
TabControl.SelectedTab.Highlighter = AvalonExtensions.HighlighterSelector("json");
TabControl.SelectedTab.SetDocumentText(JsonConvert.SerializeObject(configCache, Formatting.Indented), saveProperties, updateUi);
break;
}
case "upluginmanifest":
case "uproject":
case "manifest":