Skip to content

Commit

Permalink
Skopos integration (#2448)
Browse files Browse the repository at this point in the history
* Experimental/Early Skopos contracts

* Fix workflows

* Set up "tutorial" contracts

* More verbose locations

* Level 1 skopos

* Do some regex to the sortkey and set failure penalties

* Level 2 contracts

* Level 2 program

* Level 3 program

* Don't place stations directly on top of other stations

* Use AT&T satellite earth stations

Use AT&T stations for intelsat contracts rather than temporary/military stations

* Add reward funds to Skopos maintenance contracts

* Fix bandwidth allocations

* Remove telecom

remove telecom configs, as they will live in Skopos instead

* Fix some typos and misc config errors
  • Loading branch information
Capkirk123 authored Jan 20, 2025
1 parent a2fd7af commit 2f9019f
Show file tree
Hide file tree
Showing 62 changed files with 6,011 additions and 3 deletions.
15 changes: 15 additions & 0 deletions GameData/RP-1/Agencies/Agents.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,21 @@ AGENT
mentality = Kerbalminded 0.4
}

AGENT
{
RP0Agent = true

name = skopos_telecom_agent
title = Σκοπός Telecom

description = Σκοπός Telecommunications

logoURL = RP-1/Agencies/skopos_telecom_160
logoScaledURL = RP-1/Agencies/skopos_telecom_40

mentality = NoRandomContractMentality
}

AGENT
{
RP0Agent = true // if we clear out AGENTs without this, on FINAL, only RP-0 agents will exist.
Expand Down
Binary file added GameData/RP-1/Agencies/skopos_telecom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GameData/RP-1/Agencies/skopos_telecom_160.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GameData/RP-1/Agencies/skopos_telecom_40.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
CONTRACT_TYPE
{
name = EarlyNavNetwork3-SCA
title = Early Navigation Network (3 Satellites)
group = CommApp


description = <b>Program: Early Commercial Applications<br>Type: <color=green>Required</color></b><br><br>The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudimentary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite. Make sure the satellites are spread around the Earth to provide reasonable coverage.&br;&br;<b><color=white>NOTE: You may choose only the 3-satellite or 4-satellite contract.</color></b><br><br><b><color=yellow>NOTE: The satellites will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color>

synopsis = Launch a 3-satellite navigation network

completedMessage = Congratulations! The network is up and transmitting, and our shakedown testing is complete!

sortKey = 904

cancellable = true
declinable = true
autoAccept = false
minExpiry = 0
maxExpiry = 0
maxCompletions = 1
maxSimultaneous = 1
deadline = 0
targetBody = HomeWorld()

// ************ REWARDS ************
prestige = Trivial // 1.0x
advanceFunds = 0
rewardScience = 0
rewardFunds = 0
failureFunds = 0
rewardReputation = 150
failureReputation = 0 // was @rewardReputation

// ************ REQUIREMENTS ************

REQUIREMENT
{
name = ProgramActive
type = ProgramActive
program = SkoposCommercialApplications0
}

REQUIREMENT
{
name = CompleteContract
type = CompleteContract
contractType = FirstNavSat-SCA
}

REQUIREMENT
{
name = AcceptContract
type = AcceptContract
contractType = EarlyNavSat-SCA
invertRequirement = true
}

REQUIREMENT
{

name = CompleteContract
type = CompleteContract
contractType = EarlyNavNetwork4-SCA
invertRequirement = true
}

REQUIREMENT
{
name = AcceptContract
type = AcceptContract
contractType = EarlyNavNetwork4-SCA
invertRequirement = true
}

// NavSat I
PARAMETER
{
name = NavSat1
type = VesselParameterGroup
define = NavSat I
disableOnStateChange = false

PARAMETER
{
name = IsNotVessel
type = IsNotVessel
vessel = NavSat II
}

PARAMETER
{
name = IsNotVessel
type = IsNotVessel

vessel = NavSat III
}
PARAMETER
{
name = HasNavSatPayload
type = HasResource
resource = NavSatPayload
minQuantity = 99.9
title = Have a NavSatPayload of at least 100 units on the craft
disableOnStateChange = false
}

PARAMETER
{
name = Orbit
type = Orbit
disableOnStateChange = false
minPeA = 700000
maxApA = 1200000
minInclination = 88
maxInclination = 92
maxEccentricity = 0.004
}
}
// NavSat II
PARAMETER
{
name = NavSat2
type = VesselParameterGroup
define = NavSat II
disableOnStateChange = false

PARAMETER
{
name = IsNotVessel
type = IsNotVessel
vessel = NavSat III
}
PARAMETER
{
name = HasNavSatPayload
type = HasResource
resource = NavSatPayload
minQuantity = 99.9
title = Have a NavSatPayload of at least 100 units on the craft
disableOnStateChange = false
}

PARAMETER
{
name = Orbit
type = Orbit
disableOnStateChange = false
minPeA = 700000
maxApA = 1200000
minInclination = 88
maxInclination = 92
maxEccentricity = 0.004
}
}
// NavSat III
PARAMETER
{
name = NavSat3
type = VesselParameterGroup
define = NavSat III
disableOnStateChange = false

PARAMETER
{
name = IsNotVessel
type = IsNotVessel
vessel = NavSat I
}
PARAMETER
{
name = HasNavSatPayload
type = HasResource
resource = NavSatPayload
minQuantity = 99.9
title = Have a NavSatPayload of at least 100 units on the craft
disableOnStateChange = false
}

PARAMETER
{
name = Orbit
type = Orbit
disableOnStateChange = false
minPeA = 700000
maxApA = 1200000
minInclination = 88
maxInclination = 92
maxEccentricity = 0.004
}
}

PARAMETER
{
name = Duration
type = Duration

duration = 2m

preWaitText = Testing time after network launch
waitingText = Performing shakedown testing
completionText = Shakedown testing completed
}

BEHAVIOUR
{
name = TransferVessel
type = DestroyVessel
onState = CONTRACT_SUCCESS
vessel = NavSat I
vessel = NavSat II
vessel = NavSat III
}

BEHAVIOUR
{
name = VesselDestroyed
type = DialogBox
DIALOG_BOX
{
title = Vessel Ownership Transferred
condition = CONTRACT_SUCCESS
position = CENTER
width = 0.5
TEXT
{
text = The contract has been completed successfully and the satellites have been transferred to the customer.
}
}
}
}
Loading

0 comments on commit 2f9019f

Please sign in to comment.