(1.6.7) EventSystem EpicLoot Reward + AutoDoor Fix
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
using HarmonyLib;
|
using BepInEx.Bootstrap;
|
||||||
using Splatform;
|
using EpicLoot;
|
||||||
|
using HarmonyLib;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -28,6 +29,15 @@ namespace MxValheim.EventSystem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HarmonyPatch(typeof(RandEventSystem), nameof(RandEventSystem.Awake))]
|
||||||
|
public static class EventRadiusPatch
|
||||||
|
{
|
||||||
|
static void Postfix(RandEventSystem __instance)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HarmonyPatch(typeof(RandEventSystem), nameof(RandEventSystem.StartRandomEvent))]
|
[HarmonyPatch(typeof(RandEventSystem), nameof(RandEventSystem.StartRandomEvent))]
|
||||||
public static class DebugRaidFrequency
|
public static class DebugRaidFrequency
|
||||||
{
|
{
|
||||||
@@ -45,8 +55,17 @@ namespace MxValheim.EventSystem
|
|||||||
{
|
{
|
||||||
static void Prefix(RandEventSystem __instance)
|
static void Prefix(RandEventSystem __instance)
|
||||||
{
|
{
|
||||||
__instance.m_eventIntervalMin = 10f;
|
if (MxValheimMod.Config_DebugRandomEventInterval.Value)
|
||||||
__instance.m_eventChance = 100f;
|
{
|
||||||
|
__instance.m_eventIntervalMin = 10f;
|
||||||
|
__instance.m_eventChance = 100f;
|
||||||
|
}
|
||||||
|
RandomEvent activeEvent = RandEventSystem.instance.GetActiveEvent();
|
||||||
|
if (activeEvent != null)
|
||||||
|
{
|
||||||
|
activeEvent.m_eventRange = 200f;
|
||||||
|
activeEvent.m_duration = 10f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,7 +82,6 @@ namespace MxValheim.EventSystem
|
|||||||
ZPackage pkg = new ZPackage();
|
ZPackage pkg = new ZPackage();
|
||||||
pkg.Write(currentRaid.m_name);
|
pkg.Write(currentRaid.m_name);
|
||||||
pkg.Write($"{currentRaid.m_pos}");
|
pkg.Write($"{currentRaid.m_pos}");
|
||||||
Debug.Log($"RPC_SetEvent: {currentRaid.m_pos}");
|
|
||||||
kill = Watcher.eventKill;
|
kill = Watcher.eventKill;
|
||||||
ZRoutedRpc.instance.InvokeRoutedRPC(0, "RPC_ServerRemoveEvent", pkg);
|
ZRoutedRpc.instance.InvokeRoutedRPC(0, "RPC_ServerRemoveEvent", pkg);
|
||||||
|
|
||||||
@@ -88,6 +106,12 @@ namespace MxValheim.EventSystem
|
|||||||
{
|
{
|
||||||
Reward.GiveItemRandom(Reward.GetRewardPrefab(Profiles.serverLevel, "metal"), rand.Next(5, 20));
|
Reward.GiveItemRandom(Reward.GetRewardPrefab(Profiles.serverLevel, "metal"), rand.Next(5, 20));
|
||||||
}
|
}
|
||||||
|
if (Chainloader.PluginInfos.ContainsKey("randyknapp.mods.epicloot"))
|
||||||
|
{
|
||||||
|
Reward.GiveEpicLootLowMats();
|
||||||
|
Reward.GiveEpicLootEssence();
|
||||||
|
Reward.GiveEpicLootRune();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -113,7 +137,7 @@ namespace MxValheim.EventSystem
|
|||||||
if (RandEventSystem.instance != null && RandEventSystem.instance.GetActiveEvent() != null)
|
if (RandEventSystem.instance != null && RandEventSystem.instance.GetActiveEvent() != null)
|
||||||
{
|
{
|
||||||
__instance.m_eventName.text = "";
|
__instance.m_eventName.text = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using System;
|
using EpicLoot;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -34,9 +36,9 @@ namespace MxValheim.EventSystem
|
|||||||
string[] metalList = { "CopperOre", "TinOre", "IronScrap", "SilverOre", "BlackMetalScrap", "FlametalOreNew" };
|
string[] metalList = { "CopperOre", "TinOre", "IronScrap", "SilverOre", "BlackMetalScrap", "FlametalOreNew" };
|
||||||
|
|
||||||
System.Random rng = new System.Random();
|
System.Random rng = new System.Random();
|
||||||
int foodTier = rng.Next(1, foodList.Length);
|
int foodTier = rng.Next(0, foodList.Length - 1);
|
||||||
int healTier = rng.Next(1, healList.Length);
|
int healTier = rng.Next(0, healList.Length - 1);
|
||||||
int metalTier = rng.Next(1, metalList.Length);
|
int metalTier = rng.Next(0, metalList.Length - 1);
|
||||||
|
|
||||||
if (type == "food") return foodList[foodTier];
|
if (type == "food") return foodList[foodTier];
|
||||||
if (type == "heal") return healList[healTier];
|
if (type == "heal") return healList[healTier];
|
||||||
@@ -44,6 +46,85 @@ namespace MxValheim.EventSystem
|
|||||||
return "Wood";
|
return "Wood";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void GiveEpicLootLowMats()
|
||||||
|
{
|
||||||
|
System.Random rand = new System.Random();
|
||||||
|
|
||||||
|
int qty = rand.Next(5,10);
|
||||||
|
|
||||||
|
string[] rarity = { "Magic", "Rare", "Epic", "Legendary", "Mythic" };
|
||||||
|
string[] type = { "Dust", "Shard", "Fragment" };
|
||||||
|
|
||||||
|
string itemName = $"{type[rand.Next(0, type.Length - 1)]}{rarity[rand.Next(0, rarity.Length - 1)]}";
|
||||||
|
|
||||||
|
Player player = Player.m_localPlayer;
|
||||||
|
if (player == null) return;
|
||||||
|
|
||||||
|
GameObject prefab = ObjectDB.instance.GetItemPrefab(itemName);
|
||||||
|
if (prefab != null)
|
||||||
|
{
|
||||||
|
player.GetInventory().AddItem(itemName, qty, 1, 0, 0, "");
|
||||||
|
|
||||||
|
player.Message(MessageHud.MessageType.TopLeft, $"Received {qty}x {itemName}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"Item {itemName} not found in ObjectDB!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void GiveEpicLootEssence()
|
||||||
|
{
|
||||||
|
System.Random rand = new System.Random();
|
||||||
|
|
||||||
|
int qty = rand.Next(1, 5);
|
||||||
|
|
||||||
|
string[] rarity = { "Magic", "Rare", "Epic", "Legendary", "Mythic" };
|
||||||
|
|
||||||
|
string itemName = $"Essence{rarity[rand.Next(0, rarity.Length - 1)]}";
|
||||||
|
|
||||||
|
Player player = Player.m_localPlayer;
|
||||||
|
if (player == null) return;
|
||||||
|
|
||||||
|
GameObject prefab = ObjectDB.instance.GetItemPrefab(itemName);
|
||||||
|
if (prefab != null)
|
||||||
|
{
|
||||||
|
player.GetInventory().AddItem(itemName, qty, 1, 0, 0, "");
|
||||||
|
|
||||||
|
player.Message(MessageHud.MessageType.TopLeft, $"Received {qty}x {itemName}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"Item {itemName} not found in ObjectDB!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void GiveEpicLootRune()
|
||||||
|
{
|
||||||
|
System.Random rand = new System.Random();
|
||||||
|
|
||||||
|
int qty = 1;
|
||||||
|
|
||||||
|
string[] rarity = { "Magic", "Rare", "Epic" };
|
||||||
|
|
||||||
|
string itemName = $"Runestone{rarity[rand.Next(0, rarity.Length - 1)]}";
|
||||||
|
|
||||||
|
Player player = Player.m_localPlayer;
|
||||||
|
if (player == null) return;
|
||||||
|
|
||||||
|
GameObject prefab = ObjectDB.instance.GetItemPrefab(itemName);
|
||||||
|
if (prefab != null)
|
||||||
|
{
|
||||||
|
player.GetInventory().AddItem(itemName, qty, 1, 0, 0, "");
|
||||||
|
|
||||||
|
player.Message(MessageHud.MessageType.TopLeft, $"Received {qty}x {itemName}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"Item {itemName} not found in ObjectDB!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void GiveItemRandom(string itemName, int qty)
|
public static void GiveItemRandom(string itemName, int qty)
|
||||||
{
|
{
|
||||||
System.Random rng = new System.Random();
|
System.Random rng = new System.Random();
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ using MxValheim.KillFeed;
|
|||||||
using MxValheim.Patch;
|
using MxValheim.Patch;
|
||||||
using MxValheim.Patch.HUD;
|
using MxValheim.Patch.HUD;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Splatform;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@@ -34,16 +33,10 @@ public class MxValheimMod : BaseUnityPlugin
|
|||||||
|
|
||||||
private const string ModGUID = "ovh.mxdev.mxvalheim";
|
private const string ModGUID = "ovh.mxdev.mxvalheim";
|
||||||
private const string ModName = "MxValheim";
|
private const string ModName = "MxValheim";
|
||||||
private const string ModVersion = "1.6.6";
|
private const string ModVersion = "1.6.7";
|
||||||
|
|
||||||
public static ConfigEntry<bool> Config_Locked;
|
public static ConfigEntry<bool> Config_DebugRandomEventInterval;
|
||||||
public static ConfigEntry<int> Config_OreMultiplier;
|
|
||||||
public static ConfigEntry<float> Config_rangeMultiplier;
|
|
||||||
public static ConfigEntry<float> Config_bowDrawSpeedBonusPerLevel;
|
public static ConfigEntry<float> Config_bowDrawSpeedBonusPerLevel;
|
||||||
public static ConfigEntry<bool> Config_rainDamage;
|
|
||||||
public static ConfigEntry<float> Config_boatSpeed;
|
|
||||||
public static ConfigEntry<bool> Config_autoDoorCloseEnabled;
|
|
||||||
public static ConfigEntry<float> Config_autoDoorClose;
|
|
||||||
|
|
||||||
public static string modPath = Path.Combine(Paths.PluginPath, "MxValheim");
|
public static string modPath = Path.Combine(Paths.PluginPath, "MxValheim");
|
||||||
public static string internalConfigsPath = Path.Combine(modPath, "Configs");
|
public static string internalConfigsPath = Path.Combine(modPath, "Configs");
|
||||||
@@ -93,6 +86,8 @@ public class MxValheimMod : BaseUnityPlugin
|
|||||||
public static float _uniqueTimer = 60.0f;
|
public static float _uniqueTimer = 60.0f;
|
||||||
public static string eventName;
|
public static string eventName;
|
||||||
|
|
||||||
|
public static float eventTimer = 0f;
|
||||||
|
|
||||||
public class ActiveEventData
|
public class ActiveEventData
|
||||||
{
|
{
|
||||||
public string Name;
|
public string Name;
|
||||||
@@ -113,19 +108,14 @@ public class MxValheimMod : BaseUnityPlugin
|
|||||||
{
|
{
|
||||||
Instance = this;
|
Instance = this;
|
||||||
|
|
||||||
Config_OreMultiplier = Config.Bind("General", "OreMultiplier", 3, "How many items should drop for every 1 ore/scrap found.");
|
Config_DebugRandomEventInterval = Config.Bind("Debug", "DebugRandomEventInterval", false, "Event are triggered really often, to debug my EventSystem logic.");
|
||||||
Config_rangeMultiplier = Config.Bind("General", "CraftingRangeMultiplier", 2.0f, "Multiplier for the workbench build/crafting range. Default is 2x.");
|
|
||||||
Config_bowDrawSpeedBonusPerLevel = Config.Bind("General", "BowDrawSpeedBonusPercentPerLevel", 1.0f, "Shorten the bow draw speed by this percent for every bow upgrade level.");
|
Config_bowDrawSpeedBonusPerLevel = Config.Bind("General", "BowDrawSpeedBonusPercentPerLevel", 1.0f, "Shorten the bow draw speed by this percent for every bow upgrade level.");
|
||||||
Config_rainDamage = Config.Bind("General", "RainDamage", true, "Set to true to stop rain damage, false to return to vanilla behavior.");
|
|
||||||
Config_boatSpeed = Config.Bind("General", "BoatSpeedMultiplier", 2.0f, "Your boat/raft will move without wind at a speed multiplied by this value.");
|
|
||||||
Config_autoDoorCloseEnabled = Config.Bind("General", "AutoDoorCloseEnabled", true, "Your doors will auto close if enabled. See AutoDoorCloseTimer for the desired time.");
|
|
||||||
Config_autoDoorClose = Config.Bind("General", "AutoDoorCloseTimer", 5.0f, "Your doors will auto close after the specified timer duration.");
|
|
||||||
|
|
||||||
LoadLocalization();
|
LoadLocalization();
|
||||||
LoadJsonConfig();
|
LoadJsonConfig();
|
||||||
LoadDoorConfig();
|
LoadDoorConfig();
|
||||||
|
|
||||||
_doorTimer = MxValheimMod.Config_autoDoorClose.Value;
|
_doorTimer = 2;
|
||||||
|
|
||||||
//PrefabManager.OnVanillaPrefabsAvailable += InitCustomEnemies;
|
//PrefabManager.OnVanillaPrefabsAvailable += InitCustomEnemies;
|
||||||
|
|
||||||
@@ -184,10 +174,13 @@ public class MxValheimMod : BaseUnityPlugin
|
|||||||
ZRoutedRpc.instance.Register<string, string, string, string, int>("RPC_MxKillMsg",
|
ZRoutedRpc.instance.Register<string, string, string, string, int>("RPC_MxKillMsg",
|
||||||
new RoutedMethod<string, string, string, string, int>.Method(kfp.OnReceiveKillMsg));
|
new RoutedMethod<string, string, string, string, int>.Method(kfp.OnReceiveKillMsg));
|
||||||
|
|
||||||
|
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerAddDoorToQueue", Watcher.RegisterEvent);
|
||||||
|
|
||||||
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerRegisterEvent", Watcher.RegisterEvent);
|
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerRegisterEvent", Watcher.RegisterEvent);
|
||||||
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerGetEventKill", Watcher.GetEventKill);
|
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerGetEventKill", Watcher.GetEventKill);
|
||||||
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerSetEventKill", Watcher.SetEventKill);
|
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerSetEventKill", Watcher.SetEventKill);
|
||||||
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerRemoveEvent", Watcher.RemoveEvent);
|
ZRoutedRpc.instance.Register<ZPackage>("RPC_ServerRemoveEvent", Watcher.RemoveEvent);
|
||||||
|
|
||||||
ZRoutedRpc.instance.Register<int>("RPC_ServerRegisterEventKill", Profiles.ServerSetLevel);
|
ZRoutedRpc.instance.Register<int>("RPC_ServerRegisterEventKill", Profiles.ServerSetLevel);
|
||||||
ZRoutedRpc.instance.Register<string, string>("RPC_ServerCreateUser", Profiles.ServerReceiveCreateUser);
|
ZRoutedRpc.instance.Register<string, string>("RPC_ServerCreateUser", Profiles.ServerReceiveCreateUser);
|
||||||
ZRoutedRpc.instance.Register<string>("RPC_RequestProfile", Profiles.ServerHandleProfileRequest);
|
ZRoutedRpc.instance.Register<string>("RPC_RequestProfile", Profiles.ServerHandleProfileRequest);
|
||||||
@@ -261,7 +254,7 @@ public class MxValheimMod : BaseUnityPlugin
|
|||||||
if (_doorTimer <= 0)
|
if (_doorTimer <= 0)
|
||||||
{
|
{
|
||||||
dpatch.CloseNextDoor(_doorQueueDoor.Dequeue(), _doorQueueNview.Dequeue(), _doorQueueName.Dequeue());
|
dpatch.CloseNextDoor(_doorQueueDoor.Dequeue(), _doorQueueNview.Dequeue(), _doorQueueName.Dequeue());
|
||||||
_doorTimer = MxValheimMod.Config_autoDoorClose.Value;
|
_doorTimer = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Door Logic
|
// Door Logic
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>MxValheim</RootNamespace>
|
<RootNamespace>MxValheim</RootNamespace>
|
||||||
<AssemblyName>MxValheim</AssemblyName>
|
<AssemblyName>MxValheim</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
|
||||||
<LangVersion>12.0</LangVersion>
|
<LangVersion>12.0</LangVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
@@ -52,6 +52,9 @@
|
|||||||
<Reference Include="BepInEx">
|
<Reference Include="BepInEx">
|
||||||
<HintPath>E:\SteamLibrary\steamapps\common\Valheim\BepInEx\core\BepInEx.dll</HintPath>
|
<HintPath>E:\SteamLibrary\steamapps\common\Valheim\BepInEx\core\BepInEx.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="EpicLoot">
|
||||||
|
<HintPath>E:\SteamLibrary\steamapps\common\Valheim\BepInEx\plugins\EpicLoot\EpicLoot.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="gui_framework">
|
<Reference Include="gui_framework">
|
||||||
<HintPath>E:\SteamLibrary\steamapps\common\Valheim\Valheim_Data\Managed\gui_framework.dll</HintPath>
|
<HintPath>E:\SteamLibrary\steamapps\common\Valheim\Valheim_Data\Managed\gui_framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace MxValheim.Patch
|
|||||||
if (rangeField.FieldExists())
|
if (rangeField.FieldExists())
|
||||||
{
|
{
|
||||||
float currentRange = rangeField.GetValue<float>();
|
float currentRange = rangeField.GetValue<float>();
|
||||||
rangeField.SetValue(currentRange * MxValheimMod.Config_rangeMultiplier.Value);
|
rangeField.SetValue(currentRange * 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace MxValheim.Patch
|
|||||||
[HarmonyPatch(typeof(Door), nameof(Door.Interact))]
|
[HarmonyPatch(typeof(Door), nameof(Door.Interact))]
|
||||||
public static class DoorTracker
|
public static class DoorTracker
|
||||||
{
|
{
|
||||||
static void Postfix(Door __instance, Humanoid character, bool hold, bool alt, ZNetView ___m_nview)
|
static void Postfix(Door __instance)
|
||||||
{
|
{
|
||||||
ZNetView nview = __instance.GetComponent<ZNetView>();
|
ZNetView nview = __instance.GetComponent<ZNetView>();
|
||||||
if (nview != null && nview.IsValid())
|
if (nview != null && nview.IsValid())
|
||||||
@@ -32,36 +32,42 @@ namespace MxValheim.Patch
|
|||||||
if (MxValheimMod.CachedConfig?.ignoreList != null)
|
if (MxValheimMod.CachedConfig?.ignoreList != null)
|
||||||
if (MxValheimMod.CachedConfig.ignoreList.Contains(prefabName)) return;
|
if (MxValheimMod.CachedConfig.ignoreList.Contains(prefabName)) return;
|
||||||
|
|
||||||
if (hold || alt || ___m_nview == null || !___m_nview.IsValid()) return;
|
nview.ClaimOwnership();
|
||||||
|
|
||||||
// Get state: 0 is closed
|
// Get state: 0 is closed
|
||||||
int state = ___m_nview.GetZDO().GetInt("state");
|
int state = nview.GetZDO().GetInt("state");
|
||||||
|
|
||||||
if (state == 0) return;
|
if (state == 0) return;
|
||||||
|
|
||||||
|
ZPackage pkg = new ZPackage();
|
||||||
|
pkg.Write(nview);
|
||||||
|
pkg.Write(__instance);
|
||||||
|
pkg.Write(prefabName);
|
||||||
|
|
||||||
lock (_doorQueueNview)
|
lock (_doorQueueNview)
|
||||||
{
|
{
|
||||||
Debug.Log($"AutoDoor:Door.Interact Adding \"{prefabName}\" to queue.");
|
Debug.Log($"AutoDoor: Adding \"{prefabName}\" to queue.");
|
||||||
_doorQueueNview.Enqueue(nview);
|
_doorQueueNview.Enqueue(nview);
|
||||||
_doorQueueDoor.Enqueue(__instance);
|
_doorQueueDoor.Enqueue(__instance);
|
||||||
_doorQueueName.Enqueue(prefabName);
|
_doorQueueName.Enqueue(prefabName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseNextDoor(Door door, ZNetView nview, string doorName)
|
public void CloseNextDoor(Door door, ZNetView nview, string doorName)
|
||||||
{
|
{
|
||||||
if (door != null && nview != null && nview.IsValid())
|
if (door != null && nview != null && nview.IsValid())
|
||||||
{
|
{
|
||||||
|
nview.ClaimOwnership();
|
||||||
if (nview.GetZDO().GetInt("state") != 0)
|
if (nview.GetZDO().GetInt("state") != 0)
|
||||||
{
|
{
|
||||||
Debug.Log($"AutoDoor:CloseNextDoor Closing door \"{doorName}\".");
|
Debug.Log($"AutoDoor: Closing door \"{doorName}\".");
|
||||||
ZDO zd0 = nview.GetZDO();
|
ZDO zd0 = nview.GetZDO();
|
||||||
zd0.Set("state", 0);
|
zd0.Set("state", 0);
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
Debug.Log($"AutoDoor:CloseNextDoor Door \"{doorName}\" was already closed.");
|
Debug.Log($"AutoDoor: Door \"{doorName}\" was already closed.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ namespace MxValheim.Patch
|
|||||||
{
|
{
|
||||||
static void Postfix(WearNTear __instance, ref bool __result)
|
static void Postfix(WearNTear __instance, ref bool __result)
|
||||||
{
|
{
|
||||||
if (!MxValheimMod.Config_rainDamage.Value) return;
|
|
||||||
|
|
||||||
__result = true;
|
__result = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user