package PedestalObjects import ChannelAbilityPreset import BuilderConstants import Assets public constant AOE_PICK_RANGE = 256. public constant SELECT_SINGLE_ID = compiletime(ABIL_ID_GEN.next()) public constant SELECT_AOE_ID = compiletime(ABIL_ID_GEN.next()) public constant SELECT_AOE_TILE_ID = compiletime(ABIL_ID_GEN.next()) public constant SELECT_TILE_ID = compiletime(ABIL_ID_GEN.next()) public constant SAVE1_ID = compiletime(ABIL_ID_GEN.next()) public constant SAVE2_ID = compiletime(ABIL_ID_GEN.next()) public constant SAVE3_ID = compiletime(ABIL_ID_GEN.next()) public constant SAVE4_ID = compiletime(ABIL_ID_GEN.next()) public constant LOAD1_ID = compiletime(ABIL_ID_GEN.next()) public constant LOAD2_ID = compiletime(ABIL_ID_GEN.next()) public constant LOAD3_ID = compiletime(ABIL_ID_GEN.next()) public constant LOAD4_ID = compiletime(ABIL_ID_GEN.next()) @objectgen function genMAP() new BuildingDefinition(PED_ID,'hwtw') ..setName("M.A.P.") ..setNormalAbilities("") ..setModelFile(Buildings.bookOfSummoning) ..setScalingValue(.75) ..setSelectionScale(.8) ..setButtonPositionX(2) ..setButtonPositionX(1) ..setTooltipBasic("Erect M.A.P.") ..setTooltipExtended("Creates a Memory Access Pedestal which allows you to save and load entities") ..setRace(Race.Creeps) ..setGroundTexture("") ..setPathingMap("PathTextures\\4x4unbuildable.tga") ..setGoldCost(0)..setLumberCost(0) ..setPlacementRequires("") ..setCollisionSize(0) ..setUpgradesTo("") ..setHideMinimapDisplay(true) new ChannelAbilityPreset(SELECT_SINGLE_ID, 1, true) ..setHeroAbility(false) ..presetCastRange(lvl -> 7500.) ..setName("Select single") ..presetTargetTypes(Targettype.UNIT) ..presetCooldown(lvl -> 0.) ..presetManaCost(lvl -> 0) ..setTargetsAllowed(1, "enemies,friend,invulnerable,vulnerable") ..presetTooltipNormal(lvl -> "Select single entity [Q]") ..presetTooltipNormalExtended(lvl -> "Adds the target entity to the list of saved objects") ..presetButtonPosNormal(0, 0) ..presetIcon("BTNPickupItem.blp") ..presetHotkey("Q") new ChannelAbilityPreset(SELECT_TILE_ID, 1, true) ..setHeroAbility(false) ..presetCastRange(lvl -> 7500.) ..setName("Select tile") ..presetTargetTypes(Targettype.POINT) ..presetCooldown(lvl -> 0.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Select tile [E]") ..presetTooltipNormalExtended(lvl -> "Adds or removes the target tile from the saved tiles. Hold shift to manage multiples tiles easily.") ..presetButtonPosNormal(2, 0) ..presetHotkey("E") new ChannelAbilityPreset(SELECT_AOE_ID, 1, true) ..setHeroAbility(false) ..presetCastRange(lvl -> 7500.) ..setName("Select multi") ..presetOption(Option.TARGETIMAGE, true) ..presetTargetTypes(Targettype.POINT) ..presetAreaofEffect(lvl -> AOE_PICK_RANGE) ..presetCooldown(lvl -> 0.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Select multiple entities [W]") ..presetTooltipNormalExtended(lvl -> "Adds the target entities to the list of saved objects") ..presetIcon("BTNManaBurn.blp") ..presetButtonPosNormal(1, 0) ..presetHotkey("W") new ChannelAbilityPreset(SELECT_AOE_TILE_ID, 1, true) ..setHeroAbility(false) ..presetCastRange(lvl -> 7500.) ..setName("Select multi") ..presetOption(Option.TARGETIMAGE, true) ..presetTargetTypes(Targettype.POINT) ..presetAreaofEffect(lvl -> AOE_PICK_RANGE) ..presetCooldown(lvl -> 0.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Select multiple tiles [R]") ..presetTooltipNormalExtended(lvl -> "Adds all walkable tiles in the AoE to the saved tiles. Does not deselect tiles. Hold shift to select multiples areas easily.") ..presetButtonPosNormal(3, 0) ..presetIcon("BTNDisenchant.blp") ..presetHotkey("R") new ChannelAbilityPreset(SAVE1_ID, 1, true) ..setHeroAbility(false) ..setName("Save Slot 1") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Save Slot 1 [Y]") ..presetTooltipNormalExtended(lvl -> "Saves the currently selected entities to slot 1.\nExperimental - use with caution!") ..presetButtonPosNormal(0, 2) ..presetIcon("BTNsave1") ..presetHotkey("Y") new ChannelAbilityPreset(SAVE2_ID, 1, true) ..setHeroAbility(false) ..setName("Save Slot 2") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Save Slot 2 [X]") ..presetTooltipNormalExtended(lvl -> "Saves the currently selected entities to slot 2.\nExperimental - use with caution!") ..presetButtonPosNormal(1, 2) ..presetIcon("BTNsave2") ..presetHotkey("X") new ChannelAbilityPreset(SAVE3_ID, 1, true) ..setHeroAbility(false) ..setName("Save Slot 3") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Save Slot 3") ..presetTooltipNormalExtended(lvl -> "Saves the currently selected entities to slot 3.\nExperimental - use with caution!") ..presetButtonPosNormal(2, 2) ..presetIcon("BTNsave3") ..presetHotkey("C") new ChannelAbilityPreset(SAVE4_ID, 1, true) ..setHeroAbility(false) ..setName("Save Slot 4") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Save Slot 4") ..presetTooltipNormalExtended(lvl -> "Saves the currently selected entities to slot 4.\nExperimental - use with caution!") ..presetButtonPosNormal(3, 2) ..presetIcon("BTNsave4") ..presetHotkey("V") new ChannelAbilityPreset(LOAD1_ID, 1, true) ..setHeroAbility(false) ..setName("Load 1") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Load Slot 1") ..presetTooltipNormalExtended(lvl -> "Load Sata from slot 1") ..presetButtonPosNormal(0, 1) ..presetIcon("BTNload1") ..presetHotkey("A") new ChannelAbilityPreset(LOAD2_ID, 1, true) ..setHeroAbility(false) ..setName("Load 2") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Load Slot 2") ..presetTooltipNormalExtended(lvl -> "Load Sata from slot 2") ..presetButtonPosNormal(1, 1) ..presetIcon("BTNload2") ..presetHotkey("S") new ChannelAbilityPreset(LOAD3_ID, 1, true) ..setHeroAbility(false) ..setName("Load 3") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Load Slot 3") ..presetTooltipNormalExtended(lvl -> "Load Sata from slot 3") ..presetButtonPosNormal(2, 1) ..presetIcon("BTNload3") ..presetHotkey("D") new ChannelAbilityPreset(LOAD4_ID, 1, true) ..setHeroAbility(false) ..setName("Load 4") ..presetTargetTypes(Targettype.NONE) ..presetCooldown(lvl -> 2.) ..presetManaCost(lvl -> 0) ..presetTooltipNormal(lvl -> "Load Slot 4") ..presetTooltipNormalExtended(lvl -> "Load Sata from slot 1") ..presetButtonPosNormal(3, 1) ..presetIcon("BTNload4") ..presetHotkey("F")