Logo Platform
logo amplifiers simplified

Mod to limit or remove alliances?

Reply
Copied to clipboard!
7 years ago
Mar 17, 2018, 11:58:44 PM

I haven't found one yet on the Steam Workshop.


One thing I've found is it's super easy to make an alliance of 4 races which easily beats up on the other races and their none or smaller alliances.  I'd like to see a mod (or make one myself if possible) that limits alliances to just 2 races.  Then another variant that does no alliances for a game where it's all againt all.

0Send private message
7 years ago
Mar 19, 2018, 9:02:34 AM

Hey jpinard,


The solution is to forbid empires from joining existing alliances.

In the vanilla game, creating, joining and inviting to an alliance is done with the same DiplomaticTermDefinition 'AskAlliance', defined in ES2 install folder/Public/Diplomacy/ForeignAffairsConstructibles[Terms].xml.

If you prevent empires from using it when they are in an alliance, and using it with people in an alliance, they will only be able to create, not join or invite.


You can do that by overriding the DiplomaticTermAllianceDefinition 'AskAlliance' and replacing this block:

<DiplomaticRelationStateEmpirePrerequisite Inverted="false" Flags="Prerequisite,Discard" Responsible="EmpireWhichProvides">
    <InterpreterPrerequisite Flags="Prerequisite,Discard">Path(Context,@'../ClassEmpire,!FactionTraitEternalWar') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassLaw,LawEffectP03L00') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassSenator,Politics03')</InterpreterPrerequisite>
</DiplomaticRelationStateEmpirePrerequisite>
<DiplomaticRelationStateEmpirePrerequisite Inverted="false" Flags="Prerequisite,Discard" Responsible="EmpireWhichReceives">
    <InterpreterPrerequisite Flags="Prerequisite,Discard">Path(Context,@'../ClassEmpire,!FactionTraitEternalWar') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassLaw,LawEffectP03L00') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassSenator,Politics03')</InterpreterPrerequisite>
</DiplomaticRelationStateEmpirePrerequisite>

with this block:

<DiplomaticRelationStateEmpirePrerequisite Inverted="false" Flags="Prerequisite,Discard" Responsible="EmpireWhichProvides">
    <InterpreterPrerequisite Flags="Prerequisite,Discard">Path(Context,@'../ClassEmpire,!FactionTraitEternalWar') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassLaw,LawEffectP03L00') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassSenator,Politics03')</InterpreterPrerequisite>
    <PathPrerequisite Flags="Prerequisite,Discard" Inverted="true">ClassEmpire,DiplomacyCountAlliance</PathPrerequisite>
</DiplomaticRelationStateEmpirePrerequisite>
<DiplomaticRelationStateEmpirePrerequisite Inverted="false" Flags="Prerequisite,Discard" Responsible="EmpireWhichReceives">
    <InterpreterPrerequisite Flags="Prerequisite,Discard">Path(Context,@'../ClassEmpire,!FactionTraitEternalWar') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassLaw,LawEffectP03L00') or Path(Context,@'../ClassEmpire,FactionTraitEternalWar/ClassSenate/ClassSenator,Politics03')</InterpreterPrerequisite>
    <PathPrerequisite Flags="Prerequisite,Discard" Inverted="true">ClassEmpire,DiplomacyCountAlliance</PathPrerequisite>
</DiplomaticRelationStateEmpirePrerequisite>

When an empire is in an alliance with someone, the tag "DiplomacyCountAlliance" is applied on the Empire, and it can be used to forbid the term.

0Send private message
7 years ago
Mar 19, 2018, 9:04:56 AM

Also, if you want to disable alliances when there are less than X players, you can simply add this prerequisite:

<InterpreterPrerequisite Flags="Prerequisite,Discard">Property(Context,NumberOfMajorEmpires) ge 6</InterpreterPrerequisite>

In this example it will disable and hide the term when there are less than 6 empires.

0Send private message
7 years ago
Mar 20, 2018, 8:12:59 PM

Excellent.  Thanks for taking the time to help me do that!

0Send private message
?

Click here to login

Reply
Comment

Characters : 0
No results
0Send private message