Files
WulaFallenEmpireRW/1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml
2025-08-28 14:16:03 +08:00

504 lines
19 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BuildingBase">
<defName>WULA_ArmedShuttle</defName>
<label>CVe-3l"灰鸦"</label>
<description>乌拉帝国所使用的大气内专用近地穿梭机。配备集成能量发生器投射暗物质护盾。并且装载一门近防炮武装保护帝国资产。</description>
<thingClass>WulaFallenEmpire.Building_ArmedShuttle</thingClass>
<preventDroppingThingsOn>true</preventDroppingThingsOn>
<altitudeLayer>Building</altitudeLayer>
<pathCost>50</pathCost>
<blockWind>true</blockWind>
<passability>PassThroughOnly</passability>
<fillPercent>0.5</fillPercent>
<size>(4,4)</size>
<drawHighlight>true</drawHighlight>
<highlightColor>(0.56, 0.62, 0.9)</highlightColor>
<uiIconScale>1</uiIconScale>
<graphicData>
<graphicClass>Graphic_Multi</graphicClass>
<texPath>Wula/Building/WULA_ArmedShuttle</texPath>
<shaderType>CutoutComplex</shaderType>
<drawSize>(4,4)</drawSize>
<shadowData>
<volume>(1.4, 1, 1.3)</volume>
<offset>(-0.5, 0, -0.1)</offset>
</shadowData>
</graphicData>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<castEdgeShadows>False</castEdgeShadows>
<statBases>
<MaxHitPoints>6000</MaxHitPoints>
<Flammability>0</Flammability>
<WorkToBuild>40000</WorkToBuild>
<Mass>150</Mass>
<Comfort>0.65</Comfort>
</statBases>
<tickerType>Normal</tickerType>
<designationCategory>WULA_Buildings</designationCategory>
<constructionSkillPrerequisite>8</constructionSkillPrerequisite>
<costList>
<Steel>300</Steel>
<Plasteel>200</Plasteel>
<ComponentIndustrial>8</ComponentIndustrial>
<ComponentSpacer>2</ComponentSpacer>
<ShuttleEngine>1</ShuttleEngine>
</costList>
<canOverlapZones>true</canOverlapZones>
<killedLeavings>
<Steel>60</Steel>
<Plasteel>60</Plasteel>
<ChunkSlagSteel>5</ChunkSlagSteel>
<ComponentIndustrial>4</ComponentIndustrial>
</killedLeavings>
<rotatable>true</rotatable>
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(2, 0, 0)</interactionCellOffset>
<defaultPlacingRot>East</defaultPlacingRot>
<selectable>true</selectable>
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
<preventSkyfallersLandingOn>true</preventSkyfallersLandingOn>
<drawerType>RealtimeOnly</drawerType>
<repairEffect>ConstructMetal</repairEffect>
<forceDebugSpawnable>true</forceDebugSpawnable>
<building>
<claimable>false</claimable>
<destroySound>BuildingDestroyed_Metal_Big</destroySound>
<paintable>true</paintable>
<isInert>true</isInert>
<forcedCostLeavings>
<li MayRequire="Ludeon.RimWorld.Odyssey">ShuttleEngine</li>
</forcedCostLeavings>
<turretGunDef>WULA_Shuttle_Autocannon</turretGunDef>
<turretBurstCooldownTime>5.5</turretBurstCooldownTime>
<turretTopDrawSize>1.75</turretTopDrawSize>
<turretTopOffset>(0, 0.05)</turretTopOffset>
</building>
<inspectorTabs>
<li>ITab_ContentsTransporter</li>
<li>ITab_Shells</li>
</inspectorTabs>
<researchPrerequisites>
<li>Shuttles</li>
</researchPrerequisites>
<comps>
<li Class="CompProperties_Shuttle">
<shipDef>Ship_ArmedShuttle</shipDef>
</li>
<li Class="CompProperties_Launchable">
<fuelPerTile>3</fuelPerTile>
<minFuelCost>50</minFuelCost>
<skyfallerLeaving>ArmedShuttleLeaving_WULA</skyfallerLeaving>
<worldObjectDef>PassengerShuttle</worldObjectDef>
<cooldownTicks>3750</cooldownTicks> <!-- 1.5 hours -->
<fixedLaunchDistanceMax>62</fixedLaunchDistanceMax>
<cooldownEndedMessage>{0} is ready to launch again.</cooldownEndedMessage>
</li>
<li Class="CompProperties_Transporter">
<massCapacity>500</massCapacity>
<max1PerGroup>true</max1PerGroup>
<canChangeAssignedThingsAfterStarting>true</canChangeAssignedThingsAfterStarting>
<pawnLoadedSound>Shuttle_PawnLoaded</pawnLoadedSound>
<pawnExitSound>Shuttle_PawnExit</pawnExitSound>
<showMassInInspectString>true</showMassInInspectString>
</li>
<li Class="CompProperties_Refuelable">
<fuelCapacity>400</fuelCapacity>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
<initialConfigurableTargetFuelLevel>400</initialConfigurableTargetFuelLevel>
<fuelFilter>
<thingDefs>
<li>Chemfuel</li>
</thingDefs>
</fuelFilter>
<fuelLabel>Chemfuel</fuelLabel>
<fuelGizmoLabel>Chemfuel</fuelGizmoLabel>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
<autoRefuelPercent>1</autoRefuelPercent>
<showFuelGizmo>true</showFuelGizmo>
<drawOutOfFuelOverlay>false</drawOutOfFuelOverlay>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<canEjectFuel>true</canEjectFuel>
</li>
<li Class="CompProperties_AmbientSound">
<sound>ShuttleIdle_Ambience</sound>
</li>
<li Class="CompProperties_ProjectileInterceptor">
<radius>12</radius>
<interceptGroundProjectiles>true</interceptGroundProjectiles>
<color>(0.5, 0.3, 0.9, 0.5)</color>
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect>
<activeSound>BulletShield_Ambience</activeSound>
<disarmedByEmpForTicks>1080</disarmedByEmpForTicks>
<chargeIntervalTicks>-1</chargeIntervalTicks>
<chargeDurationTicks>0</chargeDurationTicks>
</li>
</comps>
<placeWorkers>
<li>PlaceWorker_NotUnderRoof</li>
<li>PlaceWorker_TurretTop</li>
</placeWorkers>
<uiOrder>2601</uiOrder>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>WULA_ArmedShuttleWithPocket</defName>
<label>CVe-3o"渡鸦"</label>
<description>乌拉帝国所使用的大气内专用近地穿梭机。集成折叠空间技术能安全装载比体积大得多的货物。配备集成能量发生器投射暗物质护盾。并且装载一门近防炮武装保护帝国资产。</description>
<thingClass>WulaFallenEmpire.Building_ArmedShuttleWithPocket</thingClass>
<preventDroppingThingsOn>true</preventDroppingThingsOn>
<altitudeLayer>Building</altitudeLayer>
<pathCost>50</pathCost>
<blockWind>true</blockWind>
<passability>PassThroughOnly</passability>
<fillPercent>0.5</fillPercent>
<size>(4,4)</size>
<drawHighlight>true</drawHighlight>
<highlightColor>(0.56, 0.62, 0.9)</highlightColor>
<uiIconScale>1</uiIconScale>
<graphicData>
<graphicClass>Graphic_Multi</graphicClass>
<texPath>Wula/Building/WULA_ArmedShuttle</texPath>
<shaderType>CutoutComplex</shaderType>
<drawSize>(4,4)</drawSize>
<shadowData>
<volume>(1.4, 1, 1.3)</volume>
<offset>(-0.5, 0, -0.1)</offset>
</shadowData>
</graphicData>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<castEdgeShadows>False</castEdgeShadows>
<statBases>
<MaxHitPoints>6000</MaxHitPoints>
<Flammability>0</Flammability>
<WorkToBuild>40000</WorkToBuild>
<Mass>150</Mass>
<Comfort>0.65</Comfort>
</statBases>
<tickerType>Normal</tickerType>
<designationCategory>WULA_Buildings</designationCategory>
<constructionSkillPrerequisite>8</constructionSkillPrerequisite>
<costList>
<Steel>300</Steel>
<Plasteel>200</Plasteel>
<ComponentIndustrial>8</ComponentIndustrial>
<ComponentSpacer>2</ComponentSpacer>
<ShuttleEngine>1</ShuttleEngine>
</costList>
<canOverlapZones>true</canOverlapZones>
<killedLeavings>
<Steel>60</Steel>
<Plasteel>60</Plasteel>
<ChunkSlagSteel>5</ChunkSlagSteel>
<ComponentIndustrial>4</ComponentIndustrial>
</killedLeavings>
<rotatable>true</rotatable>
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(2, 0, 0)</interactionCellOffset>
<defaultPlacingRot>East</defaultPlacingRot>
<selectable>true</selectable>
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
<preventSkyfallersLandingOn>true</preventSkyfallersLandingOn>
<drawerType>RealtimeOnly</drawerType>
<repairEffect>ConstructMetal</repairEffect>
<forceDebugSpawnable>true</forceDebugSpawnable>
<building>
<claimable>false</claimable>
<destroySound>BuildingDestroyed_Metal_Big</destroySound>
<paintable>true</paintable>
<isInert>true</isInert>
<forcedCostLeavings>
<li MayRequire="Ludeon.RimWorld.Odyssey">ShuttleEngine</li>
</forcedCostLeavings>
<turretGunDef>WULA_Shuttle_Autocannon</turretGunDef>
<turretBurstCooldownTime>5.5</turretBurstCooldownTime>
<turretTopDrawSize>1.75</turretTopDrawSize>
<turretTopOffset>(0, 0.05)</turretTopOffset>
</building>
<inspectorTabs>
<li>ITab_ContentsTransporter</li>
<li>ITab_Shells</li>
</inspectorTabs>
<researchPrerequisites>
<li>Shuttles</li>
</researchPrerequisites>
<comps>
<li Class="CompProperties_Shuttle">
<shipDef>Ship_ArmedShuttle</shipDef>
</li>
<li Class="CompProperties_Launchable">
<fuelPerTile>3</fuelPerTile>
<minFuelCost>50</minFuelCost>
<skyfallerLeaving>ArmedShuttleLeaving_WULA</skyfallerLeaving>
<worldObjectDef>PassengerShuttle</worldObjectDef>
<cooldownTicks>3750</cooldownTicks> <!-- 1.5 hours -->
<fixedLaunchDistanceMax>62</fixedLaunchDistanceMax>
<cooldownEndedMessage>{0} is ready to launch again.</cooldownEndedMessage>
</li>
<li Class="CompProperties_Transporter">
<massCapacity>500</massCapacity>
<max1PerGroup>true</max1PerGroup>
<canChangeAssignedThingsAfterStarting>true</canChangeAssignedThingsAfterStarting>
<pawnLoadedSound>Shuttle_PawnLoaded</pawnLoadedSound>
<pawnExitSound>Shuttle_PawnExit</pawnExitSound>
<showMassInInspectString>true</showMassInInspectString>
</li>
<li Class="CompProperties_Refuelable">
<fuelCapacity>500</fuelCapacity>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
<initialConfigurableTargetFuelLevel>500</initialConfigurableTargetFuelLevel>
<fuelFilter>
<thingDefs>
<li>Chemfuel</li>
</thingDefs>
</fuelFilter>
<fuelLabel>Chemfuel</fuelLabel>
<fuelGizmoLabel>Chemfuel</fuelGizmoLabel>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
<autoRefuelPercent>1</autoRefuelPercent>
<showFuelGizmo>true</showFuelGizmo>
<drawOutOfFuelOverlay>false</drawOutOfFuelOverlay>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<canEjectFuel>true</canEjectFuel>
</li>
<li Class="CompProperties_Power">
<compClass>CompPowerPlant</compClass>
<basePowerConsumption>-400</basePowerConsumption>
<transmitsPower>true</transmitsPower>
</li>
<li Class="CompProperties_AmbientSound">
<sound>ShuttleIdle_Ambience</sound>
</li>
<li Class="CompProperties_ProjectileInterceptor">
<radius>12</radius>
<interceptGroundProjectiles>true</interceptGroundProjectiles>
<color>(0.5, 0.3, 0.9, 0.5)</color>
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect>
<activeSound>BulletShield_Ambience</activeSound>
<disarmedByEmpForTicks>1080</disarmedByEmpForTicks>
<chargeIntervalTicks>-1</chargeIntervalTicks>
<chargeDurationTicks>0</chargeDurationTicks>
</li>
</comps>
<modExtensions>
<li Class="WulaFallenEmpire.PocketMapProperties">
<pocketMapGenerator>WULA_PocketSpace_Small</pocketMapGenerator>
<exitDef>WULA_PocketMapExit</exitDef>
<pocketMapSize>(13, 13)</pocketMapSize>
<allowDirectAccess>true</allowDirectAccess>
</li>
</modExtensions>
<placeWorkers>
<li>PlaceWorker_NotUnderRoof</li>
<li>PlaceWorker_TurretTop</li>
</placeWorkers>
<uiOrder>2601</uiOrder>
</ThingDef>
<!-- 口袋空间退出点定义 -->
<ThingDef ParentName="PocketMapExit">
<defName>WULA_PocketMapExit</defName>
<label>运输机升降平台</label>
<description>用于在穿梭机内外运输人员和物品的升降平台.</description>
<thingClass>WulaFallenEmpire.Building_PocketMapExit</thingClass>
<size>(3,3)</size>
<drawerType>MapMeshAndRealTime</drawerType>
<graphicData>
<texPath>Wula/Building/WULA_War_Machine_Recharger</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(3,3)</drawSize>
</graphicData>
<interactionCellOffset>(0,0,0)</interactionCellOffset>
<passability>Standable</passability>
<statBases>
<Flammability>0</Flammability>
</statBases>
<comps>
<li Class="CompProperties_Glower">
<glowRadius>10</glowRadius>
<glowColor>(140,160,184,0)</glowColor>
</li>
<li Class="CompProperties_Effecter">
<effecterDef>UndercaveMapExitLightshafts</effecterDef>
</li>
<li Class="CompProperties_Power">
<compClass>CompPowerPlant</compClass>
<basePowerConsumption>-400</basePowerConsumption>
<transmitsPower>true</transmitsPower>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseGun">
<defName>WULA_Shuttle_Autocannon</defName>
<label>SRc-22"四叶"</label>
<description>由乌拉帝国的穿梭机所装备的自动炮,能够组织起高射速的弹幕压制杀伤大规模目标。</description>
<techLevel>Ultra</techLevel>
<relicChance>0</relicChance>
<graphicData>
<texPath>Wula/Weapon/WULA_WM_Panzer_Autocannon</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>2</drawSize>
</graphicData>
<uiIconScale>0.5</uiIconScale>
<tradeability>None</tradeability>
<statBases>
<WorkToMake>40000</WorkToMake>
<Mass>150</Mass>
<AccuracyTouch>0.5</AccuracyTouch>
<AccuracyShort>0.5</AccuracyShort>
<AccuracyMedium>0.4</AccuracyMedium>
<AccuracyLong>0.35</AccuracyLong>
<RangedWeapon_Cooldown>1.5</RangedWeapon_Cooldown>
</statBases>
<weaponTags>
</weaponTags>
<costList Inherit="False">
<Steel>500</Steel>
<Plasteel>150</Plasteel>
<ComponentSpacer>8</ComponentSpacer>
</costList>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Bullet_WULA_Shuttle_Autocannon</defaultProjectile>
<warmupTime>0.25</warmupTime>
<range>24</range>
<burstShotCount>10</burstShotCount>
<forcedMissRadius>0.35</forcedMissRadius>
<ticksBetweenBurstShots>6</ticksBetweenBurstShots>
<soundCast>Shot_TurretSniper</soundCast>
<soundCastTail>GunTail_Heavy</soundCastTail>
<muzzleFlashScale>12</muzzleFlashScale>
<targetParams>
<canTargetPawns>true</canTargetPawns>
<canTargetLocations>true</canTargetLocations>
<canTargetBuildings>true</canTargetBuildings>
</targetParams>
</li>
</verbs>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_WULA_Shuttle_Autocannon</defName>
<label>四叶自动炮子弹</label>
<thingClass>Projectile_Explosive</thingClass>
<tickerType>Normal</tickerType>
<neverMultiSelect>True</neverMultiSelect>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red_Double</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
<drawSize>1.4</drawSize>
</graphicData>
<projectile>
<damageDef>WULA_Shuttle_Autocannon_Bullet</damageDef>
<damageAmountBase>14</damageAmountBase>
<speed>120</speed>
<explosionRadius>2.4</explosionRadius>
<arcHeightFactor>0.4</arcHeightFactor>
<soundExplode>Explosion_Rocket</soundExplode>
<armorPenetrationBase>0.75</armorPenetrationBase>
<screenShakeFactor>0.1</screenShakeFactor>
</projectile>
</ThingDef>
<ThingDef ParentName="ShuttleSkyfallerBase">
<defName>ArmedShuttleIncoming_WULA</defName>
<label>武装穿梭机 (接近中)</label>
<thingClass>WulaFallenEmpire.ArmedShuttleIncoming</thingClass>
<graphicData>
<graphicClass>Graphic_Multi</graphicClass>
<texPath>Wula/Building/WULA_ArmedShuttle</texPath>
<shaderType>CutoutComplex</shaderType>
<drawSize>(4,4)</drawSize>
</graphicData>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<castEdgeShadows>False</castEdgeShadows>
<size>(4,4)</size>
<skyfaller>
<anticipationSound>Shuttle_Landing</anticipationSound>
<anticipationSoundTicks>250</anticipationSoundTicks>
<ticksToImpactRange>200~250</ticksToImpactRange>
<shadowSize>(3.5,5.5)</shadowSize>
<rotationCurve>
<points>
<li>(0,30)</li>
<li>(0.5,5)</li>
<li>(0.9,-5)</li>
<li>(0.95,0)</li>
</points>
</rotationCurve>
<zPositionCurve>
<points>
<li>(0.95,2.5)</li>
<li>(1,0)</li>
</points>
</zPositionCurve>
<speedCurve>
<points>
<li>(0.6,0.6)</li>
<li>(0.95,0.1)</li>
</points>
</speedCurve>
</skyfaller>
</ThingDef>
<ThingDef ParentName="ShuttleSkyfallerBase">
<defName>ArmedShuttleLeaving_WULA</defName>
<label>武装穿梭机 (离开中)</label>
<thingClass>PassengerShuttleLeaving</thingClass>
<rotatable>true</rotatable>
<graphicData>
<graphicClass>Graphic_Multi</graphicClass>
<texPath>Wula/Building/WULA_ArmedShuttle</texPath>
<shaderType>CutoutComplex</shaderType>
<drawSize>(4,4)</drawSize>
</graphicData>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<castEdgeShadows>False</castEdgeShadows>
<size>(4,4)</size>
<skyfaller>
<reversed>true</reversed>
<anticipationSound>Shuttle_Leaving</anticipationSound>
<anticipationSoundTicks>-10</anticipationSoundTicks>
<ticksToImpactRange>-40~-15</ticksToImpactRange>
<moteSpawnTime>0.05</moteSpawnTime>
<shadow>Things/Skyfaller/SkyfallerShadowRectangle</shadow>
<shadowSize>(3.5,5.5)</shadowSize>
<motesPerCell>1</motesPerCell>
<rotationCurve>
<points>
<li>(0,0)</li>
<li>(0.15,10)</li>
<li>(0.5,-5)</li>
</points>
</rotationCurve>
<zPositionCurve>
<points>
<li>(0,0)</li>
<li>(0.08,2)</li>
</points>
</zPositionCurve>
<speedCurve>
<points>
<li>(0,0.2)</li>
<li>(0.4,0.7)</li>
</points>
</speedCurve>
</skyfaller>
</ThingDef>
<TransportShipDef>
<defName>Ship_ArmedShuttle</defName>
<label>武装穿梭机</label>
<shipThing>WULA_ArmedShuttle</shipThing>
<arrivingSkyfaller>ArmedShuttleIncoming_WULA</arrivingSkyfaller>
<leavingSkyfaller>ArmedShuttleLeaving_WULA</leavingSkyfaller>
<worldObject>PassengerShuttle</worldObject>
<playerShuttle>true</playerShuttle>
</TransportShipDef>
</Defs>