Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing MFT causes invalid parts in existing spacecraft design #97

Open
8749236 opened this issue Apr 3, 2017 · 3 comments
Open

Removing MFT causes invalid parts in existing spacecraft design #97

8749236 opened this issue Apr 3, 2017 · 3 comments

Comments

@8749236
Copy link

8749236 commented Apr 3, 2017

What is this about
Bug. Dependency issue with MFT.

Issue description
When MFT is present, TAC LifeSupport creates 4 new part for 4 different sizes that supports MFT.
However, when MFT is removed, any spacecraft using any of those 4 tanks will become invalid.
Existing designs will become unusable and in-flight spacecraft will get removed from the game.
Effectively breaking players' save file.

Recommendation
Instead of creating 4 new parts, re-use **"TacLifeSupportContainer"**s and add supports to MFT to those 4 tanks.
Perhaps re-use those HexCans as well.
By doing so, when user deletes MFT, any existing saves will not get breaked due to absence of custom part.

Note
This issue is related to #96.

@8749236
Copy link
Author

8749236 commented Apr 3, 2017

My make-shift solution to solve this issue.
Note: this mitigates issue #96 as well.

// Hides all of the resource specific containers so that there are only three, one per size: small, medium, large

@PART[TacWaterContainerSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacWaterContainerLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacWaterContainerLarge375]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacWaterContainer]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacWasteContainerSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportWaste
		basemass = -1
		volume = 25
	}
}

@PART[TacWasteContainerLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportWaste
		basemass = -1
		volume = 2200
	}
}

@PART[TacWasteContainerLarge375]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportWaste
		basemass = -1
		volume = 3300
	}
}

@PART[TacWasteContainer]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportWaste
		basemass = -1
		volume = 240
	}
}

@PART[TacOxygenContainerSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacOxygenContainerLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacOxygenContainerLarge375]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacOxygenContainer]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacLifeSupportContainerSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportAll
		basemass = -1
		volume = 25
	}
}

@PART[TacLifeSupportContainerLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportAll
		basemass = -1
		volume = 2200
	}
}

@PART[TacLifeSupportContainerLarge375]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportAll
		basemass = -1
		volume = 3300
	}
}

@PART[TacLifeSupportContainer]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportAll
		basemass = -1
		volume = 240
	}
}

@PART[TacFoodContainerSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacFoodContainerLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacFoodContainerLarge375]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[TacFoodContainer]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanOxygenSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanOxygen]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanOxygenLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanDrinkingWaterSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanDrinkingWater]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanDrinkingWaterLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanFoodSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanFood]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanFoodLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	%category = -1
	%TechRequired = hidden
}

@PART[HexCanLifeSupportWasteSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportWaste
		basemass = -1
		volume = 16.25
	}
}

@PART[HexCanLifeSupportWaste]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportWaste
		basemass = -1
		volume = 130
	}
}

@PART[HexCanLifeSupportWasteLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportWaste
		basemass = -1
		volume = 1040
	}
}

@PART[HexCanLifeSupportSmall]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportAll
		basemass = -1
		volume = 16.25
	}
}

@PART[HexCanLifeSupport]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportAll
		basemass = -1
		volume = 130
	}
}

@PART[HexCanLifeSupportLarge]:FOR[TacLifeSupport]:NEEDS[modularFuelTanks|RealFuels]
{
	//%category = -1
	//%TechRequired = hidden
	MODULE
	{
		name = ModuleFuelTanks
		type = LifeSupportAll
		basemass = -1
		volume = 1040
	}
}

@JPLRepo
Copy link

JPLRepo commented Apr 4, 2017

You are on the wrong fork my friend.
this original fork is no longer maintained as TaranisElsu has left the scene.
The current fork is here:
https://github.com/KSP-RO/TacLifeSupport/tree/Develop
Having said that your PR does not make sense to me. If MFT is installed it is behaving as originally designed.
If you remove MFT like any mod, yes it will break your saves. But LifeSupportAll will also be invalid and the part would have no resources. or errors on load if you did the above and removed MFT anyway?

@8749236
Copy link
Author

8749236 commented Apr 20, 2017

errors on load if you did the above and removed MFT anyway?

Not any error I can see through interface.
I did not attempt to fly the vehicle nor try to suffocate/starve/dehydrate any Kerbal (which I should).
I'll try it again once tonight or tomorrow (just finished all my final exams).
And move this issue to the link you gave me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants