From 2c890ca7bb80a1bfbc0a308bdea1ea82efc4d8d1 Mon Sep 17 00:00:00 2001 From: VforValens Date: Tue, 12 Apr 2022 17:45:48 -0500 Subject: [PATCH] Work towards implementation of Configuration and 1.1.0 Release. --- ValensHasThePower/Patches.cs | 4 +- ValensHasThePower/PowerOn.cs | Bin 1910 -> 4573 bytes ValensHasThePower/PowerOn.cs~RF1b442bb4.TMP | 109 ++++++++++++++++++ .../BepInEx/plugins/ValensHasThePower.dll | Bin 6144 -> 0 bytes .../BepInEx/plugins/ValensHasThePower.dll | Bin 0 -> 6656 bytes .../mods/ValensHasThePower-1.1.0}/LICENSE.txt | 0 .../mods/ValensHasThePower-1.1.0}/README.md | 0 .../mods/ValensHasThePower-1.1.0}/package.js | 0 .../ValensHasThePower-1.1.0}/package.json | 2 +- 9 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 ValensHasThePower/PowerOn.cs~RF1b442bb4.TMP delete mode 100644 ValensHasThePower/ValensHasThePower-1.0.1/BepInEx/plugins/ValensHasThePower.dll create mode 100644 ValensHasThePower/ValensHasThePower-1.1.0/BepInEx/plugins/ValensHasThePower.dll rename ValensHasThePower/{ValensHasThePower-1.0.1/user/mods/ValensHasThePower-1.0.0 => ValensHasThePower-1.1.0/user/mods/ValensHasThePower-1.1.0}/LICENSE.txt (100%) rename ValensHasThePower/{ValensHasThePower-1.0.1/user/mods/ValensHasThePower-1.0.0 => ValensHasThePower-1.1.0/user/mods/ValensHasThePower-1.1.0}/README.md (100%) rename ValensHasThePower/{ValensHasThePower-1.0.1/user/mods/ValensHasThePower-1.0.0 => ValensHasThePower-1.1.0/user/mods/ValensHasThePower-1.1.0}/package.js (100%) rename ValensHasThePower/{ValensHasThePower-1.0.1/user/mods/ValensHasThePower-1.0.0 => ValensHasThePower-1.1.0/user/mods/ValensHasThePower-1.1.0}/package.json (86%) diff --git a/ValensHasThePower/Patches.cs b/ValensHasThePower/Patches.cs index 63ac755..2be8200 100644 --- a/ValensHasThePower/Patches.cs +++ b/ValensHasThePower/Patches.cs @@ -1,7 +1,7 @@ -using System.Reflection; -using Aki.Reflection.Patching; +using Aki.Reflection.Patching; using Aki.Reflection.Utils; using EFT; +using System.Reflection; namespace ValensHasThePower { diff --git a/ValensHasThePower/PowerOn.cs b/ValensHasThePower/PowerOn.cs index 56aa952f424802a21a2fdbed53147ae40554d3a4..837979b7e2f063f276f55f54323540941cf84801 100644 GIT binary patch literal 4573 qcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5a62#&-2edq literal 1910 zcmd5-&2G~`5WeRrrWUFasoJ`Qa-bB6wk||UNtA?gs48pgjO_(y*X(W_s?sOpz$5Vr z>`$E7sgNphsSmbyc7DEZc4qd^uip#Bcm}6f_IdQ z&O}k5*$`Zj56DrnWJ_bf`1dW*7}J$ez44hdeHZbJaTB1!=^Rx_6ND>TAXgu$n&vnX zOO&1a4w&cKfgBYJW6=!~F(+P=G*p8<2p-v6;Q=`yVbHsAp322-!4gOcsuXyK@CHt) zLWjvqoTiU#qnDCZR3lV^&EWl#e#36hso2epnq3Vc z!f5y<8t?4v1ij<6A8XBV2_veLyr$pnk%-gV!UWuCJ~*3)j{B_mC{6W-md)IdyZw8w zX1%vn9hr%yQvaI_Q~K>>$qb-(;EuyDP{9cdZ@-#CAQz0!{I43O)4LLD0|R|32F8Ph z-eQ>wi8RTfTTuzhxkm|%w?k|)Y_YeqY$f~q;L0?~DbGwwEoU%%Y;Cr}S!I?&w~j>m zGdMYcV3LcnGz}16(xQmZQL&6q^de2;Fbt250@&SMqa(INos~p|vcec`MVso6YqxQM z70RFu+s1wj-AWtjTqA3ou~o6p>XiM$zqg1_Fp;R?OmIz2JIVj&{`#QJeU-0g!TfBY zw3wUD^~dds=ShqcXSjXLFJHB(KCfdQ`&xtZL-39FB&KwsMSo_CI1J+q)0&h^NC_zUsH B9k~Di diff --git a/ValensHasThePower/PowerOn.cs~RF1b442bb4.TMP b/ValensHasThePower/PowerOn.cs~RF1b442bb4.TMP new file mode 100644 index 0000000..a9e9490 --- /dev/null +++ b/ValensHasThePower/PowerOn.cs~RF1b442bb4.TMP @@ -0,0 +1,109 @@ +using BepInEx; +using BepInEx.Configuration; +using EFT.Interactive; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using UnityEngine; + +namespace ValensHasThePower +{ + [BepInPlugin("com.Valens.HasThePower", "ValensHasThePower", "1.1.0")] + public class Plugin : BaseUnityPlugin + { + public static ConfigEntry configCustoms; + public static ConfigEntry configInterchange; + public static ConfigEntry configReserve; + + private void Awake() + { + /* Example Config + configGreeting = Config.Bind("General", // The section under which the option is shown + "GreetingText", // The key of the configuration option in the configuration file + "Hello, world!", // The default value + "A greeting text to show when the game is launched"); // Description of the option to show in the config file*/ + + configCustoms = Config.Bind("General.Toggles", + "Customs Power On Chance", + 100, + "Percentage Chance that Power will be On at Raid Start for the Customs Map. Default is 100."); + + configInterchange = Config.Bind("General.Toggles", + "Interchange Power On Chance", + 100, + "Percentage Chance that Power will be On at Raid Start for the Interchange Map. Default is 100."); + + configReserve = Config.Bind("General.Toggles", + "Reserve Power On Chance", + 100, + "Percentage Chance that Power will be On at Raid Start for the Reserve Map. Default is 100."); + + Logger.LogInfo($"Valens...has the POWER!!!"); + new PatchThePower().Enable(); + } + } + + public static class PowerOn + { + + public static void Start() + { + List PowerSwitches = Object.FindObjectsOfType().ToList(); + + foreach (var switcher in PowerSwitches) + { + // Customs Power Switch + if (switcher.Id == "custom_DesignStuff_00034" && switcher.name == "reserve_electric_switcher_lever") + { + System.Random chance = new System.Random(); + var percent = chance.Next(0, 100); + if (percent <= Plugin.configCustoms.Value) + { + PowerSwitch(switcher); + } + } + + // Interchange Power Station + if (switcher.Id == "Shopping_Mall_DesignStuff_00055" && switcher.name == "reserve_electric_switcher_lever") + { + System.Random chance = new System.Random(); + var percent = chance.Next(0, 100); + if (percent <= Plugin.configCustoms.Value) + { + PowerSwitch(switcher); + } + } + + // Interchange Secret Container + if (switcher.Id == "Shopping_Mall_DesignStuff_00061" && switcher.Id == "reserve_electric_switcher_lever") + { + System.Random chance = new System.Random(); + var percent = chance.Next(0, 100); + if (percent <= Plugin.configCustoms.Value) + { + PowerSwitch(switcher); + } + } + + // Reserve D2 Switch + if (switcher.Id == "autoId_00000_D2_LEVER" && switcher.name == "reserve_electric_switcher_lever") + { + System.Random chance = new System.Random(); + var percent = chance.Next(0, 100); + if (percent <= Plugin.configCustoms.Value) + { + PowerSwitch(switcher); + } + } + } + } + + private static void PowerSwitch(Switch switcher) + { + switcher.GetType().GetMethod("Open", BindingFlags.NonPublic | BindingFlags.Instance) + .Invoke(switcher, new object[0]); + } + } +} \ No newline at end of file diff --git a/ValensHasThePower/ValensHasThePower-1.0.1/BepInEx/plugins/ValensHasThePower.dll b/ValensHasThePower/ValensHasThePower-1.0.1/BepInEx/plugins/ValensHasThePower.dll deleted file mode 100644 index 376a0ea47c4383c37e83cd953e06b453ee52f0af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6144 zcmeHLYit}>75-*+y?&(Gc-M((8aJLKg}P3%*m<-~AJj?w$fkDeWH(LltcYZgHr<f4LBRpg%-idPbeWGM}(<%sSzT^ zDR)#leSjm5xV)SMt|IODb|8EC*p+YtXsR1;B7UF_PnE3GCE`!T2{@*7qdoP-08Xa- zz|WDWbn9bB0+nQ~D}B^HVFQ}dLr1!X`G+HFQ|alwHj#gi5EN9cG23Fme{JTXzbpME(R@z?#+7F8j{g{AM`GU zsKvjQ%w9rh0Yeh&qP-j@Uz_S|=+Uu;0%>9bUF>Y_Vs~o`VjdT4S#|S^R3NE!y^qLM zX!_{YZ2h|^vuizj+mcP*HA4Afm9kZ9U){W|8BJY{Y9m!+JXh(w&XWM>?VqMcHIH#>`9L=}Mdsi>trBtBKXbcMJ*k~NJA3ztga$Z- zV+_QWGr;%QX1NEqWJ; ztii8k+u(%um>$FRdMD}6Y69mJ{G5V+Q*e;51<&Yb$l0kVy%C`#NQvVwdQX%di}XZe zXpFv0o;BFU&+ljY-TEj#&sCB*h)%8**JSjY5cn!3#Noo#+d1nsT!YUd%hfeC_pgz= z$@7#hoL?co*bsiG5(ABipcFYD=~aEfnu!e%i{c!E`$zqJBuy-aF+*nl1b5>*#P3ts zBe*&GG_m^?_Tbfzt5qLX*g2fxEDhgYHuki_9>XZrLmTyiu*2!KB+d+xVZ6n@v*|9!^fx#>aLC*6XdkUF_pkx(N z`#s08awXeygVd1aTE3k_dKyD!!8%4p_N>x~RhsowFKhbwC49tm%ce8z@x!kp)PE#sd7FqI_)hn zhfS4Bv?B-tsf^Huc81=~!-XzznjpmZGPo9j78LWE^!vEykQORe*$6 zZHo%NT%#pLmUOJ_2#F17g=(wL*}gwBYx>3Nq+#2=SM5Eq*76Z371>d0R~1~TvTVf4 zM^N&7q;di)9_hEuyvyL&xu8m_Iw_1eJz@ECcFqba8P|3F^Lf+&0(*fa{|)y9FaB4nBi{{J?gg`yMa4=#bZ&MIrb)5MUx!4ea_605>OMH zcuwiylOi0#?Q{Nrzy6Ip@6em0Rsp4Z^vv67yc4^4DK$Am_|x=V)fTZxX73;zrhmqj zkI+0yzldL@ys`0MV$-X)9{lnxum18!m+}`7H8ia$VnAzPCy@{|9y20ZJRXlV>d8IH z-8|frClY3(K`frIq6U(-uyw3$Y+RQd(UOPPC5{p%59=(kRt?u~M6`vJHLaQ^92>DN zStg8y?0mDxj5gwGA|+v{sk*do&Ct`-)(Q$1@(=+!?jIZDI(nCVr%|lIV zfW`%yw8~>>qug+^diycoEFSWhN^(|F5@dGP_vQnQe2wae8`02_Iy8`7%DvkvIplU; zPH#%>ppf|5r9nyUj=6A%d3vqPGL}XR#of;P%Zkjx%ddt8bsF%R$%T7)>*X(`D}+b9 zXtPs8d(JDQLJ_ID?6gv9LuI1GP#^xsd1xbJI{WvtUf>(@g1VKHq6)k9~p4fBl z;^8OePR_sa+RzzVQ!QVRzEQ=Nx7F8YNS)-F-|sjhCiA+wv{;r(|KaH3`zhsemn;|e z9`-+aK;9bw-^*v03kqL{J^z9(eDdGH@jmX?x?5~(gxQaoEyEla=C=%U;3y6ePZJJ? z|GMD&(bwM!zXaLIQo{C*5K(t*`F`q4KM{>mZ*1PQ)?Jm=8}P=6#V-T{ArUa_ST-F4Og$$m(Hot;rf!E67P&wYQgNbk9=d z|80D4YRY4Bru(#BPV|}uZ@*@Wr{#yT&{5U2W|!4r7$*QJ=E92h^;1C$d1l$eVb%jLSV(^B-`t^7UTEG@!l( l?g)q08jQJkvgY;L9P$0TxESGoEEhiXF4plq)&6fD_$P*C)U*Hq diff --git a/ValensHasThePower/ValensHasThePower-1.1.0/BepInEx/plugins/ValensHasThePower.dll b/ValensHasThePower/ValensHasThePower-1.1.0/BepInEx/plugins/ValensHasThePower.dll new file mode 100644 index 0000000000000000000000000000000000000000..35598f3c599dd8ad6011d7fa9677ed4967c59ffc GIT binary patch literal 6656 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