Trigan Emperor
Prince
- Joined
- Apr 11, 2015
- Messages
- 438
Is it possible to mod city-states to make them rebel and defect like other cities (although maybe a bit harder)?
I had a look, but couldn't find it.Yes, you'd have to find the global define (I presume that's where it's coming from, or it's a modifier) that grants Loyalty per number of deployed Envoys. Decrease/disable that and they'll start falling like dominoes.
City States inherently can flip, but it's incredibly difficult to do so because of the above, which keeps their loyalty at a high.
I didn't know one could click under the city banner in the loyalty lens to bring up an infobox with greater detail.Did you use a mod or change game files? What did the loyalty lens/dropdown show?
City-States are a special case within the Loyalty pressure system, in that that they are practically excluded from it. They have a special extra loyalty feat which ensures that they can resist even the most powerful pressure from nearby civilizations. So, despite the new Loyalty mechanic, City-States remain always independent and loyal only to themselves (until conquered by someone, of course).
Without knowing the exact values of these things, it's difficult to demonstrate that it is mathematically impossible for a city-state to loyalty-flip, or know how to modify it to a desired level.Use the amplified effect of Ages if you are in a better Age than your opponent.
Use Spies to neutralize the target city's Governor and perform Foment Unrest missions.
Grow your bordering cities' Citizen6 Populations as quickly as possible, as described above.
Run Bread and Circuses projects to amplify your pressure; ideally they should be run in big cities surrounding the target.
"Flank" the target city by having numerous cities of your own surrounding it.
Use Governor Amani's Emissary title.
Convert the city to your religion.
GS-Only Use Great Works when playing as Eleanor of Aquitaine.
GS-Only Run the Move Capital project to move your Capital6 Capital to shift your Loyalty pressure when
playing as Dido.
GS-Only Slot the Hallyu policy card, purchase Rock Bands with the Indie promotion, and send them to perform concerts in the city. Two concerts will reduce the city's Loyalty to 20; a third will turn it into a Free City.
From the screenshot, it doesn't look like your modified value for 'IDENTITY_PER_TURN_FROM_CITY_STATES' is being applied. It's still at +20.The city-state has got very healthy loyalty. Even without the +20 City-State bonus, it's got full loyalty.
Not true. CSs can be flipped it's just not particularly easy.According to the Wiki, city-states cannot be loyalty-flipped
Yeah, maybe it needs a later load order. Here's the code I added. Expansion2 adds the exact same code (with different Value), so I guess they are both being loaded at the same time.From the screenshot, it doesn't look like your modified value for 'IDENTITY_PER_TURN_FROM_CITY_STATES' is being applied. It's still at +20.
<GameInfo>
<GlobalParameters>
<Replace Name="IDENTITY_PER_TURN_FROM_CITY_STATES" Value="0" />
</GlobalParameters>
</GameInfo>
Honestly, you should add a high LoadOrder to any modinfo block that makes changes to the database just to be safe.Yeah, maybe it needs a later load order. Here's the code I added. Expansion2 adds the exact same code (with different Value), so I guess they are both being loaded at the same time.
Code:<GameInfo> <GlobalParameters> <Replace Name="IDENTITY_PER_TURN_FROM_CITY_STATES" Value="0" /> </GlobalParameters> </GameInfo>
<Update>
<Where Name="IDENTITY_PER_TURN_FROM_CITY_STATES"/>
<Set Value="0"/>
</Update>
UPDATE GlobalParameters
SET Value = 0
WHERE Name = 'IDENTITY_PER_TURN_FROM_CITY_STATES';
Yeah, if you're only depending on passive loyalty pressure from citizens, but there's many ways to actively affect pressure.In any case, reducing City-State Loyalty bonus slightly is not going to effect the situation in the screenshot, at least not until the cities have grown bigger.
Replace will work just fine in XML so long as the table has a Primary key, which GlobalParemeters does....
I don't really use XML, but I think you want
or in SQLCode:<Update> <Where Name="IDENTITY_PER_TURN_FROM_CITY_STATES"/> <Set Value="0"/> </Update>
Code:UPDATE GlobalParameters SET Value = 0 WHERE Name = 'IDENTITY_PER_TURN_FROM_CITY_STATES';
CREATE TABLE "GlobalParameters" (
"Name" TEXT NOT NULL,
"Value" TEXT NOT NULL,
PRIMARY KEY(Name));
Yep, exactly! You could also just use REPLACE INTO in SQL. Personally, I tend to refrain from overly using INSERT OR REPLACE INTO when a simple UPDATE statement will suffice.Update in such a case would attempt to Update all rows that qualified if only the ModifierId was provided as the Where argument, or it would do nothing if no combination of a ModifierId and Name argument specified in the Where clause already existed within the table. This is true regardless of whether the Update was provided as XML or SQL.
XML <Replace> is exactly equivalent to SQL's INSERT OR REPLACE INTO