1
@@ -1028,116 +1028,4 @@
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
<!-- 支援 -->
|
||||
<AbilityDef>
|
||||
<defName>WULA_Support_Holographic_Flag</defName>
|
||||
<label>空投旗帜</label>
|
||||
<description>从拒止舰队上扔一面全息旗帜到指定地点,激励附近的乌拉星人更英勇地战斗。</description>
|
||||
<iconPath>Wula/UI/Abilities/WULA_Firepower_Minigun_Strafe</iconPath>
|
||||
<cooldownTicksRange>1</cooldownTicksRange>
|
||||
<hotKey>Misc12</hotKey>
|
||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<drawAimPie>false</drawAimPie>
|
||||
<requireLineOfSight>false</requireLineOfSight>
|
||||
<warmupTime>1</warmupTime>
|
||||
<range>120</range>
|
||||
<targetable>true</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>false</canTargetSelf>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AbilityCallSkyfaller">
|
||||
<delayTicks>0</delayTicks>
|
||||
<skyfallerDef>WULA_Holographic_Flag_Building_Skyfaller</skyfallerDef>
|
||||
<previewRadius>15</previewRadius>
|
||||
<previewColor>(1,1,1,0.5)</previewColor>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_RequireFlyOverFacility">
|
||||
<requiredFacility>FactoryFacility</requiredFacility>
|
||||
<facilityNotFoundMessage>需要拥有<color=#BD2F31><i>支援设施</i></color>设施的战舰在地图上才能进行轨道炮击支援</facilityNotFoundMessage>
|
||||
</li>
|
||||
<!-- <li Class="WulaFallenEmpire.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>WULA_Firepower_Minigun_Technology</requiredResearch>
|
||||
</li> -->
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<AbilityDef>
|
||||
<defName>WULA_Support_Shield_Projection</defName>
|
||||
<label>护盾投射</label>
|
||||
<description>从拒止舰队上扔一面附拒止护盾的全息旗帜到指定地点,激励附近的乌拉星人更英勇地战斗。拒止护盾可以反射所有的敌方射弹,己方的开火不受影响。\n\n在工作一段时间后,该系统将自行烧毁。</description>
|
||||
<iconPath>Wula/UI/Abilities/WULA_Firepower_Minigun_Strafe</iconPath>
|
||||
<cooldownTicksRange>1</cooldownTicksRange>
|
||||
<hotKey>Misc12</hotKey>
|
||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<drawAimPie>false</drawAimPie>
|
||||
<requireLineOfSight>false</requireLineOfSight>
|
||||
<warmupTime>1</warmupTime>
|
||||
<range>120</range>
|
||||
<targetable>true</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>false</canTargetSelf>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AbilityCallSkyfaller">
|
||||
<delayTicks>0</delayTicks>
|
||||
<skyfallerDef>WULA_Support_Shield_Projection_Skyfaller</skyfallerDef>
|
||||
<previewRadius>12</previewRadius>
|
||||
<previewColor>(0.6,0.8,0.8,0.5)</previewColor>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_RequireFlyOverFacility">
|
||||
<!-- <flyOverDef></flyOverDef> -->
|
||||
<requiredFacility>FactoryFacility</requiredFacility>
|
||||
<facilityNotFoundMessage>需要拥有<color=#BD2F31><i>支援设施</i></color>设施的战舰在地图上才能进行轨道炮击支援</facilityNotFoundMessage>
|
||||
</li>
|
||||
<!-- <li Class="WulaFallenEmpire.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>WULA_Firepower_Minigun_Technology</requiredResearch>
|
||||
</li> -->
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<AbilityDef>
|
||||
<defName>WULA_Support_AreaTeleporter</defName>
|
||||
<label>区域传送器</label>
|
||||
<description>从拒止舰队上扔一面附拒止护盾的全息旗帜到指定地点,激励附近的乌拉星人更英勇地战斗。拒止护盾可以反射所有的敌方射弹,己方的开火不受影响。\n\n在工作一段时间后,该系统将自行烧毁。</description>
|
||||
<iconPath>Wula/UI/Abilities/WULA_Firepower_Minigun_Strafe</iconPath>
|
||||
<cooldownTicksRange>1</cooldownTicksRange>
|
||||
<hotKey>Misc12</hotKey>
|
||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<drawAimPie>false</drawAimPie>
|
||||
<requireLineOfSight>false</requireLineOfSight>
|
||||
<warmupTime>1</warmupTime>
|
||||
<range>120</range>
|
||||
<targetable>true</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>false</canTargetSelf>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AbilityCallSkyfaller">
|
||||
<delayTicks>0</delayTicks>
|
||||
<skyfallerDef>WULA_Support_AreaTeleporter_Skyfaller</skyfallerDef>
|
||||
<previewRadius>20</previewRadius>
|
||||
<previewColor>(0.6,0.8,0.8,0.5)</previewColor>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_RequireFlyOverFacility">
|
||||
<!-- <flyOverDef></flyOverDef> -->
|
||||
<requiredFacility>FactoryFacility</requiredFacility>
|
||||
<facilityNotFoundMessage>需要拥有<color=#BD2F31><i>支援设施</i></color>设施的战舰在地图上才能进行轨道炮击支援</facilityNotFoundMessage>
|
||||
</li>
|
||||
<!-- <li Class="WulaFallenEmpire.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>WULA_Firepower_Minigun_Technology</requiredResearch>
|
||||
</li> -->
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
</Defs>
|
||||
@@ -1055,6 +1055,25 @@
|
||||
</spawnCategories>
|
||||
</AlienRace.AlienBackstoryDef>
|
||||
|
||||
<AlienRace.AlienBackstoryDef>
|
||||
<defName>WULA_Adult_Backstory_Legion_Escort</defName>
|
||||
<slot>Adulthood</slot>
|
||||
<title>断爪卫队</title>
|
||||
<titleShort>断爪卫队</titleShort>
|
||||
<description>[PAWN_nameDef]是断爪卫队的一员,该卫队是乌拉帝国行星封锁机关总控AI「军团」的心腹和黑手套,负责和其分体出席各种场合。</description>
|
||||
<workDisables>AllWork</workDisables>
|
||||
<bodyTypeGlobal>Thin</bodyTypeGlobal>
|
||||
<bodyTypeFemale>Thin</bodyTypeFemale>
|
||||
<bodyTypeMale>Thin</bodyTypeMale>
|
||||
<skillGains>
|
||||
<Melee>999</Melee>
|
||||
<Shooting>999</Shooting>
|
||||
</skillGains>
|
||||
<spawnCategories>
|
||||
<li>Wula_Backstory_Categories_Legion_Escort</li>
|
||||
</spawnCategories>
|
||||
</AlienRace.AlienBackstoryDef>
|
||||
|
||||
<!-- 乌拉反常网络固定背景 -->
|
||||
<AlienRace.AlienBackstoryDef>
|
||||
<defName>WULA_Adult_Backstory999</defName>
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<HediffDef ParentName="ImplantHediffBase">
|
||||
<defName>WULA_AutoJumpdrive</defName>
|
||||
<label>微型传送装置</label>
|
||||
<description>安装在乌拉帝国合成人军团体内的微型跃迁引擎,会在合成人到达指定作战时间或死亡时将其回收</description>
|
||||
<description>安装在乌拉帝国合成人军团体内的微型跃迁引擎,会在合成人到达指定作战时间时将其回收</description>
|
||||
<spawnThingOnRemoved>WULA_AutoJumpdrive</spawnThingOnRemoved>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.HediffCompProperties_DisappearWithEffect">
|
||||
@@ -108,10 +108,10 @@
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<ThingDef ParentName="BodyPartBase">
|
||||
<ThingDef Name="WULA_AutoJumpdrive_Thing" ParentName="BodyPartBase">
|
||||
<defName>WULA_AutoJumpdrive</defName>
|
||||
<label>death acidifier</label>
|
||||
<description>A chest implant for preventing enemy use of captured equipment. Upon the user's death, it releases powerful chemicals that dissolve gear in contact with the user's body. It doesn't damage others.</description>
|
||||
<label>微型传送装置</label>
|
||||
<description>安装在乌拉帝国合成人军团体内的微型跃迁引擎,会在合成人到达指定作战时间时将其回收</description>
|
||||
<techLevel>Spacer</techLevel>
|
||||
<graphicData>
|
||||
<texPath>Things/Item/Health/HealthItem</texPath>
|
||||
@@ -151,4 +151,50 @@
|
||||
</appliedOnFixedBodyParts>
|
||||
<addsHediff>WULA_AutoJumpdrive</addsHediff>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="ImplantHediffBase">
|
||||
<defName>WULA_AutoJumpdrive_Week</defName>
|
||||
<label>微型传送装置</label>
|
||||
<description>安装在乌拉帝国合成人军团体内的微型跃迁引擎,会在合成人到达指定作战时间时将其回收</description>
|
||||
<spawnThingOnRemoved>WULA_AutoJumpdrive</spawnThingOnRemoved>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.HediffCompProperties_DisappearWithEffect">
|
||||
<disappearsAfterTicks>420000</disappearsAfterTicks>
|
||||
<showRemainingTime>true</showRemainingTime>
|
||||
<fleckDef>PsycastAreaEffect</fleckDef>
|
||||
<fleckScale>2.5</fleckScale>
|
||||
<dropEquipment>false</dropEquipment>
|
||||
<destroyCorpse>true</destroyCorpse>
|
||||
<playSound>true</playSound>
|
||||
<messageOnDisappear>{0} 通过传送离开了殖民地</messageOnDisappear>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<ThingDef ParentName="WULA_AutoJumpdrive_Thing">
|
||||
<defName>WULA_AutoJumpdrive_Week</defName>
|
||||
</ThingDef>
|
||||
<RecipeDef ParentName="SurgeryInstallImplantBase">
|
||||
<defName>Install_WULA_AutoJumpdrive_Week</defName>
|
||||
<label>install death acidifier</label>
|
||||
<description>Install a death acidifier.</description>
|
||||
<jobString>Installing death acidifier.</jobString>
|
||||
<ingredients>
|
||||
<li>
|
||||
<filter>
|
||||
<thingDefs>
|
||||
<li>WULA_AutoJumpdrive_Week</li>
|
||||
</thingDefs>
|
||||
</filter>
|
||||
<count>1</count>
|
||||
</li>
|
||||
</ingredients>
|
||||
<fixedIngredientFilter>
|
||||
<thingDefs>
|
||||
<li>WULA_AutoJumpdrive_Week</li>
|
||||
</thingDefs>
|
||||
</fixedIngredientFilter>
|
||||
<appliedOnFixedBodyParts>
|
||||
<li>Torso</li>
|
||||
</appliedOnFixedBodyParts>
|
||||
<addsHediff>WULA_AutoJumpdrive_Week</addsHediff>
|
||||
</RecipeDef>
|
||||
</Defs>
|
||||
@@ -147,31 +147,4 @@
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<HediffDef>
|
||||
<defName>Wula_FM_Switc_Construction</defName>
|
||||
<label>调频(支援)</label>
|
||||
<description>允许乌拉帝国的合成人呼叫舰队支援,包含一系列防御性能力和生产加速能力,一般需要有拒止舰队部署在轨道上才能启动。</description>
|
||||
<hediffClass>Hediff_High</hediffClass>
|
||||
<everCurableByItem>false</everCurableByItem>
|
||||
<duplicationAllowed>false</duplicationAllowed>
|
||||
<keepOnBodyPartRestoration>True</keepOnBodyPartRestoration>
|
||||
<isBad>false</isBad>
|
||||
<stages>
|
||||
<li>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>WULA_CallMotherShip</li>
|
||||
<li>WULA_CallConstructionShip</li>
|
||||
<li>WULA_ClearFlightPath</li>
|
||||
<li>WULA_Support_Holographic_Flag</li>
|
||||
<li>WULA_Support_Shield_Projection</li>
|
||||
<li>WULA_Support_AreaTeleporter</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
</Defs>
|
||||
@@ -616,6 +616,10 @@
|
||||
<weaponMoney>0</weaponMoney>
|
||||
<apparelAllowHeadgearChance>0</apparelAllowHeadgearChance>
|
||||
<apparelMoney>99999~99999</apparelMoney>
|
||||
<techHediffsRequired>
|
||||
<li>WULA_AutoJumpdrive_Week</li>
|
||||
<li>DeathAcidifier</li>
|
||||
</techHediffsRequired>
|
||||
</PawnKindDef>
|
||||
<PawnKindDef>
|
||||
<defName>Wula_PIA_Legion_Escort_Unit</defName>
|
||||
@@ -664,6 +668,7 @@
|
||||
<apparelMoney>999999~999999</apparelMoney>
|
||||
<techHediffsMoney>999999~999999</techHediffsMoney>
|
||||
<techHediffsRequired>
|
||||
<li>WULA_AutoJumpdrive_Week</li>
|
||||
<li>DeathAcidifier</li>
|
||||
</techHediffsRequired>
|
||||
<techHediffsTags>
|
||||
@@ -671,12 +676,11 @@
|
||||
<li>ImplantEmpireCommon</li>
|
||||
</techHediffsTags>
|
||||
|
||||
<backstoryFiltersOverride>
|
||||
<li>
|
||||
<categories>
|
||||
<li>Wula_Backstory_Categories</li>
|
||||
</categories>
|
||||
</li>
|
||||
</backstoryFiltersOverride>
|
||||
<fixedChildBackstories>
|
||||
<li>WULA_Child_Backstory03</li>
|
||||
</fixedChildBackstories>
|
||||
<fixedAdultBackstories>
|
||||
<li>WULA_Adult_Backstory_Legion_Escort</li>
|
||||
</fixedAdultBackstories>
|
||||
</PawnKindDef>
|
||||
</Defs>
|
||||
@@ -133,8 +133,8 @@
|
||||
|
||||
<li Class="QuestNode_Letter">
|
||||
<inSignal>faction.BecameHostileToPlayer</inSignal>
|
||||
<label TKey="LetterLabelFactionBecameHostile">LetterLabelFactionBecameHostile</label>
|
||||
<text TKey="LetterTextFactionBecameHostile">LetterTextFactionBecameHostile</text>
|
||||
<label TKey="LetterLabelFactionBecameHostile">任务失败:[resolvedQuestName]</label>
|
||||
<text TKey="LetterTextFactionBecameHostile">[faction_name]开始敌视你。</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<inSignal>faction.BecameHostileToPlayer</inSignal>
|
||||
@@ -237,9 +237,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelShuttleDestroyed">Shuttle destroyed</label>
|
||||
<label TKey="LetterLabelShuttleDestroyed">穿梭机被破坏</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextShuttleDestroyed">The shuttle sent to drop off [pawnsLabelDef] has been destroyed. You have failed the quest '[resolvedQuestName]'.\n\nYour relations with [asker_faction_name] have changed by [goodwillChangeOnShuttleDestroyed].</text>
|
||||
<text TKey="LetterTextShuttleDestroyed">被派遣来运输[asker_nameDef]的穿梭机已被破坏。</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -262,9 +262,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelGuestDied">Guest died: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelGuestDied">宾客{SUBJECT_definite}死亡</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextGuestDied">{SUBJECT_definite}, who you were charged to protect, has died. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextGuestDied">需要你护卫的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]</text>
|
||||
<signalListenMode>OngoingOrNotYetAccepted</signalListenMode>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
@@ -302,8 +302,8 @@
|
||||
<inspectString TKey="InspectStringDepartShuttle">应该乘坐穿梭机离开</inspectString>
|
||||
</li>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelShuttleArrived">Shuttle arrived</label>
|
||||
<text TKey="LetterTextShuttleArrived">The shuttle has arrived to collect the [asker_faction_leaderTitle].\n\nAll of you can accompany the [asker_faction_leaderTitle] on the shuttle and travel to the Imperial flotilla to begin a new life.</text>
|
||||
<label TKey="LetterLabelShuttleArrived">穿梭机已抵达</label>
|
||||
<text TKey="LetterTextShuttleArrived">穿梭机已经前来迎接[asker_nameDef]。</text>
|
||||
<lookTargets>$pickupShipThing</lookTargets>
|
||||
</li>
|
||||
|
||||
@@ -355,9 +355,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelSubjectUnhappy">{SUBJECT_bestRoyalTitle} unhappy</label>
|
||||
<label TKey="LetterLabelSubjectUnhappy">{SUBJECT_bestRoyalTitle}情绪低落</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextSubjectUnhappy">{SUBJECT_definite}, who you were charged to protect and keep happy, has been below the minimum mood of [lodgersMoodThreshold] too long. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextSubjectUnhappy">需要你护卫和满足需求的{SUBJECT_definite},其情绪值已经长时间低于最低限度[lodgersMoodThreshold]。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -372,9 +372,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelGuestCaptured">Guest captured: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelGuestCaptured">宾客{SUBJECT_definite}被俘</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextGuestCaptured">{SUBJECT_definite}, who you were charged to protect, has been arrested. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextGuestCaptured">需要你护卫的{SUBJECT_definite}已经被俘虏。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -392,9 +392,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelUnauthorizedSurgery">Unauthorized surgery: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelUnauthorizedSurgery">未授权手术:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextUnauthorizedSurgery">Unauthorized, violating surgery has been performed on {SUBJECT_definite}, who you were charged to protect. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextUnauthorizedSurgery">需要你护卫的{SUBJECT_definite}接受了一场未授权的多余手术。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -412,9 +412,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label>Xenogerm absorbed: {SUBJECT_definite}</label>
|
||||
<label>异种胚芽被吸收</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text>{SUBJECT_definite}, who you were charged to protect, has had {SUBJECT_possessive} xenogerm forcibly absorbed. [failLetterEndingCommon]</text>
|
||||
<text>指定由你保护的{SUBJECT_definite}在你的殖民地被吸收了异种胚芽。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -432,9 +432,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelGuestLost">Guest lost: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelGuestLost">宾客失踪:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextGuestLost">{SUBJECT_definite}, who you were charged to protect, has left the assigned settlement. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextGuestLost">需要你护卫的{SUBJECT_definite}失踪在你的殖民地。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -452,9 +452,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelShuttleDestroyed">Shuttle destroyed</label>
|
||||
<label TKey="LetterLabelShuttleDestroyed">穿梭机已被毁</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextShuttleDestroyed">The shuttle sent to collect the [asker_faction_leaderTitle] has been destroyed. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextShuttleDestroyed">前来迎接[asker_faction_leaderTitle]的穿梭机被摧毁了。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -472,9 +472,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelLodgerRanWild">Guest lost: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelLodgerRanWild">宾客失踪:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextLodgerRanWild">{SUBJECT_definite}, who you were charged to protect, has run wild. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextLodgerRanWild">需要你护卫的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -510,9 +510,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelShuttleSentUnsatisfied">Quest failed: [resolvedQuestName]</label>
|
||||
<label TKey="LetterLabelShuttleSentUnsatisfied">任务失败:[resolvedQuestName]</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextShuttleSentUnsatisfied">The shuttle sent to collect the [asker_faction_leaderTitle] has departed without [asker_objective]. [asker_pronoun] will now leave on foot. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextShuttleSentUnsatisfied">前来迎接[asker_faction_leaderTitle]的穿梭机没有接到[asker_objective]。[asker_pronoun]现在只能走回去。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
|
||||
@@ -125,8 +125,8 @@
|
||||
<points>$points</points>
|
||||
<enemyFaction>$enemyFaction</enemyFaction>
|
||||
<walkInSpot>$walkInSpot</walkInSpot>
|
||||
<customLetterLabel TKey="LetterLabelChasing">{BASELABEL} chasing [../asker_nameDef]</customLetterLabel>
|
||||
<customLetterText TKey="LetterTextChasing">{BASETEXT}\nThe [enemyFaction_pawnsPlural] have come to get [../asker_nameDef].</customLetterText>
|
||||
<customLetterLabel TKey="LetterLabelChasing">{BASELABEL} 追捕[../asker_nameDef]</customLetterLabel>
|
||||
<customLetterText TKey="LetterTextChasing">{BASETEXT}\n\n[enemyFaction_pawnsPlural]来此追捕[../asker_nameDef]。</customLetterText>
|
||||
</parms>
|
||||
</node>
|
||||
<!-- 不允许暴力则生成温和动物 -->
|
||||
@@ -151,12 +151,12 @@
|
||||
<!-- 选中指定对象时显示自定义的检查信息 -->
|
||||
<li Class="QuestNode_InspectString">
|
||||
<targets>$asker</targets>
|
||||
<inspectString TKey="InspectStringDepartShuttle">Should depart on shuttle</inspectString>
|
||||
<inspectString TKey="InspectStringDepartShuttle">应该乘坐穿梭机出发</inspectString>
|
||||
</li>
|
||||
<!-- 信封 -->
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelShuttleArrived">Shuttle arrived</label>
|
||||
<text TKey="LetterTextShuttleArrived">The shuttle has arrived to collect [asker_nameDef].</text>
|
||||
<label TKey="LetterLabelShuttleArrived">穿梭机已抵达</label>
|
||||
<text TKey="LetterTextShuttleArrived">前来迎接[asker_nameDef]的穿梭机已抵达。</text>
|
||||
<lookTargets>$pickupShipThing</lookTargets>
|
||||
</li>
|
||||
</nodes>
|
||||
@@ -191,9 +191,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelGuestDied">Guest died: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelGuestDied">宾客已死亡:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextGuestDied">{SUBJECT_definite}, who you were charged to protect, has died. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextGuestDied">需要你小心保护的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -210,7 +210,7 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelGuestDied">Guest left behind: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelGuestDied">宾客被遗弃:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextGuestDied">{SUBJECT_definite}, who you were charged to protect, has been left behind. [failLetterEndingCommon]</text>
|
||||
</li>
|
||||
@@ -229,9 +229,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelUnauthorizedSurgery">Unauthorized surgery: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelUnauthorizedSurgery">未授权手术:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextUnauthorizedSurgery">Unauthorized, violating surgery has been performed on {SUBJECT_definite}, who you were charged to protect. Because of this violation, [asker_pronoun] will now attempt to leave. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextUnauthorizedSurgery">需要你小心保护的{SUBJECT_definite}接受了一次未授权的额外手术。因为你违规在先,[asker_pronoun]将要离开此处。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -248,9 +248,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label>Xenogerm absorbed: {SUBJECT_definite}</label>
|
||||
<label>异种胚芽被吸收:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text>{SUBJECT_definite}, who you were charged to protect, has had {SUBJECT_possessive} xenogerm forcibly absorbed. Because of this violation, {SUBJECT_pronoun} will now attempt to leave. [failLetterEndingCommon]</text>
|
||||
<text>指定由你保护的{SUBJECT_definite}在你的殖民地被吸收了异种胚芽。这是一种侵犯行为,{SUBJECT_pronoun}现在将会直接离开[failLetterEndingCommon]。</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -267,9 +267,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelCaptured">Captured: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelCaptured">已被俘:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextCaptured">{SUBJECT_definite}, who you were charged to host, has been arrested. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextCaptured">需要你小心保护的{SUBJECT_definite}已被俘虏。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -286,9 +286,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelGuestLost">Guest lost: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelGuestLost">宾客失踪:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextGuestLost">{SUBJECT_definite}, who you were charged to protect, has left the designated settlement. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextGuestLost">需要你小心保护的{SUBJECT_definite}在你的殖民地失踪了。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -305,9 +305,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelLodgerRanWild">Guest lost: {SUBJECT_definite}</label>
|
||||
<label TKey="LetterLabelLodgerRanWild">宾客失踪:{SUBJECT_definite}</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextLodgerRanWild">{SUBJECT_definite}, who you were charged to protect, has run wild. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextLodgerRanWild">需要你小心保护的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -324,9 +324,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelShuttleDestroyed">Shuttle destroyed</label>
|
||||
<label TKey="LetterLabelShuttleDestroyed">穿梭机被毁</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextShuttleDestroyed">The shuttle sent to collect [asker_nameDef] has been destroyed. [asker_pronoun] will now leave on foot. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextShuttleDestroyed">前来迎接[asker_nameDef]的穿梭机已被毁。[asker_pronoun]现在只能走回去了。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -343,9 +343,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelShuttleDestroyed">Shuttle left behind</label>
|
||||
<label TKey="LetterLabelShuttleDestroyed">穿梭机被遗弃</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextShuttleDestroyed">The shuttle sent to collect [asker_nameDef] has been left behind. [asker_pronoun] will now leave on foot.</text>
|
||||
<text TKey="LetterTextShuttleDestroyed">前来迎接[asker_nameDef]的穿梭机已被遗弃。[asker_pronoun]现在只能走回去了。</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
@@ -390,9 +390,9 @@
|
||||
<node Class="QuestNode_Sequence">
|
||||
<nodes>
|
||||
<li Class="QuestNode_Letter">
|
||||
<label TKey="LetterLabelQuestFailed">Quest failed: [resolvedQuestName]</label>
|
||||
<label TKey="LetterLabelQuestFailed">任务失败:[resolvedQuestName]</label>
|
||||
<letterDef>NegativeEvent</letterDef>
|
||||
<text TKey="LetterTextQuestFailed">The shuttle sent to collect [asker_nameDef] has departed without [asker_objective]. [asker_pronoun] will now leave on foot. [failLetterEndingCommon]</text>
|
||||
<text TKey="LetterTextQuestFailed">前来迎接[asker_nameDef]的穿梭机在离开时因为一些原因落下了[asker_objective]。[asker_pronoun]现在只能走回去了。[failLetterEndingCommon]</text>
|
||||
</li>
|
||||
<li Class="QuestNode_End">
|
||||
<outcome>Fail</outcome>
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
<description>允许殖民地建立信标增加攻击舰队配额,并使得机械乌拉可以调频天线以申请舰队空中支援,包含2艘可以发起轨道炮击的巡洋舰和1艘可以提供航空器支援的航空舰。</description>
|
||||
<baseCost>600</baseCost>
|
||||
<researchViewX>1.00</researchViewX>
|
||||
<researchViewY>4.40</researchViewY>
|
||||
<researchViewY>5.60</researchViewY>
|
||||
<prerequisites>
|
||||
<li>WULA_Colony_License_LV1_Technology</li>
|
||||
</prerequisites>
|
||||
|
||||
@@ -521,10 +521,10 @@
|
||||
<drawGUIOverlay>true</drawGUIOverlay>
|
||||
<!-- <defaultPlacingRot>South</defaultPlacingRot> -->
|
||||
<altitudeLayer>Building</altitudeLayer>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<pathCost>42</pathCost>
|
||||
<passability>Impassable</passability>
|
||||
<blockWind>true</blockWind>
|
||||
<fillPercent>0.5</fillPercent>
|
||||
<fillPercent>1</fillPercent>
|
||||
<blockLight>false</blockLight>
|
||||
<canOverlapZones>false</canOverlapZones>
|
||||
<statBases>
|
||||
<MaxHitPoints>250</MaxHitPoints>
|
||||
@@ -1283,7 +1283,6 @@
|
||||
<ComponentIndustrial>1</ComponentIndustrial>
|
||||
</costList>
|
||||
<altitudeLayer>Building</altitudeLayer>
|
||||
<fillPercent>0.5</fillPercent>
|
||||
<useHitPoints>True</useHitPoints>
|
||||
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
|
||||
<statBases>
|
||||
@@ -1293,8 +1292,10 @@
|
||||
</statBases>
|
||||
<size>(1,1)</size>
|
||||
<uiOrder>2120</uiOrder>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<pathCost>50</pathCost>
|
||||
<passability>Impassable</passability>
|
||||
<blockWind>true</blockWind>
|
||||
<fillPercent>1</fillPercent>
|
||||
<blockLight>false</blockLight>
|
||||
<hasInteractionCell>True</hasInteractionCell>
|
||||
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
|
||||
<surfaceType>Item</surfaceType>
|
||||
@@ -1359,11 +1360,12 @@
|
||||
</damageData>
|
||||
</graphicData>
|
||||
<altitudeLayer>Building</altitudeLayer>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<passability>Impassable</passability>
|
||||
<blockWind>true</blockWind>
|
||||
<fillPercent>1</fillPercent>
|
||||
<blockLight>false</blockLight>
|
||||
<castEdgeShadows>false</castEdgeShadows>
|
||||
<fillPercent>0.5</fillPercent>
|
||||
<canOverlapZones>false</canOverlapZones>
|
||||
<pathCost>0</pathCost>
|
||||
<hasInteractionCell>false</hasInteractionCell>
|
||||
<rotatable>false</rotatable>
|
||||
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
|
||||
|
||||
@@ -665,58 +665,6 @@
|
||||
<thingClass>Thing</thingClass>
|
||||
</ThingDef>
|
||||
|
||||
<!-- 装饰品 -->
|
||||
<ThingDef ParentName="BuildingBase">
|
||||
<defName>WULA_Wall_Flag_Building</defName>
|
||||
<label>P.I.A旗帜</label>
|
||||
<description>乌拉帝国行星封锁机关的旗帜,没什么用但是可以宣示乌拉帝国的主权。</description>
|
||||
<thingClass>Building</thingClass>
|
||||
<category>Building</category>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<designationCategory>WULA_Buildings</designationCategory>
|
||||
<selectable>true</selectable>
|
||||
<fillPercent>0.20</fillPercent>
|
||||
<pathCost>14</pathCost>
|
||||
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
|
||||
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
|
||||
<uiIconPath>Wula/Building/Flag/WULA_Flag_Building_B_north</uiIconPath>
|
||||
<noRightClickDraftAttack>true</noRightClickDraftAttack>
|
||||
<rotatable>true</rotatable>
|
||||
<graphicData>
|
||||
<texPath>Wula/Building/Flag/WULA_Flag_Building_B</texPath>
|
||||
<graphicClass>Graphic_Multi</graphicClass>
|
||||
<drawSize>(0.7,0.75)</drawSize>
|
||||
<drawOffsetNorth>(0,0,0.7)</drawOffsetNorth>
|
||||
<drawOffsetSouth>(0,0,-0.7)</drawOffsetSouth>
|
||||
<drawOffsetWest>(-0.6,0,0.1)</drawOffsetWest>
|
||||
<drawOffsetEast>(0.6,0,0.1)</drawOffsetEast>
|
||||
<damageData>
|
||||
<enabled>false</enabled>
|
||||
</damageData>
|
||||
</graphicData>
|
||||
<altitudeLayer>BuildingOnTop</altitudeLayer>
|
||||
<statBases>
|
||||
<MaxHitPoints>50</MaxHitPoints>
|
||||
<Flammability>1.0</Flammability>
|
||||
<WorkToBuild>330</WorkToBuild>
|
||||
<Mass>2</Mass>
|
||||
</statBases>
|
||||
<uiOrder>2991</uiOrder>
|
||||
<passability>Standable</passability>
|
||||
<terrainAffordanceNeeded IsNull="True" />
|
||||
<pathCost>0</pathCost>
|
||||
<overrideMinifiedRot>North</overrideMinifiedRot>
|
||||
<minifiedDrawOffset>(0, 0, 0.2)</minifiedDrawOffset>
|
||||
<building>
|
||||
<isEdifice>false</isEdifice>
|
||||
<isAttachment>true</isAttachment>
|
||||
</building>
|
||||
<placeWorkers>
|
||||
<li>Placeworker_AttachedToWall</li>
|
||||
</placeWorkers>
|
||||
</ThingDef>
|
||||
|
||||
<!-- 装饰品 -->
|
||||
<ThingDef ParentName="BuildingBase">
|
||||
<defName>WULA_Sky_Lock</defName>
|
||||
<label>天锁</label>
|
||||
|
||||
@@ -135,11 +135,12 @@
|
||||
</shadowData>
|
||||
</graphicData>
|
||||
<altitudeLayer>Building</altitudeLayer>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<passability>Impassable</passability>
|
||||
<blockWind>true</blockWind>
|
||||
<fillPercent>1</fillPercent>
|
||||
<blockLight>false</blockLight>
|
||||
<castEdgeShadows>false</castEdgeShadows>
|
||||
<fillPercent>0.5</fillPercent>
|
||||
<canOverlapZones>false</canOverlapZones>
|
||||
<pathCost>42</pathCost>
|
||||
<hasInteractionCell>false</hasInteractionCell>
|
||||
<!-- <interactionCellOffset>(0,0,-2)</interactionCellOffset> -->
|
||||
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
|
||||
@@ -217,7 +218,7 @@
|
||||
<requiredCapacity>6</requiredCapacity>
|
||||
<gizmoLabel>转换为BUk-1"地堡猫猫"</gizmoLabel>
|
||||
<gizmoDesc>让地堡中的两只乌拉猫猫继续操纵地堡中的机枪,剩下的乌拉猫猫抬着地堡移动——虽然很难相信但是事实就是这样的。</gizmoDesc>
|
||||
<gizmoIconPath>Wula/UI/Commands/WULA_TransformToPawn</gizmoIconPath>
|
||||
<gizmoIconPath>Wula/UI/Commands/WULA_BunkerCat</gizmoIconPath>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
@@ -406,9 +407,10 @@
|
||||
</costList>
|
||||
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
|
||||
<tickerType>Normal</tickerType>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<pathCost>50</pathCost>
|
||||
<fillPercent>0.5</fillPercent>
|
||||
<passability>Impassable</passability>
|
||||
<blockWind>true</blockWind>
|
||||
<fillPercent>1</fillPercent>
|
||||
<blockLight>false</blockLight>
|
||||
<hasTooltip>true</hasTooltip>
|
||||
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
|
||||
<building>
|
||||
@@ -683,9 +685,10 @@
|
||||
</costList>
|
||||
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
|
||||
<tickerType>Normal</tickerType>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<pathCost>50</pathCost>
|
||||
<fillPercent>0.5</fillPercent>
|
||||
<passability>Impassable</passability>
|
||||
<blockWind>true</blockWind>
|
||||
<fillPercent>1</fillPercent>
|
||||
<blockLight>false</blockLight>
|
||||
<hasTooltip>true</hasTooltip>
|
||||
<building>
|
||||
<combatPower>640</combatPower>
|
||||
@@ -960,9 +963,10 @@
|
||||
</costList>
|
||||
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
|
||||
<tickerType>Normal</tickerType>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<pathCost>50</pathCost>
|
||||
<fillPercent>0.5</fillPercent>
|
||||
<passability>Impassable</passability>
|
||||
<blockWind>true</blockWind>
|
||||
<fillPercent>1</fillPercent>
|
||||
<blockLight>false</blockLight>
|
||||
<hasTooltip>true</hasTooltip>
|
||||
<building>
|
||||
<combatPower>450</combatPower>
|
||||
@@ -1090,4 +1094,292 @@
|
||||
</li>
|
||||
</modExtensions>
|
||||
</ThingDef>
|
||||
|
||||
<!-- 旗帜 -->
|
||||
<ThingDef ParentName="BuildingBase">
|
||||
<defName>WULA_Wall_Flag_Building</defName>
|
||||
<label>P.I.A旗帜</label>
|
||||
<description>乌拉帝国行星封锁机关的旗帜,没什么用但是可以宣示乌拉帝国的主权。</description>
|
||||
<thingClass>Building</thingClass>
|
||||
<category>Building</category>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<designationCategory>WULA_Buildings</designationCategory>
|
||||
<selectable>true</selectable>
|
||||
<fillPercent>0.20</fillPercent>
|
||||
<pathCost>14</pathCost>
|
||||
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
|
||||
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
|
||||
<uiIconPath>Wula/Building/Flag/WULA_Flag_Building_B_north</uiIconPath>
|
||||
<noRightClickDraftAttack>true</noRightClickDraftAttack>
|
||||
<rotatable>true</rotatable>
|
||||
<graphicData>
|
||||
<texPath>Wula/Building/Flag/WULA_Flag_Building_B</texPath>
|
||||
<graphicClass>Graphic_Multi</graphicClass>
|
||||
<drawSize>(0.7,0.75)</drawSize>
|
||||
<drawOffsetNorth>(0,0,0.7)</drawOffsetNorth>
|
||||
<drawOffsetSouth>(0,0,-0.7)</drawOffsetSouth>
|
||||
<drawOffsetWest>(-0.6,0,0.1)</drawOffsetWest>
|
||||
<drawOffsetEast>(0.6,0,0.1)</drawOffsetEast>
|
||||
<damageData>
|
||||
<enabled>false</enabled>
|
||||
</damageData>
|
||||
</graphicData>
|
||||
<altitudeLayer>BuildingOnTop</altitudeLayer>
|
||||
<statBases>
|
||||
<MaxHitPoints>50</MaxHitPoints>
|
||||
<Flammability>1.0</Flammability>
|
||||
<WorkToBuild>330</WorkToBuild>
|
||||
<Mass>2</Mass>
|
||||
</statBases>
|
||||
<uiOrder>2991</uiOrder>
|
||||
<passability>Standable</passability>
|
||||
<terrainAffordanceNeeded IsNull="True" />
|
||||
<pathCost>0</pathCost>
|
||||
<overrideMinifiedRot>North</overrideMinifiedRot>
|
||||
<minifiedDrawOffset>(0, 0, 0.2)</minifiedDrawOffset>
|
||||
<building>
|
||||
<isEdifice>false</isEdifice>
|
||||
<isAttachment>true</isAttachment>
|
||||
</building>
|
||||
<placeWorkers>
|
||||
<li>Placeworker_AttachedToWall</li>
|
||||
</placeWorkers>
|
||||
</ThingDef>
|
||||
<ThingDef Name="WULA_Holographic_Flag_Skyfaller" ParentName="SkyfallerBase">
|
||||
<defName>WULA_Holographic_Flag_Building_Skyfaller</defName>
|
||||
<label>P.I.A全息旗帜(落地中)</label>
|
||||
<size>(1,1)</size>
|
||||
<graphicData>
|
||||
<texPath>Wula/Building/Flag/WULA_Flag_Building_Mount_Incoming</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<shaderType>MoteGlow</shaderType>
|
||||
<drawSize>(1,1)</drawSize>
|
||||
<damageData>
|
||||
<enabled>false</enabled>
|
||||
</damageData>
|
||||
</graphicData>
|
||||
<skyfaller>
|
||||
<movementType>Accelerate</movementType>
|
||||
<shadow>Things/Skyfaller/SkyfallerShadowDropPod</shadow>
|
||||
<shadowSize>(0, 0)</shadowSize>
|
||||
<anticipationSound>DropPod_Fall</anticipationSound>
|
||||
<anticipationSoundTicks>100</anticipationSoundTicks>
|
||||
<impactSound>Explosion_Vaporize</impactSound>
|
||||
<moteSpawnTime>0.05</moteSpawnTime>
|
||||
<motesPerCell>1</motesPerCell>
|
||||
<cameraShake>1</cameraShake>
|
||||
<angleCurve>
|
||||
<points>
|
||||
<li>(0,0)</li>
|
||||
<li>(1, 1)</li>
|
||||
</points>
|
||||
</angleCurve>
|
||||
<spawnThing>WULA_Holographic_Flag_Building</spawnThing>
|
||||
</skyfaller>
|
||||
<comps>
|
||||
<li Class="CompProperties_Effecter">
|
||||
<effecterDef>Smoke_Joint</effecterDef>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef Name="WULA_Holographic_Flag_Building" ParentName="BuildingBase">
|
||||
<defName>WULA_Holographic_Flag_Building</defName>
|
||||
<label>P.I.A全息旗帜</label>
|
||||
<description>乌拉帝国行星封锁机关的全息旗帜投影,能激励附近的乌拉星人更加凶狠地战斗。这台投影仪的底座附带了一个拒止护盾,可以反射大部分的敌方射弹,己方的开火不受影响。</description>
|
||||
<thingClass>WulaFallenEmpire.Building_ExtraGraphics</thingClass>
|
||||
<preventDroppingThingsOn>true</preventDroppingThingsOn>
|
||||
<altitudeLayer>Building</altitudeLayer>
|
||||
<pathCost>50</pathCost>
|
||||
<blockWind>true</blockWind>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<fillPercent>1</fillPercent>
|
||||
<size>(1,1)</size>
|
||||
<drawHighlight>true</drawHighlight>
|
||||
<tradeability>None</tradeability>
|
||||
<highlightColor>(0.56, 0.62, 0.9)</highlightColor>
|
||||
<uiIconPath>Wula/Building/Flag/WULA_Flag_Building_A</uiIconPath>
|
||||
<rotatable>false</rotatable>
|
||||
<graphicData>
|
||||
<texPath>Wula/Building/Flag/WULA_Flag_Building_Mount</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>(1,1)</drawSize>
|
||||
</graphicData>
|
||||
<costList>
|
||||
<WULA_Alloy>4</WULA_Alloy>
|
||||
</costList>
|
||||
<statBases>
|
||||
<MaxHitPoints>50</MaxHitPoints>
|
||||
<Flammability>0.5</Flammability>
|
||||
<WorkToBuild>1000</WorkToBuild>
|
||||
<Mass>5</Mass>
|
||||
</statBases>
|
||||
<tickerType>Normal</tickerType>
|
||||
<canOverlapZones>true</canOverlapZones>
|
||||
<hasInteractionCell>false</hasInteractionCell>
|
||||
<defaultPlacingRot>North</defaultPlacingRot>
|
||||
<selectable>true</selectable>
|
||||
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
|
||||
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
|
||||
<preventSkyfallersLandingOn>true</preventSkyfallersLandingOn>
|
||||
<drawerType>RealtimeOnly</drawerType>
|
||||
<repairEffect>ConstructMetal</repairEffect>
|
||||
<forceDebugSpawnable>true</forceDebugSpawnable>
|
||||
<!-- <designationCategory>WULA_Buildings</designationCategory> -->
|
||||
<building>
|
||||
<expandHomeArea>false</expandHomeArea>
|
||||
<destroySound>BuildingDestroyed_Metal_Big</destroySound>
|
||||
<paintable>true</paintable>
|
||||
<isInert>true</isInert>
|
||||
</building>
|
||||
<modExtensions>
|
||||
<li Class="WulaFallenEmpire.ExtraGraphicsExtension">
|
||||
<globalHoverSpeed>0</globalHoverSpeed>
|
||||
<globalHoverIntensity>0</globalHoverIntensity>
|
||||
|
||||
<graphicLayers>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_A</texturePath>
|
||||
<shaderName>MoteGlow</shaderName>
|
||||
<scale>(3,3)</scale>
|
||||
<drawOrder>0</drawOrder>
|
||||
<offset>(0,1,2)</offset>
|
||||
<hoverSpeed>1.5</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0.2</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_Mount</texturePath>
|
||||
<shaderName>Transparent</shaderName>
|
||||
<scale>(1,1)</scale>
|
||||
<drawOrder>1</drawOrder>
|
||||
<offset>(0,1,0)</offset>
|
||||
<hoverSpeed>0</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
</graphicLayers>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AreaShield">
|
||||
<radius>12</radius>
|
||||
<baseHitPoints>200</baseHitPoints>
|
||||
<rechargeDelay>2400</rechargeDelay>
|
||||
<rechargeHitPointsIntervalTicks>30</rechargeHitPointsIntervalTicks>
|
||||
|
||||
<!-- 效果器配置 -->
|
||||
<absorbEffecter>Interceptor_BlockedProjectile</absorbEffecter>
|
||||
<interceptEffecter>Interceptor_BlockedProjectile</interceptEffecter>
|
||||
<breakEffecter>Shield_Break</breakEffecter>
|
||||
<reactivateEffecter>BulletShieldGenerator_Reactivate</reactivateEffecter>
|
||||
|
||||
<color>(0.9, 0.2, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
|
||||
|
||||
<!-- 拦截设置 -->
|
||||
<interceptGroundProjectiles>true</interceptGroundProjectiles>
|
||||
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles>
|
||||
<interceptAirProjectiles>true</interceptAirProjectiles>
|
||||
|
||||
<!-- 反射设置 -->
|
||||
<canReflect>true</canReflect>
|
||||
<reflectChance>0.5</reflectChance>
|
||||
<reflectAngleRange>30</reflectAngleRange>
|
||||
<reflectCost>0</reflectCost>
|
||||
<reflectEffecter>Interceptor_BlockedProjectile</reflectEffecter>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_GiveHediffsInRange">
|
||||
<range>15</range>
|
||||
<hediff>Wula_Holographic_Flag_Hediff</hediff>
|
||||
<initialSeverity>0.5</initialSeverity>
|
||||
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
|
||||
<checkIntervalTicks>120</checkIntervalTicks>
|
||||
<hediffDurationTicks>125</hediffDurationTicks>
|
||||
<allowedRaces>
|
||||
<li>WulaSpecies</li>
|
||||
</allowedRaces>
|
||||
<affectAllies>true</affectAllies>
|
||||
<affectEnemies>false</affectEnemies>
|
||||
<affectNeutrals>false</affectNeutrals>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_FactionSetter">
|
||||
<!-- <factionDef>Mechanoid</factionDef> 不写默认玩家派系-->
|
||||
<usePlayerFactionIfNull>true</usePlayerFactionIfNull>
|
||||
<overrideExistingFaction>false</overrideExistingFaction>
|
||||
</li>
|
||||
<li Class="CompProperties_Glower">
|
||||
<glowRadius>3</glowRadius>
|
||||
<glowColor>(120,240,252,0)</glowColor>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="WULA_Holographic_Flag_Skyfaller">
|
||||
<defName>WULA_Support_AreaTeleporter_Skyfaller</defName>
|
||||
<label>P.I.A全息旗帜附区域传送器(落地中)</label>
|
||||
<skyfaller>
|
||||
<spawnThing>WULA_Support_AreaTeleporter</spawnThing>
|
||||
</skyfaller>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="WULA_Holographic_Flag_Building">
|
||||
<defName>WULA_Support_AreaTeleporter</defName>
|
||||
<label>P.I.A全息旗帜附区域传送器</label>
|
||||
<description>乌拉帝国行星封锁机关的全息旗帜,除了宣誓主权外,也能激励附近的乌拉星人更加凶狠地战斗。这面旗帜的底座附带了一个区域传送器,可以使得机械乌拉在旗帜区域内传送。\n\n在工作一段时间后,该系统将自行烧毁。</description>
|
||||
|
||||
<modExtensions Inherit="False">
|
||||
<li Class="WulaFallenEmpire.ExtraGraphicsExtension">
|
||||
<globalHoverSpeed>0</globalHoverSpeed>
|
||||
<globalHoverIntensity>0</globalHoverIntensity>
|
||||
|
||||
<graphicLayers>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_C</texturePath>
|
||||
<shaderName>MoteGlow</shaderName>
|
||||
<scale>(3,3)</scale>
|
||||
<drawOrder>0</drawOrder>
|
||||
<offset>(0,1,2)</offset>
|
||||
<hoverSpeed>1.5</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0.2</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_Mount</texturePath>
|
||||
<shaderName>Transparent</shaderName>
|
||||
<scale>(1,1)</scale>
|
||||
<drawOrder>1</drawOrder>
|
||||
<offset>(0,1,0)</offset>
|
||||
<hoverSpeed>0</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
</graphicLayers>
|
||||
</li>
|
||||
</modExtensions>
|
||||
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_CustomRadius">
|
||||
<radius>20</radius> <!-- 半径大小 -->
|
||||
<color>(1, 1, 1)</color> <!-- 绿色圆圈 -->
|
||||
<radiusOffset>0</radiusOffset> <!-- 半径偏移 -->
|
||||
<showInGUI>true</showInGUI>
|
||||
<label>传送范围</label>
|
||||
<description>区域传送器提供的传送范围</description>
|
||||
<defaultVisible>true</defaultVisible>
|
||||
</li>
|
||||
<li Class="CompProperties_Lifespan">
|
||||
<lifespanTicks>3600</lifespanTicks>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AreaTeleporter">
|
||||
<teleportRadius>20</teleportRadius>
|
||||
<stunTicks>60</stunTicks>
|
||||
|
||||
<allowedRaces>
|
||||
<li>WulaSpecies</li>
|
||||
</allowedRaces>
|
||||
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
|
||||
|
||||
<entryEffecter>Skip_Entry</entryEffecter>
|
||||
<exitEffecter>Skip_Exit</exitEffecter>
|
||||
<teleportSound>Psycast_Skip_Entry</teleportSound>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
|
||||
@@ -2176,290 +2176,4 @@
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef Name="WULA_Holographic_Flag_Skyfaller" ParentName="SkyfallerBase">
|
||||
<defName>WULA_Holographic_Flag_Building_Skyfaller</defName>
|
||||
<label>P.I.A全息旗帜(落地中)</label>
|
||||
<size>(1,1)</size>
|
||||
<graphicData>
|
||||
<texPath>Wula/Building/Flag/WULA_Flag_Building_Mount_Incoming</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<shaderType>MoteGlow</shaderType>
|
||||
<drawSize>(1,1)</drawSize>
|
||||
<damageData>
|
||||
<enabled>false</enabled>
|
||||
</damageData>
|
||||
</graphicData>
|
||||
<skyfaller>
|
||||
<movementType>Accelerate</movementType>
|
||||
<shadow>Things/Skyfaller/SkyfallerShadowDropPod</shadow>
|
||||
<shadowSize>(0, 0)</shadowSize>
|
||||
<anticipationSound>DropPod_Fall</anticipationSound>
|
||||
<anticipationSoundTicks>100</anticipationSoundTicks>
|
||||
<impactSound>Explosion_Vaporize</impactSound>
|
||||
<moteSpawnTime>0.05</moteSpawnTime>
|
||||
<motesPerCell>1</motesPerCell>
|
||||
<cameraShake>1</cameraShake>
|
||||
<angleCurve>
|
||||
<points>
|
||||
<li>(0,0)</li>
|
||||
<li>(1, 1)</li>
|
||||
</points>
|
||||
</angleCurve>
|
||||
<spawnThing>WULA_Holographic_Flag_Building</spawnThing>
|
||||
</skyfaller>
|
||||
<comps>
|
||||
<li Class="CompProperties_Effecter">
|
||||
<effecterDef>Smoke_Joint</effecterDef>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef Name="WULA_Holographic_Flag_Building" ParentName="BuildingBase">
|
||||
<defName>WULA_Holographic_Flag_Building</defName>
|
||||
<label>P.I.A全息旗帜</label>
|
||||
<description>乌拉帝国行星封锁机关的全息旗帜,除了宣誓主权外,也能激励附近的乌拉星人更加凶狠地战斗。</description>
|
||||
<thingClass>WulaFallenEmpire.Building_ExtraGraphics</thingClass>
|
||||
<preventDroppingThingsOn>true</preventDroppingThingsOn>
|
||||
<altitudeLayer>Building</altitudeLayer>
|
||||
<pathCost>50</pathCost>
|
||||
<blockWind>true</blockWind>
|
||||
<passability>PassThroughOnly</passability>
|
||||
<fillPercent>1</fillPercent>
|
||||
<size>(1,1)</size>
|
||||
<drawHighlight>true</drawHighlight>
|
||||
<tradeability>None</tradeability>
|
||||
<highlightColor>(0.56, 0.62, 0.9)</highlightColor>
|
||||
<uiIconPath>Wula/Building/Flag/WULA_Flag_Building_A</uiIconPath>
|
||||
<rotatable>false</rotatable>
|
||||
<graphicData>
|
||||
<texPath>Wula/Building/Flag/WULA_Flag_Building_Mount</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>(1,1)</drawSize>
|
||||
</graphicData>
|
||||
<costList>
|
||||
<Steel>1</Steel>
|
||||
</costList>
|
||||
<statBases>
|
||||
<MaxHitPoints>50</MaxHitPoints>
|
||||
<Flammability>0.5</Flammability>
|
||||
<WorkToBuild>1000</WorkToBuild>
|
||||
<Mass>5</Mass>
|
||||
</statBases>
|
||||
<tickerType>Normal</tickerType>
|
||||
<canOverlapZones>true</canOverlapZones>
|
||||
<hasInteractionCell>false</hasInteractionCell>
|
||||
<defaultPlacingRot>North</defaultPlacingRot>
|
||||
<selectable>true</selectable>
|
||||
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
|
||||
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
|
||||
<preventSkyfallersLandingOn>true</preventSkyfallersLandingOn>
|
||||
<drawerType>RealtimeOnly</drawerType>
|
||||
<repairEffect>ConstructMetal</repairEffect>
|
||||
<forceDebugSpawnable>true</forceDebugSpawnable>
|
||||
<!-- <designationCategory>WULA_Buildings</designationCategory> -->
|
||||
<building>
|
||||
<expandHomeArea>false</expandHomeArea>
|
||||
<destroySound>BuildingDestroyed_Metal_Big</destroySound>
|
||||
<paintable>true</paintable>
|
||||
<isInert>true</isInert>
|
||||
</building>
|
||||
<modExtensions>
|
||||
<li Class="WulaFallenEmpire.ExtraGraphicsExtension">
|
||||
<globalHoverSpeed>0</globalHoverSpeed>
|
||||
<globalHoverIntensity>0</globalHoverIntensity>
|
||||
|
||||
<graphicLayers>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_A</texturePath>
|
||||
<shaderName>MoteGlow</shaderName>
|
||||
<scale>(3,3)</scale>
|
||||
<drawOrder>0</drawOrder>
|
||||
<offset>(0,1,2)</offset>
|
||||
<hoverSpeed>1.5</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0.2</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_Mount</texturePath>
|
||||
<shaderName>Transparent</shaderName>
|
||||
<scale>(1,1)</scale>
|
||||
<drawOrder>1</drawOrder>
|
||||
<offset>(0,1,0)</offset>
|
||||
<hoverSpeed>0</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
</graphicLayers>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_GiveHediffsInRange">
|
||||
<range>15</range>
|
||||
<hediff>Wula_Holographic_Flag_Hediff</hediff>
|
||||
<initialSeverity>0.5</initialSeverity>
|
||||
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
|
||||
<checkIntervalTicks>120</checkIntervalTicks>
|
||||
<hediffDurationTicks>125</hediffDurationTicks>
|
||||
<allowedRaces>
|
||||
<li>WulaSpecies</li>
|
||||
</allowedRaces>
|
||||
<affectAllies>true</affectAllies>
|
||||
<affectEnemies>false</affectEnemies>
|
||||
<affectNeutrals>false</affectNeutrals>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_FactionSetter">
|
||||
<!-- <factionDef>Mechanoid</factionDef> 不写默认玩家派系-->
|
||||
<usePlayerFactionIfNull>true</usePlayerFactionIfNull>
|
||||
<overrideExistingFaction>false</overrideExistingFaction>
|
||||
</li>
|
||||
<li Class="CompProperties_Glower">
|
||||
<glowRadius>3</glowRadius>
|
||||
<glowColor>(120,240,252,0)</glowColor>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="WULA_Holographic_Flag_Skyfaller">
|
||||
<defName>WULA_Support_Shield_Projection_Skyfaller</defName>
|
||||
<label>P.I.A全息旗帜附拒止护盾(落地中)</label>
|
||||
<skyfaller>
|
||||
<spawnThing>WULA_Support_Shield</spawnThing>
|
||||
</skyfaller>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="WULA_Holographic_Flag_Building">
|
||||
<defName>WULA_Support_Shield</defName>
|
||||
<label>P.I.A全息旗帜附拒止护盾</label>
|
||||
<description>乌拉帝国行星封锁机关的全息旗帜,除了宣誓主权外,也能激励附近的乌拉星人更加凶狠地战斗。这面旗帜的底座附带了一个大型拒止护盾,可以反射所有的敌方射弹,己方的开火不受影响。\n\n在工作一段时间后,该系统将自行烧毁。</description>
|
||||
|
||||
<modExtensions Inherit="False">
|
||||
<li Class="WulaFallenEmpire.ExtraGraphicsExtension">
|
||||
<globalHoverSpeed>0</globalHoverSpeed>
|
||||
<globalHoverIntensity>0</globalHoverIntensity>
|
||||
|
||||
<graphicLayers>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_B</texturePath>
|
||||
<shaderName>MoteGlow</shaderName>
|
||||
<scale>(3,3)</scale>
|
||||
<drawOrder>0</drawOrder>
|
||||
<offset>(0,1,2)</offset>
|
||||
<hoverSpeed>1.5</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0.2</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_Mount</texturePath>
|
||||
<shaderName>Transparent</shaderName>
|
||||
<scale>(1,1)</scale>
|
||||
<drawOrder>1</drawOrder>
|
||||
<offset>(0,1,0)</offset>
|
||||
<hoverSpeed>0</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
</graphicLayers>
|
||||
</li>
|
||||
</modExtensions>
|
||||
|
||||
<comps>
|
||||
<li Class="CompProperties_Lifespan">
|
||||
<lifespanTicks>3600</lifespanTicks>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AreaShield">
|
||||
<radius>12</radius>
|
||||
<baseHitPoints>150000</baseHitPoints>
|
||||
<rechargeDelay>2400</rechargeDelay>
|
||||
<rechargeHitPointsIntervalTicks>30</rechargeHitPointsIntervalTicks>
|
||||
|
||||
<!-- 效果器配置 -->
|
||||
<absorbEffecter>Interceptor_BlockedProjectile</absorbEffecter>
|
||||
<interceptEffecter>Interceptor_BlockedProjectile</interceptEffecter>
|
||||
<breakEffecter>Shield_Break</breakEffecter>
|
||||
<reactivateEffecter>BulletShieldGenerator_Reactivate</reactivateEffecter>
|
||||
|
||||
<color>(0.9, 0.2, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
|
||||
|
||||
<!-- 拦截设置 -->
|
||||
<interceptGroundProjectiles>true</interceptGroundProjectiles>
|
||||
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles>
|
||||
<interceptAirProjectiles>true</interceptAirProjectiles>
|
||||
|
||||
<!-- 反射设置 -->
|
||||
<canReflect>true</canReflect>
|
||||
<reflectChance>1</reflectChance>
|
||||
<reflectAngleRange>30</reflectAngleRange>
|
||||
<reflectCost>0</reflectCost>
|
||||
<reflectEffecter>Interceptor_BlockedProjectile</reflectEffecter>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="WULA_Holographic_Flag_Skyfaller">
|
||||
<defName>WULA_Support_AreaTeleporter_Skyfaller</defName>
|
||||
<label>P.I.A全息旗帜附区域传送器(落地中)</label>
|
||||
<skyfaller>
|
||||
<spawnThing>WULA_Support_AreaTeleporter</spawnThing>
|
||||
</skyfaller>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="WULA_Holographic_Flag_Building">
|
||||
<defName>WULA_Support_AreaTeleporter</defName>
|
||||
<label>P.I.A全息旗帜附区域传送器</label>
|
||||
<description>乌拉帝国行星封锁机关的全息旗帜,除了宣誓主权外,也能激励附近的乌拉星人更加凶狠地战斗。这面旗帜的底座附带了一个区域传送器,可以使得机械乌拉在旗帜区域内传送。\n\n在工作一段时间后,该系统将自行烧毁。</description>
|
||||
|
||||
<modExtensions Inherit="False">
|
||||
<li Class="WulaFallenEmpire.ExtraGraphicsExtension">
|
||||
<globalHoverSpeed>0</globalHoverSpeed>
|
||||
<globalHoverIntensity>0</globalHoverIntensity>
|
||||
|
||||
<graphicLayers>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_C</texturePath>
|
||||
<shaderName>MoteGlow</shaderName>
|
||||
<scale>(3,3)</scale>
|
||||
<drawOrder>0</drawOrder>
|
||||
<offset>(0,1,2)</offset>
|
||||
<hoverSpeed>1.5</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0.2</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
<li>
|
||||
<texturePath>Wula/Building/Flag/WULA_Flag_Building_Mount</texturePath>
|
||||
<shaderName>Transparent</shaderName>
|
||||
<scale>(1,1)</scale>
|
||||
<drawOrder>1</drawOrder>
|
||||
<offset>(0,1,0)</offset>
|
||||
<hoverSpeed>0</hoverSpeed> <!-- 比全局慢 -->
|
||||
<hoverIntensity>0</hoverIntensity> <!-- 比全局弱 -->
|
||||
<hoverPhase>0</hoverPhase>
|
||||
</li>
|
||||
</graphicLayers>
|
||||
</li>
|
||||
</modExtensions>
|
||||
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_CustomRadius">
|
||||
<radius>20</radius> <!-- 半径大小 -->
|
||||
<color>(1, 1, 1)</color> <!-- 绿色圆圈 -->
|
||||
<radiusOffset>0</radiusOffset> <!-- 半径偏移 -->
|
||||
<showInGUI>true</showInGUI>
|
||||
<label>传送范围</label>
|
||||
<description>区域传送器提供的传送范围</description>
|
||||
<defaultVisible>true</defaultVisible>
|
||||
</li>
|
||||
<li Class="CompProperties_Lifespan">
|
||||
<lifespanTicks>3600</lifespanTicks>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AreaTeleporter">
|
||||
<teleportRadius>20</teleportRadius>
|
||||
<stunTicks>60</stunTicks>
|
||||
|
||||
<allowedRaces>
|
||||
<li>WulaSpecies</li>
|
||||
</allowedRaces>
|
||||
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
|
||||
|
||||
<entryEffecter>Skip_Entry</entryEffecter>
|
||||
<exitEffecter>Skip_Exit</exitEffecter>
|
||||
<teleportSound>Psycast_Skip_Entry</teleportSound>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
@@ -1132,7 +1132,7 @@
|
||||
<targetBuildingDef>WULA_Cat_Bunker</targetBuildingDef>
|
||||
<gizmoLabel>部署为乌拉猫猫地堡</gizmoLabel>
|
||||
<gizmoDesc>乌拉猫猫们把地堡扔在地上然后钻进去,重新转变为建筑。每一次转变为建筑后,都会有24小时的冷却时间,在此期间不允许重新变为BUk-1"地堡猫猫"。</gizmoDesc>
|
||||
<gizmoIconPath>Wula/UI/Commands/WULA_TransformToBuilding</gizmoIconPath>
|
||||
<gizmoIconPath>Wula/UI/Commands/WULA_BunkerCat</gizmoIconPath>
|
||||
</li>
|
||||
</comps>
|
||||
</AlienRace.ThingDef_AlienRace>
|
||||
@@ -1699,6 +1699,21 @@
|
||||
<toggleDescription>MFm-2"陆行舰"可以将舰身稍微下沉一些并创造低压区,以碾压靠近的敌军——这同时会使得它伤害附近所有的散落物品。</toggleDescription>
|
||||
<toggleIconPath>Wula/UI/Commands/Wula_Mech_Mobile_Factory_AreaDamage</toggleIconPath>
|
||||
</li>
|
||||
|
||||
|
||||
<li Class="WulaFallenEmpire.CompProperties_AreaTeleporter">
|
||||
<teleportRadius>20</teleportRadius>
|
||||
<stunTicks>60</stunTicks>
|
||||
|
||||
<allowedRaces>
|
||||
<li>WulaSpecies</li>
|
||||
</allowedRaces>
|
||||
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
|
||||
|
||||
<entryEffecter>Skip_Entry</entryEffecter>
|
||||
<exitEffecter>Skip_Exit</exitEffecter>
|
||||
<teleportSound>Psycast_Skip_Entry</teleportSound>
|
||||
</li>
|
||||
</comps>
|
||||
</AlienRace.ThingDef_AlienRace>
|
||||
<ThingDef ParentName="BaseMechanoidWalker">
|
||||
|
||||
@@ -6,33 +6,4 @@
|
||||
<WULA_Colony_Promotion.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->殖民地已经承接了视察任务。\n\n行星封锁机关的总控AI已经派遣了自己的一个分体和护卫队抵达殖民地。考察持续12天,她会检查殖民地方方面面的运转情况,你需要确保其心情始终高于25%。考察完成后,她和卫队会搭乘穿梭机离开,如果一切顺利你们将获得殖民地晋升的机会,以解锁更多的许可科技。\n\n小心,附近的敌对派系已经知道了殖民地来了一个大人物,这些劫掠者会尝试袭击殖民地并抓住这个分体,你可能需要面对大量袭击!</li>
|
||||
</WULA_Colony_Promotion.questDescriptionRules.rulesStrings>
|
||||
<WULA_Colony_Promotion.LetterLabelFactionBecameHostile.slateRef>任务失败:[resolvedQuestName]</WULA_Colony_Promotion.LetterLabelFactionBecameHostile.slateRef>
|
||||
|
||||
<WULA_Colony_Promotion.InspectStringDepartShuttle.slateRef>应该乘坐穿梭机离开</WULA_Colony_Promotion.InspectStringDepartShuttle.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextFactionBecameHostile.slateRef>[faction_name]开始敌视你。</WULA_Colony_Promotion.LetterTextFactionBecameHostile.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelShuttleDestroyed.slateRef>穿梭机被破坏</WULA_Colony_Promotion.LetterLabelShuttleDestroyed.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextShuttleDestroyed.slateRef>被派遣来运输[asker_nameDef]的穿梭机已被破坏。</WULA_Colony_Promotion.LetterTextShuttleDestroyed.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelAskerArrived.slateRef>[asker_nameDef]已抵达</WULA_Colony_Promotion.LetterLabelAskerArrived.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextAskerArrived.slateRef>[asker_nameDef]的分体和她的卫队已经抵达殖民地。\n\n你必须在穿梭机抵达前[shuttleDelayTicks_duration]内为[asker_objective]提供护卫并且满足[asker_possessive]各种需求。</WULA_Colony_Promotion.LetterTextAskerArrived.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelGuestDied.slateRef>宾客{SUBJECT_definite}死亡。</WULA_Colony_Promotion.LetterLabelGuestDied.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextGuestDied.slateRef>需要你护卫的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextGuestDied.slateRef>
|
||||
|
||||
<WULA_Colony_Promotion.LetterLabelShuttleArrived.slateRef>穿梭机已抵达</WULA_Colony_Promotion.LetterLabelShuttleArrived.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextShuttleArrived.slateRef>穿梭机已经前来迎接[asker_nameDef]。</WULA_Colony_Promotion.LetterTextShuttleArrived.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelSubjectUnhappy.slateRef>{SUBJECT_bestRoyalTitle}情绪低落</WULA_Colony_Promotion.LetterLabelSubjectUnhappy.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextSubjectUnhappy.slateRef>需要你护卫和满足需求的{SUBJECT_definite},其情绪值已经长时间低于最低限度[lodgersMoodThreshold]。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextSubjectUnhappy.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelGuestCaptured.slateRef>宾客{SUBJECT_definite}被俘。</WULA_Colony_Promotion.LetterLabelGuestCaptured.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextGuestCaptured.slateRef>需要你护卫的{SUBJECT_definite}已经被俘虏。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextGuestCaptured.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelUnauthorizedSurgery.slateRef>未授权手术:{SUBJECT_definite}</WULA_Colony_Promotion.LetterLabelUnauthorizedSurgery.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextUnauthorizedSurgery.slateRef>需要你护卫的{SUBJECT_definite}接受了一场未授权的多余手术。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextUnauthorizedSurgery.slateRef>
|
||||
<WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.label.slateRef>异种胚芽被吸收</WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.label.slateRef>
|
||||
<WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.text.slateRef>指定由你保护的{SUBJECT_definite}在你的殖民地被吸收了异种胚芽。[failLetterEndingCommon]</WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.text.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelGuestLost.slateRef>宾客失踪:{SUBJECT_definite}</WULA_Colony_Promotion.LetterLabelGuestLost.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextGuestLost.slateRef>需要你护卫的{SUBJECT_definite}失踪在你的殖民地。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextGuestLost.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelShuttleDestroyed.slateRef>穿梭机已被毁</WULA_Colony_Promotion.LetterLabelShuttleDestroyed.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextShuttleDestroyed.slateRef>前来迎接[asker_faction_leaderTitle]的穿梭机被摧毁了。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextShuttleDestroyed.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelLodgerRanWild.slateRef>宾客失踪:{SUBJECT_definite}</WULA_Colony_Promotion.LetterLabelLodgerRanWild.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextLodgerRanWild.slateRef>需要你护卫的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextLodgerRanWild.slateRef>
|
||||
<WULA_Colony_Promotion.LetterLabelShuttleSentUnsatisfied.slateRef>任务失败:[resolvedQuestName]</WULA_Colony_Promotion.LetterLabelShuttleSentUnsatisfied.slateRef>
|
||||
<WULA_Colony_Promotion.LetterTextShuttleSentUnsatisfied.slateRef>前来迎接[asker_faction_leaderTitle]的穿梭机没有接到[asker_objective]。[asker_pronoun]现在只能走回去。[failLetterEndingCommon]</WULA_Colony_Promotion.LetterTextShuttleSentUnsatisfied.slateRef>
|
||||
</LanguageData>
|
||||
@@ -6,30 +6,5 @@
|
||||
<WULA_Intro_Spy.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个请求。一位乌拉帝国密探已经暴露,正在遭受其他派系追杀——密探手无寸铁且携带重要信息,殖民地需要掩护它直到乌拉帝国的穿梭机抵达并将其接走。虽然对方未透露更多信息,不过她指明袭击不会太剧烈,密探已经甩掉了大部分敌人。</li>
|
||||
</WULA_Intro_Spy.questDescriptionRules.rulesStrings>
|
||||
<WULA_Intro_Spy.LetterLabelChasing.slateRef>{BASELABEL} 追捕[../asker_nameDef]</WULA_Intro_Spy.LetterLabelChasing.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextChasing.slateRef>{BASETEXT}\n\n[enemyFaction_pawnsPlural]来此追捕[../asker_nameDef]。</WULA_Intro_Spy.LetterTextChasing.slateRef>
|
||||
|
||||
<WULA_Intro_Spy.InspectStringDepartShuttle.slateRef>应该乘坐穿梭机出发</WULA_Intro_Spy.InspectStringDepartShuttle.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelShuttleArrived.slateRef>穿梭机已抵达</WULA_Intro_Spy.LetterLabelShuttleArrived.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextShuttleArrived.slateRef>前来迎接[asker_nameDef]的穿梭机已抵达。</WULA_Intro_Spy.LetterTextShuttleArrived.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelGuestDied.slateRef>宾客已死亡:{SUBJECT_definite}</WULA_Intro_Spy.LetterLabelGuestDied.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextGuestDied.slateRef>需要你小心保护的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]</WULA_Intro_Spy.LetterTextGuestDied.slateRef>
|
||||
<WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.label.slateRef>宾客被遗弃:{SUBJECT_definite}</WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.label.slateRef>
|
||||
<WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.text.slateRef>需要你小心保护的{SUBJECT_definite}被遗弃。[failLetterEndingCommon]</WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.text.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelUnauthorizedSurgery.slateRef>未授权手术:{SUBJECT_definite}</WULA_Intro_Spy.LetterLabelUnauthorizedSurgery.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextUnauthorizedSurgery.slateRef>需要你小心保护的{SUBJECT_definite}接受了一次未授权的额外手术。因为你违规在先,[asker_pronoun]将要离开此处。[failLetterEndingCommon]</WULA_Intro_Spy.LetterTextUnauthorizedSurgery.slateRef>
|
||||
<WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.label.slateRef>异种胚芽被吸收:{SUBJECT_definite}</WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.label.slateRef>
|
||||
<WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.text.slateRef>指定由你保护的{SUBJECT_definite}在你的殖民地被吸收了异种胚芽。这是一种侵犯行为,{SUBJECT_pronoun}现在将会直接离开[failLetterEndingCommon]。</WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.text.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelCaptured.slateRef>已被俘:{SUBJECT_definite}</WULA_Intro_Spy.LetterLabelCaptured.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextCaptured.slateRef>需要你小心保护的{SUBJECT_definite}已被俘虏。[failLetterEndingCommon]</WULA_Intro_Spy.LetterTextCaptured.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelGuestLost.slateRef>宾客失踪:{SUBJECT_definite}</WULA_Intro_Spy.LetterLabelGuestLost.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextGuestLost.slateRef>需要你小心保护的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]</WULA_Intro_Spy.LetterTextGuestLost.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelLodgerRanWild.slateRef>宾客失踪:{SUBJECT_definite}</WULA_Intro_Spy.LetterLabelLodgerRanWild.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextLodgerRanWild.slateRef>需要你小心保护的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]</WULA_Intro_Spy.LetterTextLodgerRanWild.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelShuttleDestroyed.slateRef>穿梭机被毁</WULA_Intro_Spy.LetterLabelShuttleDestroyed.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextShuttleDestroyed.slateRef>前来迎接[asker_nameDef]的穿梭机已被毁。[asker_pronoun]现在只能走回去了。[failLetterEndingCommon]</WULA_Intro_Spy.LetterTextShuttleDestroyed.slateRef>
|
||||
<WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.label.slateRef>穿梭机被遗弃</WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.label.slateRef>
|
||||
<WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.text.slateRef>前来迎接[asker_nameDef]的穿梭机已被遗弃。[asker_pronoun]现在只能走回去了。</WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.text.slateRef>
|
||||
<WULA_Intro_Spy.LetterLabelQuestFailed.slateRef>任务失败:[resolvedQuestName]</WULA_Intro_Spy.LetterLabelQuestFailed.slateRef>
|
||||
<WULA_Intro_Spy.LetterTextQuestFailed.slateRef>前来迎接[asker_nameDef]的穿梭机在离开时因为一些原因落下了[asker_objective]。[asker_pronoun]现在只能走回去了。[failLetterEndingCommon]</WULA_Intro_Spy.LetterTextQuestFailed.slateRef>
|
||||
|
||||
</LanguageData>
|
||||
@@ -306,4 +306,9 @@
|
||||
<WULA_SwitchWeapon_Desc>扔掉当前武器,并装备该单位的初始武器</WULA_SwitchWeapon_Desc>
|
||||
<WULA_WeaponSwitched>{0} 更换了武器为 {1}</WULA_WeaponSwitched>
|
||||
<WULA_NoWeaponAvailable>{0} 没有可用的武器类型</WULA_NoWeaponAvailable>
|
||||
|
||||
<WULA_HideAreaShieldLabel>隐藏区域反射盾</WULA_HideAreaShieldLabel>
|
||||
<WULA_ShowAreaShieldLabel>显示区域反射盾</WULA_ShowAreaShieldLabel>
|
||||
<WULA_HideAreaShieldDesc>隐藏该单位的区域反射盾,这不会影响其实际功能,仅影响视觉效果</WULA_HideAreaShieldDesc>
|
||||
<WULA_ShowAreaShieldDesc>显示该单位的区域反射盾,这不会影响其实际功能,仅影响视觉效果</WULA_ShowAreaShieldDesc>
|
||||
</LanguageData>
|
||||
|
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 264 KiB |
|
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 257 KiB |
|
Before Width: | Height: | Size: 259 KiB After Width: | Height: | Size: 269 KiB |
BIN
Content/Textures/Wula/UI/Commands/WULA_BunkerCat.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
Content/Textures/Wula/UI/Commands/WULA_HideAreaShield.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
@@ -2,6 +2,7 @@ using RimWorld;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
using System.Text;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
@@ -14,6 +15,11 @@ namespace WulaFallenEmpire
|
||||
private ThingDef restoreBuildingDef;
|
||||
private int restoreMechanoidCount;
|
||||
|
||||
// 缓存校验结果
|
||||
private bool? lastValidationResult = null;
|
||||
private string lastValidationReason = null;
|
||||
private int lastValidationTick = 0;
|
||||
|
||||
public override void Initialize(CompProperties props)
|
||||
{
|
||||
base.Initialize(props);
|
||||
@@ -46,9 +52,12 @@ namespace WulaFallenEmpire
|
||||
};
|
||||
|
||||
// 检查是否可以转换
|
||||
if (!CanTransformNow())
|
||||
string failReason;
|
||||
bool canTransform = CanTransformNow(out failReason);
|
||||
|
||||
if (!canTransform)
|
||||
{
|
||||
command.Disable("无法在当前位置转换");
|
||||
command.Disable(failReason);
|
||||
}
|
||||
|
||||
yield return command;
|
||||
@@ -57,12 +66,38 @@ namespace WulaFallenEmpire
|
||||
|
||||
private string GetGizmoDescription()
|
||||
{
|
||||
string desc = Props.gizmoDesc;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append(Props.gizmoDesc);
|
||||
|
||||
if (restoreBuildingDef != null)
|
||||
{
|
||||
desc += $"\n\n将恢复为: {restoreBuildingDef.LabelCap}";
|
||||
sb.AppendLine();
|
||||
sb.AppendLine();
|
||||
sb.Append($"将恢复为: {restoreBuildingDef.LabelCap}");
|
||||
|
||||
if (restoreMechanoidCount > 0)
|
||||
{
|
||||
sb.AppendLine();
|
||||
sb.Append($"恢复机械族储存: {restoreMechanoidCount}");
|
||||
}
|
||||
}
|
||||
return desc;
|
||||
|
||||
// 添加空间校验信息
|
||||
string failReason;
|
||||
bool isValid = CanTransformNow(out failReason);
|
||||
|
||||
sb.AppendLine();
|
||||
sb.AppendLine();
|
||||
if (isValid)
|
||||
{
|
||||
sb.Append("<color=green>✓ 当前位置可以放置建筑</color>");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append($"<color=red>✗ {failReason}</color>");
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private Texture2D GetGizmoIcon()
|
||||
@@ -74,25 +109,84 @@ namespace WulaFallenEmpire
|
||||
return TexCommand.Install;
|
||||
}
|
||||
|
||||
private bool CanTransformNow()
|
||||
/// <summary>
|
||||
/// 检查是否可以转换(带详细失败原因)
|
||||
/// </summary>
|
||||
private bool CanTransformNow(out string failReason)
|
||||
{
|
||||
if (parent == null || !parent.Spawned)
|
||||
return false;
|
||||
failReason = null;
|
||||
|
||||
// 检查空间是否足够
|
||||
if (parent == null || !parent.Spawned)
|
||||
{
|
||||
failReason = "单位未生成或已销毁";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 确定要生成的建筑类型
|
||||
ThingDef buildingDef = restoreBuildingDef ?? Props.targetBuildingDef;
|
||||
if (buildingDef == null)
|
||||
return false;
|
||||
|
||||
foreach (IntVec3 cell in GenAdj.CellsOccupiedBy(Pawn.Position, Rot4.North, buildingDef.Size))
|
||||
{
|
||||
if (!cell.InBounds(Pawn.Map) || !cell.Walkable(Pawn.Map) || cell.GetEdifice(Pawn.Map) != null)
|
||||
failReason = "无法确定目标建筑类型";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 使用缓存优化性能(每60 tick检查一次)
|
||||
if (lastValidationResult.HasValue && Find.TickManager.TicksGame - lastValidationTick < 60)
|
||||
{
|
||||
failReason = lastValidationReason;
|
||||
return lastValidationResult.Value;
|
||||
}
|
||||
|
||||
// 执行完整的空间校验(排除被转换的Pawn本身)
|
||||
bool isValid = TransformValidationUtility.CanPlaceBuildingAt(
|
||||
buildingDef,
|
||||
Pawn.Position,
|
||||
Pawn.Map,
|
||||
Pawn.Faction,
|
||||
Pawn, // 排除被转换的Pawn本身
|
||||
out failReason
|
||||
);
|
||||
|
||||
// 更新缓存
|
||||
lastValidationResult = isValid;
|
||||
lastValidationReason = failReason;
|
||||
lastValidationTick = Find.TickManager.TicksGame;
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找最近的可用位置
|
||||
/// </summary>
|
||||
private bool TryFindNearbyValidPosition(out IntVec3 validPosition, out string failReason)
|
||||
{
|
||||
validPosition = IntVec3.Invalid;
|
||||
failReason = null;
|
||||
|
||||
ThingDef buildingDef = restoreBuildingDef ?? Props.targetBuildingDef;
|
||||
if (buildingDef == null)
|
||||
{
|
||||
failReason = "无法确定目标建筑类型";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 在周围搜索可用位置
|
||||
for (int radius = 1; radius <= 5; radius++)
|
||||
{
|
||||
foreach (IntVec3 cell in GenRadial.RadialPatternInRadius(radius))
|
||||
{
|
||||
return false;
|
||||
IntVec3 checkPos = Pawn.Position + cell;
|
||||
|
||||
if (TransformValidationUtility.CanPlaceBuildingAt(buildingDef, checkPos, Pawn.Map, Pawn.Faction, Pawn, out failReason))
|
||||
{
|
||||
validPosition = checkPos;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
failReason = "周围没有找到合适的放置位置";
|
||||
return false;
|
||||
}
|
||||
|
||||
public void TransformToBuilding()
|
||||
@@ -101,7 +195,7 @@ namespace WulaFallenEmpire
|
||||
return;
|
||||
|
||||
Map map = Pawn.Map;
|
||||
IntVec3 position = Pawn.Position;
|
||||
IntVec3 desiredPosition = Pawn.Position;
|
||||
Faction faction = Pawn.Faction;
|
||||
|
||||
// 确定要生成的建筑类型
|
||||
@@ -112,11 +206,29 @@ namespace WulaFallenEmpire
|
||||
return;
|
||||
}
|
||||
|
||||
// 最终校验(排除被转换的Pawn本身)
|
||||
string failReason;
|
||||
if (!TransformValidationUtility.CanPlaceBuildingAt(buildingDef, desiredPosition, map, faction, Pawn, out failReason))
|
||||
{
|
||||
// 尝试寻找附近的位置
|
||||
IntVec3 alternativePosition;
|
||||
if (TryFindNearbyValidPosition(out alternativePosition, out failReason))
|
||||
{
|
||||
desiredPosition = alternativePosition;
|
||||
Messages.Message($"将在附近位置 {desiredPosition} 部署建筑", MessageTypeDefOf.NeutralEvent);
|
||||
}
|
||||
else
|
||||
{
|
||||
Messages.Message($"无法部署建筑: {failReason}", MessageTypeDefOf.RejectInput);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 移除Pawn
|
||||
Pawn.DeSpawn(DestroyMode.Vanish);
|
||||
|
||||
// 生成建筑
|
||||
Building newBuilding = (Building)GenSpawn.Spawn(buildingDef, position, map, WipeMode.Vanish);
|
||||
Building newBuilding = (Building)GenSpawn.Spawn(buildingDef, desiredPosition, map, WipeMode.Vanish);
|
||||
newBuilding.SetFaction(faction);
|
||||
|
||||
// 恢复机械族计数
|
||||
@@ -151,20 +263,33 @@ namespace WulaFallenEmpire
|
||||
Messages.Message($"{Pawn.LabelCap} 已部署为 {newBuilding.Label}", MessageTypeDefOf.PositiveEvent);
|
||||
|
||||
// 播放转换效果
|
||||
PlayTransformEffects(position, map);
|
||||
PlayTransformEffects(desiredPosition, map);
|
||||
|
||||
// 清除缓存
|
||||
lastValidationResult = null;
|
||||
lastValidationReason = null;
|
||||
}
|
||||
|
||||
private void PlayTransformEffects(IntVec3 position, Map map)
|
||||
{
|
||||
//// 播放转换视觉效果
|
||||
// 播放转换视觉效果
|
||||
//for (int i = 0; i < 3; i++)
|
||||
//{
|
||||
// MoteMaker.ThrowSmoke(position.ToVector3Shifted() + new Vector3(0, 0, 0.5f), map, 1.5f);
|
||||
// MoteMaker.ThrowMicroSparks(position.ToVector3Shifted(), map);
|
||||
//}
|
||||
}
|
||||
|
||||
// 每tick更新校验状态(用于实时反馈)
|
||||
public override void CompTick()
|
||||
{
|
||||
base.CompTick();
|
||||
|
||||
//// 播放音效
|
||||
//SoundDefOf.MechClusterDefeated.PlayOneShot(new TargetInfo(position, map));
|
||||
// 每60 tick清除一次缓存,确保校验结果实时更新
|
||||
if (Find.TickManager.TicksGame % 60 == 0)
|
||||
{
|
||||
lastValidationResult = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,218 @@
|
||||
using RimWorld;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
using System.Linq;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public static class TransformValidationUtility
|
||||
{
|
||||
/// <summary>
|
||||
/// 检查位置是否可以放置目标建筑(通用版本)
|
||||
/// </summary>
|
||||
public static bool CanPlaceBuildingAt(ThingDef buildingDef, IntVec3 center, Map map, Faction faction, out string failReason)
|
||||
{
|
||||
return CanPlaceBuildingAt(buildingDef, center, map, faction, null, out failReason);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检查位置是否可以放置目标建筑(带忽略物体版本)
|
||||
/// </summary>
|
||||
public static bool CanPlaceBuildingAt(ThingDef buildingDef, IntVec3 center, Map map, Faction faction, Thing thingToIgnore, out string failReason)
|
||||
{
|
||||
failReason = null;
|
||||
|
||||
// 1. 检查建筑定义
|
||||
if (buildingDef == null)
|
||||
{
|
||||
failReason = "目标建筑定义为空";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 2. 检查建筑尺寸是否为奇数(根据您的需求)
|
||||
if (!IsOddSizedBuilding(buildingDef))
|
||||
{
|
||||
failReason = $"建筑 {buildingDef.LabelCap} 的尺寸不是奇数,不符合放置要求";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 3. 检查地图边界
|
||||
if (!IsWithinMapBounds(buildingDef, center, map, out failReason))
|
||||
return false;
|
||||
|
||||
// 4. 检查地形affordance
|
||||
if (!HasValidTerrainAffordance(buildingDef, center, map, out failReason))
|
||||
return false;
|
||||
|
||||
// 5. 检查其他建筑挤占(排除要忽略的物体)
|
||||
if (!IsAreaClearOfBlockingBuildings(buildingDef, center, map, thingToIgnore, out failReason))
|
||||
return false;
|
||||
|
||||
// 6. 检查特殊放置条件(如不可放置在水上等)
|
||||
if (!MeetsSpecialPlacementConditions(buildingDef, center, map, out failReason))
|
||||
return false;
|
||||
|
||||
// 7. 使用RimWorld原生的放置检查(最终验证)
|
||||
if (!GenConstruct.CanPlaceBlueprintAt(buildingDef, center, Rot4.North, map, false, null, null, null))
|
||||
{
|
||||
failReason = "该位置不符合建筑放置要求";
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检查建筑尺寸是否为奇数
|
||||
/// </summary>
|
||||
public static bool IsOddSizedBuilding(ThingDef buildingDef)
|
||||
{
|
||||
return buildingDef.Size.x % 2 == 1 && buildingDef.Size.z % 2 == 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检查地图边界
|
||||
/// </summary>
|
||||
private static bool IsWithinMapBounds(ThingDef buildingDef, IntVec3 center, Map map, out string failReason)
|
||||
{
|
||||
CellRect occupiedRect = GenAdj.OccupiedRect(center, Rot4.North, buildingDef.Size);
|
||||
|
||||
if (!occupiedRect.InBounds(map))
|
||||
{
|
||||
failReason = "建筑超出地图边界";
|
||||
return false;
|
||||
}
|
||||
|
||||
failReason = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检查地形affordance
|
||||
/// </summary>
|
||||
private static bool HasValidTerrainAffordance(ThingDef buildingDef, IntVec3 center, Map map, out string failReason)
|
||||
{
|
||||
TerrainAffordanceDef requiredAffordance = buildingDef.terrainAffordanceNeeded;
|
||||
if (requiredAffordance == null)
|
||||
{
|
||||
// 如果没有指定affordance要求,则跳过检查
|
||||
failReason = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
CellRect occupiedRect = GenAdj.OccupiedRect(center, Rot4.North, buildingDef.Size);
|
||||
|
||||
foreach (IntVec3 cell in occupiedRect)
|
||||
{
|
||||
if (!cell.InBounds(map))
|
||||
continue;
|
||||
|
||||
TerrainDef terrain = map.terrainGrid.TerrainAt(cell);
|
||||
if (terrain == null || !terrain.affordances.Contains(requiredAffordance))
|
||||
{
|
||||
failReason = $"地形 {terrain?.LabelCap ?? "未知"} 不支持放置 {buildingDef.LabelCap}";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
failReason = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检查区域是否被其他建筑阻挡(排除指定物体)
|
||||
/// </summary>
|
||||
private static bool IsAreaClearOfBlockingBuildings(ThingDef buildingDef, IntVec3 center, Map map, Thing thingToIgnore, out string failReason)
|
||||
{
|
||||
CellRect occupiedRect = GenAdj.OccupiedRect(center, Rot4.North, buildingDef.Size);
|
||||
List<Thing> blockingThings = new List<Thing>();
|
||||
|
||||
foreach (IntVec3 cell in occupiedRect)
|
||||
{
|
||||
if (!cell.InBounds(map))
|
||||
continue;
|
||||
|
||||
// 检查该单元格上的所有建筑
|
||||
List<Thing> thingList = map.thingGrid.ThingsListAt(cell);
|
||||
foreach (Thing thing in thingList)
|
||||
{
|
||||
// 跳过要忽略的物体(如被转换的Pawn本身)
|
||||
if (thing == thingToIgnore)
|
||||
continue;
|
||||
|
||||
if (thing.def.category == ThingCategory.Building || thing.def.category == ThingCategory.Pawn)
|
||||
{
|
||||
// 忽略蓝图和框架
|
||||
if (thing.def.IsBlueprint || thing.def.IsFrame)
|
||||
continue;
|
||||
|
||||
// 忽略被转换的Pawn本身
|
||||
if (thing == thingToIgnore)
|
||||
continue;
|
||||
|
||||
blockingThings.Add(thing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (blockingThings.Count > 0)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("以下物体阻挡了建筑放置:");
|
||||
|
||||
foreach (Thing thing in blockingThings)
|
||||
{
|
||||
sb.AppendLine($" - {thing.LabelCap}");
|
||||
}
|
||||
|
||||
failReason = sb.ToString().TrimEnd();
|
||||
return false;
|
||||
}
|
||||
|
||||
failReason = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检查特殊放置条件
|
||||
/// </summary>
|
||||
private static bool MeetsSpecialPlacementConditions(ThingDef buildingDef, IntVec3 center, Map map, out string failReason)
|
||||
{
|
||||
CellRect occupiedRect = GenAdj.OccupiedRect(center, Rot4.North, buildingDef.Size);
|
||||
|
||||
// 检查是否在水体上
|
||||
foreach (IntVec3 cell in occupiedRect)
|
||||
{
|
||||
if (!cell.InBounds(map))
|
||||
continue;
|
||||
|
||||
TerrainDef terrain = map.terrainGrid.TerrainAt(cell);
|
||||
if (terrain != null && (terrain.IsWater || terrain.defName.Contains("Water")))
|
||||
{
|
||||
failReason = "无法在水体上放置建筑";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查是否在不可建造的地形上
|
||||
if (terrain != null && !terrain.BuildableByPlayer)
|
||||
{
|
||||
failReason = $"地形 {terrain.LabelCap} 不可建造";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
failReason = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取建筑占用的所有单元格
|
||||
/// </summary>
|
||||
public static List<IntVec3> GetOccupiedCells(ThingDef buildingDef, IntVec3 center)
|
||||
{
|
||||
return GenAdj.OccupiedRect(center, Rot4.North, buildingDef.Size).Cells.ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,12 +10,16 @@ namespace WulaFallenEmpire
|
||||
[StaticConstructorOnStartup]
|
||||
public class ThingComp_AreaShield : ThingComp
|
||||
{
|
||||
// 现有的字段保持不变...
|
||||
private int lastInterceptTicks = -999999;
|
||||
public int ticksToReset = 0;
|
||||
public int currentHitPoints;
|
||||
private bool wasNotAtFullHp = false;
|
||||
private bool wasActiveLastCheck = false;
|
||||
|
||||
// 新增:绘制控制字段
|
||||
private bool drawShield = true;
|
||||
|
||||
// 视觉效果变量
|
||||
private float lastInterceptAngle;
|
||||
private bool drawInterceptCone;
|
||||
@@ -43,30 +47,51 @@ namespace WulaFallenEmpire
|
||||
private const float TextureActualRingSizeFactor = 1.1601562f;
|
||||
private static readonly Color InactiveColor = new Color(0.2f, 0.2f, 0.2f);
|
||||
|
||||
// 护盾绘制方法 - 参考原版实现
|
||||
|
||||
// 新增:检查是否应该显示绘制控制按钮
|
||||
public bool ShouldShowDrawToggleGizmo
|
||||
{
|
||||
get
|
||||
{
|
||||
// 条件1:装备且穿戴在己方pawn身上
|
||||
if (IsEquipment && Wearer != null && Wearer.Faction == Faction.OfPlayer)
|
||||
return true;
|
||||
|
||||
// 条件2:固定物品且属于己方派系
|
||||
if (IsStandalone && parent.Faction == Faction.OfPlayer)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 护盾绘制方法 - 修改:添加绘制控制检查
|
||||
public override void CompDrawWornExtras()
|
||||
{
|
||||
base.CompDrawWornExtras();
|
||||
|
||||
if (!IsEquipment) return; // 只有装备使用这个方法
|
||||
if (!IsEquipment || !drawShield) return; // 新增绘制控制检查
|
||||
|
||||
DrawShield();
|
||||
}
|
||||
|
||||
public override void PostDraw()
|
||||
{
|
||||
base.PostDraw();
|
||||
|
||||
if (IsEquipment) return; // 装备使用 CompDrawWornExtras
|
||||
if (IsEquipment || !drawShield) return; // 新增绘制控制检查
|
||||
|
||||
DrawShield();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 统一的护盾绘制方法 - 参考原版实现
|
||||
/// 统一的护盾绘制方法 - 修改:添加绘制控制检查
|
||||
/// </summary>
|
||||
private void DrawShield()
|
||||
{
|
||||
if (!Active || Holder?.Map == null || Holder.Destroyed)
|
||||
if (!drawShield || !Active || Holder?.Map == null || Holder.Destroyed) // 新增绘制控制检查
|
||||
return;
|
||||
|
||||
Vector3 drawPos = GetHolderDrawPos();
|
||||
drawPos.y = AltitudeLayer.MoteOverhead.AltitudeFor();
|
||||
float currentAlpha = GetCurrentAlpha();
|
||||
@@ -96,9 +121,8 @@ namespace WulaFallenEmpire
|
||||
Graphics.DrawMesh(MeshPool.plane10, matrix, ForceFieldConeMat, 0, null, 0, MatPropertyBlock);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取当前透明度 - 参考原版的多状态叠加
|
||||
/// </summary>
|
||||
|
||||
// 现有的其他方法保持不变...
|
||||
private float GetCurrentAlpha()
|
||||
{
|
||||
// 多个透明度来源叠加,取最大值
|
||||
@@ -113,9 +137,7 @@ namespace WulaFallenEmpire
|
||||
0.1f // 最小透明度
|
||||
);
|
||||
}
|
||||
/// <summary>
|
||||
/// 空闲状态透明度
|
||||
/// </summary>
|
||||
|
||||
private float GetCurrentAlpha_Idle()
|
||||
{
|
||||
if (!Active) return 0f;
|
||||
@@ -144,9 +166,7 @@ namespace WulaFallenEmpire
|
||||
|
||||
return 0f;
|
||||
}
|
||||
/// <summary>
|
||||
/// 被选中状态透明度 - 参考原版实现
|
||||
/// </summary>
|
||||
|
||||
private float GetCurrentAlpha_Selected()
|
||||
{
|
||||
// 如果被选中,显示更高的透明度
|
||||
@@ -158,17 +178,13 @@ namespace WulaFallenEmpire
|
||||
|
||||
return 0f;
|
||||
}
|
||||
/// <summary>
|
||||
/// 最近拦截状态透明度
|
||||
/// </summary>
|
||||
|
||||
private float GetCurrentAlpha_RecentlyIntercepted()
|
||||
{
|
||||
int ticksSinceIntercept = Find.TickManager.TicksGame - lastInterceptTicks;
|
||||
return Mathf.Clamp01(1f - (float)ticksSinceIntercept / 40f) * 0.3f;
|
||||
}
|
||||
/// <summary>
|
||||
/// 拦截锥形透明度
|
||||
/// </summary>
|
||||
|
||||
private float GetCurrentConeAlpha()
|
||||
{
|
||||
if (!drawInterceptCone) return 0f;
|
||||
@@ -176,9 +192,7 @@ namespace WulaFallenEmpire
|
||||
int ticksSinceIntercept = Find.TickManager.TicksGame - lastInterceptTicks;
|
||||
return Mathf.Clamp01(1f - (float)ticksSinceIntercept / 40f) * 0.82f;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取持有者绘制位置(回退机制)
|
||||
/// </summary>
|
||||
|
||||
private Vector3 GetHolderDrawPos()
|
||||
{
|
||||
if (Holder is Pawn pawn)
|
||||
@@ -224,6 +238,7 @@ namespace WulaFallenEmpire
|
||||
{
|
||||
base.PostPostMake();
|
||||
currentHitPoints = HitPointsMax;
|
||||
drawShield = true; // 默认启用绘制
|
||||
}
|
||||
|
||||
public override void PostExposeData()
|
||||
@@ -232,6 +247,7 @@ namespace WulaFallenEmpire
|
||||
Scribe_Values.Look(ref lastInterceptTicks, "lastInterceptTicks", -999999);
|
||||
Scribe_Values.Look(ref ticksToReset, "ticksToReset", 0);
|
||||
Scribe_Values.Look(ref currentHitPoints, "currentHitPoints", 0);
|
||||
Scribe_Values.Look(ref drawShield, "drawShield", true); // 新增:保存绘制状态
|
||||
}
|
||||
|
||||
public override void CompTick()
|
||||
@@ -273,6 +289,56 @@ namespace WulaFallenEmpire
|
||||
}
|
||||
}
|
||||
|
||||
// 新增:绘制控制Gizmo
|
||||
private Gizmo CreateDrawToggleGizmo()
|
||||
{
|
||||
Command_Toggle toggle = new Command_Toggle
|
||||
{
|
||||
defaultLabel = drawShield ? "WULA_HideAreaShieldLabel".Translate() : "WULA_ShowAreaShieldLabel".Translate(),
|
||||
defaultDesc = drawShield ? "WULA_HideAreaShieldDesc".Translate() : "WULA_ShowAreaShieldDesc".Translate(),
|
||||
icon = ContentFinder<Texture2D>.Get("Wula/UI/Commands/WULA_HideAreaShield"),
|
||||
isActive = () => drawShield,
|
||||
toggleAction = () => drawShield = !drawShield
|
||||
};
|
||||
|
||||
return toggle;
|
||||
}
|
||||
|
||||
public override IEnumerable<Gizmo> CompGetWornGizmosExtra()
|
||||
{
|
||||
EnsureInitialized();
|
||||
|
||||
// 原有的状态显示Gizmo
|
||||
if (IsEquipment && Wearer != null && Find.Selector.SingleSelectedThing == Wearer)
|
||||
{
|
||||
yield return new Gizmo_AreaShieldStatus { shield = this };
|
||||
|
||||
// 新增:绘制控制按钮(只在符合条件的装备上显示)
|
||||
if (ShouldShowDrawToggleGizmo)
|
||||
{
|
||||
yield return CreateDrawToggleGizmo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override IEnumerable<Gizmo> CompGetGizmosExtra()
|
||||
{
|
||||
EnsureInitialized();
|
||||
|
||||
// 原有的状态显示Gizmo
|
||||
if (IsStandalone && Find.Selector.SingleSelectedThing == parent)
|
||||
{
|
||||
yield return new Gizmo_AreaShieldStatus { shield = this };
|
||||
|
||||
// 新增:绘制控制按钮(只在符合条件的固定物品上显示)
|
||||
if (ShouldShowDrawToggleGizmo)
|
||||
{
|
||||
yield return CreateDrawToggleGizmo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 现有的其他方法保持不变...
|
||||
private void ApplyCosts(int cost = 1)
|
||||
{
|
||||
currentHitPoints -= cost;
|
||||
@@ -566,6 +632,7 @@ namespace WulaFallenEmpire
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void EnsureInitialized()
|
||||
{
|
||||
if (initialized) return;
|
||||
@@ -579,27 +646,6 @@ namespace WulaFallenEmpire
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
public override IEnumerable<Gizmo> CompGetWornGizmosExtra()
|
||||
{
|
||||
EnsureInitialized();
|
||||
|
||||
if (IsEquipment && Wearer != null && Find.Selector.SingleSelectedThing == Wearer)
|
||||
{
|
||||
yield return new Gizmo_AreaShieldStatus { shield = this };
|
||||
}
|
||||
}
|
||||
|
||||
public override IEnumerable<Gizmo> CompGetGizmosExtra()
|
||||
{
|
||||
EnsureInitialized();
|
||||
|
||||
// 固定物品也显示护盾状态
|
||||
if (IsStandalone && Find.Selector.SingleSelectedThing == parent)
|
||||
{
|
||||
yield return new Gizmo_AreaShieldStatus { shield = this };
|
||||
}
|
||||
}
|
||||
|
||||
public override void Notify_Equipped(Pawn pawn)
|
||||
{
|
||||
base.Notify_Equipped(pawn);
|
||||
|
||||
@@ -509,14 +509,14 @@ namespace WulaFallenEmpire
|
||||
try
|
||||
{
|
||||
// 绘制当前传送器范围
|
||||
GenDraw.DrawRadiusRing(parent.Position, Props.teleportRadius, Color.blue);
|
||||
GenDraw.DrawRadiusRing(parent.Position, Props.teleportRadius, new Color(0.3f, 0.7f, 1, 0.3f));
|
||||
|
||||
// 绘制网络范围(所有传送器的范围)
|
||||
foreach (var teleporter in GetNetworkTeleporters())
|
||||
{
|
||||
if (teleporter != this && teleporter.parent.Spawned)
|
||||
{
|
||||
GenDraw.DrawRadiusRing(teleporter.parent.Position, teleporter.Props.teleportRadius, new Color(0, 0, 1, 0.3f));
|
||||
GenDraw.DrawRadiusRing(teleporter.parent.Position, teleporter.Props.teleportRadius, new Color(0.3f, 0.7f, 1, 0.3f));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\CompProperties_TransformIntoBuilding.cs" />
|
||||
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\CompTransformAtFullCapacity.cs" />
|
||||
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\CompTransformIntoBuilding.cs" />
|
||||
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\TransformValidationUtility.cs" />
|
||||
<Compile Include="EventSystem\CompOpenCustomUI.cs" />
|
||||
<Compile Include="EventSystem\Condition\ConditionBase.cs" />
|
||||
<Compile Include="EventSystem\Condition\Condition_FlagExists.cs" />
|
||||
|
||||
BIN
美术与文本源文件/Wula/UI/Commands/WULA_BunkerCat.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |