Illness Dehydration 脱水 public override void Initialize(Member member)
base.Initialize(member);
this.m_requiredThirstDuration = 0f;
this.m_healthDamageInterval = 30f; 【此处是伤害间隔,数值越大掉血越慢 可修改数据:30F】
this.m_thirstHealthDamageAmount = 1;【此处是每次掉血数量,保持1不变】
this.m_healthDamageTime = 0f; Illness FoodPoisoning 食物中毒 private float baseDuration = 0.01f * TimeManager.secondsInGameDay; 【此处是食物中毒持续时间,数值越小 中毒恢复越快】 Illness HeatExhaustion 热衰竭【简称:中暑】 public override void Initialize(Member member)
base.Initialize(member);
this.m_requiredHotDuration = TimeManager.secondsInGameDay / 24f * 20f; 【此处是在热的温度持续多久 方可造成热衰竭 数值越大抗热时间越久 可修改数据:20F】
this.m_requiredColdDuration = TimeManager.secondsInGameDay / 24f * 0.1f; 【此处是已中暑在低温环境下多久可恢复正常 数值越小恢复越快 可修改数据:0.1F】
this.m_heatDamageInterval = TimeManager.secondsInGameDay / 24f * 2f; 【此处是伤害间隔,数值越大掉血越慢 可修改数据:2F】
this.m_heatHealthDamageAmount = 1;【此处是每次掉血数量,保持1不变】
this.m_heatDamageTime = 0f; Illness Hypothermia 冰冻症【简称:冻伤】 public override void Initialize(Member member)
base.Initialize(member);
this.m_requiredColdDuration = TimeManager.secondsInGameDay / 24f * 20f; 【此处是在寒冷的温度持续多久 方可造成冻伤 数值越大抗寒冷时间越久 可修改数据:20F】
this.m_requiredWarmthDuration = TimeManager.secondsInGameDay / 24f * 0.1f; 【此处是已冻伤在高温环境下多久可恢复正常 数值越小恢复越快 可修改数据:0.1F】
this.m_hypoDamageInterval = TimeManager.secondsInGameDay / 24f * 2f; 【此处是伤害间隔,数值越大掉血越慢 可修改数据:2F】
this.m_hypoHealthDamageAmount = 1;【此处是每次掉血数量,保持1不变】
this.m_hypoDamageTime = 0f;
Illness Malnourishment 营养不良【简称:饥饿】 public override void Initialize(Member member)
base.Initialize(member);
this.m_requiredHungerDuration = 0f;
this.m_healthDamageInterval = 30f;【此处是伤害间隔,数值越大掉血越慢 可修改数据:30F】
this.m_hungerHealthDamageAmount = 1;【此处是每次掉血数量,保持1不变】
this.m_healthDamageTime = 0f; ObjectInteraction Rest 休息【回血用的】单人床
public override bool BeginInteraction(MemberReferenceHolder memberRH)
base.BeginInteraction(memberRH);
this.m_startHealth = (float)memberRH.member.health;
float num = TimeManager.instance.GameSecondsToRealSeconds(3600f * this.m_healingRate);
float num2 = 0f;
if (this.CheckForSkill(ProfessionsManager.ProfessionSkillType.BedsideManner, memberRH))
num2 += num * 0.1f;
if (memberRH.member.profession.AllUnlockedSkills.ContainsKey(ProfessionsManager.ProfessionSkillType.FastHealer))
num2 += num * 0.05f * (float)memberRH.member.profession.AllUnlockedSkills[ProfessionsManager.ProfessionSkillType.FastHealer].m_skillLevel;
num -= num2;
this.interactionLength = ((float)memberRH.member.maxHealth - (float)memberRH.member.health) / 1000f * num; 【此处是休息用的时间 数值越大 使用时间越短 可修改数据:1000F】
this.m_healAmountPerSecond = 1000f / num;【此处是回血速度数值越大回血越快 可修改数据:1000F】
memberRH.member.needs.fatigue.Pause();
memberRH.transform.rotation = Quaternion.LookRotation(-base.obj.GetInteractionTransform(0, memberRH.member.isSlave).forward);
memberRH.member.StartInteractingWithObjectInt();
memberRH.member.TriggerAnim("Sleep");
if (this.bed)
this.bed.memberSleeping = memberRH;
this.bed.m_degradeFromUse = true;
return true;
ObjectInteraction Rest With Bunk Bed 休息【回血用的】双人床【修改和单人床一样 此处代码就不重复发了】 ObjectInteraction Shower 淋浴 public override bool BeginInteraction(MemberReferenceHolder memberRH)
Object_Shower component = base.GetComponent<Object_Shower>();
if (component == null)
Debug.LogError("Interaction_Shower: Can't find shower to shower in");
return false;
component.ToggleCurtain(true);
component.UseShower(true);
component.m_degradeFromUse = true;
float num = TimeManager.instance.GameSecondsToRealSeconds(3600f * base.StartingInteractionLength);【此处可修改清洁所需时间 数值越大清洁速度越快 可修改数据:3600F】
this.interactionLength = memberRH.member.needs.dirtiness.NormalizedValue * num;
this.m_cleanlinessAmountPerSecond = 1000f / num;【此处修改每秒清洁度 数值越大清洁度越大 可修改数据:1000F】
this.m_waterUsagePerSecond = component.WaterUsage / num;
this.m_waterUsed = 0f;
if (this.m_hasSoap)
num *= 0.75f;
this.m_waterUsagePerSecond *= 0.75f;
memberRH.transform.position = component.GetInteractionTransform(0, false).position;
memberRH.member.StartInteractingWithObjectInt();
memberRH.member.TriggerAnim("Shower");
return base.BeginInteraction(memberRH); ObjectInteraction Sleep 睡眠 【单人床】 public override bool BeginInteraction(MemberReferenceHolder memberRH)
base.BeginInteraction(memberRH);
float num = base.StartingInteractionLength;
this.setParticles = false;
if (memberRH.member.traits.HasStrength(Traits.Strength.DeepSleeper))
num *= 0.75f;
else if (memberRH.member.traits.HasWeakness(Traits.Weakness.LightSleeper))
num *= 1.25f;
float num2 = TimeManager.instance.GameSecondsToRealSeconds(3600f * num);
this.interactionLength = memberRH.member.needs.fatigue.Value / 1000f * num2; 【此处是使用时间 数值越大使用越快可修改数据:1000F】
this.m_restAmountPerSecond = 1000f / num2; 【此处是恢复睡眠,数值越大恢复越大 可修改数据:1000F】
float num3 = TimeManager.instance.GameSecondsToRealSeconds(3600f * this.m_healingRate);
this.m_healAmountPerSecond = 1000f / num3; 【此处是恢复健康,数值越大恢复越大 可修改数据:1000F】
memberRH.member.needs.fatigue.Pause();
memberRH.transform.rotation = Quaternion.LookRotation(-base.obj.GetInteractionTransform(0, memberRH.member.isSlave).forward);
memberRH.member.StartInteractingWithObjectInt();
memberRH.member.TriggerAnim("Sleep");
if (memberRH.member.CurrentArea.CurrentAssignedMember != memberRH.member.GetID && memberRH.member.CurrentArea.CurrentAssignedMember != -1)
MemberManager.instance.GetMemberByID(memberRH.member.CurrentArea.CurrentAssignedMember).moodModifiers.AddMoodModifier(MoodModifierType.SomeonesInMyBed, "");
if (this.bed)
this.bed.memberSleeping = memberRH;
this.bed.m_degradeFromUse = true;
return true; ObjectInteraction SleepBunkBed 睡眠 【双人床】 【修改和单人床一样 代码就不重复发了】 Object CCTV 监控 private float m_breachWarningTime = 360f; 【此处修改监控提前发现敌人预警 数值越大 提前时间越早 可修改数据:360F】 Object Integrity 建筑完整度【简称:耐久】多处修改 第一处:protected virtual void UpdateIntegrity()
if (this.m_integrityReductionType == Object_Integrity.IntegrityReductionType.Never)
return;
if (this.m_integrityReductionType == Object_Integrity.IntegrityReductionType.InUse && (!this.beingUsed || !this.m_degradeFromUse))
return;
if (!base.isOperating)
return;
if (TutorialManager.Instance != null && TutorialManager.Instance.IsTutorialActive)
return;
if (LeaderTraitsManager.instance.Neglectful)
this.m_integrity -= this.m_degradeRatePerRealSecond * this.m_degredationModifier * 1E-05f * Time.deltaTime; 【此处修改数据:1E-05F 数值越大,耐久掉的越慢】
else
this.m_integrity -= this.m_degradeRatePerRealSecond * this.m_degredationModifier * Time.deltaTime;
if (this.m_integrity < this.m_smokeThreshold != this.m_isSmoking)
this.SetSmokingState(!this.m_isSmoking);
if (this.m_integrity <= 0f && !base.isBroken)
this.m_integrity = 0f;
this.OnItemBroken(); 第二处:m_degredationModifier = 0.001f;【此处修改数据:0.001F 】 第三处:private float m_degradeRatePerGameHour = 1E-05f;【此处修改数据:1E-05F 】 地四处:m_degredationModifier = 0.001f;【此处修改数据:0.001F 】 建筑完整度修改注意:四处修改完后,已建造的设施不接受修改过的数据,需要把原先建好的设施拆除后,重新建造,才能有效,系统开局自带的设施无法接受此数据,但是测试发现,把自带设施升级后有轻微作用缓解设施耐久老化。数据修改完后,建造设施最好用3星材料建造,尽可能的让设施的耐久度最大化。游戏建议把主角所有属性升满20,开局直接冒险找到新秩序总部,灭了他,可以直接解锁四级建筑,搭配修改过的完整度,保持耐久最大化。打架推荐使用【精密二过一】技能,此技能在智力里面解锁,读智力书快速的升级获得属性。 另外:有些玩家说CE不能修改属性点,其实可以的,反向修改就行了下面介绍CE修改教程。 一、比如开局选择运动健将属性 力量3 敏捷5 魅力3 感知1 智力2 毅力4 剩余点数:0 二、我们把属性全部还原成1 结果如下: 力量1 敏捷1 魅力1 感知1 智力1 毅力1 剩余点数:12 三、打开CE修改器 打开对应游戏进程 4字节 精确数值 搜索1会跳出一堆数据出来 四、切换到游戏给每个属性加一点变成如下数据: 力量2 敏捷2 魅力2 感知2 智力2 毅力2 剩余点数:6 五、切换CE 再次搜索数据2 多次点击再次搜索刷新数据 此次差不多还是一两百个了 六、切换到游戏再给每个属性加一点变成如下数据: 力量3 敏捷3 魅力3 感知3 智力3 毅力3 剩余点数:0 七、切换CE 再次搜索数据3 多次点击再次搜索刷新数据 此次应该出现18个左右的数据了。 八、切换到游戏,把属性恢复成如下数据: 力量1 敏捷1 魅力1 感知1 智力1 毅力1 剩余点数:12 九、切换到CE,你会发现CE列表数据全部变成1了,下面我们把CE列表数据全部修改成5 十、再次切换到游戏,随便给一个属性加一点,你会发现数据会变成如下: 力量5 敏捷5 魅力5 感知5 智力5 毅力5 剩余点数:-12 这样我们的属性就修改成功了,其他两个人物角色也是这样修改。 教程到此结束。
|