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

View File

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

View File

@@ -77,4 +77,15 @@
<statFactors> <statFactors>
</statFactors> </statFactors>
</WeaponTraitDef> </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> </Defs>

View File

@@ -7,13 +7,27 @@ namespace ArachnaeSwarm
{ {
public class CompProperties_RefuelableNutrition : CompProperties_Refuelable public class CompProperties_RefuelableNutrition : CompProperties_Refuelable
{ {
public bool silent = false;
public CompProperties_RefuelableNutrition() public CompProperties_RefuelableNutrition()
{ {
compClass = typeof(CompRefuelableNutrition); compClass = typeof(CompRefuelableNutrition);
// 默认启用这些Gizmo除非在XML中明确设置为false
this.targetFuelLevelConfigurable = true; this.targetFuelLevelConfigurable = true;
this.showAllowAutoRefuelToggle = 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] [StaticConstructorOnStartup]

View File

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

View File

@@ -20,6 +20,17 @@ namespace ArachnaeSwarm
{ {
public CompProperties_PowerArmorStation Props => (CompProperties_PowerArmorStation)props; 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) public override IEnumerable<FloatMenuOption> CompFloatMenuOptions(Pawn selPawn)
{ {
foreach (FloatMenuOption option in base.CompFloatMenuOptions(selPawn)) foreach (FloatMenuOption option in base.CompFloatMenuOptions(selPawn))