Skip to content

WaypointGenerator Behaviour

Jeremie Rossignol edited this page Dec 18, 2018 · 7 revisions

Behaviour for generating waypoints.

BEHAVIOUR
{
    name = WaypointGenerator
    type = WaypointGenerator

    // Use this to generate a waypoint with fixed coordinates
    WAYPOINT
    {
        // The name of the waypoint - displayed on the marker.  If not
        // supplied a random one is generated.
        //
        // Type:      string
        // Required:  No (multiples allowed)
        // Default:   A random waypoint name
        //
        name = Kerbal Space Center

        // The parameter that must be completed before the waypoint becomes
        // visible.  If not specified, the waypoint is always visible.  More
        // than one can be specified when there are multiple waypoints
        // generated. 
        //
        // Type:      string
        // Required:  No (multiples allowed)
        //
        parameter = SomeParameterName

        // Specifies that the given waypoint should be secret.  If this flag is
        // used, then the icon is not required.
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        hidden = true

        // Use this to specify that the waypoint is part of a cluster.  Waypoints
        // that are clustered get a roman numeral appended to the name (based on the index).
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        clustered = false

        // Use this to specify that the waypoint is underwater.  This will
        // force randomly generated waypoints to be at a water location, and
        // change the range of random altitudes to be between the sea-floor and
        // surface.  Also, the minimum altitude is clamped to the sea-floor, so
        // to have a waypoint on the sea-floor, give a very large negative
        // value to the altitude attribute.
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        underwater = false

        // Body for the waypoint - defaulted from the contract if not
        // supplied.
        //
        // Type:      CelestialBody
        // Required:  No (defaulted)
        //
        targetBody = Kerbin

        // The icon to use when displaying the waypoint.  If the path
        // is not specified, the Squad/Contracts/Icons directory is
        // assumed.  Otherwise, the path must be from GameData/
        //
        // Type:      string
        // Required:  Yes
        //
        icon = thermometer

        // The altitude of the waypoint above the terrain.  Note that an
        // altitude of 0.0 means "on the ground".  If not specified, uses a
        // A random value between 0.0 and the atmosphere ceiling (which is zero
        // if there's no atmosphere).
        //
        // Type:      double
        // Required:  No (defaulted)
        //
        altitude = 0.0

        // The coordinates.
        //
        // Type:      double
        // Required:  Yes
        //
        latitude = -0.102668048654
        longitude = -74.5753856554
    }

    // Use this to generate a waypoint with random coordinates
    RANDOM_WAYPOINT
    {
        // The name of the waypoint - displayed on the marker
        //
        // Type:      string
        // Required:  No (multiples allowed)
        // Default:   A random waypoint name
        //
        name = A waypoint on Kerbin

        // The parameter that must be completed before the waypoint becomes
        // visible.  If not specified, the waypoint is always visible.  More
        // than one can be specified when there are multiple waypoints
        // generated. 
        //
        // Type:      string
        // Required:  No (multiples allowed)
        //
        parameter = SomeParameterName

        // Specifies that the given waypoint should be secret.  If this flag is
        // used, then the icon is not required.
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        hidden = true

        // Use this to specify that the waypoint is part of a cluster.  Waypoints
        // that are clustered get a roman numeral appended to the name (based on the index).
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        clustered = false

        // Body for the waypoint - defaulted from the contract if not
        // supplied.
        //
        // Type:      CelestialBody
        // Required:  No (defaulted)
        //
        targetBody = Kerbin

        // The number of waypoints to generate.
        //
        // Type:      int
        // Required:  No (defaulted)
        // Default:   1
        //
        count = 1

        // The icon to use when displaying the waypoint.  If the path
        // is not specified, the Squad/Contracts/Icons directory is
        // assumed.  Otherwise, the path must be from GameData/
        //
        // Type:      string
        // Required:  Yes
        //
        icon = thermometer

        // The altitude of the waypoint above the terrain.  Note that an
        // altitude of 0.0 means "on the ground".  If not specified, uses a
        // A random value between 0.0 and the atmosphere ceiling (which is zero
        // if there's no atmosphere).
        //
        // Type:      double
        // Required:  No (defaulted)
        //
        altitude = 0.0

        // Whether the waypoint generated can be on water
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   true
        //
        waterAllowed = false

        // Force the waypoint to fall along the equator.  For boring
        // contracts.
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        forceEquatorial = false
    }

    // Use this to generate a waypoint with random coordinates, but near
    // another waypoint.
    RANDOM_WAYPOINT_NEAR
    {
        // The name of the waypoint - displayed on the marker
        //
        // Type:      string
        // Required:  No (multiples allowed)
        // Default:   A random waypoint name
        //
        name = A waypoint near something

        // The parameter that must be completed before the waypoint becomes
        // visible.  If not specified, the waypoint is always visible.  More
        // than one can be specified when there are multiple waypoints
        // generated. 
        //
        // Type:      string
        // Required:  No (multiples allowed)
        //
        parameter = SomeParameterName

        // Specifies that the given waypoint should be secret.  If this flag is
        // used, then the icon is not required.
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        hidden = true

        // Use this to specify that the waypoint is part of a cluster.  Waypoints
        // that are clustered get a roman numeral appended to the name (based on the index).
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        clustered = false

        // Body for the waypoint - defaulted from the contract if not
        // supplied.
        //
        // Type:      CelestialBody
        // Required:  No (defaulted)
        //
        targetBody = Kerbin

        // The number of waypoints to generate.
        //
        // Type:      int
        // Required:  No (defaulted)
        // Default:   1
        //
        count = 2

        // The icon to use when displaying the waypoint.  If the path
        // is not specified, the Squad/Contracts/Icons directory is
        // assumed.  Otherwise, the path must be from GameData/
        //
        // Type:      string
        // Required:  Yes
        //
        icon = thermometer

        // The altitude of the waypoint above the terrain.  Note that an
        // altitude of 0.0 means "on the ground".  If not specified, uses a
        // A random value between 0.0 and the atmosphere ceiling (which is zero
        // if there's no atmosphere).
        //
        // Type:      double
        // Required:  No (defaulted)
        //
        altitude = 0.0

        // Whether the waypoint generated can be on water
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   true
        //
        waterAllowed = false

        // Zero based index of the waypoint to generate near.  Must be a
        // waypoint with index < this waypoint.  Start counting from the
        // first waypoint in the BEHAVIOUR, and count 1 for each value of
        // the count parameter (if it exists).
        //
        // Type:      int
        // Required:  Yes
        //
        nearIndex = 1

        // Whether the waypoint generation should be in chained mode or normal.
        // In normal mode, all waypoints will be near waypoint specified by
        // nearIndex.  In chained mode, the first waypoint is near the nearIndex
        // waypoint, but all others are generated near the previously generated
        // waypoint.
        //
        // Type:      bool
        // Required:  No
        // Default:   false
        //
        chained = false

        // Minimum distance in meters from the 'near' waypoint.
        //
        // Type:      double
        // Required:  No
        // Default:   0.0
        //
        minDistance = 100.0

        // Maximum distance in meters from the 'near' waypoint.
        //
        // Type:      double
        // Required:  Yes
        //
        maxDistance = 25000.0
    }

    // Use this to generate a waypoint with fixed coordinates, based on a
    // PQSCity object.
    PQS_CITY
    {
        // The name of the waypoint - displayed on the marker
        //
        // Type:      string
        // Required:  No (multiples allowed)
        // Default:   A random waypoint name
        //
        name = Monolith

        // The parameter that must be completed before the waypoint becomes
        // visible.  If not specified, the waypoint is always visible.  More
        // than one can be specified when there are multiple waypoints
        // generated. 
        //
        // Type:      string
        // Required:  No (multiples allowed)
        //
        parameter = SomeParameterName

        // Specifies that the given waypoint should be secret.  If this flag is
        // used, then the icon is not required.
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        hidden = true

        // Use this to specify that the waypoint is part of a cluster.  Waypoints
        // that are clustered get a roman numeral appended to the name (based on the index).
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        clustered = false

        // Body for the waypoint - defaulted from the contract if not
        // supplied.
        //
        // Type:      CelestialBody
        // Required:  No (defaulted)
        //
        targetBody = Kerbin

        // The icon to use when displaying the waypoint.  If the path
        // is not specified, the Squad/Contracts/Icons directory is
        // assumed.  Otherwise, the path must be from GameData/
        //
        // Type:      string
        // Required:  Yes
        //
        icon = thermometer

        // The location name.
        //
        // Type:      string
        // Required:  Yes
        //
        pqsCity = KSC

        // An optional offset vector from the center of the PQS City.
        // Use this to make your waypoint relative to the PQS City,
        // which will make it work even for RSS or other mods that may
        // move the PQS city.  To get the offset coordinates, position
        // your ship/kerbal at the desired location and go to the
        // Location tab in the Contract Configurator debug window
        // (alt-F10).
        //
        // Type:      Vector3d
        // Required:  No
        //
        pqsOffset = 447.307865750742, 5.14341771520321E-05, 24.9700656982985
    }

    // Use this to generate a waypoint with fixed coordinates, based on a
    // LaunchSite object.
    LAUNCH_SITE
    {
        // The name of the waypoint - displayed on the marker
        //
        // Type:      string
        // Required:  No (multiples allowed)
        // Default:   A random waypoint name
        //
        name = Monolith

        // The parameter that must be completed before the waypoint becomes
        // visible.  If not specified, the waypoint is always visible.  More
        // than one can be specified when there are multiple waypoints
        // generated. 
        //
        // Type:      string
        // Required:  No (multiples allowed)
        //
        parameter = SomeParameterName

        // Specifies that the given waypoint should be secret.  If this flag is
        // used, then the icon is not required.
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        hidden = true

        // Use this to specify that the waypoint is part of a cluster.  Waypoints
        // that are clustered get a roman numeral appended to the name (based on the index).
        //
        // Type:      bool
        // Required:  No (defaulted)
        // Default:   false
        //
        clustered = false

        // Body for the waypoint - defaulted from the contract if not
        // supplied.
        //
        // Type:      CelestialBody
        // Required:  No (defaulted)
        //
        targetBody = Kerbin

        // The icon to use when displaying the waypoint.  If the path
        // is not specified, the Squad/Contracts/Icons directory is
        // assumed.  Otherwise, the path must be from GameData/
        //
        // Type:      string
        // Required:  Yes
        //
        icon = thermometer

        // The Launch Site identifier.
        //
        // Type:      string
        // Required:  Yes
        // Values (mods may add others):
        //     Desert_Airfield
        //     Desert_Launch_Site
        //     Island_Airfield
        //     Woomerang_Launch_Site
        //
        launchSite = KSC
    }
}
Clone this wiki locally