Files
WulaFallenEmpireRW/Source/WulaFallenEmpire/Ability/WULA_LaunchMultiProjectile/CompProperties_AbilityLaunchMultiProjectile.cs
2026-02-24 12:02:38 +08:00

48 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Verse;
using RimWorld;
using System.Collections.Generic;
namespace WulaFallenEmpire
{
public class CompProperties_AbilityLaunchMultiProjectile : CompProperties_AbilityLaunchProjectile
{
public int numProjectiles = 1;
// 发射间隔控制
public int shotIntervalTicks = 0; // 每两发射弹的间隔时间tick
public bool useSustainedJob = false; // 是否使用持续Job
// 偏移范围
public float offsetRadius = 0f;
public bool useRandomOffset = false;
public FloatRange offsetRange = new FloatRange(-1f, 1f);
public bool offsetInLineOnly = false;
public bool offsetInCircle = true;
public float minOffsetDistance = 0f;
public bool avoidOverlap = false;
public float minProjectileSpacing = 1f;
// 持续发射控制
public int maxSustainTicks = 180; // 最大持续时间(参考火焰技能)
public int startDelayTicks = 10; // 开始发射前的延迟
// 状态定义
public List<ProjectileState> states;
public CompProperties_AbilityLaunchMultiProjectile()
{
compClass = typeof(CompAbilityEffect_LaunchMultiProjectile);
}
}
// 射弹状态参数
public class ProjectileState
{
public HediffDef hediffDef; // 触发的hediff
public int numProjectiles = 1; // 射弹数量(可选)
public ThingDef projectileDef; // 射弹类型(可选)
public float offsetRadius = 0f; // 偏移半径(可选)
public int shotIntervalTicks = 0; // 发射间隔(可选)
}
}