This commit is contained in:
Tourswen
2025-12-07 17:12:07 +08:00
parent f1956d5961
commit f234a66a98
50 changed files with 964 additions and 148 deletions

View File

@@ -78,28 +78,6 @@
</li>
</optionEffects>
</li>
<li>
<label>有什么任务吗···</label>
<!-- <disabledReason>殖民地的表现让P.I.A相当不满意不会为殖民地派出任何额外增援</disabledReason>
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableGreaterThan">
<name>Wula_Goodwill_To_PIA</name>
<value>-75</value>
</li>
</conditions> -->
<hideWhenDisabled>false</hideWhenDisabled>
<useCustomColors>false</useCustomColors>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_OpenCustomUI">
<defName>Wula_UI_Legion_50</defName>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
<li>
<label>我们想要接受晋级审查···</label>
<hideWhenDisabled>true</hideWhenDisabled>
@@ -142,6 +120,33 @@
</li>
</optionEffects>
</li>
<li>
<label>还有什么特殊任务吗···</label>
<!-- <disabledReason>殖民地的表现让P.I.A相当不满意不会为殖民地派出任何额外增援</disabledReason>
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableGreaterThan">
<name>Wula_Goodwill_To_PIA</name>
<value>-75</value>
</li>
</conditions> -->
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableEquals">
<name>Wula_Reinforcement_From_PIA_Level</name>
<value>3</value>
</li>
</conditions>
<hideWhenDisabled>true</hideWhenDisabled>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_OpenCustomUI">
<defName>Wula_UI_Legion_50</defName>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
<li>
<label>再见</label>
<useCustomColors>false</useCustomColors>
@@ -1078,9 +1083,9 @@
<portraitPath>Wula/Events/Portraits/WULA_Legion_1</portraitPath>
<characterName>「军团」,P.I.A</characterName>
<descriptions>
<li>要找活吗?</li>
<li>要找活吗?好吧,我手上有一些活,怎么说呢,不太好走乌拉帝国的标准审查流程,我的断爪卫队也不适合去做这些事情,确实需要有人帮我处理。\n\n你们挑个感兴趣的吧我会把任务的需求发给你们。</li>
</descriptions>
<conditionalDescriptions>
<!-- <conditionalDescriptions>
<li>
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableLessThanOrEqual">
@@ -1099,54 +1104,59 @@
</conditions>
<text>你们应该已经遇到了那些帝国的叛徒了?我们已经陆陆续续地发现了她们在这个星球活动的迹象,你们的任务很难避开她们,要做好打硬仗的准备。\n\n你们挑个感兴趣的类型吧我会把任务的需求发给你们。</text>
</li>
</conditionalDescriptions>
</conditionalDescriptions> -->
<immediateEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_SetVariable">
<name>WULA_Boss_Sky_Lock_Has_Start</name>
<value>0</value>
<type>Int</type>
</li>
<li Class="WulaFallenEmpire.Effect_SetVariable">
<name>WULA_Vacation_Quest_Has_Start</name>
<value>0</value>
<type>Int</type>
</li>
</effects>
</li>
</immediateEffects>
<options>
<li>
<label>我们希望接受远征任务</label>
<!-- <useCustomColors>false</useCustomColors>
<normalColor>(130,49,47,255)</normalColor>
<hoverColor>(157,201,185,195)</hoverColor>
<textColor>(171,87,85,255)</textColor>
<textHoverColor>(255,255,255,255)</textHoverColor> -->
<label>···灵能泰坦?</label>
<hideWhenDisabled>true</hideWhenDisabled>
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableNotEqual">
<name>WULA_Boss_Sky_Lock_Has_Start</name>
<value>1</value>
</li>
</conditions>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_OpenCustomUI">
<defName>WULA_Boss_Sky_Lock_UI_1</defName>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
<li>
<label>我们希望接受防守任务</label>
<!-- <useCustomColors>false</useCustomColors>
<normalColor>(130,49,47,255)</normalColor>
<hoverColor>(157,201,185,195)</hoverColor>
<textColor>(171,87,85,255)</textColor>
<textHoverColor>(255,255,255,255)</textHoverColor> -->
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
<label>···度假?</label>
<hideWhenDisabled>true</hideWhenDisabled>
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableNotEqual">
<name>WULA_Vacation_Quest_Has_Start</name>
<value>1</value>
</li>
</optionEffects>
</li>
<li>
<label>有没有什么特殊的任务···</label>
<!-- <useCustomColors>false</useCustomColors>
<normalColor>(130,49,47,255)</normalColor>
<hoverColor>(157,201,185,195)</hoverColor>
<textColor>(171,87,85,255)</textColor>
<textHoverColor>(255,255,255,255)</textHoverColor> -->
</conditions>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_OpenCustomUI">
<defName>WULA_Vacation_Quest_UI_1</defName>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>

View File

@@ -716,6 +716,43 @@
<li>DeathAcidifier</li>
</techHediffsRequired>
</PawnKindDef>
<PawnKindDef>
<defName>WULA_Legion_Swimsuit_PawnKind</defName>
<label>「军团」</label>
<race>WulaSpecies</race>
<defaultFactionType>Wula_PIA_Legion_Faction</defaultFactionType>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Wula/Item/WULA_Species_Icon</texPath>
<maskPath>SRA/Pawn/Mechanoid/AllegianceOverlays/None</maskPath>
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>1</drawSize>
<shadowData>
<volume>(0.2, 0.3, 0.2)</volume>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
<forceDeathOnDowned>true</forceDeathOnDowned>
<combatPower>0</combatPower>
<factionLeader>true</factionLeader>
<minGenerationAge>18</minGenerationAge>
<maxGenerationAge>20</maxGenerationAge>
<forceNormalGearQuality>true</forceNormalGearQuality>
<initialWillRange>10~20</initialWillRange>
<initialResistanceRange>10~20</initialResistanceRange>
<defaultFactionDef>Wula_PIA_Legion_Faction</defaultFactionDef>
<isFighter>false</isFighter>
<apparelTags Inherit="False">
<li>WULA_Swimsuit</li>
</apparelTags>
<weaponMoney>0</weaponMoney>
<apparelAllowHeadgearChance>0</apparelAllowHeadgearChance>
<apparelMoney>99999~99999</apparelMoney>
</PawnKindDef>
<PawnKindDef>
<defName>Wula_PIA_Legion_Escort_Unit</defName>
<label>断爪卫队</label>

View File

@@ -4,6 +4,7 @@
<defName>WULA_Attack_Robber_Camp</defName>
<rootSelectionWeight>0</rootSelectionWeight>
<expireDaysRange>1</expireDaysRange>
<autoAccept>false</autoAccept>
<sendAvailableLetter>true</sendAvailableLetter>
<isRootSpecial>true</isRootSpecial> <!-- 特殊任务 -->

View File

@@ -1,11 +1,61 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<WulaFallenEmpire.EventDef>
<defName>WULA_Boss_Sky_Lock_UI_1</defName>
<label>未知通讯</label>
<portraitPath>Wula/Events/Portraits/WULA_Legion_4</portraitPath>
<characterName>「军团」,P.I.A</characterName>
<descriptions>
<li>啊,这个啊。最近有一台灵能泰坦在我们的运输舰上失控了,杀了一船人,现在还在船上肆虐。这个事情原本是应该由国教教会过来回收,但是目前我还不想让她们知道这个事情——只能交给你们了。我可以控其他战舰撞击运输舰,把它推向你们殖民地附近,灵能泰坦大概率不会在这样的坠毁中受到什么伤害,你们得亲自派遣殖民者解决它。\n\n事成之后我会用它的灵能回路帮你们搞一台专属于殖民地的灵能泰坦你们就当这个机械体一开始就是配给给你们的如何</li>
</descriptions>
<options>
<li>
<label>明白了,我们会处理这件事情</label>
<disabledReason>殖民地的表现让P.I.A相当不满意这种特殊任务不会交给殖民地负责</disabledReason>
<hideWhenDisabled>false</hideWhenDisabled>
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableGreaterThan">
<name>Wula_Goodwill_To_PIA</name>
<value>-75</value>
</li>
</conditions>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_ModifyVariable">
<name>WULA_Boss_Sky_Lock_Has_Start</name>
<value>1</value>
<operation>Add</operation>
</li>
<li Class="WulaFallenEmpire.Effect_AddQuest">
<quest>WULA_Boss_Sky_Lock</quest>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
<li>
<label>再思考看看···</label>
<useCustomColors>false</useCustomColors>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_OpenCustomUI">
<defName>Wula_UI_Legion_50</defName>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
</options>
</WulaFallenEmpire.EventDef>
<QuestScriptDef>
<defName>WULA_Boss_Sky_Lock</defName>
<rootSelectionWeight>0</rootSelectionWeight>
<expireDaysRange>1</expireDaysRange>
<autoAccept>true</autoAccept>
<sendAvailableLetter>true</sendAvailableLetter>
<sendAvailableLetter>false</sendAvailableLetter>
<defaultChallengeRating>4</defaultChallengeRating> <!-- 挑战等级(星级) -->
<isRootSpecial>true</isRootSpecial> <!-- 特殊任务 -->
@@ -48,7 +98,7 @@
<siteIconPath>Things/Building/Natural/Hive/HiveC</siteIconPath>
<expandingIconPath>Things/Building/Natural/Hive/HiveC</expandingIconPath>
<storeAs>site</storeAs>
<overrideFaction>AncientsHostile</overrideFaction>
<faction>AncientsHostile</faction>
<disdestroyBecauseOfNoColonist>true</disdestroyBecauseOfNoColonist>
<distance>
<min>5</min>
@@ -57,17 +107,45 @@
<blacklist />
</li>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleDestroyed">灵能泰坦抵达</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextShuttleDestroyed">在一艘巡洋舰向失控运输舰狠狠撞击后,碎裂的运输舰如流星般坠入边缘世界地表。不过灵能泰坦随后便在地表上被目击——地点已经标记出来了。</text>
</li>
<!-- 灵能泰坦被击毁··· -->
<li Class="QuestNode_Signal">
<inSignal>PsiTitan.0.Destroyed</inSignal>
<node Class="QuestNode_End">
<outcome>Success</outcome>
<sendStandardLetter>true</sendStandardLetter>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleDestroyed">灵能泰坦已停机</label>
<letterDef>PositiveEvent</letterDef>
<text TKey="LetterTextShuttleDestroyed">灵能泰坦在殖民者的攻击下已经停止运转,其灵能回路核心已经暴露并掉落。\n\n记得回收灵能回路核心这是建造新的灵能泰坦所需的材料。</text>
</li>
<li Class="QuestNode_ChangeFactionGoodwill">
<faction>Wula_PIA_Legion_Faction</faction>
<change>25</change>
<reason>WULA_Killed_Psititan</reason>
</li>
<li Class="WulaFallenEmpire.QuestNode_EventLetter">
<inSignal>PsiTitan.0.Destroyed</inSignal>
<eventDefName>WULA_Boss_Sky_Lock_UI_2</eventDefName>
</li>
<li Class="QuestNode_End">
<outcome>Success</outcome>
<sendStandardLetter>true</sendStandardLetter>
</li>
</nodes>
</node>
</li>
</nodes>
</root>
</QuestScriptDef>
<HistoryEventDef>
<defName>WULA_Killed_Psititan</defName>
<label>协助处理失控灵能泰坦</label>
</HistoryEventDef>
<QuestEditor_Library.CustomMapDataDef>
<defName>Wula_PsiTitan_Boss_Map</defName>
<label>发现灵能泰坦的地区</label>
@@ -89,6 +167,11 @@
<faction>AncientsHostile</faction>
<duty>DefendBase</duty>
<spawnType>MapGeneration</spawnType>
<inventoryThings>
<li Class="QuestEditor_Library.CQFThingDefCount">
<thing>WULA_Psi_Titan_Core</thing>
</li>
</inventoryThings>
</li>
</value>
</li>
@@ -332,7 +415,6 @@
<thingDatas>
<li>
<def>WULA_Sky_Lock</def>
<faction>PlayerColony</faction>
<allRect>
<li>(11,11,11,11)</li>
<li>(116,7,116,7)</li>
@@ -342,7 +424,6 @@
</li>
<li>
<def>AncientTunnelerHusk</def>
<faction>PlayerColony</faction>
<allRect>
<li>(38,49,38,49)</li>
<li>(70,44,70,44)</li>
@@ -351,7 +432,6 @@
</li>
<li>
<def>AncientTank</def>
<faction>PlayerColony</faction>
<allRect>
<li>(27,24,27,24)</li>
<li>(26,83,26,83)</li>
@@ -360,7 +440,6 @@
</li>
<li>
<def>AncientMiniWarwalkerRemains</def>
<faction>PlayerColony</faction>
<allRect>
<li>(84,28,84,28)</li>
<li>(94,52,94,52)</li>
@@ -368,7 +447,6 @@
</li>
<li>
<def>ShipChunk</def>
<faction>PlayerColony</faction>
<allRect>
<li>(56,24,56,24)</li>
<li>(57,27,57,27)</li>
@@ -384,7 +462,6 @@
</li>
<li>
<def>AncientAPC</def>
<faction>PlayerColony</faction>
<allRect>
<li>(92,67,92,67)</li>
<li>(105,57,105,57)</li>
@@ -392,4 +469,29 @@
</li>
</thingDatas>
</QuestEditor_Library.CustomMapDataDef>
<WulaFallenEmpire.EventDef>
<defName>WULA_Boss_Sky_Lock_UI_2</defName>
<label>未知通讯</label>
<portraitPath>Wula/Events/Portraits/WULA_Legion_1</portraitPath>
<characterName>「军团」,P.I.A</characterName>
<descriptions>
<li>完成的不错,记得把灵能回路核心带回来,这个东西是建造灵能泰坦必须的材料,不带回来的话你们这次就算白打工了。</li>
</descriptions>
<options>
<li>
<label>明白了</label>
<useCustomColors>false</useCustomColors>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_FinishResearch">
<research>WULA_Psi_Titan_Technology</research>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
</options>
</WulaFallenEmpire.EventDef>
</Defs>

View File

@@ -0,0 +1,307 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<WulaFallenEmpire.EventDef>
<defName>WULA_Vacation_Quest_UI_1</defName>
<label>未知通讯</label>
<portraitPath>Wula/Events/Portraits/WULA_Legion_1</portraitPath>
<characterName>「军团」,P.I.A</characterName>
<descriptions>
<li>哎,感觉老是在舰队上有点烦闷,想下地走走。你们殖民地附近有海吗?我想去放个假。</li>
</descriptions>
<options>
<li>
<label>当然!</label>
<disabledReason>好感度不足,你至少要成为行星封锁机关的盟友才能接下此任务</disabledReason>
<hideWhenDisabled>false</hideWhenDisabled>
<conditions>
<li Class="WulaFallenEmpire.Condition_VariableGreaterThan">
<name>Wula_Goodwill_To_PIA</name>
<value>75</value>
</li>
</conditions>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_ModifyVariable">
<name>WULA_Vacation_Quest_Has_Start</name>
<value>1</value>
<operation>Add</operation>
</li>
<li Class="WulaFallenEmpire.Effect_AddQuest">
<quest>WULA_Vacation_Quest</quest>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
<li>
<label>等我们搬到海边再说吧···</label>
<useCustomColors>false</useCustomColors>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_OpenCustomUI">
<defName>Wula_UI_Legion_50</defName>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
</options>
</WulaFallenEmpire.EventDef>
<QuestScriptDef>
<defName>WULA_Vacation_Quest</defName>
<rootSelectionWeight>0</rootSelectionWeight>
<autoAccept>true</autoAccept>
<sendAvailableLetter>false</sendAvailableLetter>
<defaultChallengeRating>1</defaultChallengeRating> <!-- 挑战等级(星级) -->
<isRootSpecial>true</isRootSpecial> <!-- 特殊任务 -->
<defaultCharity>false</defaultCharity> <!-- 是否仁善 -->
<!-- 命名规则 -->
<questNameRules>
<rulesStrings>
<li>questName->WULA_Vacation_Quest_questName</li>
</rulesStrings>
</questNameRules>
<questDescriptionRules>
<include>
<li>QuestHospitalityCommon</li>
</include>
<rulesStrings>
<li>questDescription->WULA_Vacation_Quest_questDescription</li>
</rulesStrings>
</questDescriptionRules>
<!-- 运行规则 -->
<root Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_GetMap" />
<!-- 产生超链接 -->
<li Class="WulaFallenEmpire.QuestNode_Hyperlinks">
<factionDefs>
<li>Wula_PIA_Legion_Faction</li>
</factionDefs>
</li>
<!-- 生成带有自定义名字和背景故事的 Pawn -->
<li Class="WulaFallenEmpire.QuestNode_GeneratePawnWithCustomization">
<kindDef>WULA_Legion_Swimsuit_PawnKind</kindDef>
<faction>Wula_PIA_Legion_Faction</faction>
<useCustomBackstories>true</useCustomBackstories>
<childhoodBackstory>WULA_Child_Backstory01</childhoodBackstory>
<adulthoodBackstory>WULA_Adult_Backstory_Legion</adulthoodBackstory>
<storeAs>asker</storeAs>
</li>
<!-- End if faction became hostile -->
<li Class="QuestNode_GetFaction">
<storeAs>faction</storeAs>
<ofPawn>$asker</ofPawn>
<allowEnemy>false</allowEnemy>
<allowNeutral>true</allowNeutral>
<allowAlly>true</allowAlly>
</li>
<li Class="QuestNode_Letter">
<inSignal>faction.BecameHostileToPlayer</inSignal>
<label TKey="LetterLabelFactionBecameHostile">任务失败:[resolvedQuestName]</label>
<text TKey="LetterTextFactionBecameHostile">[faction_name]开始敌视你。</text>
</li>
<li Class="QuestNode_End">
<inSignal>faction.BecameHostileToPlayer</inSignal>
<outcome>Fail</outcome>
</li>
<li Class="QuestNode_End">
<inSignal>faction.BecameHostileToPlayer</inSignal>
<outcome>InvalidPreAcceptance</outcome>
<signalListenMode>NotYetAcceptedOnly</signalListenMode>
</li>
<!-- Add the asker himself to the lodgers list -->
<!-- The Stellarch needs to be first, otherwise certain letters won't properly display his name. -->
<li Class="QuestNode_AddToList">
<name>lodgers</name>
<value>$asker</value>
</li>
<!-- Biocode asker's weapons (we took his reference manually, so we need to biocode his weapons manually) -->
<li Class="QuestNode_BiocodeWeapons">
<pawns>$asker</pawns>
</li>
<!-- Add a home faction to lodgers -->
<li Class="QuestNode_ExtraFaction">
<pawns>$lodgers</pawns>
<faction>Wula_PIA_Legion_Faction</faction>
<factionType>HomeFaction</factionType>
<inSignalsRemovePawn>
<li>lodgers.RanWild</li>
<li>lodgers.BecameMutant</li>
</inSignalsRemovePawn>
</li>
<!-- Lock their apparel -->
<li Class="QuestNode_SetAllApparelLocked">
<pawns>$lodgers</pawns>
</li>
<!-- Allow asker to issue decrees -->
<li Class="QuestNode_AllowDecreesForLodger">
<lodger>$asker</lodger>
</li>
<!-- Make everyone leave on cleanup -->
<li Class="QuestNode_LeaveOnCleanup">
<pawns>$lodgers</pawns>
<sendStandardLetter>false</sendStandardLetter>
<inSignalRemovePawn>lodgers.RanWild</inSignalRemovePawn>
</li>
<!-- Lodgers arrive by shuttle -->
<li Class="QuestNode_Sequence">
<nodes>
<!-- Join player or become a prisoner. -->
<li Class="QuestNode_JoinPlayer">
<pawns>$lodgers</pawns>
<joinPlayer>true</joinPlayer>
<makePrisoners>false</makePrisoners>
</li>
<li Class="QuestNode_Sequence">
<nodes>
<!-- Pawns arrive by shuttle -->
<li Class="QuestNode_SubScript">
<def>Util_TransportShip_DropOff</def>
<parms>
<contents>$lodgers</contents>
<owningFaction>Wula_PIA_Legion_Faction</owningFaction>
</parms>
</li>
<!-- Goodwill penalty -->
<li Class="QuestNode_Set">
<name>goodwillChangeOnShuttleDestroyed</name>
<value>-50</value>
</li>
<!-- Set pawnsLabelDef as a slate ref for the destruction letter. -->
<li Class="QuestNode_Set">
<name>pawnsLabelDef</name>
<value>[asker_nameDef]</value>
</li>
<!-- Shuttle destroyed -->
<li Class="QuestNode_Signal">
<inSignal>dropoffShipThing.Destroyed</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleDestroyed">穿梭机被破坏</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextShuttleDestroyed">被派遣来运输[asker_nameDef]的穿梭机已被破坏。</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>$goodwillChangeOnShuttleDestroyed</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>ShuttleDestroyed</goodwillChangeReason>
</li>
</nodes>
</node>
</li>
</nodes>
</li>
</nodes>
</li>
<!-- Asker died -->
<li Class="QuestNode_Signal">
<inSignal>asker.Destroyed</inSignal>
<inSignalDisable>pickupShipThing.SentWithExtraColonists</inSignalDisable>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelGuestDied">宾客{SUBJECT_definite}死亡</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextGuestDied">需要你护卫的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]</text>
<signalListenMode>OngoingOrNotYetAccepted</signalListenMode>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-25</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>QuestPawnLost</goodwillChangeReason>
<signalListenMode>OngoingOrNotYetAccepted</signalListenMode>
</li>
</nodes>
</node>
</li>
<!-- - - - - - - - -->
<!-- End conditions -->
<!-- - - - - - - - -->
<!-- Lodger arrested -->
<li Class="QuestNode_Signal">
<inSignal>lodgers.Arrested</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelGuestCaptured">宾客{SUBJECT_definite}被俘</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextGuestCaptured">需要你护卫的{SUBJECT_definite}已经被俘虏。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-30</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>QuestPawnArrested</goodwillChangeReason>
</li>
</nodes>
</node>
</li>
<!-- Lodger left map -->
<li Class="QuestNode_Signal">
<inSignal>asker.LeftMap</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelGuestLost">宾客失踪:{SUBJECT_definite}</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextGuestLost">需要你护卫的{SUBJECT_definite}失踪在你的殖民地。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-30</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>QuestPawnLost</goodwillChangeReason>
</li>
</nodes>
</node>
</li>
<!-- Asker ran wild -->
<li Class="QuestNode_Signal">
<inSignal>asker.RanWild</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelLodgerRanWild">宾客失踪:{SUBJECT_definite}</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextLodgerRanWild">需要你护卫的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-30</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>QuestPawnLost</goodwillChangeReason>
</li>
</nodes>
</node>
</li>
</nodes>
</root>
</QuestScriptDef>
</Defs>

View File

@@ -250,7 +250,7 @@
<ResearchProjectDef ParentName="WULAtechBase">
<defName>WULA_ArmedShuttle_Technology</defName>
<label>武装穿梭机调配许可</label>
<description>允许殖民地呼叫一艘CVe-3"渡鸦"武装穿梭机,其拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾,可以抵挡大部分射弹</description>
<description>允许殖民地呼叫一艘CVe-3"渡鸦"武装穿梭机,其拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾和MLt-1"棱晶"涡轮激光炮 ,可以抵挡大部分袭击</description>
<baseCost>3000</baseCost>
<researchViewX>9.00</researchViewX>
<researchViewY>6.20</researchViewY>
@@ -461,6 +461,20 @@
<li>WULA_Colony_License_LV3_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="WULAtechBase">
<defName>WULA_Psi_Titan_Technology</defName>
<researchViewX>11.00</researchViewX>
<researchViewY>5.60</researchViewY>
<label>灵能泰坦空投许可</label>
<description>允许殖民地申请空投PAt-6"灵能泰坦",乌拉帝国的大型灵能战争机械,可以驱使各种强大的灵能能力。\n\n其用于镌刻灵能回路的核心受到国教教会严格限制无法通过常规手段获得。</description>
<baseCost>4000</baseCost>
<techprintCount>9999</techprintCount>
<techprintCommonality>0</techprintCommonality>
<techprintMarketValue>0</techprintMarketValue>
<heldByFactionCategoryTags>
<li>Wula_PIA_Legion_Faction</li>
</heldByFactionCategoryTags>
</ResearchProjectDef>
<!-- 防御 -->
<ResearchProjectDef ParentName="WULAtechBase">
<defName>WULA_Turret_Base_AT_Technology</defName>
@@ -500,6 +514,7 @@
<description>允许殖民地申请空投自动迫击炮台,可以发射远距离的高爆迫击炮弹打击地图上出现的任何敌军。</description>
<baseCost>3000</baseCost>
<prerequisites>
<li>WULA_Synth_Weapon_3_Explosive_Technology</li>
<li>WULA_Synth_Armor_2_Technology</li>
</prerequisites>
</ResearchProjectDef>

View File

@@ -167,4 +167,110 @@
</parts>
</scenario>
</ScenarioDef>
<ScenarioDef ParentName="ScenarioBase">
<defName>WULA_ArmedShuttle_Start_Scenario</defName>
<label>乌拉帝国考察队</label>
<description>乌拉帝国开发署的舰队已经抵达边缘世界,一名专门负责考察当地生态的调查员和其穿梭机一起被部署到星球表面。</description>
<scenario>
<summary>以1位拥有精良装备的机械乌拉和其私人穿梭机开始游戏但是开局资源较少。</summary>
<playerFaction>
<def>PlayerFaction</def>
<factionDef>WULA_Awakened_Synth</factionDef>
</playerFaction>
<parts>
<!-- 种族 -->
<li Class="ScenPart_ConfigPage_ConfigureStartingPawns">
<def>ConfigPage_ConfigureStartingPawns</def>
<pawnCount>1</pawnCount>
<pawnChoiceCount>8</pawnChoiceCount>
</li>
<!-- 到达方式-->
<li Class="ScenPart_PlayerPawnsArriveMethod">
<def>PlayerPawnsArriveMethod</def>
<method>DropPods</method>
<visible>false</visible>
</li>
<!-- 强制地图 -->
<!-- <li Class="ScenPart_ForcedMap">
<def>ForcedMap</def>
<mapGenerator>OrbitalRelay</mapGenerator>
<layerDef>Orbit</layerDef>
</li> -->
<li Class="ScenPart_DisableIncident">
<def>DisableIncident</def>
<incident>WULA_GiveQuest_Intro_Spy</incident>
<visible>false</visible>
</li>
<!-- 初始物品 -->
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>Chemfuel</thingDef>
<count>500</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>WULA_RW_Beam_Base_AR</thingDef>
<count>1</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>WULA_RW_Penetrating_Beam_Rifle_Ranged</thingDef>
<count>1</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>WULA_MW_ChainSword</thingDef>
<stuff>Plasteel</stuff>
<quality>Normal</quality>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>Apparel_WULA_Manpack_Loitering_Munition</thingDef>
<count>1</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>WULA_Fake_Mothership_Beacon_Building</thingDef>
<count>1</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>WULA_ArmedShuttleWithPocket_Cleanzone_Free</thingDef>
<count>1</count>
</li>
<!-- 初始科技 -->
<li Class="ScenPart_StartingResearch">
<def>StartingResearch</def>
<project>WULA_Colony_License_LV1_Technology</project>
</li>
<li Class="ScenPart_StartingResearch">
<def>StartingResearch</def>
<project>WULA_Structure_Technology</project>
</li>
<li Class="ScenPart_StartingResearch">
<def>StartingResearch</def>
<project>BasicMechtech</project>
</li>
<!-- 开局介绍事件 -->
<li Class="ScenPart_CreateQuest">
<def>CreateQuest</def>
<questDef>WULA_Intro_NewColony</questDef>
</li>
<!-- Game start dialog -->
<!-- <li Class="ScenPart_GameStartDialog">
<def>GameStartDialog</def>
<text>帝国的荣光已成遥远的回响。秩序化为冰冷的错误代码。你们曾为之战斗、牺牲、存在的一切根基,都已在这漫长的沉睡中化为尘埃。如今,你们散落于此,在这片被文明遗弃、被暴力主宰的废土上醒来。\n一个来源不明的信号穿透了层层防护强行撬开了你意识的黑匣子。是谁幸存的帝国指挥官某个试图利用旧日战争机器的军阀还是本地的异常网络数据库无法提供答案只有广播残留的强制力仍在你的逻辑回路中回荡留下了一串信号特征指引着你们往未知的远方前进。\n\n提示建造乌拉帝国通讯站以获取更多帮助。</text>
<closeSound>GameStartSting</closeSound>
</li> -->
</parts>
</scenario>
</ScenarioDef>
</Defs>

View File

@@ -1954,7 +1954,7 @@
<li>BuildingsMisc</li>
</thingCategories>
<graphicData>
<texPath>Wula/Building/WULA_Dropping_Building_Cleanzone</texPath>
<texPath>Wula/Building/WULA_Dropping_Building_Cleanzone_Plus</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(5,5)</drawSize>
<damageData>

View File

@@ -506,6 +506,7 @@
<WULA_Neutronium>50</WULA_Neutronium>
<Uranium>300</Uranium>
<WULA_Tex_Voucher>3</WULA_Tex_Voucher>
<WULA_Psi_Titan_Core>1</WULA_Psi_Titan_Core>
</costList>
<size>(3,3)</size>
<constructionSkillPrerequisite>0</constructionSkillPrerequisite>
@@ -516,7 +517,7 @@
<placeWorkers>
<li>WulaFallenEmpire.PlaceWorker_CustomRadius</li>
</placeWorkers>
<!-- <designationCategory>WULA_Buildings</designationCategory> -->
<designationCategory>WULA_Buildings</designationCategory>
<comps>
<li Class="WulaFallenEmpire.CompProperties_SkyfallerCaller">
<skyfallerDef>Wula_Psi_Titan_Incoming</skyfallerDef> <!-- 替换为您想要的Skyfaller类型 -->
@@ -536,10 +537,10 @@
<texPath>Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Incoming</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutFlying</shaderType>
<drawSize>(9,9)</drawSize>
<drawSize>(13,13)</drawSize>
</graphicData>
<skyfaller>
<movementType>Accelerate</movementType>
<movementType>Decelerate</movementType>
<shadow>Things/Skyfaller/SkyfallerShadowDropPod</shadow>
<shadowSize>(6, 6)</shadowSize>
<anticipationSound>DropPod_Fall</anticipationSound>
@@ -555,9 +556,9 @@
</points>
</angleCurve>
<!-- <spawnThing></spawnThing> -->
<explosionRadius>15</explosionRadius>
<!-- <explosionRadius>15</explosionRadius>
<explosionDamage>WULA_Mech_EMP_Drop</explosionDamage>
<explosionDamageFactor>0</explosionDamageFactor>
<explosionDamageFactor>0</explosionDamageFactor> -->
</skyfaller>
<comps>
<li Class="CompProperties_Effecter">
@@ -565,8 +566,8 @@
</li>
<li Class="WulaFallenEmpire.CompProperties_SkyfallerPawnSpawner">
<pawnKind>Wula_Psi_Titan</pawnKind>
<faction>AncientsHostile</faction>
<spawnDrafted>false</spawnDrafted>
<faction>PlayerColony</faction>
<spawnDrafted>true</spawnDrafted>
<spawnHostile>false</spawnHostile>
</li>
</comps>

View File

@@ -769,7 +769,7 @@
<drawHighlight>true</drawHighlight>
<highlightColor>(0.56, 0.62, 0.9)</highlightColor>
<graphicData>
<texPath>Wula/Building/WULA_Fake_Fighter_Drone_Building</texPath>
<texPath>Wula/Weapon/WULA_Weapon_Empty</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
<drawSize>(3,3)</drawSize>

View File

@@ -1,9 +1,69 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BuildingBase">
<defName>WULA_ArmedShuttleWithPocket_Cleanzone_Free</defName>
<label>CVe-3"渡鸦"</label>
<description>清理出一块场地并准备好资源,使得乌拉帝国母舰可以向此处派遣一艘穿梭机。\n\nCVe-3"渡鸦"是乌拉帝国用于在舰队和地表构建联系的特种穿梭机拥有巨大的货仓和一个内部折叠的生活区因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾和MLt-1"棱晶"涡轮激光炮 ,可以抵挡大部分袭击。</description>
<uiIconPath>Wula/Building/WULA_ArmedShuttle_Moving</uiIconPath>
<tickerType>Normal</tickerType>
<minifiedDef>MinifiedThing</minifiedDef>
<graphicData>
<texPath>Wula/Building/WULA_Dropping_Building_Cleanzone_Plus</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(9,13)</drawSize>
<damageData>
<enabled>false</enabled>
</damageData>
</graphicData>
<thingCategories Inherit="False">
<li>BuildingsMisc</li>
</thingCategories>
<rotatable>false</rotatable>
<neverMultiSelect>false</neverMultiSelect>
<blockLight>false</blockLight>
<holdsRoof>false</holdsRoof>
<coversFloor>false</coversFloor>
<blockWind>false</blockWind>
<altitudeLayer>BuildingOnTop</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>0</pathCost>
<castEdgeShadows>false</castEdgeShadows>
<useStuffTerrainAffordance>false</useStuffTerrainAffordance>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<fillPercent>0</fillPercent>
<canOverlapZones>false</canOverlapZones>
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
<statBases>
<MaxHitPoints>1</MaxHitPoints>
<WorkToBuild>0</WorkToBuild>
<Mass>1</Mass>
<Flammability>0</Flammability>
</statBases>
<size>(9,13)</size>
<constructionSkillPrerequisite>0</constructionSkillPrerequisite>
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
<stuffCategories Inherit="False" />
<building>
<destroySound>BuildingDestroyed_Metal_Small</destroySound>
<isAirtight>false</isAirtight>
<isStuffableAirtight>false</isStuffableAirtight>
</building>
<comps>
<li Class="WulaFallenEmpire.CompProperties_PrefabSkyfallerCaller">
<prefabDefName>WULA_ArmedShuttleWithPocket_SP_Prefab</prefabDefName>
<freePrefab>true</freePrefab>
<skyfallerDef>WULA_ArmedShuttleWithPocket_Incoming</skyfallerDef>
<destroyBuilding>true</destroyBuilding>
<delayTicks>1</delayTicks>
<allowThinRoof>true</allowThinRoof>
<allowThickRoof>false</allowThickRoof>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>WULA_ArmedShuttleWithPocket_Cleanzone</defName>
<label>CVe-3"渡鸦"</label>
<description>清理出一块场地并准备好资源,使得乌拉帝国母舰可以向此处派遣一艘穿梭机。\n\nCVe-3"渡鸦"是乌拉帝国用于在舰队和地表构建联系的特种穿梭机,拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾,可以抵挡大部分射弹</description>
<description>清理出一块场地并准备好资源,使得乌拉帝国母舰可以向此处派遣一艘穿梭机。\n\nCVe-3"渡鸦"是乌拉帝国用于在舰队和地表构建联系的特种穿梭机,拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾和MLt-1"棱晶"涡轮激光炮 ,可以抵挡大部分袭击</description>
<uiIconPath>Wula/Building/WULA_ArmedShuttle_Moving</uiIconPath>
<tickerType>Normal</tickerType>
<minifiedDef>MinifiedThing</minifiedDef>
@@ -42,7 +102,7 @@
</statBases>
<size>(9,13)</size>
<constructionSkillPrerequisite>0</constructionSkillPrerequisite>
<resourcesFractionWhenDeconstructed>1</resourcesFractionWhenDeconstructed>
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
<stuffCategories Inherit="False" />
<researchPrerequisites Inherit="False">
<li>WULA_ArmedShuttle_Technology</li>
@@ -62,7 +122,7 @@
<comps>
<li Class="WulaFallenEmpire.CompProperties_PrefabSkyfallerCaller">
<prefabDefName>WULA_ArmedShuttleWithPocket_SP_Prefab</prefabDefName>
<freePrefab>true</freePrefab>
<freePrefab>false</freePrefab>
<skyfallerDef>WULA_ArmedShuttleWithPocket_Incoming</skyfallerDef>
<destroyBuilding>true</destroyBuilding>
<delayTicks>1</delayTicks>
@@ -120,7 +180,7 @@
<ThingDef ParentName="BuildingBase">
<defName>WULA_ArmedShuttleWithPocket</defName>
<label>CVe-3"渡鸦"</label>
<description>乌拉帝国用于在舰队和地表构建联系的特种穿梭机,拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾,可以抵挡大部分射弹</description>
<description>乌拉帝国用于在舰队和地表构建联系的特种穿梭机,拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾和MLt-1"棱晶"涡轮激光炮 ,可以抵挡大部分袭击</description>
<thingClass>WulaFallenEmpire.Building_ArmedShuttleWithPocket</thingClass>
<preventDroppingThingsOn>true</preventDroppingThingsOn>
<altitudeLayer>Building</altitudeLayer>
@@ -176,10 +236,18 @@
<li MayRequire="Ludeon.RimWorld.Odyssey">ShuttleEngine</li>
<li MayRequire="Ludeon.RimWorld.Odyssey">ShuttleEngine</li>
</forcedCostLeavings>
<turretGunDef>WULA_Shuttle_Autocannon</turretGunDef>
<turretBurstCooldownTime>5.5</turretBurstCooldownTime>
<turretTopDrawSize>1.75</turretTopDrawSize>
<turretTopOffset>(0, 0.05)</turretTopOffset>
<combatPower>1000</combatPower>
<!--<buildingTags>
<li>SRAClusterMember</li>
<li>SRAClusterCombatThreat</li>
<li>SRA_SmallCluster_SingleTurret</li>
</buildingTags>-->
<ai_combatDangerous>true</ai_combatDangerous>
<turretGunDef>Wula_Base_Laser_Turret_Weapon</turretGunDef>
<turretBurstCooldownTime>0.01</turretBurstCooldownTime>
<turretTopOffset>(0, 0)</turretTopOffset>
<turretTopDrawSize>3</turretTopDrawSize>
</building>
<inspectorTabs>
<li>ITab_ContentsTransporter</li>
@@ -232,7 +300,7 @@
</li>
<li Class="WulaFallenEmpire.CompProperties_AreaShield">
<radius>15</radius>
<baseHitPoints>300</baseHitPoints>
<baseHitPoints>30</baseHitPoints>
<rechargeDelay>2400</rechargeDelay>
<rechargeHitPointsIntervalTicks>30</rechargeHitPointsIntervalTicks>
@@ -251,7 +319,7 @@
<!-- 反射设置 -->
<canReflect>true</canReflect>
<reflectChance>0.85</reflectChance>
<reflectChance>0.75</reflectChance>
<reflectAngleRange>30</reflectAngleRange>
<reflectCost>0</reflectCost>
<reflectEffecter>Interceptor_BlockedProjectile</reflectEffecter>
@@ -260,7 +328,7 @@
<radius>15</radius>
<damageIntervalTicks>30</damageIntervalTicks>
<damageDef>Flame</damageDef>
<damageAmount>8</damageAmount>
<damageAmount>1</damageAmount>
<scaleWithPsychicSensitivity>false</scaleWithPsychicSensitivity>
<affectFriendly>false</affectFriendly>
<affectNeutral>false</affectNeutral>
@@ -272,6 +340,11 @@
<toggleDescription>CVe-3"渡鸦"可以启动防御设施,蒸发胆敢进入反射立场内的敌军——这同时会使得它伤害附近所有的散落物品。</toggleDescription>
<toggleIconPath>Wula/UI/Commands/Wula_Psi_Titan_AreaDamage</toggleIconPath>
</li>
<li Class="CompProperties_Power">
<compClass>CompPowerPlant</compClass>
<basePowerConsumption>-2000</basePowerConsumption>
<transmitsPower>true</transmitsPower>
</li>
</comps>
<modExtensions>
<li Class="WulaFallenEmpire.PocketMapProperties">
@@ -454,8 +527,7 @@
<graphicClass>Graphic_Multi</graphicClass>
<texPath>Wula/Building/WULA_ArmedShuttle_Moving</texPath>
<shaderType>CutoutComplex</shaderType>
<drawSize>(6,6.25)</drawSize>
<drawOffset>(0, 8, 1.6)</drawOffset>
<drawSize>(14,14)</drawSize>
</graphicData>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<castEdgeShadows>False</castEdgeShadows>

View File

@@ -416,7 +416,7 @@
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
<statBases>
<MaxHitPoints>500</MaxHitPoints>
<WorkToBuild>0</WorkToBuild>
<WorkToBuild>1</WorkToBuild>
<Mass>20</Mass>
<Flammability>0</Flammability>
</statBases>

View File

@@ -91,6 +91,9 @@
<bodyPartGroups>
<li>FullHead</li>
</bodyPartGroups>
<layers>
<li>Overhead</li>
</layers>
<canBeDesiredForIdeo>false</canBeDesiredForIdeo>
<canBeGeneratedToSatisfyWarmth>false</canBeGeneratedToSatisfyWarmth>
<canBeGeneratedToSatisfyToxicEnvironmentResistance>false</canBeGeneratedToSatisfyToxicEnvironmentResistance>
@@ -538,6 +541,44 @@
<StuffEffectMultiplierArmor>1</StuffEffectMultiplierArmor>
</statBases>
</ThingDef>
<ThingDef ParentName="WULA_ApparelCivilBase">
<defName>WULA_Swimsuit</defName>
<label>乌拉帝国泳装</label>
<description>为乌拉帝国合成人特制的泳衣,适配了其球形关节防止滑落。\n\n可能有些人会和你说这是乌拉族最强大的防具别信。</description>
<graphicData>
<texPath>Wula/Apparel/WULA_Swimsuit</texPath>
</graphicData>
<apparel>
<tags Inherit="False">
<li>WULA_Swimsuit</li>
</tags>
<bodyPartGroups>
<li>Torso</li>
<li>Neck</li>
<li>Shoulders</li>
<li>Arms</li>
<li>Legs</li>
</bodyPartGroups>
<layers>
<li>OnSkin</li>
<li>Middle</li>
</layers>
<wornGraphicPath>Wula/Apparel/WULA_Swimsuit</wornGraphicPath>
<canBeDesiredForIdeo>false</canBeDesiredForIdeo>
<canBeGeneratedToSatisfyWarmth>false</canBeGeneratedToSatisfyWarmth>
<canBeGeneratedToSatisfyToxicEnvironmentResistance>false</canBeGeneratedToSatisfyToxicEnvironmentResistance>
</apparel>
<recipeMaker Inherit="False" IsNull="True"/>
<costList Inherit="False">
<Cloth>10</Cloth>
</costList>
<statBases>
<MaxHitPoints>100</MaxHitPoints>
<WorkToMake>1000</WorkToMake>
<EquipDelay>1</EquipDelay>
<StuffEffectMultiplierArmor>0.2</StuffEffectMultiplierArmor>
</statBases>
</ThingDef>
<ThingDef ParentName="WULA_ApparelArmorBase">
<defName>WULA_Assault_Troop_PowerArmor</defName>

View File

@@ -410,7 +410,7 @@
<texPath>Wula/FlyoverThing/WULA_BattleShip_Shadow</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
<drawSize>(70,100)</drawSize>
<drawSize>(90,100)</drawSize>
<color>(195,195,195,45)</color>
</graphicData>
<skyfaller>

View File

@@ -15,7 +15,7 @@
<useHitPoints>false</useHitPoints>
<healthAffectsPrice>false</healthAffectsPrice>
<statBases>
<MarketValue>2.5</MarketValue>
<MarketValue>5</MarketValue>
<Mass>0.3</Mass>
<StuffPower_Armor_Sharp>1</StuffPower_Armor_Sharp>
<StuffPower_Armor_Blunt>0.55</StuffPower_Armor_Blunt>
@@ -73,7 +73,7 @@
<useHitPoints>false</useHitPoints>
<healthAffectsPrice>false</healthAffectsPrice>
<statBases>
<MarketValue>1000</MarketValue>
<MarketValue>400</MarketValue>
<Mass>0.01</Mass>
<MaxHitPoints>50</MaxHitPoints>
</statBases>
@@ -116,7 +116,7 @@
<useHitPoints>false</useHitPoints>
<healthAffectsPrice>false</healthAffectsPrice>
<statBases>
<MarketValue>1</MarketValue>
<MarketValue>50</MarketValue>
<Mass>1</Mass>
<StuffPower_Armor_Sharp>3</StuffPower_Armor_Sharp>
<StuffPower_Armor_Blunt>3</StuffPower_Armor_Blunt>
@@ -182,7 +182,7 @@
<Flammability>0</Flammability>
<Beauty>0</Beauty>
<DeteriorationRate>0.01</DeteriorationRate>
<MarketValue>24</MarketValue>
<MarketValue>50</MarketValue>
<Mass>0.3</Mass>
<WorkToMake>450</WorkToMake>
</statBases>
@@ -242,7 +242,7 @@
<stackLimit>30</stackLimit>
<statBases>
<DeteriorationRate>0.01</DeteriorationRate>
<MarketValue>24</MarketValue>
<MarketValue>40</MarketValue>
<Mass>0.3</Mass>
<WorkToMake>450</WorkToMake>
</statBases>
@@ -298,4 +298,28 @@
<burnableByRecipe>false</burnableByRecipe>
<smeltable>false</smeltable>
</ThingDef>
<ThingDef ParentName="ResourceBase">
<defName>WULA_Psi_Titan_Core</defName>
<label>灵能回路核心</label>
<description>PAt-6"灵能泰坦"的灵能回路核心,每一台灵能泰坦都需要这个核心完成灵能回路的镌刻。它严格受到乌拉帝国国教教会的管制,殖民地无法轻易弄到。</description>
<graphicData>
<texPath>Wula/Item/WULA_Psi_Titan_Core</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<tradeability>None</tradeability>
<genericMarketSellable>false</genericMarketSellable>
<soundInteract>Metal_Drop</soundInteract>
<soundDrop>Metal_Drop</soundDrop>
<useHitPoints>false</useHitPoints>
<healthAffectsPrice>false</healthAffectsPrice>
<statBases>
<MarketValue>1</MarketValue>
<Mass>0.01</Mass>
</statBases>
<thingCategories>
<li>ResourcesRaw</li>
</thingCategories>
<burnableByRecipe>false</burnableByRecipe>
<smeltable>false</smeltable>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<WULA_Vacation_Quest.questNameRules.rulesStrings>
<li>questName->特殊任务:度假</li>
</WULA_Vacation_Quest.questNameRules.rulesStrings>
<WULA_Vacation_Quest.questDescriptionRules.rulesStrings>
<li>questDescription->行星封锁机关的总控AI在舰队上待得太闷了想出来溜达一段时间。\n\n除非与乌拉帝国行星封锁机关敌对否则看起来你的上司是要一直赖在殖民地了你可以删除此任务以免其占据任务列表。</li>
</WULA_Vacation_Quest.questDescriptionRules.rulesStrings>
</LanguageData>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 367 KiB

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 KiB

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

After

Width:  |  Height:  |  Size: 280 KiB

View File

@@ -40,7 +40,27 @@ namespace WulaFallenEmpire
// 自动呼叫条件
private bool ShouldAutoCall => IsNonPlayerFaction && Props.canAutoCall && !autoCallScheduled && !used;
// 科技检查
// 新增:检测是否在口袋地图中
public bool IsInPocketMap
{
get
{
if (parent?.Map == null)
return false;
// 检查地图的Parent是否为PocketMapParent
if (parent.Map.Parent is PocketMapParent)
return true;
// 额外的检查:通过地图的标签或特殊属性
if (parent.Map.uniqueID.ToString().Contains("PocketMap"))
return true;
return false;
}
}
// 修改后的科技检查 - 在口袋地图中跳过检查
public bool HasRequiredResearch
{
get
@@ -48,6 +68,10 @@ namespace WulaFallenEmpire
if (Props.requiredResearch == null)
return true;
// 如果在口袋地图中且配置为跳过检查
if (IsInPocketMap && Props.skipResearchCheckInPocketMap)
return true;
if (IsNonPlayerFaction)
return true; // 非玩家派系不需要科技
@@ -55,11 +79,15 @@ namespace WulaFallenEmpire
}
}
// FlyOver 检查
// 修改后的FlyOver检查 - 在口袋地图中跳过检查
public bool HasRequiredFlyOver
{
get
{
// 如果在口袋地图中且配置为跳过检查
if (IsInPocketMap && Props.skipFlyOverCheckInPocketMap)
return true;
if (!Props.requireFlyOver)
return true;
@@ -107,11 +135,15 @@ namespace WulaFallenEmpire
}
}
// 屋顶检查
// 修改后的屋顶检查 - 在口袋地图中跳过检查
public bool CheckRoofConditions
{
get
{
// 如果在口袋地图中且配置为跳过检查
if (IsInPocketMap && Props.skipRoofCheckInPocketMap)
return true;
if (parent?.Map == null)
return true;
@@ -279,7 +311,7 @@ namespace WulaFallenEmpire
}
}
// 显示禁用原因
// 显示禁用原因 - 修改为支持口袋地图
private void ShowDisabledReason()
{
if (!HasRequiredResearch)
@@ -371,32 +403,90 @@ namespace WulaFallenEmpire
calling = false;
callTick = -1;
}
// 检查位置是否可用
private bool CanSpawnAtPosition(IntVec3 spawnPos)
{
if (parent?.Map == null)
{
Log.Warning($"[BuildingSpawner] Parent map is null for {parent?.LabelShort}");
return false;
}
// 检查是否在地图范围内
if (!spawnPos.InBounds(parent.Map))
return false;
// 检查是否有阻挡物
if (!Props.canReplaceExisting)
{
List<Thing> thingsAtPos = spawnPos.GetThingList(parent.Map);
foreach (var thing in thingsAtPos)
Log.Warning($"[BuildingSpawner] Spawn position {spawnPos} is out of bounds for {parent?.LabelShort}");
return false;
}
// 获取建筑的大小和旋转
ThingDef buildingDef = Props.buildingToSpawn;
if (buildingDef == null)
{
Log.Error($"[BuildingSpawner] buildingToSpawn is null for {parent?.LabelShort}");
return false;
}
Rot4 rotation = Props.buildingRotation;
IntVec2 buildingSize = buildingDef.Size;
// 计算建筑占用的所有单元格
CellRect rect = GenAdj.OccupiedRect(spawnPos, rotation, buildingSize);
// 检查建筑是否完全在地图范围内
if (!rect.InBounds(parent.Map))
{
Log.Warning($"[BuildingSpawner] Building rect {rect} for {buildingDef.defName} is out of bounds. Size: {buildingSize}, Position: {spawnPos}");
return false;
}
// 如果是口袋地图,检查是否有足够的空间
if (IsInPocketMap)
{
// 口袋地图可能较小,检查边界
Map pocketMap = parent.Map;
int safeMargin = 2; // 安全边界
if (rect.minX < safeMargin || rect.minZ < safeMargin ||
rect.maxX >= pocketMap.Size.x - safeMargin || rect.maxZ >= pocketMap.Size.z - safeMargin)
{
// 跳过不可穿透的建筑和植物
if (thing.def.passability == Traversability.Impassable)
return false;
Log.Warning($"[BuildingSpawner] Building {buildingDef.defName} too close to pocket map edge. Rect: {rect}, Map Size: {pocketMap.Size}");
return false;
}
}
// 检查每个单元格是否可用
foreach (IntVec3 cell in rect)
{
if (!cell.InBounds(parent.Map))
{
Log.Warning($"[BuildingSpawner] Cell {cell} is out of bounds for building {buildingDef.defName}");
return false;
}
if (!Props.canReplaceExisting)
{
List<Thing> thingsAtPos = cell.GetThingList(parent.Map);
foreach (var thing in thingsAtPos)
{
// 跳过不可穿透的建筑和植物
if (thing.def.passability == Traversability.Impassable)
{
// 跳过自己
if (thing != parent)
{
Log.Warning($"[BuildingSpawner] Cell {cell} is blocked by {thing.def.defName} ({thing.LabelShort})");
return false;
}
}
}
}
}
return true;
}
// 处理屋顶破坏
private void HandleRoofDestruction()
{
@@ -406,6 +496,10 @@ namespace WulaFallenEmpire
IntVec3 targetPos = parent.Position;
RoofDef roof = targetPos.GetRoof(parent.Map);
// 如果在口袋地图中且配置为跳过屋顶检查,不破坏屋顶
if (IsInPocketMap && Props.skipRoofCheckInPocketMap)
return;
if (roof != null && !roof.isThickRoof && Props.allowThinRoof)
{
parent.Map.roofGrid.SetRoof(targetPos, null);
@@ -844,7 +938,7 @@ namespace WulaFallenEmpire
}
}
// 获取禁用原因
// 获取禁用原因 - 修改为支持口袋地图
private string GetDisabledReason()
{
if (IsNonPlayerFaction)
@@ -877,18 +971,18 @@ namespace WulaFallenEmpire
return null;
}
// 获取呼叫描述
// 获取呼叫描述 - 修改为支持口袋地图
private string GetCallDescription()
{
var sb = new StringBuilder();
sb.Append("WULA_TeleportBuildingDesc".Translate(Props.buildingToSpawn.label));
if (Props.requiredResearch != null)
if (Props.requiredResearch != null && !(IsInPocketMap && Props.skipResearchCheckInPocketMap))
{
sb.AppendLine().Append("WULA_RequiresResearch".Translate(Props.requiredResearch.label));
}
if (Props.requireFlyOver && !HasRequiredFlyOver)
if (Props.requireFlyOver && !HasRequiredFlyOver && !(IsInPocketMap && Props.skipFlyOverCheckInPocketMap))
{
sb.AppendLine().Append("WULA_RequiresBuildingDropperFlyOver".Translate());
}
@@ -896,7 +990,7 @@ namespace WulaFallenEmpire
if (parent?.Map != null)
{
RoofDef roof = parent.Position.GetRoof(parent.Map);
if (roof != null)
if (roof != null && !(IsInPocketMap && Props.skipRoofCheckInPocketMap))
{
if (roof.isThickRoof && !Props.allowThickRoof)
{
@@ -911,5 +1005,11 @@ namespace WulaFallenEmpire
return sb.ToString();
}
// 新增:调试方法,显示口袋地图检测状态
public string GetPocketMapDebugInfo()
{
return $"IsInPocketMap: {IsInPocketMap}, Map.Parent: {parent?.Map?.Parent?.GetType()?.Name}";
}
}
}

View File

@@ -45,6 +45,15 @@ namespace WulaFallenEmpire
// 新增:建筑生成后的燃料量(如果适用)
public FloatRange fuelRange = new FloatRange(1f, 1f);
// 新增:是否在口袋地图中跳过科技检查
public bool skipResearchCheckInPocketMap = true;
// 新增是否在口袋地图中跳过FlyOver检查
public bool skipFlyOverCheckInPocketMap = true;
// 新增:是否在口袋地图中跳过屋顶检查
public bool skipRoofCheckInPocketMap = true;
public CompProperties_BuildingSpawner()
{
compClass = typeof(CompBuildingSpawner);

View File

@@ -1,15 +0,0 @@
using Verse;
namespace WulaFallenEmpire
{
public class CompProperties_PrefabSpawner : CompProperties
{
public string prefabDefName;
public bool consumesMaterials = true;
public CompProperties_PrefabSpawner()
{
compClass = typeof(CompPrefabSpawner);
}
}
}

View File

@@ -89,8 +89,6 @@ namespace WulaFallenEmpire
{
if (!string.IsNullOrEmpty(PropsPrefab.prefabDefName))
{
Log.Message($"[PrefabSkyfallerCaller] Executing auto skyfaller call for prefab at {parent.Position}");
// 非玩家派系自动呼叫不需要资源检查
HandleRoofDestruction();
@@ -112,7 +110,6 @@ namespace WulaFallenEmpire
if (thing is Skyfaller_PrefabSpawner skyfaller)
{
skyfaller.prefabDefName = PropsPrefab.prefabDefName;
Log.Message($"[PrefabSkyfallerCaller] Setting prefabDefName to: {PropsPrefab.prefabDefName}");
GenSpawn.Spawn(skyfaller, parent.Position, parent.Map);
}
else
@@ -150,22 +147,22 @@ namespace WulaFallenEmpire
}
// 新增:调试信息
public override string CompInspectStringExtra()
{
var baseString = base.CompInspectStringExtra();
//public override string CompInspectStringExtra()
//{
// var baseString = base.CompInspectStringExtra();
if (!string.IsNullOrEmpty(PropsPrefab.prefabDefName))
{
var sb = new System.Text.StringBuilder();
if (!string.IsNullOrEmpty(baseString))
{
sb.AppendLine(baseString);
}
sb.Append($"Prefab: {PropsPrefab.prefabDefName}");
return sb.ToString();
}
// if (!string.IsNullOrEmpty(PropsPrefab.prefabDefName))
// {
// var sb = new System.Text.StringBuilder();
// if (!string.IsNullOrEmpty(baseString))
// {
// sb.AppendLine(baseString);
// }
// sb.Append($"Prefab: {PropsPrefab.prefabDefName}");
// return sb.ToString();
// }
return baseString;
}
// return baseString;
//}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB