Фильтр логиста: семена (и кровавые) - «Семена»; новые группы «Живность» и «Транспорт» (#18)

Проверка всех предметов: кровавые семена были в «Некромантии» и уходили от сборщика; куры и сложенный
транспорт падали в «Прочее». Новые группы у старых урн берут выбор «Прочего». Пятый ряд значков.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-23 22:14:32 +03:00
co-authored by Claude Opus 5.5
parent aa26e97b71
commit 60d84ff739
4 changed files with 34 additions and 8 deletions
+21 -4
View File
@@ -19,8 +19,10 @@ namespace NecromancerTome
Ingots = 9, Parts = 10, Materials = 11, Chemicals = 12, Tools = 13, Weapons = 14, Ammo = 15, Armor = 16, Mods = 17,
Books = 18, Blocks = 19, Necro = 20, Other = 21,
// 17.10: «Корм для кур вынеси в отдельную группу» (был в «Сыром»).
ChickenFeed = 22;
public const int Count = 23;
ChickenFeed = 22,
// 23.10 (проверка всех предметов: куры и сложенный транспорт падали в «Прочее»; «Можно и добавить группы»).
Livestock = 23, Vehicles = 24;
public const int Count = 25;
public const uint All = (1u << Count) - 1;
/// <summary>Значок группы - иконка типичного предмета (ItemIconAtlas).</summary>
@@ -30,10 +32,10 @@ namespace NecromancerTome
"drinkJarBoiledWater", "medicalFirstAidKit", "resourceRockSmall", "resourceForgedSteel", "resourceMechanicalParts",
"resourceWood", "resourceGunPowder", "meleeToolPickT1IronPickaxe", "gunHandgunT1Pistol", "ammo9mmBulletBall",
"armorMinerHelmet", "modGunLaserSight", "bookArtOfMiningLuckyStrike", "cobblestoneMaster", "necroSkull", "oldCash",
"resourceChickenFeed"
"resourceChickenFeed", "domesticatedChicken", "vehicleMinibikePlaceable"
};
/// <summary>Ключ названия группы в Localization.csv: necroGroup0..necroGroup22.</summary>
/// <summary>Ключ названия группы в Localization.csv: necroGroup0..necroGroup24.</summary>
public static string NameKey(int _g) => "necroGroup" + _g;
static readonly HashSet<string> OreNames = new HashSet<string>
@@ -124,6 +126,21 @@ namespace NecromancerTome
static int Classify(ItemClass _ic, ItemValue _iv)
{
string n = _ic.GetItemName() ?? "";
// 23.10: семена - раньше «Некромантии»: кровавые семена (plantedNecroBloodRose1) уходили с грядок к логисту
// «только некромантия», и сборщику нечего было сеять. Всё, что сажается на грядку, - «Семена».
if (_ic.IsBlock() && new ItemValue(_ic.Id).ToBlockValue().Block is BlockPlantGrowing)
{
return Seeds;
}
// 23.10: живность (куры для курятника, кролик в мешке) и сложенный транспорт - свои группы.
if (n.StartsWith("domesticated") || n == RabbitGrab.SackItem)
{
return Livestock;
}
if (n.StartsWith("vehicle") && n.EndsWith("Placeable"))
{
return Vehicles;
}
// 23.10: жестяные банки - предметы мода, но по смыслу это стеклянные банки игры (кипятить воду) - к ним, не в «Некромантию».
if (n.StartsWith("tinCan"))
{