using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using EmotesAPI;
using GameNetcodeStuff;
using LethalConfig;
using LethalConfig.ConfigItems;
using LethalEmotesAPI.ImportV2;
using Microsoft.CodeAnalysis;
using MonoMod.RuntimeDetour;
using TitanFall2Emotes;
using TitanFall2Emotes.IMissWwise;
using TitanFall2Emotes.NetcodePatcher;
using Unity.Netcode;
using UnityEngine;
[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("TitanFall2Emotes")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+646221ea38acf31d370ebdd5a09e2711de69a399")]
[assembly: AssemblyProduct("TitanFall2Emotes")]
[assembly: AssemblyTitle("TitanFall2Emotes")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: NetcodePatchedAssembly]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[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;
}
}
}
internal static class Assets
{
internal static readonly List<AssetBundle> AssetBundles = new List<AssetBundle>();
private static readonly Dictionary<string, int> AssetIndices = new Dictionary<string, int>();
internal static void LoadAssetBundlesFromFolder(string folderName)
{
folderName = Path.Combine(Path.GetDirectoryName(TF2Plugin.PInfo.Location), folderName);
string[] files = Directory.GetFiles(folderName);
foreach (string text in files)
{
AssetBundle val = AssetBundle.LoadFromFile(text);
int count = AssetBundles.Count;
AssetBundles.Add(val);
string[] allAssetNames = val.GetAllAssetNames();
foreach (string text2 in allAssetNames)
{
string text3 = text2.ToLowerInvariant();
if (text3.StartsWith("assets/"))
{
text3 = text3.Remove(0, "assets/".Length);
}
AssetIndices[text3] = count;
}
DebugClass.Log((object)("Loaded AssetBundle: " + Path.GetFileName(text)));
}
}
internal static T Load<T>(string assetName) where T : Object
{
try
{
assetName = assetName.ToLowerInvariant();
if (assetName.Contains(":"))
{
string[] array = assetName.Split(':');
assetName = array[1].ToLowerInvariant();
}
if (assetName.StartsWith("assets/"))
{
assetName = assetName.Remove(0, "assets/".Length);
}
int index = AssetIndices[assetName];
return AssetBundles[index].LoadAsset<T>("assets/" + assetName);
}
catch (Exception arg)
{
DebugClass.Log((object)$"Couldn't load asset [{assetName}] reason: {arg}");
return default(T);
}
}
}
namespace TitanFall2Emotes
{
internal class ChairHandler : MonoBehaviour
{
internal GameObject chair;
private bool check = true;
internal Vector3 pos;
internal Vector3 rot;
internal Vector3 scal;
private bool check2 = false;
private bool check3 = false;
internal BoneMapper mapper;
private float timer = 0f;
private int whenToEmote = 0;
private void Start()
{
whenToEmote = Random.Range(15, 25);
}
private void Update()
{
//IL_0233: Unknown result type (might be due to invalid IL or missing references)
//IL_024a: Unknown result type (might be due to invalid IL or missing references)
//IL_0261: Unknown result type (might be due to invalid IL or missing references)
//IL_026e: Unknown result type (might be due to invalid IL or missing references)
//IL_0278: Unknown result type (might be due to invalid IL or missing references)
//IL_027d: Unknown result type (might be due to invalid IL or missing references)
//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
//IL_02e2: Unknown result type (might be due to invalid IL or missing references)
//IL_02f2: Unknown result type (might be due to invalid IL or missing references)
//IL_0323: Unknown result type (might be due to invalid IL or missing references)
//IL_0329: Unknown result type (might be due to invalid IL or missing references)
//IL_0339: Unknown result type (might be due to invalid IL or missing references)
if (check)
{
timer += Time.deltaTime;
}
if (timer > (float)whenToEmote)
{
timer = 0f;
whenToEmote = Random.Range(15, 25);
switch (Random.Range(0, 3))
{
case 0:
mapper.preserveParent = true;
mapper.preserveProps = true;
mapper.PlayAnim("com.weliveinasociety.teamfortress2emotes__engiRanchoBurp", 0);
AudioContainerHolder.instance.PlayAudio(mapper.personalAudioSource, TF2Plugin.Instance._play_ranchoburp, mapper);
break;
case 1:
mapper.preserveParent = true;
mapper.preserveProps = true;
mapper.PlayAnim("com.weliveinasociety.teamfortress2emotes__engiRanchoBigDrink", 0);
AudioContainerHolder.instance.PlayAudio(mapper.personalAudioSource, TF2Plugin.Instance._play_rancholong, mapper);
((Component)this).GetComponentInChildren<Animator>().SetBool("BigDrink", true);
break;
case 2:
mapper.preserveParent = true;
mapper.preserveProps = true;
mapper.PlayAnim("com.weliveinasociety.teamfortress2emotes__engiRanchoQuickDrink", 0);
AudioContainerHolder.instance.PlayAudio(mapper.personalAudioSource, TF2Plugin.Instance._play_ranchoquick, mapper);
((Component)this).GetComponentInChildren<Animator>().SetBool("SmallDrink", true);
break;
}
}
else if (timer > 3f)
{
((Component)this).GetComponentInChildren<Animator>().SetBool("BigDrink", false);
((Component)this).GetComponentInChildren<Animator>().SetBool("SmallDrink", false);
}
if (check && !Object.op_Implicit((Object)(object)chair))
{
check = false;
((MonoBehaviour)this).StartCoroutine(spinThenDestroy());
((Component)this).GetComponentInChildren<Animator>().SetBool("Breaking", true);
((Component)this).gameObject.transform.SetParent((Transform)null);
((Component)this).gameObject.transform.position = pos;
((Component)this).gameObject.transform.localEulerAngles = rot;
((Component)this).gameObject.transform.localScale = scal;
scal *= 1.333f;
TF2Plugin.Instance.StopAudioContainerStuff(mapper);
AudioContainerHolder.instance.PlayAudio(mapper.personalAudioSource, TF2Plugin.Instance._play_ranchoclose, mapper);
}
if (check3)
{
((Component)this).gameObject.transform.localScale = Vector3.Slerp(((Component)this).gameObject.transform.localScale, Vector3.zero, Time.deltaTime * 5f);
}
else if (check2)
{
((Component)this).gameObject.transform.localScale = Vector3.Slerp(((Component)this).gameObject.transform.localScale, scal, Time.deltaTime * 30f);
}
}
private IEnumerator spinThenDestroy()
{
yield return (object)new WaitForSeconds(3.5f);
check2 = true;
yield return (object)new WaitForSeconds(0.15f);
check3 = true;
yield return (object)new WaitForSeconds(1f);
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
internal class Conga : MonoBehaviour
{
public string akSound;
public static void StartConga(BoneMapper joinerMapper, int spot)
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
joinerMapper.PlayAnim(TF2Plugin.Conga_Emotes[spot], 0);
GameObject val = new GameObject();
val.transform.parent = ((Component)joinerMapper).gameObject.transform;
val.transform.localPosition = Vector3.zero;
string text = "";
switch (spot)
{
case 0:
text = "Conga_Demo";
break;
case 1:
text = "Conga_Engi";
break;
case 2:
text = "Conga_Heavy";
break;
case 3:
text = "Conga_Medic";
break;
case 4:
text = "Conga_Pyro";
break;
case 5:
text = "Conga_Scout";
break;
case 6:
text = "Conga_Sniper";
break;
case 7:
text = "Conga_Soldier";
break;
case 8:
text = "Conga_Spy";
break;
}
val.AddComponent<Conga>().akSound = text;
joinerMapper.props.Add(val);
joinerMapper.SetAutoWalk(0.2f, false);
}
}
internal class Flip : MonoBehaviour
{
public int charType;
public static void FlipWait(BoneMapper joinerMapper, int spot)
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Expected O, but got Unknown
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Expected O, but got Unknown
//IL_0067: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
joinerMapper.PlayAnim(TF2Plugin.Flip_Wait_Emotes[spot], 0);
joinerMapper.props.Add(new GameObject());
joinerMapper.props[0].AddComponent<Flip>().charType = spot;
GameObject val = new GameObject();
((Object)val).name = "Flip_WaitProp";
joinerMapper.props.Add(val);
val.transform.localPosition = ((Component)joinerMapper).transform.position;
val.transform.localEulerAngles = ((Component)joinerMapper).transform.eulerAngles;
val.transform.localScale = Vector3.one;
val.transform.SetParent(joinerMapper.mapperBodyTransform.parent);
joinerMapper.AssignParentGameObject(val, false, false, true, true, false);
}
public static void Flip_Flip(BoneMapper joinerMapper, int spot, BoneMapper hostJoinerMapper)
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Expected O, but got Unknown
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
joinerMapper.PlayAnim(TF2Plugin.Flip_Flip_Emotes[spot], 0);
GameObject val = new GameObject();
((Object)val).name = "Flip_FlipProp";
joinerMapper.props.Add(val);
val.transform.SetParent(((Component)hostJoinerMapper).transform);
Vector3 lossyScale = ((Component)hostJoinerMapper).transform.lossyScale;
val.transform.localPosition = new Vector3(0f, 0f, 1.95f / lossyScale.z);
val.transform.localEulerAngles = new Vector3(0f, 180f, 0f);
val.transform.SetParent(joinerMapper.mapperBodyTransform.parent);
joinerMapper.AssignParentGameObject(val, true, true, true, true, true);
}
public static void Flip_Throw(BoneMapper joinerMapper, int spot, BoneMapper hostJoinerMapper)
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Expected O, but got Unknown
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0067: Unknown result type (might be due to invalid IL or missing references)
joinerMapper.PlayAnim(TF2Plugin.Flip_Throw_Emotes[spot], 0);
GameObject val = new GameObject();
((Object)val).name = "Flip_ThrowProp";
joinerMapper.props.Add(val);
val.transform.localPosition = ((Component)joinerMapper).transform.position;
val.transform.localEulerAngles = ((Component)joinerMapper).transform.eulerAngles;
val.transform.localScale = Vector3.one;
val.transform.SetParent(joinerMapper.mapperBodyTransform.parent);
joinerMapper.AssignParentGameObject(val, true, true, true, true, false);
}
public static void Flip_Join(BoneMapper joinerMapper, int spot, BoneMapper hostJoinerMapper)
{
int spot2 = hostJoinerMapper.props[0].GetComponent<Flip>().charType;
TF2Networker.instance.SyncEmoteToClientRpc(hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "Flip_Throw", spot2, hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
TF2Networker.instance.SyncEmoteToClientRpc(joinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "Flip_Flip", spot, hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
}
}
internal class Kazotsky : MonoBehaviour
{
public static void StartKazotsky(BoneMapper joinerMapper, int spot)
{
joinerMapper.PlayAnim(TF2Plugin.KazotskyKick_Emotes[spot], 0);
joinerMapper.SetAutoWalk(0.2f, true);
}
}
internal class Laugh : MonoBehaviour
{
public static void PlayLaugh(BoneMapper joinerMapper, int spot)
{
joinerMapper.PlayAnim(TF2Plugin.Laugh_Emotes[spot], 0);
}
}
internal static class LethalConfig
{
internal static void SetupLethalConfig()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Expected O, but got Unknown
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Expected O, but got Unknown
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Expected O, but got Unknown
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Expected O, but got Unknown
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Expected O, but got Unknown
//IL_0079: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Expected O, but got Unknown
//IL_008a: Unknown result type (might be due to invalid IL or missing references)
//IL_0094: Expected O, but got Unknown
//IL_009b: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: Expected O, but got Unknown
//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
//IL_00b6: Expected O, but got Unknown
Sprite modIcon = Assets.Load<Sprite>("lethalconfigicon.png");
LethalConfigManager.SetModIcon(modIcon);
LethalConfigManager.SetModDescription("Are those Latin rhythms? I love Latin rhythms!");
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.scout, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.soldier, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.pyro, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.demo, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.heavy, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.engi, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.medic, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.sniper, false));
LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(Settings.spy, false));
}
}
public class TF2Networker : NetworkBehaviour
{
public static TF2Networker instance;
private void Awake()
{
((Object)this).name = "TF2_Networker";
instance = this;
}
[ClientRpc]
public void SyncEmoteToClientRpc(ulong netId, string name, int spot, ulong secondaryNetId)
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
//IL_00fb: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0071: Unknown result type (might be due to invalid IL or missing references)
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_009b: 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)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager == null || !networkManager.IsListening)
{
return;
}
if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost))
{
ClientRpcParams val = default(ClientRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3673785931u, val, (RpcDelivery)0);
BytePacker.WriteValueBitPacked(val2, netId);
bool flag = name != null;
((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives));
if (flag)
{
((FastBufferWriter)(ref val2)).WriteValueSafe(name, false);
}
BytePacker.WriteValueBitPacked(val2, spot);
BytePacker.WriteValueBitPacked(val2, secondaryNetId);
((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3673785931u, val, (RpcDelivery)0);
}
if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
{
base.__rpc_exec_stage = (__RpcExecStage)0;
GameObject gameObject = ((Component)((NetworkBehaviour)this).GetNetworkObject(netId)).gameObject;
BoneMapper componentInChildren = gameObject.GetComponentInChildren<BoneMapper>();
GameObject gameObject2 = ((Component)((NetworkBehaviour)this).GetNetworkObject(secondaryNetId)).gameObject;
BoneMapper componentInChildren2 = gameObject2.GetComponentInChildren<BoneMapper>();
bool joinerIsEnemy = gameObject.GetComponents<EnemyAI>().Length == 1;
bool hostAndJoinerAreDifferentTeams = (gameObject.GetComponents<EnemyAI>().Length == 1 && gameObject2.GetComponents<PlayerControllerB>().Length == 1) || (gameObject.GetComponents<PlayerControllerB>().Length == 1 && gameObject2.GetComponents<EnemyAI>().Length == 1);
switch (name)
{
case "RPS_Start":
RockPaperScissors.RPSStart(componentInChildren, spot);
break;
case "RPS_Win":
RockPaperScissors.RPSWin(componentInChildren, spot, componentInChildren2, joinerIsEnemy);
break;
case "RPS_Loss":
RockPaperScissors.RPSLose(componentInChildren, spot, componentInChildren2, joinerIsEnemy, hostAndJoinerAreDifferentTeams);
break;
case "Flip_Wait":
Flip.FlipWait(componentInChildren, spot);
break;
case "Flip_Throw":
Flip.Flip_Throw(componentInChildren, spot, componentInChildren2);
break;
case "Flip_Flip":
Flip.Flip_Flip(componentInChildren, spot, componentInChildren2);
break;
case "Conga_Start":
Conga.StartConga(componentInChildren, spot);
break;
case "Kazotsky_Start":
Kazotsky.StartKazotsky(componentInChildren, spot);
break;
case "Laugh_Start":
Laugh.PlayLaugh(componentInChildren, spot);
break;
}
}
}
[ServerRpc(RequireOwnership = false)]
public void SyncEmoteToServerRpc(ulong netId, string name, int spot, ulong secondaryNetId)
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
//IL_00fb: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0071: Unknown result type (might be due to invalid IL or missing references)
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_009b: 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)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager == null || !networkManager.IsListening)
{
return;
}
if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
{
ServerRpcParams val = default(ServerRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3453768715u, val, (RpcDelivery)0);
BytePacker.WriteValueBitPacked(val2, netId);
bool flag = name != null;
((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives));
if (flag)
{
((FastBufferWriter)(ref val2)).WriteValueSafe(name, false);
}
BytePacker.WriteValueBitPacked(val2, spot);
BytePacker.WriteValueBitPacked(val2, secondaryNetId);
((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3453768715u, val, (RpcDelivery)0);
}
if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsServer && !networkManager.IsHost))
{
return;
}
base.__rpc_exec_stage = (__RpcExecStage)0;
GameObject gameObject = ((Component)((NetworkBehaviour)this).GetNetworkObject(netId)).gameObject;
BoneMapper componentInChildren = gameObject.GetComponentInChildren<BoneMapper>();
GameObject gameObject2 = ((Component)((NetworkBehaviour)this).GetNetworkObject(secondaryNetId)).gameObject;
BoneMapper componentInChildren2 = gameObject2.GetComponentInChildren<BoneMapper>();
bool flag2 = gameObject.GetComponents<PlayerControllerB>().Length == 1;
bool flag3 = gameObject2.GetComponents<PlayerControllerB>().Length == 1;
if (!(name == "RPS_Join"))
{
if (name == "Flip_Join")
{
Flip.Flip_Join(componentInChildren, spot, componentInChildren2);
}
else
{
SyncEmoteToClientRpc(netId, name, spot, secondaryNetId);
}
}
else
{
RockPaperScissors.RPSJoin(componentInChildren, spot, componentInChildren2);
}
}
protected override void __initializeVariables()
{
((NetworkBehaviour)this).__initializeVariables();
}
protected override void __initializeRpcs()
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Expected O, but got Unknown
((NetworkBehaviour)this).__registerRpc(3673785931u, new RpcReceiveHandler(__rpc_handler_3673785931), "SyncEmoteToClientRpc");
((NetworkBehaviour)this).__registerRpc(3453768715u, new RpcReceiveHandler(__rpc_handler_3453768715), "SyncEmoteToServerRpc");
((NetworkBehaviour)this).__initializeRpcs();
}
private static void __rpc_handler_3673785931(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_0088: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
ulong netId = default(ulong);
ByteUnpacker.ReadValueBitPacked(reader, ref netId);
bool flag = default(bool);
((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives));
string name = null;
if (flag)
{
((FastBufferReader)(ref reader)).ReadValueSafe(ref name, false);
}
int spot = default(int);
ByteUnpacker.ReadValueBitPacked(reader, ref spot);
ulong secondaryNetId = default(ulong);
ByteUnpacker.ReadValueBitPacked(reader, ref secondaryNetId);
target.__rpc_exec_stage = (__RpcExecStage)1;
((TF2Networker)(object)target).SyncEmoteToClientRpc(netId, name, spot, secondaryNetId);
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
private static void __rpc_handler_3453768715(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_0088: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
ulong netId = default(ulong);
ByteUnpacker.ReadValueBitPacked(reader, ref netId);
bool flag = default(bool);
((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives));
string name = null;
if (flag)
{
((FastBufferReader)(ref reader)).ReadValueSafe(ref name, false);
}
int spot = default(int);
ByteUnpacker.ReadValueBitPacked(reader, ref spot);
ulong secondaryNetId = default(ulong);
ByteUnpacker.ReadValueBitPacked(reader, ref secondaryNetId);
target.__rpc_exec_stage = (__RpcExecStage)1;
((TF2Networker)(object)target).SyncEmoteToServerRpc(netId, name, spot, secondaryNetId);
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
protected internal override string __getTypeName()
{
return "TF2Networker";
}
}
internal class RockPaperScissors : MonoBehaviour
{
public int charType;
public static void RPSStart(BoneMapper joinerMapper, int spot)
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Expected O, but got Unknown
joinerMapper.PlayAnim(TF2Plugin.RPS_Start_Emotes[spot], 0);
joinerMapper.props.Add(new GameObject());
joinerMapper.props[0].AddComponent<RockPaperScissors>().charType = spot;
}
public static void RPSWin(BoneMapper joinerMapper, int spot, BoneMapper hostJoinerMapper, bool joinerIsEnemy)
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Expected O, but got Unknown
//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
//IL_0105: Unknown result type (might be due to invalid IL or missing references)
//IL_0116: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: 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_0076: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: Unknown result type (might be due to invalid IL or missing references)
//IL_0232: Unknown result type (might be due to invalid IL or missing references)
//IL_0269: Unknown result type (might be due to invalid IL or missing references)
//IL_0279: Unknown result type (might be due to invalid IL or missing references)
joinerMapper.PlayAnim(TF2Plugin.RPS_Win_Emotes[spot], 0);
GameObject val = new GameObject();
((Object)val).name = "RPS_WinProp";
joinerMapper.props.Add(val);
if ((Object)(object)hostJoinerMapper != (Object)(object)joinerMapper)
{
val.transform.SetParent(((Component)hostJoinerMapper).transform);
Vector3 lossyScale = ((Component)hostJoinerMapper).transform.lossyScale;
val.transform.localPosition = new Vector3(0f, 0f, 2.5f / lossyScale.z);
val.transform.localEulerAngles = new Vector3(0f, 180f, 0f);
val.transform.localScale = Vector3.one;
val.transform.SetParent(joinerMapper.mapperBodyTransform.parent);
joinerMapper.AssignParentGameObject(val, true, true, false, false, true);
}
else
{
val.transform.localPosition = ((Component)joinerMapper).transform.position;
val.transform.localEulerAngles = ((Component)joinerMapper).transform.eulerAngles;
val.transform.localScale = Vector3.one;
val.transform.SetParent(joinerMapper.mapperBodyTransform.parent);
joinerMapper.AssignParentGameObject(val, true, true, false, false, false);
}
string text = "Red";
if (joinerIsEnemy)
{
text = "Blu";
}
int count = joinerMapper.props.Count;
switch (spot % 3)
{
case 0:
joinerMapper.props.Add(Object.Instantiate<GameObject>(Assets.Load<GameObject>("@BadAssEmotes_badassemotes:Assets/RPS/" + text + "_Rock_Win.prefab")));
break;
case 1:
joinerMapper.props.Add(Object.Instantiate<GameObject>(Assets.Load<GameObject>("@BadAssEmotes_badassemotes:Assets/RPS/" + text + "_Paper_Win.prefab")));
break;
case 2:
joinerMapper.props.Add(Object.Instantiate<GameObject>(Assets.Load<GameObject>("@BadAssEmotes_badassemotes:Assets/RPS/" + text + "_Scissors_Win.prefab")));
break;
}
joinerMapper.props[count].transform.SetParent(joinerMapper.parentGameObject.transform);
joinerMapper.props[count].transform.localEulerAngles = Vector3.zero;
joinerMapper.props[count].transform.localPosition = new Vector3(0f, 2.5f * joinerMapper.props[count].transform.lossyScale.y, 0f);
joinerMapper.ScaleProps();
}
public static void RPSLose(BoneMapper joinerMapper, int spot, BoneMapper hostJoinerMapper, bool joinerIsEnemy, bool hostAndJoinerAreDifferentTeams)
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Expected O, but got Unknown
//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
//IL_0105: Unknown result type (might be due to invalid IL or missing references)
//IL_0116: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: 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_0076: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: 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_0273: Unknown result type (might be due to invalid IL or missing references)
//IL_0283: Unknown result type (might be due to invalid IL or missing references)
joinerMapper.PlayAnim(TF2Plugin.RPS_Loss_Emotes[spot], 0);
GameObject val = new GameObject();
((Object)val).name = "RPS_LossProp";
joinerMapper.props.Add(val);
if ((Object)(object)hostJoinerMapper != (Object)(object)joinerMapper)
{
val.transform.SetParent(((Component)hostJoinerMapper).transform);
Vector3 lossyScale = ((Component)hostJoinerMapper).transform.lossyScale;
val.transform.localPosition = new Vector3(0f, 0f, 2.5f / lossyScale.z);
val.transform.localEulerAngles = new Vector3(0f, 180f, 0f);
val.transform.localScale = Vector3.one;
val.transform.SetParent(joinerMapper.mapperBodyTransform.parent);
joinerMapper.AssignParentGameObject(val, true, true, false, false, true);
}
else
{
val.transform.localPosition = ((Component)joinerMapper).transform.position;
val.transform.localEulerAngles = ((Component)joinerMapper).transform.eulerAngles;
val.transform.localScale = Vector3.one;
val.transform.SetParent(joinerMapper.mapperBodyTransform.parent);
joinerMapper.AssignParentGameObject(val, true, true, false, false, false);
}
string text = "Red";
if (joinerIsEnemy)
{
text = "Blu";
}
if (hostAndJoinerAreDifferentTeams)
{
}
int count = joinerMapper.props.Count;
switch (spot % 3)
{
case 0:
joinerMapper.props.Add(Object.Instantiate<GameObject>(Assets.Load<GameObject>("@BadAssEmotes_badassemotes:Assets/RPS/" + text + "_Rock_Lose.prefab")));
break;
case 1:
joinerMapper.props.Add(Object.Instantiate<GameObject>(Assets.Load<GameObject>("@BadAssEmotes_badassemotes:Assets/RPS/" + text + "_Paper_Lose.prefab")));
break;
case 2:
joinerMapper.props.Add(Object.Instantiate<GameObject>(Assets.Load<GameObject>("@BadAssEmotes_badassemotes:Assets/RPS/" + text + "_Scissors_Lose.prefab")));
break;
}
joinerMapper.props[count].transform.SetParent(joinerMapper.parentGameObject.transform);
joinerMapper.props[count].transform.localEulerAngles = Vector3.zero;
joinerMapper.props[count].transform.localPosition = new Vector3(0f, 2.5f * joinerMapper.props[count].transform.lossyScale.y, 0f);
joinerMapper.ScaleProps();
}
public static void RPSJoin(BoneMapper joinerMapper, int spot, BoneMapper hostJoinerMapper)
{
int num = Random.Range(0, 2);
int num2 = Random.Range(0, 3);
int num3 = ((num != 0) ? (num2 + 1) : (num2 - 1));
if (num3 > 2)
{
num3 -= 3;
}
if (num3 < 0)
{
num3 += 3;
}
num2 += hostJoinerMapper.props[0].GetComponent<RockPaperScissors>().charType * 3;
num3 += spot * 3;
if (num == 0)
{
TF2Networker.instance.SyncEmoteToClientRpc(hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "RPS_Win", num2, hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
TF2Networker.instance.SyncEmoteToClientRpc(joinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "RPS_Loss", num3, hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
}
else
{
TF2Networker.instance.SyncEmoteToClientRpc(hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "RPS_Loss", num2, hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
TF2Networker.instance.SyncEmoteToClientRpc(joinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "RPS_Win", num3, hostJoinerMapper.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
}
}
}
public static class Settings
{
public static ConfigEntry<bool> scout;
public static ConfigEntry<bool> soldier;
public static ConfigEntry<bool> pyro;
public static ConfigEntry<bool> demo;
public static ConfigEntry<bool> heavy;
public static ConfigEntry<bool> engi;
public static ConfigEntry<bool> medic;
public static ConfigEntry<bool> sniper;
public static ConfigEntry<bool> spy;
internal static void RunAll()
{
SetupConfig();
if (Chainloader.PluginInfos.ContainsKey("ainavt.lc.lethalconfig"))
{
LethalConfig.SetupLethalConfig();
}
LoadSettings();
}
private static void SetupConfig()
{
scout = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Scout", true, "Puts Scout into the random merc pool");
soldier = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Soldier", true, "Puts Soldier into the random merc pool");
pyro = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Pyro", true, "Puts Pyro into the random merc pool");
demo = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Demoman", true, "Puts Demoman into the random merc pool");
heavy = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Heavy", true, "Puts Heavy into the random merc pool");
engi = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Engineer", true, "Puts Engineer into the random merc pool");
medic = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Medic", true, "Puts Medic into the random merc pool");
sniper = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Sniper", true, "Puts Sniper into the random merc pool");
spy = ((BaseUnityPlugin)TF2Plugin.Instance).Config.Bind<bool>("Merc Selection", "Spy", true, "Puts Spy into the random merc pool");
scout.SettingChanged += Merc_SettingChanged;
soldier.SettingChanged += Merc_SettingChanged;
pyro.SettingChanged += Merc_SettingChanged;
demo.SettingChanged += Merc_SettingChanged;
heavy.SettingChanged += Merc_SettingChanged;
engi.SettingChanged += Merc_SettingChanged;
medic.SettingChanged += Merc_SettingChanged;
sniper.SettingChanged += Merc_SettingChanged;
spy.SettingChanged += Merc_SettingChanged;
}
private static void Merc_SettingChanged(object sender, EventArgs e)
{
LoadSettings();
}
internal static void LoadSettings()
{
TF2Plugin.validMercs.Clear();
if (demo.Value)
{
TF2Plugin.validMercs.Add(0);
}
if (engi.Value)
{
TF2Plugin.validMercs.Add(1);
}
if (heavy.Value)
{
TF2Plugin.validMercs.Add(2);
}
if (medic.Value)
{
TF2Plugin.validMercs.Add(3);
}
if (pyro.Value)
{
TF2Plugin.validMercs.Add(4);
}
if (scout.Value)
{
TF2Plugin.validMercs.Add(5);
}
if (sniper.Value)
{
TF2Plugin.validMercs.Add(6);
}
if (soldier.Value)
{
TF2Plugin.validMercs.Add(7);
}
if (spy.Value)
{
TF2Plugin.validMercs.Add(8);
}
}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.weliveinasociety.teamfortress2emotes", "TF2Emotes", "1.1.0")]
public class TF2Plugin : BaseUnityPlugin
{
public static TF2Plugin Instance;
public const string PluginGUID = "com.weliveinasociety.teamfortress2emotes";
public const string PluginAuthor = "Nunchuk";
public const string PluginName = "TF2Emotes";
public const string PluginVersion = "1.1.0";
internal static List<string> Conga_Emotes = new List<string>();
internal static List<string> KazotskyKick_Emotes = new List<string>();
internal static List<string> RPS_Start_Emotes = new List<string>();
internal static List<string> RPS_Loss_Emotes = new List<string>();
internal static List<string> RPS_Win_Emotes = new List<string>();
internal static List<string> Flip_Wait_Emotes = new List<string>();
internal static List<string> Flip_Flip_Emotes = new List<string>();
internal static List<string> Flip_Throw_Emotes = new List<string>();
internal static List<string> Laugh_Emotes = new List<string>();
internal static List<int> validMercs = new List<int>();
private static GameObject tf2Networker;
private static Hook playerControllerStartHook;
private static Hook networkManagerStartHook;
internal int _conga;
internal int _conga_demo_start;
internal int _conga_engi_start;
internal int _conga_heavy_start;
internal int _conga_medic_start;
internal int _conga_pyro_start;
internal int _conga_scout_start;
internal int _conga_sniper_start;
internal int _conga_soldier_start;
internal int _conga_spy_start;
internal int _conga_demo_loop;
internal int _conga_engi_loop;
internal int _conga_heavy_loop;
internal int _conga_medic_loop;
internal int _conga_pyro_loop;
internal int _conga_scout_loop;
internal int _conga_sniper_loop;
internal int _conga_soldier_loop;
internal int _conga_spy_loop;
internal int _demo_flip_flip;
internal int _demo_flip_throw;
internal int _demo_flip_waiting;
internal int _demo_laugh;
internal int _engi_flip_flip;
internal int _engi_flip_throw;
internal int _engi_flip_waiting;
internal int _engi_laugh;
internal int _heavy_flip_flip;
internal int _heavy_flip_throw;
internal int _heavy_flip_waiting;
internal int _heavy_laugh;
internal int _kazotsky;
internal int _medic_flip_flip;
internal int _medic_flip_throw;
internal int _medic_flip_waiting;
internal int _medic_laugh;
internal int _play_rancho;
internal int _play_ranchoburp;
internal int _play_ranchoclose;
internal int _play_rancholong;
internal int _play_ranchoquick;
internal int _pyro_flip_flip;
internal int _pyro_flip_throw;
internal int _pyro_flip_waiting;
internal int _pyro_laugh;
internal int _rps_demo_initiate;
internal int _rps_demo_loss;
internal int _rps_demo_winpaper;
internal int _rps_demo_winrock;
internal int _rps_demo_winscissors;
internal int _rps_engi_initiate;
internal int _rps_engi_loss;
internal int _rps_engi_winpaper;
internal int _rps_engi_winrock;
internal int _rps_engi_winscissors;
internal int _rps_heavy_initiate;
internal int _rps_heavy_loss;
internal int _rps_heavy_winpaper;
internal int _rps_heavy_winrock;
internal int _rps_heavy_winscissors;
internal int _rps_medic_initiate;
internal int _rps_medic_loss;
internal int _rps_medic_winpaper;
internal int _rps_medic_winrock;
internal int _rps_medic_winscissors;
internal int _rps_pyro_initiate;
internal int _rps_pyro_loss;
internal int _rps_pyro_winpaper;
internal int _rps_pyro_winrock;
internal int _rps_pyro_winscissors;
internal int _rps_scout_initiate;
internal int _rps_scout_loss;
internal int _rps_scout_lossrock;
internal int _rps_scout_winpaper;
internal int _rps_scout_winrock;
internal int _rps_scout_winscissors;
internal int _rps_sniper_loss;
internal int _rps_sniper_winpaper;
internal int _rps_sniper_winrock;
internal int _rps_sniper_winscissors;
internal int _rps_sniper_initiate_start;
internal int _rps_sniper_initiate_loop;
internal int _rps_soldier_initiate;
internal int _rps_soldier_loss;
internal int _rps_soldier_winpaper;
internal int _rps_soldier_winrock;
internal int _rps_soldier_winscissors;
internal int _rps_spy_initiate;
internal int _rps_spy_windup1;
internal int _rps_spy_windup2;
internal int _rps_spy_windup3;
internal int _rps_spy_losspaper;
internal int _rps_spy_lossrock;
internal int _rps_spy_lossscissors;
internal int _rps_spy_winpaper;
internal int _rps_spy_winrock;
internal int _rps_spy_winscissors;
internal int _scout_flip_flip;
internal int _scout_flip_throw;
internal int _scout_flip_waiting;
internal int _sniper_flip_flip;
internal int _sniper_flip_throw;
internal int _sniper_flip_waiting;
internal int _soldier_flip_flip;
internal int _soldier_flip_throw;
internal int _soldier_flip_waiting;
internal int _spy_flip_flip;
internal int _spy_flip_throw;
internal int _spy_flip_waiting;
internal int _spy_laugh;
private string prevAnimation;
public static PluginInfo PInfo { get; private set; }
private void PlayerControllerStart(Action<PlayerControllerB> orig, PlayerControllerB self)
{
//IL_004d: Unknown result type (might be due to invalid IL or missing references)
//IL_0053: Expected O, but got Unknown
orig(self);
if (((NetworkBehaviour)self).IsServer && (Object)(object)TF2Networker.instance == (Object)null)
{
GameObject val = Object.Instantiate<GameObject>(tf2Networker);
val.GetComponent<NetworkObject>().Spawn(true);
}
if ((Object)(object)AudioContainerHolder.instance == (Object)null)
{
GameObject val2 = new GameObject();
val2.AddComponent<AudioContainerHolder>();
}
}
private void NetworkManagerStart(Action<GameNetworkManager> orig, GameNetworkManager self)
{
try
{
tf2Networker = Assets.Load<GameObject>("tf2222networker.prefab");
tf2Networker.AddComponent<TF2Networker>();
((Component)GameNetworkManager.Instance).GetComponent<NetworkManager>().PrefabHandler.AddNetworkPrefab(tf2Networker);
}
catch (Exception)
{
DebugClass.Log((object)"couldn't setup tf2 networker");
}
orig(self);
}
public void Awake()
{
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Expected O, but got Unknown
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_0089: Expected O, but got Unknown
//IL_015b: Unknown result type (might be due to invalid IL or missing references)
//IL_0165: Expected O, but got Unknown
//IL_016d: Unknown result type (might be due to invalid IL or missing references)
//IL_0177: Expected O, but got Unknown
//IL_017f: Unknown result type (might be due to invalid IL or missing references)
//IL_0189: Expected O, but got Unknown
Instance = this;
PInfo = ((BaseUnityPlugin)this).Info;
MethodInfo method = typeof(PlayerControllerB).GetMethod("Start", BindingFlags.Instance | BindingFlags.NonPublic);
MethodInfo method2 = typeof(TF2Plugin).GetMethod("PlayerControllerStart", BindingFlags.Instance | BindingFlags.NonPublic);
playerControllerStartHook = new Hook((MethodBase)method, method2, (object)this);
method = typeof(GameNetworkManager).GetMethod("Start", BindingFlags.Instance | BindingFlags.NonPublic);
method2 = typeof(TF2Plugin).GetMethod("NetworkManagerStart", BindingFlags.Instance | BindingFlags.NonPublic);
networkManagerStartHook = new Hook((MethodBase)method, method2, (object)this);
Type[] types = Assembly.GetExecutingAssembly().GetTypes();
Type[] array = types;
foreach (Type type in array)
{
try
{
MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic);
MethodInfo[] array2 = methods;
foreach (MethodInfo methodInfo in array2)
{
object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false);
if (customAttributes.Length != 0)
{
methodInfo.Invoke(null, null);
}
}
}
catch (Exception)
{
}
}
Assets.LoadAssetBundlesFromFolder("assetbundles");
RegisterAllSounds();
Settings.RunAll();
Rancho();
RPS();
Conga();
Flip();
KazotskyKick();
Laugh();
CustomEmotesAPI.animJoined += new AnimationJoined(CustomEmotesAPI_animJoined);
CustomEmotesAPI.animChanged += new AnimationChanged(CustomEmotesAPI_animChanged);
CustomEmotesAPI.emoteSpotJoined_Body += new JoinedEmoteSpotBody(CustomEmotesAPI_emoteSpotJoined_Body);
}
public static int GetMercNumber()
{
if (validMercs.Count == 0)
{
return Random.Range(0, 9);
}
return validMercs[Random.Range(0, validMercs.Count)];
}
private void CustomEmotesAPI_animJoined(string joinedAnimation, BoneMapper joiner, BoneMapper host)
{
if (joinedAnimation.EndsWith("_Conga"))
{
int mercNumber = GetMercNumber();
TF2Networker.instance.SyncEmoteToServerRpc(joiner.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "Conga_Start", mercNumber, joiner.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
}
if (joinedAnimation.StartsWith("Kazotsky_"))
{
TF2Networker.instance.SyncEmoteToServerRpc(joiner.mapperBody.GetComponent<NetworkObject>().NetworkObjectId, "Kazotsky_Start", GetMercNumber(), joiner.mapperBody.GetComponent<NetworkObject>().NetworkObjectId);
}
}
public void RegisterAllSounds()
{
_play_rancho = RegisterSound(new string[1][] { new string[1] { "RanchoOpen" } }, new List<float>(1) { 1.5f }, 0f);
_play_ranchoburp = RegisterSound(new string[1][] { new string[1] { "RanchoBurp" } }, new List<float>(1) { 1.5f }, 0f);
_play_ranchoclose = RegisterSound(new string[1][] { new string[1] { "RanchoClose" } }, new List<float>(1) { 0f }, 0f);
_play_rancholong = RegisterSound(new string[1][] { new string[1] { "RanchoDrink1" } }, new List<float>(1) { 2f }, 0f);
_play_ranchoquick = RegisterSound(new string[1][] { new string[1] { "RanchoDrink2" } }, new List<float>(1) { 0.7f }, 0f);
_conga_demo_start = RegisterSound(new string[1][] { new string[6] { "Taunt_demo_conga_int_01", "Taunt_demo_conga_int_02", "Taunt_demo_conga_int_04", "Taunt_demo_conga_int_05", "Taunt_demo_conga_int_06", "Taunt_demo_conga_int_07" } }, new List<float>(1) { 0f }, 0f);
_conga_demo_loop = RegisterSound(new string[1][] { new string[7] { "Taunt_demo_conga_fun_08", "Taunt_demo_conga_fun_10", "Taunt_demo_conga_fun_11", "Taunt_demo_conga_fun_12", "Taunt_demo_conga_fun_18", "Taunt_demo_conga_fun_19", "Taunt_demo_conga_fun_24" } }, new List<float>(1) { 3f }, 3f);
_conga_engi_start = RegisterSound(new string[1][] { new string[16]
{
"Eng_taunt_cong_fun_02", "Eng_taunt_cong_fun_04", "Eng_taunt_cong_fun_08", "Eng_taunt_cong_fun_09", "Eng_taunt_cong_fun_10", "Eng_taunt_cong_fun_13", "Eng_taunt_cong_fun_14", "Eng_taunt_cong_fun_16", "Eng_taunt_cong_fun_20", "Eng_taunt_cong_fun_26",
"Eng_taunt_cong_fun_30", "Eng_taunt_cong_fun_33", "Eng_taunt_cong_fun_34", "Eng_taunt_cong_fun_35", "Eng_taunt_cong_fun_36", "Eng_taunt_cong_fun_42"
} }, new List<float>(1) { 0f }, 0f);
_conga_engi_loop = RegisterSound(new string[1][] { new string[16]
{
"Eng_taunt_cong_fun_02", "Eng_taunt_cong_fun_04", "Eng_taunt_cong_fun_08", "Eng_taunt_cong_fun_09", "Eng_taunt_cong_fun_10", "Eng_taunt_cong_fun_13", "Eng_taunt_cong_fun_14", "Eng_taunt_cong_fun_16", "Eng_taunt_cong_fun_20", "Eng_taunt_cong_fun_26",
"Eng_taunt_cong_fun_30", "Eng_taunt_cong_fun_33", "Eng_taunt_cong_fun_34", "Eng_taunt_cong_fun_35", "Eng_taunt_cong_fun_36", "Eng_taunt_cong_fun_42"
} }, new List<float>(1) { 3f }, 3f);
_conga_heavy_start = RegisterSound(new string[1][] { new string[4] { "Heavy_taunt_cong_int_11", "Heavy_taunt_cong_int_08", "Heavy_taunt_cong_int_12", "Heavy_taunt_cong_int_13" } }, new List<float>(1) { 0f }, 0f);
_conga_heavy_loop = RegisterSound(new string[1][] { new string[7] { "Heavy_taunt_cong_fun_01", "Heavy_taunt_cong_fun_11", "Heavy_taunt_cong_fun_12", "Heavy_taunt_cong_fun_19", "Heavy_taunt_cong_fun_20", "Heavy_taunt_cong_int_07", "Heavy_taunt_cong_int_09" } }, new List<float>(1) { 3f }, 3f);
_conga_medic_start = RegisterSound(new string[1][] { new string[7] { "Medic_taunt_cong_fun_01", "Medic_taunt_cong_fun_06", "Medic_taunt_cong_fun_07", "Medic_taunt_cong_fun_08", "Medic_taunt_cong_fun_09", "Medic_taunt_cong_fun_12", "Medic_taunt_cong_fun_15" } }, new List<float>(1) { 0f }, 0f);
_conga_medic_loop = RegisterSound(new string[1][] { new string[7] { "Medic_taunt_cong_fun_01", "Medic_taunt_cong_fun_06", "Medic_taunt_cong_fun_07", "Medic_taunt_cong_fun_08", "Medic_taunt_cong_fun_09", "Medic_taunt_cong_fun_12", "Medic_taunt_cong_fun_15" } }, new List<float>(1) { 3f }, 3f);
_conga_pyro_start = RegisterSound(new string[1][] { new string[8] { "Pyro_taunt_cong_fun_05", "Pyro_taunt_cong_fun_08", "Pyro_taunt_cong_fun_09", "Pyro_taunt_cong_fun_10", "Pyro_taunt_cong_fun_11", "Pyro_taunt_cong_fun_12", "Pyro_taunt_cong_fun_13", "Pyro_taunt_cong_fun_14" } }, new List<float>(1) { 0f }, 0f);
_conga_pyro_loop = RegisterSound(new string[1][] { new string[8] { "Pyro_taunt_cong_fun_05", "Pyro_taunt_cong_fun_08", "Pyro_taunt_cong_fun_09", "Pyro_taunt_cong_fun_10", "Pyro_taunt_cong_fun_11", "Pyro_taunt_cong_fun_12", "Pyro_taunt_cong_fun_13", "Pyro_taunt_cong_fun_14" } }, new List<float>(1) { 3f }, 3f);
_conga_scout_start = RegisterSound(new string[1][] { new string[3] { "Scout_taunt_conga_int_02", "Scout_taunt_conga_int_03", "Scout_taunt_conga_int_10" } }, new List<float>(1) { 0f }, 0f);
_conga_scout_loop = RegisterSound(new string[1][] { new string[10] { "Scout_taunt_conga_fun_01", "Scout_taunt_conga_fun_02", "Scout_taunt_conga_fun_05", "Scout_taunt_conga_fun_06", "Scout_taunt_conga_fun_07", "Scout_taunt_conga_fun_08", "Scout_taunt_conga_fun_09", "Scout_taunt_conga_fun_11", "Scout_taunt_conga_fun_12", "Scout_taunt_conga_fun_14" } }, new List<float>(1) { 3f }, 3f);
_conga_sniper_start = RegisterSound(new string[1][] { new string[4] { "Sniper_taunt_cong_fun_02", "Sniper_taunt_cong_fun_03", "Sniper_taunt_cong_fun_25", "Sniper_taunt_cong_int_03" } }, new List<float>(1) { 0f }, 0f);
_conga_sniper_loop = RegisterSound(new string[1][] { new string[12]
{
"Sniper_taunt_cong_fun_01", "Sniper_taunt_cong_fun_04", "Sniper_taunt_cong_fun_05", "Sniper_taunt_cong_fun_06", "Sniper_taunt_cong_fun_10", "Sniper_taunt_cong_fun_11", "Sniper_taunt_cong_fun_12", "Sniper_taunt_cong_fun_17", "Sniper_taunt_cong_fun_18", "Sniper_taunt_cong_fun_24",
"Sniper_taunt_cong_int_01", "Sniper_taunt_cong_int_02"
} }, new List<float>(1) { 3f }, 3f);
_conga_soldier_start = RegisterSound(new string[1][] { new string[3] { "Soldier_taunt_cong_int_03", "Soldier_taunt_cong_int_04", "Soldier_taunt_cong_int_13" } }, new List<float>(1) { 0f }, 0f);
_conga_soldier_loop = RegisterSound(new string[1][] { new string[8] { "Soldier_taunt_admire_22", "Soldier_taunt_cong_fun_01", "Soldier_taunt_cong_fun_04", "Soldier_taunt_cong_fun_08", "Soldier_taunt_cong_fun_11", "Soldier_taunt_cong_fun_24", "Soldier_taunt_cong_fun_27", "Soldier_taunt_cong_fun_29" } }, new List<float>(1) { 3f }, 3f);
_conga_spy_start = RegisterSound(new string[1][] { new string[3] { "Spy_taunt_cong_int_01", "Spy_taunt_cong_int_05", "Spy_taunt_cong_int_11" } }, new List<float>(1) { 0f }, 0f);
_conga_spy_loop = RegisterSound(new string[1][] { new string[11]
{
"Spy_taunt_cong_fun_01", "Spy_taunt_cong_fun_02", "Spy_taunt_cong_fun_03", "Spy_taunt_cong_fun_05", "Spy_taunt_cong_fun_06", "Spy_taunt_cong_fun_08", "Spy_taunt_cong_fun_09", "Spy_taunt_cong_fun_10", "Spy_taunt_cong_fun_14", "Spy_taunt_cong_fun_15",
"Spy_taunt_cong_fun_17"
} }, new List<float>(1) { 3f }, 3f);
_demo_flip_flip = RegisterSound(new string[2][]
{
new string[2] { "taunt_demo_flip_fun_01", "taunt_demo_flip_fun_03" },
new string[8] { "taunt_demo_flip_post_fun_03", "taunt_demo_flip_post_fun_01", "taunt_demo_flip_post_fun_04", "taunt_demo_flip_post_fun_05", "taunt_demo_admire_06", "Taunt_demo_flip_post_fun_point_03", "Taunt_demo_flip_post_fun_point_04", "Taunt_demo_flip_post_fun_point_06" }
}, new List<float>(2) { 1.2f, 2.2f }, -1f);
_demo_flip_throw = RegisterSound(new string[1][] { new string[3] { "Taunt_demo_flip_exert_03", "Taunt_demo_flip_neg_01", "Taunt_demo_flip_neg_02" } }, new List<float>(1) { 0.6f }, -1f);
_demo_flip_waiting = RegisterSound(new string[1][] { new string[20]
{
"Taunt_demo_flip_int_05", "Taunt_demo_flip_int_06", "Taunt_demo_flip_int_08", "Taunt_demo_flip_int_10", "Taunt_demo_flip_int_12", "Taunt_demo_flip_int_13", "Taunt_demo_flip_int_14", "Taunt_demo_flip_int_16", "Taunt_demo_flip_int_18", "Taunt_demo_flip_int_20",
"Taunt_demo_int_01", "Taunt_demo_int_03", "Taunt_demo_int_04", "Taunt_demo_int_05", "Taunt_demo_int_10", "Taunt_demo_int_19", "Taunt_demo_int_21", "Taunt_demo_int_27", "Taunt_demo_int_30", "Taunt_demo_int_34"
} }, new List<float>(1) { 0f }, 3f);
_engi_flip_flip = RegisterSound(new string[2][]
{
new string[12]
{
"Eng_taunt_exert_05", "Eng_taunt_exert_07", "Eng_taunt_exert_10", "Eng_taunt_exert_12", "Eng_taunt_exert_15", "Eng_taunt_exert_19", "Eng_taunt_exert_24", "Eng_taunt_exert_29", "Eng_taunt_flip_fun_01", "Eng_taunt_flip_fun_06",
"Eng_taunt_flip_fun_07", "Eng_taunt_flip_fun_25"
},
new string[15]
{
"Eng_taunt_flip_admire_01", "Eng_taunt_flip_admire_02", "Eng_taunt_flip_admire_03", "Eng_taunt_flip_admire_04", "Eng_taunt_flip_admire_06", "Eng_taunt_flip_admire_07", "Eng_taunt_flip_admire_09", "Eng_taunt_flip_admire_10", "Eng_taunt_flip_admire_11", "Eng_taunt_flip_admire_12",
"Eng_taunt_flip_admire_14", "Eng_taunt_flip_admire_15", "Eng_taunt_flip_end_01", "Eng_taunt_flip_end_04", "Eng_taunt_flip_end_08"
}
}, new List<float>(2) { 1.2f, 2.2f }, -1f);
_engi_flip_throw = RegisterSound(new string[1][] { new string[9] { "Eng_taunt_exert_08", "Eng_taunt_exert_30", "Eng_taunt_exert_44", "Eng_taunt_exert_46", "Eng_taunt_exert_47", "Eng_taunt_flip_exert_14", "Eng_taunt_flip_exert_23", "Eng_taunt_flip_exert_24", "Eng_taunt_flip_exert_26" } }, new List<float>(1) { 0.6f }, -1f);
_engi_flip_waiting = RegisterSound(new string[1][] { new string[6] { "Eng_taunt_flip_int_01", "Eng_taunt_flip_int_04", "Eng_taunt_flip_int_08", "Eng_taunt_flip_int_11", "Eng_taunt_flip_int_13", "Eng_taunt_flip_int_14" } }, new List<float>(1) { 0f }, 3f);
_heavy_flip_flip = RegisterSound(new string[2][]
{
new string[2] { "Heavy_taunt_flip_fail_01", "Heavy_taunt_flip_fail_08" },
new string[3] { "Heavy_taunt_flip_end_01", "Heavy_taunt_flip_end_02", "Heavy_taunt_flip_end_03" }
}, new List<float>(2) { 1.2f, 2.2f }, -1f);
_heavy_flip_throw = RegisterSound(new string[1][] { new string[9] { "Heavy_taunt_exert_01", "Heavy_taunt_exert_04", "Heavy_taunt_exert_06", "Heavy_taunt_exert_09", "Heavy_taunt_exert_11", "Heavy_taunt_exert_12", "Heavy_taunt_exert_13", "Heavy_taunt_flip_exert_01", "Heavy_taunt_flip_exert_09" } }, new List<float>(1) { 0.6f }, -1f);
_heavy_flip_waiting = RegisterSound(new string[1][] { new string[9] { "Heavy_taunt_flip_int_01", "Heavy_taunt_flip_int_02", "Heavy_taunt_flip_int_04", "Heavy_taunt_flip_int_05", "Heavy_taunt_flip_int_10", "Heavy_taunt_flip_int_11", "Heavy_taunt_flip_int_12", "Heavy_taunt_flip_int_13", "Heavy_taunt_flip_int_16" } }, new List<float>(1) { 0f }, 3f);
_medic_flip_flip = RegisterSound(new string[1][] { new string[14]
{
"Medic_taunt_admire_01", "Medic_taunt_admire_02", "Medic_taunt_admire_03", "Medic_taunt_admire_07", "Medic_taunt_admire_10", "Medic_taunt_admire_13", "Medic_taunt_admire_14", "Medic_taunt_admire_22", "Medic_taunt_flip_end_01", "Medic_taunt_flip_end_02",
"Medic_taunt_flip_end_05", "Medic_taunt_flip_end_06", "Medic_taunt_flip_end_08", "Medic_taunt_flip_end_09"
} }, new List<float>(1) { 2.6f }, 0f);
_medic_flip_throw = RegisterSound(new string[1][] { new string[13]
{
"Medic_taunt_exert_01", "Medic_taunt_exert_02", "Medic_taunt_exert_08", "Medic_taunt_exert_09", "Medic_taunt_flip_exert_01", "Medic_taunt_flip_exert_03", "Medic_taunt_flip_exert_04", "Medic_taunt_flip_exert_05", "Medic_taunt_flip_exert_06", "Medic_taunt_flip_exert_07",
"Medic_taunt_flip_exert_08", "Medic_taunt_flip_exert_09", "Medic_taunt_flip_exert_10"
} }, new List<float>(1) { 0.6f }, 0f);
_medic_flip_waiting = RegisterSound(new string[1][] { new string[5] { "Medic_taunt_flip_int_05", "Medic_taunt_flip_int_08", "Medic_taunt_flip_int_10", "Medic_taunt_flip_int_12", "Medic_taunt_flip_int_15" } }, new List<float>(1) { 0f }, 3f);
_pyro_flip_flip = RegisterSound(new string[2][]
{
new string[7] { "Pyro_taunt_flip_fun_01", "Pyro_taunt_flip_fun_04", "Pyro_taunt_flip_fun_05", "Pyro_taunt_flip_fun_06", "Pyro_taunt_flip_fun_09", "Pyro_taunt_flip_fun_10", "Pyro_taunt_flip_fun_11" },
new string[8] { "Pyro_taunt_flip_admire_01", "Pyro_taunt_flip_admire_02", "Pyro_taunt_flip_admire_03", "Pyro_taunt_flip_admire_05", "Pyro_taunt_flip_admire_06", "Pyro_taunt_thanks_07", "Pyro_taunt_thanks_08", "Pyro_taunt_thanks_09" }
}, new List<float>(2) { 1.2f, 2.2f }, 0f);
_pyro_flip_throw = RegisterSound(new string[1][] { new string[5] { "Pyro_taunt_exert_12", "Pyro_taunt_flip_exert_02", "Pyro_taunt_flip_exert_04", "Pyro_taunt_flip_exert_05", "Pyro_taunt_flip_exert_06" } }, new List<float>(1) { 0.6f }, 0f);
_pyro_flip_waiting = RegisterSound(new string[1][] { new string[3] { "Pyro_taunt_flip_int_02", "Pyro_taunt_flip_int_05", "Pyro_taunt_flip_int_07" } }, new List<float>(1) { 0f }, 3f);
_scout_flip_flip = RegisterSound(new string[2][]
{
new string[8] { "Scout_taunt_flip_fun_01", "Scout_taunt_flip_fun_02", "Scout_taunt_flip_fun_03", "Scout_taunt_flip_fun_05", "Scout_taunt_flip_fun_06", "Scout_taunt_flip_fun_08", "Scout_taunt_flip_fun_09", "Scout_taunt_flip_fun_10" },
new string[9] { "Scout_taunt_flip_end_01", "Scout_taunt_flip_end_03", "Scout_taunt_flip_end_05", "Scout_taunt_flip_end_07", "Scout_taunt_flip_end_08", "Scout_taunt_flip_end_17", "Scout_taunt_flip_end_19", "Scout_taunt_flip_end_22", "Scout_taunt_flip_end_27" }
}, new List<float>(2) { 1.2f, 2.2f }, 0f);
_scout_flip_throw = RegisterSound(new string[1][] { new string[11]
{
"Scout_taunt_exert_05", "Scout_taunt_exert_13", "Scout_taunt_exert_21", "Scout_taunt_exert_23", "Scout_taunt_exert_30", "Scout_taunt_flip_exert_01", "Scout_taunt_flip_exert_05", "Scout_taunt_flip_exert_08", "Scout_taunt_flip_exert_09", "Scout_taunt_flip_exert_10",
"Scout_taunt_flip_exert_13"
} }, new List<float>(1) { 0.6f }, 0f);
_scout_flip_waiting = RegisterSound(new string[1][] { new string[16]
{
"Scout_taunt_flip_int_03", "Scout_taunt_flip_int_06", "Scout_taunt_flip_int_07", "Scout_taunt_flip_int_10", "Scout_taunt_flip_int_12", "Scout_taunt_flip_int_13", "Scout_taunt_int_01", "Scout_taunt_int_03", "Scout_taunt_int_05", "Scout_taunt_int_06",
"Scout_taunt_int_07", "Scout_taunt_int_08", "Scout_taunt_int_12", "Scout_taunt_int_14", "Scout_taunt_int_17", "Scout_taunt_int_18"
} }, new List<float>(1) { 0f }, 3f);
_sniper_flip_flip = RegisterSound(new string[1][] { new string[18]
{
"Sniper_taunt_admire_01", "Sniper_taunt_admire_02", "Sniper_taunt_admire_06", "Sniper_taunt_admire_09", "Sniper_taunt_admire_11", "Sniper_taunt_admire_12", "Sniper_taunt_admire_15", "Sniper_taunt_admire_16", "Sniper_taunt_admire_18", "Sniper_taunt_admire_19",
"Sniper_taunt_admire_20", "Sniper_taunt_flip_end_02", "Sniper_taunt_flip_end_03", "Sniper_taunt_flip_end_04", "Sniper_taunt_flip_end_06", "Sniper_taunt_flip_end_07", "Sniper_taunt_flip_fun_05", "Sniper_taunt_flip_fun_06"
} }, new List<float>(1) { 2.2f }, 0f);
_sniper_flip_throw = RegisterSound(new string[1][] { new string[9] { "Sniper_taunt_exert_03", "Sniper_taunt_exert_07", "Sniper_taunt_exert_10", "Sniper_taunt_exert_15", "Sniper_taunt_flip_exert_01", "Sniper_taunt_flip_exert_04", "Sniper_taunt_flip_exert_05", "Sniper_taunt_flip_exert_06", "Sniper_taunt_flip_exert_07" } }, new List<float>(1) { 0.6f }, 0f);
_sniper_flip_waiting = RegisterSound(new string[1][] { new string[7] { "Sniper_taunt_flip_int_04", "Sniper_taunt_flip_int_06", "Sniper_taunt_flip_int_07", "Sniper_taunt_flip_int_10", "Sniper_taunt_flip_int_11", "Sniper_taunt_int_01", "Sniper_taunt_int_13" } }, new List<float>(1) { 0f }, 3f);
_soldier_flip_flip = RegisterSound(new string[2][]
{
new string[3] { "Soldier_taunt_flip_fun_04", "Soldier_taunt_flip_fun_06", "Soldier_taunt_flip_fun_08" },
new string[17]
{
"Soldier_taunt_admire_01", "Soldier_taunt_admire_04", "Soldier_taunt_admire_09", "Soldier_taunt_admire_10", "Soldier_taunt_admire_16", "Soldier_taunt_admire_17", "Soldier_taunt_admire_18", "Soldier_taunt_admire_22", "Soldier_taunt_admire_24", "Soldier_taunt_admire_26",
"Soldier_taunt_flip_end_01", "Soldier_taunt_flip_end_02", "Soldier_taunt_flip_end_03", "Soldier_taunt_flip_end_05", "Soldier_taunt_flip_end_15", "Soldier_taunt_flip_end_16", "Soldier_taunt_flip_end_17"
}
}, new List<float>(2) { 1.2f, 2.2f }, 0f);
_soldier_flip_throw = RegisterSound(new string[1][] { new string[6] { "Soldier_taunt_exert_02", "Soldier_taunt_exert_06", "Soldier_taunt_flip_exert_02", "Soldier_taunt_flip_exert_06", "Soldier_taunt_flip_exert_21", "Soldier_taunt_flip_exert_31" } }, new List<float>(1) { 0.6f }, 0f);
_soldier_flip_waiting = RegisterSound(new string[1][] { new string[9] { "Soldier_taunt_flip_int_01", "Soldier_taunt_flip_int_03", "Soldier_taunt_flip_int_04", "Soldier_taunt_flip_int_11", "Soldier_taunt_flip_int_15", "Soldier_taunt_flip_int_17", "Soldier_taunt_flip_int_19", "Soldier_taunt_flip_int_20", "Soldier_taunt_flip_int_24" } }, new List<float>(1) { 0f }, 3f);
_spy_flip_flip = RegisterSound(new string[2][]
{
new string[6] { "Spy_taunt_flip_fun_01", "Spy_taunt_flip_fun_02", "Spy_taunt_flip_fun_07", "Spy_taunt_flip_fun_09", "Spy_taunt_flip_fun_12", "Spy_taunt_flip_fun_13" },
new string[10] { "Spy_taunt_bos_int_05", "Spy_taunt_bos_kick_02", "Spy_taunt_flip_admire_05", "Spy_taunt_flip_admire_09", "Spy_taunt_flip_admire_18", "Spy_taunt_flip_admire_20", "Spy_taunt_flip_end_07", "Spy_taunt_flip_end_12", "Spy_taunt_flip_end_14", "Spy_taunt_flip_end_16" }
}, new List<float>(2) { 1.2f, 2.2f }, 0f);
_spy_flip_throw = RegisterSound(new string[1][] { new string[6] { "Spy_taunt_flip_exert_01", "Spy_taunt_flip_exert_02", "Spy_taunt_flip_exert_07", "Spy_taunt_flip_exert_08", "Spy_taunt_flip_exert_09", "Spy_taunt_flip_exert_10" } }, new List<float>(1) { 0.6f }, 0f);
_spy_flip_waiting = RegisterSound(new string[1][] { new string[10] { "Spy_taunt_flip_int_01", "Spy_taunt_flip_int_02", "Spy_taunt_flip_int_03", "Spy_taunt_flip_int_04", "Spy_taunt_flip_int_07", "Spy_taunt_flip_int_15", "Spy_taunt_flip_int_16", "Spy_taunt_flip_int_20", "Spy_taunt_flip_int_25", "Spy_taunt_flip_int_28" } }, new List<float>(1) { 0f }, 3f);
_rps_demo_initiate = RegisterSound(new string[1][] { new string[2] { "Taunt_demo_rps_int_01", "Taunt_demo_rps_int_06" } }, new List<float>(1) { 0f }, 3f);
_rps_demo_loss = RegisterSound(new string[2][]
{
new string[5] { "Taunt_demo_rps_lose_04", "Taunt_demo_rps_lose_06", "Taunt_demo_rps_lose_08", "Taunt_demo_rps_lose_09", "Taunt_demo_rps_lose_10" },
new string[1] { "Taunt_demo_rps_exert_04" }
}, new List<float>(2) { 5.5f, 1.7f }, 0f);
_rps_demo_winpaper = RegisterSound(new string[2][]
{
new string[9] { "Taunt_demo_rps_win_03", "Taunt_demo_rps_win_04", "Taunt_demo_rps_win_06", "Taunt_demo_rps_win_08", "Taunt_demo_rps_win_16", "Taunt_demo_rps_win_24", "Taunt_demo_rps_win_25", "Taunt_demo_rps_win_27", "Taunt_demo_rps_win_28" },
new string[1] { "Taunt_demo_rps_exert_04" }
}, new List<float>(2) { 3.5f, 1.7f }, 0f);
_rps_demo_winrock = RegisterSound(new string[2][]
{
new string[9] { "Taunt_demo_rps_win_03", "Taunt_demo_rps_win_04", "Taunt_demo_rps_win_06", "Taunt_demo_rps_win_08", "Taunt_demo_rps_win_16", "Taunt_demo_rps_win_24", "Taunt_demo_rps_win_25", "Taunt_demo_rps_win_27", "Taunt_demo_rps_win_28" },
new string[1] { "Taunt_demo_rps_exert_04" }
}, new List<float>(2) { 3.5f, 1.7f }, 0f);
_rps_demo_winscissors = RegisterSound(new string[2][]
{
new string[9] { "Taunt_demo_rps_win_03", "Taunt_demo_rps_win_04", "Taunt_demo_rps_win_06", "Taunt_demo_rps_win_08", "Taunt_demo_rps_win_16", "Taunt_demo_rps_win_24", "Taunt_demo_rps_win_25", "Taunt_demo_rps_win_27", "Taunt_demo_rps_win_28" },
new string[1] { "Taunt_demo_rps_exert_04" }
}, new List<float>(2) { 3.5f, 1.7f }, 0f);
_rps_engi_initiate = RegisterSound(new string[1][] { new string[3] { "Eng_taunt_rps_int_01", "Eng_taunt_rps_int_03", "Eng_taunt_rps_int_07" } }, new List<float>(1) { 0f }, 3f);
_rps_engi_loss = RegisterSound(new string[10][]
{
new string[1] { "Eng_taunt_rps_exert_07 (1)" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Eng_taunt_rps_exert_01" },
new string[1] { "Eng_taunt_rps_exert_02" },
new string[1] { "Eng_taunt_rps_exert_03" },
new string[5] { "Eng_taunt_rps_lose_22", "Eng_taunt_rps_lose_25", "Eng_taunt_rps_lose_27", "Eng_taunt_rps_lose_29", "Eng_taunt_rps_lose_31" }
}, new List<float>(10) { 0f, 0.5f, 0.7f, 1.7f, 1.928f, 2.156f, 1.7f, 2.159f, 2.63f, 5.5f }, 0f);
_rps_engi_winpaper = RegisterSound(new string[10][]
{
new string[1] { "Eng_taunt_rps_exert_07 (1)" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Eng_taunt_rps_exert_01" },
new string[1] { "Eng_taunt_rps_exert_02" },
new string[1] { "Eng_taunt_rps_exert_03" },
new string[5] { "Eng_taunt_rps_win_07", "Eng_taunt_rps_win_17", "Eng_taunt_rps_win_26", "Eng_taunt_rps_win_31", "Eng_taunt_rps_win_33" }
}, new List<float>(10) { 0f, 0.5f, 0.7f, 1.7f, 1.928f, 2.156f, 1.7f, 2.159f, 2.63f, 3.5f }, 0f);
_rps_engi_winrock = RegisterSound(new string[10][]
{
new string[1] { "Eng_taunt_rps_exert_07 (1)" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Eng_taunt_rps_exert_01" },
new string[1] { "Eng_taunt_rps_exert_02" },
new string[1] { "Eng_taunt_rps_exert_03" },
new string[5] { "Eng_taunt_rps_win_10", "Eng_taunt_rps_win_17", "Eng_taunt_rps_win_26", "Eng_taunt_rps_win_31", "Eng_taunt_rps_win_33" }
}, new List<float>(10) { 0f, 0.5f, 0.7f, 1.7f, 1.928f, 2.156f, 1.7f, 2.159f, 2.63f, 3.5f }, 0f);
_rps_engi_winscissors = RegisterSound(new string[10][]
{
new string[1] { "Eng_taunt_rps_exert_07 (1)" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "taunt_hard_clap1" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Eng_taunt_rps_exert_01" },
new string[1] { "Eng_taunt_rps_exert_02" },
new string[1] { "Eng_taunt_rps_exert_03" },
new string[5] { "Eng_taunt_rps_win_06", "Eng_taunt_rps_win_17", "Eng_taunt_rps_win_26", "Eng_taunt_rps_win_31", "Eng_taunt_rps_win_33" }
}, new List<float>(10) { 0f, 0.5f, 0.7f, 1.7f, 1.928f, 2.156f, 1.7f, 2.159f, 2.63f, 3.5f }, 0f);
_rps_heavy_initiate = RegisterSound(new string[1][] { new string[3] { "Heavy_taunt_rps_int_01", "Heavy_taunt_rps_int_02", "Heavy_taunt_rps_int_04" } }, new List<float>(1) { 0f }, 3f);
_rps_heavy_loss = RegisterSound(new string[4][]
{
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[3] { "Heavy_taunt_rps_lose_11", "Heavy_taunt_rps_lose_13", "Heavy_taunt_rps_lose_18" }
}, new List<float>(4) { 1.7f, 2.2f, 2.7f, 5.5f }, 0f);
_rps_heavy_winpaper = RegisterSound(new string[4][]
{
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[11]
{
"Heavy_taunt_kill_02", "Heavy_taunt_kill_09", "Heavy_taunt_rps_win_02", "Heavy_taunt_rps_win_03", "Heavy_taunt_rps_win_04", "Heavy_taunt_rps_win_09", "Heavy_taunt_rps_win_11", "Heavy_taunt_rps_win_12", "Heavy_taunt_rps_win_21", "Heavy_taunt_rps_win_27",
"Heavy_taunt_rps_win_34"
}
}, new List<float>(4) { 1.7f, 2.2f, 2.7f, 3.5f }, 0f);
_rps_heavy_winrock = RegisterSound(new string[4][]
{
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[12]
{
"Heavy_taunt_kill_02", "Heavy_taunt_kill_09", "Heavy_taunt_rps_int_05", "Heavy_taunt_rps_win_02", "Heavy_taunt_rps_win_03", "Heavy_taunt_rps_win_04", "Heavy_taunt_rps_win_09", "Heavy_taunt_rps_win_11", "Heavy_taunt_rps_win_12", "Heavy_taunt_rps_win_16",
"Heavy_taunt_rps_win_27", "Heavy_taunt_rps_win_33"
}
}, new List<float>(4) { 1.7f, 2.2f, 2.7f, 3.5f }, 0f);
_rps_heavy_winscissors = RegisterSound(new string[4][]
{
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[2] { "fist_hit_world1", "fist_hit_world2" },
new string[11]
{
"Heavy_taunt_kill_02", "Heavy_taunt_kill_09", "Heavy_taunt_rps_win_02", "Heavy_taunt_rps_win_03", "Heavy_taunt_rps_win_04", "Heavy_taunt_rps_win_09", "Heavy_taunt_rps_win_11", "Heavy_taunt_rps_win_12", "Heavy_taunt_rps_win_21", "Heavy_taunt_rps_win_27",
"Heavy_taunt_rps_win_38"
}
}, new List<float>(4) { 1.7f, 2.2f, 2.7f, 3.5f }, 0f);
_rps_medic_initiate = RegisterSound(new string[1][] { new string[1] { "Medic_taunt_rps_int_01" } }, new List<float>(1) { 0f }, 3f);
_rps_medic_loss = RegisterSound(new string[7][]
{
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Medic_taunt_rps_exert_01" },
new string[1] { "Medic_taunt_rps_exert_07" },
new string[1] { "Medic_taunt_rps_exert_24" },
new string[5] { "Medic_taunt_rps_lose_12", "Medic_taunt_rps_lose_14", "Medic_taunt_rps_lose_16", "Medic_taunt_rps_lose_17", "Medic_taunt_rps_lose_19" }
}, new List<float>(7) { 1.7f, 2.178f, 2.656f, 1.7f, 2.178f, 2.656f, 5.5f }, 0f);
_rps_medic_winpaper = RegisterSound(new string[7][]
{
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Medic_taunt_rps_exert_01" },
new string[1] { "Medic_taunt_rps_exert_07" },
new string[1] { "Medic_taunt_rps_exert_24" },
new string[5] { "Medic_taunt_rps_win_04", "Medic_taunt_rps_win_05", "Medic_taunt_rps_win_06", "Medic_taunt_rps_win_08", "Medic_taunt_rps_win_09" }
}, new List<float>(7) { 1.7f, 2.178f, 2.656f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_medic_winrock = RegisterSound(new string[7][]
{
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Medic_taunt_rps_exert_01" },
new string[1] { "Medic_taunt_rps_exert_07" },
new string[1] { "Medic_taunt_rps_exert_24" },
new string[5] { "Medic_taunt_rps_win_04", "Medic_taunt_rps_win_05", "Medic_taunt_rps_win_06", "Medic_taunt_rps_win_08", "Medic_taunt_rps_win_09" }
}, new List<float>(7) { 1.7f, 2.178f, 2.656f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_medic_winscissors = RegisterSound(new string[7][]
{
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Medic_taunt_rps_exert_01" },
new string[1] { "Medic_taunt_rps_exert_07" },
new string[1] { "Medic_taunt_rps_exert_24" },
new string[5] { "Medic_taunt_rps_win_04", "Medic_taunt_rps_win_05", "Medic_taunt_rps_win_06", "Medic_taunt_rps_win_08", "Medic_taunt_rps_win_09" }
}, new List<float>(7) { 1.7f, 2.178f, 2.656f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_pyro_initiate = RegisterSound(new string[1][] { new string[5] { "Pyro_taunt_rps_int_02", "Pyro_taunt_rps_int_04", "Pyro_taunt_rps_int_05", "Pyro_taunt_rps_int_07", "Pyro_taunt_rps_int_08" } }, new List<float>(1) { 0f }, 3f);
_rps_pyro_loss = RegisterSound(new string[5][]
{
new string[1] { "Pyro_taunt_rps_exert_18 (1)" },
new string[1] { "Pyro_taunt_rps_exert_21" },
new string[1] { "Pyro_taunt_rps_exert_22" },
new string[1] { "Pyro_taunt_rps_exert_23" },
new string[1] { "Pyro_taunt_rps_lose_03" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 5.5f }, 0f);
_rps_pyro_winpaper = RegisterSound(new string[5][]
{
new string[1] { "Pyro_taunt_rps_exert_18 (1)" },
new string[1] { "Pyro_taunt_rps_exert_21" },
new string[1] { "Pyro_taunt_rps_exert_22" },
new string[1] { "Pyro_taunt_rps_exert_23" },
new string[1] { "Pyro_laughevil01" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_pyro_winrock = RegisterSound(new string[5][]
{
new string[1] { "Pyro_taunt_rps_exert_18 (1)" },
new string[1] { "Pyro_taunt_rps_exert_21" },
new string[1] { "Pyro_taunt_rps_exert_22" },
new string[1] { "Pyro_taunt_rps_exert_23" },
new string[1] { "Pyro_laughevil01" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_pyro_winscissors = RegisterSound(new string[5][]
{
new string[1] { "Pyro_taunt_rps_exert_18 (1)" },
new string[1] { "Pyro_taunt_rps_exert_21" },
new string[1] { "Pyro_taunt_rps_exert_22" },
new string[1] { "Pyro_taunt_rps_exert_23" },
new string[1] { "Pyro_laughevil01" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_scout_initiate = RegisterSound(new string[1][] { new string[5] { "Scout_taunt_rps_int_02", "Scout_taunt_rps_int_03", "Scout_taunt_rps_int_05", "Scout_taunt_rps_int_09", "Scout_taunt_rps_int_10" } }, new List<float>(1) { 0f }, 3f);
_rps_scout_loss = RegisterSound(new string[3][]
{
new string[1] { "Scout_taunt_rps_exert_23" },
new string[1] { "Scout_taunt_rps_exert_25" },
new string[4] { "Scout_taunt_rps_lose_01", "Scout_taunt_rps_lose_03", "Scout_taunt_rps_lose_06", "Scout_taunt_rps_lose_07" }
}, new List<float>(3) { 1.7f, 0f, 5.5f }, 0f);
_rps_scout_lossrock = RegisterSound(new string[3][]
{
new string[1] { "Scout_taunt_rps_exert_23" },
new string[1] { "Scout_taunt_rps_exert_25" },
new string[5] { "Scout_taunt_rps_lose_01", "Scout_taunt_rps_lose_03", "Scout_taunt_rps_lose_06", "Scout_taunt_rps_lose_07", "Scout_taunt_rps_lose_12" }
}, new List<float>(3) { 1.7f, 0f, 5.5f }, 0f);
_rps_scout_winpaper = RegisterSound(new string[8][]
{
new string[1] { "Scout_taunt_rps_exert_23" },
new string[1] { "Scout_taunt_rps_exert_25" },
new string[1] { "taunt_sfx_bell_single" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[5] { "Scout_taunt_misc_03", "Scout_taunt_misc_10", "Scout_taunt_misc_14", "Scout_taunt_rps_win_27", "Scout_taunt_rps_win_51" }
}, new List<float>(8) { 1.7f, 0f, 3.5f, 5.25f, 5f, 4f, 4.5f, 3.5f }, 0f);
_rps_scout_winrock = RegisterSound(new string[8][]
{
new string[1] { "Scout_taunt_rps_exert_23" },
new string[1] { "Scout_taunt_rps_exert_25" },
new string[1] { "taunt_sfx_bell_single" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[4] { "Scout_taunt_misc_03", "Scout_taunt_misc_10", "Scout_taunt_misc_14", "Scout_taunt_rps_win_34" }
}, new List<float>(8) { 1.7f, 0f, 3.5f, 5.25f, 5f, 4f, 4.5f, 3.5f }, 0f);
_rps_scout_winscissors = RegisterSound(new string[8][]
{
new string[1] { "Scout_taunt_rps_exert_23" },
new string[1] { "Scout_taunt_rps_exert_25" },
new string[1] { "taunt_sfx_bell_single" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[1] { "taunt_eng_swoosh" },
new string[4] { "Scout_taunt_misc_03", "Scout_taunt_misc_10", "Scout_taunt_misc_14", "Scout_taunt_rps_win_36" }
}, new List<float>(8) { 1.7f, 0f, 3.5f, 5.25f, 5f, 4f, 4.5f, 3.5f }, 0f);
_rps_sniper_initiate_start = RegisterSound(new string[1][] { new string[2] { "Sniper_taunt_rps_int_03", "Sniper_taunt_rps_int_01" } }, new List<float>(1) { 0f }, 0f);
_rps_sniper_initiate_loop = RegisterSound(new string[1][] { new string[4] { "Sniper_taunt_rps_int_05", "Sniper_taunt_rps_int_06", "Sniper_taunt_rps_int_07", "Sniper_taunt_rps_int_11" } }, new List<float>(1) { 3f }, 3f);
_rps_sniper_loss = RegisterSound(new string[5][]
{
new string[1] { "Sniper_taunt_rps_exert_17" },
new string[1] { "Sniper_taunt_rps_exert_01" },
new string[1] { "Sniper_taunt_rps_exert_02" },
new string[1] { "Sniper_taunt_rps_exert_16" },
new string[5] { "Sniper_taunt_rps_lose_04", "Sniper_taunt_rps_lose_06", "Sniper_taunt_rps_lose_13", "Sniper_taunt_rps_lose_15", "Sniper_taunt_rps_lose_22" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 5.5f }, 0f);
_rps_sniper_winpaper = RegisterSound(new string[5][]
{
new string[1] { "Sniper_taunt_rps_exert_17" },
new string[1] { "Sniper_taunt_rps_exert_01" },
new string[1] { "Sniper_taunt_rps_exert_02" },
new string[1] { "Sniper_taunt_rps_exert_16" },
new string[2] { "Sniper_taunt_rps_win_14", "Sniper_taunt_rps_win_15" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_sniper_winrock = RegisterSound(new string[5][]
{
new string[1] { "Sniper_taunt_rps_exert_17" },
new string[1] { "Sniper_taunt_rps_exert_01" },
new string[1] { "Sniper_taunt_rps_exert_02" },
new string[1] { "Sniper_taunt_rps_exert_16" },
new string[2] { "Sniper_taunt_rps_win_18", "Sniper_taunt_rps_win_15" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_sniper_winscissors = RegisterSound(new string[5][]
{
new string[1] { "Sniper_taunt_rps_exert_17" },
new string[1] { "Sniper_taunt_rps_exert_01" },
new string[1] { "Sniper_taunt_rps_exert_02" },
new string[1] { "Sniper_taunt_rps_exert_16" },
new string[2] { "Sniper_taunt_rps_win_20", "Sniper_taunt_rps_win_15" }
}, new List<float>(5) { 0f, 1.7f, 2.178f, 2.656f, 3.5f }, 0f);
_rps_soldier_initiate = RegisterSound(new string[1][] { new string[5] { "Soldier_taunt_rps_int_01", "Soldier_taunt_rps_int_03", "Soldier_taunt_rps_int_05", "Soldier_taunt_rps_int_07", "Soldier_taunt_rps_int_08" } }, new List<float>(1) { 0f }, 3f);
_rps_soldier_loss = RegisterSound(new string[6][]
{
new string[1] { "Soldier_taunt_rps_exert_11" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Soldier_taunt_rps_exert_01" },
new string[6] { "Soldier_taunt_rps_lose_01", "Soldier_taunt_rps_lose_05", "Soldier_taunt_rps_lose_12", "Soldier_taunt_rps_lose_14", "Soldier_taunt_rps_lose_21", "Soldier_taunt_rps_lose_22" }
}, new List<float>(6) { 0f, 1.7f, 1.928f, 2.156f, 1.7f, 5.5f }, 0f);
_rps_soldier_winpaper = RegisterSound(new string[6][]
{
new string[1] { "Soldier_taunt_rps_exert_11" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Soldier_taunt_rps_exert_01" },
new string[1] { "Soldier_taunt_rps_win_55" }
}, new List<float>(6) { 0f, 1.7f, 1.928f, 2.156f, 1.7f, 3.5f }, 0f);
_rps_soldier_winrock = RegisterSound(new string[6][]
{
new string[1] { "Soldier_taunt_rps_exert_11" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Soldier_taunt_rps_exert_01" },
new string[1] { "Soldier_taunt_rps_win_57" }
}, new List<float>(6) { 0f, 1.7f, 1.928f, 2.156f, 1.7f, 3.5f }, 0f);
_rps_soldier_winscissors = RegisterSound(new string[6][]
{
new string[1] { "Soldier_taunt_rps_exert_11" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "item_boxing_gloves_pickup" },
new string[1] { "Soldier_taunt_rps_exert_01" },
new string[1] { "Soldier_taunt_rps_win_61" }
}, new List<float>(6) { 0f, 1.7f, 1.928f, 2.156f, 1.7f, 3.5f }, 0f);
_rps_spy_initiate = RegisterSound(new string[1][] { new string[6] { "Spy_rpshold01", "Spy_rpsstart01", "Spy_taunt_rps_int_01", "Spy_taunt_rps_int_05", "Spy_taunt_rps_int_07", "Spy_taunt_rps_int_08" } }, new List<float>(1) { 0f }, 3f);
_rps_spy_windup1 = RegisterSound(new string[3][]
{
new string[1] { "Spy_rpscountone01" },
new string[1] { "Spy_rpscounttwo01" },
new string[1] { "Spy_rpscountthree01" }
}, new List<float>(3) { 1.7f, 2.178f, 2.656f }, 0f);
_rps_spy_windup2 = RegisterSound(new string[3][]
{
new string[1] { "Spy_taunt_rps_exert_08" },
new string[1] { "Spy_taunt_rps_exert_09" },
new string[1] { "Spy_taunt_rps_exert_10" }
}, new List<float>(3) { 1.7f, 2.178f, 2.656f }, 0f);
_rps_spy_windup3 = RegisterSound(new string[3][]
{
new string[1] { "Spy_rpscountrock01" },
new string[1] { "Spy_rpscountpaper01" },
new string[1] { "Spy_rpscountscissor01" }
}, new List<float>(3) { 1.7f, 2.178f, 2.656f }, 0f);
_rps_spy_losspaper = RegisterSound(new string[1][] { new string[10] { "Spy_rpslose01", "Spy_rpslose02", "Spy_rpsregretrock01", "Spy_taunt_rps_lose_04", "Spy_taunt_rps_lose_05", "Spy_taunt_rps_lose_06", "Spy_taunt_rps_lose_09", "Spy_taunt_rps_lose_11", "Spy_taunt_rps_lose_12", "Spy_taunt_rps_lose_15" } }, new List<float>(1) { 5.5f }, 0f);
_rps_spy_lossrock = RegisterSound(new string[1][] { new string[10] { "Spy_rpslose01", "Spy_rpslose02", "Spy_rpsregretscissor01", "Spy_taunt_rps_lose_04", "Spy_taunt_rps_lose_05", "Spy_taunt_rps_lose_06", "Spy_taunt_rps_lose_09", "Spy_taunt_rps_lose_11", "Spy_taunt_rps_lose_12", "Spy_taunt_rps_lose_15" } }, new List<float>(1) { 5.5f }, 0f);
_rps_spy_lossscissors = RegisterSound(new string[1][] { new string[10] { "Spy_rpslose01", "Spy_rpslose02", "Spy_rpsregretpaper01", "Spy_taunt_rps_lose_04", "Spy_taunt_rps_lose_05", "Spy_taunt_rps_lose_06", "Spy_taunt_rps_lose_09", "Spy_taunt_rps_lose_11", "Spy_taunt_rps_lose_12", "Spy_taunt_rps_lose_15" } }, new List<float>(1) { 5.5f }, 0f);
_rps_spy_winpaper = RegisterSound(new string[1][] { new string[21]
{
"Spy_rpspaperwin01", "Spy_rpspaperwin02", "Spy_rpspaperwin03", "Spy_rpswin01", "Spy_rpswin02", "Spy_taunt_rps_win_02", "Spy_taunt_rps_win_03", "Spy_taunt_rps_win_09", "Spy_taunt_rps_win_11", "Spy_taunt_rps_win_12",
"Spy_taunt_rps_win_13", "Spy_taunt_rps_win_14", "Spy_taunt_rps_win_15", "Spy_taunt_rps_win_16", "Spy_taunt_rps_win_17", "Spy_taunt_rps_win_18", "Spy_taunt_rps_win_19", "Spy_taunt_rps_win_20", "Spy_taunt_rps_win_21", "Spy_taunt_rps_win_22",
"Spy_taunt_rps_win_23"
} }, new List<float>(1) { 3.5f }, 0f);
_rps_spy_winrock = RegisterSound(new string[1][] { new string[19]
{
"Spy_rpsrockwin01", "Spy_rpswin01", "Spy_rpswin02", "Spy_taunt_rps_win_02", "Spy_taunt_rps_win_03", "Spy_taunt_rps_win_09", "Spy_taunt_rps_win_11", "Spy_taunt_rps_win_12", "Spy_taunt_rps_win_13", "Spy_taunt_rps_win_14",
"Spy_taunt_rps_win_15", "Spy_taunt_rps_win_16", "Spy_taunt_rps_win_17", "Spy_taunt_rps_win_18", "Spy_taunt_rps_win_19", "Spy_taunt_rps_win_20", "Spy_taunt_rps_win_21", "Spy_taunt_rps_win_22", "Spy_taunt_rps_win_23"
} }, new List<float>(1) { 3.5f }, 0f);
_rps_spy_winscissors = RegisterSound(new string[1][] { new string[19]
{
"Spy_rpsscissorwin01", "Spy_rpswin01", "Spy_rpswin02", "Spy_taunt_rps_win_02", "Spy_taunt_rps_win_03", "Spy_taunt_rps_win_09", "Spy_taunt_rps_win_11", "Spy_taunt_rps_win_12", "Spy_taunt_rps_win_13", "Spy_taunt_rps_win_14",
"Spy_taunt_rps_win_15", "Spy_taunt_rps_win_16", "Spy_taunt_rps_win_17", "Spy_taunt_rps_win_18", "Spy_taunt_rps_win_19", "Spy_taunt_rps_win_20", "Spy_taunt_rps_win_21", "Spy_taunt_rps_win_22", "Spy_taunt_rps_win_23"
} }, new List<float>(1) { 3.5f }, 0f);
}
internal int RegisterSound(string[][] audioClipNames, List<float> delays, float repeatTimer)
{
return AudioContainerHolder.Setup(audioClipNames, delays, repeatTimer);
}
public void Rancho()
{
AddAnimation("Engi/Rancho/RanchoRelaxo", null, "Engi/Rancho/engiRanchoPassive", dimAudio: false, sync: false, "Rancho Relaxo", usePrevAnimationForJoinAnimation: false);
prevAnimation = BoneMapper.animClips.Last().Key;
AddAnimation("Engi/Rancho/engiRanchoBurp", "", "Engi/Rancho/engiRanchoPassive", dimAudio: false, sync: false, visibility: false, "Rancho Relaxo", usePrevAnimationForJoinAnimation: true);
AddAnimation("Engi/Rancho/engiRanchoBigDrink", "", "Engi/Rancho/engiRanchoPassive", dimAudio: false, sync: false, visibility: false, "Rancho Relaxo", usePrevAnimationForJoinAnimation: true);
AddAnimation("Engi/Rancho/engiRanchoQuickDrink", "", "Engi/Rancho/engiRanchoPassive", dimAudio: false, sync: false, visibility: false, "Rancho Relaxo", usePrevAnimationForJoinAnimation: true);
}
public void Laugh()
{
CustomEmotesAPI.AddNonAnimatingEmote("Schadenfreude", true);
prevAnimation = "Schadenfreude";
string item = AddHiddenAnimation(new string[1] { "Demo/Laugh/Demo_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Demoman_laughlong02.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Engi/Laugh/Engi_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Engineer_laughlong02.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Heavy/Laugh/Heavy_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Heavy_laugherbigsnort01.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Medic/Laugh/Medic_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Medic_laughlong01.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Pyro/Laugh/Pyro_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Pyro_laugh_addl04.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Scout/Laugh/Scout_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Scout_laughlong02.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Sniper/Laugh/Sniper_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Sniper_laughlong02.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Soldier/Laugh/Soldier_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Soldier_laughlong03.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Spy/Laugh/Spy_Laugh" }, (AudioClip[])(object)new AudioClip[1] { Assets.Load<AudioClip>("assets/audio dump/Spy_laughlong01.ogg") }, "Schadenfreude", usePrevAnimationForJoinAnimation: true);
Laugh_Emotes.Add(item);
}
public void Flip()
{
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0104: Unknown result type (might be due to invalid IL or missing references)
//IL_0109: Unknown result type (might be due to invalid IL or missing references)
//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
//IL_025b: Unknown result type (might be due to invalid IL or missing references)
//IL_0260: Unknown result type (might be due to invalid IL or missing references)
//IL_0265: Unknown result type (might be due to invalid IL or missing references)
//IL_0309: Unknown result type (might be due to invalid IL or missing references)
//IL_030e: Unknown result type (might be due to invalid IL or missing references)
//IL_0313: Unknown result type (might be due to invalid IL or missing references)
//IL_03b7: 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_0465: Unknown result type (might be due to invalid IL or missing references)
//IL_046a: Unknown result type (might be due to invalid IL or missing references)
//IL_046f: Unknown result type (might be due to invalid IL or missing references)
//IL_0513: Unknown result type (might be due to invalid IL or missing references)
//IL_0518: Unknown result type (might be due to invalid IL or missing references)
//IL_051d: Unknown result type (might be due to invalid IL or missing references)
//IL_05c1: Unknown result type (might be due to invalid IL or missing references)
//IL_05c6: Unknown result type (might be due to invalid IL or missing references)
//IL_05cb: Unknown result type (might be due to invalid IL or missing references)
CustomEmotesAPI.AddNonAnimatingEmote("Flippin' Awesome", true);
prevAnimation = "Flippin' Awesome";
string item = AddHiddenAnimation(new string[1] { "Demo/Flip/Demo_Flip_Start" }, new string[1] { "Demo/Flip/Demo_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Demo/Flip/Demo_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Demo/Flip/Demo_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Engi/Flip/Engi_Flip_Start" }, new string[1] { "Engi/Flip/Engi_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Engi/Flip/Engi_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Engi/Flip/Engi_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Heavy/Flip/Heavy_Flip_Start" }, new string[1] { "Heavy/Flip/Heavy_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Heavy/Flip/Heavy_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Heavy/Flip/Heavy_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Medic/Flip/Medic_Flip_Start" }, new string[1] { "Medic/Flip/Medic_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Medic/Flip/Medic_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Medic/Flip/Medic_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Pyro/Flip/Pyro_Flip_Start" }, new string[1] { "Pyro/Flip/Pyro_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Pyro/Flip/Pyro_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Pyro/Flip/Pyro_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Scout/Flip/Scout_Flip_Start" }, new string[1] { "Scout/Flip/Scout_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Scout/Flip/Scout_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Scout/Flip/Scout_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Sniper/Flip/Sniper_Flip_Start" }, new string[1] { "Sniper/Flip/Sniper_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Sniper/Flip/Sniper_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Sniper/Flip/Sniper_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Soldier/Flip/Soldier_Flip_Start" }, new string[1] { "Soldier/Flip/Soldier_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Soldier/Flip/Soldier_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Soldier/Flip/Soldier_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Spy/Flip/Spy_Flip_Start" }, new string[1] { "Spy/Flip/Spy_Flip_Wait" }, (JoinSpot[])(object)new JoinSpot[1]
{
new JoinSpot("FlipJoinSpot", new Vector3(0f, 0f, 1.5f))
}, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Wait_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Spy/Flip/Spy_Flip_Throw" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Throw_Emotes.Add(item);
item = AddHiddenAnimation(new string[1] { "Spy/Flip/Spy_Flip_Flip" }, "Flippin' Awesome", usePrevAnimationForJoinAnimation: true);
Flip_Flip_Emotes.Add(item);
}
public void RPS()
{
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
//IL_02f0: Unknown result type (might be due to invalid IL or missing references)
//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
//IL_02fa: Unknown result type (might be due to invalid IL or missing references)
//IL_043a: Unknown result type (might be due to invalid IL or missing references)
//IL_043f: Unknown result type (might be due to invalid IL or missing references)
//IL_0444: Unknown result type (might be due to invalid IL or missing references)
//IL_0584: Unknown result type (might be due to invalid IL or missing references)
//IL_0589: Unknown result type (might be due to invalid IL or missing references)
//IL_058e: Unknown result type (might be due to invalid IL or missing references)
//IL_06ce: Unknown result type (might be due to invalid IL or missing references)
//IL_06d3: Unknown result type (might be due to invalid IL or missing references)
//IL_06d8: Unknown result type (might be due to invalid IL or missing references)
//IL_0818: Unknown result type (might be due to invalid IL or missing references)
//IL_081d: Unknown result type (might be due to invalid IL or missing references)
//IL_0822: Unknown result type (might be due to invalid IL or missing references)
//IL_0962: Unknown result t