保持年轻

保持年轻

阻止你所有氏族成员的衰老

角色

阻止你所有氏族成员的老化

这个 Mod 是我开始学习 C 语言后的成果。

我不知道它是否适用于旧版本。

我不知道将来是否会更新这个模组。

如果玩家氏族的成员年龄超过 22 岁,年龄将被设定为 22 岁。

不应与任何其他模组冲突

欢迎随意复制我的代码并重新上传该模组,这样我就不用自己维护了。(如果你这么做了,最好附上链接并注明出处。)

源代码:

using System;
using TaleWorlds.CampaignSystem;
using TaleWorlds.Core;
using TaleWorlds.MountAndBlade;

namespace 保持年轻
{
    public class Main : MBSubModuleBase
    {
        protected override void OnGameStart(Game game, IGameStarter gameStarter)
        {
            // 角色期望年龄
            const float age = 22.0f;
            CampaignEvents.DailyTickEvent.AddNonSerializedListener((object) this, new Action(() =>
            {
                if (Math.Abs(Hero.MainHero.Age - age) > 1)
                {
                    var birthday = CampaignTime.Now - CampaignTime.Years(age);
                    Hero.MainHero.SetBirthDay(birthday);
                    if (Hero.MainHero.Spouse != null && !Hero.MainHero.Spouse.IsDead && Hero.MainHero.Spouse.Age > age)
                    {
                        Hero.MainHero.Spouse.SetBirthDay(birthday);
                    }
                }
                if (Clan.PlayerClan != null)
                {
                    foreach (var hero in Clan.PlayerClan.Heroes)
                    {
                        var birthday = CampaignTime.Now - CampaignTime.Years(age);
                        if (hero.Age > age)
                            hero.SetBirthDay(birthday);
                    }
                }
            }));
        }
    }
}