Hello Everybody
Perhaps someone can Help me out, im Working on a Mod Project called "Enahnced sight and defense" ( but the name will change soon). Since im, a Moding Begginer, its very Challenging, but still a lot of Fun.
My Mayor promblem for now is, to get the LOC_****_NAME and LOC_****_DESCRIPTION from my UnitAbilitys, i added, to show up in the Game, i cant get it to work
My Goal is to have ShowFloatTextWhenEarned to show up when an Ability is Activated, also i would like to have a Preview of the Abilty before i move on a terrain field and a Discription, i tryed to write in XML and tryed SQL but still no luck,
I´m Attaching the Code
Main Code:
and here the XML Text
The Code is not very Clean and well commented, im Working on that
If Somebody have better ways to programm it, i would be happy if you leave a comment.....
Thank you.
Perhaps someone can Help me out, im Working on a Mod Project called "Enahnced sight and defense" ( but the name will change soon). Since im, a Moding Begginer, its very Challenging, but still a lot of Fun.
My Mayor promblem for now is, to get the LOC_****_NAME and LOC_****_DESCRIPTION from my UnitAbilitys, i added, to show up in the Game, i cant get it to work
My Goal is to have ShowFloatTextWhenEarned to show up when an Ability is Activated, also i would like to have a Preview of the Abilty before i move on a terrain field and a Discription, i tryed to write in XML and tryed SQL but still no luck,
I´m Attaching the Code
Main Code:
Code:
-- EnhancedSightAndDefense
-- Author: MR.Pat
-- DateCreated: 5/4/2019 3:49:39 PM
/* <-MR:Pat->
Ideas: 1. Caveliry cant atack from Marsches and (or) floddplains
2. Combat Strengh reduced for Ranged Units and (or) Cavelery Units when in a Jungle or Forest
3. (AI MAkes use of mod Tweaks)
4 . Set staring distance and Minimum city distance in setup menue
*/
----------------------------------------------------------------------------------------------------------------------------------------------
/* UPDATE DEFENSEMODIFIERS AND GLOBALPARAMETERS */
----------------------------------------------------------------------------------------------------------------------------------------------
UPDATE Features SET DefenseModifier='5' WHERE FeatureType='FEATURE_JUNGLE'; -- Set DefenseModifier in Jungle to 5 -- Default 3
UPDATE Features SET DefenseModifier='4' WHERE FeatureType='FEATURE_FOREST'; -- Set DefenseModifier in Forest to 4 -- Default 3
UPDATE Improvements SET DefenseModifier='6' WHERE ImprovementType='IMPROVEMENT_FORT'; -- Set DefenseModifier in Fort to 6 -- Default 4
UPDATE GlobalParameters SET Value='15' WHERE Name='START_DISTANCE_MAJOR_CIVILIZATION'; -- Set Major Civilization Starting Distance to 15 -- Default 12
UPDATE GlobalParameters SET Value='4' WHERE Name='CITY_MIN_RANGE'; -- Set Minimum Range to other City to 4 -- Default 3
--------------------------------------------------------------------------------------------------
/* DELETE TECHBOOST FOR ENGINEERING */
--------------------------------------------------------------------------------------------------
DELETE FROM Boosts WHERE BoostID ='64';
--------------------------------------------------------------------------------------------------
/* INSERT MODIFIERS FOR ENHANCED SIGHT, CAPITAL WALLS, CAMP DEFENSE AND CITY STRIKE RANGE */
--------------------------------------------------------------------------------------------------
INSERT INTO Types (Type, Kind)
VALUES ('MODTYPE_ENHANCED_SIGHT_ON_HILLS', 'KIND_MODIFIER');
INSERT INTO Types (Type, Kind)
VALUES ('GRANT_WALLS_IN_CITY', 'KIND_MODIFIER');
INSERT INTO Types (Type, Kind)
VALUES ('MODTYPE_ENHANCE_CAMP_DEFENSE', 'KIND_MODIFIER');
INSERT INTO Types (Type, Kind)
VALUES ('MODTYPE_ENHANCE_CITY_STRIKE_RANGE', 'KIND_MODIFIER');
INSERT INTO Types (Type, Kind)
VALUES ('MODTYPE_ENHANCE_RANGED_STRIKE_RANGE', 'KIND_MODIFIER');
INSERT INTO Types (Type, Kind)
VALUES ('MODTYPE_ENHANCED_ATTACK_NUM_ON_HILLS', 'KIND_MODIFIER');
-------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
/* INSERT ABILITY TYPES FOR ENHANCED SIGHT AND ATTACK RANGE */
--------------------------------------------------------------------------------------------------
INSERT INTO Types (Type, Kind)
VALUES ('ABILITY_ENHANCED_SIGHT', 'KIND_ABILITY'),
('ABILITY_ENHANCED_SIGHT_CAMPS', 'KIND_ABILITY'),
('ABILITY_ENHANCED_SIGHT_FORTS', 'KIND_ABILITY'),
('ABILITY_ENHANCED_SIGHT_HIDDEN', 'KIND_ABILITY'),
('ABILITY_ENHANCED_SIGHT_SEE_THROUGH', 'KIND_ABILITY'),
('ABILITY_ENHANCED_RANGE', 'KIND_ABILITY'),
('ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS', 'KIND_ABILITY'),
('ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE', 'KIND_ABILITY'),
('ABILITY_CAVALRY_CANT_ATTACK_MARSH', 'KIND_ABILITY');
--------------------------------------------------------------------------------------------------
/* DYNAMICMODIFIERS FOR ENHANCED SIGHT, CAPITAL WALLS, CAMP DEFENSE, STRIKE RANGE, Second Attack MOve */
--------------------------------------------------------------------------------------------------
INSERT INTO DynamicModifiers (ModifierType, CollectionType, EffectType)
VALUES ('MODTYPE_ENHANCED_SIGHT_ON_HILLS', 'COLLECTION_OWNER', 'EFFECT_ADJUST_UNIT_SIGHT');
INSERT INTO DynamicModifiers (ModifierType, CollectionType, EffectType)
VALUES ('GRANT_WALLS_IN_CITY', 'COLLECTION_PLAYER_CAPITAL_CITY', 'EFFECT_GRANT_BUILDING_IN_CITY');
INSERT INTO DynamicModifiers (ModifierType, CollectionType, EffectType)
VALUES ('MODTYPE_ENHANCE_CAMP_DEFENSE', 'COLLECTION_OWNER', 'EFFECT_ADJUST_CITY_HIT_POINTS');
INSERT INTO DynamicModifiers (ModifierType, CollectionType, EffectType)
VALUES ('MODTYPE_ENHANCE_CITY_STRIKE_RANGE', 'COLLECTION_PLAYER_CITIES', 'EFFECT_ADJUST_CITY_RANGED_STRIKE');
INSERT INTO DynamicModifiers (ModifierType, CollectionType, EffectType)
VALUES ('MODTYPE_ENHANCE_RANGED_STRIKE_RANGE', 'COLLECTION_OWNER', 'EFFECT_ADJUST_UNIT_ATTACK_RANGE');
INSERT INTO DynamicModifiers (ModifierType, CollectionType, EffectType)
VALUES ('MODTYPE_ENHANCED_ATTACK_NUM_ON_HILLS', 'COLLECTION_OWNER', 'EFFECT_ADJUST_UNIT_NUM_ATTACKS');
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
INSERT INTO Modifiers (ModifierId, ModifierType, Permanent, OwnerRequirementSetId, SubjectRequirementSetId, OwnerStackLimit, SubjectStackLimit)
VALUES ('MODIFIER_ENHANCED_SIGHT_ON_HILLS', 'MODTYPE_ENHANCED_SIGHT_ON_HILLS', 0, NULL, 'REQSET_TERRAIN_IS_A_HILL', NULL, NULL),
('MODIFIER_ENHANCED_SIGHT_ON_CAMPS', 'MODTYPE_ENHANCED_SIGHT_ON_HILLS', 0, NULL, 'REQSET_TERRAIN_IS_A_CAMP', NULL, NULL),
('MODIFIER_ENHANCED_SIGHT_ON_FORTS', 'MODTYPE_ENHANCED_SIGHT_ON_HILLS', 0, NULL, 'REQSET_TERRAIN_IS_A_FORT', NULL, NULL),
('MODIFIER_ENHANCED_SIGHT_HIDDEN', 'MODIFIER_PLAYER_UNIT_ADJUST_SEE_HIDDEN', 0, NULL, 'REQSET_TERRAIN_IS_A_HILL', NULL, NULL),
('MODIFIER_ENHANCED_SIGHT_SEE_THROUGH', 'MODIFIER_PLAYER_UNIT_ADJUST_SEE_THROUGH_FEATURES', 0, NULL, 'REQSET_TERRAIN_IS_A_HILL', NULL, NULL),
('MODIFIER_ENHANCED_RANGE', 'MODTYPE_ENHANCE_RANGED_STRIKE_RANGE', 0, NULL, 'REQSET_TERRAIN_IS_A_HILL', NULL, NULL),
('MODIFIER_ENHANCED_ATTACK_NUM', 'MODTYPE_ENHANCED_ATTACK_NUM_ON_HILLS', 0, NULL, 'REQSET_TERRAIN_IS_A_HILL', NULL, NULL),
('MODIFIER_REDUCED_COMBAT', 'MODIFIER_UNIT_ADJUST_COMBAT_STRENGTH', 0, NULL, 'REQSET_TERRAIN_IS_FORREST_OR_JUNGLE', NULL, NULL),
('MODIFIER_CAVALRY_CANT_ATTACK_MARSH', 'MODIFIER_PLAYER_UNIT_ADJUST_CANNOT_ATTACK', 0, NULL, 'REQSET_TERRAIN_IS_MARSH', NULL, NULL),
('MODIFIER_ENHANCE_CITY_STRIKE_RANGE', 'MODTYPE_ENHANCE_CITY_STRIKE_RANGE', 1, NULL, 'REQSET_TERRAIN_IS_A_HILL', NULL, NULL);
INSERT INTO Modifiers (ModifierId, ModifierType, OwnerRequirementSetId, SubjectRequirementSetId)
VALUES ('CAPITAL_FREE_ANCIENT_WALLS', 'GRANT_WALLS_IN_CITY', NULL, NULL);
INSERT INTO Modifiers (ModifierId, ModifierType, OwnerRequirementSetId, SubjectRequirementSetId)
VALUES ('MODIFIER_ENHANCE_CAMP_DEFENSE', 'MODTYPE_ENHANCE_CAMP_DEFENSE', NULL, 'REQSET_TERRAIN_IS_A_HILL');
INSERT INTO ModifierArguments (ModifierId, Name, Value)
VALUES ('MODIFIER_ENHANCED_SIGHT_ON_HILLS', 'Amount', 1), -- Sight of Units + 1 when on Hill
('MODIFIER_ENHANCED_SIGHT_ON_CAMPS', 'Amount', 1), -- Sight of Units + 2 when on Hill
('MODIFIER_ENHANCED_SIGHT_ON_FORTS', 'Amount', 1), -- Sight of Units +2 when on Hill
('MODIFIER_ENHANCED_SIGHT_HIDDEN', 'SeeHidden', 1), -- See Hidden when on Hill
('MODIFIER_ENHANCED_SIGHT_SEE_THROUGH', 'SightThroughModifier', -1), -- See Through when on Hill ( Forrest and Jungel )
('MODIFIER_ENHANCED_RANGE', 'Amount', 1),
('MODIFIER_ENHANCED_ATTACK_NUM', 'Amount', 1),
('MODIFIER_REDUCED_COMBAT', 'Amount', -5),
('MODIFIER_CAVALRY_CANT_ATTACK_MARSH', 'Disable', 1);
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
INSERT INTO ModifierArguments (ModifierId, Name, Value)
VALUES ('CAPITAL_FREE_ANCIENT_WALLS', 'BuildingType', 'BUILDING_WALLS');
INSERT INTO ModifierArguments (ModifierId, Name, Value)
VALUES ('MODIFIER_ENHANCE_CAMP_DEFENSE', 'DistrictType', 'DISTRICT_ENCAMPMENT'),
('MODIFIER_ENHANCE_CAMP_DEFENSE', 'Amount', 100);
INSERT INTO ModifierArguments (ModifierId, Name, Value)
VALUES ('MODIFIER_ENHANCE_CITY_STRIKE_RANGE', 'Amount', 3); --- i still have to check this here
INSERT INTO DistrictModifiers (DistrictType, ModifierId)
VALUES ('DISTRICT_ENCAMPMENT', 'MODIFIER_ENHANCE_CAMP_DEFENSE');
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
/* <-MR.Pat-> -- I CANT GET SHOWFLOATTEXT TO WORK OR ANY KIND OF TEXT !!! -- I think City Strike Range dont Work
*/
INSERT INTO ModifierStrings (ModifierId, Context, Text)
VALUES ('MODIFIER_ENHANCED_SIGHT_ON_HILLS', 'Preview', 'LOC_ABILITY_ENHANCED_SIGHT_DESCRIPTION'),
('MODIFIER_ENHANCED_SIGHT_ON_CAMPS', 'Preview', 'LOC_ABILITY_ENHANCED_SIGHT_CAMPS_DESCRIPTION'),
('MODIFIER_ENHANCED_SIGHT_ON_FORTS', 'Preview', 'LOC_ABILITY_ENHANCED_SIGHT_FORTS_DESCRIPTION'),
('MODIFIER_ENHANCED_SIGHT_HIDDEN', 'Preview', 'LOC_ABILITY_ENHANCED_SIGHT_HIDDEN_DESCRIPTION'),
('MODIFIER_ENHANCED_SIGHT_SEE_THROUGH', 'Preview', 'LOC_ABILITY_ENHANCED_SIGHT_SEE_THROUGH_DESCRIPTION'),
('MODIFIER_ENHANCED_RANGE', 'Preview', 'LOC_ABILITY_ENHANCED_RANGE_DESCRIPTION'),
('MODIFIER_ENHANCED_ATTACK_NUM', 'Preview', 'LOC_ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS_DESCRIPTION'),
('MODIFIER_REDUCED_COMBAT', 'Preview', 'LOC_ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE_DESCRIPTION'),
('MODIFIER_CAVALRY_CANT_ATTACK_MARSH', 'Preview', 'LOC_ABILITY_CAVALRY_CANT_ATTACK_MARSH_DESCRIPTION');
----------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
INSERT INTO Requirements (RequirementId, RequirementType)
VALUES ('REQ_TERRAIN_ON_HILL', 'REQUIREMENT_PLOT_IS_HILLS'),
('REQ_TERRAIN_ON_CAMP', 'REQUIREMENT_DISTRICT_TYPE_MATCHES'),
('REQ_TERRAIN_ON_FORT', 'REQUIREMENT_PLOT_IMPROVEMENT_TYPE_MATCHES'),
--('REQ_RANGED_UNIT', 'REQUIREMENT_COMBAT_TYPE_MATCHES'),
('REQ_TERRAIN_ON_FORREST', 'REQUIREMENT_PLOT_FEATURE_TYPE_MATCHES'),
('REQ_TERRAIN_ON_JUNGLE', 'REQUIREMENT_PLOT_FEATURE_TYPE_MATCHES'),
('REQ_TERRAIN_IS_MARSH', 'REQUIREMENT_PLOT_FEATURE_TYPE_MATCHES');
INSERT INTO RequirementSets (RequirementSetId, RequirementSetType)
VALUES ('REQSET_TERRAIN_IS_A_HILL', 'REQUIREMENTSET_TEST_ALL'),
('REQSET_TERRAIN_IS_A_CAMP', 'REQUIREMENTSET_TEST_ALL'),
('REQSET_TERRAIN_IS_A_FORT', 'REQUIREMENTSET_TEST_ALL'),
--('REQSET_RANGED_UNIT_ON_HILL', 'REQUIREMENTSET_TEST_ALL'),
('REQSET_TERRAIN_IS_FORREST_OR_JUNGLE', 'REQUIREMENTSET_TEST_ANY'),
('REQSET_TERRAIN_IS_MARSH', 'REQUIREMENTSET_TEST_ALL');
INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId)
VALUES ('REQSET_TERRAIN_IS_A_HILL', 'REQ_TERRAIN_ON_HILL');
INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId)
VALUES ('REQSET_TERRAIN_IS_A_CAMP', 'REQ_TERRAIN_ON_CAMP'),
('REQSET_TERRAIN_IS_A_CAMP', 'REQ_TERRAIN_ON_HILL');
INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId)
VALUES ('REQSET_TERRAIN_IS_A_FORT', 'REQ_TERRAIN_ON_FORT'),
('REQSET_TERRAIN_IS_A_FORT', 'REQ_TERRAIN_ON_HILL');
--INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId)
-- VALUES ('REQSET_RANGED_UNIT_ON_HILL', 'REQ_RANGED_UNIT'),
-- ('REQSET_RANGED_UNIT_ON_HILL', 'REQ_TERRAIN_ON_HILL');
INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId)
VALUES ('REQSET_TERRAIN_IS_FORREST_OR_JUNGLE', 'REQ_TERRAIN_ON_FORREST'),
('REQSET_TERRAIN_IS_FORREST_OR_JUNGLE', 'REQ_TERRAIN_ON_JUNGLE');
INSERT INTO RequirementSetRequirements (RequirementSetId, RequirementId)
VALUES ('REQSET_TERRAIN_IS_MARSH', 'REQ_TERRAIN_IS_MARSH');
INSERT INTO RequirementArguments (RequirementId, Name, Value)
VALUES ('REQ_TERRAIN_ON_CAMP', 'DistrictType', 'DISTRICT_ENCAMPMENT');
INSERT INTO RequirementArguments (RequirementId, Name, Value)
VALUES ('REQ_TERRAIN_ON_FORT', 'ImprovementType', 'IMPROVEMENT_FORT');
---INSERT INTO RequirementArguments (RequirementId, Name, Value)
--- VALUES ('REQ_RANGED_UNIT', 'CombatType', 'COMBAT_RANGED');
INSERT INTO RequirementArguments (RequirementId, Name, Value)
VALUES ('REQ_TERRAIN_ON_FORREST', 'FeatureType', 'FEATURE_FOREST');
INSERT INTO RequirementArguments (RequirementId, Name, Value)
VALUES ('REQ_TERRAIN_ON_JUNGLE', 'FeatureType', 'FEATURE_JUNGLE');
INSERT INTO RequirementArguments (RequirementId, Name, Value)
VALUES ('REQ_TERRAIN_IS_MARSH', 'FeatureType', 'FEATURE_MARSH');
---------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
INSERT INTO TraitModifiers (TraitType, ModifierId)
VALUES ('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCED_SIGHT_ON_HILLS'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCED_SIGHT_ON_HILLS'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCED_SIGHT_ON_CAMPS'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCED_SIGHT_ON_CAMPS'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCED_SIGHT_ON_FORTS'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCED_SIGHT_ON_FORTS'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCED_SIGHT_HIDDEN'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCED_SIGHT_HIDDEN'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCED_SIGHT_SEE_THROUGH'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCED_SIGHT_SEE_THROUGH'),
('TRAIT_LEADER_MAJOR_CIV', 'CAPITAL_FREE_ANCIENT_WALLS'),
('MINOR_CIV_DEFAULT_TRAIT', 'CAPITAL_FREE_ANCIENT_WALLS'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCED_RANGE'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCED_RANGE'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCE_CAMP_DEFENSE'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCE_CITY_STRIKE_RANGE'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCE_CITY_STRIKE_RANGE'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_ENHANCED_ATTACK_NUM'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_ENHANCED_ATTACK_NUM'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_REDUCED_COMBAT'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_REDUCED_COMBAT'),
('TRAIT_LEADER_MAJOR_CIV', 'MODIFIER_CAVALRY_CANT_ATTACK_MARSH'),
('MINOR_CIV_DEFAULT_TRAIT', 'MODIFIER_CAVALRY_CANT_ATTACK_MARSH');
-----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
INSERT INTO UnitAbilityModifiers (UnitAbilityType, ModifierId)
VALUES ('ABILITY_ENHANCED_SIGHT', 'MODIFIER_ENHANCED_SIGHT_ON_HILLS'),
('ABILITY_ENHANCED_SIGHT_CAMPS', 'MODIFIER_ENHANCED_SIGHT_ON_CAMPS'),
('ABILITY_ENHANCED_SIGHT_FORTS', 'MODIFIER_ENHANCED_SIGHT_ON_FORTS'),
('ABILITY_ENHANCED_SIGHT_HIDDEN', 'MODIFIER_ENHANCED_SIGHT_HIDDEN'),
('ABILITY_ENHANCED_SIGHT_SEE_THROUGH', 'MODIFIER_ENHANCED_SIGHT_SEE_THROUGH'),
('ABILITY_ENHANCED_RANGE', 'MODIFIER_ENHANCED_RANGE'),
('ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS', 'MODIFIER_ENHANCED_ATTACK_NUM'),
('ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE', 'MODIFIER_REDUCED_COMBAT'),
('ABILITY_CAVALRY_CANT_ATTACK_MARSH', 'MODIFIER_CAVALRY_CANT_ATTACK_MARSH');
INSERT INTO UnitAbilities (UnitAbilityType, Name, Description, Inactive, ShowFloatTextWhenEarned)
VALUES ('ABILITY_ENHANCED_SIGHT', 'LOC_ABILITY_ENHANCED_SIGHT_NAME', 'LOC_ABILITY_ENHANCED_SIGHT_DESCRIPTION', 0, 1),
('ABILITY_ENHANCED_SIGHT_CAMPS', 'LOC_ABILITY_ENHANCED_SIGHT_CAMPS_NAME', 'LOC_ABILITY_ENHANCED_SIGHT_CAMPS_DESCRIPTION', 0, 1),
('ABILITY_ENHANCED_SIGHT_FORTS', 'LOC_ABILITY_ENHANCED_SIGHT_FORTS_NAME', 'LOC_ABILITY_ENHANCED_SIGHT_FORTS_DESCRIPTION', 0, 1),
('ABILITY_ENHANCED_SIGHT_HIDDEN', 'LOC_ABILITY_ENHANCED_SIGHT_HIDDEN_NAME', 'LOC_ABILITY_ENHANCED_SIGHT_HIDDEN_DESCRIPTION', 0, 1),
('ABILITY_ENHANCED_SIGHT_SEE_THROUGH', 'LOC_ABILITY_ENHANCED_SIGHT_SEE_THROUGH_NAME', 'LOC_ABILITY_ENHANCED_SIGHT_SEE_THROUGH_DESCRIPTION', 0, 1),
('ABILITY_ENHANCED_RANGE', 'LOC_ABILITY_ENHANCED_RANGE_NAME', 'LOC_ABILITY_ENHANCED_RANGE_DESCRIPTION', 0, 1),
('ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS', 'LOC_ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS_NAME', 'LOC_ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS_DESCRIPTION', 0, 1),
('ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE', 'LOC_ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE_NAME', 'LOC_ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE_DESCRIPTION', 0, 1),
('ABILITY_CAVALRY_CANT_ATTACK_MARSH', 'LOC_ABILITY_CAVALRY_CANT_ATTACK_MARSH_NAME', 'LOC_ABILITY_CAVALRY_CANT_ATTACK_MARSH_DESCRIPTION', 0, 1);
INSERT INTO Tags (Tag, Vocabulary)
VALUES ('CLASS_CAVALRY_UNITS_CANT_ATTACK_MARSH', 'ABILITY_CLASS');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_CAVALRY_CANT_ATTACK_MARSH', 'CLASS_CAVALRY_UNITS_CANT_ATTACK_MARSH');
INSERT INTO TypeTags (Type, Tag)
VALUES ('UNIT_HEAVY_CHARIOT', 'CLASS_CAVALRY_UNITS_CANT_ATTACK_MARSH');
INSERT INTO TypeTags (Type, Tag)
VALUES ('UNIT_KNIGHT', 'CLASS_CAVALRY_UNITS_CANT_ATTACK_MARSH');
INSERT INTO TypeTags (Type, Tag)
VALUES ('UNIT_HORSEMAN', 'CLASS_CAVALRY_UNITS_CANT_ATTACK_MARSH');
INSERT INTO TypeTags (Type, Tag)
VALUES ('UNIT_CAVALRY', 'CLASS_CAVALRY_UNITS_CANT_ATTACK_MARSH');
INSERT INTO TypeTags (Type, Tag)
VALUES ('UNIT_BARBARIAN_HORSEMAN', 'CLASS_CAVALRY_UNITS_CANT_ATTACK_MARSH');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_ENHANCED_SIGHT', 'CLASS_MELEE'),
('ABILITY_ENHANCED_SIGHT', 'CLASS_SIEGE'),
('ABILITY_ENHANCED_SIGHT', 'CLASS_RANGED'),
('ABILITY_ENHANCED_SIGHT', 'CLASS_RECON');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_ENHANCED_SIGHT_CAMPS', 'CLASS_MELEE'),
('ABILITY_ENHANCED_SIGHT_CAMPS', 'CLASS_SIEGE'),
('ABILITY_ENHANCED_SIGHT_CAMPS', 'CLASS_RANGED'),
('ABILITY_ENHANCED_SIGHT_CAMPS', 'CLASS_RECON');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_ENHANCED_SIGHT_FORTS', 'CLASS_MELEE'),
('ABILITY_ENHANCED_SIGHT_FORTS', 'CLASS_SIEGE'),
('ABILITY_ENHANCED_SIGHT_FORTS', 'CLASS_RANGED'),
('ABILITY_ENHANCED_SIGHT_FORTS', 'CLASS_RECON');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS', 'CLASS_HEAVY_CAVALRY'),
('ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS', 'CLASS_ANTI_CAVALRY'),
('ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS', 'CLASS_LIGHT_CAVALRY'),
('ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS', 'CLASS_RANGED');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE', 'CLASS_HEAVY_CAVALRY'),
('ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE', 'CLASS_LIGHT_CAVALRY'),
('ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE', 'CLASS_SIEGE'),
('ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE', 'CLASS_RANGED');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_ENHANCED_RANGE', 'CLASS_SIEGE'),
('ABILITY_ENHANCED_RANGE', 'CLASS_RANGED');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_ENHANCED_SIGHT_HIDDEN', 'CLASS_RECON');
INSERT INTO TypeTags (Type, Tag)
VALUES ('ABILITY_ENHANCED_SIGHT_SEE_THROUGH', 'CLASS_RECON');
and here the XML Text
Code:
<GameData>
<LocalizedText>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_NAME"
Language="en_US">
<Text>+1 [ICON_PROMOTION_SPYGLASS] Enhanced Sight.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_DESCRIPTION"
Language="en_US">
<Text>+1 [ICON_PROMOTION_SPYGLASS] Enhanced Sight from a Hill.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_CAMPS_NAME"
Language="en_US">
<Text>+2 [ICON_PROMOTION_SPYGLASS] Enhanced Sight.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_CAMPS_DESCRIPTION"
Language="en_US">
<Text>+2 [ICON_PROMOTION_SPYGLASS] Enhanced Sight from a Camp on a Hill.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_FORTS_NAME"
Language="en_US">
<Text>+2 [ICON_PROMOTION_SPYGLASS] Enhanced Sight.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_FORTS_DESCRIPTION"
Language="en_US">
<Text>+2 [ICON_PROMOTION_SPYGLASS] Enhanced Sight from a Fort on a Hill.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_HIDDEN_NAME"
Language="en_US">
<Text>[ICON_PROMOTION_SPYGLASS] Hidden Units.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_HIDDEN_DESCRIPTION"
Language="en_US">
<Text>[ICON_PROMOTION_SPYGLASS] You can see Hidden Units.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_SEE_THROUGH_NAME"
Language="en_US">
<Text>[ICON_PROMOTION_SPYGLASS] See Through.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_SIGHT_SEE_THROUGH_DESCRIPTION"
Language="en_US">
<Text>[ICON_PROMOTION_SPYGLASS] You can see through forrest and Jungle.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_RANGE_NAME"
Language="en_US">
<Text>+1 [ICON_RANGE] Enhanced Range.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_RANGE_DESCRIPTION"
Language="en_US">
<Text>+1 [ICON_RANGE] Combat Range.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS_NAME"
Language="en_US">
<Text>+1 [ICON_STRENGTH] Attack Move.</Text>
</Row>
<Row Tag="LOC_ABILITY_ENHANCED_ATTACK_NUM_ON_HILLS_DESCRIPTION"
Language="en_US">
<Text>+1 [ICON_STRENGTH] You can Attack twice.</Text>
</Row>
<Row Tag="LOC_ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE_NAME"
Language="en_US">
<Text>-5 [ICON_STRENGTH] Reduced Strenght.</Text>
</Row>
<Row Tag="LOC_ABILITY_REDUCED_COMBAT_ON_FORREST_JUNGLE_DESCRIPTION"
Language="en_US">
<Text>-5 [ICON_STRENGTH] Reduced Strenght on Forrest or Jungle Combat.</Text>
</Row>
<Row Tag="LOC_ABILITY_CAVALRY_CANT_ATTACK_MARSH_NAME"
Language="en_US">
<Text>[ICON_FEATURE_MARSH] Cannot Attack.</Text>
</Row>
<Row Tag="LOC_ABILITY_CAVALRY_CANT_ATTACK_MARSH_DESCRIPTION"
Language="en_US">
<Text>[ICON_FEATURE_MARSH] You Cannot Attack on Marshes.</Text>
</Row>
</LocalizedText>
</GameData>
The Code is not very Clean and well commented, im Working on that
If Somebody have better ways to programm it, i would be happy if you leave a comment.....
Thank you.