package Obstacle import EscaperKillers import ChannelAbilityPreset constant EVENT_RADIUS_SMALL = 34. constant EVENT_RADIUS_BIG = 64. constant EVENT_RADIUS_HIGH = 52. constant EVENT_HEIGHT_HIGH = 256. constant EVENT_RADIUS_V = 256. public class HighObstacle extends StaticEscaperSensorSetup construct(unit existing) super(existing, EVENT_RADIUS_HIGH, EVENT_HEIGHT_HIGH) construct(vec2 pos, player owner) super(pos.withTerrainZ(), owner, getRegionData(pos).getTypeSet().highObstacleId, EVENT_RADIUS_HIGH, EVENT_HEIGHT_HIGH) override function serialize() returns Json let json = super.serialize() json..addProperty(new Property(KEY_TYPE, HIGH_OBS_INDEX.toString())) return json public class SmallObstacle extends StaticEscaperSensorSetup construct(unit existing) super(existing, EVENT_RADIUS_SMALL, EVENT_RADIUS_SMALL) construct(vec2 pos, player owner) super(pos.withTerrainZ(), owner, getRegionData(pos).getTypeSet().smallObstacleId, EVENT_RADIUS_SMALL, EVENT_RADIUS_SMALL) override function serialize() returns Json let json = super.serialize() json..addProperty(new Property(KEY_TYPE, SMALLOBS_INDEX.toString())) return json public class BigObstacle extends StaticEscaperSensorSetup construct(unit existing) super(existing, EVENT_RADIUS_BIG, EVENT_RADIUS_BIG) construct(vec2 pos, player owner) super(pos.withTerrainZ(), owner, getRegionData(pos).getTypeSet().bigObstacleId, EVENT_RADIUS_BIG, EVENT_RADIUS_BIG) override function serialize() returns Json let json = super.serialize() json..addProperty(new Property(KEY_TYPE, BIGOBS_INDEX.toString())) return json public class VolcanoObstacle extends StaticEscaperSensorSetup construct(unit existing) super(existing, EVENT_RADIUS_V, EVENT_RADIUS_V) construct(vec2 pos, player owner) super(pos.withTerrainZ(), owner, VOLCANO_ID, EVENT_RADIUS_V, EVENT_RADIUS_V) override function serialize() returns Json let json = super.serialize() json..addProperty(new Property(KEY_TYPE, VOLCANO_INDEX.toString())) return json @objectgen function genVolcano() new BuildingDefinition(VOLCANO_ID, 'ncop') ..setName("|cFF00FF00Volcano|r ") ..setHotkey("F") ..setTooltipBasic("Build |cffCE4219Volcano |r[|cffFFCC00F|r]") ..setTooltipExtended("A very big|cffFFCC00 firey |robstacle.|n|n|cffFF0000Kills Escapers") ..setIconGameInterface("ReplaceableTextures\\CommandButtons\\BTNVolcano.blp") ..setModelFile("Abilities\\Spells\\Other\\Volcano\\Volcano.mdl") ..setNormalAbilities(commaList(REMOVE_OBJECT_ID, INVULNERABILITY_ID)) ..setSelectionScale(7) ..setMovementHeight(-15) ..setPathingMap("PathTextures\\16x16Simple.tga") ..setButtonPositionX(3) ..setButtonPositionY(1) ..setSightRadiusDay(0) ..setSightRadiusNight(0) ..setBuildTime(1) ..setCollisionSize(190) ..setHideMinimapDisplay(true)