using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using HarmonyLib; using JerryComponent; using UnityEngine; using UnityEngine.Windows.Speech; [assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] namespace JerryAr.T72A_MBT_Russian_Patch { [BepInPlugin("JerryAr.T72A_MBT_Russian_Patch", "T72A_MBT_Russian_Patch", "0.0.3")] [BepInProcess("h3vr.exe")] [Description("Built with MeatKit")] public class T72A_MBT_Russian_PatchPlugin : BaseUnityPlugin { private static readonly string BasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); internal static ManualLogSource Logger; private void Awake() { Logger = ((BaseUnityPlugin)this).Logger; LoadAssets(); } private void LoadAssets() { Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "JerryAr.T72A_MBT_Russian_Patch"); } } } namespace JerryRus { [BepInPlugin("JerryDLL.JerryRus", "JRus", "1.0.0")] [BepInDependency("nrgill28.Sodalite", "1.4.1")] [BepInProcess("h3vr.exe")] public class T72ARussianPatch : BaseUnityPlugin { private TankCommanderVoiceControl driver; private TankCommanderVoiceControl2 gunner; private float cd = 5f; private KeywordRecognizer keyword; private Dictionary dic = new Dictionary(); private void Start() { //IL_0323: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Expected O, but got Unknown //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Expected O, but got Unknown dic.Add("Vaditsil. Sadiss.", DriverCrewOn); dic.Add("Vaditsil. Wuhahdee.", DriverCrewOff); dic.Add("Vaditsil. Zabusti.", EngineOn); dic.Add("Vaditsil. Vugliucheety.", EngineOff); dic.Add("Vaditsil. Beelio.", MoveFore); dic.Add("Vaditsil. Nazat.", MoveRear); dic.Add("Vaditsil. Slyeva.", TurnLeft); dic.Add("Vaditsil. Sblava.", TurnRight); dic.Add("Vaditsil. Sbilidee.", GoStraight); dic.Add("Vaditsil. Ostanavis.", HoldStop); dic.Add("Vaditsil. Artcleeti.", DriverHatchOpen); dic.Add("Vaditsil. Zacleevat.", DriverHatchClose); dic.Add("Navocheek. Sadiss.", GunnerCrewOn); dic.Add("Navocheek. Wuhahdee.", GunnerCrewOff); dic.Add("Navocheek. Slyeva.", GunnerTurnLeft2); dic.Add("Navocheek. Sblava.", GunnerTurnRight2); dic.Add("Navocheek. Wyeheh.", MoveUp2); dic.Add("Navocheek. Wunees.", MoveDown2); dic.Add("Navocheek. Ahgone.", FireCannon); dic.Add("Navocheek. Pulimeotnee ahgone.", FirePKT); dic.Add("Navocheek. Zahehvat tsiellia.", SeekTarget); dic.Add("Navocheek. Artmiyena.", CancelTarget); dic.Add("Navocheek. Artcleeti.", GunnerHatchOpen); dic.Add("Navocheek. Zacleevat.", GunnerHatchClose); dic.Add("Navocheek. Ostanavis.", GunnerHoldStop); dic.Add("Navocheek. Fugliuchee swiet.", IROn); dic.Add("Navocheek. Vugliucheety swiet.", IROff); dic.Add("Navocheek. Lazviernoot nym", Smoke); keyword = new KeywordRecognizer(dic.Keys.ToArray(), (ConfidenceLevel)2); ((PhraseRecognizer)keyword).OnPhraseRecognized += new PhraseRecognizedDelegate(Keyword_OnPhraseRecognized); ((PhraseRecognizer)keyword).Start(); } private void Keyword_OnPhraseRecognized(PhraseRecognizedEventArgs args) { Debug.Log((object)args.text); dic[args.text](); } private void FixedUpdate() { cd -= Time.deltaTime; if (cd <= 0f) { cd = 5f; if ((Object)(object)driver == (Object)null) { driver = Object.FindObjectOfType(); } if ((Object)(object)gunner == (Object)null) { gunner = Object.FindObjectOfType(); } } } public void DriverCrewOn() { if ((Object)(object)driver != (Object)null) { driver.CrewOn(); } } public void DriverCrewOff() { if ((Object)(object)driver != (Object)null) { driver.CrewOff(); } } public void EngineOn() { if ((Object)(object)driver != (Object)null) { driver.EngineOn(); } } public void EngineOff() { if ((Object)(object)driver != (Object)null) { driver.EngineOff(); } } public void MoveFore() { if ((Object)(object)driver != (Object)null) { driver.MoveFore(); } } public void MoveRear() { if ((Object)(object)driver != (Object)null) { driver.MoveRear(); } } public void TurnLeft() { if ((Object)(object)driver != (Object)null) { driver.TurnLeft(); } } public void TurnRight() { if ((Object)(object)driver != (Object)null) { driver.TurnRight(); } } public void MoveFore2() { if ((Object)(object)driver != (Object)null) { driver.MoveFore2(); } } public void TurnLeft2() { if ((Object)(object)driver != (Object)null) { driver.TurnLeft2(); } } public void TurnRight2() { if ((Object)(object)driver != (Object)null) { driver.TurnRight2(); } } public void GoStraight() { if ((Object)(object)driver != (Object)null) { driver.GoStraight(); } } public void HoldStop() { if ((Object)(object)driver != (Object)null) { driver.HoldStop(); } } public void DriverHatchOpen() { if ((Object)(object)driver != (Object)null) { driver.HatchOpen(); } } public void DriverHatchClose() { if ((Object)(object)driver != (Object)null) { driver.HatchClose(); } } public void LightOn() { if ((Object)(object)driver != (Object)null) { driver.LightOn(); } } public void LightOff() { if ((Object)(object)driver != (Object)null) { driver.LightOff(); } } public void GunnerCrewOn() { if ((Object)(object)gunner != (Object)null) { gunner.CrewOn(); } } public void GunnerCrewOff() { if ((Object)(object)gunner != (Object)null) { gunner.CrewOff(); } } public void MoveUp() { if ((Object)(object)gunner != (Object)null) { gunner.MoveUp(); } } public void MoveDown() { if ((Object)(object)gunner != (Object)null) { gunner.MoveDown(); } } public void GunnerTurnLeft() { if ((Object)(object)gunner != (Object)null) { gunner.TurnLeft(); } } public void GunnerTurnRight() { if ((Object)(object)gunner != (Object)null) { gunner.TurnRight(); } } public void MoveUp2() { if ((Object)(object)gunner != (Object)null) { gunner.MoveUp2(); } } public void MoveDown2() { if ((Object)(object)gunner != (Object)null) { gunner.MoveDown2(); } } public void GunnerTurnLeft2() { if ((Object)(object)gunner != (Object)null) { gunner.TurnRight(); } } public void GunnerTurnRight2() { if ((Object)(object)gunner != (Object)null) { gunner.TurnLeft(); } } public void FireCannon() { if ((Object)(object)gunner != (Object)null) { gunner.FireCannon(); } } public void FireSmoke() { if ((Object)(object)gunner != (Object)null) { gunner.FireSmoke(); } } public void FirePKT() { if ((Object)(object)gunner != (Object)null) { gunner.FirePKT(); } } public void GunnerHoldStop() { if ((Object)(object)gunner != (Object)null) { gunner.HoldStop(); } } public void GunnerHatchOpen() { if ((Object)(object)gunner != (Object)null) { gunner.HatchOpen(); } } public void GunnerHatchClose() { if ((Object)(object)gunner != (Object)null) { gunner.HatchClose(); } } public void SeekTarget() { if ((Object)(object)gunner != (Object)null) { gunner.SeekTarget(); } } public void LockTarget() { if ((Object)(object)gunner != (Object)null) { gunner.LockTarget(); } } public void CancelTarget() { if ((Object)(object)gunner != (Object)null) { gunner.CancelTarget(); } } public void IROn() { if ((Object)(object)gunner != (Object)null) { gunner.IROn(); } } public void IROff() { if ((Object)(object)gunner != (Object)null) { gunner.IROff(); } } public void Smoke() { if ((Object)(object)gunner != (Object)null) { gunner.FireSmoke(); } } private void OnDestroy() { ((PhraseRecognizer)keyword).Stop(); } } }