Oxygen Not Included

Oxygen Not Included

View Stats:
Grifta Aug 2, 2019 @ 10:20pm
Carnivore Achievement
I just got Locavore at around cycle 85, so I have no idea how to get Carnivore. I've got 5 full ranches, but I can't power my incubators enough with only manual generators.
:lunar2019piginablanket: Is it even possible to get all achievements on one map?
Last edited by Grifta; Aug 2, 2019 @ 10:20pm
< >
Showing 1-15 of 30 comments
cainboy Aug 2, 2019 @ 10:58pm 
Yes. Though Several of us consider Carnivore the hardest, mostly because of its time constraint.

Common strats suggested are:
Pick easy maps so you can focus on Carnivore,
Mass produce pacu and then free range them, *(1000kcal per fish)
-Reproduce them fast and transfer them to a 'wild' containment so they continue to reproduce before death.
Shovole Farming *(16,000kcal per shovole)
-Tame shovoles will reproduce before death of starvation
Automate Incubators
-Incubators running non stop eat up 144,000 watts of power a day. Perfect* automation consumes theoretically 3,600 watts a day. This means you can use more incubators earlier on.
Lots of dupes
- Getting Locavore around cycle 85, you must have been rolling with low numbers of dupes, ofc more dupes = more food consumed per day.

I have no confirmation of whether or not processed varieties of meat will contribute ie: barbeque, fish fillet, surf'n'turf. Another player noted they got the achieve with pacu, so I'm assuming despite meat being changed to 'pacu fillet', it still counted.

ps: 5 full ranches of hatches should theoreticalloy be able to sustain roughly 20 dupes with meat iirc.


Just a dog Aug 2, 2019 @ 11:08pm 
Carnivore sucks, wish there was at least some way to track the progress. Having to guesstimate sucks. And yeah it's possible... everything besides carnivore is a non-issue, there's not much added challenge.
Afaik there's also no reason to only use manual generators, you can use any generator and then deconstruct them when you're going for the super sustainable, but don't quote me on that - cuz like the others you have to guesstimate... HF!
Last edited by Just a dog; Aug 2, 2019 @ 11:11pm
Grifta Aug 3, 2019 @ 8:40am 
Yes, I was going for a low number of dubes because I couldn't maintain O2 or food because I didn't have enough water for mash bars. I restarted on the water level, and I think I'm positioned to get it now, tons of water and algae. And, sea areas are safe enough to explore for some free meat. *edit* Never mind, Pokeshells produce 0 meat :(

Also good call on the incubator scheduling, that's making manual generation bearable
Last edited by Grifta; Aug 3, 2019 @ 9:35am
Grifta Aug 3, 2019 @ 12:02pm 
I'm now concerned that this is raw meat only...
MrBlonde[GER] Aug 3, 2019 @ 12:45pm 
Originally posted by Grifta:
I just got Locavore at around cycle 85, so I have no idea how to get Carnivore. I've got 5 full ranches, but I can't power my incubators enough with only manual generators.
:lunar2019piginablanket: Is it even possible to get all achievements on one map?
locavore at cycle 85 seems to be way too late. try to keep in mind how many dupes/calories/cycles you need (roughly 10x1000x40=400k). if at cycle 60ish you have at least 10 dupes, you should be able to easily get it if you disallow anything but meat/fish from that point on. until then you can just focus on stabilizing everything.
i'm pretty sure that both cooked fish and barbeque count towards it, otherwise i probably would have failed.
Grifta Aug 3, 2019 @ 1:45pm 
Yea, I got it at ~50 in my second try

Is there a location in the save file that tracks this? I want to see if I'm even close. On my current run.
Just a dog Aug 3, 2019 @ 2:18pm 
If you open your save file in https://robophred.github.io/oni-duplicity
And then go to Raw Editor.
Then open -> SaveGame -> gameObjects -> SaveGame -> gameObjects -> <somenumber> -> behaviors -> RationTracker

You can see the numbers, but you'll have to open up a calculator and add the numbers of FishMeat, Meat, CookedMeat, CookedFish, surfandturf and burger.

Then divide that number by 1000.0 and note that the goal is 400000

For example this is what I see in mine:
"caloriesConsumedByFood": [
[
"FieldRation",
16000001
],
[
"BasicPlantFood",
73800000
],
[
"ForestForagePlant",
76015864
],
[
"Mushroom",
24000000
],
[
"Lettuce",
134280048
],
[
"FishMeat",
27000000
],
[
"PrickleFruit",
3247077.5
],
[
"Meat",
95437624
],
[
"CookedMeat",
199700976
],
[
"CookedFish",
12800001
]

So when I do the math I was at ~334kcal :/

Here's the decomplied code of how this achievement works atm:


(ColonyAchievementRequirement) new EatXCaloriesFromY(400000, new List<string>()
{
TUNING.FOOD.FOOD_TYPES.MEAT.Id,
TUNING.FOOD.FOOD_TYPES.FISH_MEAT.Id,
TUNING.FOOD.FOOD_TYPES.COOKED_MEAT.Id,
TUNING.FOOD.FOOD_TYPES.COOKED_FISH.Id,
TUNING.FOOD.FOOD_TYPES.SURF_AND_TURF.Id,
TUNING.FOOD.FOOD_TYPES.BURGER.Id
})


using KSerialization;
using System.Collections.Generic;
using System.IO;

namespace Database
{
public class EatXCaloriesFromY : ColonyAchievementRequirement
{
private List<string> fromFoodType = new List<string>();
private int numCalories;

public EatXCaloriesFromY(int numCalories, List<string> fromFoodType)
{
this.numCalories = numCalories;
this.fromFoodType = fromFoodType;
}

public override bool Success()
{
return (double) RationTracker.Get().GetCaloiresConsumedByFood(this.fromFoodType) / 1000.0 > (double) this.numCalories;
}

public override void Deserialize(IReader reader)
{
this.numCalories = reader.ReadInt32();
int capacity = reader.ReadInt32();
this.fromFoodType = new List<string>(capacity);
for (int index = 0; index < capacity; ++index)
this.fromFoodType.Add(reader.ReadKleiString());
}

public override void Serialize(BinaryWriter writer)
{
writer.Write(this.numCalories);
writer.Write(this.fromFoodType.Count);
for (int index = 0; index < this.fromFoodType.Count; ++index)
writer.WriteKleiString(this.fromFoodType[index]);
}
}
}
Last edited by Just a dog; Aug 3, 2019 @ 2:21pm
Just a dog Aug 3, 2019 @ 2:25pm 
Here's also Super Sustainable:
I'm still trying to figure out if we can use the disallowedbuilding and then deconstruct it afterward and still get achievement or if it permanently fails. Probably need to test in a game to see if the achievement can be achieved after deconstructing disallowed generators, but that sounds like a pain.
However it doesn't seem to record anything and it only appears to check what generators are in the world, so it would make sense that it doesn't remember. So I'm guessing the strategy of deconstructing disallowed generators when you want to go all in on it should work.


this.Generate240000kJClean = this.Add(new ColonyAchievement(nameof (Generate240000kJClean), "CLEAN_ENERGY", (string) COLONY_ACHIEVEMENTS.MISC_REQUIREMENTS.CLEAN_ENERGY, (string) COLONY_ACHIEVEMENTS.MISC_REQUIREMENTS.CLEAN_ENERGY_DESCRIPTION, false, new List<ColonyAchievementRequirement>()
{
(ColonyAchievementRequirement) new ProduceXEngeryWithoutUsingYList(240000f, new List<Tag>()
{
(Tag) "MethaneGenerator",
(Tag) "PetroleumGenerator",
(Tag) "WoodGasGenerator",
(Tag) "Generator"
})
}, string.Empty, string.Empty, string.Empty, string.Empty, (System.Action<KMonoBehaviour>) null, string.Empty, "sustainably_sustaining"));




using KSerialization;
using System.Collections.Generic;
using System.IO;
using UnityEngine;

namespace Database
{
public class ProduceXEngeryWithoutUsingYList : ColonyAchievementRequirement
{
private List<Tag> disallowedBuildings = new List<Tag>();
private float amountToProduce;
private float amountProduced;
private bool usedDisallowedBuilding;

public ProduceXEngeryWithoutUsingYList(float amountToProduce, List<Tag> disallowedBuildings)
{
this.disallowedBuildings = disallowedBuildings;
this.amountToProduce = amountToProduce;
this.usedDisallowedBuilding = false;
}

public override bool Success()
{
if (!this.usedDisallowedBuilding)
return (double) this.amountProduced / 1000.0 > (double) this.amountToProduce;
return false;
}

public override bool Fail()
{
return this.usedDisallowedBuilding;
}

public override void Serialize(BinaryWriter writer)
{
writer.Write(this.disallowedBuildings.Count);
foreach (Tag disallowedBuilding in this.disallowedBuildings)
writer.WriteKleiString(disallowedBuilding.ToString());
writer.Write((double) this.amountProduced);
writer.Write((double) this.amountToProduce);
writer.Write(!this.usedDisallowedBuilding ? (byte) 0 : (byte) 1);
}

public override void Deserialize(IReader reader)
{
int capacity = reader.ReadInt32();
this.disallowedBuildings = new List<Tag>(capacity);
for (int index = 0; index < capacity; ++index)
this.disallowedBuildings.Add(new Tag(reader.ReadKleiString()));
this.amountProduced = (float) reader.ReadDouble();
this.amountToProduce = (float) reader.ReadDouble();
this.usedDisallowedBuilding = reader.ReadByte() != (byte) 0;
}

public override void Update()
{
foreach (Generator generator in Game.Instance.energySim.Generators)
{
if ((double) generator.JoulesAvailable > 0.0)
{
if (generator.GetComponent<KPrefabID>().HasAnyTags(this.disallowedBuildings))
this.usedDisallowedBuilding = true;
this.amountProduced = Mathf.Max(generator.JoulesAvailable, generator.JoulesAvailable + this.amountProduced);
}
}
}
}
}
Last edited by Just a dog; Aug 3, 2019 @ 2:41pm
Grifta Aug 3, 2019 @ 4:19pm 
Awesome, I'm 95 cycles in and I want to know if I have a chance or just wasting my time. Can anyone confirm that cooked meat and pacu meat counts?

I'm planning on just sticking with the manual generator for that achievement.
cainboy Aug 3, 2019 @ 5:54pm 
Originally posted by Grifta:
Awesome, I'm 95 cycles in and I want to know if I have a chance or just wasting my time. Can anyone confirm that cooked meat and pacu meat counts?

I'm planning on just sticking with the manual generator for that achievement.

During the beta, I generated roughly 500,000 with solar/steam/hamster, but got no achievement, which sucked.

This time I'm making use of hydrogen, and its going very well. Like, a spom, but with the sole purpose of generating electricity.
gl on those achieves.
Vasco Da Llama Aug 3, 2019 @ 8:29pm 
@KucheKlizma
Nice info on tracking for Carnivore.

Do you happen to know where in the save file you can view/edit if debug has been activated for that savegame? Sandbox is disabled and I'm pretty sure that I didn't use debug at all in my new save, but I just got an in-game achievement but not the steam one.
Last edited by Vasco Da Llama; Aug 3, 2019 @ 8:31pm
Just a dog Aug 3, 2019 @ 9:39pm 
Originally posted by Vasco Da Llama:
@KucheKlizma
Nice info on tracking for Carnivore.

Do you happen to know where in the save file you can view/edit if debug has been activated for that savegame? Sandbox is disabled and I'm pretty sure that I didn't use debug at all in my new save, but I just got an in-game achievement but not the steam one.

Thanks!
I have no idea, maybe it's not parsed at all by this save game editor. You can find the string with a HexEditor it's "debugWasUsed" but I have no idea where it's value is stored... xD
Check if you have SteamOverlay off and turn it on and try to reload, that might be it if you haven't used debug.
Grifta Aug 4, 2019 @ 12:55am 
Ugh, 350,826‬KCal at Cycle 95. If I kill absolutely everything, I might actually make this, but then I'll have to immediately start farming like crazy :D
Grifta Aug 4, 2019 @ 1:04am 
Yus, got it... now I just need to figure out how to feed everyone in Cycle 101 :lunar2019piginablanket:

So I can definitively confirm that it does count BBQ and cooked pacu meat.

Thank you for the tips.
Last edited by Grifta; Aug 4, 2019 @ 1:05am
MrBlonde[GER] Aug 4, 2019 @ 1:14am 
Originally posted by Grifta:
Yus, got it... now I just need to figure out how to feed everyone in Cycle 101 :lunar2019piginablanket:

So I can definitively confirm that it does count BBQ and cooked pacu meat.

Thank you for the tips.
\o/ gz! :lunar2019piginablanket:
< >
Showing 1-15 of 30 comments
Per page: 1530 50

Date Posted: Aug 2, 2019 @ 10:20pm
Posts: 30