Files
ArachnaeSwarm/Source/ArachnaeSwarm/Abilities/ARA_PsychicResearchHarvest/CompProperties_AbilityPsychicResearchHarvest.cs
2026-02-04 12:02:40 +08:00

158 lines
4.3 KiB
C#

using RimWorld;
using UnityEngine;
using Verse;
namespace ArachnaeSwarm
{
/// <summary>
/// 灵能科研点收割技能属性
/// </summary>
public class CompProperties_AbilityPsychicResearchHarvest : CompProperties_AbilityEffect
{
#region
/// <summary>
/// 基础收割量
/// </summary>
public float baseAmount = 100f;
/// <summary>
/// 智识倍率
/// </summary>
public float intelligenceMultiplier = 50f;
/// <summary>
/// 意识倍率
/// </summary>
public float consciousnessMultiplier = 100f;
/// <summary>
/// 全局乘数
/// </summary>
public float overallMultiplier = 1f;
/// <summary>
/// 是否使用随机范围
/// </summary>
public bool useRandomRange = false;
/// <summary>
/// 随机范围(乘数)
/// </summary>
public FloatRange randomRange = new FloatRange(0.8f, 1.2f);
/// <summary>
/// 最低收割量(确保至少收获这么多)
/// </summary>
public float minimumAmount = 10f;
/// <summary>
/// 是否允许科研点溢出(超过上限)
/// </summary>
public bool allowOverflow = false;
#endregion
#region
/// <summary>
/// 是否可以对倒下的目标使用
/// </summary>
public bool canTargetDowned = false;
/// <summary>
/// 是否要求目标必须有意识来源器官
/// </summary>
public bool requireConsciousnessSource = true;
/// <summary>
/// 在工具提示中显示详细计算
/// </summary>
public bool showDetailedCalculation = true;
#endregion
#region
/// <summary>
/// 部位摧毁伤害倍数(基于部位最大生命值)
/// </summary>
public float partDestructionDamageMult = 2.0f;
/// <summary>
/// 摧毁部位使用的伤害类型
/// </summary>
public DamageDef destroyDamageType = null;
/// <summary>
/// 摧毁部位时的特效
/// </summary>
public FleckDef destroyFleck = null;
/// <summary>
/// 是否显示器官摧毁消息
/// </summary>
public bool showDestroyMessage = true;
/// <summary>
/// 是否可能杀死目标
/// </summary>
public bool canKillTarget = false;
/// <summary>
/// 完全摧毁意识来源器官时的杀死几率
/// </summary>
public float killChanceOnCompleteDestruction = 0.3f;
/// <summary>
/// 杀死目标时使用的伤害类型
/// </summary>
public DamageDef killDamageType = null;
/// <summary>
/// 是否显示杀死消息
/// </summary>
public bool showKillMessage = true;
#endregion
#region
/// <summary>
/// 收割时的特效
/// </summary>
public EffecterDef harvestEffecter = null;
/// <summary>
/// 惩罚效果
/// </summary>
public EffecterDef penaltyEffecter = null;
/// <summary>
/// 意识惩罚Hediff
/// </summary>
public HediffDef consciousnessPenaltyHediff = null;
/// <summary>
/// 失去意识Hediff
/// </summary>
public HediffDef unconsciousnessHediff = null;
/// <summary>
/// 是否显示收割消息
/// </summary>
public bool showHarvestMessage = true;
/// <summary>
/// 自定义收割消息翻译键
/// </summary>
public string customHarvestMessageKey = null;
/// <summary>
/// 是否显示目标受损消息
/// </summary>
public bool showTargetDamageMessage = true;
#endregion
#region
public CompProperties_AbilityPsychicResearchHarvest()
{
compClass = typeof(CompAbilityEffect_PsychicResearchHarvest);
}
#endregion
}
}