initial commit of all my mods

This commit is contained in:
CWX 2022-05-14 19:53:00 +01:00
commit ccec8fb09d
115 changed files with 1620 additions and 0 deletions

47
.gitignore vendored Normal file
View File

@ -0,0 +1,47 @@
## CWX-Mods
*.exe
*.zip
bin/
obj/
*.editorconfig
## visual studio
.vs
.idea
slnx.sqlite
slnx-journal.sqlite
## nodejs
node_modules
node.exe
package-lock.json
## windows
desktop.ini
## Archive
Archive/CWX-AirDrop/bin
Archive/CWX-AirDrop/obj
## Live
Live/CWX-BushWhacker/BushWhacker/bin
Live/CWX-BushWhacker/BushWhacker/obj
Live/CWX-DeSharpener/project/bin
Live/CWX-DeSharpener/project/obj
Live/CWX-MasterKey/CWX-MasterKey/bin
Live/CWX-MasterKey/CWX-MasterKey/obj
Live/CWX-VoiceAdder/VoiceAdd/bin
Live/CWX-VoiceAdder/VoiceAdd/obj
Live/CWX-WeatherPatcher/EFT.WeatherEditor/bin
Live/CWX-WeatherPatcher/EFT.WeatherEditor/obj
## WIP
WIP/CWX-BackpackReload/CWX-BackpackReload/bin
WIP/CWX-BackpackReload/CWX-BackpackReload/obj
WIP/CWX-BUNDLEMAKER/BUNDLEMAKER/bin
WIP/CWX-BUNDLEMAKER/BUNDLEMAKER/obj

View File

@ -0,0 +1,38 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<AssemblyName>CWX-BushWhacker</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Reference Include="Aki.Common">
<HintPath>shared\Aki.Common.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection">
<HintPath>shared\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>shared\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="BepInEx">
<HintPath>shared\BepInEx.dll</HintPath>
</Reference>
<Reference Include="Comfort">
<HintPath>shared\Comfort.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>shared\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>shared\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AssetBundleModule">
<HintPath>shared\UnityEngine.AssetBundleModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>shared\UnityEngine.CoreModule.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32407.343
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BushWhacker", "BushWhacker.csproj", "{FBA1D35B-1115-4333-8A6F-6F5884BD47D9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FBA1D35B-1115-4333-8A6F-6F5884BD47D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBA1D35B-1115-4333-8A6F-6F5884BD47D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBA1D35B-1115-4333-8A6F-6F5884BD47D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBA1D35B-1115-4333-8A6F-6F5884BD47D9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3C6E5DA0-E29A-467D-BF01-8B1DA4310A87}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,23 @@
using Aki.Reflection.Patching;
using EFT;
using System.Reflection;
using UnityEngine;
namespace BushWhacker
{
public class Patch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
var result = typeof(GameWorld).GetMethod("OnGameStarted", BindingFlags.Public | BindingFlags.Instance);
return result;
}
[PatchPostfix]
public static void PatchPostFix()
{
Debug.LogError("test patch");
BushWhacker.DisableBushes();
}
}
}

View File

@ -0,0 +1,31 @@
using BepInEx;
using Comfort.Common;
using EFT;
using EFT.Interactive;
using System.Linq;
using UnityEngine;
namespace BushWhacker
{
[BepInPlugin("com.cwx.bushwhacker", "cwx-bushwhacker", "1.0.0")]
public class BushWhacker : BaseUnityPlugin
{
public void Start()
{
new Patch().Enable();
}
public static void DisableBushes()
{
var gameWorld = Singleton<GameWorld>.Instance;
var bushes = GameObject.FindObjectsOfType<ObstacleCollider>().ToList();
foreach (var bushesItem in bushes)
{
if (bushesItem.transform.parent.gameObject.name.Contains("filbert") || bushesItem.transform.parent.gameObject.name.Contains("fibert"))
{
Object.DestroyImmediate(bushesItem);
}
}
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-DeSharpener]
[https://hub.sp-tarkov.com/files/file/455-cwx-desharpener/]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,12 @@
"use strict";
class ModMain {
constructor() {
const mod = require("./package.json");
this.modName = `${mod.author}-${mod.name}`;
Logger.info(`Loading: ${this.modName} : ${mod.version}`);
}
}
module.exports = new ModMain();

View File

@ -0,0 +1,9 @@
{
"name": "BUSHWHACKER",
"author": "CWX",
"version": "1.0.0",
"license": "NCSA",
"main": "package.js",
"akiVersion": "2.3.1"
}

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-DeSharpener]
[https://hub.sp-tarkov.com/files/file/455-cwx-desharpener/]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,5 @@
# BushWhacker
## CWX-BushWhacker for EFT - SPT-AKI
### CURRENT AKI VERSION: 2.3.1
### GAMEVERSION: 0.12.12.17349
### USING BEPINEX

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-DeSharpener]
[https://hub.sp-tarkov.com/files/file/455-cwx-desharpener/]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,12 @@
"use strict";
class ModMain {
constructor() {
const mod = require("./package.json");
this.modName = `${mod.author}-${mod.name}`;
Logger.info(`Loading: ${this.modName} : ${mod.version}`);
}
}
module.exports = new ModMain();

View File

@ -0,0 +1,9 @@
{
"name": "DESHARPENER",
"author": "CWX",
"version": "1.2.1",
"license": "NCSA",
"main": "package.js",
"akiVersion": "2.3.1"
}

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-DeSharpener]
[https://hub.sp-tarkov.com/files/file/455-cwx-desharpener/]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,5 @@
# DeSharpener
## CWX-DESHARPENER for EFT - SPT-AKI
### CURRENT AKI VERSION: 2.3.0
### GAMEVERSION: 0.12.12.16909
### USING BEPINEX

View File

@ -0,0 +1,35 @@
using System;
using System.Reflection;
using Aki.Reflection.Patching;
using Aki.Reflection.Utils;
using System.Linq;
namespace DeSharpener
{
public class DeSharpener : ModulePatch
{
private static Type _targetType;
public DeSharpener()
{
_targetType = PatchConstants.EftTypes.Single(IsTargetType);
}
private bool IsTargetType(Type type)
{
return type.GetMethod("UpdateAmount") != null && type.GetMethod("ChangeDefaultSharpenValue") != null;
}
protected override MethodBase GetTargetMethod()
{
return _targetType.GetMethod("UpdateAmount");
}
[PatchPrefix]
private static bool PatchPrefix()
{
return false;
}
}
}

View File

@ -0,0 +1,33 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<Version>1.3.0</Version>
<AssemblyName>CWX-DeSharpener</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Reference Include="Aki.Common">
<HintPath>shared\Aki.Common.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection">
<HintPath>shared\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>shared\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="BepInEx">
<HintPath>shared\BepInEx.dll</HintPath>
</Reference>
<Reference Include="ConfigurationManager">
<HintPath>shared\ConfigurationManager.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>shared\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>shared\UnityEngine.CoreModule.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31919.166
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeSharpener", "DeSharpener.csproj", "{42C0189E-B147-4111-94A1-E10F28F38870}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{42C0189E-B147-4111-94A1-E10F28F38870}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42C0189E-B147-4111-94A1-E10F28F38870}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42C0189E-B147-4111-94A1-E10F28F38870}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42C0189E-B147-4111-94A1-E10F28F38870}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4C134147-3E4F-456D-BAB7-90D04E1C6FDB}
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@ -0,0 +1,24 @@
using BepInEx;
using BepInEx.Configuration;
namespace DeSharpener
{
[BepInPlugin("com.CWX.DeSharpener", "CWX-DeSharpener", "1.3.0")]
public class Plugin : BaseUnityPlugin
{
public static ConfigEntry<float> sharpness;
private void Awake()
{
sharpness = Config.Bind
(
"Sharpness Value",
"Sharpness",
0.7f,
"Set the sharpness value for your game to run at, " +
"this will not change when using painkillers"
);
new DeSharpener().Enable();
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,40 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<RootNamespace>CWX_MasterKey</RootNamespace>
<AssemblyName>CWX-MasterKey</AssemblyName>
<Version>1.1.0</Version>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\BepInEx\core\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Aki.Common">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Aki.Common.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="BepInEx">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\BepInEx\core\BepInEx.dll</HintPath>
</Reference>
<Reference Include="Comfort">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Comfort.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32228.430
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CWX-MasterKey", "CWX-MasterKey.csproj", "{40BE277F-55BE-4579-9535-D1F5ED9CC549}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{40BE277F-55BE-4579-9535-D1F5ED9CC549}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40BE277F-55BE-4579-9535-D1F5ED9CC549}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40BE277F-55BE-4579-9535-D1F5ED9CC549}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40BE277F-55BE-4579-9535-D1F5ED9CC549}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {49967406-5073-428C-9A97-54A9CC1419D8}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,50 @@
using BepInEx;
using EFT.Interactive;
using System.Linq;
using UnityEngine;
namespace CWX_MasterKey
{
public class MasterKey
{
public static void Start()
{
var allDoors = GameObject.FindObjectsOfType<Door>().ToList(); // mechanical doors
var allKeyCardDoors = GameObject.FindObjectsOfType<KeycardDoor>().ToList(); // keycard doors
var allKeyContainers = GameObject.FindObjectsOfType<LootableContainer>().ToList(); // locked loot containers
var allTrunks = GameObject.FindObjectsOfType<Trunk>().ToList(); // locked car trunks
foreach (var door in allDoors) // mechanical doors
{
if (!door.KeyId.IsNullOrWhiteSpace() || !door.KeyId.IsNullOrEmpty())
{
door.KeyId = "5c1d0d6d86f7744bb2683e1f";
}
}
foreach (var door in allKeyCardDoors) // keycard doors
{
if (!door.KeyId.IsNullOrWhiteSpace() || !door.KeyId.IsNullOrEmpty())
{
door.KeyId = "5c1d0d6d86f7744bb2683e1f";
}
}
foreach (var door in allKeyContainers) // locked loot containers
{
if (!door.KeyId.IsNullOrWhiteSpace() || !door.KeyId.IsNullOrEmpty())
{
door.KeyId = "5c1d0d6d86f7744bb2683e1f";
}
}
foreach (var door in allTrunks) // locked car trunks
{
if (!door.KeyId.IsNullOrWhiteSpace() || !door.KeyId.IsNullOrEmpty())
{
door.KeyId = "5c1d0d6d86f7744bb2683e1f";
}
}
}
}
}

View File

@ -0,0 +1,23 @@
using System.Reflection;
using Aki.Reflection.Patching;
using Aki.Reflection.Utils;
using EFT;
namespace CWX_MasterKey
{
public class Patch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
var result = typeof(MainApplication).GetMethod("method_41", PatchConstants.PrivateFlags);
return result;
}
[PatchPostfix]
private static void PatchPostFix()
{
MasterKey.Start();
}
}
}

View File

@ -0,0 +1,14 @@
using BepInEx;
using UnityEngine;
namespace CWX_MasterKey
{
[BepInPlugin("com.CWX.MasterKey", "CWX-MasterKey", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
private void Awake()
{
new Patch().Enable();
}
}
}

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-MasterKey]
[]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,12 @@
"use strict";
class ModMain {
constructor() {
const mod = require("./package.json");
this.modName = `${mod.author}-${mod.name}`;
Logger.info(`Loading: ${this.modName} : ${mod.version}`);
}
}
module.exports = new ModMain();

View File

@ -0,0 +1,9 @@
{
"name": "MASTERKEY",
"author": "CWX",
"version": "1.1.2",
"license": "NCSA",
"main": "package.js",
"akiVersion": "2.3.1"
}

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-MasterKey]
[]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,5 @@
# MasterKey
## CWX-MASTERKEY for EFT - SPT-AKI
### CURRENT AKI VERSION: 2.3.0
### GAMEVERSION: 0.12.12.16909
### USING BEPINEX

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-VoiceAdder]
[]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,9 @@
# VOICEADD
## CWX-VOICEADD for EFT - SPT-AKI
### CURRENT AKI VERSION: 2.3.0
### GAMEVERSION: 0.12.12.16909
### USING BEPINEX
### two version, test build is a coremod approach, where it can be a standalone mod and people add a Key:value to the json
### VoiceAdd is a standalone version you add to your own mod, compile with you mods folder path

View File

@ -0,0 +1,5 @@
Compile to your own path
updated for BepinEx
16909 client
2.3.0 SPT-AKI

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.32014.148
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VoiceAdder", "VoiceAdder.csproj", "{0D952FD6-5529-4645-A97C-7F2C8CE09B48}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2785F010-1CDA-4009-880B-75F47A8B9553}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,32 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<AssemblyName>VoiceAdder</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\BepInEx\core\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="BepInEx">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\BepInEx\core\BepInEx.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\AKI 2.3.0 17107 Bepin\EscapeFromTarkov_Data\Managed\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\Valens-HasThePower\ValensHasThePower\shared\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>..\..\Valens-HasThePower\ValensHasThePower\shared\UnityEngine.CoreModule.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,47 @@
using Aki.Reflection.Patching;
using Aki.Reflection.Utils;
using HarmonyLib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Newtonsoft.Json;
using System.IO;
namespace VoiceAdd
{
public class VoicePatch : ModulePatch
{
private static Type _targetType;
public VoicePatch()
{
_targetType = PatchConstants.EftTypes.Single(IsTargetType);
}
private bool IsTargetType(Type type)
{
return type.GetMethod("TakePhrasePath") != null;
}
protected override MethodBase GetTargetMethod()
{
return _targetType.GetMethod("TakePhrasePath");
}
[PatchPrefix]
private static void PatchPrefix()
{
string json = new StreamReader("./user/mods/StalkerVoices/voices.json").ReadToEnd();
Dictionary<string, string> voices = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
Dictionary<string, string> value = Traverse.Create(_targetType).Field<Dictionary<string, string>>("dictionary_0").Value;
foreach (var voicename in voices.Keys)
{
voices.TryGetValue(voicename, out var voicebundle);
if (!value.ContainsKey(voicename))
value.Add(voicename, voicebundle);
}
}
}
}

View File

@ -0,0 +1,14 @@
using BepInEx;
namespace VoiceAdd
{
[BepInPlugin("com.CWX.VoiceAdder", "CWX-VoiceAdder", "2.0.0")]
public class Plugin : BaseUnityPlugin
{
private void Start()
{
Logger.LogInfo("Loading: CWX-VoiceAdder - V2.0.0");
new VoicePatch().Enable();
}
}
}

View File

@ -0,0 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<AssemblyName>module</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\2.2.3 build - client 16909\EscapeFromTarkov_Data\Managed\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Aki.Common">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\2.2.3 build - client 16909\EscapeFromTarkov_Data\Managed\Aki.Common.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\2.2.3 build - client 16909\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\2.2.3 build - client 16909\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\..\..\..\..\..\..\AKI PROJECT\2.2.3 build - client 16909\EscapeFromTarkov_Data\Managed\Newtonsoft.Json.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.32014.148
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VoiceAdd", "VoiceAdd.csproj", "{0D952FD6-5529-4645-A97C-7F2C8CE09B48}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D952FD6-5529-4645-A97C-7F2C8CE09B48}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2785F010-1CDA-4009-880B-75F47A8B9553}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,52 @@
using Aki.Common.Utils;
using Aki.Reflection.Patching;
using Aki.Reflection.Utils;
using HarmonyLib;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
namespace VoiceAdd
{
public class VoicePatch : ModulePatch
{
private static Type _targetType;
public static string CurrentDirectory { get; set; }
public VoicePatch()
{
_targetType = PatchConstants.EftTypes.Single(IsTargetType);
}
private bool IsTargetType(Type type)
{
return type.GetMethod("TakePhrasePath") != null;
}
protected override MethodBase GetTargetMethod()
{
return _targetType.GetMethod("TakePhrasePath");
}
[PatchPrefix]
private static void PatchPrefix()
{
var currentDirectory = System.IO.Directory.GetCurrentDirectory();
var modDirectory = currentDirectory + "/user/mods/CWX_VoiceAdder/";
string json = new StreamReader(modDirectory + "voices.json").ReadToEnd();
Dictionary<string, string> voices = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
Dictionary<string, string> value = Traverse.Create(_targetType).Field<Dictionary<string, string>>("dictionary_0").Value;
foreach (var voicename in voices.Keys)
{
voices.TryGetValue(voicename, out var voicebundle);
if (!value.ContainsKey(voicename))
value.Add(voicename, voicebundle);
}
}
}
}

View File

@ -0,0 +1,13 @@
using Aki.Common.Utils;
namespace VoiceAdd
{
public class Program
{
static void Main(string[] args)
{
Log.Info("Loading: CWX-VoiceAdd");
new VoicePatch().Enable();
}
}
}

View File

@ -0,0 +1 @@
allows a "coreMod" approach

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-WeatherPatcher]
[https://hub.sp-tarkov.com/files/file/319-cwx-weatherpatcher/]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,12 @@
"use strict";
class ModMain {
constructor() {
const mod = require("./package.json");
this.modName = `${mod.author}-${mod.name}`;
Logger.info(`Loading: ${this.modName} : ${mod.version}`);
}
}
module.exports = new ModMain();

View File

@ -0,0 +1,9 @@
{
"name": "WEATHERPATCHER",
"author": "CWX",
"version": "2.2.3",
"license": "NCSA",
"main": "package.js",
"akiVersion": "2.3.1"
}

View File

@ -0,0 +1,13 @@

namespace CWX_WeatherPatch
{
public class JSONClass
{
public float Cloudness { get; set; }
public int WindDirection { get; set; }
public float Wind { get; set; }
public float Rain { get; set; }
public float RainRandomness { get; set; }
}
}

View File

@ -0,0 +1,51 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile>
<DelaySign>false</DelaySign>
<Version>3.0.0</Version>
<AssemblyName>CWX-WeatherPatcher</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Reference Include="Aki.Common">
<HintPath>shared\Aki.Common.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection">
<HintPath>shared\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>shared\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="BepInEx">
<HintPath>shared\BepInEx.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>shared\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>shared\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>shared\UnityEngine.CoreModule.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project>

View File

@ -0,0 +1,34 @@
using Aki.Common.Utils;
using Aki.Reflection.Patching;
using CWX_WeatherPatch;
using Newtonsoft.Json;
using System.IO;
using System.Reflection;
namespace CWX_WeatherPatcher
{
class CWX_WeatherPatch1 : ModulePatch // MAKES CHANGES TO GClass1694 SMETHOD_0
{
protected override MethodBase GetTargetMethod()
{
return typeof(GClass1691).GetMethod("smethod_0", BindingFlags.NonPublic | BindingFlags.Static);
}
[PatchPostfix]
private static void PatchPostfix(ref GClass1691 __result)
{
__result.Cloudness = -1;
__result.WindDirection = 8;
__result.Wind = 0;
__result.Rain = 0;
__result.RainRandomness = 0;
__result.ScaterringFogDensity = 0;
__result.GlobalFogDensity = 0;
__result.GlobalFogHeight = 0;
Logger.LogMessage("MADE CHANGES TO GClass1694 SMETHOD_0!");
}
}
}

View File

@ -0,0 +1,21 @@
using Aki.Reflection.Patching;
using System.Reflection;
namespace CWX_WeatherPatcher
{
class CWX_WeatherPatch2 : ModulePatch // MAKES CHANGES TO CUSTOMGLOBALFOG
{
protected override MethodBase GetTargetMethod()
{
return typeof(CustomGlobalFog).GetMethod("Start", BindingFlags.NonPublic | BindingFlags.Instance);
}
[PatchPostfix]
private static void PostFixPatch(ref CustomGlobalFog __instance)
{
__instance.FuncStart = 0f;
Logger.LogMessage("MADE CHANGES TO CUSTOMGLOBALFOG!");
}
}
}

View File

@ -0,0 +1,21 @@
using Aki.Reflection.Patching;
using System.Reflection;
namespace CWX_WeatherPatcher
{
class CWX_WeatherPatch3 : ModulePatch // MAKES CHANGES TO LEVELSETTINGS
{
protected override MethodBase GetTargetMethod()
{
return typeof(LevelSettings).GetMethod("ApplySettings", BindingFlags.Public | BindingFlags.Instance);
}
[PatchPostfix]
private static void PostFixPatch(ref LevelSettings __instance)
{
__instance.fog = false;
__instance.fogEndDistance = 0f;
Logger.LogMessage("MADE CHANGES TO LEVELSETTINGS!");
}
}
}

View File

@ -0,0 +1,21 @@
using Aki.Reflection.Patching;
using System.Reflection;
namespace CWX_WeatherPatcher
{
class CWX_WeatherPatch4 : ModulePatch // MAKES CHANGES TO TOD_SCATTERING FOG
{
protected override MethodBase GetTargetMethod()
{
return typeof(TOD_Scattering).GetMethod("Start", BindingFlags.NonPublic | BindingFlags.Instance);
}
[PatchPostfix]
private static void PostFixPatch(ref TOD_Scattering __instance)
{
__instance.GlobalDensity = 0f;
__instance.HeightFalloff = 0f;
Logger.LogMessage("MADE CHANGES TO TOD_SCATTERING FOG!");
}
}
}

View File

@ -0,0 +1,24 @@
using System.Reflection;
using Aki.Reflection.Patching;
using Aki.Reflection.Utils;
using CWX_WeatherPatcher;
using EFT;
namespace CWX_WeatherPatch
{
public class CWX_WeatherPatch5 : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
var result = typeof(MainApplication).GetMethod("method_41", PatchConstants.PrivateFlags);
return result;
}
[PatchPostfix]
private static void PatchPostFix()
{
Plugin.Fix();
}
}
}

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31702.278
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CWX_WeatherPatch", "CWX_WeatherPatch.csproj", "{0E6813D8-8989-4643-9D11-138F21CE4963}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0E6813D8-8989-4643-9D11-138F21CE4963}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E6813D8-8989-4643-9D11-138F21CE4963}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E6813D8-8989-4643-9D11-138F21CE4963}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E6813D8-8989-4643-9D11-138F21CE4963}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E84BA04F-3B5F-41C9-AFCA-13430F58937A}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,8 @@
// This file is used by Code Analysis to maintain SuppressMessage
// attributes that are applied to this project.
// Project-level suppressions either have no target or are given
// a specific target and scoped to a namespace, type, member, etc.
using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "<Pending>", Scope = "member", Target = "~M:EFT.WeatherPatch.Program.Main(System.String[])")]

Binary file not shown.

View File

@ -0,0 +1,38 @@
using BepInEx;
using CWX_WeatherPatch;
using EFT.Weather;
namespace CWX_WeatherPatcher
{
[BepInPlugin("com.CWX.WeatherPatcher", "CWX-WeatherPatcher", "3.0.0")]
public class Plugin : BaseUnityPlugin
{
private void Awake()
{
Logger.LogMessage("Loading: CWX-WeatherPatcher - V3.0.0");
new CWX_WeatherPatch1().Enable();
new CWX_WeatherPatch2().Enable();
new CWX_WeatherPatch3().Enable();
new CWX_WeatherPatch4().Enable();
new CWX_WeatherPatch5().Enable();
}
public static void Fix()
{
var instance = WeatherController.Instance;
if (instance != null)
{
instance.RainController.enabled = false;
instance.LightningController.enabled = false;
var debug = WeatherController.Instance.WeatherDebug;
debug.Enabled = true;
debug.CloudDensity = -1f;
debug.Fog = 0f;
debug.Rain = 0f;
debug.LightningThunderProbability = 0f;
}
}
}
}

View File

@ -0,0 +1,7 @@
{
"Cloudness": -1,
"WindDirection": 8,
"Wind": 0,
"Rain": 0,
"RainRandomness": 0
}

View File

@ -0,0 +1,35 @@
University of Illinois/NCSA Open Source License
Copyright (c) [year] [fullname]. All rights reserved.
Developed by:
[CWX]
[https://github.com/CWXDEV/CWX-WeatherPatcher]
[https://hub.sp-tarkov.com/files/file/319-cwx-weatherpatcher/]
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal with the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of [fullname], [project] nor the names of its
contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.

View File

@ -0,0 +1,5 @@
# WeatherPatcher
## CWX-WEATHERPATCHER for EFT - SPT-AKI
### CURRENT AKI VERSION: 2.3.0
### GAMEVERSION: 0.12.12.15.16909
### USING BEPINEX

16
README.md Normal file
View File

@ -0,0 +1,16 @@
# All in One CWX-Mods
## currently for EFT - SPT-AKI. - 2.3.1
### Archive
- CWX-AirDrop
### Live
- CWX-BushWhacker
- CWX-DeSharpener
- CWX-MasterKey
- CWX-VoiceAdder
- CWX-WeatherPatcher
### Work in Progress (WIP)
- CWX-BackpackReload
- CWX-BUNDLEMAKER

View File

@ -0,0 +1,41 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<AssemblyName>BUNDLEMAKER</AssemblyName>
<Description>BUNDLEMAKER</Description>
<Version>1.0.0</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="Aki.Common">
<HintPath>shared\Aki.Common.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection">
<HintPath>shared\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>shared\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="BepInEx">
<HintPath>shared\BepInEx.dll</HintPath>
</Reference>
<Reference Include="Comfort">
<HintPath>shared\Comfort.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>shared\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AssetBundleModule">
<HintPath>shared\UnityEngine.AssetBundleModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AudioModule">
<HintPath>shared\UnityEngine.AudioModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>shared\UnityEngine.CoreModule.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32407.343
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BUNDLEMAKER", "BUNDLEMAKER.csproj", "{B6A26948-08BE-4B07-9475-6A2DB4DEFB8C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B6A26948-08BE-4B07-9475-6A2DB4DEFB8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6A26948-08BE-4B07-9475-6A2DB4DEFB8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6A26948-08BE-4B07-9475-6A2DB4DEFB8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6A26948-08BE-4B07-9475-6A2DB4DEFB8C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4DFC2335-8794-4C95-B76D-B583D7E3ABB9}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>

View File

@ -0,0 +1,45 @@
using BepInEx;
using Aki.Reflection.Patching;
using System.Reflection;
using EFT;
using UnityEngine;
namespace BUNDLEMAKER
{
[BepInPlugin("com.cwx.bundlemaker", "CWX-BUNDLEMAKER", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
private void Start()
{
new Patch().Enable();
Logger.LogInfo("Plugin CWX-BUNDLEMAKER is loaded!");
}
private void Update()
{
}
public static void LoadAssets()
{
AssetBundle target = AssetBundle.LoadFromFile("C:/AKI PROJECT/AKI 17686/EscapeFromTarkov_Data/StreamingAssets/Windows/assets/custom/helicrash");
GameObject targetGameObject = (GameObject)target.LoadAsset("Hind");
Instantiate(targetGameObject);
targetGameObject.transform.position = new Vector3(239.8987f, -2.06f, 89.7596f);
targetGameObject.transform.rotation = Quaternion.Euler(286.1528f, 44.3206f, 8.1589f);
}
}
public class Patch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
return typeof(GameWorld).GetMethod("OnGameStarted", BindingFlags.Public | BindingFlags.Instance);
}
[PatchPostfix]
private static void PatchPostFix()
{
Plugin.LoadAssets();
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More