Add project files.

This commit is contained in:
dvize
2023-04-14 10:33:18 -07:00
commit f0f733bd71
99 changed files with 8702 additions and 0 deletions

63
.gitattributes vendored Normal file
View File

@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

364
.gitignore vendored Normal file
View File

@@ -0,0 +1,364 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
/.config/dotnet-tools.json

98
ASS.csproj Normal file
View File

@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{967E5737-8917-4C2B-A0A4-B2B553498462}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>armorMod.ASS</RootNamespace>
<AssemblyName>armorMod.ASS</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony, Version=2.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\BepInEx\core\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Aki.Build">
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Build.dll</HintPath>
</Reference>
<Reference Include="Aki.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Common.dll</HintPath>
</Reference>
<Reference Include="Aki.Reflection, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="BepInEx, Version=5.4.21.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\BepInEx\core\BepInEx.dll</HintPath>
</Reference>
<Reference Include="Comfort, Version=1.0.0.4, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.dll</HintPath>
</Reference>
<Reference Include="Comfort.Unity, Version=1.0.0.4, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.Unity.dll</HintPath>
</Reference>
<Reference Include="ItemComponent.Types, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemComponent.Types.dll</HintPath>
</Reference>
<Reference Include="ItemTemplate.Types, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemTemplate.Types.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="UnityEngine, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Plugin.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy "$(TargetPath)" "F:\SPT-AKI\BepInEx\plugins\dvize.ASS.dll"</PostBuildEvent>
</PropertyGroup>
</Project>

25
ASS.sln Normal file
View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33205.214
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASS", "ASS.csproj", "{967E5737-8917-4C2B-A0A4-B2B553498462}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{967E5737-8917-4C2B-A0A4-B2B553498462}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{967E5737-8917-4C2B-A0A4-B2B553498462}.Debug|Any CPU.Build.0 = Debug|Any CPU
{967E5737-8917-4C2B-A0A4-B2B553498462}.Release|Any CPU.ActiveCfg = Release|Any CPU
{967E5737-8917-4C2B-A0A4-B2B553498462}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A22BA89D-F884-4F59-9D1D-A5C72E1CD38D}
EndGlobalSection
EndGlobal

21
LICENSE.txt Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) [year] [fullname]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in 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:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
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
AUTHORS 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 IN THE
SOFTWARE.

172
Plugin.cs Normal file
View File

@@ -0,0 +1,172 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Threading.Tasks;
using BepInEx;
using BepInEx.Configuration;
using Comfort.Common;
using EFT;
using EFT.InventoryLogic;
using HarmonyLib;
using UnityEngine;
namespace armorMod
{
[BepInPlugin("com.armorMod.ASS", "armorMod.ASS", "1.0.0")]
public class ASS : BaseUnityPlugin
{
private ConfigEntry<Boolean> ArmorServiceMode
{
get; set;
}
private static ConfigEntry<float> TimeDelayRepairInSec
{
get; set;
}
private static ConfigEntry<float> ArmorRepairRateOverTime
{
get; set;
}
private AbstractGame game;
private bool runOnceAlready = false;
private bool newGame = true;
private float newRepairRate;
private ArmorComponent armor;
private static float timeSinceLastHit = 0f;
private readonly Dictionary<EquipmentSlot, List<Item>> equipmentSlotDictionary = new Dictionary<EquipmentSlot, List<Item>>
{
{ EquipmentSlot.ArmorVest, new List<Item>() },
{ EquipmentSlot.TacticalVest, new List<Item>() },
{ EquipmentSlot.Eyewear, new List<Item>() },
{ EquipmentSlot.FaceCover, new List<Item>() },
{ EquipmentSlot.Headwear, new List<Item>() }
};
internal void Awake()
{
ArmorServiceMode = Config.Bind("Armor Repair Settings", "Enable/Disable Mod", true, "Enables the Armor Repairing Options Below");
TimeDelayRepairInSec = Config.Bind("Armor Repair Settings", "Time Delay Repair in Sec", 10f, "How Long Before you were last hit that it repairs armor");
ArmorRepairRateOverTime = Config.Bind("Armor Repair Settings", "Armor Repair Rate", 1f, "How much durability per second is repaired");
}
private void Update()
{
try
{
game = Singleton<AbstractGame>.Instance;
if (game.InRaid && Camera.main.transform.position != null && newGame && ArmorServiceMode.Value)
{
var player = Singleton<GameWorld>.Instance.MainPlayer;
timeSinceLastHit += Time.deltaTime;
if (!runOnceAlready && game.Status == GameStatus.Started)
{
Logger.LogDebug("ASS: Attaching events");
player.BeingHitAction += Player_BeingHitAction;
player.OnPlayerDeadOrUnspawn += Player_OnPlayerDeadOrUnspawn;
runOnceAlready = true;
}
RepairArmor();
}
}
catch { }
}
private void RepairArmor()
{
//if the time since we were last hit exceeds TimeDelayRepairInSec.Value then repair all armor
if (timeSinceLastHit >= TimeDelayRepairInSec.Value)
{
//Logger.LogInfo($"Repairing Armor Block Reached Because TimeSinceLastHitReached: " + timeSinceLastHit);
//repair the armor divided by the time.unfixed rate
newRepairRate = ArmorRepairRateOverTime.Value * Time.deltaTime;
foreach (EquipmentSlot slot in equipmentSlotDictionary.Keys.ToArray())
{
Logger.LogInfo("ASS: Checking EquipmentSlot: " + slot);
Slot tempSlot = getEquipSlot(slot);
if (tempSlot == null || tempSlot.ContainedItem == null)
{
continue;
}
foreach (var item in tempSlot.ContainedItem.GetAllItems())
{
//get the armorcomponent of each item in items and check to see if all item componenets (even helmet side ears) are max durability
armor = item.GetItemComponent<ArmorComponent>();
//check if it needs repair for the current item in loop of all items for the slot
if (armor != null && (armor.Repairable.Durability < armor.Repairable.MaxDurability))
{
//increase armor durability by newRepairRate until maximum then set as maximum durability
if (armor.Repairable.Durability + newRepairRate >= armor.Repairable.MaxDurability)
{
armor.Repairable.Durability = armor.Repairable.MaxDurability;
//Logger.LogInfo("ASS: Setting MaxDurability for " + item.LocalizedName());
}
else
{
armor.Repairable.Durability += newRepairRate;
//Logger.LogInfo("ASS: Repairing " + item.LocalizedName() + " : " + armor.Repairable.Durability + "/" + armor.Repairable.MaxDurability);
}
}
}
}
}
}
private void Player_BeingHitAction(DamageInfo dmgInfo, EBodyPart bodyPart, float hitEffectId) => timeSinceLastHit = 0f;
private void Player_OnPlayerDeadOrUnspawn(Player player)
{
Logger.LogDebug("ASS: Undo all events");
player.BeingHitAction -= Player_BeingHitAction;
player.OnPlayerDeadOrUnspawn -= Player_OnPlayerDeadOrUnspawn;
runOnceAlready = false;
newGame = false;
Task.Delay(TimeSpan.FromSeconds(15)).ContinueWith(_ =>
{
// Set newGame = true after the timer is finished so it doesn't execute the events right away
newGame = true;
});
}
private Slot slotContents;
private InventoryControllerClass inventoryController;
private Slot getEquipSlot(EquipmentSlot slot)
{
var player = Singleton<GameWorld>.Instance.MainPlayer;
// Use AccessTools to get the protected field _inventoryController
inventoryController = (InventoryControllerClass)AccessTools.Field(typeof(Player), "_inventoryController").GetValue(player);
if (inventoryController != null)
{
slotContents = inventoryController.Inventory.Equipment.GetSlot(slot);
if (slotContents.ContainedItem == null)
{
return null;
}
return slotContents;
}
return null;
}
}
}

View File

@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("armorMod.ASS")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("armorMod.ASS")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(true)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("967e5737-8917-4c2b-a0a4-b2b553498462")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

4
packages.config Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="HPCsharp" version="3.16.5" targetFramework="net472" />
</packages>

BIN
references/0Harmony.dll Normal file

Binary file not shown.

4288
references/0Harmony.xml Normal file

File diff suppressed because it is too large Load Diff

BIN
references/0Harmony20.dll Normal file

Binary file not shown.

BIN
references/Aki.Build.dll Normal file

Binary file not shown.

BIN
references/Aki.Common.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,86 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>BepInEx.Harmony</name>
</assembly>
<members>
<member name="T:BepInEx.Harmony.ParameterByRefAttribute">
<summary>
Specifies the indices of parameters that are ByRef.
</summary>
</member>
<member name="P:BepInEx.Harmony.ParameterByRefAttribute.ParameterIndices">
<summary>
The indices of parameters that are ByRef.
</summary>
</member>
<member name="M:BepInEx.Harmony.ParameterByRefAttribute.#ctor(System.Int32[])">
<param name="parameterIndices">The indices of parameters that are ByRef.</param>
</member>
<member name="T:BepInEx.Harmony.HarmonyExtensions">
<summary>
An extension class for Harmony based operations.
</summary>
</member>
<member name="M:BepInEx.Harmony.HarmonyExtensions.PatchAll(HarmonyLib.Harmony,System.Type)">
<summary>
Applies all patches specified in the type.
</summary>
<param name="harmonyInstance">The HarmonyInstance to use.</param>
<param name="type">The type to scan.</param>
</member>
<member name="T:BepInEx.Harmony.HarmonyWrapper">
<summary>
A wrapper for Harmony based operations.
</summary>
</member>
<member name="M:BepInEx.Harmony.HarmonyWrapper.PatchAll(System.Type,HarmonyLib.Harmony)">
<summary>
Applies all patches specified in the type.
</summary>
<param name="type">The type to scan.</param>
<param name="harmonyInstance">The HarmonyInstance to use.</param>
</member>
<member name="M:BepInEx.Harmony.HarmonyWrapper.PatchAll(System.Type,System.String)">
<summary>
Applies all patches specified in the type.
</summary>
<param name="type">The type to scan.</param>
<param name="harmonyInstanceId">The ID for the Harmony instance to create, which will be used.</param>
</member>
<member name="M:BepInEx.Harmony.HarmonyWrapper.PatchAll(System.Reflection.Assembly,HarmonyLib.Harmony)">
<summary>
Applies all patches specified in the assembly.
</summary>
<param name="assembly">The assembly to scan.</param>
<param name="harmonyInstance">The HarmonyInstance to use.</param>
</member>
<member name="M:BepInEx.Harmony.HarmonyWrapper.PatchAll(System.Reflection.Assembly,System.String)">
<summary>
Applies all patches specified in the assembly.
</summary>
<param name="assembly">The assembly to scan.</param>
<param name="harmonyInstanceId">The ID for the Harmony instance to create, which will be used.</param>
</member>
<member name="M:BepInEx.Harmony.HarmonyWrapper.PatchAll(HarmonyLib.Harmony)">
<summary>
Applies all patches specified in the calling assembly.
</summary>
<param name="harmonyInstance">The Harmony instance to use.</param>
</member>
<member name="M:BepInEx.Harmony.HarmonyWrapper.PatchAll(System.String)">
<summary>
Applies all patches specified in the calling assembly.
</summary>
<param name="harmonyInstanceId">The ID for the Harmony instance to create, which will be used.</param>
</member>
<member name="M:BepInEx.Harmony.HarmonyWrapper.EmitDelegate``1(``0)">
<summary>
Returns an instruction to call the specified delegate.
</summary>
<typeparam name="T">The delegate type to emit.</typeparam>
<param name="action">The delegate to emit.</param>
<returns>The instruction to </returns>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,169 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>BepInEx.Preloader</name>
</assembly>
<members>
<member name="T:BepInEx.Preloader.EnvVars">
<summary>
Doorstop environment variables, passed into the BepInEx preloader.
<para>https://github.com/NeighTools/UnityDoorstop/wiki#environment-variables</para>
</summary>
</member>
<member name="P:BepInEx.Preloader.EnvVars.DOORSTOP_INVOKE_DLL_PATH">
<summary>
Path to the assembly that was invoked via Doorstop. Contains the same value as in "targetAssembly" configuration option in the config file.
</summary>
</member>
<member name="P:BepInEx.Preloader.EnvVars.DOORSTOP_MANAGED_FOLDER_DIR">
<summary>
Full path to the game's "Managed" folder that contains all the game's managed assemblies
</summary>
</member>
<member name="P:BepInEx.Preloader.EnvVars.DOORSTOP_PROCESS_PATH">
<summary>
Full path to the game executable currently running.
</summary>
</member>
<member name="P:BepInEx.Preloader.EnvVars.DOORSTOP_DLL_SEARCH_DIRS">
<summary>
Array of paths where Mono searches DLLs from before assembly resolvers are invoked.
</summary>
</member>
<member name="T:BepInEx.Preloader.Patching.AssemblyPatcherDelegate">
<summary>
Delegate used in patching assemblies.
</summary>
<param name="assembly">The assembly that is being patched.</param>
</member>
<member name="T:BepInEx.Preloader.Patching.AssemblyPatcher">
<summary>
Worker class which is used for loading and patching entire folders of assemblies, or alternatively patching and
loading assemblies one at a time.
</summary>
</member>
<member name="P:BepInEx.Preloader.Patching.AssemblyPatcher.PatcherPlugins">
<summary>
List of all patcher plugins to be applied
</summary>
</member>
<member name="M:BepInEx.Preloader.Patching.AssemblyPatcher.AddPatcher(BepInEx.Preloader.Patching.PatcherPlugin)">
<summary>
Adds a single assembly patcher to the pool of applicable patches.
</summary>
<param name="patcher">Patcher to apply.</param>
</member>
<member name="M:BepInEx.Preloader.Patching.AssemblyPatcher.AddPatchersFromDirectory(System.String)">
<summary>
Adds all patchers from all managed assemblies specified in a directory.
</summary>
<param name="directory">Directory to search patcher DLLs from.</param>
</member>
<member name="M:BepInEx.Preloader.Patching.AssemblyPatcher.DisposePatchers">
<summary>
Releases all patchers to let them be collected by GC.
</summary>
</member>
<member name="M:BepInEx.Preloader.Patching.AssemblyPatcher.PatchAndLoad(System.String[])">
<summary>
Applies patchers to all assemblies in the given directory and loads patched assemblies into memory.
</summary>
<param name="directories">Directories to load CLR assemblies from in their search order.</param>
</member>
<member name="M:BepInEx.Preloader.Patching.AssemblyPatcher.Load(Mono.Cecil.AssemblyDefinition,System.String)">
<summary>
Loads an individual assembly definition into the CLR.
</summary>
<param name="assembly">The assembly to load.</param>
<param name="filename">File name of the assembly being loaded.</param>
</member>
<member name="T:BepInEx.Preloader.Patching.PatcherPlugin">
<summary>
A single assembly patcher.
</summary>
</member>
<member name="P:BepInEx.Preloader.Patching.PatcherPlugin.TargetDLLs">
<summary>
Target assemblies to patch.
</summary>
</member>
<member name="P:BepInEx.Preloader.Patching.PatcherPlugin.Initializer">
<summary>
Initializer method that is run before any patching occurs.
</summary>
</member>
<member name="P:BepInEx.Preloader.Patching.PatcherPlugin.Finalizer">
<summary>
Finalizer method that is run after all patching is done.
</summary>
</member>
<member name="P:BepInEx.Preloader.Patching.PatcherPlugin.Patcher">
<summary>
The main patcher method that is called on every DLL defined in <see cref="P:BepInEx.Preloader.Patching.PatcherPlugin.TargetDLLs" />.
</summary>
</member>
<member name="P:BepInEx.Preloader.Patching.PatcherPlugin.TypeName">
<summary>
Type name of the patcher.
</summary>
</member>
<member name="M:BepInEx.Preloader.Patching.PatcherPlugin.Save(System.IO.BinaryWriter)">
<inheritdoc />
</member>
<member name="M:BepInEx.Preloader.Patching.PatcherPlugin.Load(System.IO.BinaryReader)">
<inheritdoc />
</member>
<member name="M:BepInEx.Preloader.Entrypoint.Main">
<summary>
The main entrypoint of BepInEx, called from Doorstop.
</summary>
</member>
<member name="M:BepInEx.Preloader.PlatformUtils.SetPlatform">
<summary>
Recreation of MonoMod's PlatformHelper.DeterminePlatform method, but with libc calls instead of creating processes.
</summary>
</member>
<member name="T:BepInEx.Preloader.RuntimeFixes.TraceFix">
<summary>
This exists because the Mono implementation of <see cref="T:System.Diagnostics.Trace"/> is/was broken, and would call Write directly instead of calling TraceEvent.
</summary>
</member>
<member name="T:BepInEx.Preloader.Preloader">
<summary>
The main entrypoint of BepInEx, and initializes all patchers and the chainloader.
</summary>
</member>
<member name="P:BepInEx.Preloader.Preloader.PreloaderLog">
<summary>
The log writer that is specific to the preloader.
</summary>
</member>
<member name="M:BepInEx.Preloader.Preloader.PatchEntrypoint(Mono.Cecil.AssemblyDefinition@)">
<summary>
Inserts BepInEx's own chainloader entrypoint into UnityEngine.
</summary>
<param name="assembly">The assembly that will be attempted to be patched.</param>
</member>
<member name="M:BepInEx.Preloader.Preloader.AllocateConsole">
<summary>
Allocates a console window for use by BepInEx safely.
</summary>
</member>
<member name="T:BepInEx.Preloader.PreloaderConsoleListener">
<summary>
Log listener that listens to logs during preloading time and buffers messages for output in Unity logs later.
</summary>
</member>
<member name="P:BepInEx.Preloader.PreloaderConsoleListener.LogEvents">
<summary>
</summary>
</member>
<member name="M:BepInEx.Preloader.PreloaderConsoleListener.LogEvent(System.Object,BepInEx.Logging.LogEventArgs)">
<inheritdoc />
</member>
<member name="M:BepInEx.Preloader.PreloaderConsoleListener.Dispose">
<inheritdoc />
</member>
</members>
</doc>

BIN
references/BepInEx.dll Normal file

Binary file not shown.

1729
references/BepInEx.xml Normal file

File diff suppressed because it is too large Load Diff

BIN
references/Comfort.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
references/Mono.Cecil.dll Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,178 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>MonoMod.RuntimeDetour</name>
</assembly>
<members>
<member name="T:MonoMod.RuntimeDetour.Detour">
<summary>
A fully managed detour.
Multiple Detours for a method to detour from can exist at any given time. Detours can be layered.
If you're writing your own detour manager or need to detour native functions, it's better to create instances of NativeDetour instead.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.Detour.Apply">
<summary>
Mark the detour as applied in the detour chain. This can be done automatically when creating an instance.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.Detour.Undo">
<summary>
Undo the detour without freeing it, allowing you to reapply it later.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.Detour.Free">
<summary>
Free the detour, while also permanently undoing it. This makes any further operations on this detour invalid.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.Detour.Dispose">
<summary>
Undo and free this temporary detour.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.Detour.GenerateTrampoline(System.Reflection.MethodBase)">
<summary>
Generate a new DynamicMethod with which you can invoke the previous state.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.Detour.GenerateTrampoline``1">
<summary>
Generate a new DynamicMethod with which you can invoke the previous state.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.Hook.GenerateTrampoline``1">
<summary>
Generate a new DynamicMethod with which you can invoke the previous state.
</summary>
</member>
<member name="T:MonoMod.RuntimeDetour.NativeDetour">
<summary>
A "raw" native detour, acting as a wrapper around NativeDetourData with a few helpers.
Only one NativeDetour for a method to detour from can exist at any given time. NativeDetours cannot be layered.
If you don't need the trampoline generator or any of the management helpers, use DetourManager.Native directly.
Unless you're writing your own detour manager or need to detour native functions, it's better to create instances of Detour instead.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.Apply">
<summary>
Apply the native detour. This can be done automatically when creating an instance.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.Undo">
<summary>
Undo the native detour without freeing the detour native data, allowing you to reapply it later.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.ChangeSource(System.IntPtr)">
<summary>
Changes the source of this native detour to a new source address. This does not repair the old source location.
This also assumes that <paramref name="newSource"/> is simply a new address for the same method as this was constructed with.
</summary>
<param name="newSource">The new source location.</param>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.ChangeTarget(System.IntPtr)">
<summary>
Changed the target of this native detour to a new target.
</summary>
<param name="newTarget">The new target address.</param>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.Free">
<summary>
Free the detour's data without undoing it. This makes any further operations on this detour invalid.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.Dispose">
<summary>
Undo and free this temporary detour.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.GenerateTrampoline(System.Reflection.MethodBase)">
<summary>
Generate a new DynamicMethod with which you can invoke the previous state.
If the NativeDetour holds a reference to a managed method, a copy of the original method is returned.
If the NativeDetour holds a reference to a native function, an "undo-call-redo" trampoline with a matching signature is returned.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.NativeDetour.GenerateTrampoline``1">
<summary>
Generate a new delegate with which you can invoke the previous state.
If the NativeDetour holds a reference to a managed method, a copy of the original method is returned.
If the NativeDetour holds a reference to a native function, an "undo-call-redo" trampoline with a matching signature is returned.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.Write(System.IntPtr,System.Int32@,System.Byte)">
<summary>
Write the given value at the address to + offs, afterwards advancing offs by sizeof(byte).
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.Write(System.IntPtr,System.Int32@,System.UInt16)">
<summary>
Write the given value at the address to + offs, afterwards advancing offs by sizeof(ushort).
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.Write(System.IntPtr,System.Int32@,System.UInt32)">
<summary>
Write the given value at the address to + offs, afterwards advancing offs by sizeof(ushort).
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.Write(System.IntPtr,System.Int32@,System.UInt64)">
<summary>
Write the given value at the address to + offs, afterwards advancing offs by sizeof(ulong).
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.GenerateNativeProxy(System.IntPtr,System.Reflection.MethodBase)">
<summary>
Generate a DynamicMethod to easily call the given native function from another DynamicMethod.
</summary>
<param name="target">The pointer to the native function to call.</param>
<param name="signature">A MethodBase with the target function's signature.</param>
<returns>The detoured DynamicMethod.</returns>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.StubCriticalDetour(MonoMod.Utils.DynamicMethodDefinition)">
<summary>
Fill the DynamicMethodDefinition with a throw.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.EmitDetourCopy(Mono.Cecil.Cil.ILProcessor,System.IntPtr,System.IntPtr,System.Byte)">
<summary>
Emit a call to DetourManager.Native.Copy using the given parameters.
</summary>
</member>
<member name="M:MonoMod.RuntimeDetour.DetourHelper.EmitDetourApply(Mono.Cecil.Cil.ILProcessor,MonoMod.RuntimeDetour.NativeDetourData)">
<summary>
Emit a call to DetourManager.Native.Apply using a copy of the given data.
</summary>
</member>
<member name="T:MonoMod.RuntimeDetour.NativeDetourData">
<summary>
The data forming a "raw" native detour, created and consumed by DetourManager.Native.
</summary>
</member>
<member name="F:MonoMod.RuntimeDetour.NativeDetourData.Method">
<summary>
The method to detour from. Set when the structure is created by the IDetourNativePlatform.
</summary>
</member>
<member name="F:MonoMod.RuntimeDetour.NativeDetourData.Target">
<summary>
The target method to be called instead. Set when the structure is created by the IDetourNativePlatform.
</summary>
</member>
<member name="F:MonoMod.RuntimeDetour.NativeDetourData.Type">
<summary>
The type of the detour. Determined when the structure is created by the IDetourNativePlatform.
</summary>
</member>
<member name="F:MonoMod.RuntimeDetour.NativeDetourData.Size">
<summary>
The size of the detour. Calculated when the structure is created by the IDetourNativePlatform.
</summary>
</member>
<member name="F:MonoMod.RuntimeDetour.NativeDetourData.Extra">
<summary>
DetourManager.Native-specific data.
</summary>
</member>
</members>
</doc>

Binary file not shown.

1470
references/MonoMod.Utils.xml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
references/UnityEngine.dll Normal file

Binary file not shown.

BIN
references/aki-core.dll Normal file

Binary file not shown.

BIN
references/aki-custom.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.