Initial Commit

This commit is contained in:
Lachlan Leone
2026-04-05 18:57:16 +10:00
commit c3a5153a56
691 changed files with 85219 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Dishes
{
public class DishCremeEgg : CustomDish
{
public override string UniqueNameID => "DishCremeEgg";
public override UnlockGroup UnlockGroup => UnlockGroup.Dish;
public override CardType CardType => CardType.Default;
public override DishCustomerChange CustomerMultiplier => DishCustomerChange.SmallDecrease;
public override DishType Type => DishType.Dessert;
public override int Difficulty => 3;
public override List<string> StartingNameSet => new()
{
"Gooey Goodness",
"Egg-streme Indulgence",
"Cracked and Packed",
"The Yolk of Luxury",
"What the Fudge?!",
};
public override HashSet<Item> MinimumIngredients => new()
{
GDOReferences.Sugar,
GDOReferences.Milk,
GDOReferences.Chocolate,
GDOReferences.Butter,
GDOReferences.EggMould,
GDOReferences.Pot,
GDOReferences.WrapperRoll,
};
public override HashSet<Process> RequiredProcesses => new()
{
GDOReferences.SteepTea,
GDOReferences.Chop,
GDOReferences.Knead,
};
public override List<Dish> AlsoAddRecipes => new List<Dish>
{
GDOReferences.RecipeCremeFilling
};
public override GameObject IconPrefab => Mod.Bundle.LoadAsset<GameObject>("CremeEggIcon").AssignMaterialsByNames();
public override bool IsMainThatDoesNotNeedPlates => true;
public override List<Dish.MenuItem> ResultingMenuItems => new()
{
new Dish.MenuItem
{
Item = GDOReferences.WrappedCremeEgg,
Phase = MenuPhase.Dessert,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
}
};
public override List<Unlock> HardcodedRequirements => new List<Unlock>
{
GDOReferences.DishDyedEggs
};
public override bool IsAvailableAsLobbyOption => Mod.ENABLE_ADDITIONAL_LOBBY_DISHES;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.CremeEgg;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.CremeEgg;
}
}
+71
View File
@@ -0,0 +1,71 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Dishes
{
public class DishDevilledEggs : CustomDish
{
public override string UniqueNameID => "DishDevilledEggs";
public override UnlockGroup UnlockGroup => UnlockGroup.Dish;
public override CardType CardType => CardType.Default;
public override DishCustomerChange CustomerMultiplier => DishCustomerChange.SmallDecrease;
public override DishType Type => DishType.Side;
public override int Difficulty => 2;
public override List<string> StartingNameSet => new()
{
"Eggsorcist Kitchen",
"Hells Yolks",
"Crack Me If You Can",
"Boil and Trouble",
"Wickedly Whisked",
};
public override HashSet<Item> MinimumIngredients => new()
{
GDOReferences.Pot,
GDOReferences.Water,
GDOReferences.Egg,
GDOReferences.Oil,
};
public override HashSet<Process> RequiredProcesses => new()
{
GDOReferences.Cook,
GDOReferences.Chop,
};
public override List<Dish> AlsoAddRecipes => new List<Dish>
{
GDOReferences.RecipeMayonnaise
};
public override GameObject IconPrefab => Mod.Bundle.LoadAsset<GameObject>("DevilledEggsIcon").AssignMaterialsByNames();
public override List<Dish.MenuItem> ResultingMenuItems => new()
{
new Dish.MenuItem
{
Item = GDOReferences.DevilledEgg,
Phase = MenuPhase.Side,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
}
};
public override List<Unlock> HardcodedRequirements => new List<Unlock>
{
GDOReferences.DishDyedEggs
};
public override bool IsAvailableAsLobbyOption => Mod.ENABLE_ADDITIONAL_LOBBY_DISHES;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.DevilledEggs;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.DevilledEggs;
}
}
+80
View File
@@ -0,0 +1,80 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Dishes
{
public class DishDyedEggs : CustomDish
{
public override string UniqueNameID => "DishDyedEggs";
public override UnlockGroup UnlockGroup => UnlockGroup.Dish;
public override CardType CardType => CardType.Default;
public override DishCustomerChange CustomerMultiplier => DishCustomerChange.SmallDecrease;
public override DishType Type => DishType.Base;
public override int Difficulty => 2;
public override List<string> StartingNameSet => new()
{
"Cracked & Colored",
"Egg-streme Makeover",
"Pastel & Protein",
"Yolk and Dye",
"Hue's Hungry?",
};
public override HashSet<Item> MinimumIngredients => new()
{
GDOReferences.Pot,
GDOReferences.Water,
GDOReferences.Egg,
GDOReferences.RedDye,
GDOReferences.GreenDye,
GDOReferences.BlueDye,
};
public override HashSet<Process> RequiredProcesses => new()
{
GDOReferences.Cook,
};
public override GameObject IconPrefab => Mod.Bundle.LoadAsset<GameObject>("DyedEggsIcon").AssignMaterialsByNames();
public override bool IsMainThatDoesNotNeedPlates => true;
public override List<Dish.MenuItem> ResultingMenuItems => new()
{
new Dish.MenuItem
{
Item = GDOReferences.RedEgg,
Phase = MenuPhase.Main,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
},
new Dish.MenuItem
{
Item = GDOReferences.GreenEgg,
Phase = MenuPhase.Main,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
},
new Dish.MenuItem
{
Item = GDOReferences.BlueEgg,
Phase = MenuPhase.Main,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
}
};
public override bool IsAvailableAsLobbyOption => true;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.DyedEggs;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.DyedEggs;
}
}
+65
View File
@@ -0,0 +1,65 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Dishes
{
public class DishEasterBread : CustomDish
{
public override string UniqueNameID => "DishEasterBread";
public override UnlockGroup UnlockGroup => UnlockGroup.Dish;
public override CardType CardType => CardType.Default;
public override DishCustomerChange CustomerMultiplier => DishCustomerChange.SmallDecrease;
public override DishType Type => DishType.Dessert;
public override int Difficulty => 1;
public override List<string> StartingNameSet => new()
{
"",
"",
"",
"",
"",
};
public override HashSet<Item> MinimumIngredients => new()
{
GDOReferences.Pot,
GDOReferences.Water,
GDOReferences.Egg,
GDOReferences.Flour,
};
public override HashSet<Process> RequiredProcesses => new()
{
GDOReferences.Cook
};
public override GameObject IconPrefab => Mod.Bundle.LoadAsset<GameObject>("EasterBreadIcon").AssignMaterialsByNames();
public override List<Dish.MenuItem> ResultingMenuItems => new()
{
new Dish.MenuItem
{
Item = GDOReferences.EasterBread,
Phase = MenuPhase.Dessert,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
}
};
public override List<Unlock> HardcodedRequirements => new List<Unlock>
{
GDOReferences.DishDyedEggs
};
public override bool IsAvailableAsLobbyOption => Mod.ENABLE_ADDITIONAL_LOBBY_DISHES;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.EasterBread;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.EasterBread;
}
}
+64
View File
@@ -0,0 +1,64 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Dishes
{
public class DishHotCrossBun : CustomDish
{
public override string UniqueNameID => "DishHotCrossBun";
public override UnlockGroup UnlockGroup => UnlockGroup.Dish;
public override CardType CardType => CardType.Default;
public override DishCustomerChange CustomerMultiplier => DishCustomerChange.SmallDecrease;
public override DishType Type => DishType.Starter;
public override int Difficulty => 1;
public override List<string> StartingNameSet => new()
{
"Bun Intended",
"Too Hot to Cross",
"Criss Cross Delish",
"Bun Appétit",
"Rise and Cross",
};
public override HashSet<Item> MinimumIngredients => new()
{
GDOReferences.RawHotCrossBun,
GDOReferences.Butter,
};
public override HashSet<Process> RequiredProcesses => new()
{
GDOReferences.Cook,
GDOReferences.Chop,
};
public override GameObject IconPrefab => Mod.Bundle.LoadAsset<GameObject>("HotCrossBunIcon").AssignMaterialsByNames();
public override List<Dish.MenuItem> ResultingMenuItems => new()
{
new Dish.MenuItem
{
Item = GDOReferences.HotCrossBun,
Phase = MenuPhase.Starter,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
}
};
public override List<Unlock> HardcodedRequirements => new List<Unlock>
{
GDOReferences.DishDyedEggs
};
public override bool IsAvailableAsLobbyOption => Mod.ENABLE_ADDITIONAL_LOBBY_DISHES;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.HotCrossBuns;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.HotCrossBuns;
}
}
+53
View File
@@ -0,0 +1,53 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
namespace Easter2025.Customs.Dishes
{
public class DishPlasticEggs : CustomDish
{
public override string UniqueNameID => "DishPlasticEggs";
public override UnlockGroup UnlockGroup => UnlockGroup.Dish;
public override CardType CardType => CardType.Default;
public override DishCustomerChange CustomerMultiplier => DishCustomerChange.SmallDecrease;
public override DishType Type => DishType.Starter;
public override int Difficulty => 1;
public override List<Dish.MenuItem> ResultingMenuItems => new()
{
new Dish.MenuItem
{
Item = GDOReferences.PinkPlasticEgg,
Phase = MenuPhase.Starter,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
},
new Dish.MenuItem
{
Item = GDOReferences.OrangePlasticEgg,
Phase = MenuPhase.Starter,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
},
new Dish.MenuItem
{
Item = GDOReferences.YellowPlasticEgg,
Phase = MenuPhase.Starter,
Weight = 1,
DynamicMenuType = DynamicMenuType.Static,
DynamicMenuIngredient = null
}
};
public override bool IsUnlockable => false;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.PlasticEggs;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.PlasticEggs;
}
}
+19
View File
@@ -0,0 +1,19 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
namespace Easter2025.Customs.Dishes
{
public class RecipeCremeFilling : CustomDish
{
public override string UniqueNameID => "RecipeCremeFilling";
public override DishType Type => DishType.Base;
public override int Difficulty => 1;
public override bool IsUnlockable => false;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.RecipeCremeFilling;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.RecipeCremeFilling;
}
}
+19
View File
@@ -0,0 +1,19 @@
using System.Collections.Generic;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
namespace Easter2025.Customs.Dishes
{
public class RecipeMayonnaise : CustomDish
{
public override string UniqueNameID => "RecipeMayonnaise";
public override DishType Type => DishType.Base;
public override int Difficulty => 1;
public override bool IsUnlockable => false;
public override List<(Locale, UnlockInfo)> InfoList => CenteralLang.Unlocks.RecipeMayonnaise;
public override Dictionary<Locale, string> Recipe => CenteralLang.Recipes.RecipeMayonnaise;
}
}