package CongaObjects import ChannelAbilityPreset import BuilderConstants import MoveSpeed public constant ADD_ID = compiletime(ABIL_ID_GEN.next()) public constant INC_ID = compiletime(ABIL_ID_GEN.next()) public constant DEC_ID = compiletime(ABIL_ID_GEN.next()) public constant CONGA_STRICT_ID = compiletime(ABIL_ID_GEN.next()) public constant CONGA_LOOSE_ID = compiletime(ABIL_ID_GEN.next()) public constant CONGA_PENDULUM_ID = compiletime(ABIL_ID_GEN.next()) public constant CONGA_CONFIG_ID = compiletime(ABIL_ID_GEN.next()) @objectgen function genCongaLineHead() new ChannelAbilityPreset(CONGA_STRICT_ID, 1, true) ..setName("Strict mode") ..setHeroAbility(false) ..presetTooltipNormal(lvl -> "Conga: Set strict mode") ..presetTooltipNormalExtended(lvl -> "Makes the conga act like a strict chain") ..presetIcon("BTNDevourMagic.blp") ..presetButtonPosNormal(0, 0) new ChannelAbilityPreset(CONGA_LOOSE_ID, 1, true) ..setName("Loose mode") ..setHeroAbility(false) ..presetTooltipNormal(lvl -> "Conga: Set loose mode") ..presetTooltipNormalExtended(lvl -> "Makes conga elements follow the head smoothly") ..presetIcon("BTNDevourMagic.blp") ..presetButtonPosNormal(0, 0) new AbilityDefinitionSpellBook(CONGA_CONFIG_ID) ..setName("Conga Config") ..presetTooltipNormal(lvl -> "Conga: Conga Config") ..presetTooltipNormalExtended(lvl -> "") ..presetIcon("BTNsettingsCog.blp") ..setItemAbility(false) ..setMaximumSpells(1, 10) ..setSpellList(1, commaList(CONGA_LOOSE_ID, CONGA_STRICT_ID, DEC_ID, INC_ID)) new UnitDefinition(CONGA_LINE_HEAD_ID, 'ewsp') ..setUnitClassification("") ..setAttacksEnabled(0) ..setAnimationBlendTimeseconds(0) ..setAnimationCastBackswing(0) ..setDeathTimeseconds(0.1) ..setStructuresBuilt("") ..setIconGameInterface("ReplaceableTextures\\CommandButtons\\BTNconga.blp") ..setButtonPositionX(0) ..setModelFile("Units\\Creeps\\HeroTinkerRobot\\HeroTinkerRobot.mdl") ..setTintingColorBlue(200) ..setTintingColorGreen(200) ..setTintingColorRed(200) ..setSelectionScale(1) ..setSpeedBase(180) ..setTurnRate(3) ..setMovementType(MovementType.Foot) ..setUnitSoundSet("ClockwerGoblin") ..setCollisionSize(0) ..setNormalAbilities(commaList(ADD_ID, MAKE_UNIT_INVISIBLE_ID, INC_SPEED_ID, DEC_SPEED_ID, REMOVE_OBJECT_ID, GHOST_VIS_ID, INVULNERABILITY_ID)) ..setHotkey("Q") ..setName("|cffA5A5A5Conga Line Head") ..setTooltipBasic("|cffFFCC00Build |cffA5A5A5Conga Line Head [Q]") ..setTooltipExtended("The head unit pulls selected units behind itself like a conga line.") ..setUpgradesUsed("") ..setBuildTime(1) ..setUnitClassification("ancient") ..setHitPointsMaximumBase(100000000) ..setSightRadiusDay(0) ..setSightRadiusNight(0) ..setFoodCost(0) ..setGoldCost(0) ..setLumberCost(0) ..setShadowImageUnit("") ..setIsaBuilding(false) ..setHideMinimapDisplay(true) createObjectDefinition("w3a", ADD_ID, 'ANcl') ..setLvlDataString("anam", 0, 0, "CongaLineHead: Add Segment") ..setLvlDataInt("alev", 0, 0, 1) ..setLvlDataInt("Ncl5", 1, 5, 0) ..setLvlDataUnreal("Ncl1", 1, 1, 0.0) ..setLvlDataUnreal("Ncl4", 1, 4, 0.0) ..setLvlDataInt("Ncl3", 1, 3, 1) ..setLvlDataInt("Ncl2", 1, 2, 1) ..setLvlDataString("atp1", 1, 0, "Add/Remove Segment [|cffFFCC00A|r]") ..setLvlDataString("aub1", 1, 0, "Adds a segment at the end of the queue or removes a segment from the queue.") ..setLvlDataString("aani", 0, 0, "") ..setLvlDataString("acat", 0, 0, "") ..setLvlDataString("aeat", 0, 0, "") ..setLvlDataString("atat", 0, 0, "") ..setLvlDataString("aart", 0, 0, "ReplaceableTextures\\CommandButtons\\BTNWispSplode.blp") ..setLvlDataString("arac", 0, 0, "commoner") ..setLvlDataString("Ncl6", 1, 6, "ensnareoff") ..setLvlDataString("aord", 0, 0, "ensnareon") ..setLvlDataInt("aher", 0, 0, 0) ..setLvlDataString("atar", 1, 0, "allies,friend,invulnerable,notself,vulnerable") ..setLvlDataUnreal("aran", 1, 0, 1250.0) ..setLvlDataInt("abpx", 0, 0, 1) ..setLvlDataInt("abpy", 0, 0, 1) ..setLvlDataString("ahky", 0, 0, "A") createObjectDefinition("w3a", INC_ID, 'ANcl') ..setLvlDataString("anam", 0, 0, "CongaLineHead: Increase Segment length") ..setLvlDataString("ata0", 0, 0, "") ..setLvlDataString("atat", 0, 0, "") ..setLvlDataString("aani", 0, 0, "") ..setLvlDataString("aeat", 0, 0, "") ..setLvlDataString("acat", 0, 0, "") ..setLvlDataString("aart", 0, 0, "ReplaceableTextures\\CommandButtons\\BTNReplay-Speedup.blp") ..setLvlDataInt("alev", 0, 0, 1) ..setLvlDataUnreal("Ncl1", 1, 1, 0.0) ..setLvlDataUnreal("Ncl4", 1, 4, 0.0) ..setLvlDataString("Ncl6", 1, 6, "devour") ..setLvlDataUnreal("aran", 1, 0, 5.0) ..setLvlDataString("atp1", 1, 0, "|cff3ABD52Increase|r Segment length") ..setLvlDataString("aub1", 1, 0, "") ..setLvlDataString("aord", 0, 0, "devour") ..setLvlDataString("arac", 0, 0, "commoner") ..setLvlDataInt("Ncl5", 1, 5, 0) ..setLvlDataInt("aher", 0, 0, 0) ..setLvlDataInt("Ncl3", 1, 3, 1) ..setLvlDataInt("abpx", 0, 0, 3) createObjectDefinition("w3a", DEC_ID, 'ANcl') ..setLvlDataString("anam", 0, 0, "CongaLineHead: Decrease Segment Length") ..setLvlDataString("ata0", 0, 0, "") ..setLvlDataString("atat", 0, 0, "") ..setLvlDataString("aani", 0, 0, "") ..setLvlDataString("aeat", 0, 0, "") ..setLvlDataString("acat", 0, 0, "") ..setLvlDataString("aart", 0, 0, "ReplaceableTextures\\CommandButtons\\BTNReplay-Speeddown.blp") ..setLvlDataInt("alev", 0, 0, 1) ..setLvlDataUnreal("Ncl1", 1, 1, 0.0) ..setLvlDataUnreal("Ncl4", 1, 4, 0.0) ..setLvlDataString("Ncl6", 1, 6, "doom") ..setLvlDataUnreal("aran", 1, 0, 5.0) ..setLvlDataString("atp1", 1, 0, "|cffE63A21Decrease |rSegment Length [|cffFFCC00D|r]") ..setLvlDataString("aub1", 1, 0, "Decreases the speed of the circular motion.") ..setLvlDataString("aord", 0, 0, "doom") ..setLvlDataString("arac", 0, 0, "commoner") ..setLvlDataInt("abpy", 0, 0, 1) ..setLvlDataInt("Ncl5", 1, 5, 0) ..setLvlDataInt("aher", 0, 0, 0) ..setLvlDataInt("Ncl3", 1, 3, 1) ..setLvlDataString("ahky", 0, 0, "D") ..setLvlDataInt("abpx", 0, 0, 3)