GithubHelp home page GithubHelp logo

jrossignol / contractconfigurator Goto Github PK

View Code? Open in Web Editor NEW
64.0 32.0 67.0 96.77 MB

A config file based solution for creating new contracts for Kerbal Space Program.

Home Page: https://forum.kerbalspaceprogram.com/index.php?/topic/91625-1

License: Other

C# 100.00%

contractconfigurator's People

Contributors

aelfhe1m avatar andfchat avatar dbt85 avatar dmagic1 avatar inigmatus avatar jberkman avatar jrossignol avatar keniamin avatar kerbas-ad-astra avatar linuxgurugamer avatar macgyvernl avatar mpharoah avatar pap1723 avatar piezpiedpy avatar sirmortimer avatar stevebenz avatar tinygrox avatar vader111 avatar vapal avatar wraithan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contractconfigurator's Issues

Orbital Details

There needs to be a utility class for reading in orbital information. This would be used by both the Kerbal spawner and Vessel spawner code to determine where they go. This would also be needed by the Fine Print integration code for creating waypoints.

Orbital Parameters

New parameter for specifying orbital details:

  • OrbitalInclination
  • OrbitalEccentricity
  • OrbitalApoapsis
  • OrbitalPeriapsis

Disable Contracts

The ability to create configuration that disables contract types - it looks like the list of valid contract types is public in the Squad code, so I should be able to modify it (just need to figure out the right time to do it).

CoherentContracts

Let DuoDex know if there are any requested additions for CoherentContracts.

0.90 - Waypoints

To fully support waypoints, expecting to need:

  • ContractBehaviour for generating waypoint(s)
  • ContractParameter for being with x distance of a waypoint

Behaviour to change the ownership of a vessel after success

Need a behaviour which can change the ownership of a vessel (typically the vessel that has completed the contract) to something different. This can be used to allow a satellite launch contract where the player is no longer allowed to do anything with the satellite after launch (because the agency now owns it). It's also necessary to prevent the player from messing things up if you want to do a follow up contract on that same vessel.

Duration Parameter

Should work like this:

// Example - orbit the Mun for 10 days
PARAMETER
{
    // Parameter is completed when all child parameters have been completed for the specified duration
    type=Duration
    duration=10 days

    PARAMETER
    {
        type=ReachSituation
        situation=Orbit
        disableOnStateChange=false
    }
    PARAMETER
    {
        type=ReachDestination
        targetBody=Mun
        disableOnStateChange=false
    }
}

HasPart not working for SCANsat part

hasPartParameter does have problems loading specific parts (found one: SCANsat_Scanner from SCANsat) logs "[Error]: ContractConfigurator: 'SCANsat_Scanner' is not a valid Part." in ConfigNodeUtil.ParsePart

  • Definitly know that part is later loaded correctly (shows up in techtree and is useable)
  • SCANsat_Scanner is the name not the title, checked it often enough.

No clue why this isn't loaded, got desperate enough to try leaving out the underscore

Timer parameter

Parameter that starts a countdown timer.... when it hits zero, the contract fails.

Add dates to ContractComplete requirement

Not sure how to phrase this: After contract 'Annual Review- Year 1' is completed, 'Annual Review- Year 2' has to wait a year before becoming available.

Add a field to specify a "cooldown" duration for the ContractComplete requirement.

RemoteTech integration

Add integration to RemoteTech:

  • Parameter for HasConnection - verifies that a vessel has connectivity back to KSC
  • Want to be able to support a contract that involves setting up a network of satelites - need to be able to specify the orbit, but also be able to say that the X satellites are Y degrees apart. Need to think about how this needs to be implemented.
  • Requirement to say "has connectivity to <celestial_body> might be interesting if possible.

Fine Print integration

Provide wrappers to the Fine Print parameters. Figure out a way to make the dependency conditional (ie. don't break if Fine Print isn't installed and the FP parameters aren't being used).

0.90 - Orbits

Orbit specifiers - may need a combination of parameter and behaviour.

Improper tracking of completionTime in VesselParameterGroup

When a duration is used, and the previous "winner" for VesselParameterGroup stops meeting its parameter obligations, another winner is selected out of the pool of valid winners. Currently what happens is the first one is picked - rather than the one that is currently closest to meeting the duration bit.

Ability to invert some parameters

Some parameters would benefit from the ability to invert, in particular the Reach ones. This would lead to the ability to do things like have Destination: Not Kerbin

Requirement based on Kerbin-date

Requirement to allow contracts to only be offered withing a given date window. This could be used to have contracts that are only available when a given transfer window is open.

Parameter which spawns a Kerbal

Create a new parameter that spawns a Kerbal. This Kerbal should be "inheritable" by child parameters that require a Kerbal (ie. RecoverKerbal, BoardAnyVessel).

ReachSpeedEnvelope minSpeed should be 0.0 not > 0.0

I think 0.0 speed is valid. I'm trying to make a contract who needs the player to hover in a place with 0-5m/s maximum speed. Havn't tested if this is working with minSpeed = ~0.0001 or floats will get to exactly zero(ed) in any time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.