Урна рабочего: вход сырья кузни держать полным (#19)
Сырьё подкладывалось, только когда переплавленного не хватало на одну штуку - кузня плавила остатки, цемент шёл по одному. Теперь отдельное дело: есть место во входе под материал рецепта образца - доложить сырьё до стака (после изготовления). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
b4335a0448
commit
cc9c0366f0
@@ -171,6 +171,45 @@ namespace NecromancerTome
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 2б. Кузня: вход сырья держать полным (24.10, пользователь: «Места не должны пустовать. Нужно чтобы заполнены были
|
||||||
|
// обе ячейки»). Раньше сырьё подкладывалось, только когда переплавленного не хватало даже на одну штуку, - кузня
|
||||||
|
// плавила остатки, и дух ставил цемент по одному. Изготовление - первым делом (выше), подкладка - следующим.
|
||||||
|
if (hasSample)
|
||||||
|
{
|
||||||
|
string name = sample.itemValue.ItemClass?.GetItemName();
|
||||||
|
foreach (Station st in stations)
|
||||||
|
{
|
||||||
|
if (!st.Te.isModuleUsed[MaterialModule] || !OutputHasRoom(st.Te, sample) && !outRoom)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
foreach (Recipe r in CraftingManager.GetRecipes(name))
|
||||||
|
{
|
||||||
|
if (r.IsScrap || !AreaFits(r, st.Areas) || owner != null && !r.IsUnlocked(owner))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
foreach (ItemStack ing in r.ingredients)
|
||||||
|
{
|
||||||
|
string iname = ing?.itemValue?.ItemClass?.GetItemName();
|
||||||
|
if (iname == null || UnitSlot(st.Te, iname) < 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (FeedMaterial(st, iname, src, _dry, out Vector3i? rawAt))
|
||||||
|
{
|
||||||
|
_from = rawAt;
|
||||||
|
if (!_dry)
|
||||||
|
{
|
||||||
|
Ignite(st.Te, src, false);
|
||||||
|
}
|
||||||
|
return st.Pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 3. Огонь: работа есть - топливо и огонь; нет - погасить (экономия топлива).
|
// 3. Огонь: работа есть - топливо и огонь; нет - погасить (экономия топлива).
|
||||||
foreach (Station st in stations)
|
foreach (Station st in stations)
|
||||||
{
|
{
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user