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: AssemblyCompany("Desay1")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+d2be5024990562bfe6035c7c0b5b65ab71e49f0f")]
[assembly: AssemblyProduct("DesaValuables")]
[assembly: AssemblyTitle("DesaValuables")]
[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 ElMonoTrampa : Trap
{
public UnityEvent gramophoneTimer;
[Space]
[Header("Sounds")]
public Sound GramophoneStart;
public Sound GramophoneEnd;
public Sound GramophoneMusic;
private bool StartSequence;
private bool endSequence;
private float StartSequenceProgress;
private float EndSequenceProgress;
private bool MusicStart;
public override void Start()
{
((Trap)this).Start();
}
public override void Update()
{
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
((Trap)this).Update();
if (base.trapStart)
{
TrapActivate();
}
if (!base.trapActive)
{
return;
}
base.enemyInvestigate = true;
if (StartSequenceProgress == 0f && !StartSequence)
{
StartSequence = true;
GramophoneStart.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f);
}
if (StartSequence)
{
StartSequenceProgress += Time.deltaTime;
if (StartSequenceProgress >= 0.8f)
{
StartSequence = false;
MusicStart = true;
}
}
if (MusicStart)
{
GramophoneMusic.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
MusicStart = false;
}
if (endSequence)
{
EndSequenceProgress += Time.deltaTime;
if (EndSequenceProgress >= 1f)
{
EndSequenceDone();
}
}
}
private void EndSequenceDone()
{
base.trapActive = false;
endSequence = false;
}
public void TrapStop()
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
endSequence = true;
GramophoneEnd.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f);
}
public void TrapActivate()
{
if (!base.trapTriggered)
{
gramophoneTimer.Invoke();
base.trapActive = true;
base.trapTriggered = true;
}
}
}
public class GordoPocion : MonoBehaviour
{
private enum State
{
Idle,
Active
}
private PhysGrabObject physGrabObject;
private List<string> prefijo = new List<string>();
private List<string> comidas = new List<string>();
private float coolDownUntilNextSentence = 3f;
private State currentState;
private string playerName = "[playerName]";
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
InitializeWordLists();
}
private void Update()
{
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 = "this potion";
flag = true;
}
else
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAllPlayerAvatarWithinRange(10f, ((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 = "this potion";
}
}
if (flag)
{
string text = GenerateGordoSentence();
currentState = State.Active;
Color val2 = default(Color);
((Color)(ref val2))..ctor(1f, 0.3f, 0.6f, 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(5f, 15f);
}
else if (!ChatManager.instance.StateIsPossessed())
{
currentState = State.Idle;
coolDownUntilNextSentence = Random.Range(5f, 15f);
}
}
private void InitializeWordLists()
{
prefijo.AddRange(new string[26]
{
"un acantilado", "un agujero negro", "un almacén", "una aspiradora", "un barril", "una bolsa", "una bóveda", "un camión volquete", "una cápsula", "un cementerio",
"un cajón", "un container", "un depósito", "una fosa", "una galaxia", "un genocida", "un holocausto", "una jaula", "una montaña fofa", "una nave",
"una purga", "un sepulcro", "un sicario", "un termotanque", "un vertedero", "una bola"
});
comidas.AddRange(new string[36]
{
"alfajores", "azúcares", "canelones", "carbohidratos", "choripanes", "chinchulines", "chocotortas", "chocolates", "churros", "empanadas",
"facturas", "flanes", "frituras", "grasas", "guisos", "hamburguesas", "harinas", "helados", "jamones", "locro",
"manteca", "mantecol", "mayonesa", "medialunas", "milanesas", "mondongo", "morcillas", "pastas", "pastafrolas", "piononos",
"pizzas", "quesos", "ravioles", "salchichas", "sánguches", "tortafritas"
});
}
private string GenerateGordoSentence()
{
if (playerName == "this potion")
{
return "Soy " + prefijo[Random.Range(0, prefijo.Count)] + " de " + comidas[Random.Range(0, comidas.Count)];
}
return playerName + " es " + prefijo[Random.Range(0, prefijo.Count)] + " de " + comidas[Random.Range(0, comidas.Count)];
}
}
public class ValuableCacharro : Trap
{
public enum State
{
Inactive,
Idle,
MoveForward
}
[Header("Animation")]
public Transform carBody;
public Transform wheelsFront;
public Transform wheelsBack;
public AnimationCurve carBodyCurve;
private float carBodyLerp;
private float wheelsLerp;
[Header("Sounds")]
public Sound sfxCarHorn;
public Sound sfxCarStart;
public Sound sfxCarStop;
public Sound sfxCarLoop;
private bool grabbedPrev;
private bool loopPlaying;
private bool loopPlayingPrevious;
private float loopPitch;
[Header("Colliders")]
public List<Collider> carColliders;
public PhysicMaterial defaultPhysicMaterial;
public PhysicMaterial movingPhysicMaterial;
public Transform centerTransform;
private PhysGrabObjectImpactDetector impactDetector;
private Vector3 boxSize = new Vector3(0.16f, 0.1f, 0.42f);
private State currentState;
private bool stateImpulse;
private float stateTimer;
private float playerNearTimer;
private ParticleScriptExplosion particleScriptExplosion;
private int HitCount;
private int MaxHitCount = 4;
public Transform Center;
public override void Start()
{
((Trap)this).Start();
impactDetector = ((Component)this).GetComponent<PhysGrabObjectImpactDetector>();
currentState = State.Inactive;
particleScriptExplosion = ((Component)this).GetComponent<ParticleScriptExplosion>();
}
public override void Update()
{
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_0154: Unknown result type (might be due to invalid IL or missing references)
//IL_0159: Unknown result type (might be due to invalid IL or missing references)
//IL_016a: Unknown result type (might be due to invalid IL or missing references)
//IL_016f: Unknown result type (might be due to invalid IL or missing references)
//IL_0171: Unknown result type (might be due to invalid IL or missing references)
//IL_0176: Unknown result type (might be due to invalid IL or missing references)
//IL_017e: Unknown result type (might be due to invalid IL or missing references)
//IL_0180: Unknown result type (might be due to invalid IL or missing references)
//IL_0182: Unknown result type (might be due to invalid IL or missing references)
//IL_032e: Unknown result type (might be due to invalid IL or missing references)
//IL_033f: Unknown result type (might be due to invalid IL or missing references)
//IL_0349: Unknown result type (might be due to invalid IL or missing references)
//IL_0360: Unknown result type (might be due to invalid IL or missing references)
//IL_0365: Unknown result type (might be due to invalid IL or missing references)
//IL_0369: Unknown result type (might be due to invalid IL or missing references)
//IL_0379: Unknown result type (might be due to invalid IL or missing references)
//IL_037e: Unknown result type (might be due to invalid IL or missing references)
//IL_0382: Unknown result type (might be due to invalid IL or missing references)
//IL_0392: Unknown result type (might be due to invalid IL or missing references)
//IL_0397: Unknown result type (might be due to invalid IL or missing references)
//IL_039b: Unknown result type (might be due to invalid IL or missing references)
//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
//IL_03c5: Unknown result type (might be due to invalid IL or missing references)
//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
//IL_03da: Unknown result type (might be due to invalid IL or missing references)
//IL_03de: Unknown result type (might be due to invalid IL or missing references)
//IL_03ee: Unknown result type (might be due to invalid IL or missing references)
//IL_03f3: Unknown result type (might be due to invalid IL or missing references)
//IL_03f7: Unknown result type (might be due to invalid IL or missing references)
//IL_0401: Unknown result type (might be due to invalid IL or missing references)
//IL_023c: Unknown result type (might be due to invalid IL or missing references)
//IL_0250: Unknown result type (might be due to invalid IL or missing references)
//IL_025a: Unknown result type (might be due to invalid IL or missing references)
//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
//IL_0300: Unknown result type (might be due to invalid IL or missing references)
//IL_047a: Unknown result type (might be due to invalid IL or missing references)
//IL_0480: Unknown result type (might be due to invalid IL or missing references)
//IL_048a: Unknown result type (might be due to invalid IL or missing references)
//IL_0495: Unknown result type (might be due to invalid IL or missing references)
//IL_049a: Unknown result type (might be due to invalid IL or missing references)
((Trap)this).Update();
loopPlaying = currentState == State.MoveForward;
float num = loopPitch;
Vector3 velocity = base.physGrabObject.rb.velocity;
loopPitch = Mathf.Lerp(num, 1f + ((Vector3)(ref velocity)).magnitude * 1f, Time.deltaTime * 5f);
sfxCarLoop.PlayLoop(loopPlaying, 0.8f, 0.8f, loopPitch);
if (loopPlaying != loopPlayingPrevious)
{
if (loopPlaying)
{
sfxCarStart.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
}
else
{
sfxCarStop.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
}
loopPlayingPrevious = loopPlaying;
}
if (base.physGrabObject.grabbed)
{
if (!grabbedPrev)
{
grabbedPrev = true;
if (SemiFunc.IsMasterClientOrSingleplayer())
{
PlayHonk();
Quaternion val = Quaternion.Euler(-45f, 0f, 0f);
Quaternion val2 = Quaternion.Euler(0f, 0f, 0f);
Quaternion identity = Quaternion.identity;
base.physGrabObject.TurnXYZ(val, val2, identity);
}
if (base.physGrabObject.grabbedLocal)
{
}
}
}
else
{
grabbedPrev = false;
}
float num2 = 0.102f;
if (currentState == State.MoveForward)
{
if (carBodyLerp < 1f)
{
carBodyLerp += Time.deltaTime * 4f;
}
if (carBodyLerp >= 1f)
{
carBodyLerp = 0f;
}
float num3 = carBodyCurve.Evaluate(carBodyLerp) * 0.015f;
carBody.localPosition = new Vector3(carBody.localPosition.x, num3 + num2, carBody.localPosition.z);
if (wheelsLerp < 1f)
{
wheelsLerp += Time.deltaTime * 4f;
}
if (wheelsLerp >= 1f)
{
wheelsLerp = 0f;
}
float num4 = 720f;
wheelsFront.Rotate(new Vector3(num4, 0f, 0f) * Time.deltaTime, (Space)1);
wheelsBack.Rotate(new Vector3(num4, 0f, 0f) * Time.deltaTime, (Space)1);
}
else if (stateImpulse)
{
carBody.localPosition = new Vector3(carBody.localPosition.x, num2, carBody.localPosition.z);
Transform obj = wheelsFront;
Quaternion localRotation = wheelsFront.localRotation;
float x = ((Quaternion)(ref localRotation)).eulerAngles.x;
localRotation = wheelsFront.localRotation;
float y = ((Quaternion)(ref localRotation)).eulerAngles.y;
localRotation = wheelsFront.localRotation;
obj.localRotation = Quaternion.Euler(x, y, ((Quaternion)(ref localRotation)).eulerAngles.z);
Transform obj2 = wheelsBack;
localRotation = wheelsBack.localRotation;
float x2 = ((Quaternion)(ref localRotation)).eulerAngles.x;
localRotation = wheelsBack.localRotation;
float y2 = ((Quaternion)(ref localRotation)).eulerAngles.y;
localRotation = wheelsBack.localRotation;
obj2.localRotation = Quaternion.Euler(x2, y2, ((Quaternion)(ref localRotation)).eulerAngles.y);
}
StateMachine(_fixedUpdate: false);
if (!SemiFunc.FPSImpulse5() || !SemiFunc.IsMasterClientOrSingleplayer() || currentState == State.Inactive)
{
return;
}
if (impactDetector.inCart || base.physGrabObject.playerGrabbing.Count > 0)
{
UpdateState(State.Idle);
return;
}
bool flag = false;
Collider[] array = Physics.OverlapBox(centerTransform.position, boxSize / 2f, ((Component)this).transform.rotation, LayerMask.op_Implicit(SemiFunc.LayerMaskGetVisionObstruct()));
for (int i = 0; i < array.Length; i++)
{
if (!Object.op_Implicit((Object)(object)((Component)array[i]).GetComponentInParent<ValuableCar>()))
{
flag = true;
if (currentState != State.MoveForward && currentState != 0)
{
UpdateState(State.MoveForward);
}
break;
}
}
if (!flag)
{
UpdateState(State.Idle);
}
}
public void FixedUpdate()
{
StateMachine(_fixedUpdate: true);
}
private void StateInactive(bool _fixedUpdate)
{
if (!_fixedUpdate && base.physGrabObject.grabbed)
{
UpdateState(State.Idle);
}
}
private void StateIdle(bool _fixedUpdate)
{
if (_fixedUpdate || !stateImpulse)
{
return;
}
foreach (Collider carCollider in carColliders)
{
if (!((Object)(object)carCollider == (Object)null))
{
carCollider.material = defaultPhysicMaterial;
}
}
stateImpulse = false;
}
private void StateMoveForward(bool _fixedUpdate)
{
//IL_0107: Unknown result type (might be due to invalid IL or missing references)
//IL_010d: Unknown result type (might be due to invalid IL or missing references)
//IL_0117: Unknown result type (might be due to invalid IL or missing references)
//IL_0155: Unknown result type (might be due to invalid IL or missing references)
//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
if (!_fixedUpdate)
{
return;
}
if (stateImpulse)
{
stateTimer = 2f;
foreach (Collider carCollider in carColliders)
{
if (!((Object)(object)carCollider == (Object)null))
{
carCollider.material = movingPhysicMaterial;
}
}
stateImpulse = false;
}
stateTimer -= Time.fixedDeltaTime;
if (stateTimer <= 0f)
{
stateTimer = 1f;
if (Random.Range(0f, 1f) > 0.5f)
{
TurnCar();
}
}
float num = 4f - ((Vector3)(ref base.physGrabObject.rbVelocity)).magnitude;
base.physGrabObject.rb.AddForce(((Component)this).transform.forward * num * Time.fixedDeltaTime, (ForceMode)1);
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, Mathf.Sin(Time.time * 10f) * 0.006f, 0f);
base.physGrabObject.rb.AddTorque(val, (ForceMode)1);
if (playerNearTimer >= 0f)
{
playerNearTimer -= Time.deltaTime;
return;
}
playerNearTimer = 1f;
bool flag = false;
foreach (PlayerAvatar item in SemiFunc.PlayerGetList())
{
if (Vector3.Distance(((Component)item).transform.position, ((Component)this).transform.position) < 25f)
{
flag = true;
break;
}
}
if (!flag)
{
UpdateState(State.Inactive);
}
}
private void UpdateState(State _state)
{
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
if (_state != currentState)
{
currentState = _state;
stateImpulse = true;
if (SemiFunc.IsMultiplayer())
{
base.photonView.RPC("UpdateStateRPC", (RpcTarget)0, new object[1] { currentState });
}
else
{
UpdateStateRPC(currentState);
}
}
}
[PunRPC]
private void UpdateStateRPC(State _state, PhotonMessageInfo _info = default(PhotonMessageInfo))
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
if (SemiFunc.MasterOnlyRPC(_info))
{
currentState = _state;
}
}
private void PlayHonk()
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
EnemyDirector.instance.SetInvestigate(((Component)this).transform.position, 15f, false);
if (SemiFunc.IsMultiplayer())
{
base.photonView.RPC("PlayHonkRPC", (RpcTarget)0, Array.Empty<object>());
}
else
{
PlayHonkRPC();
}
}
[PunRPC]
private void PlayHonkRPC(PhotonMessageInfo _info = default(PhotonMessageInfo))
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
if (SemiFunc.MasterOnlyRPC(_info))
{
sfxCarHorn.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
}
}
private void StateMachine(bool _fixedUpdate)
{
if (SemiFunc.IsMasterClientOrSingleplayer())
{
switch (currentState)
{
case State.Inactive:
StateInactive(_fixedUpdate);
break;
case State.Idle:
StateIdle(_fixedUpdate);
break;
case State.MoveForward:
StateMoveForward(_fixedUpdate);
break;
}
}
}
private void TurnCar()
{
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, Random.Range(-1f, 1f) * 0.1f, 0f);
base.physGrabObject.rb.AddTorque(val, (ForceMode)1);
PlayHonk();
}
public void Explode()
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
particleScriptExplosion.Spawn(Center.position, 0.6f, 20, 100, 1f, false, false, 1f);
}
public void PotentialExplode()
{
if (base.isLocal)
{
if (HitCount >= MaxHitCount - 1)
{
Explode();
}
else
{
HitCount++;
}
}
}
}
namespace DesaValuables
{
public class BossCall : MonoBehaviour
{
private enum State
{
Idle,
Active
}
private PhysGrabObject physGrabObject;
private float coolDownUntilNextSentence = 3f;
private State currentState;
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
}
private void Update()
{
switch (currentState)
{
case State.Idle:
StateIdle();
break;
case State.Active:
StateActive();
break;
}
float num = Mathf.Sin(Time.time * 15f) * 25f;
foreach (PhysGrabber item in physGrabObject.playerGrabbing)
{
if (item.isLocal)
{
if (item.playerAvatar.playerName == "Chapita")
{
item.playerAvatar.playerExpression.OverrideExpressionSet(1, 100f);
PlayerExpressionsUI.instance.playerExpression.OverrideExpressionSet(1, 100f);
}
else
{
item.playerAvatar.playerExpression.OverrideExpressionSet(6, 100f);
PlayerExpressionsUI.instance.playerExpression.OverrideExpressionSet(6, 100f);
PlayerExpressionsUI.instance.playerAvatarVisuals.HeadTiltOverride(num * 0.2f);
}
}
else if (item.playerAvatar.playerName != "Chapita")
{
item.playerAvatar.playerAvatarVisuals.HeadTiltOverride(num);
}
}
}
private void StateIdle()
{
//IL_0163: Unknown result type (might be due to invalid IL or missing references)
//IL_0101: Unknown result type (might be due to invalid IL or missing references)
if (coolDownUntilNextSentence > 0f && physGrabObject.grabbed)
{
coolDownUntilNextSentence -= Time.deltaTime;
}
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;
}
Color val = default(Color);
Color val2 = default(Color);
foreach (PhysGrabber item in physGrabObject.playerGrabbing)
{
if (item.playerAvatar.playerName == "Chapita")
{
string text = "TODOS POOTOS";
currentState = State.Active;
((Color)(ref val))..ctor(1f, 0f, 0f, 1f);
ChatManager.instance.PossessChatScheduleStart(10);
ChatManager.instance.PossessChat((PossessChatID)3, text, 1f, val, 0f, false, 0, (UnityEvent)null);
ChatManager.instance.PossessChatScheduleEnd();
}
else
{
string text2 = "SOY EL BOSS";
currentState = State.Active;
((Color)(ref val2))..ctor(0f, 1f, 0f, 1f);
ChatManager.instance.PossessChatScheduleStart(10);
ChatManager.instance.PossessChat((PossessChatID)1, text2, 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(5f, 15f);
}
else if (!ChatManager.instance.StateIsPossessed())
{
currentState = State.Idle;
coolDownUntilNextSentence = Random.Range(5f, 15f);
}
}
}
[BepInPlugin("Desay1.DesaValuables", "DesaValuables", "1.0")]
public class DesaValuables : BaseUnityPlugin
{
internal static DesaValuables 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()
{
}
}
[HarmonyPatch(typeof(PlayerController))]
internal static class ExamplePlayerControllerPatch
{
[HarmonyPrefix]
[HarmonyPatch("Start")]
private static void Start_Prefix(PlayerController __instance)
{
DesaValuables.Logger.LogDebug((object)$"{__instance} Start Prefix");
}
[HarmonyPostfix]
[HarmonyPatch("Start")]
private static void Start_Postfix(PlayerController __instance)
{
DesaValuables.Logger.LogDebug((object)$"{__instance} Start Postfix");
}
}
public class PlayGrabSound : MonoBehaviour
{
public Sound grabSound;
private PhotonView photonView;
private PhysGrabObject physGrabObject;
private bool grabbedPrev;
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
}
protected void Update()
{
if (physGrabObject.grabbed)
{
if (!grabbedPrev)
{
grabbedPrev = true;
if (SemiFunc.IsMasterClientOrSingleplayer())
{
PlaySound();
}
}
}
else
{
grabbedPrev = false;
}
}
private void PlaySound()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
if (SemiFunc.IsMultiplayer())
{
photonView.RPC("PlayHonkRPC", (RpcTarget)0, Array.Empty<object>());
}
else
{
PlayHonkRPC();
}
}
[PunRPC]
private void PlayHonkRPC(PhotonMessageInfo _info = default(PhotonMessageInfo))
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
if (!SemiFunc.IsMultiplayer() || _info.Sender == PhotonNetwork.MasterClient)
{
grabSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
}
}
}
public class PlayGrabSound2 : MonoBehaviour
{
public Sound grabSound;
public Sound releaseSound;
private PhotonView photonView;
private PhysGrabObject physGrabObject;
private bool grabbedPrev;
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
}
protected void Update()
{
if (physGrabObject.grabbed)
{
if (!grabbedPrev)
{
grabbedPrev = true;
if (SemiFunc.IsMasterClientOrSingleplayer())
{
PlayGrabSound();
}
}
}
else if (grabbedPrev)
{
grabbedPrev = false;
if (SemiFunc.IsMasterClientOrSingleplayer())
{
PlayReleaseSound();
}
}
}
private void PlayGrabSound()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
if (SemiFunc.IsMultiplayer())
{
photonView.RPC("PlayGrabRPC", (RpcTarget)0, Array.Empty<object>());
}
else
{
PlayGrabRPC();
}
}
private void PlayReleaseSound()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
if (SemiFunc.IsMultiplayer())
{
photonView.RPC("PlayReleaseRPC", (RpcTarget)0, Array.Empty<object>());
}
else
{
PlayReleaseRPC();
}
}
[PunRPC]
private void PlayGrabRPC(PhotonMessageInfo _info = default(PhotonMessageInfo))
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
if (!SemiFunc.IsMultiplayer() || _info.Sender == PhotonNetwork.MasterClient)
{
grabSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
}
}
[PunRPC]
private void PlayReleaseRPC(PhotonMessageInfo _info = default(PhotonMessageInfo))
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
if (!SemiFunc.IsMultiplayer() || _info.Sender == PhotonNetwork.MasterClient)
{
releaseSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
}
}
}
public class PlayReleaseSound : MonoBehaviour
{
public Sound releaseSound;
private PhotonView photonView;
private PhysGrabObject physGrabObject;
private bool grabbedPrev;
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
}
protected void Update()
{
if (physGrabObject.grabbed)
{
grabbedPrev = true;
}
else if (grabbedPrev)
{
grabbedPrev = false;
if (SemiFunc.IsMasterClientOrSingleplayer())
{
PlaySound();
}
}
}
private void PlaySound()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
if (SemiFunc.IsMultiplayer())
{
photonView.RPC("PlayHonkRPC", (RpcTarget)0, Array.Empty<object>());
}
else
{
PlayHonkRPC();
}
}
[PunRPC]
private void PlayHonkRPC(PhotonMessageInfo _info = default(PhotonMessageInfo))
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
if (!SemiFunc.IsMultiplayer() || _info.Sender == PhotonNetwork.MasterClient)
{
releaseSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f);
}
}
}
public class VozProfunda : MonoBehaviour
{
private PhotonView photonView;
private PhysGrabObject physGrabObject;
private void Start()
{
physGrabObject = ((Component)this).GetComponent<PhysGrabObject>();
photonView = ((Component)this).GetComponent<PhotonView>();
}
protected void Update()
{
foreach (PhysGrabber item in physGrabObject.playerGrabbing)
{
if (Object.op_Implicit((Object)(object)item) && !item.isLocal)
{
item.playerAvatar.voiceChat.OverridePitch(0.65f, 1f, 2f, 0.1f, 0f, 0f);
}
}
}
}
}