158 lines
4.3 KiB
C#
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
|
|
}
|
|
}
|