暂存
This commit is contained in:
Binary file not shown.
@@ -7,7 +7,7 @@
|
|||||||
<label>织域形态</label>
|
<label>织域形态</label>
|
||||||
<description>将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。</description>
|
<description>将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。</description>
|
||||||
<iconPath>UI/Commands/EggSpew</iconPath> <!-- TODO: 替换为你的图标路径 -->
|
<iconPath>UI/Commands/EggSpew</iconPath> <!-- TODO: 替换为你的图标路径 -->
|
||||||
<cooldownTicksRange>600</cooldownTicksRange>
|
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||||
<hotKey>Misc12</hotKey>
|
<hotKey>Misc12</hotKey>
|
||||||
<targetRequired>false</targetRequired>
|
<targetRequired>false</targetRequired>
|
||||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
<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 RimWorld;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
|
||||||
namespace ArachnaeSwarm
|
namespace ArachnaeSwarm
|
||||||
@@ -42,8 +43,6 @@ namespace ArachnaeSwarm
|
|||||||
|
|
||||||
Pawn pawn = compMorphable.StoredPawn;
|
Pawn pawn = compMorphable.StoredPawn;
|
||||||
|
|
||||||
pawn.needs?.NeedsTrackerTickInterval(1);
|
|
||||||
|
|
||||||
var needs = pawn.needs;
|
var needs = pawn.needs;
|
||||||
if (needs == null)
|
if (needs == null)
|
||||||
{
|
{
|
||||||
@@ -81,17 +80,23 @@ namespace ArachnaeSwarm
|
|||||||
|
|
||||||
TimeAssignmentDef assignment = pawn.timetable?.CurrentAssignment ?? TimeAssignmentDefOf.Anything;
|
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)
|
if (needs.rest != null)
|
||||||
{
|
{
|
||||||
needs.rest.CurLevel += Need_Rest.BaseRestGainPerTick * 2f;
|
virtualRest = Mathf.Min(VirtualRestMax, virtualRest + (Need_Rest.BaseRestGainPerTick * 2f)); // 乘以2模拟床的效率
|
||||||
}
|
}
|
||||||
StopResearchEffect();
|
StopResearchEffect();
|
||||||
}
|
}
|
||||||
else // 工作时间
|
else // 工作或任意时间 (只要不在休息/娱乐,就下降)
|
||||||
{
|
{
|
||||||
|
// 使用固定的、预估的下降率
|
||||||
|
if (virtualRest > 0)
|
||||||
|
{
|
||||||
|
virtualRest -= (0.66f / 60000f);
|
||||||
|
}
|
||||||
|
|
||||||
ResearchProjectDef currentProj = Find.ResearchManager.GetProject();
|
ResearchProjectDef currentProj = Find.ResearchManager.GetProject();
|
||||||
if (currentProj != null)
|
if (currentProj != null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user