[R&F] Help with modifiers

Question

King
Joined
Mar 12, 2008
Messages
950
Im trying to create a modifier where entertainment complexes get +1 amenity if next to a government_plaza. So I looked at Indonesia/khmer which has similar bonuses.

Indonesia's modifier for +1 amenity from entertainment complexes is split into 4 parts :

The Modifier itself

Code:
<Modifiers>
       <Row>
           <ModifierId>TRAIT_NUSANTARA_COAST_ENTERTAINMENT</ModifierId>
           <ModifierType>MODIFIER_PLAYER_DISTRICTS_ADJUST_EXTRA_ENTERTAINMENT</ModifierType>
           <SubjectRequirementSetId>DISTRICT_IS_ENTERTAINMENT_COMPLEX_COAST</SubjectRequirementSetId>
       </Row>
   </Modifiers>

The Modifier Arguments

Code:
       <Row>
           <ModifierId>TRAIT_NUSANTARA_COAST_ENTERTAINMENT</ModifierId>
           <Name>Amount</Name>
           <Value>1</Value>
       </Row>


The requirement set

Code:
    <RequirementSets>
       <Row>
           <RequirementSetId>DISTRICT_IS_ENTERTAINMENT_COMPLEX_COAST</RequirementSetId>
           <RequirementSetType>REQUIREMENTSET_TEST_ALL</RequirementSetType>
       </Row>
   </RequirementSets>

The requirement set requirements

Code:
    <RequirementSetRequirements>
           <Row>
           <RequirementSetId>DISTRICT_IS_ENTERTAINMENT_COMPLEX_COAST</RequirementSetId>
           <RequirementId>REQUIRES_DISTRICT_IS_ENTERTAINMENT_COMPLEX</RequirementId>
       </Row>
       <Row>
           <RequirementSetId>DISTRICT_IS_ENTERTAINMENT_COMPLEX_COAST</RequirementSetId>
           <RequirementId>REQUIRES_PLOT_IS_ADJACENT_TO_COAST</RequirementId>
       </Row>
   </RequirementSetRequirements>

So I followed the same format for SQL...

Modifier :

Code:
INSERT OR REPLACE INTO Modifiers (ModifierId, ModifierType, SubjectRequirementSetId)
VALUES    ('Government_Entertainment', 'MODIFIER_PLAYER_DISTRICTS_ADJUST_EXTRA_ENTERTAINMENT', 'Government_Entertainment_Requirements');

Argument :

Code:
INSERT OR REPLACE INTO ModifierArguments (ModifierId, Name, Value)
VALUES    ('Government_Entertainment', 'Amount', '1');

RequirementSets

Code:
INSERT OR REPLACE INTO RequirementSets (RequirementSetId, RequirementSetType)
VALUES    ('Government_Entertainment_Requirements', 'REQUIREMENTSET_TEST_ALL');

RequirementSetRequirements

Code:
INSERT OR REPLACE INTO RequirementSetRequirements (RequirementSetId, RequirementId)
VALUES   ('Government_Entertainment_Requirements', 'REQUIRES_DISTRICT_IS_ENTERTAINMENT_COMPLEX'),
VALUES    ('Government_Entertainment_Requirements', 'REQUIREMENT_ADJACENT_PLAZA');

And heres the tricky part, I needed to define REQUIREMENT_ADJACENT_PLAZA so the game checks to see if the entertainment complex is next to the plaza...so I followed the Khmer format :

Code:
INSERT OR REPLACE INTO Requirements (RequirementId, RequirementType)
VALUES    ('REQUIREMENT_ADJACENT_PLAZA', 'REQUIREMENT_PLOT_ADJACENT_DISTRICT_TYPE_MATCHES');

INSERT OR REPLACE INTO RequirementArguments (RequirementId, Name, Value)
VALUES    ('REQUIREMENT_ADJACENT_PLAZA', 'DistrictType', 'DISTRICT_GOVERNMENT');

But it does not work....what am I missing?
 
well, the ModifierArgument is missing what is increased by 1
I dont know what to do with amenity but for example gold would be:
Code:
INSERT OR REPLACE INTO ModifierArguments (ModifierId, Name, Value)
VALUES    ('Government_Entertainment', 'Amount', '1'),
  ('Government_Entertainment', 'YieldType', 'YIELD_GOLD';
 
But if you look at the code for indonesia's trait
TRAIT_NUSANTARA_COAST_ENTERTAINMENT it only has one Modifier Argument.
 
Top Bottom