暂存
This commit is contained in:
@@ -14,7 +14,6 @@ namespace ArachnaeSwarm
|
||||
public int rechargeHitPointsIntervalTicks = 60; // Ticks to restore 1 HP
|
||||
|
||||
// New properties for psyfocus/entropy mechanics
|
||||
// Removed psyfocusCostForFullRecharge
|
||||
public float psyfocusCostPerInterval = 0.001f; // e.g., 0.1% of max psyfocus per recharge interval
|
||||
public float entropyGainPerDamage = 0.5f; // For self
|
||||
// Removed entropyGainPerAllyDamage
|
||||
@@ -22,6 +21,11 @@ namespace ArachnaeSwarm
|
||||
public EffecterDef absorbEffecter;
|
||||
// Removed transferAllyDamage
|
||||
|
||||
// Projectile interception properties
|
||||
public bool interceptGroundProjectiles = false;
|
||||
public bool interceptNonHostileProjectiles = false;
|
||||
public bool interceptAirProjectiles = true;
|
||||
|
||||
public EffecterDef interceptEffecter;
|
||||
public EffecterDef breakEffecter;
|
||||
public EffecterDef reactivateEffecter;
|
||||
@@ -134,9 +138,10 @@ namespace ArachnaeSwarm
|
||||
{
|
||||
if (!Active) return false;
|
||||
|
||||
// We now intercept all projectiles, the filter will be done by the PostPreApplyDamage on self
|
||||
// and the TryAbsorbDamageForAllyOnly for allies.
|
||||
// This method is only for projectile visual/sound and psyfocus cost.
|
||||
// Filter projectile types based on properties
|
||||
if (projectile.def.projectile.flyOverhead && !Props.interceptAirProjectiles) return false;
|
||||
if (!projectile.def.projectile.flyOverhead && !Props.interceptGroundProjectiles) return false;
|
||||
if (projectile.Launcher != null && !projectile.Launcher.HostileTo(PawnOwner.Faction) && !Props.interceptNonHostileProjectiles) return false;
|
||||
|
||||
// --- Interception Success ---
|
||||
lastInterceptTicks = Find.TickManager.TicksGame;
|
||||
|
||||
Reference in New Issue
Block a user