暂存
This commit is contained in:
Binary file not shown.
@@ -7,7 +7,7 @@
|
||||
<label>织域形态</label>
|
||||
<description>将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath> <!-- TODO: 替换为你的图标路径 -->
|
||||
<cooldownTicksRange>600</cooldownTicksRange>
|
||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||
<hotKey>Misc12</hotKey>
|
||||
<targetRequired>false</targetRequired>
|
||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
|
||||
<!-- CompAbilityEffect_Transform -->
|
||||
<PawnTransformer_SpaceBlocked>{PAWN_labelShort} 无法变形:空间不足或有障碍物。</PawnTransformer_SpaceBlocked>
|
||||
<AbilityCannotBeUsedOnOthers>此能力只能对自己施放。</AbilityCannotBeUsedOnOthers>
|
||||
|
||||
<!-- Building_Morphable -->
|
||||
<StoredPawn>织域者</StoredPawn>
|
||||
<Activity>活动</Activity>
|
||||
<Researching>研究中</Researching>
|
||||
<Idle>空闲中</Idle>
|
||||
<Sleeping>睡眠中</Sleeping>
|
||||
<PawnTransformer_OutOfFuel>{PAWN_labelShort} 因营养耗尽而被强制弹出!</PawnTransformer_OutOfFuel>
|
||||
<PawnTransformer_ForcedRevert>{PAWN_labelShort} 因受到攻击而被强制弹出!</PawnTransformer_ForcedRevert>
|
||||
<PawnTransformer_BuildingDestroyed>{PAWN_labelShort} 从被摧毁的 {BUILDING_label} 中弹出!</PawnTransformer_BuildingDestroyed>
|
||||
|
||||
</LanguageData>
|
||||
@@ -1,6 +1,7 @@
|
||||
using RimWorld;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
@@ -42,8 +43,6 @@ namespace ArachnaeSwarm
|
||||
|
||||
Pawn pawn = compMorphable.StoredPawn;
|
||||
|
||||
pawn.needs?.NeedsTrackerTickInterval(1);
|
||||
|
||||
var needs = pawn.needs;
|
||||
if (needs == null)
|
||||
{
|
||||
@@ -81,17 +80,23 @@ namespace ArachnaeSwarm
|
||||
|
||||
TimeAssignmentDef assignment = pawn.timetable?.CurrentAssignment ?? TimeAssignmentDefOf.Anything;
|
||||
|
||||
if (forceSleep || (assignment != TimeAssignmentDefOf.Work && assignment != TimeAssignmentDefOf.Anything))
|
||||
if (forceSleep || assignment == TimeAssignmentDefOf.Sleep || assignment == TimeAssignmentDefOf.Joy)
|
||||
{
|
||||
// 休眠期
|
||||
// 休眠期 (只有在强制休眠或日程为睡眠/娱乐时才恢复)
|
||||
if (needs.rest != null)
|
||||
{
|
||||
needs.rest.CurLevel += Need_Rest.BaseRestGainPerTick * 2f;
|
||||
virtualRest = Mathf.Min(VirtualRestMax, virtualRest + (Need_Rest.BaseRestGainPerTick * 2f)); // 乘以2模拟床的效率
|
||||
}
|
||||
StopResearchEffect();
|
||||
}
|
||||
else // 工作时间
|
||||
else // 工作或任意时间 (只要不在休息/娱乐,就下降)
|
||||
{
|
||||
// 使用固定的、预估的下降率
|
||||
if (virtualRest > 0)
|
||||
{
|
||||
virtualRest -= (0.66f / 60000f);
|
||||
}
|
||||
|
||||
ResearchProjectDef currentProj = Find.ResearchManager.GetProject();
|
||||
if (currentProj != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user