using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using On.RoR2.UI;
using R2API;
using RoR2;
using RoR2.UI;
using UnityEngine;
using UnityEngine.Events;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("SkinFlavorText")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("SkinFlavorText")]
[assembly: AssemblyTitle("SkinFlavorText")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace SkinFlavorText;
[BepInPlugin("com.rob.SkinFlavorText", "SkinFlavorText", "1.0.1")]
public class Plugin : BaseUnityPlugin
{
public const string MODUID = "com.rob.SkinFlavorText";
private void Awake()
{
//IL_0378: Unknown result type (might be due to invalid IL or missing references)
//IL_0382: Expected O, but got Unknown
LanguageAPI.Add("COMMANDO_SKIN_ALT1_DESC", "Experimental WASP armor. Comes complete with onboard AI and biofoam systems. Only worn by the most elite of soldiers.");
LanguageAPI.Add("COMMANDO_SKIN_ALT2_DESC", "Custom-made decorative MARCH Mk. III variant. The terms of the pact made by those reborn in the eye of the storm are unknown.");
LanguageAPI.Add("MERC_SKIN_ALT1_DESC", "A gift from a rival Europian noble, for a job well done.");
LanguageAPI.Add("MERC_SKIN_ALT2_DESC", "Don't ask where that scar came from. He'll never admit it.");
LanguageAPI.Add("MERC_SKIN_ALT3_DESC", "What, so no head?");
LanguageAPI.Add("ENGI_SKIN_ALT1_DESC", "EOD isn't stressful. Either I'm right, or suddenly it's not my problem anymore.");
LanguageAPI.Add("ENGI_SKIN_ALT2_DESC", "Because people need to know you're not ''an Engineer,'' you're ''THE Engineer.''");
LanguageAPI.Add("HUNTRESS_SKIN_ALT1_DESC", "Blinding snowdrifts conceal the arrow that will darken your sight forevermore.");
LanguageAPI.Add("HUNTRESS_SKIN_ALT2_DESC", "Make the treeline your personal hunting platform.");
LanguageAPI.Add("MAGE_SKIN_ALT1_DESC", "The House holds many gifts for those it deems worthy.");
LanguageAPI.Add("MAGE_SKIN_ALT2_DESC", "Bearing the brunt of the storm can be eye-opening.");
LanguageAPI.Add("TOOLBOT_SKIN_ALT1_DESC", "NOW YOU CAN APPLY GREAT FORCE TO COMBATANTS, TOO.");
LanguageAPI.Add("TOOLBOT_SKIN_ALT2_DESC", "The Storm hides many wonders, notably chrome detailing.");
LanguageAPI.Add("TREEBOT_SKIN_ALT1_DESC", "Even treebots change colors in Autumn.");
LanguageAPI.Add("TREEBOT_SKIN_ALT2_DESC", "Once the Storm subsided, we discovered dozens of specimens of new flora across the planet.");
LanguageAPI.Add("LOADER_SKIN_ALT1_DESC", "The construction yellow and hazard stripes mean it's safe, right?");
LanguageAPI.Add("LOADER_SKIN_ALT2_DESC", "250 tons was the limit for the old suit. That's child's play after the upgrades.");
LanguageAPI.Add("CROCO_SKIN_ALT1_DESC", "Ages spent in the Cells tends to leave one looking pale.");
LanguageAPI.Add("CROCO_SKIN_ALT2_DESC", "''Cap? I think our dog mutated.''");
LanguageAPI.Add("CAPTAIN_SKIN_ALT1_DESC", "A promotion he declined, a desk he didn't want to sit behind the rest of his career.");
LanguageAPI.Add("CAPTAIN_SKIN_ALT2_DESC", "A title from a life unlived, never sailing the void.");
LanguageAPI.Add("BANDIT2_SKIN_ALT1_DESC", "It was here. He was HERE. I start clawing, my razor sharp bones raking the plaster apart. It was here. I'm so cold.");
LanguageAPI.Add("BANDIT2_SKIN_ALT2_DESC", "Bought with the proceeds from ill-gotten gains instead of paying off creditors.");
LanguageAPI.Add("RAILGUNNER_SKIN_ALT1_DESC", "Sadly, the drone is nonfunctional.");
LanguageAPI.Add("RAILGUNNER_SKIN_ALT2_DESC", "What need is there to be stealthy when you're outside detection range?");
LanguageAPI.Add("VOIDSURVIVOR_SKIN_ALT1_DESC", "All is dark and quiet now.");
LanguageAPI.Add("VOIDSURVIVOR_SKIN_ALT2_DESC", "Her golden embrace helps to quiet its influence.");
LanguageAPI.Add("SEEKER_SKIN_ALT1_DESC", "Oṃ Maṇi Padme Hūṃ.");
LanguageAPI.Add("FALSESON_SKIN_ALT1_DESC", "His light can burn through even the deepest corruption.");
LanguageAPI.Add("CHEF_SKIN_ALT1_DESC", "More appropriate attire for such an accomplished CHEF unit.");
LanguageAPI.Add("PALADINBODY_DEFAULT_SKIN_DESC", "This survivor's default skin.");
LanguageAPI.Add("PALADINBODY_LUNAR_SKIN_DESC", "Righteous Underling to Mithrix's demands. Wrathful, yet stoic.");
LanguageAPI.Add("PALADINBODY_LUNARKNIGHT_SKIN_DESC", "Ancient History is sometimes worth looking into once more.");
LanguageAPI.Add("PALADINBODY_TYPHOON_SKIN_DESC", "Many cycles after The Fall, mission unforgotten, only delayed. Valiant, yet tired.");
LanguageAPI.Add("PALADINBODY_TYPHOONLEGACY_SKIN_DESC", "It never hurts to take a peek at the past.");
LanguageAPI.Add("PALADINBODY_POISON_SKIN_DESC", "Brooding Cultist to N'Kuhana's calling. Unhinged, yet focused.");
LanguageAPI.Add("PALADINBODY_POISONLEGACY_SKIN_DESC", "Oldschool origins, we all gotta start from somewhere.");
LanguageAPI.Add("PALADINBODY_CLAY_SKIN_DESC", "Tar given purpose beyond Gestalt. Quiet, yet unstable.");
LanguageAPI.Add("PALADINBODY_SPECTER_SKIN_DESC", "An ancient member of an Order from a far off land. Known as the Specter of Torment to some.");
LanguageAPI.Add("PALADINBODY_DRIP_SKIN_DESC", "No Gods, No Masters, only the grind, the bag, and the motion.");
LanguageAPI.Add("PALADINBODY_MINECRAFT_SKIN_DESC", "I... am Paladin.");
LanguageAPI.Add("ROB_HUNK_BODY_DEFAULT_SKIN_DESC", "This survivor's default skin.");
LanguageAPI.Add("ROB_HUNK_BODY_CLASSIC_SKIN_DESC", "Resident Evil 2 Remake model.");
LanguageAPI.Add("ROB_HUNK_BODY_TOFU_SKIN_DESC", "Low in calories, high in protein, and just the man for the mission.");
LanguageAPI.Add("ROB_HUNK_BODY_SUPER_SKIN_DESC", "Thanks so much for your support and/or congratulations on cheating! As a reward and/or joke, you can have every power.");
LanguageAPI.Add("ROB_HUNK_BODY_LIGHTWEIGHT_SKIN_DESC", "OSP? Of course. This is a top-secret black op. Don't expect any official support.");
LanguageAPI.Add("ROB_HUNK_BODY_GUERRILLA_SKIN_DESC", "'I have a job to do, and I'm gonna see it through.' -Chris Redfield");
LanguageAPI.Add("ROB_HUNK_BODY_ROOKIE_SKIN_DESC", "'Something tells me he's not a cop...' -Leon S. Kennedy.");
LanguageAPI.Add("ROB_HUNK_BODY_SWAT_SKIN_DESC", "Your ass is a long way from Raccoon City, officer. Good luck.");
LanguageAPI.Add("ROB_HUNK_BODY_LEON_SKIN_DESC", "'Where's everyone going? Bingo?' -Leon S. Kennedy.");
LanguageAPI.Add("ROB_HUNK_BODY_ENFORCER_SKIN_DESC", "Umbrella Corp. denies all affiliation with the Special Armed Garrison. Resemblance to Kerberos Protect Gear is entirely coincidental and non-actionable.");
LanguageAPI.Add("ROB_HUNK_BODY_WESKER_SKIN_DESC", "'Seven minutes. Seven minutes is all I can spare to play with you.' -Albert Wesker");
LanguageAPI.Add("ROB_HUNK_BODY_DOOM_SKIN_DESC", "Doomguy");
LanguageAPI.Add("ROB_HUNK_BODY_COMMANDO_SKIN_DESC", "Standard issue MARCH Mk. III Commando armor. The yellow dome is the iconic face of UES enforcement.");
LanguageAPI.Add("ROB_HUNK_BODY_JACKET_SKIN_DESC", "From hit game Payday 2.");
Row.AddButton += new hook_AddButton(Row_AddButton);
}
private void Row_AddButton(orig_AddButton orig, Row self, LoadoutPanelController owner, Sprite icon, string titleToken, string bodyToken, Color tooltipColor, UnityAction callback, string unlockableName, Node viewableNode, bool isWIP, int defIndex)
{
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
if (titleToken == "DEFAULT_SKIN")
{
bodyToken = "This survivor's default skin.";
}
if (titleToken != string.Empty && titleToken.Contains("SKIN") && titleToken.Contains("NAME") && bodyToken == string.Empty)
{
string text = titleToken.Remove(titleToken.Length - 4, 4) + "DESC";
string stringFormatted = Language.GetStringFormatted(text, Array.Empty<object>());
if (stringFormatted != text)
{
bodyToken = text;
}
}
orig.Invoke(self, owner, icon, titleToken, bodyToken, tooltipColor, callback, unlockableName, viewableNode, isWIP, defIndex);
}
}