1
This commit is contained in:
202
1.6/1.6/Defs/QuestScriptDefs/WULA_Attack_Robber_Camp.xml
Normal file
202
1.6/1.6/Defs/QuestScriptDefs/WULA_Attack_Robber_Camp.xml
Normal file
@@ -0,0 +1,202 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<QuestScriptDef>
|
||||
<defName>WULA_Attack_Robber_Camp</defName>
|
||||
<rootSelectionWeight>0</rootSelectionWeight>
|
||||
<expireDaysRange>1</expireDaysRange>
|
||||
<sendAvailableLetter>true</sendAvailableLetter>
|
||||
<isRootSpecial>true</isRootSpecial> <!-- 特殊任务 -->
|
||||
|
||||
<questNameRules>
|
||||
<rulesStrings>
|
||||
<li>questName->The [bandit] [camp]</li>
|
||||
<li>questName->[bandit] [camp]</li>
|
||||
<li>questName->[asker_nameDef] and the [camp]</li>
|
||||
<li>camp->Camp</li>
|
||||
<li>camp->Outpost</li>
|
||||
<li>camp->Lair</li>
|
||||
<li>camp->Encampment</li>
|
||||
<li>bandit->Bandit</li>
|
||||
<li>bandit->Raider</li>
|
||||
<li>bandit->Outlaw</li>
|
||||
<li>bandit->Desperado</li>
|
||||
<li>bandit->Fugitive</li>
|
||||
<li>bandit->Marauder</li>
|
||||
<li>bandit->Robber</li>
|
||||
<li>bandit->Brigand</li>
|
||||
</rulesStrings>
|
||||
</questNameRules>
|
||||
<questDescriptionRules>
|
||||
<rulesStrings>
|
||||
<li>questDescription->WULA_Attack_Robber_Camp_questDescription</li>
|
||||
</rulesStrings>
|
||||
</questDescriptionRules>
|
||||
<root Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_SubScript">
|
||||
<def>Util_RandomizePointsChallengeRating</def>
|
||||
<parms>
|
||||
<pointsFactorTwoStar>1.5</pointsFactorTwoStar>
|
||||
<pointsFactorThreeStar>2</pointsFactorThreeStar>
|
||||
</parms>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_SubScript">
|
||||
<def>Util_AdjustPointsForDistantFight</def>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_GetMap">
|
||||
<canBeSpace>true</canBeSpace>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_GetPawn">
|
||||
<storeAs>asker</storeAs>
|
||||
<mustBeFactionLeader>true</mustBeFactionLeader>
|
||||
<allowPermanentEnemyFaction>false</allowPermanentEnemyFaction>
|
||||
<hostileWeight>0.15</hostileWeight>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_GetSiteTile">
|
||||
<storeAs>siteTile</storeAs>
|
||||
<preferCloserTiles>true</preferCloserTiles>
|
||||
<selectLandmarkChance>0.5</selectLandmarkChance>
|
||||
<allowedLandmarks>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Oasis</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Lake</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">LakeWithIsland</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">LakeWithIslands</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Pond</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">DryLake</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">ToxicLake</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Wetland</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">HotSprings</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Archipelago</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">CoastalIsland</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Peninsula</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Bay</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Valley</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Cavern</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Chasm</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Cliffs</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Hollow</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">TerraformingScar</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">LavaLake</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">Dunes</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">AncientHeatVent</li>
|
||||
</allowedLandmarks>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_GetSitePartDefsByTagsAndFaction">
|
||||
<storeAs>sitePartDefs</storeAs>
|
||||
<storeFactionAs>siteFaction</storeFactionAs>
|
||||
<sitePartsTags>
|
||||
<li><tag>BanditCamp</tag></li>
|
||||
</sitePartsTags>
|
||||
<mustBeHostileToFactionOf>$asker</mustBeHostileToFactionOf>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_GetDefaultSitePartsParams">
|
||||
<tile>$siteTile</tile>
|
||||
<faction>$siteFaction</faction>
|
||||
<sitePartDefs>$sitePartDefs</sitePartDefs>
|
||||
<storeSitePartsParamsAs>sitePartsParams</storeSitePartsParamsAs>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_GetSiteThreatPoints">
|
||||
<storeAs>sitePoints</storeAs>
|
||||
<sitePartsParams>$sitePartsParams</sitePartsParams>
|
||||
</li>
|
||||
<li Class="QuestNode_SubScript">
|
||||
<def>Util_GetDefaultRewardValueFromPoints</def>
|
||||
<parms>
|
||||
<!-- Use the actual threat points generated (some site parts define a minimum threshold) -->
|
||||
<points>$sitePoints</points>
|
||||
</parms>
|
||||
</li>
|
||||
|
||||
<!-- Inflate reward value. Since we're basing the reward value on the threat points generated, we need to do this
|
||||
even though the threat points was deflated from the input points already. -->
|
||||
<li Class="QuestNode_Multiply">
|
||||
<value1>$rewardValue</value1>
|
||||
<value2>1.75</value2>
|
||||
<storeAs>rewardValue</storeAs>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_SubScript">
|
||||
<def>Util_GenerateSite</def>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_SpawnWorldObjects">
|
||||
<worldObjects>$site</worldObjects>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_WorldObjectTimeout">
|
||||
<worldObject>$site</worldObject>
|
||||
<isQuestTimeout>true</isQuestTimeout>
|
||||
<delayTicks>$(randInt(12,28)*60000)</delayTicks>
|
||||
<inSignalDisable>site.MapGenerated</inSignalDisable>
|
||||
<destroyOnCleanup>true</destroyOnCleanup>
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelQuestExpired">Quest expired: [resolvedQuestName]</label>
|
||||
<text TKey="LetterTextQuestExpired">The bandit camp has packed up and moved on. The quest [resolvedQuestName] has expired.</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
</li>
|
||||
</nodes>
|
||||
</node>
|
||||
</li>
|
||||
|
||||
<!-- If we enter and leave, the map is destroyed. Fail the quest. -->
|
||||
<li Class="QuestNode_Signal">
|
||||
<inSignal>site.Destroyed</inSignal>
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelQuestFailed">Quest failed: [resolvedQuestName]</label>
|
||||
<text TKey="LetterTextQuestFailed">After being discovered, the bandit camp has dispersed. The quest [resolvedQuestName] has ended.</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
</li>
|
||||
</nodes>
|
||||
</node>
|
||||
</li>
|
||||
|
||||
<li Class="QuestNode_Signal">
|
||||
<inSignal>site.AllEnemiesDefeated</inSignal>
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Notify_PlayerRaidedSomeone">
|
||||
<getRaidersFromMapParent>$site</getRaidersFromMapParent>
|
||||
</li>
|
||||
<li Class="QuestNode_GiveRewards">
|
||||
<parms>
|
||||
<allowGoodwill>true</allowGoodwill>
|
||||
<allowRoyalFavor>true</allowRoyalFavor>
|
||||
<chosenPawnSignal>ChosenPawnForReward</chosenPawnSignal>
|
||||
</parms>
|
||||
<addCampLootReward>true</addCampLootReward>
|
||||
<customLetterLabel TKey="LetterLabelPaymentArrived">Payment arrived</customLetterLabel>
|
||||
<customLetterText TKey="LetterTextPaymentArrived">You have defeated the bandit camp!\n\nThe payment from [asker_faction_name] has arrived.</customLetterText>
|
||||
<nodeIfChosenPawnSignalUsed Class="QuestNode_Letter">
|
||||
<letterDef>ChoosePawn</letterDef>
|
||||
<label TKey="LetterLabelFavorReceiver">[asker_faction_royalFavorLabel]</label>
|
||||
<text TKey="LetterTextFavorReceiver">These colonists participated in the victory for the quest [resolvedQuestName]. [asker_definite] wants to know who should receive the [royalFavorReward_amount] [asker_faction_royalFavorLabel] for this service.</text>
|
||||
<useColonistsOnMap>$site</useColonistsOnMap>
|
||||
<chosenPawnSignal>ChosenPawnForReward</chosenPawnSignal>
|
||||
</nodeIfChosenPawnSignalUsed>
|
||||
</li>
|
||||
</nodes>
|
||||
</node>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<inSignal>site.AllEnemiesDefeated</inSignal>
|
||||
<outcome>Success</outcome>
|
||||
</li>
|
||||
</nodes>
|
||||
</root>
|
||||
</QuestScriptDef>
|
||||
</Defs>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Attack_Robber_Camp.questNameRules.rulesStrings>
|
||||
<li>questName->[bandit][camp]</li>
|
||||
<li>questName->[bandit][camp]</li>
|
||||
<li>questName->[asker_nameDef]与[camp]</li>
|
||||
<li>camp->营地</li>
|
||||
<li>camp->哨所</li>
|
||||
<li>camp->窝点</li>
|
||||
<li>camp->据点</li>
|
||||
<li>bandit->土匪</li>
|
||||
<li>bandit->劫掠者</li>
|
||||
<li>bandit->逃犯</li>
|
||||
<li>bandit->暴徒</li>
|
||||
<li>bandit->亡命者</li>
|
||||
<li>bandit->掠夺者</li>
|
||||
<li>bandit->强盗</li>
|
||||
<li>bandit->劫匪</li>
|
||||
</WULA_Attack_Robber_Camp.questNameRules.rulesStrings>
|
||||
<WULA_Attack_Robber_Camp.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->[asker_faction_name]的[asker_faction_leaderTitle],[asker_nameFull],向我们发来了一条讯息。根据他们掌握的情报,一个属于[siteFaction_name]派系,由[siteFaction_pawnsPlural]建立的营地一直在袭击他们的远行队。\n\n[asker_nameDef]请求我们帮助他们摧毁这个营地,彻底消灭敌人的成员和炮塔。[asker_label]还提醒我们:\n\n[sitePart0_description]。</li>
|
||||
</WULA_Attack_Robber_Camp.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
Reference in New Issue
Block a user