Цинерарий-старатель (#64): дух добывает ископаемые
Урна necroCinerariumProspector (и ...Skull): в «Содержимом» череп и образец - один из девяти ресурсов (камень, глина, песок, древесина, железо, свинец, уголь, селитра, сланец), нить к ящику. Дух отлетает на соседнюю свободную клетку и уходит на 5 блоков под землю, растворяясь; раз в игровой час поднимается так же, кладёт добычу в ящик и уходит снова. За сутки: камень/глина/песок/древесина 30000, руды 18000, ходка ±20%. Из руды - шанс на алмаз, серебро, золото по шансам игры на каждый «блок» руды. Ящик полон - дух ждёт с добычей. Без зоны и вне лимита урн. Рецепт - кузня: латунь 40, прах 100, кости 10, кровь/сок, железная кирка; открывается с остальными урнами. Консоль necroprospector: on/off, trip, yield, spread, depth, состояние. Тексты - 13 языков; глава книги «Цинерарии» - лист Fig. VIII с шестой урной и фраза про prospektisto. Проверено в игре (test8): ходка железа 625 в ящике, спуск и подъём духа, лист и страница книги помещаются. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
f1010f98b7
commit
0999fd3afc
@@ -278,7 +278,7 @@ namespace NecromancerTome
|
||||
|
||||
/// <summary>Покачивание и поворот джинна над урной. Только вид - никакой логики.</summary>
|
||||
[Preserve]
|
||||
public class CinerariumGenieMotion : MonoBehaviour
|
||||
public partial class CinerariumGenieMotion : MonoBehaviour
|
||||
{
|
||||
float _yaw;
|
||||
float _phase;
|
||||
@@ -548,7 +548,7 @@ namespace NecromancerTome
|
||||
_nextSleepCheck = Time.time + 0.5f;
|
||||
// Уснул - игрок далеко или дух не среди ближайших (CinerariumLoad.AnimateNearest): замирает дома, работа идёт.
|
||||
bool asleep = CinerariumGenie.PlayerFar(transform.position) || !CinerariumLoad.Animated(this);
|
||||
if (asleep && !_asleep)
|
||||
if (asleep && !_asleep && !Digging) // старатель под землёй - не возвращать домой
|
||||
{
|
||||
_t = -1f; // полёт прерван - дело всё равно выполнится
|
||||
Gesture(0f);
|
||||
@@ -558,7 +558,7 @@ namespace NecromancerTome
|
||||
}
|
||||
// Виден ли: не скрыт командой; дух логиста - только в полёте (дома сидит в кадиле). Рендереры - только при смене
|
||||
// (16.10, проверка на утечки: раньше список рендереров собирался каждые 0.5 с - мусор для GC).
|
||||
bool show = !CinerariumGenie.Hidden && (!Small || _t >= 0f);
|
||||
bool show = !CinerariumGenie.Hidden && (!Small || _t >= 0f) && !DigHidden;
|
||||
if (_hiddenApplied != !show)
|
||||
{
|
||||
_hiddenApplied = !show;
|
||||
@@ -567,6 +567,10 @@ namespace NecromancerTome
|
||||
r.enabled = show;
|
||||
}
|
||||
}
|
||||
if (DigUpdate(_asleep))
|
||||
{
|
||||
return; // старатель: спуск, под землёй, подъём (CinerariumProspector.cs)
|
||||
}
|
||||
if (_stuck || _asleep)
|
||||
{
|
||||
return; // замер как был
|
||||
|
||||
Reference in New Issue
Block a user