This commit is contained in:
2025-12-23 17:56:14 +08:00
parent 1264f6009e
commit 23302daac7
12 changed files with 358 additions and 114 deletions

View File

@@ -135,13 +135,12 @@ namespace ArachnaeSwarm
}
else
{
// 正常状态:应用活性效率
// 进度增长
float fluxSpeed = SpeedMultiplier * FluxEfficiency * 5f;
incubationProgress += fluxSpeed;
// 品质独立增长
float qualityBonus = 1f + (1f - neutronFlux) * 0.5f;
float qualityGain = SpeedMultiplier * QualityMultiplier * qualityBonus;
// 品质增长新公式50%通量时与进度同步)
float qualityGain = IncubatorUtils.CalculateQualityGainNew(fluxSpeed, neutronFlux);
qualityProgress = Mathf.Min(qualityProgress + qualityGain, qualityTotal);
}
@@ -404,21 +403,53 @@ namespace ArachnaeSwarm
yield return new Gizmo_EquipmentIncubationProgress(this);
yield return new Gizmo_NeutronFlux(this);
if (!isIncubating && EquipmentIncubatorData?.SelectedConfig?.IsResearchComplete == true)
var config = EquipmentIncubatorData?.SelectedConfig;
// 添加订单按钮
if (!isIncubating && assignedLarva == null)
{
yield return new Command_Action
{
defaultLabel = "呼叫幼虫",
icon = ContentFinder<Texture2D>.Get("ArachnaeSwarm/UI/Commands/ARA_CallLarva", false),
action = CallLarva
defaultLabel = "ARA_Gizmo_AddOrder".Translate(config != null ? 1 : 0, 1),
defaultDesc = "ARA_Gizmo_AddOrderDesc_Item".Translate(),
icon = ContentFinder<Texture2D>.Get("ArachnaeSwarm/UI/Commands/ARA_NodeSwarmIcon", false),
action = () => EquipmentIncubatorData?.ShowFloatMenu()
};
}
// 呼叫幼虫按钮逻辑
if (!isIncubating && config != null && config.IsResearchComplete)
{
if (assignedLarva == null)
{
yield return new Command_Action
{
defaultLabel = "ARA_Gizmo_CallLarva".Translate(),
defaultDesc = BuildCallLarvaDescription(config),
icon = ContentFinder<Texture2D>.Get("ArachnaeSwarm/UI/Commands/ARA_CallLarva", false),
action = CallLarva
};
}
else
{
string statusText = larvaOperateTicksRemaining > 0
? "ARA_Gizmo_LarvaActivating".Translate()
: "ARA_Gizmo_LarvaOnTheWay".Translate();
yield return new Command_Action
{
defaultLabel = statusText,
defaultDesc = "ARA_Gizmo_LarvaWorkingDesc".Translate(0),
icon = ContentFinder<Texture2D>.Get("ArachnaeSwarm/UI/Commands/ARA_CallLarva", false),
Disabled = true
};
}
}
if (isIncubating)
{
yield return new Command_Action
{
defaultLabel = "取消孵化",
defaultLabel = "ARA_OothecaIncubator.CancelIncubation".Translate(),
icon = ContentFinder<Texture2D>.Get("UI/Commands/Cancel", false),
action = CancelIncubation
};