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.
Decompiled source of FortniteSkins v0.1.1
BepInEx/plugins/ClassicTroopers/ClassicTroopers.dll
Decompiled 2 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using BepInEx; using ModelReplacement; using ModelReplacement.AvatarBodyUpdater; using PinkGhoulTrooper; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyVersion("0.0.0.0")] namespace PinkGhoulTrooper { public sealed class FloorAlignedAvatarUpdater : AvatarUpdater { public override void AssignModelReplacement(GameObject player, GameObject replacement) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) ((AvatarUpdater)this).AssignModelReplacement(player, replacement); base.rootPositionOffset = Vector3.zero; } protected override void UpdateModel() { //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) ((AvatarUpdater)this).UpdateModel(); Transform avatarTransformFromBoneName = ((AvatarUpdater)this).GetAvatarTransformFromBoneName("spine"); Transform avatarTransformFromBoneName2 = ((AvatarUpdater)this).GetAvatarTransformFromBoneName("toe.L"); Transform avatarTransformFromBoneName3 = ((AvatarUpdater)this).GetAvatarTransformFromBoneName("toe.R"); Transform playerTransformFromBoneName = ((AvatarUpdater)this).GetPlayerTransformFromBoneName("toe.L"); Transform playerTransformFromBoneName2 = ((AvatarUpdater)this).GetPlayerTransformFromBoneName("toe.R"); if (!((Object)(object)avatarTransformFromBoneName == (Object)null) && !((Object)(object)avatarTransformFromBoneName2 == (Object)null) && !((Object)(object)avatarTransformFromBoneName3 == (Object)null) && !((Object)(object)playerTransformFromBoneName == (Object)null) && !((Object)(object)playerTransformFromBoneName2 == (Object)null)) { float num = (playerTransformFromBoneName.position.y + playerTransformFromBoneName2.position.y) * 0.5f; float num2 = (avatarTransformFromBoneName2.position.y + avatarTransformFromBoneName3.position.y) * 0.5f; avatarTransformFromBoneName.position += Vector3.up * (num - num2); } } } } namespace ClassicTroopers { [BepInPlugin("clair.classictroopers", "Fortnite Skins", "0.1.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public sealed class Plugin : BaseUnityPlugin { internal static AssetBundle Bundle; internal static AssetBundle FixedRaiderBundle; private void Awake() { try { Bundle = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "classictroopers")); if (!Object.op_Implicit((Object)(object)Bundle)) { throw new InvalidOperationException("Classic Troopers bundle failed to load"); } FixedRaiderBundle = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "renegadehairfix")); if (!Object.op_Implicit((Object)(object)FixedRaiderBundle) || !Object.op_Implicit((Object)(object)FixedRaiderBundle.LoadAsset<GameObject>("Assets/Generated/RenegadeRaider.prefab"))) { throw new InvalidOperationException("Missing corrected Renegade bundle"); } string[] array = new string[3] { "AerialAssaultTrooper", "PurpleSkullTrooper", "RenegadeRaider" }; foreach (string text in array) { if (!Object.op_Implicit((Object)(object)Bundle.LoadAsset<GameObject>("Assets/Generated/" + text + ".prefab"))) { throw new InvalidOperationException("Missing character: " + text); } } ModelReplacementAPI.RegisterSuitModelReplacement("Aerial Assault Trooper", typeof(AerialReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Purple Skull Trooper", typeof(SkullReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Renegade Raider", typeof(RaiderReplacement)); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Three Classic Troopers suit models registered; Pink Ghoul is supplied by its preserved 1.0.3 plugin."); } catch (Exception ex) { ((BaseUnityPlugin)this).Logger.LogError((object)ex); } } } public abstract class TrooperReplacement : BodyReplacementBase { protected abstract string Key { get; } protected override GameObject LoadAssetsAndReturnModel() { return ((Key == "RenegadeRaider") ? Plugin.FixedRaiderBundle : Plugin.Bundle).LoadAsset<GameObject>("Assets/Generated/" + Key + ".prefab"); } protected override AvatarUpdater GetAvatarUpdater() { return (AvatarUpdater)(object)new FloorAlignedAvatarUpdater(); } } public sealed class AerialReplacement : TrooperReplacement { protected override string Key => "AerialAssaultTrooper"; } public sealed class SkullReplacement : TrooperReplacement { protected override string Key => "PurpleSkullTrooper"; } public sealed class RaiderReplacement : TrooperReplacement { protected override string Key => "RenegadeRaider"; } }
BepInEx/plugins/PinkGhoulTrooper/PinkGhoulTrooper.dll
Decompiled 2 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using BepInEx; using ModelReplacement; using ModelReplacement.AvatarBodyUpdater; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyVersion("0.0.0.0")] namespace PinkGhoulTrooper; [BepInPlugin("clair.pinkghoultrooper", "Pink Ghoul Trooper", "1.0.2")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public sealed class Plugin : BaseUnityPlugin { internal static GameObject Prefab; private void Awake() { try { string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "pinkghoultrooper"); AssetBundle obj = AssetBundle.LoadFromFile(text); if ((Object)(object)obj == (Object)null) { throw new InvalidOperationException("Unable to load character asset bundle: " + text); } Prefab = obj.LoadAsset<GameObject>("Assets/Generated/PinkGhoulTrooper.prefab"); if ((Object)(object)Prefab == (Object)null) { throw new InvalidOperationException("PinkGhoulTrooper prefab is missing"); } ModelReplacementAPI.RegisterSuitModelReplacement("Pink Ghoul Trooper", typeof(GhoulReplacement)); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Pink Ghoul Trooper ready. Select its suit on the ship's rack."); } catch (Exception ex) { ((BaseUnityPlugin)this).Logger.LogError((object)ex); } } } public sealed class GhoulReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { return Plugin.Prefab; } protected override AvatarUpdater GetAvatarUpdater() { return (AvatarUpdater)(object)new FloorAlignedAvatarUpdater(); } } public sealed class FloorAlignedAvatarUpdater : AvatarUpdater { public override void AssignModelReplacement(GameObject player, GameObject replacement) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) ((AvatarUpdater)this).AssignModelReplacement(player, replacement); base.rootPositionOffset = Vector3.zero; } protected override void UpdateModel() { //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) ((AvatarUpdater)this).UpdateModel(); Transform avatarTransformFromBoneName = ((AvatarUpdater)this).GetAvatarTransformFromBoneName("spine"); Transform avatarTransformFromBoneName2 = ((AvatarUpdater)this).GetAvatarTransformFromBoneName("toe.L"); Transform avatarTransformFromBoneName3 = ((AvatarUpdater)this).GetAvatarTransformFromBoneName("toe.R"); Transform playerTransformFromBoneName = ((AvatarUpdater)this).GetPlayerTransformFromBoneName("toe.L"); Transform playerTransformFromBoneName2 = ((AvatarUpdater)this).GetPlayerTransformFromBoneName("toe.R"); if (!((Object)(object)avatarTransformFromBoneName == (Object)null) && !((Object)(object)avatarTransformFromBoneName2 == (Object)null) && !((Object)(object)avatarTransformFromBoneName3 == (Object)null) && !((Object)(object)playerTransformFromBoneName == (Object)null) && !((Object)(object)playerTransformFromBoneName2 == (Object)null)) { float num = (playerTransformFromBoneName.position.y + playerTransformFromBoneName2.position.y) * 0.5f; float num2 = (avatarTransformFromBoneName2.position.y + avatarTransformFromBoneName3.position.y) * 0.5f; avatarTransformFromBoneName.position += Vector3.up * (num - num2); } } }