mirror of
https://gitgud.io/c0ffeeeeeeee/rjw-events.git
synced 2024-08-14 23:57:42 +00:00
Add psychic lust mechanic, works like psychic drone
This commit is contained in:
parent
06122c2b18
commit
60a4205e6f
11 changed files with 383 additions and 0 deletions
46
Source/ThoughtWorkers/ThoughtWorker_PsychicArouse.cs
Normal file
46
Source/ThoughtWorkers/ThoughtWorker_PsychicArouse.cs
Normal file
|
@ -0,0 +1,46 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Events
|
||||
{
|
||||
class ThoughtWorker_PsychicArouse : ThoughtWorker
|
||||
{
|
||||
|
||||
protected override ThoughtState CurrentStateInternal(Pawn p)
|
||||
{
|
||||
PsychicDroneLevel psychicDroneLevel = PsychicDroneLevel.None;
|
||||
Map mapHeld = p.MapHeld;
|
||||
if (mapHeld != null)
|
||||
{
|
||||
PsychicDroneLevel highestPsychicDroneLevelFor = mapHeld.gameConditionManager.GetHighestPsychicArouseLevelFor(p.gender);
|
||||
if (highestPsychicDroneLevelFor > psychicDroneLevel)
|
||||
{
|
||||
psychicDroneLevel = highestPsychicDroneLevelFor;
|
||||
}
|
||||
}
|
||||
|
||||
switch (psychicDroneLevel)
|
||||
{
|
||||
case PsychicDroneLevel.None:
|
||||
return false;
|
||||
case PsychicDroneLevel.GoodMedium:
|
||||
return ThoughtState.ActiveAtStage(0);
|
||||
case PsychicDroneLevel.BadLow:
|
||||
return ThoughtState.ActiveAtStage(0);
|
||||
case PsychicDroneLevel.BadMedium:
|
||||
return ThoughtState.ActiveAtStage(1);
|
||||
case PsychicDroneLevel.BadHigh:
|
||||
return ThoughtState.ActiveAtStage(2);
|
||||
case PsychicDroneLevel.BadExtreme:
|
||||
return ThoughtState.ActiveAtStage(2);
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue