* 给总体评价评分
*
Smilies
化自在修罗至天
回复 2026-10-17

总体评价: 3 星

打〈更合理的格挡机制〉,人物恢复正常

化自在修罗至天
回复 2026-10-08

总体评价: 3 星

除了角色创建页面人物压缩成一团,在装备栏一些装备显示透明

sksk5454
回复 2026-10-06

总体评价: 3 星

人物会折叠呀5555

nedvedii
回复 2026-10-03

总体评价: 3 星

“可加入既有存档、无需重开;卸载时可先取消 SoldiersLifeEvolution 保留本体,操作前建议在大地图另存副本。”
具体如何只卸载SoldiersLifeEvolution 保留本体呢?需要本体更新到3.05解决晋升同伴装备技能问题!

nedvedii
回复 2026-10-03

总体评价: 3 星

怀疑是「战斗与人格扩展(SoldiersLifeEvolution)」对游戏界面的修改有问题,造成人物折叠,望解决或者拆分mod

老谁家的小谁 回复 arthur.zhu :
回复 2026-10-03

在那个群里
6666999:
回复 2026-10-03

就是这个,我把SoldiersLifeEvolution.dll禁用了就没事了,但是士兵血量和伤害这些功能也没了
arthur.zhu:
回复 2026-10-03

最新版紧急修复了,进群拿最新版或者等中文站审核
nedvedii
回复 2026-10-03

总体评价: 3 星

从2.72版本更新到3.05final后,人物界面出现横倒折叠“肉弹”BUG,望尽快修正!!

elexqqvv520:
回复 2026-10-03

俺也一样
6666999:
回复 2026-10-03

我也是,太吓人了
6666999
回复 2026-10-03

总体评价: 5 星

最近在玩华夏帝国mod,所以我增加了华夏文化的士兵命名,全部使用百家姓,且命名格式为[姓][名字],另外我修改了人头击杀数分配规则,根据【近战最高熟练度+远程最高熟练度】(远程杀人往往更多)以及阶级(体现装备差异)权重随机分配,这样比帝国新兵和巴弓一起轮换吃大锅饭合理的多。如果作者愿意授权的话我把修改后的发出来

arthur.zhu:
回复 2026-10-03

下一版会改成按实际击杀数
arthur.zhu:
回复 2026-10-03

下一版会改成按实际击杀数
6666999
回复 2026-10-03

总体评价: 5 星

说实话,击杀数轮换分配非常不合理,一个帝国农民和顶级精锐一起吃“大锅饭”?
我修改了一下你的分配代码:            // ---- 击杀分配:加权随机分配,高级兵与射手权重更高 ----
            if (enemyCasualties > 0 && healthyBeforeBattle.Count > 0)
            {
                // 只在幸存的健康士兵中分配(排除本场阵亡者)
                List killers = new List();
                for (int i = 0; i < healthyBeforeBattle.Count; i++)
                {
                    if (healthyBeforeBattle.StatusEnum != SoldierStatus.Killed)
                        killers.Add(healthyBeforeBattle);
                }

                if (killers.Count > 0)
                {
                    // 计算每个士兵的权重
                    Dictionary weights = new Dictionary();
                    int totalWeight = 0;
                    for (int i = 0; i < killers.Count; i++)
                    {
                        SoldierRecord s = killers;
                        int weight = 0;

                        // 阶级保底权重
                        weight += s.CurrentTier * 30;

                        CharacterObject troop = ResolveTroop(s.TroopStringId);
                        if (troop != null)
                        {
                            // 近战三系取最高,双手 ×1.2
                            int meleeMax = Math.Max(
                                troop.GetSkillValue(DefaultSkills.OneHanded),
                                Math.Max(
                                    (int)(troop.GetSkillValue(DefaultSkills.TwoHanded) * 1.2),
                                    troop.GetSkillValue(DefaultSkills.Polearm)
                                )
                            );
                            weight += meleeMax;

                            // 远程三系取最高,弓 ×1.2、投掷 ×0.8
                            int rangedMax = Math.Max(
                                (int)(troop.GetSkillValue(DefaultSkills.Bow) * 1.2),
                                Math.Max(
                                    troop.GetSkillValue(DefaultSkills.Crossbow),
                                    (int)(troop.GetSkillValue(DefaultSkills.Throwing) * 0.8)
                                )
                            );
                            weight += rangedMax;
                        }

                        if (weight < 1) weight = 1;
                        weights[s.Id] = weight;
                        totalWeight += weight;
                    }

                    Dictionary killsThisBattle = new Dictionary();

                    // 加权随机分配:每次抽一个士兵,权重越高越容易被抽中
                    for (int k = 0; k < enemyCasualties; k++)
                    {
                        int roll = _random.Next(totalWeight);
                        int cumulative = 0;
                        SoldierRecord chosen = killers[0];

                        for (int i = 0; i < killers.Count; i++)
                        {
                            cumulative += weights[killers.Id];
                            if (roll < cumulative)
                            {
                                chosen = killers;
                                break;
                            }
                        }

                        chosen.TotalKills++;
                        int c;
                        killsThisBattle.TryGetValue(chosen.Id, out c);
                        killsThisBattle[chosen.Id] = c + 1;
                    }

                    foreach (KeyValuePair kc in killsThisBattle)
                    {
                        SoldierRecord s = GetSoldier(kc.Key);
                        if (s != null && kc.Value > s.BestKillsInBattle)
                            s.BestKillsInBattle = kc.Value;
                    }
                }
            }

6666999
回复 2026-10-02

总体评价: 5 星

小兵姓名只能是西方格式吗?能不能考虑加入一些中国人名进去

arthur.zhu
回复 2026-10-02

总体评价: 5 星

人物折叠BUG进群拿最新版,正文有群号

12345下一页