Логист: кровавая сфера и кровавый камень (модификаторы мода) - в группе «Некромантия»; имя предмета в логе переноса (#18)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-23 16:48:42 +03:00
co-authored by Claude Opus 5.5
parent 054897eb78
commit a745f4eb4a
4 changed files with 7 additions and 5 deletions
+5 -4
View File
@@ -68,8 +68,9 @@ namespace NecromancerTome
"foodRawMeat", "foodRawMeatBundle", "foodEgg", "foodHoney", "foodRottingFlesh" "foodRawMeat", "foodRawMeatBundle", "foodEgg", "foodHoney", "foodRottingFlesh"
}; };
/// <summary>Предметы и блоки самого мода - по его Config/items.xml и blocks.xml (у многих нет «necro» в имени: книги /// <summary>Предметы и блоки самого мода - по его Config/items.xml, blocks.xml и item_modifiers.xml (у многих нет «necro»
/// призыва, браслет, камни портала, прах зомби, кожа жертвы). Читается один раз.</summary> /// в имени: книги призыва, браслет, камни портала, прах зомби, кожа жертвы; 23.10 - кровавая сфера и кровавый камень,
/// они модификаторы, и без item_modifiers.xml уходили в «Модификаторы»). Читается один раз.</summary>
static HashSet<string> _modNames; static HashSet<string> _modNames;
static HashSet<string> ModNames() static HashSet<string> ModNames()
@@ -79,13 +80,13 @@ namespace NecromancerTome
return _modNames; return _modNames;
} }
_modNames = new HashSet<string>(); _modNames = new HashSet<string>();
foreach (string f in new[] { "items.xml", "blocks.xml" }) foreach (string f in new[] { "items.xml", "blocks.xml", "item_modifiers.xml" })
{ {
try try
{ {
XmlDocument doc = new XmlDocument(); XmlDocument doc = new XmlDocument();
doc.Load(Path.Combine(ModEntry.Instance.Path, "Config", f)); doc.Load(Path.Combine(ModEntry.Instance.Path, "Config", f));
foreach (XmlNode n in doc.SelectNodes("//item[@name] | //block[@name]")) foreach (XmlNode n in doc.SelectNodes("//item[@name] | //block[@name] | //item_modifier[@name]"))
{ {
_modNames.Add(n.Attributes["name"].Value); _modNames.Add(n.Attributes["name"].Value);
} }
+2 -1
View File
@@ -206,6 +206,7 @@ namespace NecromancerTome
return _urn.ThreadTo; return _urn.ThreadTo;
} }
ItemStack moving = s.Clone(); ItemStack moving = s.Clone();
string what = s.itemValue.ItemClass?.GetItemName(); // до Take: забранная целиком стопка становится пустой
Place(moving, new[] { dst }); Place(moving, new[] { dst });
int moved = s.count - moving.count; int moved = s.count - moving.count;
if (moved <= 0) if (moved <= 0)
@@ -214,7 +215,7 @@ namespace NecromancerTome
} }
Take(src, k, moved); Take(src, k, moved);
dst.SetModified(); dst.SetModified();
Debug.Log("[NecromancerTome] Cinerarium: дух перенёс " + moved + " " + s.itemValue.ItemClass?.GetItemName() + " из " + f + " в " + _urn.ThreadTo); Debug.Log("[NecromancerTome] Cinerarium: дух перенёс " + moved + " " + what + " из " + f + " в " + _urn.ThreadTo);
return _urn.ThreadTo; return _urn.ThreadTo;
} }
} }
Binary file not shown.
Binary file not shown.