This commit is contained in:
2025-10-15 15:40:34 +08:00
parent 500e13da70
commit 06c3ea0409
7 changed files with 50 additions and 13 deletions

Binary file not shown.

View File

@@ -37,13 +37,13 @@
<apparelDef>ARA_SpiderOne_PowerArmor</apparelDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10.0</fuelCapacity>
<fuelCapacity>100.0</fuelCapacity>
<fuelFilter>
<categories>
<li>FoodMeals</li>
<li>FoodRaw</li>
</categories>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<initialFuelPercent>1</initialFuelPercent>
<autoRefuelPercent>0.5</autoRefuelPercent>
<showFuelGizmo>true</showFuelGizmo>
@@ -111,13 +111,14 @@
</cocoonDefs>
</li>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10.0</fuelCapacity>
<silent>true</silent>
<fuelCapacity>100.0</fuelCapacity>
<fuelFilter>
<categories>
<li>FoodMeals</li>
<li>FoodRaw</li>
</categories>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<initialFuelPercent>1</initialFuelPercent>
<autoRefuelPercent>0.5</autoRefuelPercent>
<showFuelGizmo>true</showFuelGizmo>

View File

@@ -74,7 +74,7 @@
<li Class="ArachnaeSwarm.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
<forcedTraits>
<li>ARA_Huge_Weapon</li>
<li>ARA_Weapon_Damage_Acid</li>
<li>ARA_Weapon_Damage_FrostExplode</li>
</forcedTraits>
<numTraitsRange>
<min>2</min>

View File

@@ -77,4 +77,15 @@
<statFactors>
</statFactors>
</WeaponTraitDef>
<WeaponTraitDef>
<defName>ARA_Weapon_Damage_FrostExplode</defName>
<label>霜冻爆炸</label>
<description>这种武装器官发射的霜冻气雾能够沾染敌人,被沾染的敌人会再次爆炸。</description>
<commonality>1</commonality>
<weaponCategory>ARA_Weapon_Damage_Category</weaponCategory>
<statOffsets>
</statOffsets>
<statFactors>
</statFactors>
</WeaponTraitDef>
</Defs>

View File

@@ -7,13 +7,27 @@ namespace ArachnaeSwarm
{
public class CompProperties_RefuelableNutrition : CompProperties_Refuelable
{
public bool silent = false;
public CompProperties_RefuelableNutrition()
{
compClass = typeof(CompRefuelableNutrition);
// 默认启用这些Gizmo除非在XML中明确设置为false
this.targetFuelLevelConfigurable = true;
this.showAllowAutoRefuelToggle = true;
}
public override IEnumerable<StatDrawEntry> SpecialDisplayStats(StatRequest req)
{
if (silent)
{
yield break; // If silent, return nothing.
}
foreach (var stat in base.SpecialDisplayStats(req))
{
yield return stat;
}
}
}
[StaticConstructorOnStartup]

View File

@@ -152,7 +152,7 @@ namespace ArachnaeSwarm
}
}
#endregion
#region State-Switching
public override void Notify_Unequipped(Pawn pawn)
{

View File

@@ -20,6 +20,17 @@ namespace ArachnaeSwarm
{
public CompProperties_PowerArmorStation Props => (CompProperties_PowerArmorStation)props;
public override void CompTick()
{
base.CompTick();
var fuelComp = parent.GetComp<CompRefuelableNutrition>();
if (fuelComp != null)
{
// Set consumption rate to 0 when in building form
fuelComp.currentConsumptionRate = 0f;
}
}
public override IEnumerable<FloatMenuOption> CompFloatMenuOptions(Pawn selPawn)
{
foreach (FloatMenuOption option in base.CompFloatMenuOptions(selPawn))