using System; using Verse; namespace WulaFallenEmpire { public class HediffCompProperties_Spawner : HediffCompProperties { public HediffCompProperties_Spawner() { this.compClass = typeof(HediffComp_Spawner); } /// /// 要生成的物品的ThingDef。如果animalThing为false,则使用此项。 /// public ThingDef thingToSpawn; /// /// 每次生成的基础物品数量。 /// public int spawnCount = 1; /// /// 如果为true,则生成一个Pawn(动物)。如果为false,则生成一个Thing。 /// public bool animalThing; /// /// 要生成的动物的PawnKindDef。如果animalThing为true,则使用此项。 /// public PawnKindDef animalToSpawn; /// /// 如果为true,生成的动物将属于玩家派系。 /// public bool factionOfPlayerAnimal; /// /// 下一次生成事件发生前的最少天数。 /// public float minDaysB4Next = 1f; /// /// 下一次生成事件发生前的最大天数。 /// public float maxDaysB4Next = 2f; /// /// 生成后进入宽限期(延迟下一次生成)的几率(0.0到1.0)。 /// public float randomGrace; /// /// 如果触发,宽限期的持续时间(天)。 /// public float graceDays = 0.5f; /// /// 附近允许的相同Pawn的最大数量。如果超过该数量,则暂停生成。-1为禁用。 /// public int spawnMaxAdjacent = -1; /// /// 如果为true,生成的物品将被禁用。 /// public bool spawnForbidden; /// /// 如果为true,当宿主Pawn饥饿时,生成将暂停。 /// public bool hungerRelative; /// /// 如果为true,当宿主Pawn受伤时,生成将暂停。 /// public bool healthRelative; /// /// 如果为true,生成数量将根据宿主的年龄进行调整。 /// public bool ageWeightedQuantity; /// /// 如果为true,生成周期(两次生成之间的时间)将根据宿主的年龄进行调整。 /// public bool ageWeightedPeriod; /// /// 如果为true且ageWeightedPeriod为true,则随着宿主年龄增长,生成周期变短。如果为false,则变长。 /// public bool olderSmallerPeriod; /// /// 如果为true且ageWeightedQuantity为true,则随着宿主年龄增长,生成数量变多。如果为false,则变少。 /// public bool olderBiggerQuantity; /// /// 如果为true且ageWeightedQuantity为true,则随年龄增长的数量缩放将是指数性的而非线性的。 /// public bool exponentialQuantity; /// /// 指数级数量缩放的最大乘数,以防止出现荒谬的数字。 /// public int exponentialRatioLimit = 15; /// /// 生成时显示的消息的翻译键(例如,“{PAWN}下了一个蛋。”)。 /// public string spawnVerb = "delivery"; /// /// 如果为true,则为此组件启用详细的调试日志记录。 /// public bool debug; } }