New Game Effects and Lua Objects WishList

Zegangani

King
Joined
Oct 9, 2020
Messages
898
I don't know if this is the right Place to post this Thread, but since this would help to improve the Game and because it is not a Mod request, I thought it is.

Since it is unlikely that we will get the DLL source code for Civ VI, I thought it may be a good Idea to start a Thread where Modders (and non-Modders) can share their Ideas of new Modding possibilities (that aren't currently available) that they wish the Developers would provide us if they don't release the DLL (a merciful and gracious act toward the Civ VI Cummunity). In the hope that the Devs may hear us and make some Modding possibilities available for us (perhaps in a free Update Patch).

So what are the new Gameplay Effects, Lua Objects, Database Tables...etc that you wish the Devs would provide us and you think are needed in order to modify the Game in a way that is with the current modding possibilities not possible?

For non-Modders: Think of Effects as the Effects that get granted/removed/enhanced/nerfed by, for example, Policies, Pantheons, Buildings, GP...etc (i.e. a Policy that grant more Yields for Specialists (isn't currently moddable)). and by Requirements think of the Effects Prerequisites and/or triggers, such as -x Food for improved Food Resources if a City is under attack.


Here is my Wishlist (not complete - there might be some that can be achieved via a workaround, nonetheless, it would be nice to avoid that):

Spoiler Lua Objects :
City:GetBuildqueue():SetBuildDisabled (Gameplay-Script for every buildable Infrastructure/Unit/Project)
City:GetBuildqueue():SetPurchaseEnabled ( Gold/Faith, true/false - Gameplay-Script for every buildable Infrastructure/Unit/Project)
City:ChangeAmenities (Gameplay-Script)
City:GetBuildings():SetBuildingYieldType (Gameplay-Script)
City:GetBuildings():ChangeBuildingYieldAmount (Gameplay-Script)
City:GetBuildings():ChangeBuildingProductionCost (Gameplay-Script)
City:GetBuildings():GetTurnsSinceBuilt (Gameplay and UI Script)
City:GetDistricts():SetDistrictYieldType (Gameplay-Script)
City:GetDistricts():ChangeDistrictYieldAmount (Gameplay-Script)
City:GetDistricts():GetTurnsSinceBuilt (Gameplay and UI Script)

Players:GetCulture():ChangeGovernment (Gameplay-Script)
Players:GetCulture():ChangePolicy (Gameplay-Script)
Players:GetCulture():BanGovernment (Gameplay-Script)
Players:GetCulture():BanPolicy (Gameplay-Script)
Players:GetCulture(): PolicySlotBanPolicy (Gameplay-Script)
Players:GetCulture():BanCivic (Gameplay-Script)
Players:GetCulture():AllowCivic (Gameplay-Script)
Players:GetTechs():BanTech (Gameplay-Script)
Players:GetTechs():AllowTech (Gameplay-Script)
Players:GetDiplomacy():NeverDeclareWarOn (Gameplay-Script)
Players:GetDiplomacy():BefriendWith (Gameplay-Script)
Players:GetDiplomacy():IgnoreGrievanceTypeFrom (Gameplay-Script)
Players:GetGovernors():AssignGovernor (Gameplay-Script)
Players:GetGovernors():SetGovernorPromotion (Gameplay-Script)
Players:GetInfluence():GetTokensAtCityState (Gameplay and UI Script)
Players:GetInfluence():ChangeTokensAtCityState (Gameplay Script)

Plot:GetTurnsSinceImprovementConstructed (Gameplay and UI Script)

Unit:ChangeCombatStrength (Gameplay-Script)
Unit:ChangeRange (Gameplay-Script)
Unit:GetTurnsSinceConstructed (Gameplay and UI Script)
Unit:SetFormationClass (Gameplay-Script)

- All Unit Operations and Commands Objects (Upgrade, designate Park, Settlement, repair, rush production, ...etc)


Spoiler Events :
UnitReadyForCommand
UnitReadyToContinueCommand


Spoiler Effects :
EFFECT_ADJUST_BUILDING_AMENITY
EFFECT_ADJUST_CITY_ALLOWED_BUILDING (BuildingType, ban(boolean 0,1))
EFFECT_ADJUST_CITY_ALLOWED_DISTRICT (DistrictType, ban(boolean 0,1))
EFFECT_ADJUST_CITY_ALLOWED_PROJECT (ProjectType, ban(boolean 0,1))
EFFECT_ADJUST_CITY_ALLOWED_UNIT (UnitType, ban(boolean 0,1))
EFFECT_ADJUST_PLAYER_VALID_DISTRICT (DistrictType, ban(boolean 0,1))
EFFECT_ADJUST_PLAYER_VALID_POLICY (PolicyType, ban(boolean 0,1))
EFFECT_ADJUST_PLAYER_VALID_GOVERNOR (GovernorType, ban(boolean 0,1))
EFFECT_ADJUST_PLAYER_VALID_GOVERNMENT (GovernmentType, ban(boolean 0,1))
EFFECT_ADJUST_IMPROVEMENT_VALID_FEATURE
EFFECT_ADJUST_PLAYER_SPECIFIC_RESOURCE_STOCKPILE_CAP
EFFECT_ADJUST_BUILDING_SPECIALIST_YIELD_CHANGE
EFFECT_ADJUST_BUILDING_EXTRA_SPECIALIST_YIELD
EFFECT_ADJUST_DISTRICT_SPECIALIST_YIELD_CHANGE
EFFECT_ADJUST_DISTRICT_EXTRA_SPECIALIST_YIELD
EFFECT_ADJUST_CITY_GREAT_PERSON_POINTS
EFFECT_ADJUST_PLAYER_SPECIFIC_RESOURCE_AMENITY
EFFECT_ADJUST_CITY_AMENITY_FROM_SPECIFIC_RESOURCE
EFFECT_ADJUST_BUILDING_PREREQ
EFFECT_ADJUST_IMPROVEMENT_PREREQ
EFFECT_ADJUST_UNIT_PREREQ
EFFECT_GRANT_PLAYER_ROAD_FROM_SPECIFIC_DISTRICT_TO_DISTRICT (Local/International (boolean 0,1))
EFFECT_GRANT_PLAYER_ROAD_FROM_SPECIFIC_IMPROVEMENT_TO_IMPROVEMENT (Local/International (boolean 0,1))
EFFECT_GRANT_PLAYER_ROAD_FROM_SPECIFIC_DISTRICT_TO_SPECIFICIMPROVEMENT (Local/International (boolean 0,1))
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_LOCAL_SPECIFIC_RESOURCE_FOR_INTERNATIONAL
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_DESTINATION_SPECIFIC_RESOURCE_FOR_INTERNATIONAL
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_LOCAL_SPECIFIC_IMPROVEMENT_FOR_INTERNATIONAL
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_DESTINATION_SPECIFIC_IMPROVEMENT_FOR_INTERNATIONAL
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_LOCAL_SPECIFIC_BUILDING_FOR_INTERNATIONAL
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_DESTINATION_SPECIFIC_BUILDING_FOR_INTERNATIONAL
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_LOCAL_SPECIFIC_DISTRICT_FOR_INTERNATIONAL
EFFECT_ADJUST_CITY_TRADE_ROUTE_YIELD_DESTINATION_SPECIFIC_DISTRICT_FOR_INTERNATIONAL
EFFECT_ADJUST_PLOT_APPEAL
EFFECT_ADJUST_PLOT_FRESH_WATER
EFFECT_ADJUST_PLAYER_FAVORITE_ITEM (Item, Type, Favored(boolean 0,1))
EFFECT_ADJUST_PLAYER_AGENDA_TRAIT (TraitType, ban (boolean 0,1))
EFFECT_ADJUST_PLAYER_PSEUDOYIELD


Spoiler Requirements :
REQUIREMENT_UNIT_PROPERTY_MATCHES
REQUIREMENT_PLAYER_PROPERTY_MATCHES
REQUIREMENT_PLAYER_HAS_AT_LEAST_NUM_SPECIFIC_BUILDING (BuildingType, Pillaged (boolean 0,1))
REQUIREMENT_PLAYER_HAS_AT_LEAST_NUM_SPECIFIC_UNIT (UnitType)
REQUIREMENT_PLAYER_HAS_X_SPECIFIC_RESOURCE (ResourceType, Amount)
REQUIREMENT_CITY_GETS_AMENITY_FROM_SPECIFIC_RESOURCE
REQUIREMENT_CITY_HAS_IMPROVEMENT
REQUIREMENT_TRADE_ROUTE_DESTINATION_CITY_HAS_SPECIFIC_RESOURCE
REQUIREMENT_TRADE_ROUTE_DESTINATION_CITY_HAS_SPECIFIC_BUILDING
REQUIREMENT_TRADE_ROUTE_DESTINATION_CITY_HAS_SPECIFIC_DISTRICT
REQUIREMENT_TRADE_ROUTE_DESTINATION_CITY_HAS_SPECIFIC_IMPROVEMENT
REQUIREMENT_TRADE_ROUTE_DESTINATION_CITY_IS_INTERNATIONAL
REQUIREMENT_TRADE_ROUTE_DESTINATION_CITY_IS_LOCAL
REQUIREMENT_PLAYER_HAS_AGENDA_TRAIT
REQUIREMENT_PLAYER_HAS_GOVERNMENT (GovernmentType)
REQUIREMENT_PLAYER_HAS_GOVERNOR (GovernorType - for not assignable Governors)
REQUIREMENT_CITY_HAS_GOVERNOR (GovernorType)


Spoiler Tables :
- New Column for Improvements Table that allows an Improvement to be a Bridge (just like in Buildings_XP2, Bridge).
- New Column for Polycies Table that makes a Policy not able to be slotted in a WildCard Slot.
- A new Table to make new Diplomacy Relationship States (Grievance Types, DealTypes and Situations (trading a Strategic Resource with a Civ while it is being Attacked would would improve your relationship with that Civ, or aquire more grievances from other Civs if that Civ is warmongering)...etc - with appropriate requirements and/or new Lua objects) and the Ability to make custom Diplomacy Actions (Trading favored resources, Protecting each others Borders from Barbarians...etc) and Agendas (with requirements checked in Lua).
- New Column for Governors Table that makes a Governor function like the Secret Society Governors (not assignable to Cities, have Global Effects) but without being mutually exclusive with other not assignabe Governors.


And also, more methodes of interaction between Database and Lua (especially for Tables/Columns), like "REQUIREMENT_PLOT_PROPERTY_MATCHES". And a proper Documentation would be the icing on the Cake.
 
Last edited:
Can you currently customize AI behavior?
That was a key point in making mods so awesome in Civ 4. For example in RFC, civs preferred to settle on their historic locations on a true earth map (England in NY, France in Quebec, Spain in latin America, Portugal in Brazil, etc.).
 
Can you currently customize AI behavior?
That was a key point in making mods so awesome in Civ 4. For example in RFC, civs preferred to settle on their historic locations on a true earth map (England in NY, France in Quebec, Spain in latin America, Portugal in Brazil, etc.).
I'm not sure. The Settlement Action/Operation is actually hardcoded, but there might be some workaround for that (with lua), with a lot of scripting and UI changing (for Human Player), that would make it incompatible with some UI Mods. And that's why it would be nice if the devs could provide some more modding possibilities that would help Modders to make things like that possible (or easier to accomplish and without much incompatibilities with other Mods).
 
Last edited:
  • Like
Reactions: PiR
I mean, even changing everything about diplomacy would be great.
Yes. Deals, Grievances, Agendas...etc everything concerning diplomacy should be moddable.
 
  • Like
Reactions: PiR
Fill out the Trade route effects. For example:
City A has x number resources
City B has building
Trade route from city A to B - Benefits to A and B can be based on A having x number of resources. (I've tried this with modifiers on improvements but the game crashes after several turns)

Specify early Corps/Army/Fleets/Armadas for only certain units or types of units.

Aztec Luxury combat bonus for strategics resources.

Maintanace cost for Unit promotions.

Perquisite Districts and Buildings for Districts and buildings.

Technology and Policy Prerequisite for Keeping cities

Terrain Passible Technology prerequisite with override (Similar to oceans)

Mark Resources as Settleable or removed if settled (like features)
 
  • Like
Reactions: PiR
Top Bottom