infixo / civ6-real-fixes Goto Github PK
View Code? Open in Web Editor NEWCiv6 mod with gameplay and technical fixes
Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=2956875836
Civ6 mod with gameplay and technical fixes
Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=2956875836
From Wiki:
The religious pressure from activating a Great Person extends only to cities within 6 tiles not 10.
Most notable example are +X% abilities - all have descriptions and LOC_NAME but to text.
LOC_ABILITY_BARRACKS_TRAINED_UNIT_XP_NAME
LOC_ABILITY_STABLE_TRAINED_UNIT_XP_NAME
LOC_ABILITY_ARMORY_TRAINED_UNIT_XP_NAME
LOC_ABILITY_MILITARY_ACADEMY_TRAINED_UNIT_XP_NAME
LOC_ABILITY_LIGHTHOUSE_TRAINED_UNIT_XP_NAME
LOC_ABILITY_SHIPYARD_TRAINED_UNIT_XP_NAME
LOC_ABILITY_SEAPORT_TRAINED_UNIT_XP_NAME
LOC_ABILITY_BASILIKOI_TRAINED_UNIT_XP_NAME
LOC_ABILITY_ORDU_TRAINED_UNIT_XP_NAME
Perhaps debatable whether it's a bug or just a little quirk, so feel free to dismiss. From the wiki:
- Great Work of Writing, [...] Great Writers added in the Babylon Pack [...] provide +4 Culture and +4 Tourism; others provide +4 Culture and +4 Tourism in vanilla Civilization VI and Rise and Fall, or +2 Culture and +2 Tourism in Gathering Storm. [...]
- Great Work of Music, [...] +4 Culture and +4 Tourism [same in all DLC].
- Great Work of Art, [...] +3 Culture and +2 Tourism (Except Great Works of Art added by the Babylon Pack, which grant +3 Culture and +4 Tourism instead). [...]
Music has no issues, the Writings definitely seem like an obvious bug (they simply forgot to make a GS patch for those new ones), but it's not clear to me where the Arts got that +4 tourism from. I can't find any mention of Arts in the change logs, only Writings that all got nerfed in 2019:
The official Babylon_GreatWorks.xml
is a mess of spaces and tabs used for indentation, and also uses both correctly spelled and misspelled "Ka(n)dinsky" which hints at some copy-pasting gone wrong, hence the +4 tourism.
The wiki also mentions Sun Tzu's Art of War, but that seems to already be fixed in the official Expansion2_GreatWorks.xml
I only started getting into modding this game this week but I attach what I think might be a start anyway:
BabylonGW.modinfo
Babylon_GreatWorks_Base.xml
Babylon_GreatWorks_GS.xml
E.g. Matterhorn or Kilimanjaro
See the thread on reddit: https://www.reddit.com/r/civ/comments/13dhlj7/why_doesnt_matterhorn_give_campus_adjacency_bonus/
AGENDA_NATURALIST is defined in Agendas and used few times but a) have no Modifiers b) is not registered in RandomAgendas.
Edit. Traced it back to March 2018 (1.0.0.220) and it's been like this all the time. Only trait, no modifiers.
Naturalist is very similar to Environmentalist.
Naturalist: Tries to find all natural wonders. Likes civilizations that keep Woods and Rainforest unchopped, and those that establish National Parks.
Environmentalist: Builds National Parks, doesn't clear features, plants forests. Likes civilizations that plant forests or found National Parks. Dislikes civilizations that clear features.
The +25% XP midifier is applicable to melee, ranged and anti-cav units but the description does not mention anti-cav.
UnitAbilities.xml
<Row Type="ABILITY_BARRACKS_TRAINED_UNIT_XP" Tag="CLASS_MELEE"/>
<Row Type="ABILITY_BARRACKS_TRAINED_UNIT_XP" Tag="CLASS_RANGED"/>
<Row Type="ABILITY_BARRACKS_TRAINED_UNIT_XP" Tag="CLASS_ANTI_CAVALRY"/>
LOC_BUILDING_BARRACKS_EXPANSION2_DESCRIPTION
<Text>+25% combat experience for all melee and ranged land units trained in this city.[NEWLINE]Strategic Resource Stockpiles increased +10 (on Standard Speed).[NEWLINE][NEWLINE]May not be built in an Encampment district that already has a Stable.</Text>
XP2 introduces new projects to achieve a science victory, but the ai favored items are not updated and still reference base game techs.
Also, laser projects are omitted.
In Leader Pass (specifically Great Warlords and Great Negotiators) his agenda's trait and modifier is removed. There is no replacement.
LEADER_SALADIN AGENDA_AYYUBID_DYNASTY TRAIT_AGENDA_AYYUBID_DYNASTY
LEADER_SALADIN_ALT AGENDA_SULTAN TRAIT_AGENDA_SULTAN ok
GreatNegoriators & GreatWarlords
<TraitModifiers>
<Delete TraitType="TRAIT_AGENDA_AYYUBID_DYNASTY" ModifierId="AGENDA_AYYUBID_DYNASTY"/>
</TraitModifiers>
<Modifiers>
<Delete ModifierId="AGENDA_AYYUBID_DYNASTY"/>
</Modifiers>
Policy Flower Power weird description vs. actual result
It applies -100% modifier to "all unit production" - so how much to they actually cost?
The description is worded so weirdly... "the cost of production is decreased 100%" - as if they are free? Maybe it should be increased?
Suguba
It applies 20% discount to all units, but there is no Domain Tag in the modifier (all other modifiers with this effect have it).
From CivFanatics
https://forums.civfanatics.com/threads/pillaging-dam-does-not-yield-health.683629/
Solution
The PlunderAmount is missing in xml, so it is set to default 0 and the dam heals 0 points. To fix:
update Districts set PlunderAmount = 50 where DistrictType = 'DISTRICT_DAM'
Edit. Invalid. There is a dev comment:
IMPLICIT TAGS: filtered by criteria, do not need to be individually assigned to the UNIT
There are few abilities that use it, and since there are no units in this class, then do those abilities work at all?
ABILITY_KNARR_IGNORE_EMBARK_DISEMBARK_COST
ABILITY_LEVIED_HARALD
ABILITY_WATER_OF_LIFE
ABILITY_COMMANDANTE_UNIT_STRENGTH_BUFF
ABILITY_COMMANDANTE_UNIT_STR_VS_DISTRICTS
ABILITY_TAGMA_NONRELIGIOUS_COMBAT
ABILITY_NADER_SHAH_COMBAT
ABILITY_SULEIMAN_COMBAT
ABILITY_MENELIK_HILLS_COMBAT
Example: Knarr. ABILITY_KNARR_IGNORE_EMBARK_DISEMBARK_COST. Assigned to CLASS_ALL_COMBAT_UNITS, CLASS_SUPPORT and CLASS_LANDCIVILIAN.
This commented out section of Expansion2_Units.xml hints that the Digger is incomplete. I think it would be more appropriate to give it the same requirements as the generic Infantry, since that's what they did for the Minas Geraes and the P51. (I suspect that the Niter they mention here is a leftover from an earlier stage of development.)
<Row UnitType="UNIT_BRAZILIAN_MINAS_GERAES" ResourceCost="1" ResourceMaintenanceType="RESOURCE_COAL" ResourceMaintenanceAmount="1"/>
<!-- TODO:/REMOVE: Need to bring in Austrialian content! <Row UnitType="UNIT_DIGGER" ResourceCost="10" ResourceMaintenanceType="RESOURCE_NITER" ResourceMaintenanceAmount="1"/> -->
<Row UnitType="UNIT_AMERICAN_P51" ResourceCost="1" ResourceMaintenanceType="RESOURCE_ALUMINUM" ResourceMaintenanceAmount="1"/>
Found by Brixter
https://forums.civfanatics.com/threads/gaul-should-have-double-mine-tourism-but-they-made-a-mistake.683397/
My final conclusion was the following:
I’d settle for normal 100% tourism but given via the modifier, remove the buggy Improvement entry and add the info to the description.
From Wiki:
As of version 1.0.8.4., non-Food yield benefits from Amenities are increased by 20% only instead of 40%, so Happy cities will receive 12% extra non-Food yields instead of 10%, while Ecstatic cities receive 24% instead of 20%.
Possible fix in BBG:
-- Fix Ibn Khaldun Bug
UPDATE ModifierArguments SET Value=4 WHERE Name='Amount' AND ModifierId IN
('GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_HAPPY_SCIENCE', 'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_HAPPY_CULTURE', 'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_HAPPY_PRODUCTION',
'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_HAPPY_GOLD', 'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_HAPPY_FAITH');
UPDATE ModifierArguments SET Value=8 WHERE Name='Amount' AND ModifierId IN
('GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_ECSTATIC_SCIENCE', 'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_ECSTATIC_CULTURE', 'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_ECSTATIC_PRODUCTION',
'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_ECSTATIC_GOLD', 'GREAT_PERSON_INDIVIDUAL_IBN_KHALDUN_EMPIRE_ECSTATIC_FAITH');
Note that it only fixes XP2, not the Base game.
From @mrobaczyk Arrow Storm bonus gives also +7 CS vs district defences. Check LOC_PROMOTION_ARROW_STORM_DESCRIPTION
Seems like there is a buggy subject requirement
<RequirementSetId>ARROW_STORM_REQUIREMENTS</RequirementSetId>
<RequirementId>OPPONENT_IS_NOT_AIR_UNIT_REQUIREMENTS</RequirementId>
<RequirementId>PLAYER_IS_ATTACKER_REQUIREMENTS</RequirementId>
"District" is a separate opponent type, so "not air" includes also district. Solution probably depends on context, either make separate opponent types or exclude district defenses.
The artifact popup says "it's been buried since Medieval" but the artifact is in fact Classical.
civfanatics/CQUI_Community-Edition#308
On the DiploScreen, there is information about opponent's Secret Society. There is a bug in the Lua code that causes it always to be known, even in the situation when we actually have not yet discovered it.
The bug is here, file DiplomacyActionView_SecretSocietyRow.lua. If the opponent has the SS, then there is a check if we are aware of it. However, wrong object is used and the game actually if the opponent is aware of if, which ofc is always true.
if eSecretSociety ~= -1 then
local pLocalPlayer:table = Players[Game.GetLocalPlayer()];
local pLocalPlayerGovs:table = pSelectedPlayer:GetGovernors(); -- !!! It should be pLocalPlayer:GetGovernors() !!!
if pLocalPlayerGovs:IsAwareOfSecretSociety(eSecretSociety) then
-- Known Secret Society
Edit. This is a bug in a small, separate file. No need to add it to CQUI. I am moving this issue to Real Fixes.
From Wiki:
As of version 1.0.7.9, Hammurabi's ability will not grant you the free building or Envoy if the first District of its type is conquered and not built by Babylon themselves. However, when they build it for the first time, the game will act as if they already built this type of District before, and thus will not give them the free building and Envoy then either.
From Matso_Kai (Steam)
Mvemba a Nzinga's leader ability, Religious Convert, is bugged. You don't benefit from a religion more than any other civ would. This has been reported in multiple forums. The BBG mod seems to have fixed this, but it would be great to have this working in a vanilla game.
All other modifiers have it, it is the only exception.
From Wiki:
In Gathering Storm, the effect from Rise and Fall still triggers.
Base.
Receive 50 [ICON_Gold] Gold per Appeal of tile when replacing a Farm with a Neighborhood district.
PUBLICTRANSPORT_FARMREPLACEGOLD
XP2
Neighborhoods with Charming appeal receive +3 Food [ICON_Food] and +1 Production [ICON_Production], Breathtaking Neighborhoods are granted an additional +1 of each yield. All Neighborhoods receive +1 [ICON_Gold] Gold.
=> It adds new modifiers, but does not remove an old one.
Theater squares give 3 different great person point types, but the Oracle only boosts one type.
For reference, there's also the Bologna/Stockholm city state bonus and the level 2 cultural alliance trade route bonus, that already give all 3 TS great person point types.
My fix:
INSERT INTO Modifiers (ModifierId, ModifierType, SubjectRequirementSetId) VALUES
('ORACLE_GREATARTISTPOINTS', 'MODIFIER_SINGLE_CITY_DISTRICTS_ADJUST_GREAT_PERSON_POINTS', 'DISTRICT_IS_THEATER'),
('ORACLE_GREATMUSICIANPOINTS', 'MODIFIER_SINGLE_CITY_DISTRICTS_ADJUST_GREAT_PERSON_POINTS', 'DISTRICT_IS_THEATER');
INSERT INTO ModifierArguments (ModifierId, Name, Value) VALUES
('ORACLE_GREATARTISTPOINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_ARTIST'),
('ORACLE_GREATMUSICIANPOINTS', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_MUSICIAN'),
('ORACLE_GREATARTISTPOINTS', 'Amount', 2),
('ORACLE_GREATMUSICIANPOINTS', 'Amount', 2);
INSERT INTO BuildingModifiers (BuildingType, ModifierId) VALUES
('BUILDING_ORACLE', 'ORACLE_GREATARTISTPOINTS'),
('BUILDING_ORACLE', 'ORACLE_GREATMUSICIANPOINTS');
The Divine Spark pantheon has the same issue, but may be more controversial. (For example, if we added artists and musicians to that, should we not also add great scientist points to universities and research labs? Should archaeological museums also count (since they don't for the Frescoes policy)? Are the answers the same for the vanilla district version vs the GS building version?)
Anyway, here's my take on Divine Spark, based on the Amphitheater data from Expansion2_Beliefs.xml:
INSERT INTO Modifiers (ModifierId, ModifierType, SubjectRequirementSetId) VALUES
('DIVINE_SPARK_ARTIST', 'MODIFIER_ALL_CITIES_ATTACH_MODIFIER', 'CITY_FOLLOWS_PANTHEON_REQUIREMENTS'),
('DIVINE_SPARK_MUSICIAN', 'MODIFIER_ALL_CITIES_ATTACH_MODIFIER', 'CITY_FOLLOWS_PANTHEON_REQUIREMENTS'),
('DIVINE_SPARK_ARTIST_MODIFIER', 'MODIFIER_SINGLE_CITY_ADJUST_GREAT_PERSON_POINT', 'BUILDING_IS_MUSEUM_ART'),
('DIVINE_SPARK_MUSICIAN_MODIFIER', 'MODIFIER_SINGLE_CITY_ADJUST_GREAT_PERSON_POINT', 'BUILDING_IS_BROADCAST_CENTER');
INSERT INTO ModifierArguments (ModifierId, Name, Value) VALUES
('DIVINE_SPARK_ARTIST', 'ModifierId', 'DIVINE_SPARK_ARTIST_MODIFIER'),
('DIVINE_SPARK_MUSICIAN', 'ModifierId', 'DIVINE_SPARK_MUSICIAN_MODIFIER'),
('DIVINE_SPARK_ARTIST_MODIFIER', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_ARTIST'),
('DIVINE_SPARK_MUSICIAN_MODIFIER', 'GreatPersonClassType', 'GREAT_PERSON_CLASS_MUSICIAN'),
('DIVINE_SPARK_ARTIST_MODIFIER', 'Amount', 1),
('DIVINE_SPARK_MUSICIAN_MODIFIER', 'Amount', 1);
INSERT INTO BeliefModifiers (BeliefType, ModifierId) VALUES
('BELIEF_DIVINE_SPARK', 'DIVINE_SPARK_ARTIST'),
('BELIEF_DIVINE_SPARK', 'DIVINE_SPARK_MUSICIAN');
From Wiki:
This card is wrongly labeled as +25% in game.
The LOC
<Row Tag="LOC_POLICY_AFTER_ACTION_REPORTS_DESCRIPTION">
<Text>All units gain +25% combat experience.</Text>
</Row>
The Effect
<ModifierId>AFTERACTIONREPORTS_EXPERIENCE</ModifierId>
<Name>Amount</Name>
<Value>50</Value>
The modifier:
<ModifierId>SKYSCRAPERS_INDUSTRIALINFORMATION</ModifierId>
<Name>EndEra</Name>
<Value>ERA_FUTURE</Value>
From Wiki:
There is currently a bug where a player can renew friendship with an AI indefinitely no matter how many negative relationships they have by renewing friendship as soon as it ends.
Edit. This may be related to the fact that Diplo score is updated only once per turn, probably at the start of the turn. So, after the friendship expires, it is still high reflecting the Friend diplo as if it'd been still active.
Possible solution: add a GamePlay Script that would manually tweak DiploScore to reflect the current value. Attach to Events that might change it during the turn.
Why? There is a separate CLASS_GURU for it.
AGENDA_BARBARIAN_LOVER is defined in Agendas but a) has no Modifiers b) is not registered in RandomAgendas.
Edit. Traced it back to March 2018 (1.0.0.220) and it's been like this all the time. Only trait, no modifiers.
Barbarian Ally. Sympathizes with the barbarians. Does not like civilizations that destroy barbarian outposts.
REQUIRES_CLEARS_BARBARIAN_CAMPS => REQUIRES_CLEARS_BARBARIAN_CAMPS
REQUIRES_IGNORES_BARBARIAN_CAMPS => PLAYER_IGNORES_BARBARIAN_CAMPS (30 turns) => AGENDA_SIHAI_IGNORES_BARBARIAN_CAMPS [LEADER_QIN_ALT] & AGENDA_IGNORES_BARBARIAN_CAMPS_CAESAR/ AGENDA_GALLIC_WARS [LEADER_JULIUS_CAESAR] & AGENDA_IGNORES_BARBARIAN_CAMPS/ AGENDA_CIVILIZED
Sihai: Wants all the Barbarians following his side. Does not like civilizations that destroy Barbarian Outposts.
Gallic Wars: Hates barbarians. Likes civilizations that clear out barbarian outposts. Does not like civilizations that ignore barbarian outposts.
Civilized: Hates barbarians. Likes civilizations that clear out barbarian outposts. Does not like civilizations that ignore barbarian outposts.
Solution: Copy the Sihai agenda and stuff.
Summary:
There are 5 modifiers and 3 lines of description.
"TO_OTHERS" give gold and science to senders - this is ok
"2 science from others & not domestic" - ok
"2 science to others & domestic" - not ok (?) - it gives others, not us (?) ➡️ should be "from others"
faith is "to others & domestic" - also not ok, it gives others not us (?) ➡️ should be "from others"
From Firaxi's tweet revealing the University:
With Tokugawa: [...] getting a + 8 science from trade routes to my capital from each of my cities [...]
Also other civs rarely send routes: https://www.reddit.com/r/civ/comments/10edmhv/why_wont_other_civs_send_me_trade_routes_is/
Need to discuss in some cases whether its a text bug or a xml configuration bug. I will try to fix some of these, but Infixo, you will probably do it 100x faster than me :)
I think at least the repair envoy is a bug, the capture one might be intended.
From @mrobaczyk: Marauding gives also +7 CS vs districts. Check LOC_PROMOTION_MARAUDING_DESCRIPTION
<ModifierId>URBAN_RAIDER_BONUS</ModifierId>
<Name>Amount</Name>
<Value>7</Value>
<SubjectRequirementSetId>URBAN_RAIDER_REQUIREMENTS</SubjectRequirementSetId>
<RequirementSetId>URBAN_RAIDER_REQUIREMENTS</RequirementSetId>
<RequirementId>PLAYER_IS_ATTACKER_REQUIREMENTS</RequirementId>
<RequirementId>DEFENDER_IS_OCCUPYING_DISTRICT_REQUIREMENT</RequirementId>
<RequirementId>DEFENDER_IS_OCCUPYING_DISTRICT_REQUIREMENT</RequirementId>
<RequirementType>REQUIREMENT_PLOT_HAS_ANY_DISTRICT</RequirementType>
Again, it has "bad" requirement for the opponent. Fix is the same - add "opponent is not a district".
Except, by giving the War Cart the Heavy Cavalry tag, you'd make it vulnerable to Anti-Cav units & also less effective against cities. That takes away two of it's most powerful abilities. I think just attaching one of it's current tags to the ability would be much cleaner w/o adding unintentional effects.
Edit. RFX is not changing War Cart's class.
https://forums.civfanatics.com/threads/collated-list-of-remaining-issues.670527/
Most of the "issues" are actually game balance comments and remarks, pretty good. But not many actual issues.
Deforestation bug. Fix the bug where Deforestation level instantly jumps to severe 50% causing a rapid spike in warming and sea level rise. This is engine unfortunately.
Pathing is still messed up, particularly in coastal areas. A move that could be done in a single turn, will take 2-3 because the pathing decides that disembarking and embarking is better than just sailing around the tiny piece of land. Engine.
From Wiki:
Despite being classified as melee units, Nihang don't benefit from Battering Rams, Siege Towers, or Akkad's Suzerain bonus.
Same for Vampires.
Solution.
Bypass Walls ability works for melee and anti-cavalry but it uses promotion class in modifiers. Since Nihang and Vampire have their own promotions then the ability does not trigger.
Need to add 2 more promo classes to: ABILITY_BYPASS_WALLS_PROMOTION_CLASS and ABILITY_ENABLE_WALL_ATTACK_PROMOTION_CLASS.
Great Musicians from Babylon Pack DLC has 3 charges instead of 2.
Similar to #10.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.