Jump to content

[1.2.2] Contract Pack: Clever Sats 1.4 (13/12/2016)


severedsolo

Recommended Posts

Cross posted to all of my mods, so apologies if you see this more than once.


You've probably noticed that I've not been very active on the forums lately, and there are issues outstanding that I haven't looked into.


I haven't actually played KSP in months, my PC is rapidly reaching the end of it's life (which means I'm moving towards playing games more on consoles) and nightingale has not been active. All of which means I haven't bothered reporting some of the issues upstream in Contract Configurator (mainly involving Kerbal Academy it has to be said), because I don't think they are going to be looked at.
At this point, I'm considering Contract Configurator to be unsupported, which means I've not had much incentive to bother fixing stuff, because I'm not even sure that from 1.3 onwards, there is going to be any support.


Just to be clear, I am not ragging on nightingale - you've offered me so much support over this journey, and if you've decided to move on, I am eternally in your debt.


However, even if I'm wrong, and nightingale is just waiting for 1.3 to come out, something has to give.


For those of you who don't know, my daughter is non-verbal autistic, and was diagnosed in November last year. I also have a full time job. Between supporting her, and my job, I just don't get much time for gaming, and even less for modding.


With all of that in mind, I have made the decision to move on from Contract Pack modding. I will be spending the next week or so resolving the outstanding issues that I can, and make one final release for each of my contract packs. At this point the license will be changed to MIT and I will be offering them up for adoption. Kessler Syndrome and Monthly Budgets will continue to be supported, for bug fixes and recompiles, but they should be considered to be "feature complete" until such time as things even out and I get more time. It may be at some point I drop those too, but for now I'll keep them on.


If you do have any outstanding issues (and I am aware there are many posts on this thread that have been ignored, for which I apologise) - I urge you to raise them on Github as soon as possible, as I will be clearing the Github issues out, and then releasing.


I'd like to thank you all for your help, encouragement and general niceness on this journey. I have learnt alot, and you are all amazing people.


Lastly, I want to tag the usual suspects, so they see this post if they want to adopt anything - namely: @nightingale, @pap1723, @inigma and @linuxgurugamer (sorry if I've forgotten anyone).

Edited by severedsolo
Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

realizing if this is a bug it will probably not be fixed...  but anybody have any ideas?

 

I assume this contract came form this mod so ill post it here.  you can see that the craft has the 2 required parts and has indeed performed the science and sent it home.  however the contract does not think they are on the satellite.  and also you can see the orbit information shows I have the eccentricity and inclination set as well.  but again the contract does not think so and thus my timer will not start ticking.  any ideas?

Screenshot%202017-07-01%2018.32.30.png

Link to comment
Share on other sites

10 minutes ago, Bit Fiddler said:

realizing if this is a bug it will probably not be fixed...  but anybody have any ideas?

 

I assume this contract came form this mod so ill post it here.  you can see that the craft has the 2 required parts and has indeed performed the science and sent it home.  however the contract does not think they are on the satellite.  and also you can see the orbit information shows I have the eccentricity and inclination set as well.  but again the contract does not think so and thus my timer will not start ticking.  any ideas?

Screenshot%202017-07-01%2018.32.30.png

Thats a DMAGIC Orbital science contract I believe.

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...
  • 4 weeks later...
On ‎06‎.‎08‎.‎2017 at 6:46 AM, Zaccy200 said:

Hi. I was just wondering if there is a way to turn off the requirement to unlock solar panels for satellite contracts because even after unlocking them it the mod thinks I haven't got them? 

I ran into the same problem yesterday. I have lots of mods installed, but I ran through the relevant ones, and they schould not Change anything concerning this problem.

With one small change in the mod this is fixed:

In CleverSatCore.cfg (located in \GameData\ContractPacks\CleverSat): lines 81-83 read:

    name = PartModuleUnlocked
    type = PartModuleUnlocked
    partModule = ModuleDeployableSolarPanel

 

Change them to:

  name = PartUnlocked
  type = PartUnlocked
  part = solarPanels5

 

In theory the mod shoult check if you have any solar panel unlocked (ModuleDeployableSolarPanel includes all solar panels). However this does not seem to work. With this new Code, the mod now checks if you have the OX-STAT Photovoltaic Panel (the small, radially attached, Basic one) unlocked, which is usually the first one you get anyway.

I'm not sure why the mod does not work properly, but this way it does.

Link to comment
Share on other sites

4 hours ago, Bauboo said:

I ran into the same problem yesterday. I have lots of mods installed, but I ran through the relevant ones, and they schould not Change anything concerning this problem.

With one small change in the mod this is fixed:

In CleverSatCore.cfg (located in \GameData\ContractPacks\CleverSat): lines 81-83 read:

    name = PartModuleUnlocked
    type = PartModuleUnlocked
    partModule = ModuleDeployableSolarPanel

 

Change them to:

  name = PartUnlocked
  type = PartUnlocked
  part = solarPanels5

 

In theory the mod shoult check if you have any solar panel unlocked (ModuleDeployableSolarPanel includes all solar panels). However this does not seem to work. With this new Code, the mod now checks if you have the OX-STAT Photovoltaic Panel (the small, radially attached, Basic one) unlocked, which is usually the first one you get anyway.

I'm not sure why the mod does not work properly, but this way it does.

If you have Kopernicus installed, it replaces the stock solar panel module with a new one for multiple stars. 

Link to comment
Share on other sites

You're totally right! Thank you! I did not expect that one to cause troubles.

Anyway, turns out you can just add in Support for Kopernicus. That will work as well (or even better).

Just add this in after line 90:

REQUIREMENT:NEEDS[Kopernicus]
    {
        name = PartModuleUnlocked
        type = PartModuleUnlocked
        partModule = KopernicusSolarPanel
    }

 

This could actually be part of this mod by default. It is such a small fix.

Edited by Bauboo
Further explanation
Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...

@severedsolo I started a new career in 1.6.1 with this contract pack for the first time. Installed from CKAN. The CleverSatCore.cfg needs to be updated to check against probeCoreSphere_v2 in addition to the original Stayputnik that was deprecated and hidden in KSP 1.5. As it is the conditions to unlock this contract cannot be met in 1.5+

Edited by Tonka Crash
Link to comment
Share on other sites

1 hour ago, Tonka Crash said:

@severedsolo I started a new career in 1.6.1 with this contract pack for the first time. Installed from CKAN. The CleverSatCore.cfg needs to be updated to check against probeCoreSphere_v2 in addition to the original Stayputnik that was deprecated and hidden in KSP 1.5. As it is the conditions to unlock this contract cannot be met in 1.5+

Mod developer's left.

Link to comment
Share on other sites

2 hours ago, Tonka Crash said:

@severedsolo I started a new career in 1.6.1 with this contract pack for the first time. Installed from CKAN. The CleverSatCore.cfg needs to be updated to check against probeCoreSphere_v2 in addition to the original Stayputnik that was deprecated and hidden in KSP 1.5. As it is the conditions to unlock this contract cannot be met in 1.5+

Good catch :)

I'm going to add it via MM in my install until the mod got updated.

Here's the patch if anyone want to add it as well:

@CONTRACT_TYPE[CleverSatCore]:FINAL
{
	REQUIREMENT
	{
		name = Probe_v2
		type = PartUnlocked
		part =  probeCoreSphere_v2
	}
}

 

Edited by 4x4cheesecake
Link to comment
Share on other sites

On 1/23/2019 at 4:02 PM, 4x4cheesecake said:

Good catch :)

I'm going to add it via MM in my install until the mod got updated.

Here's the patch if anyone want to add it as well:

 

I don't think your patch will work as is. It adds a new requirement for the new probeCoreSphere_v2 but I think this is becomes an in addition to requirement not instead of or an either/or case.

This is how I changed the contract. I couldn't figure out a way to address the patch and since the odds of an update appear slim, I just modified the CleverSatCore.cfg file directly.

Spoiler

    REQUIREMENT
    {
        name = Any
        type = Any
        REQUIREMENT
        {
            name = PartUnlocked
            type = PartUnlocked
            part = probeCoreSphere
        }
        REQUIREMENT
        {
            name = PartUnlocked
            type = PartUnlocked
            part = probeCoreSphere_v2
        }
    }

 

I'm also running Snarkiverse planet pack and found Kopernicus changes solar panels, so the solar panel check in CleverSatCore.cfg needs a patch to add KopernicusSolarPanel to valid partModuleUnlocks.

Spoiler

 REQUIREMENT
    {
        name = Any
        type = Any

        REQUIREMENT
        {
            name = PartModuleUnlocked
            type = PartModuleUnlocked
            partModule = ModuleDeployableSolarPanel
        }

        REQUIREMENT:NEEDS[Kopernicus]
        {
            name = PartModuleUnlocked
            type = PartModuleUnlocked
            partModule = KopernicusSolarPanel
        }

        REQUIREMENT:NEEDS[NearFutureSolar]
        {
            name = PartModuleUnlocked
            type = PartModuleUnlocked
            partModule = ModuleCurvedSolarPanel
        }
    }

 

 

Link to comment
Share on other sites

44 minutes ago, Tonka Crash said:

I don't think your patch will work as is. It adds a new requirement for the new probeCoreSphere_v2 but I think this is becomes an in addition to requirement not instead of or an either/or case.

Ok, this took me a few minutes to actually see the difference and I guess you are right there (honestly, I'm not very familiar with the CC syntax/node structure).

I adjusted the patch and added the kopernicus solarpanels:

This should work properly :)

edit: removed the patch, doesn't work....I'm working on it :) 

Edited by 4x4cheesecake
Link to comment
Share on other sites

On 1/26/2019 at 7:43 PM, Tonka Crash said:

@4x4cheesecake I think the names for the different requirements need to be unique. The CC syntax is new to me, too, but maybe try name = SolarPanel and name = ProbeCore for the different requirements but the rest of your patch looked like it should be pretty close.

There is a way around non-uniquie names using the HAS directive and looking for unique keys instead and that's what I'm doing here.

It was just a minor issue, because I wrote 'any' in lower cases which is easy to fix but there is one more thing I want to add which is a bit more complicated: Kopernicus got a config to disable the kopernicus solar panels, so :NEED[Kopernicus] can be satisfied but this does not mean that the kopernicus solar panels are also enabled. It is a bit more tricky, but I've done something similar before, I just need a few more minutes ;)

edit: @Tonka Crash Well, I just realized that I try to find a solution for a problem, which actually is no problem at all :confused::confused:
So, here is the new patch:

//Add revamped probe core to the cleversat contract pack
//Add Kopernicus solarpanel if available
@CONTRACT_TYPE[CleverSatCore]:FINAL
{
	!REQUIREMENT[Probe] {}
	
	REQUIREMENT
	{
		name = Any
		type = Any
		
		REQUIREMENT
		{
			name = Probe
			type = PartUnlocked
			part = probeCoreSphere
		}
		
		REQUIREMENT
		{
			name = Probe_v2
			type = PartUnlocked
			part = probeCoreSphere_v2
		}
	}
	
	@REQUIREMENT[Any]:HAS[@REQUIREMENT[PartModuleUnlocked]]:NEEDS[Kopernicus]
	{
		REQUIREMENT
		{
			name = PartModuleUnlocked
			type = PartModuleUnlocked
			partModule = KopernicusSolarPanel
            //for KSP 1.8+, use the following line instead: 
            //partModule = KopernicusSolarPanels
		}
	}
}

EDIT: As discussed later in this thread, for KSP 1.8+ and therefore kopernicus for 1.8+, the part module for the kopernicus solar panel needs to be changed to:

partModule = KopernicusSolarPanels

 

Edited by 4x4cheesecake
Removed second HAS from patch
Link to comment
Share on other sites

  • 2 months later...
On 1/26/2019 at 6:54 PM, 4x4cheesecake said:

There is a way around non-uniquie names using the HAS directive and looking for unique keys instead and that's what I'm doing here.

It was just a minor issue, because I wrote 'any' in lower cases which is easy to fix but there is one more thing I want to add which is a bit more complicated: Kopernicus got a config to disable the kopernicus solar panels, so :NEED[Kopernicus] can be satisfied but this does not mean that the kopernicus solar panels are also enabled. It is a bit more tricky, but I've done something similar before, I just need a few more minutes ;)

edit: @Tonka Crash Well, I just realized that I try to find a solution for a problem, which actually is no problem at all :confused::confused:
So, here is the new patch:


//Add revamped probe core to the cleversat contract pack
//Add Kopernicus solarpanel if available
@CONTRACT_TYPE[CleverSatCore]:FINAL
{
	!REQUIREMENT[Probe] {}
	
	REQUIREMENT
	{
		name = Any
		type = Any
		
		REQUIREMENT
		{
			name = Probe
			type = PartUnlocked
			part = probeCoreSphere
		}
		
		REQUIREMENT
		{
			name = Probe_v2
			type = PartUnlocked
			part = probeCoreSphere_v2
		}
	}
	
	@REQUIREMENT[Any]:HAS[@REQUIREMENT[PartModuleUnlocked]]:HAS[#partModule[ModuleDeployableSolarPanel]]:NEEDS[Kopernicus]
	{
		REQUIREMENT
		{
			name = PartModuleUnlocked
			type = PartModuleUnlocked
			partModule = KopernicusSolarPanel
		}
	}
}

 

Is the patch a generic MM .cfg which can go anywhere in GameData? Or is it a more specific edit of a particular file?

TIA o7

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...