More Unique Components for Vox Populi

3rd and 4th Unique Components for VP - Official thread 88.10

Hm maybe I had still installed 9-15? I did some experiments. I will check that again too.

EDIT: @ProCatGamer Fixed. Value for SPAD was negative, and then I published version ith positive one. Only "0" guarantee that air strike is working. I will post quick fix for that.

v37.4.1 out with SPAD fix.
 
Last edited:
Did some tests of Viking, playing almost complete game (I just jumped into Industrial, but am so ahead game is pretty much over). My notices regarding 3/4 UC:
- Longboat is superstrong. The ability to hit&run makes it almost OP, as you can attack cities without the risk of being hit back, especially when you manage to get Great Lighthouse; and on top of that you get money from attack and quite insane amount to be honest. Ever since my first war, I was buying most of the things everywhere. 5 longboats can get you 200:c5gold:/turn. In medieval. And you can build it even when you research steam engine in 1 turn, so I was just chain building them and upgrade to corvette, they will earn back that investment very fast;
- 4UC - agribusiness replacement comes into play late, but it fits Viking style very well - you raze land, then conquer it and your fast workers get it back on track superfast;

On sidenotes:
- I was having 105/120 military supply, most of them up to date, all military building in all cities, having 2 one-city vassals and winning war with another civ getting 3 of their 8 cities and I still couldn't pledge of protection anyone. Well, my scout checked it and in whole Zulu land there were like 3-4 empty tiles. And yet, with -200g and probably heavy over supply cap, Shaka was is outteching me :crazyeye::crazyeye:
- new CS works well, CS ability to build mounds and polders is silly, as if every CS has it, it takes away flavor;
- CS graphics is nice idea;
- events are broken to the bone; 100 or 50:c5production: in ancient out of nowwhere. Ability to choose -200:c5food: or -400:c5gold: when you have no gold. PLenty of barb spawnings with events, which actually help authority civs. No balance among events whatsoever.
- Prussia civ sucks terribly.
 
Did some tests of Viking, playing almost complete game (I just jumped into Industrial, but am so ahead game is pretty much over). My notices regarding 3/4 UC:
- Longboat is superstrong. The ability to hit&run makes it almost OP, as you can attack cities without the risk of being hit back, especially when you manage to get Great Lighthouse; and on top of that you get money from attack and quite insane amount to be honest. Ever since my first war, I was buying most of the things everywhere. 5 longboats can get you 200:c5gold:/turn. In medieval. And you can build it even when you research steam engine in 1 turn, so I was just chain building them and upgrade to corvette, they will earn back that investment very fast;
Right now, Lanskib are 40:c5production: cheaper than a caravel. Maybe we should reduce that to -10:c5production:?
The medic promotion also needs to be looked at now that the melee naval promotion lines have been overhauled. I think we can safely remove those promotions for now.
At any rate, the idea behind the Langskib was to make it so the best defense was a good offense. You need a navy to stop Langskib raids, but a decent nave should be able to handle them, since a Caravel easilly outdamages a Langskib.

What do you think, @adan_eslavo, @De_Genius? These new naval melee promotions mean we should take another look at our naval melee units (Prau, Lanskib, Armada, Corsair), since naval melee got a lot scarier in this last patch.

Prau - Pincer has not changed, so I think it is fine. The new Navigator promotions, however, mean that a prau could get 8 move and 6 vision relatively early. I think I will remove the Sentry promotion

Langskib - too cheap and effective. I'm definitely going to increase the build cost, but if we want to nerf it further, I think that removing medic could do the trick.

Armada - The new boarding party promotions (which Armada gets level 1 for free) are a great boost for the ship. I think it's fine

Corsair - The new Press Gangs promotion (fully heal on pillage) could be a big buff to this unit. Wait and see?
 
Last edited:
About sweden,

in term of gameplay moving carolean into rifling was really a poor decision :

1 - Carolean lost strength over the base unit while being later. ( base game +29 strength over 25 from tercio and modded 38 strength over 35 fusillier )
2 - you have to choose beelining between your unique units or your UB. In vanilla, you take carolean and you can dive skola.
3 - you get Carolean just after another UU(Hakaapeliita) which is bad too, 38 strength? and the promotions don't justify that you don't get 40 strength, 2 promotions are utterly situational.


Moreover the bastu is really unimpressive, the yields are not great when you compare it other classical ub(how many cities with lakes and/or tundra at this point?) and it brings no gameplay effect ( unlike yassa court, colosseum, and I am only talking about warmongers )

It's the first civ that, in my opinion, Unique Component makes worse than vanilla version.
 
Sweden wouldn't be the only Civ with 2 UU's next to each other, Songhai has this distinction as well. Though thatwould give them 2 hard hitting Melee Units during the Renaissance. These 2 Units don't complement each other as well as Songhai's Uniques, but only by a hair.
 
Bastu's pretty good I'd say, I usually hate terrain dependent UBs but this is a Baths that can be put anywhere which can be super strong with some starts. I'd prefer terrain dependency (tundra, lake) to go and it be made more generally con sistent, though.

Hakka is also good, it is about as good as Winged Hussar at least. I'd much rather get a Bastu than Waag or, especially, Riad. In the first case sometimes, in the other one pretty much always.
 
Reasons for the Sweden choices:
  • Caroleans as a Tercio replacement is a-historical.
    • Caroleans were the troops most famously used in the Northern Wars under Charles XII, a good 200 years after Tercios were popular on the battlefield
    • Gustavus Adolphus was famous for his reforms to the Dutch pike & shot formations, so depriving Gustavus of a Tercio unit is doubly a-historical
  • Clumping unique units for highly aggressive civs was a deliberate choice because 4UC tends to shift the game more defensive. Conquest-focused civs need to be given concentrated eras to punch through
  • The Hakka's "highly situational" promotions are consistent with their Vanilla counterparts. They have 4 free promotions, more than any other unit, so they aren't hurting anything
  • If the CS of Caroleans is too low then we can move it up to 39. I didn't want to have it perfectly match the Mehal Sefari
  • I honestly think you are wrong about Bastu. It was not expected that players would get much use from the lake/tundra buff, but it gives a bit of nerthern flavor back to the civ, and they can be built in every city. There is a ton of synergy with their food bonus, which combines with a bonus on birth. Skola's :c5science:/:c5culture: yields scale on population, so Bastu's bonuses are very noticeable in later eras, but they do their job admirably in earlier eras as well.
  • As for breaking up the brain-dead optimal tech path for Gunpowder => Scientific theory, I can't say I'm sympathetic. There are lots of civs which have unique components on opposite sides of the tech tree, most famously the Maya. Players will have to decide which side they want to prioritize
 
@pineappledan Given the change to naval promotions, I would suggest changing its cost rather than removing the Medic promotion, although it could be suggested that the Medic promotion is lost upon upgrade to make it less powerful in later eras. If this is not sufficient, I do not feel heavy about the Medic promotion, since it combined with Viking Fury is already very powerful.
 
Going to try implementing that Ethiopia Monolithic church change that Hokath wanted to do.
Code:
INSERT INTO Belief_ImprovementYieldChanges
        (BeliefType,     ImprovementType,                             YieldType,         Yield)
SELECT    Type,             'IMPROVEMENT_ETHIOPIA_MONOLITHIC_CHURCH',     'YIELD_FAITH',     1
FROM Beliefs WHERE Pantheon = 1;

INSERT INTO Belief_ImprovementYieldChanges
        (BeliefType,     ImprovementType,                             YieldType,             Yield)
SELECT    Type,             'IMPROVEMENT_ETHIOPIA_MONOLITHIC_CHURCH',     'YIELD_CULTURE',     1
FROM Beliefs WHERE Founder = 1;

INSERT INTO Belief_ImprovementYieldChanges
        (BeliefType,     ImprovementType,                             YieldType,                 Yield)
SELECT    Type,             'IMPROVEMENT_ETHIOPIA_MONOLITHIC_CHURCH',     'YIELD_PRODUCTION',     1
FROM Beliefs WHERE Follower = 1;

INSERT INTO Belief_ImprovementYieldChanges
        (BeliefType,     ImprovementType,                             YieldType,             Yield)
SELECT    Type,             'IMPROVEMENT_ETHIOPIA_MONOLITHIC_CHURCH',     'YIELD_CULTURE',     1
FROM Beliefs WHERE Enhancer = 1;

INSERT INTO Belief_ImprovementYieldChanges
        (BeliefType,     ImprovementType,                             YieldType,         Yield)
SELECT    Type,             'IMPROVEMENT_ETHIOPIA_MONOLITHIC_CHURCH',     'YIELD_GOLD',     1
FROM Beliefs WHERE Reformation = 1;
wish me luck!

@adan_eslavo I noticed you changed the code to Hippodrome. You made the lua for removing the hippodrome's dummy building extremely complicated, and I can't understand why.
New Code:
Code:
function OnCaptureRemoveHorseYields(iOldOwner, bIsCapital, iX, iY, iNewOwner, iPop, bConquest)
    local pOldPlayer = Players[iOldOwner]
    if pOldPlayer:GetCivilizationType() ~= eCivilizationByzantium or not bIsCapital then return end

    local iNumberOfDummiesForExam = pOldPlayer:CountNumBuildings(eBuildingDummyHorseYields)
    if iNumberOfDummiesForExam > 0 then
        local iCurrentDummyForExam = 0
        for city in pOldPlayer:Cities() do
            city:SetNumRealBuilding(eBuildingDummyHorseYields, 0)
            iCurrentDummyForExam = iCurrentDummyForExam + 1
            if iCurrentDummyForExam == iNumberOfDummiesForExam then
                  break
            end
        end
    end
end
vs. Old Code
Code:
function OnCaptureRemoveHorseYields(iOldOwner, bIsCapital, iX, iY, iNewOwner, iPop, bConquest)
    local pOldPlayer = Players[iOldOwner]
   
    if pOldPlayer:GetCivilizationType() ~= eCivilizationByzantium or not bIsCapital then return end
    for city in pOldPlayer:Cities() do
        city:SetNumRealBuilding(eBuildingDummyHorseYields, 0)
    end
end
What does adding this iCurrentDummyForExam check add? It just seems needlessly complicated.
 
If player has 100 cities and only one city has bonus yields from dummy building placed by hippodrome then such function breaks the for loop after finding that one dummy building, f.e. 3rd city of 100. I added such code for every lua code following such pattern. "Exam" was copied from Chinese code and I forgot to change it to "Hippo". If such dummy from Hippodrome appears to be in every city then you can indeed simplify the code (go back to old one) because it will always have to search through 100 cities. I rushed that update and I could miss such nuance.
 
If player has 100 cities and only one city has bonus yields from dummy building placed by hippodrome then such function breaks the for loop after finding that one dummy building, f.e. 3rd city of 100. I added such code for every lua code following such pattern. "Exam" was copied from Chinese code and I forgot to change it to "Hippo". If such dummy from Hippodrome appears to be in every city then you can indeed simplify the code (go back to old one) because it will always have to search through 100 cities. I rushed that update and I could miss such nuance.
The hippodrome adds the dummy building to every city on empire. full stop. This is done using SQL (it's the same code as the old CN tower, which gave broadcast towers in all cities). This includes newly settled cities, captured cities, etc.

The loop won't get broken because every byzantine city has the dummy building if a hippodrome was built. If a hippodrome was never built, then the loop will break on the first city.

Just checked the Ethiopian mono church and the new code works. As predicted, however, it does this:
Spoiler :
upload_2018-10-4_12-8-10.png

The good news is it only needs the lua to add the yields for unlocking an ideology.

I've got mixed feelings about this change.
The bad:
  • It doesn't completely eliminate the need for lua, because we still need lua for the ideology unlock
  • The popup for the UI is not usable any more. It has too many upgrades, and just drowns the screen
The good:
  • It uses substantially less lua, so it will run better
  • yields upgrades are now dependent on the policies and beliefs of the civ working them. Furthermore, maximizing yield potential on this UI now requires you to spread religion to the cities working them, a very unique mechanic.
The only way I can think to fix this is if the belief SQL tables were overhauled. Right now, the beliefs use 5 binary 1/0 tables, one for pantheon, founder, follower, enhancer, and reformation. If this were to be replaced by a single table called BeliefClass (then add beliefclass_pantheon, etc.), then that would condense the table, and the interface would be much shorter.
 
Last edited:
Like before...
Ok, then revert changes to hippodrome.
 
@pineappledan Nice!
From my events experience I know that there exists <RequiredIdeology>POLICY_BRANCH_ORDER</RequiredIdeology>, so I wonder if this functions as a policy for the ideology-lua problem?
 
It's a policy branch, which is used to open/finish policy trees, but you can't assign values to it, so no.
 
So I finished my viking game (not by my choice, upon discovering fertilazer game crashes, can send link if someone wants to check) and I believe hit'n'run and gold stealing is too much. I know I've already written it, but after having Great LIghthouse I was able to hit cities and move to safe spot. Even capture cities and let Ai recapture until they were so small they were burned withing 1 turn. Also Longship was available when I had cavalry, so I was able to 1-turn build it and with cheap upgrades from imperialism, had a corvette for 100:c5production: 120:c5gold:. I was gaining that 120:c5gold: in 2 turns of city attacks. So it's snowbally like sh!t .

As for Prussia - I had prussia with 2UC instead of 4, no idea why. Still - it's similar case as with Austria, only a bit worse overall. I hate with a passion civs that have all UC and UA, which launch late. Yeah, if you survive until late reneissance, game might get easier, but you are playing 200 turns with generic civ. That's boring :|
 
Ello I think I found another bug ~
So the new VP version (9-25) change the promotion which the Great Lighthouse gives (Navigator I no longer a unique promotion)
And after the change, Penteconter and Dromon won't get the new promotion from the Great Lighthouse.
 
So the new VP version (9-25) change the promotion which the Great Lighthouse gives (Navigator I no longer a unique promotion)
And after the change, Penteconter and Dromon won't get the new promotion from the Great Lighthouse.
Hmm, that's strange. Do you know if the Galleass does?

I wonder if the new change to G lighthouse has restricted the promotion to melee ships only? Perhaps that is what @Enginseer was alluding to in this post? I'm not sure.

I doubt it could be a problem with the Penteconter itself; we only swapped art assets for that unit, but didn't touch any of the underlying mechanics. It's not inaccurate to say it is the exact same unit as the dromon in base VP, just a new haircut.

At any rate, thanks for reporting it. I'll do some digging; this might be working as intended, but I haven't played a game with the new patch.

Edit: Bug report on CBP's Github. Working as intended, it seems.
 
Last edited:
Hmm, that's strange. Do you know if the Galleass does?

I wonder if the new change to G lighthouse has restricted the promotion to melee ships only? Perhaps that is what @Enginseer was alluding to in this post? I'm not sure.

I doubt it could be a problem with the Penteconter itself; we only swapped art assets for that unit, but didn't touch any of the underlying mechanics. It's not inaccurate to say it is the exact same unit as the dromon in base VP, just a new haircut.

At any rate, thanks for reporting it. I'll do some digging; this might be working as intended, but I haven't played a game with the new patch.

Edit: Bug report on CBP's Github. Working as intended, it seems.

Oh yeah I just did more testing and it isn't the mods fault. All range ship from VP base doesn't get the new promotion

Sorry I reported it wrongly here :undecide:
 
New update is live. New Rome mechanics means that dummy buildings can be captured. Most of our code w.r.t. dummy buildings adds or removes them with code specific to the civ in question. It will take a lot of time and effort on our part to decipher which civs are negatively affected/incompatible with the new Rome.

For the forseeable future, avoid putting Rome in games if you wish to use this mod.

In other news, the plague promotion rework in VP means that Shotelai can be coded entirely in SQL. I have deleted the lua and moved the unit to SQL exclusively. Gameplay is not affected.
With this new plague mechanic, we can make any melee unit give negative "plague" promotions easilly.

Current melee units that have "plague" promotions:
Shotelai (-1 move plague)
Koa (10 damage plague)

Current Ranged units that have "plague" promotions:
Dromon (10 damage plague)

Old units that had"plague" promotion dropped:
Khopesh (-20% CS until unit fortifies)

Some ideas:
  • Change Koa's promotions to "On attack, reduces max hp of target by 25HP for 2 turns" (needs testing for how this works. number of HP sapped subject to change depending on how HP behaves after promotion wears off.)
  • Re-add Khopesh's Fatigue promotion "On attack, reduces CS of target by 20% for 3 turns"
We should check how we might be able to use the new plagues to make Dromon's lua lighter. We might be able to place the plague using lua, then let it expire like a normal plague (no lua needed to take it off, and have the promotion handle the effect)
 
Back
Top Bottom