Suggestion General Remove the "isBanditFaction" check condition for peace declaration

Users who are viewing this thread

Spinozart1

Knight at Arms
@Dejan
Would it be possible to remove the "IsBanditFaction" check condition in the FactionManager class?
All the methods allowing to manage the relation between the factions have this check condition which result in the following:
It is impossible to set the hero faction neutral with any bandit faction.
C#:
        // Token: 0x06000AA1 RID: 2721 RVA: 0x00037308 File Offset: 0x00035508
        public static void DeclareAlliance(IFaction faction1, IFaction faction2)
        {
            if (faction1 != faction2 && !faction1.IsBanditFaction && !faction2.IsBanditFaction)
            {
                FactionManager.SetStance(faction1, faction2, StanceType.Neutral);
            }
        }

        // Token: 0x06000AA2 RID: 2722 RVA: 0x00037327 File Offset: 0x00035527
        public static void DeclareWar(IFaction faction1, IFaction faction2, bool isAtConstantWar = false)
        {
            if (faction1 != faction2 && !faction1.IsBanditFaction && !faction2.IsBanditFaction)
            {
                FactionManager.SetStance(faction1, faction2, StanceType.War).IsAtConstantWar = isAtConstantWar;
            }
        }

        // Token: 0x06000AA3 RID: 2723 RVA: 0x0003734B File Offset: 0x0003554B
        public static void SetNeutral(IFaction faction1, IFaction faction2)
        {
            if (faction1 != faction2 && !faction1.IsBanditFaction && !faction2.IsBanditFaction)
            {
                FactionManager.Instance.GetStanceLinkInternal(faction1, faction2).StanceType = StanceType.Neutral;
            }
        }

I understand it is a default stance you want to keep for the native game.
But in my case I would like to allow the player clan to at least become "neutral" with the bandits.
Maybe you could add a method that could be called by modders?
C#:
        public static void SetNeutralForModders(IFaction faction1, IFaction faction2)
        {
            if (faction1 != faction2)
            {
                FactionManager.Instance.GetStanceLinkInternal(faction1, faction2).StanceType = StanceType.Neutral;
            }
        }
 
Back
Top Bottom