Added settings for romance patches

Added in-game explanation for DefExtension_ModifyMtb effect
This commit is contained in:
amevarashi 2023-06-25 18:54:32 +05:00
parent 77dd1a23d6
commit e622b7a391
12 changed files with 189 additions and 35 deletions

View file

@ -2,5 +2,6 @@
{
public class DefExtension_ModifyBestialityMtb : DefExtension_ModifyMtb
{
protected override string TipTemplateKey => "RSI_PreceptTipModifyBestialityMtb";
}
}

View file

@ -2,5 +2,6 @@
{
public class DefExtension_ModifyFappinMtb : DefExtension_ModifyMtb
{
protected override string TipTemplateKey => "RSI_PreceptTipModifyFappinMtb";
}
}

View file

@ -1,11 +1,28 @@
using System.Diagnostics.CodeAnalysis;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Verse;
namespace RJWSexperience.Ideology.Precepts
{
public abstract class DefExtension_ModifyMtb : DefModExtension
[SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field values are loaded from XML")]
public abstract class DefExtension_ModifyMtb : DefModExtension, IPreceptTipPostfix
{
[SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")]
protected abstract string TipTemplateKey { get; }
public float multiplier = 1f;
public string GetTip() => TipTemplateKey.Translate(multiplier.ToString());
public override IEnumerable<string> ConfigErrors()
{
if (multiplier == 1f)
{
yield return "There is no point if <multiplier> is 1";
}
else if (multiplier <= 0f)
{
yield return "<multiplier> must be > 0";
}
}
}
}

View file

@ -2,5 +2,6 @@
{
public class DefExtension_ModifyNecroMtb : DefExtension_ModifyMtb
{
protected override string TipTemplateKey => "RSI_PreceptTipModifyNecroMtb";
}
}

View file

@ -2,5 +2,6 @@
{
public class DefExtension_ModifyRapeCPMtb : DefExtension_ModifyMtb
{
protected override string TipTemplateKey => "RSI_PreceptTipModifyRapeCPMtb";
}
}

View file

@ -0,0 +1,7 @@
namespace RJWSexperience.Ideology.Precepts
{
public interface IPreceptTipPostfix
{
string GetTip();
}
}