Don't worry about that, just make your LoadOrder at least 200, which will be adequate for your mod to safely load after all FXS game content.i can't seem to find what is the load order value for expansion 2.
INSERT INTO BuildingModifiers (BuildingType, ModifierId) VALUES
('BUILDING_JEBEL_BARKAL', 'BE_JEBEL_BARKAL_HOLY_SITE_BASE_YIELD_MODIFIER');
INSERT INTO Modifiers (ModifierId, ModifierType, RunOnce, Permanent, OwnerRequirementSetId, SubjectRequirementSetId) VALUES
('BE_JEBEL_BARKAL_HOLY_SITE_BASE_YIELD_MODIFIER', 'MODIFIER_PLAYER_DISTRICT_ADJUST_BASE_YIELD_CHANGE', 0, 0, NULL, 'DISTRICT_IS_HOLY_SITE_DESERT');
INSERT INTO ModifierArguments (ModifierId, Name, Value, Extra, SecondExtra) VALUES
('BE_JEBEL_BARKAL_HOLY_SITE_BASE_YIELD_MODIFIER', 'YieldType', 'YIELD_FAITH', NULL, NULL),
('BE_JEBEL_BARKAL_HOLY_SITE_BASE_YIELD_MODIFIER', 'Amount', '1', NULL, NULL);
INSERT INTO RequirementSets (RequirementSetId, RequirementSetType) VALUES
('DISTRICT_IS_HOLY_SITE_DESERT', 'REQUIREMENTSET_TEST_ALL');
INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId) VALUES
('DISTRICT_IS_HOLY_SITE_DESERT', 'REQUIRES_DISTRICT_IS_HOLY_SITE'),
('DISTRICT_IS_HOLY_SITE_DESERT', 'PETRA_YIELD_MODIFIER_REQUIRES_PLOT_HAS_DESERT');
<Row>
<ModifierId>TRAIT_AQUEDUCT_FAITH</ModifierId>
<ModifierType>MODIFIER_PLAYER_DISTRICTS_ADJUST_YIELD_CHANGE</ModifierType>
<SubjectRequirementSetId>DISTRICT_IS_AQUEDUCT_FAITH</SubjectRequirementSetId>
</Row>
The differences areAha, thanks! I'll try that tomorrow.
Any idea what's the difference between these two modifiers?
EDIT: Your solution worked perfectly, thanks again!
<Row UnitPromotionType="PROMOTION_RANGER" Name="LOC_PROMOTION_RANGER_NAME" Description="LOC_PROMOTION_RANGER_DESCRIPTION" Level="1" Column="1" Specialization="" PromotionClass="PROMOTION_CLASS_RECON"/>
Hi i am new to SQL. It seems the word "value" and "column" has specific meaning in SQL, how to define them in SQL if the game xml file is using value or column ?
Example base game xml below which use value and column:-
Code:<Row> <ModifierId>TOWERDEFENSE_ZOMBIE_COMBAT_STRENGTH_FROM_PROPERTY</ModifierId> <Name>Scalar</Name> <Value>.5</Value> </Row> <Row UnitPromotionType="PROMOTION_RANGER" Name="LOC_PROMOTION_RANGER_NAME" Description="LOC_PROMOTION_RANGER_DESCRIPTION" Level="1" Column="1" Specialization="" PromotionClass="PROMOTION_CLASS_RECON"/>
Thanks.
INSERT INTO ModifierArguments (ModifierId, Name, Value) VALUES
('TOWERDEFENSE_ZOMBIE_COMBAT_STRENGTH_FROM_PROPERTY', 'Scalar', '0.5');
INSERT INTO UnitPromotions (UnitPromotionType, Name, Description, Level, Column, Specialization, PromotionClass) VALUES
('PROMOTION_RANGER', 'LOC_PROMOTION_RANGER_NAME', 'LOC_PROMOTION_RANGER_DESCRIPTION', '1', '1', NULL, 'PROMOTION_CLASS_RECON');
UPDATE ModifierArguments SET Value='1000' WHERE ModifierId='TOWERDEFENSE_ZOMBIE_COMBAT_STRENGTH_FROM_PROPERTY' AND Name='Scalar';
UPDATE UnitPromotions SET Column='3' WHERE UnitPromotionType='PROMOTION_RANGER' AND PromotionClass='PROMOTION_CLASS_RECON';
There's nothing special about "Value" or "Column" here, they're just the names of the table columns in the database table. SQL doesn't have any problems with it.
I'm not sure if it is possible to dynamicly disable a Player from hiring a certain GP Type, but you can use "EFFECT_ADJUST_NO_GREAT_PERSON_POINTS" and specify the GP Type, with any requirement applicable, like "REQUIREMENT_PLAYER_ERA_AT_LEAST", to stop a Player from acquiring GPP for a certain GP Type, but the Unit will still be acquirable via Gold or Faith.So, i've been brainstorming a few ideas of what mod to work on next, and i figured since a lot of you are more experienced than i in modmaking, you'd have a clearer idea of what is possible to change with mods and what isn't. I'm wondering if it's theoretically possible to build a mod that blocks you from hiring great people if the game didn't reach a certain age yet, or if you haven't reached a certain age yet. Also if it's possible to make it so that the same great person could be offered over and over again. What are your opinions?
There is this Global Parameter "PILLAGE_BUILDING_REPAIR_PERCENT" with Value: 25. Try changing the Value and see how it's working. Perhaps 100 will reverse the pillaging damage.When cities are captured the buildings are pillaged. Is there any way to edit the sql to prevent this?
If not, is there any way for you to be able to repair a building you haven't researched yet?
100 and 0 did not reverse the damage unfortunately. still wondering if there is a way to prevent a building from being pillaged after the city has been captured.I'm not sure if it is possible to dynamicly disable a Player from hiring a certain GP Type, but you can use "EFFECT_ADJUST_NO_GREAT_PERSON_POINTS" and specify the GP Type, with any requirement applicable, like "REQUIREMENT_PLAYER_ERA_AT_LEAST", to stop a Player from acquiring GPP for a certain GP Type, but the Unit will still be acquirable via Gold or Faith.
There is also "MODIFIER_PLAYER_UNIT_BUILD_DISABLED" to dynamicly enable/disable the instruction to build a Unit Type (all the different GP Types are also different UnitTypes), but I think this only applies to buildable Units, which GP aren't.
About the second question: I'm not sure about that. Maybe it is possible, but you will have to use Lua for that. I guess you have to just test this.
There is this Global Parameter "PILLAGE_BUILDING_REPAIR_PERCENT" with Value: 25. Try changing the Value and see how it's working. Perhaps 100 will reverse the pillaging damage.
You can instantly repair pillaged Buildings by using Lua though.