# Cliff Level Of Point (Real)

Grammar — Cliff level of p1
FlagsNative | Function

Returns what cliff level a point is on.

# Arguments

  • point — Point

Returns — fixed

native fixed PointPathingCliffLevel(point p);

Category: Environment / Terrain And Water

# Examples

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue02.sc2map/MapScript.galaxy:518

    while ((lv_iterations < 100)) {
        lv_validPoint = RegionRandomPoint(lv_distributionRegion);
        if ((DistanceBetweenPoints(lv_validPoint, lp_point) >= 3.0) && (PointPathingCliffLevel(lv_validPoint) == PointPathingCliffLevel(lp_point)) && (PointPathingPassable(lv_validPoint) == true)) {
            return lv_validPoint;
        }

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue02.sc2map/MapScript.galaxy:518

    while ((lv_iterations < 100)) {
        lv_validPoint = RegionRandomPoint(lv_distributionRegion);
        if ((DistanceBetweenPoints(lv_validPoint, lp_point) >= 3.0) && (PointPathingCliffLevel(lv_validPoint) == PointPathingCliffLevel(lp_point)) && (PointPathingPassable(lv_validPoint) == true)) {
            return lv_validPoint;
        }

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue02.sc2mapMapScript.galaxy:518

    while ((lv_iterations < 100)) {
        lv_validPoint = RegionRandomPoint(lv_distributionRegion);
        if ((DistanceBetweenPoints(lv_validPoint, lp_point) >= 3.0) && (PointPathingCliffLevel(lv_validPoint) == PointPathingCliffLevel(lp_point)) && (PointPathingPassable(lv_validPoint) == true)) {
            return lv_validPoint;
        }

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue02.sc2mapMapScript.galaxy:518

    while ((lv_iterations < 100)) {
        lv_validPoint = RegionRandomPoint(lv_distributionRegion);
        if ((DistanceBetweenPoints(lv_validPoint, lp_point) >= 3.0) && (PointPathingCliffLevel(lv_validPoint) == PointPathingCliffLevel(lp_point)) && (PointPathingPassable(lv_validPoint) == true)) {
            return lv_validPoint;
        }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6490


    UnitGroupAdd(libGame_gv_players[lv_player].lv_summonedUnitGroup, EventUnitCreatedUnit());
    if (((PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) > PointPathingCliffLevel(UnitGetPosition(lv_unit))) || (PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) < PointPathingCliffLevel(UnitGetPosition(lv_unit)))) && (UnitGetType(libGame_gv_players[lv_player].lv_heroUnit) == "HeroArthas")) {
        UnitSetPosition(lv_createdUnit, UnitGetPosition(libGame_gv_players[lv_player].lv_heroUnit), false);
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6490


    UnitGroupAdd(libGame_gv_players[lv_player].lv_summonedUnitGroup, EventUnitCreatedUnit());
    if (((PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) > PointPathingCliffLevel(UnitGetPosition(lv_unit))) || (PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) < PointPathingCliffLevel(UnitGetPosition(lv_unit)))) && (UnitGetType(libGame_gv_players[lv_player].lv_heroUnit) == "HeroArthas")) {
        UnitSetPosition(lv_createdUnit, UnitGetPosition(libGame_gv_players[lv_player].lv_heroUnit), false);
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6490


    UnitGroupAdd(libGame_gv_players[lv_player].lv_summonedUnitGroup, EventUnitCreatedUnit());
    if (((PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) > PointPathingCliffLevel(UnitGetPosition(lv_unit))) || (PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) < PointPathingCliffLevel(UnitGetPosition(lv_unit)))) && (UnitGetType(libGame_gv_players[lv_player].lv_heroUnit) == "HeroArthas")) {
        UnitSetPosition(lv_createdUnit, UnitGetPosition(libGame_gv_players[lv_player].lv_heroUnit), false);
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6490


    UnitGroupAdd(libGame_gv_players[lv_player].lv_summonedUnitGroup, EventUnitCreatedUnit());
    if (((PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) > PointPathingCliffLevel(UnitGetPosition(lv_unit))) || (PointPathingCliffLevel(UnitGetPosition(lv_createdUnit)) < PointPathingCliffLevel(UnitGetPosition(lv_unit)))) && (UnitGetType(libGame_gv_players[lv_player].lv_heroUnit) == "HeroArthas")) {
        UnitSetPosition(lv_createdUnit, UnitGetPosition(libGame_gv_players[lv_player].lv_heroUnit), false);
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/StartingExperienceLib.galaxy:1952

    }

    if ((lp_locationFrom != null) && ((PointPathingCliffLevel(lp_locationTarget) != PointPathingCliffLevel(lp_locationFrom)) || (CrossCliff(lp_locationFrom, lp_locationTarget) == true))) {
        return false;
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/StartingExperienceLib.galaxy:1952

    }

    if ((lp_locationFrom != null) && ((PointPathingCliffLevel(lp_locationTarget) != PointPathingCliffLevel(lp_locationFrom)) || (CrossCliff(lp_locationFrom, lp_locationTarget) == true))) {
        return false;
    }

mods/novastoryassets.sc2modbase2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy:2065

        lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
        for (auto9FFDE875_i = 1; auto9FFDE875_i <= auto9FFDE875_n; auto9FFDE875_i += 1) {
            if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
                lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
            }

mods/novastoryassets.sc2modbase2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy:2065

        lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
        for (auto9FFDE875_i = 1; auto9FFDE875_i <= auto9FFDE875_n; auto9FFDE875_i += 1) {
            if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
                lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
            }

mods/novastoryassets.sc2modbase2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy:2072

            }
        }
        if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
            lv_impactPoint = libNtve_gf_PointOffsetTowardsPoint(lp_launchPoint, 2.0, PointFromId(3188));
        }

mods/novastoryassets.sc2modbase2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy:2072

            }
        }
        if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
            lv_impactPoint = libNtve_gf_PointOffsetTowardsPoint(lp_launchPoint, 2.0, PointFromId(3188));
        }

mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2mapMapScript.galaxy:2065

        lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
        for (auto9FFDE875_i = 1; auto9FFDE875_i <= auto9FFDE875_n; auto9FFDE875_i += 1) {
            if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
                lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
            }

mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2mapMapScript.galaxy:2065

        lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
        for (auto9FFDE875_i = 1; auto9FFDE875_i <= auto9FFDE875_n; auto9FFDE875_i += 1) {
            if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
                lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
            }

mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2mapMapScript.galaxy:2072

            }
        }
        if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
            lv_impactPoint = libNtve_gf_PointOffsetTowardsPoint(lp_launchPoint, 2.0, PointFromId(3188));
        }

mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2mapMapScript.galaxy:2072

            }
        }
        if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
            lv_impactPoint = libNtve_gf_PointOffsetTowardsPoint(lp_launchPoint, 2.0, PointFromId(3188));
        }

mods/warcoop/legends/gromhellscream.sc2modbase.sc2data/LibLGrm.galaxy:34

    // Variable Initialization
    lv_startingpoint = UnitGetPosition(lp_pathingUnit);
    lv_startingclifflevel = PointPathingCliffLevel(lv_startingpoint);
    lv_totaldistancebetweenstartandtarget = DistanceBetweenPoints(lv_startingpoint, lp_targetPoint);
    lv_anglebetweenstartandtarget = AngleBetweenPoints(lv_startingpoint, lp_targetPoint);

mods/warcoop/legends/gromhellscream.sc2modbase.sc2data/LibLGrm.galaxy:47

    for ( ; ( (auto52194A69_ai >= 0 && lv_currentdistance <= auto52194A69_ae) || (auto52194A69_ai < 0 && lv_currentdistance >= auto52194A69_ae) ) ; lv_currentdistance += auto52194A69_ai ) {
        lv_currentpoint = PointWithOffsetPolar(lv_startingpoint, lv_currentdistance, lv_anglebetweenstartandtarget);
        if ((PathingType(lv_currentpoint) == c_pathingGround) && (AbsF((lv_startingclifflevel - PointPathingCliffLevel(lv_currentpoint))) < lv_maxcliffdifference) && (UnitPathableToPoint(lp_pathingUnit, lv_currentpoint, 0.0, 500.0) == true)) {
            return PointWithOffsetPolar(lv_startingpoint, lv_currentdistance, lv_anglebetweenstartandtarget);
        }