using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Photon.Pun;
using REPOLib.Modules;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Serialization;
[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("Lyfalda")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.2.0.0")]
[assembly: AssemblyInformationalVersion("1.2.0")]
[assembly: AssemblyProduct("TheElusiveMenu")]
[assembly: AssemblyTitle("TheElusiveMenu")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.2.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;
}
}
}
namespace TheElusiveMenu
{
internal static class ModConfig
{
public static ConfigEntry<float> configBaseFov;
public static void SetModConfig(ConfigFile cfg)
{
configBaseFov = cfg.Bind<float>("General settings", "BaseFOV", 90f, "Put your new base FOV here if you changed it through another mod");
}
}
[BepInPlugin("Lyfalda.TheElusiveMenu", "TheElusiveMenu", "1.2")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class TheElusiveMenu : BaseUnityPlugin
{
internal static TheElusiveMenu 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!");
Logger.LogInfo((object)"I HAVE AWAKENED !!!!!!! MY MASSSTTEERRRRRR !!!!! for the last time !");
List<string> list = new List<string> { "MadaShimada Burger.prefab", "August GalaxySprite.prefab" };
string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string text = Path.Combine(directoryName, "the_elusive_menu.food");
Logger.LogInfo((object)text);
AssetBundle val = AssetBundle.LoadFromFile(text);
foreach (string item in list)
{
GameObject val2 = val.LoadAsset<GameObject>(item);
Valuables.RegisterValuable(val2);
}
ModConfig.SetModConfig(((BaseUnityPlugin)this).Config);
}
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();
}
}
}
public class ValuableAugustSprite : MonoBehaviour
{
public enum States
{
Idle,
Active
}
private PhysGrabObject physGrabObject;
private PhotonView photonView;
internal States currentState;
private bool stateStart;
public Transform particleSystemTransform;
public ParticleSystem particleSystemSwirl;
public ParticleSystem particleSystemGlitter;
[FormerlySerializedAs("light")]
public Light timeGlassLight;
public Sound soundTimeGlassLoop;
private float soundPitchLerp;
private int particleFocus;
private ConfigEntry<float> configBaseFov;
private void StateActive()
{
if (stateStart)
{
particleSystemGlitter.Play();
particleSystemSwirl.Play();
stateStart = false;
((Component)timeGlassLight).gameObject.SetActive(true);
}
if (!((Component)timeGlassLight).gameObject.activeSelf)
{
((Component)timeGlassLight).gameObject.SetActive(true);
}
if (((Component)particleSystemTransform).gameObject.activeSelf)
{
List<PhysGrabber> playerGrabbing = physGrabObject.playerGrabbing;
if (playerGrabbing.Count > particleFocus)
{
PhysGrabber val = playerGrabbing[particleFocus];
if (Object.op_Implicit((Object)(object)val))
{
Transform headLookAtTransform = val.playerAvatar.playerAvatarVisuals.headLookAtTransform;
if (Object.op_Implicit((Object)(object)headLookAtTransform))
{
particleSystemTransform.LookAt(headLookAtTransform);
}
particleFocus++;
}
else
{
particleFocus = 0;
}
}
else
{
particleFocus = 0;
}
}
soundPitchLerp = Mathf.Lerp(soundPitchLerp, 1f, Time.deltaTime * 2f);
timeGlassLight.intensity = Mathf.Lerp(timeGlassLight.intensity, 4f, Time.deltaTime * 2f);
foreach (PhysGrabber item in physGrabObject.playerGrabbing)
{
if (Object.op_Implicit((Object)(object)item) && !item.isLocal)
{
item.playerAvatar.voiceChat.OverridePitch(1.4f, 1f, 2f, 0.1f, true);
}
}
if (SemiFunc.IsMasterClientOrSingleplayer())
{
physGrabObject.OverrideDrag(0f, 0.1f);
physGrabObject.OverrideAngularDrag(0f, 0.1f);
if (!physGrabObject.grabbed)
{
SetState(States.Idle);
}
}
if (physGrabObject.grabbedLocal)
{
PlayerAvatar instance = PlayerAvatar.instance;
if (Object.op_Implicit((Object)(object)instance.voiceChat))
{
instance.voiceChat.OverridePitch(1.4f, 1f, 2f, 0.1f, true);
}
instance.OverridePupilSize(3f, 4, 1f, 1f, 5f, 0.5f, 0.1f);
PlayerController.instance.OverrideSpeed(1.5f, 0.1f);
PlayerController.instance.OverrideAnimationSpeed(2f, 1f, 2f, 0.1f);
PlayerController.instance.OverrideTimeScale(4f, 0.1f);
physGrabObject.OverrideTorqueStrength(4f, 0.1f);
float num = ModConfig.configBaseFov.Value + 20f;
CameraZoom.Instance.OverrideZoomSet(num, 0.1f, 0.5f, 1f, ((Component)this).gameObject, 0);
PostProcessing.Instance.SaturationOverride(100f, 0.1f, 0.5f, 0.1f, ((Component)this).gameObject);
}
}
private void StateIdle()
{
if (stateStart)
{
particleSystemGlitter.Stop();
particleSystemSwirl.Stop();
stateStart = false;
}
if (SemiFunc.IsMasterClientOrSingleplayer() && physGrabObject.grabbed)
{
SetState(States.Active);
}
timeGlassLight.intensity = Mathf.Lerp(timeGlassLight.intensity, 0f, Time.deltaTime * 10f);
soundPitchLerp = Mathf.Lerp(soundPitchLerp, 0f, Time.deltaTime * 10f);
if (timeGlassLight.intensity < 0.01f)
{
((Component)timeGlassLight).gameObject.SetActive(false);
}
}
[PunRPC]
public void SetStateRPC(States state)
{
currentState = state;
stateStart = true;
}
private void SetState(States state)
{
if (SemiFunc.IsMasterClientOrSingleplayer())
{
if (!SemiFunc.IsMultiplayer())
{
SetStateRPC(state);
return;
}
photonView.RPC("SetStateRPC", (RpcTarget)0, new object[1] { state });
}
}
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
}
private void Update()
{
float num = Mathf.Lerp(2f, 0.5f, soundPitchLerp);
soundTimeGlassLoop.PlayLoop(currentState == States.Active, 0.8f, 0.8f, num);
switch (currentState)
{
case States.Active:
StateActive();
break;
case States.Idle:
StateIdle();
break;
}
}
}
public class ValuableLyfaldaFries : MonoBehaviour
{
public enum States
{
Idle,
Active
}
private Animator animator;
private PhysGrabObject physGrabObject;
private Rigidbody rb;
public Sound soundScreamLoop;
private PhotonView photonView;
internal States currentState;
private bool stateStart;
private bool loopPlaying;
private void StateActive()
{
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_0124: Unknown result type (might be due to invalid IL or missing references)
//IL_0125: Unknown result type (might be due to invalid IL or missing references)
//IL_0126: Unknown result type (might be due to invalid IL or missing references)
if (stateStart)
{
stateStart = false;
}
loopPlaying = true;
animator.SetBool("active", true);
((Behaviour)animator).enabled = true;
if (SemiFunc.IsMasterClientOrSingleplayer())
{
if (Random.Range(0, 100) < 7)
{
rb.AddForce(Random.insideUnitSphere * 3f, (ForceMode)1);
rb.AddTorque(Random.insideUnitSphere * 7f, (ForceMode)1);
}
Quaternion val = Quaternion.Euler(0f, 180f, 0f);
Quaternion val2 = Quaternion.Euler(0f, 0f, 0f);
Quaternion identity = Quaternion.identity;
bool flag = false;
foreach (PhysGrabber item in physGrabObject.playerGrabbing)
{
if (item.isRotating)
{
flag = true;
}
}
if (!flag)
{
physGrabObject.TurnXYZ(val, val2, identity);
}
if (!physGrabObject.grabbed)
{
SetState(States.Idle);
}
}
if (physGrabObject.grabbedLocal)
{
PhysGrabber.instance.OverridePullDistanceIncrement(-1f * Time.fixedDeltaTime);
}
}
private void StateIdle()
{
if (stateStart)
{
stateStart = false;
}
loopPlaying = false;
animator.SetBool("active", false);
if (SemiFunc.IsMasterClientOrSingleplayer() && physGrabObject.grabbed)
{
SetState(States.Active);
}
}
[PunRPC]
public void SetStateRPC(States state)
{
currentState = state;
stateStart = true;
}
private void SetState(States state)
{
if (SemiFunc.IsMasterClientOrSingleplayer())
{
if (!SemiFunc.IsMultiplayer())
{
SetStateRPC(state);
return;
}
photonView.RPC("SetStateRPC", (RpcTarget)0, new object[1] { state });
}
}
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
rb = ((Component)this).GetComponent<Rigidbody>();
animator = ((Component)this).GetComponent<Animator>();
}
private void Update()
{
soundScreamLoop.PlayLoop(loopPlaying, 5f, 5f, 1f);
}
private void FixedUpdate()
{
switch (currentState)
{
case States.Active:
StateActive();
break;
case States.Idle:
StateIdle();
break;
}
}
public void EnemyInvestigate()
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
if (!GameManager.Multiplayer() || PhotonNetwork.IsMasterClient)
{
EnemyDirector.instance.SetInvestigate(((Component)this).transform.position, 20f);
}
}
public void StopAnimator()
{
((Behaviour)animator).enabled = false;
}
public void OnHurtColliderHitEnemy()
{
physGrabObject.heavyBreakImpulse = true;
}
}
public class ValuableMadaBurger : MonoBehaviour
{
private enum State
{
Idle,
Active
}
private PhysGrabObject physGrabObject;
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 float coolDownUntilNextSentence = 3f;
private ParticleSystem particles;
private bool particlesPlaying;
private State currentState;
private string playerName = "[playerName]";
private void Start()
{
particles = ((Component)this).GetComponentInChildren<ParticleSystem>();
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
InitializeWordLists();
}
private void Update()
{
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_01fa: Unknown result type (might be due to invalid IL or missing references)
//IL_0118: Unknown result type (might be due to invalid IL or missing references)
//IL_0124: 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 = "me";
flag = true;
}
else
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAllPlayerAvatarWithinRange(10f, ((Component)PhysGrabber.instance).transform.position, false, default(LayerMask));
PlayerAvatar val = null;
float num = float.MaxValue;
PlayerAvatar val2 = SemiFunc.PlayerAvatarLocal();
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;
}
}
}
if (val2.playerName == "MadaShimada")
{
val = val2;
}
flag = true;
if ((Object)(object)val != (Object)null)
{
playerName = val.playerName;
}
else
{
playerName = "me";
}
}
if (flag)
{
string text = GenerateMarketingSentence();
currentState = State.Active;
Color val3 = default(Color);
((Color)(ref val3))..ctor(0.95f, 0.8f, 0.3f, 0.9f);
ChatManager.instance.PossessChatScheduleStart(10);
ChatManager.instance.PossessChat((PossessChatID)1, text, 1f, val3, 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(5f, 15f);
}
else if (!ChatManager.instance.StateIsPossessed())
{
currentState = State.Idle;
coolDownUntilNextSentence = Random.Range(5f, 15f);
}
}
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"
});
}
private string GenerateMarketingSentence()
{
List<string> list = new List<string> { "hey, {playerName}, look at this ! this is the MadaShimada Burger !!", "i {adverb} wanna eat this MadaShimada Burger RIGHT NOW !!", "this MadaShimada Burger is {adjective}", "i wanna {intensifier} {transitiveVerb} this MadaShimada Burger, {noun}", "PLEASE, LET ME EAT IT", "this MadaShimada Burger can {intransitiveVerb} with me", "this MadaShimada Burger makes me feel {adjective} ! For only a few grand !", "MADA ....MADA ....MADA !!!" };
string text = list[Random.Range(0, list.Count)];
if (text.Contains("{playerName}"))
{
text = ((!(playerName == "MadaShimada")) ? text.Replace("{playerName}", playerName) : "look MadaShimada, I'm {adverb} gonna eat you like right now");
}
if (text.Contains("{transitiveVerb}"))
{
string newValue = transitiveVerbs[Random.Range(0, transitiveVerbs.Count)];
text = text.Replace("{transitiveVerb}", newValue);
}
if (text.Contains("{intransitiveVerb}"))
{
string text2 = intransitiveVerbs[Random.Range(0, intransitiveVerbs.Count)];
if (text.Contains("{intransitiveVerb}s"))
{
text2 = ((!text2.EndsWith("e")) ? (text2 + "es") : (text2 + "s"));
text = text.Replace("{intransitiveVerb}s", text2);
}
else
{
text = text.Replace("{intransitiveVerb}", text2);
}
}
if (text.Contains("{adjective}"))
{
string newValue2 = adjectives[Random.Range(0, adjectives.Count)];
text = text.Replace("{adjective}", newValue2);
}
if (text.Contains("{intensifier}"))
{
string newValue3 = intensifiers[Random.Range(0, intensifiers.Count)];
text = text.Replace("{intensifier}", newValue3);
}
if (text.Contains("{adverb}"))
{
string newValue4 = adverbs[Random.Range(0, adverbs.Count)];
text = text.Replace("{adverb}", newValue4);
}
if (text.Contains("{noun}"))
{
string newValue5 = nouns[Random.Range(0, nouns.Count)];
text = text.Replace("{noun}", newValue5);
}
return char.ToUpper(text[0]) + text.Substring(1);
}
}
}