Skip to content

Commit

Permalink
Tweaks
Browse files Browse the repository at this point in the history
Made firstTargetedMolniya optional since you do a Molniya in CA1.
Changed Molniya and Tundra targeting to use waypoints instead of orbit parameters.  It allows for a bit more play in LAN and eccentricity while still making you do what those orbits are meant to do.
  • Loading branch information
Ballatik committed Jan 7, 2024
1 parent e41d9bd commit 0f9b522
Show file tree
Hide file tree
Showing 6 changed files with 157 additions and 84 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp2
agent = Federation Aeronautique Internationale

description = <b>Program: Advanced Commercial Applications<br><b>Type: <color=green>Required</color></b><br><br>A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. This keeps the satellite mostly to the northern hemisphere of the Earth. Place a satellite into a Specific Molniya orbit for the customer.<br><br>Historical example: Molniya 1-1 (1,600kg, Molniya)<br><br><b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color>
description = <b>Program: Advanced Commercial Applications<br><b>Type: <color=blue>Optional</color></b><br><br>A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee in the very high or low latitudes, and an orbital period of one half of a sidereal day. This causes it to spend most of its time over two areas on the ground at opposing longitudes. Place a commercial satellite into a Molniya orbit so that it loiters over the specified ground location for at least 6 consecutive hours.<br><br>Historical example: Molniya 1-1 (1,600kg, Molniya)<br><br><b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color>

synopsis = Launch a satellite into a Molniya orbit

Expand Down Expand Up @@ -47,13 +47,24 @@ CONTRACT_TYPE

BEHAVIOUR
{
name = MolniyaOrbit
type = OrbitGenerator
name = WaypointGenerator
type = WaypointGenerator

RANDOM_ORBIT
{
type = KOLNIYA
}
WAYPOINT
{
name = Molniya Orbit Target
icon = thermometer
altitude = 0
latitude = @/targetLat
longitude = @/targetLon
}
}

DATA
{
type = int
targetLon = Random(-180,180)
targetLat = [63,-63].Random()
}

PARAMETER
Expand Down Expand Up @@ -91,24 +102,31 @@ CONTRACT_TYPE
}
PARAMETER
{
name = ReachSpecificOrbit
type = ReachSpecificOrbit
title = Reach the specified orbit.
displayNotes = true
index = 0
deviationWindow = 3.0

PARAMETER
{
name = Duration
type = Duration
name = Orbit
type = Orbit
minPeriod = 11h 53m
maxPeriod = 12h 7m
disableOnStateChange = false
title = Have an orbital period of half a day.
}
PARAMETER
{
name = waypointLoiter
type = VisitWaypoint
index = 0
horizontalDistance = 2000.0

duration = 2m
}
PARAMETER
{
name = Duration
type = Duration

preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
duration = 6h

preWaitText = Fly over the target area
waitingText = Checking loiter time
completionText = Stable Orbit: Confirmed
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,24 @@ CONTRACT_TYPE
BEHAVIOUR
{
name = TundraOrbit
type = OrbitGenerator
name = WaypointGenerator
type = WaypointGenerator
RANDOM_ORBIT
{
type = TUNDRA
}
WAYPOINT
{
name = Tundra Orbit Target
icon = thermometer
altitude = 0
latitude = @/targetLat
longitude = @/targetLon
}
}
DATA
{
type = int
targetLon = Random(-180,180)
targetLat = [63,-63].Random()
}
PARAMETER
Expand Down Expand Up @@ -99,24 +110,31 @@ CONTRACT_TYPE
}
PARAMETER
{
name = ReachSpecificOrbit
type = ReachSpecificOrbit
title = Reach the specified orbit.
displayNotes = true
index = 0
deviationWindow = 3.0
PARAMETER
{
name = Duration
type = Duration
name = Orbit
type = Orbit
minPeriod = 23h 53m
maxPeriod = 23h 59m
disableOnStateChange = false
title = Have an orbital period of one day.
}
PARAMETER
{
name = waypointLoiter
type = VisitWaypoint
index = 0
horizontalDistance = 2000.0
duration = 2m
}
PARAMETER
{
name = Duration
type = Duration
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
duration = 8h
preWaitText = Fly over the target area
waitingText = Checking loiter time
completionText = Stable Orbit: Confirmed
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ CONTRACT_TYPE
name = MolniyaCom1
type = VesselParameterGroup
define = Molniya Network Sat I
dissassociateVesselsOnContractCompletion = true

PARAMETER
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp2
agent = Federation Aeronautique Internationale

description = <b>Program: Advanced Commercial Applications<br>Type: <color=blue>Optional</color></b><br><br>We have a customer requesting a new Communications Satellite over a specified area in the high latitudes. Design a satellite within their specs and launch into an orbit with the proper orbital parameters as outlined in the contract.&br;&br;This contract can be completed as many times as you would like.&br;&br;<b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color></b>&br;&br;<b>The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;<b>Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats<br>Number of Contracts Completed: @index / unlimited</b>
description = <b>Program: Advanced Commercial Applications<br>Type: <color=blue>Optional</color></b><br><br>We have a customer requesting a new Communications Satellite over a specified area. Design a satellite within their specs and launch into an orbit so that it loiters over the specified ground target for at least 6 consecutive hours.&br;&br;This contract can be completed as many times as you would like.&br;&br;<b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color></b>&br;&br;<b>The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;<b>Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats<br>Number of Contracts Completed: @index / unlimited</b>
genericDescription = Put a satellite into the requested orbit.

synopsis = Launch a new Commercial Communications Satellite
Expand Down Expand Up @@ -73,15 +73,26 @@ CONTRACT_TYPE

BEHAVIOUR
{
name = OrbitGenerator
type = OrbitGenerator
name = WaypointGenerator
type = WaypointGenerator

RANDOM_ORBIT
WAYPOINT
{
type = KOLNIYA
name = Molniya Orbit Target
icon = thermometer
altitude = 0
latitude = @/targetLat
longitude = @/targetLon
}
}

DATA
{
type = int
targetLon = Random(-180,180)
targetLat = [63,-63].Random()
}

DATA
{
type = int
Expand Down Expand Up @@ -161,23 +172,31 @@ CONTRACT_TYPE
}
PARAMETER
{
name = ReachSpecificOrbit
type = ReachSpecificOrbit
displayNotes = true
name = Orbit
type = Orbit
minPeriod = 11h 53m
maxPeriod = 12h 7m
disableOnStateChange = false
title = Have an orbital period of half a day.
}
PARAMETER
{
name = waypointLoiter
type = VisitWaypoint
index = 0
deviationWindow = 4
horizontalDistance = 2000.0

PARAMETER
{
name = Duration
type = Duration
}
PARAMETER
{
name = Duration
type = Duration

duration = 2m
duration = 6h

preWaitText = Check for Stable Orbit
waitingText = Checking for Stable Orbit
completionText = Stable Orbit: Confirmed
}
preWaitText = Fly over the target area
waitingText = Checking loiter time
completionText = Stable Orbit: Confirmed
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp2
agent = Federation Aeronautique Internationale

description = <b>Program: Advanced Commercial Applications<br>Type: <color=blue>Optional</color></b><br><br>We have a customer requesting a new Communications Satellite over a specified area in the high latitudes. Design a satellite within their specs and launch into an orbit with the proper orbital parameters as outlined in the contract.&br;&br;This contract can be completed as many times as you would like.&br;&br;<b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color></b>&br;&br;<b>The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;<b>Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats<br>Number of Contracts Completed: @index / unlimited</b>
description = <b>Program: Advanced Commercial Applications<br>Type: <color=blue>Optional</color></b><br><br>We have a customer requesting a new Communications Satellite over a specified area. Design a satellite within their specs and launch into a tundra orbit so that it loiters over the desired area for at least 8 consecutive hours.&br;&br;This contract can be completed as many times as you would like.&br;&br;<b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color></b>&br;&br;<b>The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;<b>Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats<br>Number of Contracts Completed: @index / unlimited</b>
genericDescription = Put a satellite into the requested orbit.

synopsis = Launch a new Commercial Communications Satellite
Expand Down Expand Up @@ -66,15 +66,26 @@ CONTRACT_TYPE

BEHAVIOUR
{
name = OrbitGenerator
type = OrbitGenerator
name = WaypointGenerator
type = WaypointGenerator

RANDOM_ORBIT
WAYPOINT
{
type = TUNDRA
name = Tundra Orbit Target
icon = thermometer
altitude = 0
latitude = @/targetLat
longitude = @/targetLon
}
}

DATA
{
type = int
targetLon = Random(-180,180)
targetLat = [63,-63].Random()
}

DATA
{
type = int
Expand Down Expand Up @@ -154,25 +165,33 @@ CONTRACT_TYPE
}
PARAMETER
{
name = ReachSpecificOrbit
type = ReachSpecificOrbit
displayNotes = true
name = Orbit
type = Orbit
minPeriod = 23h 53m
maxPeriod = 23h 59m
disableOnStateChange = false
title = Have an orbital period of one day.
}
PARAMETER
{
name = waypointLoiter
type = VisitWaypoint
index = 0
deviationWindow = 4
horizontalDistance = 2000.0

PARAMETER
{
name = Duration
type = Duration
}
PARAMETER
{
name = Duration
type = Duration

duration = 2m
duration = 8h

preWaitText = Check for Stable Orbit
waitingText = Checking for Stable Orbit
completionText = Stable Orbit: Confirmed
}
preWaitText = Fly over the target area
waitingText = Checking loiter time
completionText = Stable Orbit: Confirmed
}
}
}

BEHAVIOUR
{
Expand Down
2 changes: 1 addition & 1 deletion GameData/RP-1/Programs/Programs.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,6 @@ RP0_PROGRAM
{
complete_contract = FirstGEOSat
complete_contract = FirstTargetedGeo
complete_contract = FirstTargetedMolniya
complete_contract = FirstTargetedTundra
ANY
{
Expand All @@ -526,6 +525,7 @@ RP0_PROGRAM

OPTIONALS
{
FirstTargetedMolniya = true
FirstGeosync = true
FirstTundraSat = true
GEORepeatComSats = true
Expand Down

0 comments on commit 0f9b522

Please sign in to comment.