Files
ArachnaeSwarm/Source/ArachnaeSwarm/CompProperties_HunterExplosion.cs
2025-09-12 15:31:34 +08:00

56 lines
1.8 KiB
C#

using System.Collections.Generic;
using RimWorld;
using Verse;
namespace ArachnaeSwarm;
public class CompProperties_HunterExplosion : CompProperties
{
public float explosionRadius = 1.9f;
public DamageDef explosionDamageType;
public int explosionDamageAmount = 50;
public float armorPenetration = -1f;
public SoundDef explosionSound;
public ThingDef weapon;
public ThingDef projectile;
public Thing intendedTarget;
public ThingDef postExplosionSpawnThingDef;
public float postExplosionSpawnChance;
public int postExplosionSpawnThingCount = 1;
public GasType? postExplosionGasType;
public float? postExplosionGasRadiusOverride;
public int postExplosionGasAmount = 255;
public bool applyDamageToExplosionCellsNeighbors;
public ThingDef preExplosionSpawnThingDef;
public float preExplosionSpawnChance;
public int preExplosionSpawnThingCount = 1;
public float chanceToStartFire;
public bool damageFalloff;
public float? direction;
public List<Thing> ignoredThings;
public FloatRange? affectedAngle;
public bool doVisualEffects = true;
public float propagationSpeed = 1f;
public float excludeRadius;
public bool doSoundEffects = true;
public ThingDef postExplosionSpawnThingDefWater;
public float screenShakeFactor = 1f;
public SimpleCurve flammabilityChanceCurve;
public List<IntVec3> overrideCells;
public ThingDef postExplosionSpawnSingleThingDef;
public ThingDef preExplosionSpawnSingleThingDef;
public CompProperties_HunterExplosion()
{
compClass = typeof(CompHunterExplosion);
}
public override void ResolveReferences(ThingDef parentDef)
{
base.ResolveReferences(parentDef);
if (explosionDamageType == null)
{
explosionDamageType = DamageDefOf.Bomb;
}
}
}