飞越物品系统

This commit is contained in:
Tourswen
2025-10-28 01:28:20 +08:00
parent 997f1ecaf8
commit 25531d663d
16 changed files with 1862 additions and 526 deletions

Binary file not shown.

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<!-- 变形技能的定义 -->
<AbilityDef>
@@ -39,4 +39,37 @@
</AbilityDef>
<!-- 能力定义 -->
<AbilityDef>
<defName>ARA_SpawnFlyOverTest</defName>
<label>召唤飞越物体</label>
<description>测试召唤不同类型的飞越物体</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph</iconPath>
<cooldownTicksRange>1</cooldownTicksRange>
<hotKey>Misc12</hotKey>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<nonInterruptingSelfCast>true</nonInterruptingSelfCast>
<warmupTime>1</warmupTime>
<range>19.9</range>
<targetable>true</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilitySpawnFlyOver">
<flyOverDef>ARA_FlyOverShip</flyOverDef>
<flyOverType>Standard</flyOverType>
<flightSpeed>0.01</flightSpeed>
<altitude>20</altitude>
<startPosition>MapEdge</startPosition>
<endPosition>OppositeMapEdge</endPosition>
<playFlyOverSound>true</playFlyOverSound>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef Parent="EtherealThingBase">
<defName>ARA_FlyOverShip</defName>
<label>飞越飞船</label>
<thingClass>ArachnaeSwarm.FlyOver</thingClass>
<tickerType>Normal</tickerType>
<drawerType>RealtimeOnly</drawerType>
<graphicData>
<!-- <texPath>ArachnaeSwarm/Weapon/ARA_Weapon_Empty</texPath> -->
<texPath>ArachnaeSwarm/FlyOverThing/ARA_HiveShip_Shadow</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
<drawSize>(75,170)</drawSize>
<color>(195,195,195,45)</color>
</graphicData>
<skyfaller>
<shadowSize>(0, 0)</shadowSize>
<motesPerCell>0</motesPerCell>
<floatingSound>FlyOver/Flying</floatingSound>
<impactSound>FlyOver/Landing</impactSound>
</skyfaller>
<modExtensions>
<li Class="ArachnaeSwarm.FlyOverShadowExtension">
<customShadowPath>ArachnaeSwarm/FlyOverThing/ARA_HiveShip_Shadow</customShadowPath>
<shadowIntensity>0.8</shadowIntensity>
<useCustomShadow>false</useCustomShadow>
<minShadowAlpha>0</minShadowAlpha>
<maxShadowAlpha>0</maxShadowAlpha>
<minShadowScale>15</minShadowScale>
<maxShadowScale>15</maxShadowScale>
</li>
</modExtensions>
<useHitPoints>false</useHitPoints>
<selectable>false</selectable>
<alwaysHaulable>false</alwaysHaulable>
<altitudeLayer>Projectile</altitudeLayer>
<comps>
<li Class="ArachnaeSwarm.CompProperties_FlyOverDropPods">
<!-- <dropProgress>0.5</dropProgress> -->
<useCyclicDrops>true</useCyclicDrops>
<cyclicDropIntervalHours>1</cyclicDropIntervalHours>
<dropCount>10</dropCount>
<scatterRadius>15</scatterRadius>
<useTradeDropSpot>false</useTradeDropSpot>
<allowFogged>false</allowFogged>
<dropAllInSamePod>false</dropAllInSamePod>
<leaveSlag>false</leaveSlag>
<sendStandardLetter>true</sendStandardLetter>
<customLetterLabel>虫群空调</customLetterLabel>
<customLetterText>虫巢舰正在空投一支虫族部队!</customLetterText>
<!-- 投掷物品 -->
<thingDefs>
<!-- <li>
<thingDef>MealPackaged</thingDef>
<count>20</count>
</li>
<li>
<thingDef>MedicineIndustrial</thingDef>
<count>10</count>
</li> -->
</thingDefs>
<!-- 特定 PawnKind 生成配置 -->
<pawnKinds>
<li>
<pawnKindDef>ArachnaeNode_Race_Fighter_Enermy</pawnKindDef>
<count>5</count>
</li>
<li>
<pawnKindDef>ArachnaeNode_Race_ShieldHead_Enermy</pawnKindDef>
<count>5</count>
</li>
</pawnKinds>
<!-- Pawn 派系配置 -->
<pawnFactionDef>ARA_Hostile_Hive</pawnFactionDef>
<generatePawnsOnDrop>true</generatePawnsOnDrop>
<!-- LordJob 配置 -->
<assignAssaultLordJob>true</assignAssaultLordJob>
<canKidnap>true</canKidnap>
<canTimeoutOrFlee>false</canTimeoutOrFlee>
<useSappers>false</useSappers>
<useAvoidGridSmart>false</useAvoidGridSmart>
<canSteal>false</canSteal>
<useBreachers>false</useBreachers>
<canPickUpOpportunisticWeapons>true</canPickUpOpportunisticWeapons>
<!-- 乘客行为 -->
<joinPlayer>false</joinPlayer>
<makePrisoners>false</makePrisoners>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -71,7 +71,7 @@
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<showAllowAutoRefuelToggle>false</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
<canEjectFuel>true</canEjectFuel>
</li>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="ShellBase">
<ThingDef ParentName="ResourceBase">
<defName>ARA_DummyAmmo</defName>
<label>弹药</label>
<description>阿拉克涅虫族使用的弹药.</description>
@@ -697,7 +697,7 @@
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="ShellBase">
<ThingDef ParentName="ResourceBase">
<defName>ARA_CatastropheMissile_Shell</defName>
<label>天灾酸烧导弹</label>
<description>阿拉克涅虫族使用的天灾酸烧导弹,只有天灾酸烧炮组织可以发射它。</description>
@@ -706,18 +706,10 @@
<texPath>ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<statBases>
<Mass>8</Mass>
</statBases>
<comps>
<li Class="CompProperties_Explosive">
<damageAmountBase>150</damageAmountBase>
<explosiveDamageType>ARA_AcidBurn</explosiveDamageType>
<explosiveRadius>10.9</explosiveRadius>
<postExplosionSpawnThingDef>ARA_Filth_SpentAcid</postExplosionSpawnThingDef>
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>2</postExplosionSpawnThingCount>
<wickTicks>30~60</wickTicks>
<explosionSound>MortarBomb_Explode</explosionSound>
<explosionEffect>ARA_Shell_AcidSpitImpact</explosionEffect>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseBullet">