Skip to content

Commit 9f9c74d

Browse files
committed
Allow beacon customization for buildings that have no module slots
1 parent 47c286f commit 9f9c74d

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

YAFC/Widgets/ObjectTooltip.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ private void BuildEntity(Entity entity, ImGui gui)
189189
gui.BuildText(DataUtils.FormatAmount(entity.craftingSpeed, UnitOfMeasure.Percent, "Crafting speed: "));
190190
if (entity.productivity != 0f)
191191
gui.BuildText(DataUtils.FormatAmount(entity.productivity, UnitOfMeasure.Percent, "Crafting productivity: "));
192-
if (entity.moduleSlots > 0)
192+
if (entity.allowedEffects != AllowedEffects.None)
193193
{
194194
gui.BuildText("Module slots: " + entity.moduleSlots);
195195
if (entity.allowedEffects != AllowedEffects.All)

YAFC/Workspace/ProductionTable/ModuleCustomisationScreen.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,16 @@ public override void Build(ImGui gui)
3131
else
3232
{
3333
var effects = new ModuleEffects();
34-
gui.BuildText("Internal modules:", Font.subheader);
35-
gui.BuildText("Leave zero amount to fill the remainings slots");
36-
DrawRecipeModules(gui, null, ref effects);
34+
if (recipe.entity?.moduleSlots > 0)
35+
{
36+
gui.BuildText("Internal modules:", Font.subheader);
37+
gui.BuildText("Leave zero amount to fill the remainings slots");
38+
DrawRecipeModules(gui, null, ref effects);
39+
}
40+
else
41+
{
42+
gui.BuildText("This building doesn't have module slots, but can be affected by beacons");
43+
}
3744
gui.BuildText("Beacon modules:", Font.subheader);
3845
if (recipe.modules.beacon == null)
3946
{

YAFC/Workspace/ProductionTable/ProductionTableView.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ private void ShowModuleDropDown(ImGui gui, RecipeRow recipe)
499499
recipe.RecordUndo().modules = JsonUtils.LoadFromJson(ModuleCustomisationScreen.copiedModuleSettings, recipe, recipe.modules);
500500
}
501501
}
502-
else if (recipe.modules != null && (recipe.modules.list.Count > 1 || recipe.modules.beacon != null))
502+
else if (recipe.entity?.moduleSlots == 0 || recipe.modules != null && (recipe.modules.list.Count > 1 || recipe.modules.beacon != null))
503503
{
504504
ModuleCustomisationScreen.Show(recipe);
505505
}
@@ -572,7 +572,7 @@ private void BuildRecipeModules(ImGui gui, RecipeRow recipe)
572572
return;
573573
using (var grid = gui.EnterInlineGrid(3f))
574574
{
575-
if (recipe.entity != null && recipe.entity.moduleSlots > 0)
575+
if (recipe.entity != null && recipe.entity.allowedEffects != AllowedEffects.None)
576576
{
577577
if (recipe.parameters.modules.modules == null || recipe.parameters.modules.modules.Length == 0)
578578
{

YAFCmodel/Model/RecipeParameters.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public void CalculateParameters(Recipe recipe, Entity entity, Goods fuel, IModul
151151
warningFlags |= WarningFlags.AssumesNauvisSolarRatio;
152152

153153
modules = default;
154-
if (moduleFiller != null && recipe.modules.Length > 0 && entity.moduleSlots > 0 && recipe.IsAutomatable())
154+
if (moduleFiller != null && recipe.modules.Length > 0 && entity.allowedEffects != AllowedEffects.None && recipe.IsAutomatable())
155155
{
156156
moduleFiller.GetModulesInfo(this, recipe, entity, fuel, ref activeEffects, ref modules);
157157
productivity += activeEffects.productivity;

0 commit comments

Comments
 (0)