More Unique Components for Vox Populi

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

@adan_eslavo I hoped to get your opinion on a possible alternative UI for Poland:
Folwark.png

Folwark (UI)
Unlocked at Civil Service
Must be built on an existing farm and not adjacent to another Folwark

1:c5production: 1:c5gold: 5:c5food:
All Adjacent Farms, Plantations, Camps, and Pastures lose -1:c5food:
Folwark gains +1 :c5production: and :c5gold: for each adjacent Farm, Plantation, Camp, and Pasture

A Folwark Unique Improvement has a few benefits over the current barbican UB:
  • It's not a UB, the same as the base Ducal Stable
  • It's 1 tech later than the Pancerny and Ducal Stable, while the Barbican is the same tech, but we could put it even further back into Rennaissance if you thought that was better
  • The barbican works well, but it does have some minor issues with hiding some yields on its invisible dummy buildings, and it has always been hard to explain to players how the Barbican works
I'm wondering if you have any opinions on the design, what bonuses it should give, or if you think the Barbican is a better component for Poland overall? Let me know what you think.
 
Not sure if it's intended but founding a city with pioneer as Egypt prevents Flax from spawning despite the fact that Nilometer has been built.
 
I'm noticing these in lua logs with newest (76) update:

\My Games\Sid Meier's Civilization 5\MODS\(over) More Unique Components for VP (v 76)\Greece/Klepth/Klepht.lua:16: attempt to index local 'pAttackingPlayer' (a nil value)

Harmless or could be something that should be fixed?
 
Not sure if it's intended but founding a city with pioneer as Egypt prevents Flax from spawning despite the fact that Nilometer has been built.
Unintended. Will fix in the future, but it’s a fairly minor issue for now. You could sell and rebuild the nilometer to get the flax
I'm noticing these in lua logs with newest (76) update:

\My Games\Sid Meier's Civilization 5\MODS\(over) More Unique Components for VP (v 76)\Greece/Klepth/Klepht.lua:16: attempt to index local 'pAttackingPlayer' (a nil value)

Harmless or could be something that should be fixed?
I thought I had fixed that. I introduced a bug while optimizing that. Will look into it.
 
Are you aware of those errors?
Code:
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_00" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_01" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_02" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_03" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_04" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_05" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_06" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_07" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_08" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_09" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_10" does not exist in Language_en_US

What happened to the Slaganz? I kinda liked that unit...
 
Are you aware of those errors?
Code:
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_00" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_01" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_02" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_03" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_04" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_05" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_06" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_07" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_08" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_09" does not exist in Language_en_US
[10843.535] Invalid Reference on UnitPromotions.PediaEntry - "TXT_KEY_PROMOTION_UNIT_GERMANY_TROMMELFEUER_10" does not exist in Language_en_US

What happened to the Slaganz? I kinda liked that unit...
Oh noes! They aren’t supposed to have unique tags I will fix.

I liked the slaganz too, but I have been lobbying for a change to the German UA for a while now, and I even coded that alternative UA for my tweaks mod. I found the Slaganz was too powerful with the proposed UA change.

Also, the German UU1 was changed to the landsknecht in Renaissance, and the panzer was removed. This meant that Germany had no post-unification unique components. Between the tribal Germanic history and 19th/20th century history, I felt it was more important to give the later representation somehow.
 
Oh noes! They aren’t supposed to have unique tags I will fix.

I liked the slaganz too, but I have been lobbying for a change to the German UA for a while now, and I even coded that alternative UA for my tweaks mod. I found the Slaganz was too powerful with the proposed UA change.

Also, the German UU1 was changed to the landsknecht in Renaissance, and the panzer was removed. This meant that Germany had no post-unification unique components. Between the tribal Germanic history and 19th/20th century history, I felt it was more important to give the later representation somehow.
These stuff (Slaganz, Panzer) can be always used later, if you know what I mean :)


What about Fury of Nergal?
 
Last edited:
Coming back from a long hiatus, and I could finish a game with 34UC Japan. I haven't yet given a feedback on a full game with the Kabuki, so here's how it has been in the last patch (VP 1.4.6, 34UC v75).

For context, the game itself was ripe for Kabuki to shine. I had two pleasant neighbors that kept showering their love for me by declaring joint wars about twice every single era, which kept my great work slots filled with the poetic rants of great generals from every generation imaginable. Plus, I got Great Wall, Brandenburg Gate and Glory of God reformation for extra UA procs. I also went for Tradition -> Artistry -> Industry -> Freedom to further push for great works and had a solid development all around, staying competitive all game and having those bonus trade routes from both Industry and Freedom for more Kabuki's internal TR culture procs. I ended the game at Modern Era with a cultural victory and 63 great works total.

The ITR culture procs are alright. With my ITRs revolving between 20 to 30 turns to complete, the culture given was about what I would gain in science and culture from an international TR to an allied CS or an advanced major civ, factoring in the scaling with era and the +% science/culture modifiers the latter can benefit from that Kabuki's procs can't (e.g. golden age, Tradition's finisher). Overall, the culture proc isn't particularly powerful, it is more of not missing those important yields when resorting to internal TRs, nor having to engage in CS diplomacy in order to get them from TRs. With that yield difference factored out of international TRs, internal TRs are far more attractive: food and production tend to be more valuable than gold, more flexible for your city development's needs, you are safer from pillaging and it is very convenient for a non-diplomatic civ. I like that this aspect of the Kabuki pushes Japan to be an insular civilization, much like it was in history.

The unique guilds had weak starting procs, despite the good number of great works from earlier wars. They take time to build up to impactful values, as both great writers and artists have anemic bulbing at this point. Once you reach the later parts of the game, though, the Monogatari and Ukiyo-e guilds became impactful enough that I could slowly take the lead from a civ with bonuses to science and economy (Portugal, who was leading in both).

The Gagaku guild is notably weaker than the other two, though, since faith has already lost much of its importance by late Renaissance. The musician guild is also unlocked at the same tech as the Kabuki, rather than earlier, further delaying that faith beyond its prime. The faith from Gagaku was never particularly impactful, even in the lategame and despite having an unusually high amount of tourism with all those great works.

Overall, I think the unique guilds are interesting and scale well to the lategame, but are on the weaker side throughout the game's whole duration. The values do feel in the right spot in terms of fun and impact, and do round up the civ a bit, but they are a long term investment on a civ that is neither scientific nor diplomatic, meaning Japan doesn't profit from them as much as expected.

Of note is that it is hard to say that the Kabuki contributed towards the cultural victory. Science and gold helped indirectly, but isn't something you'd say that makes a civ like Portugal a potential cultural civ. The extra +2 :c5greatperson: on the guilds were of help, surely, but it is hard to tell that it was by much due to the frequent UA procs from the many generals I got. And the culture procs from TRs kinda goes against a cultural victory, as internal TRs don't get the tourism modifier of international TRs. Overall, I'd say that the Kabuki and its unique guilds go against the expectation of a stronger cultural victory for Japan.

As a whole, the Kabuki and its unique guilds are solid in terms of fun and themes, but leaning on the weak side due to its timing and mismatch with Japan's main victory paths.

As a suggestion, I think the unique guilds could each have two great work slots with a small theming bonus (+4 to +6) as their way to help with a cultural victory. Japan's UA faces diminishing returns at times due to not having enough theming buildings to allocate its works, which the unique guilds could address with this. Moreover, an early theming bonus for music would make the Gagaku guild relevant, as music theming is normally available only at Radio. This can round up the unique guilds' benefits towards the Renaissance and not risk major balance changes on the UB (in other words, not having to adjust the proc's percentages).
 
I don't know if someone mentioned that the Enlightment era Mod has the same building "Salon" to French UB, will there be a compatibility patch to solve that? Whatever, thank you for your marvious work:). A Civ5 player from China.
 
I don't know if someone mentioned that the Enlightment era Mod has the same building "Salon" to French UB, will there be a compatibility patch to solve that? Whatever, thank you for your marvious work:). A Civ5 player from China.
@pineappledan I think you should finally change that. Since the rework of Grande Ecole this topic has been brought at least dozen of times. It's boring to hear that ;P
 
Am currently playing the Maya on latest versions of VP (2.1.1) and 3/4UC (v77), i think the combat strength in forest and jungles portion of the pitz court promotions isn't working, I noticed something was off because the 4th promotion tooltip says +5% instead of +15%, which made me check.

Spoiler :
20220509151142_1.jpg


Spoiler :
20220508201529_1.jpg


30% from shock, 10% from morale, 10% from K'atun Ahaw, but no more from being in jungle.
The rest of the promotion; the upgrading, healing, xp, CS all working as intended.
 

Attachments

  • 20220509151142_1.jpg
    20220509151142_1.jpg
    1.3 MB · Views: 24
In your current screenshot, it does not look like your unit is attacking into jungle. When attacking, feature/terrain promotions care about the tile the unit is attacking into; When defending, they care about the tile that the unit is defending in.

Can you please show a screenshot of the unit attacking into jungle and not benefiting from the promotion?
 
Last edited:
Whoops wrong screenshot.
Same as before 30% from Drill, 10% from morale, 10% from K'atun lvl 4. No 15%.

Spoiler :
20220509213002_1.jpg
 
Hi everyone, I have a question regarding LUA. I try to create the most stable modpack possible using 34UC (V.40) and an older VP version (12/2018). My problem is the fonction "math.random()" creates desync most of the time between players and the host. Is there a way to bypass the fonction "math.random()" using a "fake random number" shared between players like the turn number for example ?

If it is possible, how can I change "pUnit:SetHasPromotion(tAvailablePromotions[ math.random(1, #tAvailablePromotions) ], true)" from Cacadores for example ?

Spoiler :

-- Cacadores 2.0
-- Author: pineappledan
-- DateCreated:
-- 2018-02-26 updated by Infixo
-- 2018-03-04 rewritten by Infixo
-- 2018-04-20 Infixo, added IsValidPromotion instead of CanPromote
--------------------------------------------------------------
local tEligiblePromotions = {
GameInfoTypes.PROMOTION_WOODLAND_TRAILBLAZER_I,
GameInfoTypes.PROMOTION_WOODLAND_TRAILBLAZER_II,
GameInfoTypes.PROMOTION_WOODLAND_TRAILBLAZER_III,
GameInfoTypes.PROMOTION_SURVIVALISM_1,
GameInfoTypes.PROMOTION_SURVIVALISM_2,
GameInfoTypes.PROMOTION_SURVIVALISM_3,
}
-- replacement for CanPromote that will check only for prereqs, ignoring unit combat
function IsValidPromotion(pUnit, ePromo)
if pUnit:IsHasPromotion(ePromo) then return false end -- not valid if already granted
local pPromotion = GameInfo.UnitPromotions[ePromo]
if not pPromotion then return false end -- assert
-- check AND
if pPromotion.PromotionPrereq then
--print("...checking AND", pPromotion.PromotionPrereq)
if not pUnit:IsHasPromotion( GameInfoTypes[pPromotion.PromotionPrereq] ) then return false end
end
-- check ORs
local bLacksOrPrereqs = false
for i = 1, 9 do
local sField = "PromotionPrereqOr"..tostring(i)
if pPromotion[sField] then
--print("...checking OR", pPromotion[sField])
if pUnit:IsHasPromotion( GameInfoTypes[pPromotion[sField]] ) then return true end
bLacksOrPrereqs = true
end
end
return not bLacksOrPrereqs
end
function OnUnitPromotedCacadorPromotion(iPlayer, iUnit, iPromotionType)
local pPlayer = Players[iPlayer]
if not pPlayer then return end -- assert
local pUnit = pPlayer:GetUnitByID(iUnit)
-- No need to go further if unit has all eligible promotions
if not (pUnit and pUnit:IsHasPromotion(GameInfoTypes.PROMOTION_UNIT_PORTUGAL_CACADOR) and pUnit:GetLevel() < #tEligiblePromotions + 2) then return end

-- Create a list of available promotions
local tAvailablePromotions = {}
for _,promo in ipairs(tEligiblePromotions) do
if IsValidPromotion(pUnit, promo) then table.insert(tAvailablePromotions, promo) end
end
if #tAvailablePromotions == 0 then return end -- assert

-- Grant a random one
--print("valid promos are") for k,v in pairs(tAvailablePromotions) do print(k,v) end
pUnit:SetHasPromotion(tAvailablePromotions[ math.random(1, #tAvailablePromotions) ], true)
end
GameEvents.UnitPromoted.Add(OnUnitPromotedCacadorPromotion)


Thank for your help !
 
Back
Top Bottom