Files
WulaFallenEmpireRW/1.6/1.6/Defs/QuestScriptDefs/WULA_Colony_Promotion.xml
2025-11-27 17:14:53 +08:00

592 lines
25 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<WulaFallenEmpire.EventDef>
<defName>WULA_Colony_Promotion_UI_1</defName>
<label>未知通讯</label>
<portraitPath>Wula/Events/Portraits/WULA_Legion_2</portraitPath>
<characterName>「军团」,P.I.A</characterName>
<descriptions>
<li>晋级审查是一件大事情——你们确定你们已经准备好了吗?\n\n我和你们重申一下流程吧我会派遣自己的一个分体和护卫队在你们殖民地考察12天你要照顾我的分体和卫队的起居。如果一切顺利考察完成之后你们将获得殖民地晋升的机会舰队会为你们开放更多的许可科技。</li>
</descriptions>
<options>
<li>
<label>我们准备好了</label>
<useCustomColors>false</useCustomColors>
<hideWhenDisabled>false</hideWhenDisabled>
<disabledReason>我记得我已经送了一个分体去你们殖民地了在30天内我不会再派出审查队。</disabledReason>
<conditions>
<li Class="WulaFallenEmpire.Condition_FlagNotExists">
<flagName>WULA_Colony_Promotion_Lock</flagName>
</li>
</conditions>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_SetTimedFlag">
<flagName>WULA_Colony_Promotion_Lock</flagName>
<durationTicks>1800000</durationTicks>
</li>
<li Class="WulaFallenEmpire.Effect_AddQuest">
<quest>WULA_Colony_Promotion</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_1</defName>
</li>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
</options>
</WulaFallenEmpire.EventDef>
<IncidentDef>
<defName>WULA_GiveQuest_Colony_Promotion</defName>
<category>GiveQuest</category>
<label>殖民地视察</label>
<targetTags>
<li>Map_PlayerHome</li>
</targetTags>
<questScriptDef>WULA_Colony_Promotion</questScriptDef>
<workerClass>IncidentWorker_GiveQuest</workerClass>
<baseChance>0</baseChance>
</IncidentDef>
<QuestScriptDef>
<defName>WULA_Colony_Promotion</defName>
<defaultChallengeRating>3</defaultChallengeRating> <!-- 挑战等级(星级) -->
<isRootSpecial>true</isRootSpecial> <!-- 特殊任务 -->
<defaultCharity>false</defaultCharity> <!-- 是否仁善 -->
<autoAccept>true</autoAccept>
<!-- 命名规则 -->
<questNameRules>
<rulesStrings>
<li>questName->WULA_Colony_Promotion_questName</li>
</rulesStrings>
</questNameRules>
<questDescriptionRules>
<include>
<li>QuestHospitalityCommon</li>
</include>
<rulesStrings>
<li>questDescription->WULA_Colony_Promotion_questDescription</li>
</rulesStrings>
</questDescriptionRules>
<root Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_GetMap" />
<!-- 生成物品奖励 -->
<li Class="QuestNode_GenerateThingSet">
<thingSetMaker>WULA_Colony_Promotion_Reward</thingSetMaker>
<storeAs>promotionReward</storeAs>
</li>
<!-- 产生超链接 -->
<li Class="WulaFallenEmpire.QuestNode_Hyperlinks">
<factionDefs>
<li>Wula_PIA_Legion_Faction</li>
</factionDefs>
</li>
<!-- End if map removed -->
<li Class="QuestNode_End">
<inSignal>map.MapRemoved</inSignal>
<outcome>Fail</outcome>
<signalListenMode>NotYetAcceptedOnly</signalListenMode>
</li>
<li Class="QuestNode_End">
<inSignal>map.MapRemoved</inSignal>
<outcome>Fail</outcome>
<signalListenMode>OngoingOnly</signalListenMode>
<sendStandardLetter>true</sendStandardLetter>
</li>
<!-- 生成带有自定义名字和背景故事的 Pawn -->
<li Class="WulaFallenEmpire.QuestNode_GeneratePawnWithCustomization">
<kindDef>WULA_Legion_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>
<!-- Get or generate guards -->
<li Class="QuestNode_LoopCount">
<loopCount>1</loopCount>
<node Class="QuestNode_GeneratePawn">
<faction>Wula_PIA_Legion_Faction</faction>
<kindDef>Wula_PIA_Legion_Escort_Unit</kindDef>
<addToList>lodgers</addToList>
<biocodeWeaponChance>1</biocodeWeaponChance>
<biocodeApparelChance>1</biocodeApparelChance>
<mustBeCapableOfViolence>true</mustBeCapableOfViolence>
<allowPregnant>false</allowPregnant>
<giveDependentDrugs>false</giveDependentDrugs>
</node>
</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>
<!-- Shuttle -->
<li Class="QuestNode_Set">
<name>shuttleDelayTicks</name>
<value>360000</value>
</li>
<li Class="QuestNode_ShuttleDelay">
<delayTicks>$shuttleDelayTicks</delayTicks>
<lodgers>$lodgers</lodgers>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_SubScript">
<def>Util_TransportShip_Pickup</def>
<parms>
<leaveDelayTicks>$(3*60000)</leaveDelayTicks>
<requiredPawns>$lodgers</requiredPawns>
<overrideMass>999999999</overrideMass>
<sendAwayIfAllDespawned>$lodgers</sendAwayIfAllDespawned>
</parms>
</li>
<li Class="QuestNode_InspectString">
<targets>$lodgers</targets>
<inspectString TKey="InspectStringDepartShuttle">应该乘坐穿梭机离开</inspectString>
</li>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleArrived">穿梭机已抵达</label>
<text TKey="LetterTextShuttleArrived">穿梭机已经前来迎接[asker_nameDef]。</text>
<lookTargets>$pickupShipThing</lookTargets>
</li>
<!-- Win condition -->
<!-- <li Class="QuestNode_EndGame">
<inSignal>pickupShipThing.SentWithExtraColonists</inSignal>
<signalListenMode>Always</signalListenMode>
<introText TKey="EndGameIntroText">You've escaped on the Imperial shuttle!</introText>
<endingText TKey="EndGameEndingText">The high stellarch will now welcome you into the Imperial flotilla as an honored noble party.\n\nYou might stay in the Imperial court and jockey for political power. Perhaps you'll avoid the drama and focus on enjoying ultratech luxuries. Or, you might even buy a ship and set a course for your long-lost home.\n\nThe choice is up to you.</endingText>
</li> -->
</nodes>
</node>
</li>
<!-- - - - - -->
<!-- Threats -->
<!-- - - - - -->
<li Class="QuestNode_Set">
<name>enemyFaction</name>
<value>Pirate</value>
</li>
<li Class="QuestNode_ViolentQuestsAllowed">
<node Class="QuestNode_GenerateThreats">
<parms>
<allowedThreats>Raids</allowedThreats>
<onDays>1.0</onDays>
<offDays>1.5</offDays>
<minSpacingDays>0.04</minSpacingDays>
<numIncidentsRange>1~1</numIncidentsRange>
<currentThreatPointsFactor>1.1</currentThreatPointsFactor>
<minThreatPoints>500</minThreatPoints>
</parms>
</node>
</li>
<!-- - - - - - - - -->
<!-- End conditions -->
<!-- - - - - - - - -->
<!-- Any lodger unhappy -->
<li Class="QuestNode_Set">
<name>lodgersMoodThreshold</name>
<value>0.25</value>
</li>
<li Class="QuestNode_MoodBelow">
<pawns>$asker</pawns>
<threshold>$lodgersMoodThreshold</threshold>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelSubjectUnhappy">{SUBJECT_bestRoyalTitle}情绪低落</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextSubjectUnhappy">需要你护卫和满足需求的{SUBJECT_definite},其情绪值已经长时间低于最低限度[lodgersMoodThreshold]。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
</li>
</nodes>
</node>
</li>
<!-- 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>
<!-- Surgery violation -->
<li Class="QuestNode_Signal">
<inSignal>lodgers.SurgeryViolation</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelUnauthorizedSurgery">未授权手术:{SUBJECT_definite}</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextUnauthorizedSurgery">需要你护卫的{SUBJECT_definite}接受了一场未授权的多余手术。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-30</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>PerformedHarmfulSurgery</goodwillChangeReason>
</li>
</nodes>
</node>
</li>
<!-- Lodger's xenogerm absorbed -->
<li Class="QuestNode_Signal" MayRequire="Ludeon.RimWorld.Biotech">
<inSignal>lodgers.XenogermAbsorbed</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label>异种胚芽被吸收</label>
<letterDef>NegativeEvent</letterDef>
<text>指定由你保护的{SUBJECT_definite}在你的殖民地被吸收了异种胚芽。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-30</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>XenogermAbsorbed</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>
<!-- Shuttle destroyed -->
<li Class="QuestNode_Signal">
<inSignal>pickupShipThing.Destroyed</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleDestroyed">穿梭机已被毁</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextShuttleDestroyed">前来迎接[asker_faction_leaderTitle]的穿梭机被摧毁了。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-30</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>ShuttleDestroyed</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>
<!-- Shuttle sent away -->
<li Class="QuestNode_Signal">
<inSignal>pickupShipThing.SentSatisfied</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_AddItemsReward">
<items>$promotionReward</items>
</li>
<li Class="WulaFallenEmpire.QuestNode_EventLetter">
<inSignal>pickupShipThing.SentSatisfied</inSignal>
<eventDefName>WULA_Colony_Promotion_UI_2</eventDefName>
</li>
<li Class="QuestNode_End">
<outcome>Success</outcome>
<sendStandardLetter>true</sendStandardLetter>
</li>
</nodes>
</node>
</li>
<li Class="QuestNode_Signal">
<inSignal>pickupShipThing.SentUnsatisfied</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleSentUnsatisfied">任务失败:[resolvedQuestName]</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextShuttleSentUnsatisfied">前来迎接[asker_faction_leaderTitle]的穿梭机没有接到[asker_objective]。[asker_pronoun]现在只能走回去。[failLetterEndingCommon]</text>
</li>
<li Class="QuestNode_End">
<outcome>Fail</outcome>
<goodwillChangeAmount>-30</goodwillChangeAmount>
<goodwillChangeFactionOf>$asker</goodwillChangeFactionOf>
<goodwillChangeReason>MemberMissedShuttle</goodwillChangeReason>
</li>
</nodes>
</node>
</li>
</nodes>
</root>
</QuestScriptDef>
<ThingSetMakerDef>
<defName>WULA_Colony_Promotion_Reward</defName>
<root Class="ThingSetMaker_RandomOption">
<options>
<li>
<weight>1</weight>
<thingSetMaker Class="ThingSetMaker_StackCount">
<fixedParams>
<filter>
<thingDefs>
<li>Techprint_WULA_Colony_License_LV2_Technology</li>
</thingDefs>
</filter>
<countRange>1</countRange>
</fixedParams>
</thingSetMaker>
</li>
</options>
</root>
</ThingSetMakerDef>
<WulaFallenEmpire.EventDef>
<defName>WULA_Colony_Promotion_UI_2</defName>
<label>未知通讯</label>
<portraitPath>Wula/Events/Portraits/WULA_Legion_2</portraitPath>
<characterName>「军团」,P.I.A</characterName>
<descriptions>
<li>看起来你们的殖民地还不错,井井有条并且符合帝国法典和章程——你们值得一个更高位的许可,稍后我会通过运输舱把晋升许可寄给你们。\n\n此外我也将你们的支援系统重置了你们可以再次申请之前申请过的支援并且新的支援也会开放给你们。继续发展你们的殖民地我就能帮你们申请更高级的权限。\n\n帝国荣光永存。</li>
</descriptions>
<immediateEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_ClearVariable">
<name>Wula_Has_Receive_Reinforcement_From_PIA</name>
</li>
<li Class="WulaFallenEmpire.Effect_ClearVariable">
<name>Wula_Has_Receive_MechWula_From_PIA</name>
</li>
<li Class="WulaFallenEmpire.Effect_ClearVariable">
<name>Wula_Has_Receive_Silver_From_PIA</name>
</li>
<!-- 在进入任务前一定会点开mainevent姑且认为该var不会为空 -->
<li Class="WulaFallenEmpire.Effect_ModifyVariable">
<name>Wula_Reinforcement_From_PIA_Level</name>
<value>1</value>
<operation>Add</operation>
</li>
</effects>
</li>
</immediateEffects>
<options>
<li>
<label>帝国荣光永存</label>
<useCustomColors>false</useCustomColors>
<optionEffects>
<li>
<effects>
<li Class="WulaFallenEmpire.Effect_CloseDialog" />
</effects>
</li>
</optionEffects>
</li>
</options>
</WulaFallenEmpire.EventDef>
</Defs>