Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Properties | List of all members
Contracts.Templates.PartTest Class Reference
Inheritance diagram for Contracts.Templates.PartTest:
Contracts.Contract Contracts.IContractParameterHost

Public Member Functions

string GetSituationString (Vessel.Situations sit, CelestialBody body, string biomeName)
 
override bool MeetRequirements ()
 Test to see if this contract type meets requirements to be able to create a contract More...
 
- Public Member Functions inherited from Contracts.Contract
bool Accept ()
 
ContractParameter AddParameter (ContractParameter parameter, string id=null)
 
virtual bool CanBeCancelled ()
 If this contract can be cancelled More...
 
virtual bool CanBeDeclined ()
 If this contract can be declined More...
 
virtual bool CanBeFailed ()
 If this contract can fail More...
 
bool Cancel ()
 
bool Complete ()
 
 Contract ()
 
bool Decline ()
 
bool Fail ()
 
void GenerateFailed ()
 
ContractParameter GetParameter (int index)
 
ContractParameter GetParameter (string id)
 
ContractParameter GetParameter (System.Type type)
 
GetParameter< T > (string id=null)
 
bool IsFinished ()
 
void Kill ()
 Prepares a contract to be forcibly removed from the contract system. More...
 
virtual string MissionControlTextRich ()
 
bool Offer ()
 
void ParameterStateUpdate (ContractParameter p)
 
void Register ()
 Registers all event hooks when contract is spawned in correct scene and is active More...
 
void RemoveParameter (int index)
 
void RemoveParameter (string id)
 
void RemoveParameter (System.Type type)
 
void RemoveParameter (ContractParameter parameter)
 
void Reset ()
 
void Save (ConfigNode node)
 
void SetViewed (Viewed viewed)
 Sets whether the player has either seen or read a contract in Mission Control. More...
 
void Unregister ()
 Unregisters all event hooks when contract becomes inactive or scene changes More...
 
void Update ()
 
void Withdraw ()
 

Public Attributes

bool PartIsExperimental
 
string PartName
 
- Public Attributes inherited from Contracts.Contract
bool AutoAccept
 Whether this contract is automatically accepted after being offered by the contract system. More...
 
double FundsAdvance
 The funds advance gained from accepting this mission More...
 
double FundsCompletion
 The funds gained for completing the mission More...
 
double FundsFailure
 The funds gained for failing the mission More...
 
bool IgnoresWeight
 Whether this contract ignores weight changes, always staying at default. More...
 
EventData< StateOnStateChange = new EventData<State>("OnStateChange")
 
EventData< ViewedOnViewedChange = new EventData<Viewed>("OnViewedChange")
 
float ReputationCompletion
 The reputation gain for completing the mission More...
 
float ReputationFailure
 The reputation gain for failing to complete the mission before the deadline More...
 
float ScienceCompletion
 The science gained for completing the mission More...
 
double TimeDeadline
 The time duration from when this mission was accepted until the deadline is hit More...
 
double TimeExpiry
 The time duration from when this mission was generated until it expires More...
 

Protected Member Functions

override bool Generate ()
 Generates a new random mission More...
 
override string GetDescription ()
 Generates the human readable mission text from instance info More...
 
override string GetSynopsys ()
 Generates the human readable mission text from instance info More...
 
override string GetTitle ()
 Generates the human readable mission text from instance info More...
 
override List< CelestialBodyGetWeightBodies ()
 Optional celestial bodies to use when making weight changes. More...
 
override string MessageCompleted ()
 Overload to replace standard 'contract complete' message More...
 
override void OnAccepted ()
 
override void OnFinished ()
 
override void OnLoad (ConfigNode node)
 
override void OnRegister ()
 Registers all event hooks when contract is spawned in correct scene and is active More...
 
override void OnSave (ConfigNode node)
 
override void OnUnregister ()
 Unregisters all event hooks when contract becomes inactive or scene changes More...
 
- Protected Member Functions inherited from Contracts.Contract
bool AddKeywords (params string[] keywords)
 
bool AddKeywordsRequired (params string[] keywords)
 
virtual void AwardAdvance ()
 
virtual void AwardCompletion ()
 
float GetDestinationWeight (CelestialBody body)
 
virtual string GetHashString ()
 
virtual string GetNotes ()
 Generates the human readable mission text from instance info More...
 
virtual string MessageAccepted ()
 Overload to replace standard 'contract complete' message More...
 
virtual string MessageAdvances ()
 Appended to the MessageAccepted when a mission is accepted More...
 
virtual string MessageCancellationPenalties (double fundsPenalty, float repPenalty)
 Appended to the text when a mission is cancelled More...
 
virtual string MessageCancelled ()
 Overload to replace standard 'mission cancelled' message More...
 
virtual string MessageDeadlineExpired ()
 Overload to replace standard 'deadline expired' message More...
 
virtual string MessageFailed ()
 Overload to replace standard 'deadline expired' message More...
 
virtual string MessageFailurePenalties ()
 Appended to the text when a mission is failed More...
 
virtual string MessageOffered ()
 Overload to replace standard 'contract offered' message More...
 
virtual string MessageOfferExpired ()
 Overload to replace standard 'offer expired' message More...
 
virtual string MessageRewards ()
 Appended to the MessageCompleted text when a mission is completed More...
 
string MissionNotes ()
 
string MissionParameter (ContractParameter parameter, int indent)
 
virtual void OnCancelled ()
 
virtual void OnCompleted ()
 
virtual void OnDeadlineExpired ()
 
virtual void OnDeclined ()
 
virtual void OnFailed ()
 
virtual void OnGenerateFailed ()
 
virtual void OnOffered ()
 
virtual void OnOfferExpired ()
 
virtual void OnParameterStateChange (ContractParameter p)
 
virtual void OnRead ()
 
virtual void OnReset ()
 Called to reset the contract on scene loads, vessel changes, etc, if required. More...
 
virtual void OnSeen ()
 
virtual void OnUpdate ()
 Called per frame - with current time - when contract is active More...
 
virtual void OnWithdrawn ()
 
virtual void PenalizeCancellation ()
 
virtual void PenalizeFailure ()
 
void SendStateMessage (string title, string message, MessageSystemButton.MessageButtonColor color, MessageSystemButton.ButtonIcons icon)
 Sends user a text message via messaging system More...
 
void SetDeadlineDays (float days, CelestialBody body=null)
 
void SetDeadlineYears (float years, CelestialBody body=null)
 
void SetExpiry ()
 
void SetExpiry (int minDays, int maxDays)
 
void SetExpiry (float minDays, float maxDays)
 
void SetFunds (float advance, float completion, CelestialBody body=null)
 
void SetFunds (float advance, float completion, float failure, CelestialBody body=null)
 
void SetReputation (float completion, float failure, CelestialBody body=null)
 
void SetReputation (float completion, CelestialBody body=null)
 
void SetScience (float completion, CelestialBody body=null)
 
void SetState (State newState)
 
CelestialBody WeightedBodyChoice (IList< CelestialBody > bodies, System.Random generator=null)
 

Protected Attributes

CelestialBody destination
 
bool hauled
 
AvailablePart tgtPart
 
Vessel.Situations tgtSituation
 
- Protected Attributes inherited from Contracts.Contract
Agent agent = null
 
double dateAccepted
 
double dateDeadline
 
double dateExpire
 
double dateFinished
 
Contract.DeadlineType deadlineType = DeadlineType.Floating
 
Contract.DeadlineType expiryType = DeadlineType.Floating
 
Contract.ContractPrestige prestige
 

Properties

bool Hauled [get]
 
- Properties inherited from Contracts.Contract
Agent Agent [get]
 Space agency or organisation that is requesting this mission More...
 
IEnumerable< ContractParameterAllParameters [get]
 
System.Guid ContractGuid [get]
 Globally unique mission identifier (will be unique even for two contracts considered to be repeats (matching ContractIDs)) More...
 
long ContractID [get]
 Unique mission identifier (combines mission name and parameters) More...
 
static int contractsInExistance [get, set]
 
State ContractState [get]
 
Viewed ContractViewed [get]
 
double DateAccepted [get]
 
double DateDeadline [get]
 
double DateExpire [get]
 
double DateFinished [get]
 
string Description [get]
 
static double GameTime [get]
 
List< string > Keywords [get]
 Keywords which help to score agent suitability for this contract More...
 
List< string > KeywordsRequired [get]
 Keywords which MUST be matched by a mentality in order for agents/mentalities to be valid eg. A mentality which DOES NOT positively score these have these will fail verification (excludes others) More...
 
string LocalizedContractState [get]
 
int MissionSeed [get]
 The seed that was used to generate the mission More...
 
string Notes [get]
 
int ParameterCount [get]
 
IContractParameterHost Parent [get]
 
Contract.ContractPrestige Prestige [get]
 Difficulty that this contract was generated for More...
 
Contract Root [get]
 
string Synopsys [get]
 
ContractParameter this[int index] [get]
 
ContractParameter this[string id] [get]
 
ContractParameter this[System.Type type] [get]
 
string Title [get]
 
- Properties inherited from Contracts.IContractParameterHost
int ParameterCount [get]
 
IContractParameterHost Parent [get]
 
Contract Root [get]
 
ContractParameter this[int index] [get]
 
ContractParameter this[string id] [get]
 
ContractParameter this[System.Type type] [get]
 
string Title [get]
 

Additional Inherited Members

- Public Types inherited from Contracts.Contract
enum  ContractPrestige : int { ContractPrestige.Trivial = 0, ContractPrestige.Significant = 1, ContractPrestige.Exceptional = 2 }
 
enum  DeadlineType : int { DeadlineType.Fixed, DeadlineType.Floating, DeadlineType.None }
 
enum  State : int {
  State.Generated, State.Offered, State.OfferExpired, State.Declined,
  State.Cancelled, State.Active, State.Completed, State.DeadlineExpired,
  State.Failed, State.Withdrawn
}
 
enum  Viewed : int { Viewed.Unseen = 0, Viewed.Seen = 1, Viewed.Read = 2 }
 
- Static Public Member Functions inherited from Contracts.Contract
static Contract Generate (System.Type contractType, Contract.ContractPrestige difficulty, int seed, State state)
 Generates a new random mission More...
 
static Contract Load (Contract contract, ConfigNode node)
 
- Protected Types inherited from Contracts.Contract
enum  ProgressState { ProgressState.Unreached, ProgressState.Reached, ProgressState.Incomplete, ProgressState.Complete }
 
- Static Protected Member Functions inherited from Contracts.Contract
static int CountBodies_Complete (bool includeKerbin, bool includeSun, string nodeComplete)
 
static int CountBodies_Reached (bool includeKerbin, bool includeSun)
 
static List< CelestialBodyGetBodies (bool includeKerbin, bool includeSun)
 
static List< CelestialBodyGetBodies (string nodeName, ProgressState nodeState, System.Func< CelestialBody, bool > where=null)
 
static List< CelestialBodyGetBodies (ProgressState bodyState, System.Func< CelestialBody, bool > where=null)
 
static List< CelestialBodyGetBodies (ProgressState bodyState, string nodeName, ProgressState nodeState, System.Func< CelestialBody, bool > where=null)
 
static List< CelestialBodyGetBodies_Complete (bool includeKerbin, bool includeSun, string complete)
 
static List< CelestialBodyGetBodies_InComplete (bool includeKerbin, bool includeSun, string notComplete)
 
static List< CelestialBodyGetBodies_NextUnreached (int depth, System.Func< CelestialBody, bool > where=null)
 
static List< CelestialBodyGetBodies_NotReached (bool includeKerbin, bool includeSun)
 
static List< CelestialBodyGetBodies_Reached (bool includeKerbin, bool includeSun)
 

Member Function Documentation

override bool Contracts.Templates.PartTest.Generate ( )
inlineprotectedvirtual

Generates a new random mission

< compile a list of all test subject parts in available or just-ahead nodes that do not have tests in other contracts

< module part ref isn't set until instantiated it seems.

< if we picked an unresearched part, add it as an 'experimental' one at R&D

< first down-select to only those which match our prestige.

< Apply constraints to bodies

< Remove unavailable situations

< remove basically everything but orbit from the sun

< hope there are any still left.

< remove basically everything but orbit from the sun

< hope there are any still left.

< If we are flying, clamp max to atmo height

< if we are in space, clamp min to min orbital alt

< Apply constraints

< Smoothly ramp repeatability as test subject count increases to avoid obnoxious early game repetition.

< add biome here later

< Hard limits, independent of multipliers or celestial bodies.

Reimplemented from Contracts.Contract.

override string Contracts.Templates.PartTest.GetDescription ( )
inlineprotectedvirtual

Generates the human readable mission text from instance info

Reimplemented from Contracts.Contract.

string Contracts.Templates.PartTest.GetSituationString ( Vessel.Situations  sit,
CelestialBody  body,
string  biomeName 
)
inline
override string Contracts.Templates.PartTest.GetSynopsys ( )
inlineprotectedvirtual

Generates the human readable mission text from instance info

Reimplemented from Contracts.Contract.

override string Contracts.Templates.PartTest.GetTitle ( )
inlineprotectedvirtual

Generates the human readable mission text from instance info

Reimplemented from Contracts.Contract.

override List<CelestialBody> Contracts.Templates.PartTest.GetWeightBodies ( )
inlineprotectedvirtual

Optional celestial bodies to use when making weight changes.

Reimplemented from Contracts.Contract.

override bool Contracts.Templates.PartTest.MeetRequirements ( )
inlinevirtual

Test to see if this contract type meets requirements to be able to create a contract

Reimplemented from Contracts.Contract.

override string Contracts.Templates.PartTest.MessageCompleted ( )
inlineprotectedvirtual

Overload to replace standard 'contract complete' message

Returns

Reimplemented from Contracts.Contract.

override void Contracts.Templates.PartTest.OnAccepted ( )
inlineprotectedvirtual

< If we picked an unresearched part (or a part that is already experimental), add it as an 'experimental' one at R&D.

Reimplemented from Contracts.Contract.

override void Contracts.Templates.PartTest.OnFinished ( )
inlineprotectedvirtual

Reimplemented from Contracts.Contract.

override void Contracts.Templates.PartTest.OnLoad ( ConfigNode  node)
inlineprotectedvirtual

Reimplemented from Contracts.Contract.

override void Contracts.Templates.PartTest.OnRegister ( )
inlineprotectedvirtual

Registers all event hooks when contract is spawned in correct scene and is active

Reimplemented from Contracts.Contract.

override void Contracts.Templates.PartTest.OnSave ( ConfigNode  node)
inlineprotectedvirtual

Reimplemented from Contracts.Contract.

override void Contracts.Templates.PartTest.OnUnregister ( )
inlineprotectedvirtual

Unregisters all event hooks when contract becomes inactive or scene changes

Reimplemented from Contracts.Contract.

Member Data Documentation

CelestialBody Contracts.Templates.PartTest.destination
protected
bool Contracts.Templates.PartTest.hauled
protected
bool Contracts.Templates.PartTest.PartIsExperimental
string Contracts.Templates.PartTest.PartName
AvailablePart Contracts.Templates.PartTest.tgtPart
protected
Vessel.Situations Contracts.Templates.PartTest.tgtSituation
protected

Property Documentation

bool Contracts.Templates.PartTest.Hauled
get

The documentation for this class was generated from the following file: