Giter Site home page Giter Site logo

civ6-real-fixes's People

Contributors

infixo avatar mrobaczyk avatar

Watchers

 avatar  avatar

Forkers

dev2008

civ6-real-fixes's Issues

Marauding gives attack bonus vs. district defenses

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".

Barbarian Clans Bug

When you disperse a Barbarian Outpost with Barbarian Clans Mode activated you sometimes (always??) get a tribal village reward, this is not documented anywhere and devalues Sumeria's ability.

Clans

Sankore has wrong description or modifiers

Summary:

  • Other Civilizations' Trade Routes to this city provide +1 Science and +1 Gold for them. ➡️ ok, TO_OTHERS, domestic not set
  • +2 Science for every Trade Route to this city. ➡️ not ok, only from international TRs
  • Domestic [] Trade Routes give an additional +1 [] Faith to this city. ➡️ not ok 1) it is a sending city that gains 2) also +2 science

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:

  • Domestic TRs yield bonus science and faith.
  • TRs from other Civs provide extra science and gold.

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/

Is CLASS_ALL_COMBAT_UNITS actually working?

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.

RFX: Babylonian issue with conquered cities

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.

Digger resource requirements?

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"/>

AGENDA_NATURALIST is missing

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.

Saladin has no agenda after Leader Pass

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>

RFX: After Action Reports policy

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>

AGENDA_BARBARIAN_LOVER is missing

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.

EFFECT_ADJUST_ALL_UNITS_PURCHASE_COST args check

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).

RFX: Babylon Pack Great Work yields

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:

Great Works of Writing are now +2 Culture and +2 Tourism.

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

RFX: Declaring friendship

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.

RFX: Ibn Khaldun is bugged

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.

RFX: some more gameplay/text bugs (need confirmation)

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 :)

(#308) Opponent's Secret Society is always known

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.

RFX: Nihang/Vampire not benefiting from Battering Rams and Siege Towers

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.

CivFanatics issue list 2021

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.

Victoria Age of Steam description

I suspect we can't fix these especially as they are voiced by Sean Bean lol but thought I would mention it, Victoria (Age of Steam) has neither Redcoats nor the Pax Britannica!

image

Missing names of abilities with descriptions

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

Barracks' description does not mention anti-cav

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>

RFX: Go back to using specific War Cart tag

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.

Oracle, Divine Spark, and Theater Squares

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');

RFX: Public Transport policy double effects

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.

Arrow Storm gives attack bonus vs. district defenses

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.