Files
RickGrymes f84841be45 Merge modules into core and add robotics
Consolidates Enlist, Laser, and PresettablePocketMap code into FCP_Core and removes their separate projects/assemblies. Adds a full robotics feature set (robot control terminal, modes, hacking, docking/upgrading, loadouts, quest integration, derelict/wild robot behavior, and supporting defs/jobs), plus biome-restricted raid support and dedicated trader-character spawning updates. Also expands game content with new weapon/melee sound defs and assets, many new site map icons, a new Fusion Core item, lunchbox loot table additions, and several compatibility/bug fixes for updated RimWorld APIs and edge cases.
2026-07-15 23:24:32 -05:00

50 lines
1.2 KiB
C#

using Verse;
namespace FCP.Core.Robotics
{
public enum EyebotMode : byte
{
Defend,
Scavenge,
Explore,
Music
}
public class CompProperties_EyebotMode : CompProperties
{
public CompProperties_EyebotMode()
{
compClass = typeof(CompEyebotMode);
}
}
public class CompEyebotMode : ThingComp
{
private EyebotMode mode = EyebotMode.Defend;
public CompProperties_EyebotMode Props => (CompProperties_EyebotMode)props;
public EyebotMode Mode => mode;
public void SetMode(EyebotMode newMode)
{
mode = newMode;
}
public override void PostExposeData()
{
base.PostExposeData();
Scribe_Values.Look(ref mode, "eyebotMode", EyebotMode.Defend);
}
public override string CompInspectStringExtra()
{
if ((parent as Pawn)?.Faction != RimWorld.Faction.OfPlayer)
{
return "FCP_EyebotMode_Inspect".Translate("FCP_RobotMode_Wandering".Translate());
}
return "FCP_EyebotMode_Inspect".Translate(mode.ToString());
}
}
}