这段代码的主要目的是为《文明 6》中孙权的海军单位添加海战加成效果。具体步骤如下:
- 定义名为
TRAIT_Jiangdong_Navy_BONUS_VS_NAVAL
的特性,将其关联到孙权这一领袖,兵关联到Modifier_Jiangdong_Navy_BONUS_VS_NAVAL。 - 创建名为
Jiangdong_Navy_BONUS_VS_NAVAL
和Modifier_Jiangdong_Navy_BONUS_VS_NAVAL的修饰器,Jiangdong_Navy_BONUS_VS_NAVAL
修饰器可调整单位战斗强度,使单位战斗强度增加 4,并设置了其预览文本。Modifier_Jiangdong_Navy_BONUS_VS_NAVAL绑定了MODIFIER_PLAYER_UNITS_GRANT_ABILITY:ABILITY_Jiangdong_Navy
。 - 定义名为
ABILITY_Jiangdong_Navy
的单位能力,将此能力与上述修饰器关联。 - 给
ABILITY_Jiangdong_Navy
能力添加多个单位类型标签,包括CLASS_PHANTA_LOUCHUAN
、CLASS_NAVAL_MELEE
、CLASS_NAVAL_RANGED
和CLASS_NAVAL_RAIDER
。这样一来,拥有这些标签的孙权海军单位会获得该能力,进而在海战中战斗强度增加 4。
-- 孙权海战加成
INSERT INTO Types
(`Type`, `Kind` )
VALUES ('TRAIT_Jiangdong_Navy_BONUS_VS_NAVAL', 'KIND_TRAIT' );
INSERT INTO Traits
(TraitType, `Name`, Description )
VALUES ('TRAIT_Jiangdong_Navy_BONUS_VS_NAVAL', 'LOC_Jiangdong_Navy_NAME', 'LOC_Jiangdong_Navy_DESCRIPTION' );
INSERT INTO LeaderTraits
(LeaderType, TraitType )
VALUES ('LEADER_PHANTA_SUN_QUAN', 'TRAIT_Jiangdong_Navy_BONUS_VS_NAVAL' );
INSERT INTO TraitModifiers (TraitType, ModifierId) VALUES
('TRAIT_Jiangdong_Navy_BONUS_VS_NAVAL', 'Modifier_Jiangdong_Navy_BONUS_VS_NAVAL');
INSERT INTO Modifiers (ModifierId, ModifierType, RunOnce, Permanent, NewOnly, OwnerRequirementSetId, SubjectRequirementSetId) VALUES
("Modifier_Jiangdong_Navy_BONUS_VS_NAVAL", "MODIFIER_PLAYER_UNITS_GRANT_ABILITY", 0, 0, 0, NULL, NULL);
INSERT INTO ModifierArguments (ModifierId, `Name`, `Value`)
VALUES ('Modifier_Jiangdong_Navy_BONUS_VS_NAVAL', 'AbilityType', 'ABILITY_Jiangdong_Navy');
INSERT INTO Modifiers (ModifierId, ModifierType, RunOnce, Permanent, NewOnly, OwnerRequirementSetId, SubjectRequirementSetId) VALUES
("Jiangdong_Navy_BONUS_VS_NAVAL", "MODIFIER_UNIT_ADJUST_COMBAT_STRENGTH", 0, 0, 0, NULL, NULL);
INSERT INTO ModifierArguments (ModifierId, `Name`, `Value`)
VALUES ('Jiangdong_Navy_BONUS_VS_NAVAL', 'Amount', '4');
INSERT INTO ModifierStrings (ModifierId, `Context`, `Text`)
VALUES ('Jiangdong_Navy_BONUS_VS_NAVAL', 'Preview', '+{1_Amount} {LOC_Jiangdong_Navy_NAME} {LOC_Jiangdong_Navy_DESCRIPTION}');
INSERT INTO Types
(`Type`, `Kind` )
VALUES ('ABILITY_Jiangdong_Navy', 'KIND_ABILITY' );
INSERT INTO UnitAbilities (UnitAbilityType, Name, Description,Inactive)
VALUES ('ABILITY_Jiangdong_Navy', 'LOC_Jiangdong_Navy_NAME', 'LOC_Jiangdong_Navy_DESCRIPTION',1);
INSERT INTO UnitAbilityModifiers (UnitAbilityType,ModifierId)
VALUES ('ABILITY_Jiangdong_Navy', 'Jiangdong_Navy_BONUS_VS_NAVAL');
INSERT INTO TypeTags
(`Type`, Tag )
VALUES ('ABILITY_Jiangdong_Navy', 'CLASS_PHANTA_LOUCHUAN' ),
('ABILITY_Jiangdong_Navy', 'CLASS_NAVAL_MELEE' ),
('ABILITY_Jiangdong_Navy', 'CLASS_NAVAL_RANGED' ),
('ABILITY_Jiangdong_Navy', 'CLASS_NAVAL_RAIDER' );