forked from jrossignol/ContractConfigurator
-
Notifications
You must be signed in to change notification settings - Fork 10
/
CHANGES.txt
1364 lines (1187 loc) · 80.1 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Contract Configurator 2.6.0
- Add preview of contract parameters to All tab. Needs explicit support from contract packs. Read more about it in #18
- Replace all OnPartJointBreak events with OnPartDeCouple+OnPartUndock. This fixes severe performance issues when joints are recreated, for instance with autostruts. #20
- Fix broken localization in ReachState title
- Replace crew capacity calculation with stock method call
- Add warning to accepting a contract if it would cause other conflicting contracts to fail automatically
Contract Configurator 2.5.0.1
- Add Harmony as a dependency
- Harmony-patch ContractSystem.OnLoadRoutine to work consistently on fresh saves
- Add option to ReachState parameter for specifying speed mode
Contract Configurator 2.4.0
- Fix memory leakage in `ParameterDelegate`
- Replace `OnContractLoaded` event with virtual `OnContractLoad` method to fix memory leak in `VesselParameterGroup`
- Remove all unnecessary `new EventData<T>.OnEvent` and `new EventVoid.OnEvent` calls. This also prevented KSPCF from finding leaks.
- Mark `ContractConfigurator.OnParameterChange` as obsolete and change all parameters to not use it
- Increment KSPAssembly version on releases. Can be useful for enforcing dependencies based on min version.
Contract Configurator 2.3.0
- Update zh-cn.cfg
- Implement dictionaries for getting completed contracts by name or tag
- Fix nullref in MC UI when completing contract through the cheat menu
Contract Configurator 2.2.0
- Add `resetChildrenWhenVesselDestroyed` parameter to `VesselParameterGroup`
- Possible fix for logspam reported in issue #1
- Add continuous integration (GitHub Actions)
Contract Configurator 2.1.4
- Return to legacy behavior for CelestialBody names when used without a function; Name() will report the actual name and DisplayName() the Lingoona-decorated name as in 2.1.3 however. This should preserve legacy contract behavior while still allowing Lingoona formatting going forward.
- Change last remaining uses of CurrencyModifierQuery that didn't go through RunQuery
Contract Configurator 2.1.3
- Fix an issue with AcceptContract and tags when the contract itself has the tag.
- Default to old style Kerbal/CelestialBody name usage unless DisplayName() is used (or FirstName() or LastName() for Kerbals).
Contract Configurator 2.1.2
- Fix compatibility with 1.8.1/1.9
Contract Configurator 2.1.1
- Fix tag handling
Contract Configurator 2.1.0
- Works with regular KSP again.
- Adds support for accept/complete contract requirement checks using tag instead of contract type. You can define tag in the contract cfg and then use tag = <that> in any accept/complete requirement to match against all contracts of the matching tag.
Contract Configurator 2.0.0
- Modified to specifically support RP-1 - WILL NOT WORK OTHERWISE.
- Optimize contract requirement checks.
- Fix Active state checks in ContractType.
- Don't save no-longer-needed data in completed contracts.
- Fix ResourceConsumptionChecker to support changes in part count in flight.
- Allow not changing contract rewards based on target body.
- Only allow RP-1 contracts.
Contract Configurator 1.31.0
- Add FirstName and LastName methods to Kerbal.
- Kerbals and Celestial Bodies used as strings now include the correct Lingoona gender suffixes.
- Allow PNG/DSS to be auto-detected correctly in dialog boxes.
Contract Configurator 1.30.5
- Major performance improvements to save loading time (thanks siimav).
- Fixed SI units not appearing on HasAntenna parameter (thanks Nobody6).
- Fixed Exploration contracts not being fully disabled when requested (thanks ussdefiant).
Contract Configurator 1.30.4
- Fixed major issue when Breaking Ground wasn't installed (thanks boribori).
Contract Configurator 1.30.3
- Deployed Science from Breaking Ground no longer generates tons of message spam. Instead, the messages (including screen messages) are intercepted and combined into a single more useful message.
- Re-enable the reload contracts button (may or may not work).
- Fixed issue where invertRequirement was no longer allowed for Any (and All) REQUIREMENT nodes (thanks Morphisor).
- Made Asteroid and Comet science into Sun-only science to prevent them from showing up in weird (but valid according to the game) scenarios. Prevents contracts for things like "comet sample while landed on Kerbin" (thanks Lathari).
- Cleaned up some duplicated name in the contract type selection settings window (thanks gamerscircle).
- Added Experiment.ID().
- Removed a workaround for a stock bug fixed in 1.4.3 (#18267).
Contract Configurator 1.30.2
- Backport localization tags missing from KSP 1.8 into Contract Configurator (thanks MatjaBrown, TomTheHand, IonTracks & Lignite).
Contract Configurator 1.30.1
- Translation for Chinese Simplified (thanks tinygrox).
- Restore compatibility back to KSP 1.8.1.
- General improvements to error handling.
- Fixed exception in CollectionScience title when there is no targetBody (thanks Morphisor).
Contract Configurator 1.30.0
- Recompile against KSP 1.10.1.
- Localization support.
- Added Format() function to expressions to support better contract pack localization.
- Partial translation for Chinese Simplified (thanks tinygrox).
- Support for Breaking Ground science.
- Support for comet science.
- Added Mission Control icons for Sentinel (KSP 1.3) and Robotics (Breaking Ground) stock contracts.
- Significant cleanup of string addition to reduce garbage generation.
- Support all tracking station object size classes up to I in SpawnVessel.
- Allow apostrophe in AgentParser, fixes Kerbin-Side Jobs.
- Improved some validation in Requirement nodes to throw certain errors at contract validation time instead of at run-time.
- Fixed issue where biomes without a Celestial Body (targetBody) specified weren't smart enough to figure out which body they were for.
Contract Configurator 1.29.0
- Recompile against KSP 1.9.1.
- Fixed various vessel spawning issues.
Contract Configurator 1.28.3
- More changes to AgentParser, now commas are disallowed as part of agent names (thanks Tonas1997).
- Fixed requirements being regenerated incorrectly on some contracts, resolves issues with "flickering" of contracts in mission control (thanks severedsolo).
Contract Configurator 1.28.2
- Allowed a wider range of Agent names to be parsed by the AgentParser (thanks Morphisor244).
- Add ModuleManager patch to fix old Agent definitions with a missing title (thanks Tonka Crash).
Contract Configurator 1.28.1
- Added new AgentParser (allows for assigning a random agency through expressions).
- Merged change to improve accuracy of great circle distance in contract distance calculations (thanks pap1723).
- Merged change to fix issues with certain celestial body progress requirements not working correctly for the manned/unmanned checks (thanks SirMortimer).
- Fixed issue with planet packs that renamed Kerbin displaying the name in lower case (thanks TheSpaceDad).
- Fixed incorrect requirement text when FacilityRequirement and maxLevel are used (thanks histalonia).
Contract Configurator 1.28.0
- Support for KSP 1.8
Contract Configurator 1.27.1
- Improved performance of WaypointGenerator's RANDOM_WAYPOINT_NEAR when the min/max distances are very close to each other.
- Fixed issue where too many waypoints can get generated by WaypointGenerator when count > 1.
- Renable backwards compatibility to KSP 1.4.5.
Contract Configurator 1.27.0
- Recompile for KSP 1.6.0
- Added actual and vacuum delta-vee to ReachState.
- Added Expansion requirement.
- Added LAUNCH_SITE sub-node to WaypointGenerator behaviour.
- Added support for LaunchSite class in expressions.
- Added OtherKerbinBiomes() function to return biomes like Baikerbanur biomes.
- Fixed Biome functions to correctly distinguish between KSC biomes and other collider based biomes.
- Fixed issue with sub-parameters sometimes showing as met when they shouldn't.
- Clarified error message when SpawnPassengers is omitted from a contract that requires it.
Contract Configurator 1.26.0
- Recompile for KSP 1.5.1
- Updated to work with RemoteTech 1.8.13+ (thanks PiezPiedPy).
- Added trig functions to expression langugage (thanks VaPal).
- Invalid Celestial Bodies constants no longer throw an error on parsing (improves overall support for planet packs that remove/rename planets).
- Fixed a bug that prevented casting from string to ExperienceTrait.
- Fixed an issue affecting CollectScience and biomes with spaces (thanks mpharoah).
Contract Configurator 1.25.0
- Added ExperienceTrait to parser.
- Kerbal.ExperienceTrait now returns an ExperienceTrait instead of a localised string.
- Increased max active contract multiplier slider maximum from 2.0 to 8.0.
- Support for RemoteTech 1.8.10.3 (thanks wraithan).
Contract Configurator 1.24.4
- More attempts to workaround stock bug.
Contract Configurator 1.24.3
- Proper fix for last release (thanks Warezcrawler).
Contract Configurator 1.24.2
- Workaround for stock bug #18267 (contract parameters creating extra messages on completion).
Contract Configurator 1.24.1
- Recompile against KSP 1.4.2
- Re-enabled RemoteTech and Kerbal Konstructs integration for KSP 1.4.x.
- Fix error message when despawning spawned Kerbals (thanks steve_v).
- Added a warning message when validation errors prevent a DATA_EXPAND node from being parsed (thanks gyf1214).
- Fixed NRE when checking progress nodes (thanks DocMop).
- Fixed issue with duplicate assembly warning showing up when it shouldn't (thanks Gordon Dry).
- Fixed some issues with handling of newlines in config nodes (thanks inigma).
- Use case insensitive string comparison when loading celestial bodies in saved expressions (thanks gyf214).
Contract Configurator 1.24.0
- Recompile for KSP 1.4.0
- Added back MODULE checks in simple version of PartValidation (thanks chrisl).
- Support RemoteTech 1.8.9 (thanks vader111).
- Read date/time information from dateTimeFormatter (thanks Aelfhe1m).
Contract Configurator 1.23.3
- Recompile for KSP 1.3.1
- Improved display of HasAntenna parameter ratings (thanks Kerbas-ad-astra).
- Fixed logic for determining contract prestige (thanks sopindm).
- Fixed previously unlocked parts being re-locked if player tries to buy a science node they don't have sufficient funds for (thanks inigma).
- Fixed issue using DATA_EXPAND with values that had special characters in them. Fixes interop issues between CatEye and Other Worlds Planet pack (thanks Chemox).
Contract Configurator 1.23.2
- Clarified wording of ActiveVesselRangeRequirement for RemoteTech (thanks Alshain).
- Added check for old usage of partModuleType=Power (thanks muppet9876).
- Prevent Rendezvous parameter from completing when doing an EVA (thanks pap1723).
- Don't allow main menu to continue while still loading (prevents issues on slower systems).
- Made RemoteTech distance function (for coverage system) more generous (thanks NathanKell).
- Fixed issue with Kerbals spawned at KSC starting an extra ~60 meters in the air (thanks Keniamin).
- Fixed error when cancelling a contract with spawned Kerbals.
- Fixed exception with FlyBy and ReturnFromFlyBy requirements.
- Properly fixed Facility requirement in the tracking station (thanks Kerbas_ad_astra).
- Fixed NRE from struts breaking (thanks Alshain).
- Fixed multiple exceptions when using Sigma Binary (thanks Rodger).
Contract Configurator 1.23.1
- Fixed major bug with VisitWaypoint not properly setting waypoint distances (thanks Keniamin and others).
- Fixed issue with FacilityRequirement in tracking station (thanks JPLRepo).
- Fixed issue where some requirement details weren't being saved in contracts.
- Fixed localisation issue with character names in dialog boxes.
- Fixed exception when pressing orbit buttons in tracking station (thanks doktorstick).
Contract Configurator 1.23.0
- Support for KSP 1.3.0
- Fix issue with contract item sizes not always being set correctly in mission control when switching tabs.
- Fixed "input is null" error in Docking parameter (thanks linuxgurugamer).
- Fixed to not generate contracts without parameters (thanks severedsolo).
- Fixed Sigma Dimensions compatibility issue with atmosphere height (thanks pap1723 and Sigma88).
Contract Configurator 1.22.3
- Fixed reversed base open/closed requirement text (thanks Keniamin).
- Add logic to add waypoint icons into Waypoint Manager (happened automatically before KSP 1.2).
- Don't allow astronaut complex biome to be used before it's at level 2 (thanks doktorstick).
- Fixed validation issues with Rendezvous parameter (thanks doktorstick).
Contract Configurator 1.22.2
- Fix possible argumentOfPeriapsis issue (thanks Intrepidrd).
Contract Configurator 1.22.1
- Fixed issue with vessel identifier parsing introduced in 1.22.0.
Contract Configurator 1.22.0
- Added HasAntenna parameter (thanks Kerbas-ad-astra).
- Added Vessel.AntennaTransmitPower() and Vesse.AntennaRelayPower() (thanks Kerbas-ad-astra).
- Contract weights for celestial bodies are now set by Contract Configurator (affecting the likelihood of stock contracts generating for the given body).
- Added minArgumentOfPeriapsis and maxArgumentOfPeriapsis to Orbit parameter.
- Added horizontalDistance to VisitWaypoint.
- Make references to 'Sun' generic in SolarScience.cfg to fix Galileo compatibility (thanks SirBriguy).
- Added Sun() function to get the Sun in a non-name specific way. Assumes a single star.
- Change enum parse to be case insensitive.
- Change Vessel Identifier parsing to allow a wider range of characters.
- Fixed format text for funding message in mission control (thanks JPLRepo).
- Fixed issue with NextUnreachedBody() call caching results (thanks severedsolo).
Contract Configurator 1.21.0
- Found new workaround for GetExportedTypes reflection issue (the "toolbar" issue).
- Added NextUnreachedBody() and NextUnreachedBodies() methods.
- Added Part.MassDry() and Part.MassWet() methods.
- Added CelestialBody.CanHaveSynchronousOrbit() method.
- Recompile Kerbal Konstructs integration.
- Fixed contract window text not updating for dynamic text (duration timers, etc.).
Contract Configurator 1.20.3
- Regenerate biome data for KSP 1.2 biomes (fixes Field Research "Rare Science" contracts, thanks FlatEric).
- Added RemoteTech integration back in.
- Fixed issue with nested contract groups not working (thanks jeisen).
Contract Configurator 1.20.2
- Support for KSP 1.2
- Allow contract title in mission control to span two lines.
- Moved settings into stock settings screen.
- Fixed NRE when vessel's Landed At string is null (thanks SamLex).
- Check for sufficient funds when there are negative contract advances (thanks 5thHorseman).
- Fixed display issue with partially complete CollectScience parameters.
Contract Configurator 1.19.0
- Added Part.UnlockCost().
- Added Part.Resources().
- Added Part.ResourceCapacity().
- Reworked ParameterDelegate - worst source of in-flight LINQ (ie. garbage).
- Check contract requirements before displaying them in mission control in case something has changed.
- Fixed issues with part parser (thanks 5thHorseman).
- Fixed exception in Mission Control (thanks Conventia & AccidentalDisassembly).
- Fixed a NullReferenceException in PartValidation.
- Fixed an incorrect condition on the ReseachBodies check which caused heaps of garbage to be created (thanks xEvilReeperx).
- Fixed issue with Duration parameter not kicking off correctly in some circumstances (thanks 5thHorseman).
Contract Configurator 1.18.1
- Fixed NRE on contract save (thanks CecilFF4).
Contract Configurator 1.18.0
- New Base and ISRU agent icons from Enceos.
- Added Resource.Density() method.
- Added partModule and partModuleType to TechResearchedRequirement.
- Fixed problem with requirement data for offered data not getting fixed until contract save (thanks severedsolo).
- Fixed sorting of contract groups (thanks pap1723).
- Fixed Resource parsing limitations (thanks hargn).
- Fixed issue with DATA nodes and child contract groups (thanks hargn).
- Disallow DMOS Seismic Impact Hammer at KSC in science subsystem (thanks BeafSalad).
- Remove short-circuit in Any/All requirement texts for players aren't given incorrect information (thanks inigma).
- Fixed an issue that prevented expressions from working in resource loading (thanks hargn).
- Cycle through new contracts to generate in a random order to prevent certain contracts from getting preference.
- Fixed issue where contract expiries were never getting set (thanks DarkonZ).
- Fixed issue with some parameters combined with the All parameter causing incorrect contract failure (thanks tomf).
- Fixed issue with selected contract in mission control getting unselected when a new contract is generated (thanks AccidentalDisassembly).
Contract Configurator 1.17.0
- Mission Control remembers the last visited tab when you open it, and takes you there.
- Added Tracking Station buttons for filtering orbits/waypoints from contracts.
- Added support for adding loading tool tips.
- Better support for Kolniya/Tundra orbits - will error if the orbit would exit the SOI. Also added CelestialBody methods to determine if the body is allowed to have Kolniya/Tundra orbits.
- Fix for contracts not being offered on a brand new save until at least one stock contract is offered (thanks to all the RP-0 users who reported this).
- Fixed issue where parameter completion data wasn't correctly copied to newly created vessel on undock/decouple (thanks linuxgurugamer).
- Fixed DraftTwitchViewers support.
- Fixed issue with using Enter button to go to Mission Control (thanks Deimos Rast).
- Fixed agent for stock satellite contracts.
- Fixed issue with sortKey in child contract groups (thanks pap1723).
Contract Configurator 1.16.2
- Fix exception error messaging.
Contract Configurator 1.16.1
- Silence Research Bodies error (thanks Liondrome).
- Fixed problems with ResearchBodies support (it was offering some contracts that it shouldn't have).
Contract Configurator 1.16.0
- Support for ResearchBodies - contracts won't be offered until the appropriate body has been researched (thanks JPLRepo).
- Integrated support for Kerbal Konstructs directly into Contract Configurator.
- New NoStaging parameter.
- Agent data for stock contracts is now defined in a cfg file, instead of hardcoded (see CONTRACT_DEFINITION in documentation).
- Properly factor in autoAccept contracts when deciding whether to enable the accept button in Mission Control (thanks ETM, Nightside & Aelfhe1m).
- Fixed issue with contract generation process starting up before the stock contract system was done loading. This would cause contracts to be offered that weren't supposed to be offered, which could cause other issues (like a contract that can be accepted but is then removed, or an active contract that gets removed unexpectedly). Thanks to everyone who's been very patient on this nasty & hard to track down bug.
- Fixed contracts that didn't properly expire once the expiry date hit.
- Increased default expiry dates (since long expiries no longer prevent other contracts from generating).
Contract Configurator 1.15.5
- Updated agent icons from Enceos.
- Fixed issue introduced in 1.15.x with Prestige() function that incorrectly treated all contracts as Trivial.
- Fixed issue with text for Funds/Science/Reputation requirements.
- Fixed issue with sorting in Available tab of Mission Control.
- Fixed exception when declining/cancelling contracts in Mission Control.
Contract Configurator 1.15.4
- Increased base contract limits.
- Increased contract limits based on building level.
- Increased contract limits even more based on building level.
- Fixed issue where contract limits could be exceeded in the Available tab of Mission Control (thanks severedsolo).
- Fixed possible exception in HasCrew (thanks cpottinger).
- Fixed issue with "ghost" contracts showing up as offered (thanks vardicd & severedsolo).
- Fixed issue with MaxTechLevelUnlocked function (thanks hargn).
- Removed MiniAVC.
Contract Configurator 1.15.3
- New Mission Control layout. Now all contracts that are eligible are available all the time (players are no longer at the mercy of the RNG to get the contracts they want). Also, can view the details of what contracts are *not yet* available, and what it takes to make them available.
- New contract art (special thanks to Enceos)!
- Contract generation overhaul. Overhaul to the contract generation system for massive performance improvements. Contracts are no longer generated in-flight (no garbage, no stutters).
- Added title and related attributes for REQUIREMENT nodes.
- Added title and related attributes for DATA nodes.
- Added sortKey for CONTRACT_TYPE and CONTRACT_GROUP nodes.
- New List.SelectUnique() method for selecting unique values (replaces selecting a random value and hoping that it hasn't been used before).
- New DATA_EXPAND node allows a CONTRACT_TYPE to be duplicated across a list of values (eg. duplicated for each Celestial Body).
- New CelestialBody.Index() method to get the global index of a body (for sorting).
- More warnings to steer contract authors towards more performant and more player-friendly ways of writing contracts.
- New ResourceConsumption parameter.
- Fixed issue where the state of some parameters wasn't immediately reset when switching vessels, allowing erroneous contract completion (thanks NathanKell & leudaimon).
- Fixed bug in uniqueness checks when vessels are involved which caused the uniquness check not to work (thanks severedsolo).
- Fixed issue where CollectScience parameters weren't always showing the checkmarks when partially completed (thanks jlcarneiro & severedsolo).
Contract Configurator 1.14.0
- Added suppport for partModuleType in PartValidation.
- Added AtMost and AtLeast set requirements.
- Fixed issue where HasCrew was counting tourists.
- Fixed issue where partModuleType = Wheel wasn't picking up the LY-01 fixed landing gear (or any wheel part without a motor).
- Fixed issue with VisitWaypoing and WaypointGenerator not correctly update waypoint names when expressions are used.
- Reduced LINQ and reflection calls in expression parser for performance/garbage collection improvements.
Contract Configurator 1.13.0
- KSP 1.1.3 compatibility.
- Integrated Wider Contracts App into Contract Configurator.
- Fixed isuse with SpawnVessels spawning vessels with incorrect rotation (thanks severedsolo).
- Prevent Rendenzvous parameter from triggering when a vessel performs a rendezvous with itself (thanks danielguo).
- Fixed NRE on contract accept when using SpawnVessel's craftPart method of spawning.
- Fixed PartModuleUnlocked and PartUnlocked requirements to check for part purchase and not just tech unlock (thanks inigma).
- Always set the CollectScience targetBody to the one from the biome if a biome is used (thanks severedsolo & enceos).
- Fixed exception in RecoverKerbal (thanks palleon).
- Fixed incorrect handling of waypoints with negative altitude on non-ocean worlds in VisitWaypoint (thanks Galenmacil).
- Removed extra ConfiguredContract entries from settings menu (thanks Deimos Rast).
Contract Configurator 1.12.1
- Fixed backwards compatibility for Wheel PartModuleType (thanks TheReadPanda).
Contract Configurator 1.12.0
- Added support for NextKerbalHireCost() expression function.
- Added HasCrew.excludeKerbal.
- Fixed exception in the Expression behaviour (thanks severedsolo).
- Fixed deriving primary situation for biomes with a space in the name.
- Fixed exception in science util functions (thanks Chippy the Space Dog).
- Fixed exception when docking (thanks Lennartos and others).
- Fixed logic for setting contract weights that was broken by 1.1.x changes (thanks severedsolo).
- Removed some broken validation (thanks linuxgurugamer).
- Fixed exception when removing certain contract packs (thanks rasta013).
- Fixed edge case where AwardExperience was late awarding the experience (thanks severedsolo).
- Fixed exception with Contracts Window + (thanks sidfu).
- Improved accuracy of VesselNotDestroyed checks (thanks inigma).
- Fixed bug in barycenter logic when using Sigma Binary (thanks sentania).
- Improved backwards compatibility with contract packs using the old Wheel module name (thanks galenmacil).
- Re-generate PQS offset coordinates when flight begins (workaround for Kopernicus waypoint offset issue).
Contract Configurator 1.11.5
- Fixed exception when recovering vessel (thanks BluK).
- Recompile to RemoteTech 1.7.0.
Contract Configurator 1.11.4
- Clean up some "Input is null" errors/warnings.
- Deprecated VesselParameterDelegator.
- Remove support for ancient versions of Module Manager.
Contract Configurator 1.11.3
- Revert additional check added in 1.11.0 that broke PartModuleTypeUnlocked (thanks KnotaiG).
- Work around upgrade issue with ReachSpecificOrbit (thansk Tossy64).
Contract Configurator 1.11.2
- Recompile against KSP 1.1.2.
- Possible fix to PartModuleUnlockedRequirement (thanks AccidentalDisassembly).
- Fixed exception when generating autoAccept contracts.
Contract Configurator 1.11.1
- Update to KSP 1.1.1 (release to make CKAN happy).
- Compile to latest *dev* RemoteTech.
Contract Configurator 1.11.0
- Performance fixes and improved caching of biome data.
- Duration values can now be used in arithmetic and comparisons in expressions.
- Added Duration.ToDouble() and Duration().
- Added Vessel.MET().
- Fixed issue with vessel re-assignment on undock (thanks chrisl).
- Improved contract window text when tracking vessels in a VesselParameterGroup.
- Improved API for requirement saving/loading.
- Add proper error handling to PartModuleTypeUnlocked.
- Added ReachSpecificOrbit.displayNotes back in (thanks severedsolo).
- Fixed orbits for offered contract show up in the tracking station and NOT in flight.
- Minor bug fixes.
Contract Configurator 1.10.4
- Fixed RemoteTech exceptions (thanks HaArLiNsH, Dtgnoome and Sidelia).
Contract Configurator 1.10.3
- Fixed contract "flickering" on RemoteTech contracts (thanks Razorfang).
- Fixed problems with SCANsat contracts (thanks Torih).
- Fixed issues with child requirements not getting properly propagated to offered contracts.
- Fixed disabling of contract requirements in debug menu (the contract would appear then immediately disappear).
Contract Configurator 1.10.2
- Re-enabled RemoteTech support.
- Fixed exception on requirement load of SCANsatLocationCoverage (thanks wizisi2k).
- Properly fixed contract "flickering" in mission control.
Contract Configurator 1.10.1
- Fixed exception on requirement load of FundsRequirement (thanks EldrinFal).
Contract Configurator 1.10.0
- Support for KSP 1.1.
- Contract requirements are now saved to persistence file (fixes issues with "flickering" contracts in mission control).
- Added VesselValidRequirement to check if a vessel identifier is valid throughout the life of a contract.
- Added support for PQSCity in expressions.
- Added CelestialBody.PQSCities().
- Fixed backwards compatibility on uniqueness checks (thanks eberkain).
- Fixed edge case for VesselParameterGroup and completeInSequence (thanks NathanKell and stratochief).
- Fixed problem with loading pqsCity and targetBody out of order in WaypointGenerator (thanks severedsolo).
Contract Configurator 1.9.10
- Fixed exception on undock (thanks henrybauer).
- Fixed KerbalDeaths to be checked off (completed) by default (thanks Inigma).
Contract Configurator 1.9.9
- Fixed issue with SCANsat contract that keep recycling (thanks smjjames).
- Fixed issue with ReachState not supporting the proper defaulting for targetBody (thanks Brigadier).
- Fixed issue with ReachState loading (thanks berkekrkn).
Contract Configurator 1.9.8
- Fixed problem with using multiple targetBody values via expression in ReachState (thanks NathanKell).
- Fixed issue with KerbalDeaths not completing correctly (thanks vardicd).
Contract Configurator 1.9.7
- KerbalDeaths now supports a vessel identifier to only check for Kerbal deaths on a specific vessel.
- Added support for AlbertKermin's Surface Experiments Pack to science subsystem.
- Allow multiple targetBody values in ReachState.
- Fixed default values for RemoteTech CelestialBodyCoverage requirement (thanks severedsolo).
- Fied minor bug in Sigma Binary support.
- Fixed possible exception when saving in ContractVesselTracker (thanks apocriva).
- Minor bug fixes.
Contract Configurator 1.9.6
- Added kerbal attribute to KerbalDeaths.
- Added Vessel.Orbit() method.
- Moved Vessel.OrbitX() methods to the Orbit class, added a few new ones.
- Added ReachSpecificOrbit.displayNotes to allow disabling of orbit notes.
- Allow negative contract rewards.
- Added StartinFunds(), StartingReputation() and StartingScience().
- Changed HasCrew and HasCrewCapacity to reduce min values when it is larger than the max (thanks severedsolo).
- Fixed problem in CollectScience that affected bathymeter experiment from DMagic Orbital Science (thanks smjjames).
- Fixed warnings for newer DMagic Orbital Science experiments.
- Fixed (Optional) text being output when it shouldn't (thanks Keniamin).
- Fixed issue with passenger load dialog being shown with incorrect details (thanks smjjames).
- Fixed issue with defineList when the vessel id haapens to start with a number (thanks severedsolo).
- Fixed exception when using expressions in Rendezvous parameter (thanks severedsolo).
Contract Configurator 1.9.5
- Output additional log files when log level is debug or higher (thanks linuxgurugamer).
- VesselParameterGroup now supports a defineList attribute to add a vessel to a list on contract completion.
- PartValidation module checks now check the parent type. This allows mod-introduced PartModules that inherit from stock ones to count for PartValidation checks that look for the stock module (eg. ModuleEnginesFX = ModulesEngines).
- Added SubAssembly as a valid option for CopyCraftFile.craftType.
- Added NewKerbals() methods to generate lists of Kerbals.
- AwardExperience now supports awarding experience directly to Kerbals (instead of via a VesselParameterGroup).
- Limited the impact of a problem where the final Anomaly Surveyor contract causes revert to editor to leave a vessel on the pad (thanks lodestar).
- Fixed problem introduced in 1.9.4 where all waypoints without a name get called "site" (thanks smjjames).
- Fixed issue where Kerbal spawning behaviours didn't clean up properly when the Kerbal was in a command chair (thanks inigma & nobodyhasthis2).
- Fixed issue with Expression requirement bleeding through between different contracts (thanks Yemo, smjjames and nobodyhasthis2).
- Added logic to prevent duplicate Kerbal names from coming up in the same (or recent) contracts.
- Fixed issue with VesselParameterGroup where the vessel wasn't set correctly when loading a Kerbal into an EVA seat triggered the completion (thanks inigma).
- Minor bug fixes.
Contract Configurator 1.9.4.1
- Fixed a major issue where vessel spawning would sometimes fail to spawn vessels.
Contract Configurator 1.9.4
- Added support for lists in persistent data store values.
- Added checkType to all celestial body progress requirements to allow tracking back on manned/unmanned.
- Added support for multiple waypoint names in WaypointGenerator (when generating multiple waypoints from one node).
- Added support for waypoint chaining in WaypoingGenerator.RANDOM_WAYPOINT_NEAR.
- Duration parameter now supports a startCriteria field for more fine-grained control of starting conditions.
- Fixed defaulting of min/max count in PartValidation (thanks inigma).
- Fixed rate of climb checking to default in a way to allow checking for negative values (thanks inigma).
- Fixed issue with NONE and MODULE being combined in PartValidation (thanks inigma).
- Fixed issue with VesselDestroyed not working for splashdown or overheat (thanks DBT85).
- Fixed incorrect latitude/longitude when using PQS offset in SpawnVessel (thanks inigma).
- Fixed a bug that prevented the requiredValue DATA node check from checking for non-empty lists.
- Fixed WaypointGenerator not adding waypoints when a contract causes them to become visible (thanks smjjames).
- Fixed issue where Flats biome would count for GreatFlats in CollectScience (thanks Spheniscine).
Contract Configurator 1.9.3.1
- Fixed MAJOR issue introduced in 1.9.3 that broke Tourism Plus (thanks Ryusho).
- Fixed ReachState not working with timers (thanks SoTOP).
Contract Configurator 1.9.3
- Added VesselParameterGroup.hideVesselName.
- General improvements to behaviour of parameters with in-sequence completion (thanks inigma).
- Improved reliability of RemoteTech parameters.
- Fixed issue with some expressions being parsed twice in the Expression behaviour (thanks linuxgurugamer).
- Fixed problem with Duration timer contracts not working when used as a child parameter (thanks TrooperCooper & NathanKell).
- Fixed issue that caused disabled stock contracts to re-enable themselves on occasion (thanks Rokker).
- Fixed supposedly removed Kerbals going MIA (thanks inigma).
- Fixed major issue with RemoveKerbal (thanks inigma).
- Fixed issue with Sequence parameter not always firing (thanks Steven Mading).
- Fixed issue where CollectScience wouldn't correctly check that it needed to be completed in sequence (thanks linuxgurugamer).
- Fixed failWhenUnmet to actually fail contracts (thanks inigma).
- Fixed issue with biomes with spaces in their names in CollectScience (like "Ice Caps").
Contract Configurator 1.9.2.1
- Fixed problem with loading waypoints from older versions of Contract Configurator (thanks SpaceNomad).
Contract Configurator 1.9.2
- Added minRateOfClimb and maxRateOfClimb to ReachState.
- Support negative latitudes in ReachState.
- Fixed major contract pre-loader exception on startup (thanks smjjames).
- Fixed error handling in expression parser (thanks severedsolo).
- Fixed HasCrew incorrectly only handling kerbals of type 'Crew' (thanks bertibott).
- Fixed exception in uniqueness checks that were done at the contract group level (thanks severedsolo).
- Fixed issue with SpawnPassengers always spawning passengers instead of whatever the contract specified (thanks inigma).
- Fixed issue with Vessel values not being properly saved in the VAB/SPH for uniqueness checks (thanks severedsolo).
- Fixed issue with the GROUP_ALL and CONTRACT_ALL uniqueness checks not working as advertised (thanks severedsolo).
- Fixed FacilityRequirement breaking down in the tracking station (thanks cordilon).
- Fixed a number of WaypointGenerator issues (thanks linuxgurugamer).
Contract Configurator 1.9.1
- Draft Twitch Viewers integration - when creating new random Kerbals for contracts will get names from Draft Twitch Viewers (thanks IRNifty for assisting on this one).
- ITERATOR nodes for automatically duplicating PARAMETER nodes for every value in a list.
- AutoAccept contracts now more likely get generated immediately when available.
- Added Biome.PrimarySituation() method.
- Added CelestialBody.SCANsatCoverage() method.
- Allow multiple parameter identifiers in WaypointGenerator (for blocks with more than one waypoint).
- Support for clustered waypoints in WaypoingGenerator.
- ReachState supports multiple vessel situations.
- Fixed VisitWaypoint support for contracts with multiple WaypointGenerator behaviours (thanks linuxgurugamer).
- Fixed further issues requiring rouding when checking for a zero speed (thanks Aelfhe1m).
- Fixed issue where ContractMultiplier() wasn't calculated correctly.
- Fixed issue where failureFunds was not being set when the contract had an advance.
- Fixed issue with load passenger dialog disappearing too early (thanks inigma).
- Fixed parsing of CelestialBody in WaypointGenerator (thanks severedsolo).
- Fixed some parser issues for exceptional cases (thanks inigma).
- Fixed major issues with CopyCraftFile behaviour (thanks inigma).
- Fixed default Kerbal type back to tourist in SpawnPassengers (thanks CovertJaguar).
- Minor bug fixes.
Contract Configurator 1.9.0
- Improved display of some parameters with only one redundant child parameter in contract window.
- New functions for generating kerbals.
- HasCrew and RecoverKerbal will now automatically create kerbals in the astronaut complex when required.
- Reworked logic for specifying unique values in DATA nodes.
- SpawnVessel CREW nodes now support specifying a gender.
- SpawnVessel supports specifying a location via PQS City now (like SpawnKerbal).
- Added minAcceleration and maxAcceleration to ReachState.
- Added RemoveKerbal behaviour.
- Auto-close passenger loading dialog if vessel launches or scene changes (thanks inigma).
- Added new Funds() and Science() expression functions to get player's funds/science.
- Ignore USI Sounding Rocket experiments for science sub-system.
- Fixed bugs with using expressions in DialogBox.
- Fixed name duplication in RandomKerbalName() function (thanks inigma).
- Fixed exception using UnlockPart without part unlocking set on the current game (thanks inigma).
- Fixed issue with crew that aren't properly removed on contract completion (thanks inigma).
- Fixed issue where experimental status of parts never goes away - even when a tech is researched (thanks inigma).
- Fixed issue with VesselDestroy causing vessel markers to appear when invoked at KSC (thanks inigma).
- Fixed issue where vessel rename doesn't trigger VesselIsType (thanks CompB).
- Fixed issue where HasCrew counted tourists (thanks severedsolo).
- Fixed problems with KSCLocation() returning the wrong value (thanks Rodger).
- Fixed bug when despawning kerbals from vessels that are not currently loaded (thanks inigma).
- Fixed so Kerbals recovered via StageRecovery no longer count as killed for contracts (thanks blu3wolf).
Contract Configurator 1.8.3
- Fixed NullReferenceException in code introduced in 1.8.2 (thanks kunok).
Contract Configurator 1.8.2
- Added vessel highlighting (from contextual contracts) to TargetDestroyed, Docking, Rendezvous and VesselParameterGroup.
- Added Vessel.VesselName() method.
- Added support for title in KerbalDeaths parameter.
- Improvements to contract generation process (prevents some issues with a contract not showing up due to prestige levels).
- New orbit methods for Vessel (OrbitApoapsis(), OrbitPeriapsis(), OrbitInclination(), OrbitEccentricity()).
- Support for showMessages attribute in VisitWaypoint.
- Fixed issue with FacilityRequirement always thinking the player's facilities were maxed out.
- Fixed exception in WaypointGenerator for BaseConstruction (thanks dakakeisalie).
- Fixed issue where Duration timer would reset under some very specific scenarios (thanks severedsolo).
- Fixed some issues with facility level checks not working correctly.
Contract Configurator 1.8.1
- Added new Not parameter.
- Can now specify heading in SpawnKerbal.
- Fixed issue with index attribute not being recognized in HasPassengers (thanks inigma).
- Fixed issue with speed in KSP never being zero for ReachState (thanks inigma).
- Fixed exception in RecoverVessel when recovering via the VAB when another vessel is on the launchpad.
- Fixed issue with timers getting reset in VAB/SPH (thanks chrisl).
- Removed long-ago deprecated CC_SCANsat.dll (this does not remove SCANsat support).
Contract Configurator 1.8.0
- Support for KSP 1.0.5
Contract Configurator 1.7.8
- Fixed issue with timer parameter text not always updating (thanks mer & severedsolo).
- Fixed issue with timer parameter not always starting up (thanks mer).
- Fixed issue with contracts not being correctly disabled when requested (thanks severedsolo).
- Fixed minTerrainAltitude and maxTerrainAltitude to check terrain altitude and not ASL (thanks space-is-hard).
- Fixed issue with interaction between SpawnKerbal and RecoverKerbal causing exception that didn't clean up Kerbals (thanks arilm21).
- Minor bug fixes.
Contract Configurator 1.7.7
- Fixed issues with PartTest parameter not making the "Run Test" option show up on parts to be tested (thanks Sticky32).
- Fixed issue with double() and other cast functions not working when casting from a non-numeric type (thanks chrisl).
- Fixed issue with disabled contracts not actually staying disabled (thanks DeCi & Svm420).
- Additional fixes to Duration reset issues (thanks chrisl).
- Additional error handling in string parsing for expressions.
Contract Configurator 1.7.6
- Added Reputation() function to get the player's current reputation.
- Fixed issue with Duration parameter possibly resetting state incorrectly when switching scenes/vessels (thanks chrisl).
- Minor cleanup of science experiment definitions.
- Improved error handling for rare contract pre-loader load exceptions (thanks Laffe).
Contract Configurator 1.7.5
- Fixed further issues with FacilityRequirement checks outside of space center (thanks qm3ster).
- Fixed bug in contract text generator when the topic/subject/motivation aren't all specified (thanks Sebi99p).
Contract Configurator 1.7.5
- Added HasResourceCapacity parameter.
- Added Round function for Duration class.
- Fixed issue with hidden parameters in a sequence not unhiding in Contracts Window +.
- Fixed issue with Duration parameter when not used with VesselParameterGroup (thanks master18).
- Fixed issue with handling of $ character in strings (thanks ManuxKerb).
Contract Configurator 1.7.4
- Improved Sigma Binary support (contracts won't get offered for barycenters unless they've been specifically written with that in mind).
- Changed triggers for Message behaviour to make consistent with other similar behaviours.
- Fixed issue with loading settings when a contract pack is removed (thanks hyper1on).
- Fixed duplication issue with settings app launcher icon (thanks ObsessedWithKSP).
- Fixed issues with hidden parameters being a little to aggressive in hiding children.
- Fixed completely broken Exclude and ExcludeAll methods (whoops).
- Fixed FacilityRequirement to actually work outside the space center.
- Fixed rare contract load exception from part modules without a name field.
- Fixed issue with conversions from Vessel to VesselIdentifier (thanks severedsolo).
- Fixed errors in log from loading using legacy values on ChangeVesselOwnership and other behaviours. Now correctly outputs a warning.
Contract Configurator 1.7.3
- Added Round() function for rounding numeric values.
- Contracts will now expire out of the pre-loader after a few Kerbin days. Help prevent contracts that may no longer be valid from being generated.
- Fixed issue with hidden parameters not actually being hidden (thanks 5thHorseman).
- Fixed issue with using subject with CollectScience (thanks severedsolo).
- Fixed issue using Biome with uniqueValue in a DATA node (thanks severedsolo).
- Fixed issue where disabling a contract pack doesn't save the fact that it is disabled (thanks Poodmund).
Contract Configurator 1.7.2
- DialogBox behaviour now supports loading/unloading textures for images on the fly.
- Fixed issue with dialog boxes that weren't getting positioned correctly.
- Fixed issue with SpawnVessel when switching from editor to flight scene (introduced in 1.7.0).
- Fixed parser issue with early data type conversions (thanks DMagic).
- Fixed issue with hidden parameters in Sequence not working in Contracts Window + (thanks 5thHorseman).
- Misc bug fixes.
Contract Configurator 1.7.1
- Fixed a backwards compatibility issue introduced in 1.7.0 (thanks Ald).
- When title isn't overriden, prefix optional parameters with "(Optional)".
- Added a hidden attribute for all parameters.
- VesselParameterGroups now list out vessels that can complete the contract more clearly.
- Fixed output text when converting a duration to a string in contracts.
- Improved behaviour of Duration parameter when used under VesselParameterGroup.
Contract Configurator 1.7.0
- New DialogBox behaviour for creating rich text dialog boxes with images.
- New CopyCraftFile behaviour to reward a player with a craft file.
- New DestroyVessel behaviour to destroy a vessel.
- New RecoverVessel parameter.
- Support in WaypointGenerator for underwater waypoints.
- Duration parameter can now be used as a child of some parameters.
- Duration parameter now respects the vessel filter in VesselParameterGroup.
- Expression behaviour can now store data for types other than double.
- Data can now be retrived from the persistent data store in expressions using the $ symbol.
- Improved casting between string and VesselIdentifier (thanks Nori).
- Made ChageVesselOwnership onState values consistent with other behaviours.
- Added Crawlerway into list of KSC biomes for contracts (thanks Rokanov).
- Fixed issue with grandparent contract groups not being recognized properly for expressions (thanks Rokanov).
- Fixed issues spawning vessels with the deferredVesselCreation flag (thanks Enceos).
- Fixed exception in HasCrew when referencing a Kerbal that hasn't yet been spawned (thanks severedsolo).
Contract Configurator 1.6.6
- Fixed exception in Science sub-system (happens in latest FieldResearch release).
- Added additional check conditions for ReturnHome (thanks Lewtz and Jirnsum).
- Fixed another rare exception when removing a planet pack (thanks Hlaford).
- Fixed exception when recovering a vessel completes a contract (thanks AccidentalDisassembly).
Contract Configurator 1.6.5
- Fix some parsing issues with the Duration class (thanks Nori).
- Re-did fix to exception in ContractVesselTracker.
- Fixed rare exception when removing a planet pack (thanks AlonzoTG).
- Added support in SpawnVessel for spawning a vessel from a single part (a bit buggy, read caveats in documentation).
- Improved SpawnVessel validation (thanks 5thHorseman).
- Fixed issues with parsing identifiers with trailing spaces (thanks 5thHorseman).
- Minor bug fixes.
Contract Configurator 1.6.4
- Workaround for crash issue when parsing some ternary expressions in contracts.
- ContractPreLoader improvements, better handling of autoAccept contracts (thanks NathanKell).
- Check parameter state for some parameters on contract acceptance (fixes issues with CapCom and autoAccept contracts).
- Contract Configurator now automatically reloaded when doing a module manager reload (thanks sarbian).
- Enhancements to ExperimentalPart to allow finer control over when parts are locked/unlocked.
- Fixes to some string expression parsing issues (thanks Nori).
- Fixed exception in ContractVesselTracker (thanks glilienthal).
- Minor bug fixes.
Contract Configurator 1.6.3
- New Tech methods Parents() and IsReadyToUnlock().
Contract Configurator 1.6.2
- Fixed issue with saving contract settings (thanks rasta013).
Contract Configurator 1.6.1
- Fixed a major bug that prevented VesselParameterGroup parameters from completing in some circumstances (thanks ola).
Contract Configurator 1.6.0
- New settings window (only available in space center) that allows contract packs to be enabled/disabled per save. Also supports disabling of stock contract types.
- Support for DATA nodes within CONTRACT_GROUP (allows defining an expression once and using it in multiple contracts).
- Added displayName to CONTRACT_GROUP.
- Added new extended mode to HasResource parameter.
- New AwardExperience behaviour for giving extra experience to crew.
- FlyingAltitudeThreshold and SpaceAltitudeThreshold methods added to CelestialBody.
- Tweak weighting between stock contracts and Contract Configurator contracts towards Contract Configurator.
- Duration portion of VesselParameterGroup parameters is now displayed as a child parameter (makes it harder to miss).
- Added attributes to VesselParameterGroup to allow vessel definitions to elapse on contract completion/failure.
- New CelestialBody methods for progression attributes (whether the player has reached, orbited, landed, escaped and returned from the body).
- Added Tech class to expressions.
Contract Configurator 1.5.5
- New MissionTimer parameter for displaying a count-up timer (use it for challenges!).
- New functions/methods related to contract multipliers - ContractMultiplier(), CelestialBody.Multiplier() ContractPrestige.Multiplier().
- Made contract deadline independent of targetBody multiplier (thanks NathanKell).
- Correctly update Contracts Window Plus when contract state + titles changes at the same time.
- Improved error handling in parameter generation for unexpected scenarios - fixes New Horizons issues (thanks kp0llux & kingoftheinternet).
Contract Configurator 1.5.4
- Added new extended PartModule mode to PartValidation parameter.
- Added new methods for determining engine thurst and ISP in expressions.
- Added additional validation to WaypointGenerator.RANDOM_WAYPOINT_NEAR (thanks Xaegr).
- Minor changes to VesselSpawner.
- Fixed issue with VesselNotDestroyed firing for EVA Kerbals boarding a vessel (thanks Cooper42).
- Fixed Pow() and Log() expression functions to work correctly with types other than double (thanks NathanKell).
- Fixed major issues with CanResearchTech requirement (thanks NathanKell).
- Fixed holes where expressions could modify underlying KSP lists (thanks Whyren).
- Experiments from unsupported science mods won't show up - preventing them from showing up before the right tech has been unlocked.
- Added Asteroid Day experiment to experiment list (doesn't change behaviour, just quiets a warning).
Contract Configurator 1.5.3
- Added UnlockPart behaviour.
- Added CanResearchTech requirement.
- Added AvailablePart.IsUnlocked and AvailablePart.CrewCapacity.
- Added Log() function for expressions.
- Added new basic type-conversion functions for expressions (int(), float(), double(), etc.).
- Fixed issue with Vessel.Parts() (thanks Whyren).
- Minor bug fixes.
Contract Configurator 1.5.2
- Allow multiple parts to be specified in the PartValidation parameter.
- Added CelestialBody.RemoteTechCoverage() method for expressions.
- Added CelestialBody.Mass() and CelestialBody.RotationalPeriod() for expressions.
- Added KSCLocation() function for expressions.
- Enhancements to Timer parameter.
- Fixed issue in BiomeTracker when uninstalling a previously installed planet pack (thanks herman and xEvilReeperx).
- Fixed possible exception in VisitWaypoint (thanks AlphaAsh).
- Fixed bug in PartValidation where using FILTER would prevent the parameter from completing.
- Fixed ReachSpecificOrbit so it outputs the orbit details in a note (thanks FinnishGameBox).
- Fixed VesselNotDestroyed firing for debris.
- Minor bug fixes.
Contract Configurator 1.5.1
- Added new ChangeVesselOwnership contract behaviour.
- Added new NewVessel parameter.
- Added support for Tarsier Space Technology in science subsystem - ChemCam only (thanks GrafZahl).
- Added validation for CelestialBody name in WaypointGenerator (thanks Arctic Sesquipedalian).
- Additional performance fixes for CollectScience (Field Research).
- Fixed issue where activeUniqueValue and uniqueValue flags were not checked (thanks severedsolo).
- Fixed asteroid science subject from being offered unless asteroid tracking is unlocked.
- Fixed issue with "ghosting" vessels in SpawnVessel.
- Fixed parameters that weren't being hidden by the hideChildren attribute (thanks CosmoBro).
- Minor bug fixes.
Contract Configurator 1.5.0
- Added support for SpawnVessel in expressions.
- Added support for altitudeFactor, inclinationFactor, eccentricity and deviationWindow in OrbitGenerator.
- Change ordering of requirement check to improve contract pre-load performance.
- Improved logic so child REQUIREMENT nodes can hide PARAMETER nodes even when they fail validation (thanks CosmoBro).
- Fixed contracts that appear and disappear in mission control due to requirement issues (thanks dunadirect).
- Fixed issue with WaypointGenerator incorrectly requesting forceEquatorial attribute for RANDOM_WAYPOINT_NEAR (thanks AlphaAsh).
- Fixed an issue with stuttering in CollectScience (thanks _Zee and Yemo).
- Fixed issue with list expressions not expanding correctly on first parse (thanks CosmoBro).
Contract Configurator 1.4.2
- Fixed asteroid sample showing up in KSC contracts for Field Research (thanks maculator).
- Fixed mirrored heading/roll/pitch in SpawnVessel (thanks Xephan).
- Fixed issue with RemoteTech vessel tracking (thanks johnpmayer).
- Fixed OrbitGenerator NRE in tracking station (thanks HarlyKin).
- Fixed extra orbits in tracking station (thanks KerbMav).
Contract Configurator 1.4.1
- Add support for heading/roll/pitch in SpawnVessel.
- Fixed ghost icons in OrbitGenerator (thanks KerbMav).
- Remove warnings for Mkerb Inc. Science Instruments (worked just fine before, now is officially supported).
- Re-add limited support for Win64.
Contract Configurator 1.4.0
- Move extra science experiment definition to configuration files.
- Add support in science modules for Station Science.
- Add support in science modules for Solar Science.
- Add support in science modules for N3h3miah's science mods.
- Add additional experiment validation.
- Fix possible NRE in vessel expressions (thanks Mulbin).
- De-support buggy Win64 hacked version until Unity5.
Contract Configurator 1.3.4
- Added support in parameters for completedMessage.
- Fixed NRE in ContractVesselTracker (thanks Morashtak).
- Fixed loading of duplicate Contract Types (thanks jakkarth).
- Fixed issue where random orbits aren't so random (thanks KerbMav).
- Fixed exception loading SpawnKerbal (thanks mega_newblar).
Contract Configurator 1.3.3
- Fixed issue with some load errors getting thrown as an exception.
- Fixed exception when docking with the claw (thanks SirJodelstein).
- Fixed experiment filtering logic for Field Research (thanks Aelfhe1m and HarlyKin).
Contract Configurator 1.3.2
- Major rewrite of contract generation logic to improve performance and reduce latency on contract generation while in flight.
- Contract pre-loader now allows pausing between attributes (reduces latency during contract generation).
- Added Vessel.Location() method for expressions.
- Fixed NRE in RecoverKerbal (thanks severedsolo).
- Added AcceptContract requirement.
- Now validates for empty values when parsing contracts.
- Fixed issues with ContractVesselTracker logic for spawned vessels (thanks SirJodelstein).
- Fixed support for grappling in ContractVesselTracker (thanks SirJodelstein).
- Fixed incompatibility with KRPC (thanks OvermindDL1).
- Fixed NRE issue with RecoverKerbal (thanks severedsolo).
- Fixed exception in ReachSpecificOrbit (thanks KerbMav).
- Fixed exception when generation contracts (thanks KerbMav).
Contract Configurator 1.2.6
- Added AvailableExperiments() expression to better filter experiments.
- Added Mass, XDimension, YDimension, ZDimension, SmallestDimension and LargetDimension to Vessel expressions.
- Fixed BioDrill experiments to only be offered where there's an atmosphere.
- Fixed rare NullReferenceException in contract generation logic (thanks OakTree42).
- Remove exploit that allows RecoverKerbal to be completed early in Tourism and other contracts (thanks veryinky).
Contract Configurator 1.2.5
- Fixed NullReferenceException in CompleteContractRequirement (thanks severedsolo).
- ImpactSeismometer and ImpactSpectrometer only available for airless bodies (thanks tomf).
- Asteroid sample experiments are now classified as difficult (thanks tomf).
- Added MainKSCBiomes() function to fix Field Research KSC contract.
Contract Configurator 1.2.4
- Support for DMagic's Orbital Science and tomf's Impact! in science stuff (Field Research Contract Pack).
- Fixed exception loading ContractVesselTracker (thanks GFBones).
- Fixed exception in BiomeTracker when generating some Field Research contracts (thanks DaniDE).
- Fixed contract failure when renaming vessels in RemoteTech contracts (thanks Svannon).
Contract Configurator 1.2.3
- Added Waypoint.Location() expression method.
- Added Location.Biome() expression method.
- Added RandomKerbalName() global expression function.
- Added experienceTrait to SpawnPassenger.
- Fixed some issues with recovering from tracking station in CollectScience.
- Fixed null reference issue in dead contract types (thanks DMagic).
- Fixed issues with biome detection for KSC biomes in CollectScience.
- More fixes related to contracts failing unique check in SCANsat Lite (thanks nobodyhasthis).
- Minor bug fixes.
Contract Configurator 1.2.2
- New UnlockTech behaviour (thanks Klefenz).
- Added support for specifying science by subject in CollectScience.
- Added CelestialBody.SemiMajorAxis() expression method.
- Fixes to VesselDestroyed (thanks tito13kfm).
- Fixes to contracts failing unexpectedly (thanks Recon777). Affects RemoteTech Contract Pack.
- Fixed issues with CollectScience location (thanks severedsolo).
- Fixed issue with ContractGroup max checks not working correctly for parent contract groups.
- Fixed CollectScience to display correct experiment name.
- Minor bug fixes.
Contract Configurator 1.2.1
- CompleteContract requirement now checks on active contracts too.
- Improved transfer of parameters from Kerbal => Vessel => Vessel, such as PlantFlag in an Apollo-style mission (thanks jordanjay29).
- Fixed possible exception on contract save.
- Fixed exception with WaypointGenerator for contracts using random waypoint names (thanks Galenmacil).
- Fixed CollectScience NRE issue (thanks severedsolo).
- Fixed orientation/height of spawned kerbals (thanks AlphaAsh).
- Fixed orientation/height of vessels built in the SPH.
- Fixed issue with HasCrew not checking traits properly when translation mods installed (thanks dureiken).
Contract Configurator 1.2.0
- Reduced ratio of stock vs. contract configurator contracts further to favor non-contract configurator a little more.
- Support in CollectScience for multiple experiments.
- Added activeUniqueValue flag for DATA nodes to check unique values for active/offered contracts only.
- Misc new functions for science expressions.
- Lots of fixes to science expression internals.
- Improved error handling for contract generation failures.
- Fixed uniqueValue in DATA nodes to work with Vessels.
- Fixed issue where ContractComplete throws errors if the related contract didn't load.
- Fixed issue with defaulting of targetBody on behaviours when an expression was used for the main targetBody.
- Fixed issue with WaypointGenerator behaviour getting inititalized twice (thanks AlphaAsh).
- Fixed issue with SpawnKerbal/SpawnVessel not working at all for splashed Kerbals/vessels (thanks AlphaAsh).
- Fixed HasAstronaut to check for changes to kerbals in more scenarios (thanks Athywren).
- Fixed expression parser issue that prevented contract notes from showing up correctly in Tourism Plus investory contract (thanks khearn).
- Minor bug fixes.
Contract Configurator 1.1.3
- Fix additional case where uniqueValue can cause an exception (thanks MikeSalvatierra).
- Add RemainingScience method to Biome class.
- Various minor science changes.
- Various minor bug fixes.
Contract Configurator 1.1.2
- Fix major issue with uniqueValue in DATA nodes - again (fixes issues in ScanSat Lite).
- Minor fixes to ExpressionParser.
- Minor fixes to CollectScience.
Contract Configurator 1.1.1
- Add NoRandomContractMentality to use when creating Agents to prevent them from being assigned to random contracts (thanks amorymeltzer).
- Fix major issue with uniqueValue in DATA nodes (fixes issues in ScanSat Lite).
Contract Configurator 1.1.0
- Lots of support in expression language for science stuff (big thanks to xEvilReeperx and DMagic for support and sample code)
- Added Biome as a valid expression class.
- Added ScienceExperiment as a valid expression class.
- Added ScienceSubject as a valid expression class.
- Added new method for getting all biomes of a celestial body.
- Tracking of difficult biome/situation combinations (eg. Splashed down in the mountains).
- Reduce amount of Contract Configurator contracts offered so to not overwhelm stock contracts quite so much.
- Added HasAstronaut contract parameter.
- Renamed HasCrew requirement to HasAstronaut.
- Improvements to vessel tracking for TargetDestroyed (thanks chlue).
- Lots of fixes/improvements to CollectScience parameter.
- Orbital scanning
- Added PerformOrbitalSurvey parameter.
- Added PerformOrbitalSurvey requirement.
- Added IsOrbitalSurvey() method for CelestialBody.
- Misc expression changes
- Added Exclude method for List.
- Added Latitude and Longitude methods for Waypoint.
- Added ResourceCapacity method for Vessel.
- DATA nodes can now use the shorthand type (eg. int) instead of the full system types (eg. Int32).
- DATA nodes support the uniqueValue attribute to prevent duplicate values/contracts.
- Fixes to WaypointGenerator and SpawnKerbal to improve expression support (thanks AlphaAsh).
- Fixed a bug in the expression parser that caused issues with some ternary statements.
- Support for quoted strings in expression parser.
- Various expression parser bug fixes.
- Fixed issue with TargetDestroyed state getting reset (thanks Niarro).
- Fixed issue where dynamic parameter text in the stock window sometimes gets leftover characters from the previous value - most noticeable when using roman numerals (thanks Munitions).
- Fixed issue with vessel tracking where a tracked vessel isn't disassociated properly causing major problems in the RemoteTech contract pack (thanks TheDog, Munitions and marioluigi653).
Contract Configurator 1.0.4
- Fixed requirements that were throwing errors when expressions used in targetBody.
- Fixed up some invalid warnings about not loading child CONTRACT_GROUP nodes.
Contract Configurator 1.0.3
- Waypoints now disappear once related contract requirements are met.
- More warnings for unexpected values in configuration (helps authors catch bugs).
- Add expression functions for selecting Celestial Bodies based on player progression.
- TargetDestroyed checks for target being marked as debris (thanks chlue).
- Can now use expressions in ORBIT nodes.
- Verified and recompiled against RemoteTech 1.6.4
- Fix PartModuleUnlockedRequirement that was always returning as met (thanks severedsolo).
- Fix validation for targetBody on some behaviours (thanks rhoark).
- Fix scenario where optional parameters weren't working as expected (thanks Valiant).
- Fix for negative timer values being displayed for count-down parameters (thanks Enceos).
- Fix/workaround for "ghost" issue from exceptions when spawning some vessels (thanks odin_spain).
- Fix for reflection load issue in CompleteContractRequirement when bad assemblies present (thanks Szara).