e1.6.0-v1.1.0 Modding Adjustments & Access Modifiers Changes

Users who are viewing this thread

Latinius Cupidus

Knight at Arms
Team: Romans

v1.1.0 Changes​

Greetings!

Patch v1.1.0 came to Beta last week. Here are the modding-related changes that came with it (apologies for posting with delay).
  • Improved scene checker code (editor side) in order to detect various spawn path placement problems.
  • The map camera implementation was separated from the map screen code for easier modding.
    • In response to the community request by Jansen via the modding discord.
  • A new attribute is_moving was added to the monster usage system. It allows specifying different actions in moving or stationary situations.
  • Enabled the ability to give banner tableaus to armor pieces. This change adds native support for armor pieces to have banner textures. It works the same way as shields, banner bearer items etc.
  • Fixed a bug that caused issues with asset importing if there were two modules with the same id.
  • Fixed SpCultures default xml to throw warnings when it has no cultures defined.
  • Animation clips can now be searched by their flags in the resource viewer.
  • Increased the ModifiedDamage compression info limits from 500 to 2000 and clamped the out of limit damage numbers to the min/max values.
  • AddGameMenu and GetGameMenu are now public.
  • Game menu options can work with related objects.
  • Fixed a crash that happens if the main hero talks with a hero that does not have any proper conversation lines. Now he/she says a default conversation line if proper dialog lines were not added.
We continue to work on other modding-related features/issues:
Thank you again for all your feedback and suggestions. If you have any questions or would like to make further requests, please discuss them below (or HERE).
Keep on with the great job!
@Dejan Any chance you have a look at my request?
@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;
            }
        }
 
Top Bottom