Merge origin/master with fixes

This commit is contained in:
2025-12-21 15:03:27 +08:00
50 changed files with 1004 additions and 260 deletions

View File

@@ -1547,7 +1547,7 @@
</makeImmuneTo>
<statFactors>
<StaggerDurationFactor>0</StaggerDurationFactor>
<!-- <Flammability>0</Flammability> -->
<Flammability>0</Flammability>
<MeleeHitChance>25</MeleeHitChance>
<IncomingDamageFactor>0.25</IncomingDamageFactor>
</statFactors>

View File

@@ -1,130 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<MemeDef>
<defName>ARA_Hive_Worship</defName>
<label>视虫为神</label>
<description>这些美丽的节肢类动物便是无上意志派来拯救我们的使者。(虫群恐惧已经删除,该文化即将废弃,如果你是开新档请勿选择)</description>
<iconPath>ArachnaeSwarm/UI/Memes/ARA_Hive_Worship</iconPath>
<groupDef>Misc</groupDef>
<impact>2</impact>
<!-- <consumableBuildings>
<li>CannibalPlatter</li>
</consumableBuildings> -->
<!-- <exclusionTags>
<li>SupremacistIndividualist</li>
</exclusionTags> -->
<requireOne>
<li>
<li>ARA_Hive_Dear</li>
</li>
</requireOne>
<generalRules>
<rulesStrings>
<li>memeAdjective->神虫</li>
<li>memeAdjective->圣虫</li>
<li>memeAdjective->崇虫</li>
<li>memeAdjective->敬虫</li>
<li>memeAdjective->拜虫</li>
<li>memeAdjective->虫神</li>
<li>memeAdjective->虫圣</li>
<li>memeCreed->虫群</li>
<li>memeCreed->虫巢</li>
<li>memeCreed->虫神</li>
<li>memeCreed->甲壳</li>
<li>memeCreed->节肢</li>
<li>memeHyphenPrefix->圣虫</li>
<li>memeConcept->崇拜</li>
<li>memeConcept->信仰</li>
<li>memeConcept->救赎</li>
<li>memeConcept->神谕</li>
<li>memeConcept->启示</li>
<li>memeLeaderNoun->祭司</li>
<li>memeLeaderNoun->先知</li>
<li>memeLeaderNoun->神使</li>
<li>memeLeaderNoun->虫语者</li>
<li>memeLeaderNoun->守护者</li>
<li>memeLeaderNoun->大祭司</li>
</rulesStrings>
</generalRules>
<descriptionMaker>
<rules>
<rulesStrings>
<!-- theist myth 神话起源 -->
<li>creation(tag=meme_Insect_Worship) ->在[place_summary] [place_name]的人们深陷绝望之时,[deity0_name]派遣神圣的虫群降临世间,选择[memberNamePlural]作为虫神的代言人。</li>
<li>episode(uses=1,tag=meme_Insect_Worship) ->当异教徒试图消灭神圣的虫巢时,[deity0_name]说:"保护这些美丽的使者,直到虫神的意志遍布宇宙,真正的救赎方能降临。"</li>
<!-- theist founder 神权创始人 -->
<li>intro(tag=meme_Insect_Worship) ->[place_summary] [place_name]的人们崇拜[deity0_name]。虫神看到他们理解[memeConcept]的真谛,注定要成为虫族与人类之间的桥梁。</li>
<li>conflict(tag=meme_Insect_Worship) ->[foeLeader]颁布法令,禁止[memberNamePlural]在[place_name]与神圣的虫群进行交流。</li>
<li>founderJoin(tag=meme_Insect_Worship) ->名为[founderName]的先知在虫巢中领悟了真理。[deity0_name]看到[founderName]的虔诚,指定[founder_objective]为虫神意志的传达者。</li>
<li>victory(tag=meme_Insect_Worship) ->[founderName]引导神圣的虫群保护了[place_name],驱逐了[foeLeader]。[founder_pronoun]成为[place_name]的首位虫语者,连接两个世界。</li>
<!-- ideological founder 意识形态创始人 -->
<li>setup(tag=meme_Insect_Worship) ->[founderName]建立了与虫群和谐共处的社区,将虫神的教诲传播四方,让拒绝理解的人见识共生的美好。</li>
<li>story(uses=1,tag=meme_Insect_Worship) ->[founderName]教导所有人要与虫群和平共处。当第一个城市试图消灭虫巢时,神圣的虫群展示了它们保护信徒的力量。</li>
<!-- ideological lesson 意识形态教训 -->
<li>lessonIntro(tag=meme_Insect_Worship) ->我看着这个[foeLeader],带着[foeLeader_possessive]无知的[foeSoldiers],试图对抗神圣的意志。我试图让[foeLeader_objective]明白</li>
<li>lesson(tag=meme_Insect_Worship) ->我们早已证明,与虫群共生才是人类真正的救赎之路</li>
<li>lessonReinforcement(tag=meme_Insect_Worship) ->这就是为什么我们骄傲地通过守护虫巢来表达对神意的忠诚。</li>
<!-- archist 技术统治论 -->
<li>archistBasis(tag=meme_Insect_Worship) ->虫群展现的完美社会结构,正是无上意志为我们指引的未来蓝图。</li>
<li>archistFact(tag=meme_Insect_Worship) ->正如虫后统领着她的族群,我们也需要遵循虫神制定的神圣秩序。</li>
<li>archistProphecy(tag=meme_Insect_Worship) ->当人类最终学会像虫群那样和谐共处时,真正的文明才会诞生。</li>
<!-- animist 泛灵论 -->
<li>animistFact(tag=meme_Insect_Worship) ->每一只虫族都承载着神性,它们的甲壳上镌刻着宇宙的真理。</li>
<li>animistProphecy(tag=meme_Insect_Worship) ->[itIsSaid]当人类与虫群完全融合之时,新的黄金时代将会开启。</li>
</rulesStrings>
</rules>
</descriptionMaker>
<symbolPacks>
<li>
<theme>animism</theme>
<adjective>animist</adjective>
<member>animist</member>
</li>
<li>
<theme>spiritism</theme>
<adjective>spiritist</adjective>
<member>spiritist</member>
</li>
</symbolPacks>
</MemeDef>
<!-- Issues -->
<IssueDef>
<defName>ARA_Hive_Issue</defName>
<label>虫族</label>
<iconPath>ArachnaeSwarm/UI/Issues/ARA_Hive_Issue</iconPath>
<forceWriteLabelInPreceptFloatMenuOption>true</forceWriteLabelInPreceptFloatMenuOption>
</IssueDef>
<PreceptDef>
<defName>ARA_Hive_Dear</defName>
<issue>ARA_Hive_Issue</issue>
<label>敬爱</label>
<description>再靠近点,圣虫的使者们,让我好好欣赏你们的美丽。</description>
<impact>High</impact>
<displayOrderInIssue>10</displayOrderInIssue>
<defaultSelectionWeight>1000</defaultSelectionWeight>
<requiredMemes>
<li>ARA_Hive_Worship</li>
</requiredMemes>
<associatedMemes>
<li>ARA_Hive_Worship</li>
</associatedMemes>
</PreceptDef>
<PreceptDef>
<defName>ARA_Hive_Honorable</defName>
<issue>ARA_Hive_Issue</issue>
<label>恐惧</label>
<description>丑陋恶心的大虫子!</description>
<impact>Low</impact>
<defaultSelectionWeight>1</defaultSelectionWeight>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<comps>
</comps>
</PreceptDef>
</Defs>

View File

@@ -585,10 +585,11 @@
</lifeStages>
</PawnKindDef>
<PawnKindDef ParentName="AnimalKindBase">
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBeast_Race_Slayer</defName>
<label>阿拉克涅暴屠种</label>
<race>ArachnaeBeast_Race_Slayer</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<forceDeathOnDowned>false</forceDeathOnDowned>
<forceNoDeathNotification>false</forceNoDeathNotification>
<immuneToGameConditionEffects>true</immuneToGameConditionEffects>
@@ -598,7 +599,7 @@
<li>
<bodyGraphicData>
<texPath>ArachnaeSwarm/Things/ARA_Slayer/Bodies/Naked_Thin</texPath>
<drawSize>6.5</drawSize>
<drawSize>5.5</drawSize>
<shadowData>
<volume>(0.4, 0.5, 0.37)</volume>
<offset>(0,0,-0.15)</offset>

View File

@@ -49,7 +49,7 @@
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_InteractiveEggSac_Start</thingDef>
<count>6</count>
<count>5</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>

View File

@@ -11,7 +11,6 @@
<race>
<body>ArachnaeSlayer_Body</body>
<thinkTreeMain>ARA_Insect_Beast</thinkTreeMain>
<thinkTreeConstant>ARA_Insect_Beast_Constant</thinkTreeConstant>
<!-- 身形大小 -->
<baseBodySize>10</baseBodySize>
<!-- 基础血量,很高 -->
@@ -46,8 +45,8 @@
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
</li>
<li Class="ArachnaeSwarm.CompProperties_PawnBodyWeapon">
<cleaveAngle>120</cleaveAngle>
<cleaveRange>3</cleaveRange>
<cleaveAngle>60</cleaveAngle>
<cleaveRange>2</cleaveRange>
<cleaveDamageFactor>1</cleaveDamageFactor>
<damageDowned>false</damageDowned>
<cleaveDamageDef>Cut</cleaveDamageDef>

View File

@@ -150,7 +150,7 @@
<Nutrition>0.2</Nutrition>
</statBases>
<graphicData>
<texPath>ArachnaeSwarm/Plant/ARA_CreepPlant</texPath>
<texPath>ArachnaeSwarm/Plant/ARA_Bacterium_Plant</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<selectable>true</selectable>

View File

@@ -363,7 +363,7 @@
<!-- 视觉效果 -->
<showVisualEffects>true</showVisualEffects>
<!-- <workingEffecter>Spraying_Nutrient</workingEffecter> -->
<workingSound>AcidSpray_Resolve</workingSound>
<!-- <workingSound>AcidSpray_Resolve</workingSound> -->
<completionSound>AcidSpray_Resolve</completionSound>
</li>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
@@ -457,6 +457,7 @@
<passability>PassThroughOnly</passability>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<pathCost>50</pathCost>
<canOverlapZones>false</canOverlapZones>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
<WorkToBuild>2800</WorkToBuild>
@@ -541,10 +542,11 @@
<description>阿拉克涅的骨花通过催化尸体而转变得到的柱子,虫群可以将其拆除以得到甲壳素。</description>
<uiOrder>2040</uiOrder>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<passability>Standable</passability>
<fillPercent>0.25</fillPercent>
<pathCost>0</pathCost>
<uiIconScale>0.8</uiIconScale>
<canOverlapZones>false</canOverlapZones>
<graphicData>
<drawSize>(1.25,1.25)</drawSize>
<drawOffset>(0,0,0.2)</drawOffset>
@@ -572,7 +574,6 @@
<ARA_Carapace>20</ARA_Carapace>
</costList>
<holdsRoof>true</holdsRoof>
<canOverlapZones>false</canOverlapZones>
<rotatable>false</rotatable>
<fertility>0</fertility>
<building>

View File

@@ -399,7 +399,7 @@
<ThingDef ParentName="BuildingNaturalBase">
<defName>ARA_Equipment_Ootheca</defName>
<label>阿拉克涅茧</label>
<description>如宝塔般的阿拉克涅活体结构,可以孵化出变态发育后的不完全个体——武装器官和织物,也就是虫群的武器和衣服,它需要由阿拉克涅幼虫种进入以启动孵化进程。一个宽敞、铺满阿拉克涅营养液的孵化间将是它最佳的放置场所。\n\n在孵化过程中阿拉克涅茧会不断吞噬附近的营养液需要指派有建造能力的虫族不断修复。</description>
<description>如宝塔般的阿拉克涅活体结构,可以孵化出变态发育后的不完全个体——武装器官和织物,也就是虫群的武器和衣服,它需要由阿拉克涅幼虫种进入以启动孵化进程。一个宽敞、铺满阿拉克涅营养液的孵化间将是它最佳的放置场所。</description>
<statBases>
<MarketValue>1000</MarketValue>
</statBases>
@@ -422,7 +422,7 @@
<rotatable>false</rotatable>
<tickerType>Normal</tickerType>
<generateCommonality>0</generateCommonality>
<tradeability>None</tradeability>
<tradeability>None</tradeability>
<thingSetMakerTags Inherit="False" />
<terrainAffordanceNeeded>ARA_Incubator_Nutrient_Solution</terrainAffordanceNeeded>
<!-- 交互设置 -->

View File

@@ -158,12 +158,12 @@
<li Class="ThinkNode_Subtree">
<treeDef>Downed</treeDef>
</li>
<!-- <li Class="ThinkNode_Subtree">
<li Class="ThinkNode_Subtree">
<treeDef>BurningResponse</treeDef>
</li> -->
<!-- <li Class="ThinkNode_Subtree">
</li>
<li Class="ThinkNode_Subtree">
<treeDef>MentalStateCritical</treeDef>
</li> -->
</li>
<!-- React to close melee threat -->
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
@@ -492,38 +492,6 @@
</subNodes>
</thinkRoot>
</ThinkTreeDef>
<ThinkTreeDef>
<defName>ARA_Insect_Beast_Constant</defName>
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
<!-- Despawned -->
<li Class="ThinkNode_Subtree">
<treeDef>Despawned</treeDef>
</li>
<li Class="ThinkNode_ConditionalCanDoConstantThinkTreeJobNow">
<subNodes>
<!-- Join auto joinable caravan -->
<li Class="ThinkNode_Subtree">
<treeDef>JoinAutoJoinableCaravan</treeDef>
</li>
</subNodes>
</li>
<!-- Board/leave gravship -->
<li Class="JobGiver_BoardOrLeaveGravship" />
<li Class="ThinkNode_ConditionalCanDoLordJobNow">
<subNodes>
<!-- Lord directives -->
<li Class="ThinkNode_Subtree">
<treeDef>LordDutyConstant</treeDef>
</li>
</subNodes>
</li>
</subNodes>
</thinkRoot>
</ThinkTreeDef>
<ThinkTreeDef>
<defName>ARA_Insect_WithPlanting</defName>

View File

@@ -65,7 +65,7 @@
<canTargetMechs>true</canTargetMechs>
<canTargetSelf>false</canTargetSelf>
</targetParams>
<range>18</range>
<range>36</range>
<warmupTime>1.5</warmupTime>
</verbProperties>
<comps>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -524,14 +524,6 @@ namespace ArachnaeSwarm
builder.Append(timeText);
builder.AppendLine();
builder.Append("ARA_EquipmentIncubator.Speed".Translate() + ": " + SpeedMultiplier.ToStringPercent());
// 显示营养液加成信息
if (currentNutrientCount > 0)
{
builder.AppendLine();
builder.Append("ARA_EquipmentIncubator.NutrientBonusActive".Translate() + ": " +
currentNutrientCount + " tiles (" + NutrientSpeedBonus.ToStringPercent() + ")");
}
}
else if (assignedLarva != null)
{
@@ -675,18 +667,6 @@ namespace ArachnaeSwarm
{
builder.AppendLine("ARA_EquipmentIncubator.NoResearchRequired".Translate());
}
// 显示营养液建议
var costStat = DefDatabase<StatDef>.GetNamedSilentFail("ARA_IncubationCost");
if (costStat != null)
{
int recommendedCost = Mathf.RoundToInt(config.thingDef.GetStatValueAbstract(costStat, null));
if (recommendedCost > 0)
{
builder.AppendLine();
builder.AppendLine("ARA_EquipmentIncubator.RecommendedNutrientsForSpeed".Translate(recommendedCost));
}
}
}
builder.AppendLine();

BIN
新建文件夹 (3)/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
新建文件夹 (3)/10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

BIN
新建文件夹 (3)/11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

BIN
新建文件夹 (3)/12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

BIN
新建文件夹 (3)/13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 KiB

BIN
新建文件夹 (3)/14.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

BIN
新建文件夹 (3)/15.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 KiB

BIN
新建文件夹 (3)/16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

BIN
新建文件夹 (3)/17.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

BIN
新建文件夹 (3)/18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 KiB

BIN
新建文件夹 (3)/19.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

BIN
新建文件夹 (3)/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
新建文件夹 (3)/20.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

BIN
新建文件夹 (3)/21.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 KiB

BIN
新建文件夹 (3)/22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

BIN
新建文件夹 (3)/23.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 KiB

BIN
新建文件夹 (3)/24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

BIN
新建文件夹 (3)/25.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
新建文件夹 (3)/26.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

BIN
新建文件夹 (3)/27.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 935 KiB

BIN
新建文件夹 (3)/28.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
新建文件夹 (3)/29.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
新建文件夹 (3)/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

BIN
新建文件夹 (3)/30.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 KiB

BIN
新建文件夹 (3)/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

BIN
新建文件夹 (3)/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 KiB

BIN
新建文件夹 (3)/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

BIN
新建文件夹 (3)/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
新建文件夹 (3)/8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

BIN
新建文件夹 (3)/9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB