diff --git a/ChebsNecromancy/BasePlugin.cs b/ChebsNecromancy/BasePlugin.cs
index 1fd1fee..3dd836e 100644
--- a/ChebsNecromancy/BasePlugin.cs
+++ b/ChebsNecromancy/BasePlugin.cs
@@ -34,11 +34,11 @@ internal class BasePlugin : BaseUnityPlugin
{
public const string PluginGuid = "com.chebgonaz.ChebsNecromancy";
public const string PluginName = "ChebsNecromancy";
- public const string PluginVersion = "4.9.1";
+ public const string PluginVersion = "4.10.0";
private const string ConfigFileName = PluginGuid + ".cfg";
private static readonly string ConfigFileFullPath = Path.Combine(Paths.ConfigPath, ConfigFileName);
- public readonly System.Version ChebsValheimLibraryVersion = new("2.5.4");
+ public readonly System.Version ChebsValheimLibraryVersion = new("2.6.1");
private readonly Harmony harmony = new(PluginGuid);
diff --git a/ChebsNecromancy/ChebsNecromancy.csproj b/ChebsNecromancy/ChebsNecromancy.csproj
index e5e934b..c8871c2 100644
--- a/ChebsNecromancy/ChebsNecromancy.csproj
+++ b/ChebsNecromancy/ChebsNecromancy.csproj
@@ -24,7 +24,7 @@
e3243d22-4307-4008-ba36-9f326008cde5
- 4.9.1.0
+ 4.10.0.0
$(Version)
$(Version)
@@ -36,13 +36,12 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/ChebsNecromancy/Items/Armor/Player/NecromancerHood.cs b/ChebsNecromancy/Items/Armor/Player/NecromancerHood.cs
index 8ee701d..da36ce0 100644
--- a/ChebsNecromancy/Items/Armor/Player/NecromancerHood.cs
+++ b/ChebsNecromancy/Items/Armor/Player/NecromancerHood.cs
@@ -51,7 +51,7 @@ public override void UpdateRecipe()
UpdateRecipe(CraftingStationRequired, CraftingCost, CraftingStationLevel);
}
- public override CustomItem GetCustomItemFromPrefab(GameObject prefab)
+ public override CustomItem GetCustomItemFromPrefab(GameObject prefab, bool fixReference = true)
{
ItemConfig config = new ItemConfig();
config.Name = "$item_chebgonaz_necromancerhood";
diff --git a/ChebsNecromancy/Items/Armor/Player/SpectralShroud.cs b/ChebsNecromancy/Items/Armor/Player/SpectralShroud.cs
index 9f09d7b..ee587ec 100644
--- a/ChebsNecromancy/Items/Armor/Player/SpectralShroud.cs
+++ b/ChebsNecromancy/Items/Armor/Player/SpectralShroud.cs
@@ -93,7 +93,7 @@ public override void UpdateRecipe()
UpdateRecipe(CraftingStationRequired, CraftingCost, CraftingStationLevel);
}
- public override CustomItem GetCustomItemFromPrefab(GameObject prefab)
+ public override CustomItem GetCustomItemFromPrefab(GameObject prefab, bool fixReference = true)
{
ItemConfig config = new ItemConfig();
config.Name = "$item_friendlyskeletonwand_spectralshroud";
diff --git a/ChebsNecromancy/Items/Wands/DraugrWand.cs b/ChebsNecromancy/Items/Wands/DraugrWand.cs
index edacd04..765c80a 100644
--- a/ChebsNecromancy/Items/Wands/DraugrWand.cs
+++ b/ChebsNecromancy/Items/Wands/DraugrWand.cs
@@ -125,7 +125,7 @@ public override void UpdateRecipe()
UpdateRecipe(CraftingStationRequired, CraftingCost, CraftingStationLevel);
}
- public override CustomItem GetCustomItemFromPrefab(GameObject prefab)
+ public override CustomItem GetCustomItemFromPrefab(GameObject prefab, bool fixReference = true)
{
var config = new ItemConfig();
config.Name = "$item_friendlyskeletonwand_draugrwand";
diff --git a/ChebsNecromancy/Items/Wands/OrbOfBeckoning.cs b/ChebsNecromancy/Items/Wands/OrbOfBeckoning.cs
index 211632a..56598d6 100644
--- a/ChebsNecromancy/Items/Wands/OrbOfBeckoning.cs
+++ b/ChebsNecromancy/Items/Wands/OrbOfBeckoning.cs
@@ -77,7 +77,7 @@ public override void UpdateRecipe()
UpdateRecipe(CraftingStationRequired, CraftingCost, CraftingStationLevel);
}
- public override CustomItem GetCustomItemFromPrefab(GameObject prefab)
+ public override CustomItem GetCustomItemFromPrefab(GameObject prefab, bool fixReference = true)
{
ItemConfig config = new();
config.Name = NameLocalization;
diff --git a/ChebsNecromancy/Items/Wands/SkeletonWand.cs b/ChebsNecromancy/Items/Wands/SkeletonWand.cs
index 2a231d4..e1220fa 100644
--- a/ChebsNecromancy/Items/Wands/SkeletonWand.cs
+++ b/ChebsNecromancy/Items/Wands/SkeletonWand.cs
@@ -128,7 +128,7 @@ public override void UpdateRecipe()
UpdateRecipe(CraftingStationRequired, CraftingCost, CraftingStationLevel);
}
- public override CustomItem GetCustomItemFromPrefab(GameObject prefab)
+ public override CustomItem GetCustomItemFromPrefab(GameObject prefab, bool fixReference = true)
{
ItemConfig config = new ItemConfig();
config.Name = "$item_friendlyskeletonwand";
diff --git a/ChebsNecromancy/Items/Wands/Wand.cs b/ChebsNecromancy/Items/Wands/Wand.cs
index 47aeeb4..b3e50dd 100644
--- a/ChebsNecromancy/Items/Wands/Wand.cs
+++ b/ChebsNecromancy/Items/Wands/Wand.cs
@@ -148,7 +148,7 @@ public virtual void CreateButtons()
Name = ItemName + "Follow",
Config = FollowConfig,
GamepadConfig = FollowGamepadConfig,
- HintToken = "$friendlyskeletonwand_follow",
+ HintToken = "$chebgonaz_follow",
BlockOtherInputs = true
};
InputManager.Instance.AddButton(BasePlugin.PluginGuid, FollowButton);
@@ -161,7 +161,7 @@ public virtual void CreateButtons()
Name = ItemName + "Wait",
Config = WaitConfig,
GamepadConfig = WaitGamepadConfig,
- HintToken = "$friendlyskeletonwand_wait",
+ HintToken = "$chebgonaz_wait",
BlockOtherInputs = true
};
InputManager.Instance.AddButton(BasePlugin.PluginGuid, WaitButton);
@@ -263,7 +263,7 @@ public void MakeNearbyMinionsFollow(float radius, bool follow)
if (distance > radius && !minionFollowingOrb) continue;
MessageHud.instance.ShowMessage(MessageHud.MessageType.Center,
- follow ? "$friendlyskeletonwand_skeletonfollowing" : "$friendlyskeletonwand_skeletonwaiting");
+ follow ? "$chebgonaz_skeletonfollowing" : "$chebgonaz_skeletonwaiting");
if (follow)
{
minion.Follow(player.gameObject);
diff --git a/ChebsNecromancy/Package/manifest.json b/ChebsNecromancy/Package/manifest.json
index e30bcf7..0091370 100644
--- a/ChebsNecromancy/Package/manifest.json
+++ b/ChebsNecromancy/Package/manifest.json
@@ -1,9 +1,9 @@
{
"name": "ChebsNecromancy",
"description": "Cheb's Necromancy adds Necromancy to Valheim via craftable wands and structures. Minions will follow you, guard your base, and perform menial tasks.",
- "version_number": "4.9.1",
+ "version_number": "4.10.0",
"website_url": "https://github.com/jpw1991/chebs-necromancy",
"dependencies": [
- "ValheimModding-Jotunn-2.16.2"
+ "ValheimModding-Jotunn-2.19.3"
]
}
diff --git a/ChebsNecromancy/Structures/TreasurePylon.cs b/ChebsNecromancy/Structures/TreasurePylon.cs
index b4016e5..a765fe6 100644
--- a/ChebsNecromancy/Structures/TreasurePylon.cs
+++ b/ChebsNecromancy/Structures/TreasurePylon.cs
@@ -88,8 +88,8 @@ IEnumerator LookForPieces()
while (true)
{
yield return new WaitForSeconds(UpdateInterval.Value + Random.value);
-
- if (!piece.m_nview.IsOwner()) continue;
+
+ if (!piece || !piece.m_nview.IsOwner()) continue;
var playersInRange = new List();
Player.GetPlayersInRange(transform.position, PlayerDetectionDistance, playersInRange);
@@ -102,7 +102,7 @@ IEnumerator LookForPieces()
c => c.m_piece != null && c.m_piece.IsPlacedByPlayer()
&& allowedContainers.Contains(c.m_piece.m_nview.GetPrefabName()), true);
- for (int i = 0; i < nearbyContainers.Count; i++)
+ for (var i = 0; i < nearbyContainers.Count; i++)
{
yield return new WaitWhile(() => playersInRange[0].IsSleeping());
@@ -123,19 +123,19 @@ IEnumerator LookForPieces()
var currentContainerInventory = nearbyContainers[i].GetInventory();
//var currentContainerItems = currentContainerInventory.GetAllItems();
- for (int j = 0; j < nearbyContainers.Count; j++)
+ for (var j = 0; j < nearbyContainers.Count; j++)
{
if (j == i) continue; // skip over self
var otherInventory = nearbyContainers[j].GetInventory();
var otherItems = otherInventory.GetAllItems();
- for (int k = otherItems.Count - 1; k > -1; k--)
+ for (var k = otherItems.Count - 1; k > -1; k--)
{
- ItemDrop.ItemData jItem = otherItems[k];
+ var jItem = otherItems[k];
- int currentContainerItemCount = currentContainerInventory.CountItems(jItem.m_shared.m_name);
- int otherContainerItemCount = otherInventory.CountItems(jItem.m_shared.m_name);
+ var currentContainerItemCount = currentContainerInventory.CountItems(jItem.m_shared.m_name);
+ var otherContainerItemCount = otherInventory.CountItems(jItem.m_shared.m_name);
if (currentContainerItemCount > otherContainerItemCount)
{
diff --git a/Friendly-Skeleton-Wand.wiki b/Friendly-Skeleton-Wand.wiki
index 9dc2099..f040d3c 160000
--- a/Friendly-Skeleton-Wand.wiki
+++ b/Friendly-Skeleton-Wand.wiki
@@ -1 +1 @@
-Subproject commit 9dc209950b7b6601b6cf417c06538b13f3aed9a7
+Subproject commit f040d3c88268dde1d33202dd4dc2dabd2773ac2e
diff --git a/README.md b/README.md
index 35ca22c..8b0fe9e 100644
--- a/README.md
+++ b/README.md
@@ -154,6 +154,7 @@ A special thanks to the people who've helped me along the way:
Date | Version | Notes
--- | --- | ---
+25/04/2024 | 4.10.0 | Prepare for ashlands; upgrade CVL
28/01/2024 | 4.9.1 | Reduce logging in case of missing bone color data
27/01/2024 | 4.9.0 | Add different healing levels & spells to the priests; fix a bug that erased some default equipment set in Unity
25/01/2024 | 4.8.0 | Add skeleton priest to heal other minions
diff --git a/Translations/Russian/chebsnecromancy.russian.json b/Translations/Russian/chebsnecromancy.russian.json
index 31691d3..29002e4 100644
--- a/Translations/Russian/chebsnecromancy.russian.json
+++ b/Translations/Russian/chebsnecromancy.russian.json
@@ -83,5 +83,10 @@
"chebgonaz_miniontype_poison": "Ядовитого скелета",
"chebgonaz_miniontype_mage": "Мага",
"chebgonaz_miniontype_leech": "Пиявку",
- "chebgonaz_miniontype_battleneckro": "Боевого никса"
-}
\ No newline at end of file
+ "chebgonaz_miniontype_priest": "Жреца",
+ "chebgonaz_miniontype_battleneckro": "Боевого никса",
+ "chebgonaz_worker_target": "Цель",
+ "chebgonaz_worker_cantfindtarget": "Не могу найти цель.",
+ "chebgonaz_phylactery_name": "Филактерий",
+ "chebgonaz_phylactery_desc": "Некроманту не составит труда избежать смерти. Все что требуется, это другая душа, которую нужно принести в жертву богам вместо своей собственной."
+}