package WaypointObjects import ChannelAbilityPreset import BuilderConstants import Assets public constant INFO_WAYPOINT_ID = compiletime(ABIL_ID_GEN.next()) public constant AND_CONNECTION_ID = compiletime(ABIL_ID_GEN.next()) public constant CLEAR_CONNECTION_ID = compiletime(ABIL_ID_GEN.next()) public constant DECREASE_DELAY_ID = compiletime(ABIL_ID_GEN.next()) public constant INCREASE_DELAY_ID = compiletime(ABIL_ID_GEN.next()) public constant NO_WISPS_ID = compiletime(ABIL_ID_GEN.next()) @objectgen function genWaypoint() new ChannelAbilityPreset(INFO_WAYPOINT_ID, 1, TRUE) ..setName("Information: Waypoint") ..presetTooltipNormal(lvl -> "Information: Waypoint") ..presetTooltipNormalExtended(lvl -> "Orders an Escape Killer to go to the Rallypoint when entering") ..presetIcon("ReplaceableTextures\\CommandButtons\\PASInfo.blp") ..presetButtonPosNormal(0, 0) ..presetTargetTypes(Targettype.PASSIVE) ..setHeroAbility(FALSE) new ChannelAbilityPreset(AND_CONNECTION_ID, 1, TRUE) ..setName("Waypoint: And Connection") ..presetTooltipNormal(lvl -> "|cffFFCC00And |rconnection [|cffFFCC00E|r]") ..presetTooltipNormalExtended(lvl -> "Links this waypoint to another one.\n" + "This waypoint will only trigger when all linked waypoints have been triggered as well.") ..presetIcon("ReplaceableTextures\\CommandButtons\\BTNAnd.blp") ..presetButtonPosNormal(2, 0) ..presetHotkey("E") ..presetTargetTypes(Targettype.UNIT) ..presetTargetsAllowed(lvl -> "allies,invulnerable,notself") ..presetCastRange(lvl -> 2500) ..setHeroAbility(FALSE) new ChannelAbilityPreset(CLEAR_CONNECTION_ID, 1, TRUE) ..setName("Waypoint: Clear Connection") ..presetTooltipNormal(lvl -> "|cffFFCC00Clear |rconnections [|cffFFCC00D|r]") ..presetTooltipNormalExtended(lvl -> "Clears all links to other waypoints.") ..presetIcon(Icons.bTNDemolish) ..presetButtonPosNormal(2, 1) ..presetHotkey("D") ..presetTargetTypes(Targettype.NONE) ..setHeroAbility(FALSE) new ChannelAbilityPreset(DECREASE_DELAY_ID, 1, TRUE) ..setName("Waypoint: Decrease Delay") ..presetTooltipNormal(lvl -> "Decreases the Orderdelay [|cffFFCC00F|r]") ..presetTooltipNormalExtended(lvl -> "Decreasing the orderdelay makes the waypoint delay the walkorder." + "\nThis means the unit waits the given time before walking to the selected position(rallypoint)." + "\n0 Delay means instant.") ..presetIcon("ReplaceableTextures\\CommandButtons\\BTNReplay-Speeddown.blp") ..presetButtonPosNormal(1, 1) ..presetHotkey("F") ..presetTargetTypes(Targettype.NONE) ..setHeroAbility(FALSE) new ChannelAbilityPreset(INCREASE_DELAY_ID, 1, TRUE) ..setName("Waypoint: Increase Delay") ..presetTooltipNormal(lvl -> "Increases the Orderdelay [|cffFFCC00R|r]") ..presetTooltipNormalExtended(lvl -> "Increasing the orderdelay makes the waypoint delay the walkorder." + "\nThis means the unit waits the given time before walking to the selected position(rallypoint).") ..presetIcon("ReplaceableTextures\\CommandButtons\\BTNReplay-Speedup.blp") ..presetButtonPosNormal(1, 0) ..presetHotkey("R") ..presetTargetTypes(Targettype.NONE) ..setHeroAbility(FALSE) new ChannelAbilityPreset(NO_WISPS_ID, 1, TRUE) ..setName("Waypoint: No Wisps") ..presetTooltipNormal(lvl -> "|cffffcc00Wisps|r [|cffFFCC00X|r]") ..presetTooltipNormalExtended(lvl -> "Changes the mode wether to move Wisps or not.") ..presetIcon("ReplaceableTextures\\CommandButtons\\BTNWisp.blp") ..presetButtonPosNormal(0, 2) ..presetHotkey("X") ..presetTargetTypes(Targettype.NONE) ..setHeroAbility(FALSE) new BuildingDefinition(WAYPOINT_ID, UnitIds.circleofpower) ..setName("|cffFF7B29Waypoint") ..setHotkey("R") ..setTooltipBasic("|cffFFCC00Build |cffFF7B29Waypoint [R]") ..setTooltipExtended("Orders Escaperkillers to move to the Rallypoint." + "\nUsefull if you want your units not only to go a straight line.") ..setIconGameInterface("ReplaceableTextures\\CommandButtons\\BTNWaypoint.blp") ..setNormalAbilities(commaList(TURN_OFF_ID, INFO_WAYPOINT_ID, AND_CONNECTION_ID, DECREASE_DELAY_ID, INCREASE_DELAY_ID, NO_WISPS_ID, REMOVE_OBJECT_ID, RALLY_POINT, GHOST_INVIS_ID, INVULNERABILITY_ID, CLEAR_CONNECTION_ID)) ..setButtonPositionX(3) ..setButtonPositionY(0) ..setTintingColorGreen(128) ..setTintingColorBlue(0) ..setSightRadiusDay(0) ..setSightRadiusNight(0) ..setBuildTime(1) ..setCollisionSize(0) ..setScalingValue(0.8) ..setSelectionScale(2.2) ..setPathingMap("none") ..setUnitClassification("ancient,standon") ..setHideMinimapDisplay(true)