INSERT INTO Requirements
(RequirementId, RequirementType, Likeliness, Inverse, Triggered)
VALUES ('QUO_REQ_PIKEMAN_ADJACENT', 'REQUIREMENT_PLOT_ADJACENT_TO_OWNER_AT_WAR', 0,0,0) ,
('QUO_REQ_OWNER_HEAVY_CALVARY', 'REQUIREMENT_UNIT_PROMOTION_CLASS_MATCHES', 0,0,0) ,
('QUO_REQ_OWNER_LIGHT_CALVARY', 'REQUIREMENT_UNIT_PROMOTION_CLASS_MATCHES', 0,0,0) ;
INSERT INTO RequirementArguments
(RequirementId, Name, Type, Value, Extra, SecondExtra)
VALUES ('QUO_REQ_PIKEMAN_ADJACENT', 'MaxDistance', 'ARGTYPE_IDENTITY', '1', NULL, NULL ) ,
('QUO_REQ_PIKEMAN_ADJACENT', 'MinDistance', 'ARGTYPE_IDENTITY', '2', NULL, NULL ) ,
('QUO_REQ_OWNER_HEAVY_CALVARY', 'UnitPromotionClass', 'ARGTYPE_IDENTITY', 'PROMOTION_CLASS_HEAVY_CAVALRY', NULL, NULL ) ,
('QUO_REQ_OWNER_LIGHT_CALVARY', 'UnitPromotionClass', 'ARGTYPE_IDENTITY', 'PROMOTION_CLASS_LIGHT_CAVALRY', NULL, NULL );
INSERT INTO RequirementSets
(RequirementSetId, RequirementSetType)
VALUES ('QUO_REQSET_PIKEMAN_ADJACENT', 'REQUIREMENTSET_TEST_ALL') ,
('QUO_REQSET_OWNER_IS_CALVARY', 'REQUIREMENTSET_TEST_ANY') ;
INSERT INTO RequirementSetRequirements
(RequirementSetId, RequirementId)
VALUES ('QUO_REQSET_PIKEMAN_ADJACENT', 'QUO_REQ_PIKEMAN_ADJACENT') ,
('QUO_REQSET_OWNER_IS_CALVARY', 'QUO_REQ_OWNER_HEAVY_CALVARY') ,
('QUO_REQSET_OWNER_IS_CALVARY', 'QUO_REQ_OWNER_LIGHT_CALVARY') ;
INSERT INTO Modifiers
(ModifierId, ModifierType, RunOnce, Permanent, OwnerRequirementSetId, SubjectRequirementSetId)
VALUES ('QUO_MOD_PIKEMAN_DEBUFF', 'MODIFIER_ALL_UNITS_ATTACH_MODIFIER', 0, 0, NULL, 'QUO_REQSET_PIKEMAN_ADJACENT') ,
('QUO_MOD_PIKEMAN_DEBUFF_2', 'MODIFIER_PLAYER_UNIT_ADJUST_MOVEMENT', 0, 0, NULL, 'QUO_REQSET_OWNER_IS_CALVARY') ;
INSERT INTO ModifierArguments
(ModifierId, Name, Type, Value, Extra, SecondExtra)
VALUES ('QUO_MOD_PIKEMAN_DEBUFF', 'ModifierId', 'ARGTYPE_IDENTITY', 'QUO_MOD_PIKEMAN_DEBUFF_2', NULL, NULL) ,
('QUO_MOD_PIKEMAN_DEBUFF_2', 'Amount', 'ARGTYPE_IDENTITY', '-1', NULL, NULL) ;
INSERT INTO Types
(Type, Kind)
VALUES ('QUO_ABI_PIKEMAN_DEBUFF', 'KIND_ABILITY' ) ;
-- Create the ability
INSERT INTO UnitAbilities
(UnitAbilityType, Name, Description, Inactive)
VALUES ('QUO_ABI_PIKEMAN_DEBUFF', 'LOC_QUO_ABI_PIKEMAN_DEBUFF_NAME', 'LOC_QUO_ABI_PIKEMAN_DEBUFF_DESCRIPTION', 0) ;
INSERT INTO UnitAbilityModifiers
(UnitAbilityType, ModifierId)
VALUES ('QUO_ABI_PIKEMAN_DEBUFF', 'QUO_MOD_PIKEMAN_DEBUFF') ;
INSERT INTO TypeTags
(Type, Tag)
VALUES ('QUO_ABI_PIKEMAN_DEBUFF', 'CLASS_ANTI_CAVALRY') ;