mirror of
https://gitgud.io/c0ffeeeeeeee/rjw-events.git
synced 2024-08-14 23:57:42 +00:00
ideology compatibility
This commit is contained in:
parent
bc23c0d62f
commit
61fa2feb26
6 changed files with 51 additions and 1 deletions
Binary file not shown.
|
@ -53,6 +53,7 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Source\DefOfs\OrgyDutyDefOf.cs" />
|
||||
<Compile Include="Source\DefOfs\TaleDefOf.cs" />
|
||||
<Compile Include="Source\DefOfs\ThoughtDefOf.cs" />
|
||||
<Compile Include="Source\GatheringWorkers\GatheringWorker_Orgy.cs" />
|
||||
|
|
22
Source/DefOfs/OrgyDutyDefOf.cs
Normal file
22
Source/DefOfs/OrgyDutyDefOf.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse.AI;
|
||||
|
||||
namespace RJW_Events
|
||||
{
|
||||
[DefOf]
|
||||
public static class OrgyDutyDefOf
|
||||
{
|
||||
static OrgyDutyDefOf()
|
||||
{
|
||||
DefOfHelper.EnsureInitializedInCtor(typeof(DutyDefOf));
|
||||
}
|
||||
|
||||
public static DutyDef Orgy;
|
||||
|
||||
}
|
||||
}
|
|
@ -22,5 +22,22 @@ namespace RJW_Events
|
|||
return RCellFinder.TryFindGatheringSpot(organizer, this.def, false, out spot);
|
||||
}
|
||||
|
||||
public override bool CanExecute(Map map, Pawn organizer = null)
|
||||
{
|
||||
|
||||
if(ModLister.IdeologyInstalled)
|
||||
{
|
||||
var ideo = Faction.OfPlayer.ideos.PrimaryIdeo;
|
||||
if (!ideo.HasPrecept(DefDatabase<PreceptDef>.GetNamed("Lovin_FreeApproved", true)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return base.CanExecute(map, organizer);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ namespace RJW_Events
|
|||
|
||||
List<Pawn> targets = LordUtility.GetLord(pawn).ownedPawns.Where((Pawn p) => {
|
||||
|
||||
if(p?.mindState?.duty == null)
|
||||
if(p?.mindState?.duty == null && p.mindState.duty.def != OrgyDutyDefOf.Orgy)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -52,6 +52,16 @@ namespace RJW_Events
|
|||
{
|
||||
if (!CasualSex_Helper.CanHaveSex(p)) return 0;
|
||||
|
||||
if (ModLister.IdeologyInstalled)
|
||||
{
|
||||
var ideo = p.ideo.Ideo;
|
||||
if (!ideo.HasPrecept(DefDatabase<PreceptDef>.GetNamed("Lovin_FreeApproved", true)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return base.VoluntaryJoinPriorityFor(p);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue