using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Photon.Pun;
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: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: IgnoresAccessChecksTo("Autodesk.Fbx")]
[assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")]
[assembly: IgnoresAccessChecksTo("FbxBuildTestAssets")]
[assembly: IgnoresAccessChecksTo("Klattersynth")]
[assembly: IgnoresAccessChecksTo("Photon3Unity3D")]
[assembly: IgnoresAccessChecksTo("PhotonChat")]
[assembly: IgnoresAccessChecksTo("PhotonRealtime")]
[assembly: IgnoresAccessChecksTo("PhotonUnityNetworking")]
[assembly: IgnoresAccessChecksTo("PhotonUnityNetworking.Utilities")]
[assembly: IgnoresAccessChecksTo("PhotonVoice.API")]
[assembly: IgnoresAccessChecksTo("PhotonVoice")]
[assembly: IgnoresAccessChecksTo("PhotonVoice.PUN")]
[assembly: IgnoresAccessChecksTo("SingularityGroup.HotReload.Runtime")]
[assembly: IgnoresAccessChecksTo("SingularityGroup.HotReload.Runtime.Public")]
[assembly: IgnoresAccessChecksTo("Sirenix.OdinInspector.Attributes")]
[assembly: IgnoresAccessChecksTo("Sirenix.Serialization.Config")]
[assembly: IgnoresAccessChecksTo("Sirenix.Serialization")]
[assembly: IgnoresAccessChecksTo("Sirenix.Utilities")]
[assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")]
[assembly: IgnoresAccessChecksTo("Unity.Formats.Fbx.Runtime")]
[assembly: IgnoresAccessChecksTo("Unity.InputSystem")]
[assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")]
[assembly: IgnoresAccessChecksTo("Unity.Postprocessing.Runtime")]
[assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")]
[assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")]
[assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")]
[assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")]
[assembly: IgnoresAccessChecksTo("Unity.Timeline")]
[assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Antlr3.Runtime")]
[assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Core")]
[assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Flow")]
[assembly: IgnoresAccessChecksTo("Unity.VisualScripting.State")]
[assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")]
[assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")]
[assembly: IgnoresAccessChecksTo("UnityEngine.UI")]
[assembly: IgnoresAccessChecksTo("websocket-sharp")]
[assembly: AssemblyCompany("HERO")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("JNL_Assist")]
[assembly: AssemblyTitle("JNL_Assist")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : Attribute
{
public readonly byte[] NullableFlags;
public NullableAttribute(byte P_0)
{
NullableFlags = new byte[1] { P_0 };
}
public NullableAttribute(byte[] P_0)
{
NullableFlags = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
public class Yappuccino_Plugin : MonoBehaviour
{
private enum State
{
Idle,
Active
}
private PhysGrabObject physGrabObject;
private PhotonView photonView;
private List<string> transitiveVerbs = new List<string>();
private List<string> intransitiveVerbs = new List<string>();
private List<string> adjectives = new List<string>();
private List<string> intensifiers = new List<string>();
private List<string> nouns = new List<string>();
private List<string> adverbs = new List<string>();
private List<string> ingredients = new List<string>();
private List<string> enemyNames = new List<string>();
private float coolDownUntilNextSentence = 3f;
private ParticleSystem particles;
private bool particlesPlaying;
public Renderer LovePotionRenderer;
private State currentState;
private string playerName = "{playerName}";
private void Start()
{
particles = ((Component)this).GetComponentInChildren<ParticleSystem>();
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
InitializeWordLists();
}
private void Update()
{
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_006a: Unknown result type (might be due to invalid IL or missing references)
LovePotionRenderer.material.mainTextureOffset = new Vector2(0f, Time.time * 0.1f);
LovePotionRenderer.material.mainTextureScale = new Vector2(2f + Mathf.Sin(Time.time * 1f) * 0.25f, 2f + Mathf.Sin(Time.time * 1f) * 0.25f);
if (physGrabObject.grabbed)
{
if (!particlesPlaying)
{
particles.Play();
particlesPlaying = true;
}
}
else if (particlesPlaying)
{
particles.Stop();
particlesPlaying = false;
}
if (SemiFunc.IsMultiplayer())
{
switch (currentState)
{
case State.Idle:
StateIdle();
break;
case State.Active:
StateActive();
break;
}
}
}
private void StateIdle()
{
//IL_00ba: 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_00c8: Unknown result type (might be due to invalid IL or missing references)
//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
//IL_0111: Unknown result type (might be due to invalid IL or missing references)
//IL_011d: Unknown result type (might be due to invalid IL or missing references)
if (coolDownUntilNextSentence > 0f && physGrabObject.grabbed)
{
coolDownUntilNextSentence -= Time.deltaTime;
}
else
{
if (!Object.op_Implicit((Object)(object)PhysGrabber.instance) || !PhysGrabber.instance.grabbed || !Object.op_Implicit((Object)(object)PhysGrabber.instance.grabbedPhysGrabObject) || !((Object)(object)PhysGrabber.instance.grabbedPhysGrabObject == (Object)(object)physGrabObject))
{
return;
}
bool flag = false;
if (!SemiFunc.IsMultiplayer())
{
playerName = "Jake and Liv";
flag = true;
}
else
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAllPlayerAvatarWithinRange(1000f, ((Component)PhysGrabber.instance).transform.position, false, default(LayerMask));
PlayerAvatar val = null;
float num = float.MaxValue;
foreach (PlayerAvatar item in list)
{
if (!((Object)(object)item == (Object)(object)PlayerAvatar.instance))
{
float num2 = Vector3.Distance(((Component)PhysGrabber.instance).transform.position, ((Component)item).transform.position);
if (num2 < num)
{
num = num2;
val = item;
}
}
}
flag = true;
if ((Object)(object)val != (Object)null)
{
playerName = val.playerName;
}
else
{
playerName = "Jake and Liv";
}
}
if (flag)
{
string text = GenerateAffectionateSentence();
currentState = State.Active;
Color val2 = default(Color);
((Color)(ref val2))..ctor(0.4666667f, 0.2470588f, 0.02352941f, 1f);
ChatManager.instance.PossessChatScheduleStart(10);
ChatManager.instance.PossessChat((PossessChatID)1, text, 1f, val2, 0f, false, 0, (UnityEvent)null);
ChatManager.instance.PossessChatScheduleEnd();
}
}
}
private void StateActive()
{
if (PhysGrabber.instance.grabbed && Object.op_Implicit((Object)(object)PhysGrabber.instance.grabbedPhysGrabObject) && (Object)(object)PhysGrabber.instance.grabbedPhysGrabObject != (Object)(object)physGrabObject)
{
currentState = State.Idle;
coolDownUntilNextSentence = Random.Range(2f, 5f);
}
else if (!ChatManager.instance.StateIsPossessed())
{
currentState = State.Idle;
coolDownUntilNextSentence = Random.Range(2f, 5f);
}
}
private void InitializeWordLists()
{
transitiveVerbs.AddRange(new string[135]
{
"adore", "sing oh la la with", "crush on", "fan over", "root for", "olala over", "geek out over", "vibe with", "fangirl over", "fanboy over",
"heart", "olalalalala", "can't even", "obsess over", "trip over", "flip for", "freak over", "go nuts for", "go crazy for", "get hyped to",
"hype up", "read a book with", "ride or die for", "show love for", "dance with", "ship", "low-key crush on", "have a thing for", "can't stop thinking about", "eyeing",
"have robofeeling for", "catch crushie feelings for", "go heart eyes for", "get butterflies over", "have heart eyes for", "can't get over", "can't get enough of", "get in my feels over", "dream about", "imagine being happy with",
"can't handle", "get weak for", "melt for", "have a soft spot for", "got a thing for", "obsessed with", "blushing over", "head over heels for", "feel the feels for", "admire",
"crushing hard on", "can't even with", "totally into", "lost in", "robofeels about", "gaga for", "beeping and booping over", "extracting valuables with", "grooving to", "all about",
"blown away by", "hyped about", "tripping over", "losing it over", "crying over", "obsessing over", "dying for", "looking at", "checking out", "having nothing but love for",
"waiting on", "going wild for", "living for", "hooked on", "feeling", "hyped for", "showing mad love to", "sending hugs to", "sending hearts to", "be friends with",
"laugh hard with", "vibing with", "like", "cherish", "enjoy", "appreciate", "love", "treasure", "care for", "go gaga ding dong for",
"long for", "think of", "miss", "want to be with", "smile at", "look at", "blush around", "get shy around", "laugh and cry with", "sing love songs with",
"talk to", "listen to", "hold hands with", "share secrets with", "walk with", "sit with", "be near", "hang out with", "spend time with", "be around",
"wink at", "wave to", "call", "write to", "sing to", "dance with", "cook for", "make art for", "make gifts for", "give gifts to",
"surprise", "hug", "make taxman happy with", "ride the cart with", "robotickle", "do a stand-up routine for", "enjoy the sunset with", "share laughs with", "make smile", "bring joy to",
"be silly with", "go on adventures with", "explore with", "go to Japan with", "grow old with"
});
intransitiveVerbs.AddRange(new string[140]
{
"vibe", "wow wow wow", "geek out", "daydream", "crush", "fangirl", "fanboy", "cheer", "freak out", "melt",
"chill", "robostalk", "go oh la la", "robodance", "rock out", "hug", "kick it", "work", "match", "boot up",
"meet up", "catch feels", "connect", "get along", "robohang", "check out", "look up", "catch up", "hang out", "tune in",
"break", "tap in", "dive in", "get in", "be in", "collab", "share", "swap", "trade", "deal",
"work", "play", "compete", "challenge", "engage", "join in", "get in on", "mix in", "add in", "help",
"support", "follow", "track", "keep tabs", "keep up", "stay updated", "keep an eye", "buzz", "wow", "download the latest update",
"update", "shout out", "yell", "scream", "hype", "beep boop beep boop", "vent", "express", "spill the beans", "confess love",
"admit feelings", "declare bankruptcy", "dream", "blush", "imagine", "robodrool", "obsess", "admire", "go woop woop", "freak out",
"lose it", "freak", "feel", "glow", "... i dunno ...", "trip", "groove", "beep boop", "crush", "flirt",
"giggle", "smile", "laugh", "beam", "grin", "wonder", "wish", "hope", "long", "like",
"leave a like and subscribe", "react", "lurk", "go OP", "despawn", "fart", "peep", "spy", "peek", "sigh",
"breathe", "relate", "resonate", "go gaga ding dong", "boop", "jam", "flutter", "tingle", "twirl", "dance",
"sing", "hum", "beep", "skip", "float", "sparkle", "bubble", "chirp", "glisten", "twinkle",
"ponder", "admire", "breathe", "relax", "fancy", "laugh", "imagine", "melt", "smirk", "chuckle"
});
adjectives.AddRange(new string[135]
{
"epic", "awesome", "adorable", "adorbs", "fab", "cool", "dreamy", "snazzy", "rad", "stellar",
"dope", "amazing", "breathtaking", "charming", "cute", "ah meh zin geh", "fresh", "funky", "glowing", "oh la la la",
"incredible", "olala", "lovable", "lovely", "upgraded", "neat", "on point", "peachy", "woop y woop y woo", "likey likey",
"oooh ya ya", "slick", "smart", "smooth", "sparkling", "OMG", "stunning", "stylish", "ooooh yeaaa", "superb",
"supreme", "sweet", "wowie", "trendy", "unreal", "vibrant", "wicked", "me likey", "beep boop", "oh my",
"oof in a good way", "brilliant", "oh ya ya", "chic", "ah ... mazing", "clever", "comfy", "cu ... wait ... teh ... cute", "woop woop", "hugable",
"cute", "yas queen", "sooo like ... wow", "divine", "electric", "elegant", "elite", "1337", "engaging", "enticing",
"fancy", "fierce", "fire", "fly", "glam", "gorgeous", "hype mode", "iconic", "legendary", "litty",
"wow wow wow", "magical", "majestic", "bootiiifoool", "poppin'", "precious", "C O O L ... cool", "C U T E ... cute", "... ... *blushes* ...", "slaying",
"spicy", "robohandsome", "wowa wowa yas yas", "on fleek", "robocute", "wholesome", "winning", "robodorable", "powerful", "pretty",
"beautiful", "sweet", "kind", "wow wow wow wow wow", "100%", "fun", "brave", "interesting", "smart in the head", "sparkling",
"shiny", "warm", "heroic", "friendly", "financially stable", "oh la la oh la la la la", "romantic", "cozy", "wonderful", "fantastic",
"super", "great", "delightful", "fabulous", "marvelous", "nice", "pleasant", "good", "special", "unique",
"o la la la yes yes", "yeah yeah wow wow", "wooooow", "oh woooow", "oh my gawd"
});
intensifiers.AddRange(new string[77]
{
"totally", "super", "uber", "mega", "super mega", "seriously", "majorly", "legit", "absolutely", "completely",
"for reals", "utterly", "high-key", "incredibly", "madly", "like ...", "like... seriously", "sooo", "really", "so",
"sooooooooo", "unbelievably", "very", "like soooo much", "extra", "extremely", "really really", "fiercely", "like, for reals", "greatly",
"hugely", "immensely", "intensely", "massively", "so so soooo", "really really really", "like totes", "like... totally", "like.. somehow sooo much", "simply",
"supremely", "surprisingly", "super mega ultra", "ultra", "unusually", "way way", "way", "insanely", "like ... insanelyyyy", "freakishly",
"extra extra", "overwhelmingly", "reeeaaally", "weirdly", "suuuuper", "way waaaay", "crazy", "like suuuuuper", "really sooo", "low-key",
"high-key", "literally", "for reeeaal soo", "legit", "honestly", "kinda", "sort of", "basically", "downright", "like literally",
"very very", "like like.. like... sooo much", "like... actually", "suuuuper suuuuper", "genuinely", "truly", "sincerely"
});
nouns.AddRange(new string[108]
{
"bae", "bro", "fam", "goals", "friendo", "buddy", "pal", "champ", "MVP", "rockstar",
"hero", "idol", "star", "queen", "king", "baby", "beast", "boss", "bruh", "boss queen",
"girl", "dude", "genius", "guru", "cutie", "legend", "player", "boss king", "pog", "partner",
"prodigy", "pro", "role model", "boy", "soulmate", "superhero", "sweetie", "twin", "robot", "wizard",
"wonder", "crushie", "angel", "viral hit", "blessing", "champion", "charmer", "crush", "darling", "dear",
"gamer", "fave", "friend", "gem", "heartthrob", "honey", "heartbreaker", "inspiration", "love", "main",
"other half", "crushcrush", "person", "precious", "sunshine", "treasure", "bestie", "boo", "cutie", "sister",
"sis", "brother", "fam", "beauty", "megacrush", "best friend", "supercrush", "favfav", "main character", "robo",
"icon", "legend", "mood", "vibe", "goat", "man", "woman", "goal", "winner", "yas queen",
"cute robot", "robot crush", "pal", "sweetheart", "pumpkin", "sugar", "baby", "peach", "dove", "cupcake",
"buttercup", "snugglebug", "silly goose", "teddy bear", "dream", "princess", "prince", "superstar"
});
adverbs.AddRange(new string[77]
{
"totally", "super", "uber", "mega", "super mega", "seriously", "majorly", "legit", "absolutely", "completely",
"for reals", "utterly", "high-key", "incredibly", "madly", "like ...", "like... seriously", "sooo", "really", "so",
"sooooooooo", "unbelievably", "very", "like soooo", "extra", "extremely", "really really", "fiercely", "like, for reals", "greatly",
"hugely", "immensely", "intensely", "massively", "so so soooo", "really really really", "like totes", "like... totally", "like.. somehow sooo", "simply",
"supremely", "surprisingly", "super mega ultra", "ultra", "unusually", "way way", "way", "insanely", "like ... insanelyyyy", "freakishly",
"extra extra", "overwhelmingly", "reeeaaally", "weirdly", "suuuuper", "way waaaay", "crazy", "like suuuuuper", "really sooo", "low-key",
"high-key", "literally", "for reeeaal soo", "legit", "honestly", "kinda", "sort of", "basically", "downright", "like literally",
"very very", "like like.. like... sooo", "like... actually", "suuuuper suuuuper", "genuinely", "truly", "sincerely"
});
ingredients.AddRange(new string[83]
{
"cinnamon", "milk", "sugar", "cocoa", "caramel", "sprinkles", "vanilla", "whipped cream", "vitamins", "minerals",
"2% milk", "eye of newt", "gluten", "stardrops", "arsenic", "asbestos", "caffine", "cheese", "the secrets of the universe", "steroids",
"headman's tears", "Jake and Liv's secret ingredient", "laxatives", "1-up mushrooms", "moo moo milk", "THC", "dinosaur chicken nuggets", "gleep", "whiskey", "hot sauce",
"booty cheeks", "sweat", "kisses", "my hopes and dreams", "mint", "nuts", "honey", "ice cream", "nutmeg", "ginger",
"dragon's breath", "salt", "depression", "pumpkin spice", "brownie chunks", "chili powder", "sand", "glitter", "snails", "lego bricks",
"glass shards", "espresso", "steamed milk", "foamed milk", "chocolate shavings", "marshmallows", "gold flakes", "unicorn tears", "pixie dust", "sarcasm",
"regret", "love", "dragon scales", "fairy dust", "sunshine", "rainwater", "jazz vibes", "stardust", "chaos", "confetti",
"procrastination", "gummy bears", "nightshade", "cyanide", "hemlock", "poison ivy", "snake venom", "spider silk", "mercury", "lead",
"uranium", "antifreeze", "moldy bread"
});
enemyNames.AddRange(new string[19]
{
"Robe", "Huntsman", "Spewer", "Trudge", "Headman", "Gnomes", "Apex Predator", "Rugrat", "Mentalist", "Hidden",
"Clown", "Bowtie", "Animal", "Frog Chef", "Upscream", "Shadow Child", "Peeper", "Bangers", "Reaper"
});
}
private string GenerateAffectionateSentence()
{
List<string> list = new List<string>
{
"Who ordered this yappucheeno?", "Did {playerName} order this yappucheeno?", "Look out {adjective} yappucheeno comin in HOT!", "Hey {playerName} you forgot your yappucheeno!", "I can't read the name on this...yappucheeno for {playerName}?", "Yap Yap Yap Yap Yap", "I wish I could drink this {intensifier} {adjective} yappucheeno myself!", "OUCH! This yappucheeno {adverb} burnt my robo-lips", "I heard {playerName} orders their yappucheeno with cinnamon. {adjective}.", "Jake and Liv {transitiveVerb} yappucheenos!",
"Espresso yourself... then yap about it for 3 hours.", "If I’m not yapping, I’m probably waiting for my yappucheeno to cool down.", "yappucheenos make my {noun} {intransitiveVerb}.", "The only thing louder than {playerName}’s voice is their yappucheeno after three sips.", "{playerName} is allergic to {ingredient} in their yappucheeno.", "Do you think they put {ingredient} in yappucheeno?", "Eww this yappucheeno has {ingredient} in it.", "I am {intensifier} grumpy before my morning yappucheeno", "{playerName} is {intensifier} {adjective} with yappucheeno in their system!", "Who doesn't like {ingredient} in their yappucheeno?",
"Don't tell {playerName} ... but I added {ingredient} to their yappucheeno!", "*sips* OH NO! I'm allergic to {ingredient}!", "For real, yappucheeno's vibe is {intensifier} {adjective}.", "Can't get enough of yappucheeno's {adjective} vibes.", "yappucheeno and me = {intensifier} {adjective} vibes.", "Y'know The {enemyName} would be a lot less aggro if they took a sip of yappucheeno!", "I didn't realize Tax Man opened a SemiBucks", "I stood behind The {enemyName} in the SemiBucks line and they ordered a large half-yap with extra {ingredient}.", "This is {adverb} my favorite drink to order at SemiBucks!", "Not gonna lie, The {enemyName} looks {adverb} {adjective} after I drink my yappucheeno...",
"O M G The {enemyName} is so NOT {noun}.", "Did you notice {playerName} didn’t tip the barista? {adjective}.", "{playerName} switched to {ingredient} Yapps because they’re ‘trying something {adjective}.’ Go off {noun}", "The {enemyName} orders decaf. {intensifier} sussy.", "I feel like I can fight off 100 of The {enemyName} after my Yapp!", "Personally, I order my Yappucheeno with {ingredient}, {ingredient}, and more {ingredient}!", "If {playerName} drinks Yappucheeno with {ingredient} they get {intensifier} gassy...", "I get a free Yappucheeno in 10 more SemiBucks points, {adjective}!", "Who do you think would win in a fight? The {enemyName} or {playerName}?", "I think I heard The {enemyName} somewhere around here...",
"This is the limited edition {ingredient} flavored Yappucheeno! {adjective}!", "FUN FACT! Jake and Liv's husky Cyrus LOOOOOOVES coffee. What a good boy!", "{playerName}, will you go on a Yappucheeno date with me?", "Next round's on {playerName}!", "The {enemyName} is really just misunderstood...", "I can fix The {enemyName}.", "Uh oh....The {enemyName} is standing right behind me, arent they?", "It was {intensifier} {adjective} of {playerName} to play REPO with me today!", "In the right lighting...{playerName} kinda looks like The {enemyName}.", "If The {enemyName} were my partner I would LOVE AND CHERISH THEM!",
"My robo heart really races when I drink Yappucheeno.", "I spent a night in jail with The {enemyName} once.", "Can a Yappucheeno ever have TOO much {ingredient}?", "Jake and Liv really appreciate you playing their mod. We love you. You matter."
};
string text = list[Random.Range(0, list.Count)];
string text2 = text.Replace("{playerName}", playerName);
if (text.Contains("{transitiveVerb}"))
{
string newValue = transitiveVerbs[Random.Range(0, transitiveVerbs.Count)];
text2 = text2.Replace("{transitiveVerb}", newValue);
}
if (text.Contains("{intransitiveVerb}"))
{
string text3 = intransitiveVerbs[Random.Range(0, intransitiveVerbs.Count)];
if (text2.Contains("{intransitiveVerb}s"))
{
text3 = ((!text3.EndsWith("e")) ? (text3 + "es") : (text3 + "s"));
text2 = text2.Replace("{intransitiveVerb}s", text3);
}
else
{
text2 = text2.Replace("{intransitiveVerb}", text3);
}
}
if (text.Contains("{adjective}"))
{
string newValue2 = adjectives[Random.Range(0, adjectives.Count)];
text2 = text2.Replace("{adjective}", newValue2);
}
if (text.Contains("{intensifier}"))
{
string newValue3 = intensifiers[Random.Range(0, intensifiers.Count)];
text2 = text2.Replace("{intensifier}", newValue3);
}
if (text.Contains("{adverb}"))
{
string newValue4 = adverbs[Random.Range(0, adverbs.Count)];
text2 = text2.Replace("{adverb}", newValue4);
}
if (text.Contains("{noun}"))
{
string newValue5 = nouns[Random.Range(0, nouns.Count)];
text2 = text2.Replace("{noun}", newValue5);
}
if (text.Contains("{ingredient}"))
{
string newValue6 = ingredients[Random.Range(0, ingredients.Count)];
text2 = text2.Replace("{ingredient}", newValue6);
}
if (text.Contains("{enemyName}"))
{
string newValue7 = enemyNames[Random.Range(0, enemyNames.Count)];
text2 = text2.Replace("{enemyName}", newValue7);
}
return char.ToUpper(text2[0]) + text2.Substring(1);
}
}
public class Yappuccino_Plugin2 : MonoBehaviour
{
private enum State
{
Idle,
Active
}
private PhysGrabObject physGrabObject;
private PhotonView photonView;
private State currentState;
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
}
private void Update()
{
if (SemiFunc.IsMultiplayer())
{
switch (currentState)
{
case State.Idle:
StateIdle();
break;
case State.Active:
StateActive();
break;
}
}
}
private void StateIdle()
{
if (physGrabObject.grabbed)
{
currentState = State.Active;
}
}
private void StateActive()
{
foreach (PhysGrabber item in physGrabObject.playerGrabbing)
{
if (Object.op_Implicit((Object)(object)item) && !item.isLocal)
{
item.playerAvatar.voiceChat.OverridePitch(1.2f, 0.1f, 0.1f, 0.1f, true);
}
}
if (!physGrabObject.grabbed)
{
currentState = State.Idle;
}
if (physGrabObject.grabbedLocal)
{
PlayerAvatar instance = PlayerAvatar.instance;
if (Object.op_Implicit((Object)(object)instance.voiceChat))
{
instance.voiceChat.OverridePitch(1.2f, 0.1f, 0.1f, 0.1f, true);
}
instance.OverridePupilSize(3f, 4, 1f, 1f, 5f, 0.5f, 0.1f);
PlayerController.instance.OverrideSpeed(1.35f, 0.1f);
}
}
}
namespace JNL_Assist
{
[HarmonyPatch(typeof(PlayerController))]
internal static class ExamplePlayerControllerPatch
{
[HarmonyPrefix]
[HarmonyPatch("Start")]
private static void Start_Prefix(PlayerController __instance)
{
JNL_Assist.Logger.LogDebug((object)$"{__instance} Start Prefix");
}
[HarmonyPostfix]
[HarmonyPatch("Start")]
private static void Start_Postfix(PlayerController __instance)
{
JNL_Assist.Logger.LogDebug((object)$"{__instance} Start Postfix");
}
}
[BepInPlugin("HERO.JNL_Assist", "JNL_Assist", "1.0")]
public class JNL_Assist : BaseUnityPlugin
{
internal static JNL_Assist Instance { get; private set; }
internal static ManualLogSource Logger => Instance._logger;
private ManualLogSource _logger => ((BaseUnityPlugin)this).Logger;
internal Harmony? Harmony { get; set; }
private void Awake()
{
Instance = this;
((Component)this).gameObject.transform.parent = null;
((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
Patch();
Logger.LogInfo((object)$"{((BaseUnityPlugin)this).Info.Metadata.GUID} v{((BaseUnityPlugin)this).Info.Metadata.Version} has loaded!");
}
internal void Patch()
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Expected O, but got Unknown
//IL_0026: Expected O, but got Unknown
if (Harmony == null)
{
Harmony val = new Harmony(((BaseUnityPlugin)this).Info.Metadata.GUID);
Harmony val2 = val;
Harmony = val;
}
Harmony.PatchAll();
}
internal void Unpatch()
{
Harmony? harmony = Harmony;
if (harmony != null)
{
harmony.UnpatchSelf();
}
}
private void Update()
{
}
}
public class ShowShinyParticles_Plugin : MonoBehaviour
{
public PhysGrabObject physGrabScript;
public ParticleSystem particles;
private bool particlesPlaying;
private void Start()
{
particles = ((Component)this).GetComponentInChildren<ParticleSystem>();
physGrabScript = ((Component)this).GetComponent<PhysGrabObject>();
}
private void Update()
{
if (physGrabScript.grabbed)
{
if (!particlesPlaying)
{
particles.Play();
particlesPlaying = true;
}
}
else if (particlesPlaying)
{
particles.Stop();
particlesPlaying = false;
}
}
}
}