This commit is contained in:
Tourswen
2025-12-15 02:12:09 +08:00
parent 79f461c9e3
commit 8e5cbb1b15
15 changed files with 1719 additions and 454 deletions

Binary file not shown.

View File

@@ -1,90 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RoomRoleDef>
<defName>None</defName>
<label>none</label>
<workerClass>RoomRoleWorker_None</workerClass>
</RoomRoleDef>
<RoomRoleDef>
<defName>Room</defName>
<label>room</label>
<workerClass>RoomRoleWorker_Room</workerClass>
</RoomRoleDef>
<RoomRoleDef>
<defName>Bedroom</defName>
<label>bedroom</label>
<workerClass>RoomRoleWorker_Bedroom</workerClass>
<avoidViewingArtIfUnowned>true</avoidViewingArtIfUnowned>
<defName>ARA_Incubator_Room</defName>
<label>阿拉克涅孵化间</label>
<workerClass>ArachnaeSwarm.RoomRoleWorker_Incubator</workerClass>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>PrisonCell</defName>
<label>prison cell</label>
<workerClass>RoomRoleWorker_PrisonCell</workerClass>
<avoidViewingArtIfUnowned>true</avoidViewingArtIfUnowned>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>DiningRoom</defName>
<label>dining room</label>
<workerClass>RoomRoleWorker_DiningRoom</workerClass>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>RecRoom</defName>
<label>rec room</label>
<workerClass>RoomRoleWorker_RecRoom</workerClass>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>Hospital</defName>
<label>hospital</label>
<workerClass>RoomRoleWorker_Hospital</workerClass>
<avoidViewingArtIfUnowned>true</avoidViewingArtIfUnowned>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Space</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>Laboratory</defName>
<label>laboratory</label>
<workerClass>RoomRoleWorker_Laboratory</workerClass>
<relatedStats>
<li>Cleanliness</li>
<li>ARA_IncubatorRateFactor</li>
</relatedStats>
</RoomRoleDef>
</Defs>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RoomStatDef>
<defName>ARA_IncubatorQualityFactor</defName>
<label>孵化质量</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>0.75</roomlessScore>
<inputStat>Space</inputStat>
<curve>
<points>
<li>(-5.0, 0.65 )</li>
<li>(-2.5, 0.75 )</li>
<li>( 0.0, 0.85 )</li>
<li>( 1.0, 1.00 )</li>
</points>
</curve>
</RoomStatDef>
</Defs>

View File

@@ -1,308 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--======= Primary stats (calcualated from physical conditions) =======-->
<RoomStatDef>
<defName>Impressiveness</defName>
<label>impressiveness</label>
<workerClass>RoomStatWorker_Impressiveness</workerClass>
<updatePriority>1</updatePriority>
<displayRounded>true</displayRounded>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>awful</label>
</li>
<li>
<minScore>20</minScore>
<label>dull</label>
</li>
<li>
<minScore>30</minScore>
<label>mediocre</label>
</li>
<li>
<minScore>40</minScore>
<label>decent</label>
</li>
<li>
<minScore>50</minScore>
<label>slightly impressive</label>
</li>
<li>
<minScore>65</minScore>
<label>somewhat impressive</label>
</li>
<li>
<minScore>85</minScore>
<label>very impressive</label>
</li>
<li>
<minScore>120</minScore>
<label>extremely impressive</label>
</li>
<li>
<minScore>170</minScore>
<label>unbelievably impressive</label>
</li>
<li>
<minScore>240</minScore>
<label>wondrously impressive</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Wealth</defName>
<label>wealth</label>
<workerClass>RoomStatWorker_Wealth</workerClass>
<updatePriority>2</updatePriority>
<displayRounded>true</displayRounded>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>impoverished</label>
</li>
<li>
<minScore>500</minScore>
<label>somewhat poor</label>
</li>
<li>
<minScore>700</minScore>
<label>mediocre</label>
</li>
<li>
<minScore>2000</minScore>
<label>somewhat rich</label>
</li>
<li>
<minScore>4000</minScore>
<label>rich</label>
</li>
<li>
<minScore>10000</minScore>
<label>luxurious</label>
</li>
<li>
<minScore>40000</minScore>
<label>very luxurious</label>
</li>
<li>
<minScore>100000</minScore>
<label>extremely luxurious</label>
</li>
<li>
<minScore>1000000</minScore>
<label>unbelievably luxurious</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Space</defName>
<label>space</label>
<workerClass>RoomStatWorker_Space</workerClass>
<updatePriority>2</updatePriority>
<displayRounded>true</displayRounded>
<roomlessScore>350</roomlessScore>
<scoreStages>
<li>
<label>cramped</label>
</li>
<li>
<minScore>12.5</minScore>
<label>rather tight</label>
</li>
<li>
<minScore>29</minScore>
<label>average-sized</label>
</li>
<li>
<minScore>55</minScore>
<label>somewhat spacious</label>
</li>
<li>
<minScore>70</minScore>
<label>quite spacious</label>
</li>
<li>
<minScore>130</minScore>
<label>very spacious</label>
</li>
<li>
<minScore>349.5</minScore>
<label>extremely spacious</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Beauty</defName>
<label>beauty</label>
<workerClass>RoomStatWorker_Beauty</workerClass>
<updatePriority>2</updatePriority>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>hideous</label>
</li>
<li>
<minScore>-3.5</minScore>
<label>ugly</label>
</li>
<li>
<minScore>0.0</minScore>
<label>neutral</label>
</li>
<li>
<minScore>2.4</minScore>
<label>pretty</label>
</li>
<li>
<minScore>5.0</minScore>
<label>beautiful</label>
</li>
<li>
<minScore>15.0</minScore>
<label>very beautiful</label>
</li>
<li>
<minScore>50.0</minScore>
<label>extremely beautiful</label>
</li>
<li>
<minScore>100.0</minScore>
<label>unbelievably beautiful</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Cleanliness</defName>
<label>cleanliness</label>
<workerClass>RoomStatWorker_Cleanliness</workerClass>
<updatePriority>2</updatePriority>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>very dirty</label>
</li>
<li>
<minScore>-1.1</minScore>
<label>dirty</label>
</li>
<li>
<minScore>-0.4</minScore>
<label>slightly dirty</label>
</li>
<li>
<minScore>-0.05</minScore>
<label>clean</label>
</li>
<li>
<minScore>0.4</minScore>
<label>sterile</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>ReadingBonus</defName>
<label>reading bonus</label>
<workerClass>RoomStatWorker_ReadingBonus</workerClass>
<roomlessScore>1</roomlessScore>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
</RoomStatDef>
<!--======= Dependent stats (calculated from other stats) =======-->
<RoomStatDef>
<defName>InfectionChanceFactor</defName>
<label>infection chance factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>1.0</roomlessScore>
<inputStat>Cleanliness</inputStat>
<curve>
<points>
<li>(-5, 1.0)</li> <!-- Never worse than no tending at all -->
<li>( 0, 0.5)</li>
<li>( 1, 0.2)</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>SurgerySuccessChanceCleanlinessFactor</defName>
<label>surgery success chance cleanliness factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>0.6</roomlessScore>
<inputStat>Cleanliness</inputStat>
<curve>
<points>
<li>(-5, 0.6)</li>
<li>( 0, 1.0)</li>
<li>( 1, 1.10)</li>
<li>( 5, 1.15)</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>ARA_ResearchSpeedFactor</defName>
<label>research speed factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>0.75</roomlessScore>
<inputStat>Space</inputStat>
<curve>
<points>
<li>(-5.0, 0.75 )</li>
<li>(-2.5, 0.85 )</li>
<li>( 0.0, 1.00 )</li>
<li>( 1.0, 1.15 )</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>GraveVisitingJoyGainFactor</defName>
<label>grave visiting recreation factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>1</roomlessScore>
<inputStat>Impressiveness</inputStat>
<curve>
<points>
<li>(-150, 1.0)</li>
<li>( 0, 1.0)</li>
<li>( 150, 1.4)</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>FoodPoisonChance</defName>
<label>food poison chance</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>0.02</roomlessScore>
<inputStat>Cleanliness</inputStat>
<curve>
<points>
<li>(-5, 0.05)</li>
<li>(-3.5, 0.025)</li>
<li>(-2, 0)</li>
</points>
</curve>
</RoomStatDef>
</Defs>

View File

@@ -773,7 +773,6 @@
</comps>
</ThingDef>
<ApparelLayerDef>
<defName>ARA_Shield</defName>
<label>盾牌和共生肌群</label>

View File

@@ -100,6 +100,7 @@
<repairable>false</repairable>
<isTargetable>true</isTargetable>
<expandHomeArea>false</expandHomeArea>
<workTableRoomRole>ARA_Incubator_Room</workTableRoomRole>
</building>
<!-- ITab配置 -->

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<!-- Building_Ootheca.cs -->
<Incubating>正在孵化</Incubating>
<Progress>进度</Progress>
<Speed>速度</Speed>
<Quality>质量</Quality>
<Target>目标</Target>
<SpeedMultiplier>速度乘数</SpeedMultiplier>
<QualityMultiplier>质量乘数</QualityMultiplier>
<LarvaIsOperating>幼虫种种进入中</LarvaIsOperating>
<SRemaining>剩余秒数</SRemaining>
<LarvaIsOnTheWay>幼虫种正在路上</LarvaIsOnTheWay>
<TimeRemaining>剩余时间</TimeRemaining>
<Days></Days>
<Hours>小时</Hours>
<CallLarva>指派幼虫种</CallLarva>
<CancelIncubation>取消孵化</CancelIncubation>
<CancelIncubationDesc>取消当前的孵化进度,幼虫种将死在卵囊中,卵囊则会重新张开以接纳其他幼虫种</CancelIncubationDesc>
<Incubate>孵化</Incubate>
<None></None>
<SelectWhatToIncubate>选择要孵化的目标,点击更改目标。</SelectWhatToIncubate>
<NoTargetSelected>未选择目标</NoTargetSelected>
<BaseIncubationTime>基础孵化时间</BaseIncubationTime>
<DaysRequired></DaysRequired>
<Research>研究</Research>
<Completed>已完成</Completed>
<Required>需要</Required>
<ClickToSelectDifferentTarget>点击选择不同的孵化目标。</ClickToSelectDifferentTarget>
<AlreadyIncubating>已经在孵化中</AlreadyIncubating>
<CancelCurrentIncubationFirst>请先取消当前孵化</CancelCurrentIncubationFirst>
<LarvaAlreadyOnTheWay>一只幼虫种已经在前往这个卵囊的路上</LarvaAlreadyOnTheWay>
<NoAvailableLarvaeFound>没有找到可用的幼虫种</NoAvailableLarvaeFound>
<LarvaMustBeOfRace>必须是阿拉克涅幼虫种,并且属于你的派系</LarvaMustBeOfRace>
<LarvaCalled>已召唤幼虫种</LarvaCalled>
<ItWillArriveShortly>它将很快到达并激活卵囊</ItWillArriveShortly>
<LarvaHasArrived>幼虫种已到达</LarvaHasArrived>
<AndIsActivatingTheOotheca>正在激活卵囊...</AndIsActivatingTheOotheca>
<IncubationStartedFor>已开始孵化</IncubationStartedFor>
<ProcessWillCompleteIn>过程将在</ProcessWillCompleteIn>
<DaysBaseTime>天后完成(基础时间)</DaysBaseTime>
<IncubationCancelled>孵化已取消</IncubationCancelled>
<ContentsLost>内容已丢失</ContentsLost>
<IncubationComplete>孵化完成</IncubationComplete>
<HasEmergedWith>已诞生,质量为</HasEmergedWith>
<QualityExcellent>优秀</QualityExcellent>
<QualityGood>良好</QualityGood>
<QualityAverage>一般</QualityAverage>
<QualityPoor></QualityPoor>
<QualityVeryPoor>极差</QualityVeryPoor>
<IncubationSpeedFactors>孵化速度因子:</IncubationSpeedFactors>
<InIncubatorRoom>✓ 在孵化间中 (100%)</InIncubatorRoom>
<NotInIncubatorRoom>✗ 不在孵化间中 (80%速度)</NotInIncubatorRoom>
<NutrientSolutions>✓ 营养液</NutrientSolutions>
<NoNutrientSolutionsNearby>✗ 附近没有营养液</NoNutrientSolutionsNearby>
<TotalSpeedMultiplier>总速度乘数:{0}</TotalSpeedMultiplier>
<IncubationQualityFactors>孵化质量因子:</IncubationQualityFactors>
<BuildingHealth>✓ 建筑血量:</BuildingHealth>
<RoomFactorNormal>✓ 房间因子100%</RoomFactorNormal>
<RoomFactorModified>房间因子:</RoomFactorModified>
<NearbyOothecas>✗ 附近卵囊:</NearbyOothecas>
<NoNearbyOothecas>✓ 附近没有卵囊</NoNearbyOothecas>
<TotalQualityMultiplier>总质量乘数:{0}</TotalQualityMultiplier>
<CallALarvaToActivate>召唤一只幼虫种来进入这个卵囊</CallALarvaToActivate>
<LarvaWillComeToTheOotheca>幼虫种将来到卵囊,进入它,然后开始孵化:</LarvaWillComeToTheOotheca>
<CurrentSpeedMultiplier>当前速度乘数:</CurrentSpeedMultiplier>
<CurrentQualityMultiplier>当前质量乘数:</CurrentQualityMultiplier>
<CancelTheCurrentIncubationProcess>取消当前的孵化过程,在其中的幼虫种将会死亡</CancelTheCurrentIncubationProcess>
<!-- CompProperties_IncubatorData.cs -->
<IncubatorButtonLabel>孵化:{0}</IncubatorButtonLabel>
<IncubatorButtonDesc>点击更改目标</IncubatorButtonDesc>
<IncubatorMenuTitle>选择孵化目标</IncubatorMenuTitle>
<IncubationTarget>孵化目标:</IncubationTarget>
<Requires>需要:</Requires>
<NoDescriptionAvailable>无描述可用</NoDescriptionAvailable>
<IncubationTime>孵化时间</IncubationTime>
<IncubatorButtonTime>孵化时间:{0}天</IncubatorButtonTime>
<!-- ITab_Ootheca_Incubation.cs -->
<IncubationTab>孵化状态</IncubationTab>
<IncubationProgress>孵化进度</IncubationProgress>
<NotAnOotheca>这不是一个卵囊</NotAnOotheca>
<ReadyToIncubate>准备孵化:</ReadyToIncubate>
<NoIncubationTargetSelected>未选择孵化目标</NoIncubationTargetSelected>
<LarvaIsActivatingOotheca>幼虫种正在激活卵囊...</LarvaIsActivatingOotheca>
<SecondsRemaining>剩余秒数</SecondsRemaining>
<QualityBelowTargetAffectsFinalOutcome>质量:低于目标(影响最终结果)</QualityBelowTargetAffectsFinalOutcome>
<QualityProgress>质量进度</QualityProgress>
<IncubationProgressLabel>孵化进度</IncubationProgressLabel>
<!-- JobDriver_OperateIncubator.cs -->
<ActivatingOotheca>正在激活卵囊...</ActivatingOotheca>
<!-- Quality Status Messages -->
<QualityBelowTarget>质量低于目标</QualityBelowTarget>
<!-- Research Related -->
<ResearchRequired>需要研究</ResearchRequired>
</LanguageData>