mirror of
https://github.com/FalloutCollaborationProject/FCP-Tools.git
synced 2026-07-27 16:59:37 -07:00
Refactors robot customization from apparel/equipment to hediff-driven body part overlays, adds a reusable upgrade dialog, and expands DefOf support for Protectron, Securitron, Mr. Handy, and Sentry Bot variants. Introduces manual power toggling, robot bed assignment/power-down behavior, new control modes (including Securitron guard point and Mr. Handy role-based work modes), and AI checks that respect fuel/power state and pending upgrade bench calls. Also adds new radiant quest nodes, improves settlement tile fallback logic, updates several workbench sizes/textures, and adds additional trader backstories.
108 lines
4.0 KiB
C#
108 lines
4.0 KiB
C#
using RimWorld;
|
|
using Verse;
|
|
|
|
namespace FCP.Core.Robotics
|
|
{
|
|
[DefOf]
|
|
public static class PawnKindDefOf_MrHandy
|
|
{
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static PawnKindDef FCP_Pawnkind_Mr_Handy;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static PawnKindDef FCP_Pawnkind_Ms_Nanny;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static PawnKindDef FCP_Pawnkind_Mr_Gutsy;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static PawnKindDef FCP_Pawnkind_Mr_Orderly;
|
|
|
|
static PawnKindDefOf_MrHandy()
|
|
{
|
|
DefOfHelper.EnsureInitializedInCtor(typeof(PawnKindDefOf_MrHandy));
|
|
}
|
|
}
|
|
|
|
[DefOf]
|
|
public static class ThingDefOf_MrHandy
|
|
{
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static ThingDef FCP_MrHandy;
|
|
|
|
static ThingDefOf_MrHandy()
|
|
{
|
|
DefOfHelper.EnsureInitializedInCtor(typeof(ThingDefOf_MrHandy));
|
|
}
|
|
}
|
|
|
|
[DefOf]
|
|
public static class HediffDefOf_MrHandy
|
|
{
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_ArmStalk_Left;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_ArmStalk_Center;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_ArmStalk_Right;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Left_Saw;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Left_Pincer;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Center_Pincer;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Right_Flamer;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Right_Pincer;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Gun;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Laser;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Plasma;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Thruster;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Eye_Left;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Eye_Center;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Eye_Right;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Eye_Left_Armored;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Eye_Center_Armored;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_Eye_Right_Armored;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static HediffDef FCP_Hediff_MrHandy_BodyArmored;
|
|
|
|
static HediffDefOf_MrHandy()
|
|
{
|
|
DefOfHelper.EnsureInitializedInCtor(typeof(HediffDefOf_MrHandy));
|
|
}
|
|
}
|
|
|
|
[DefOf]
|
|
public static class BodyPartGroupDefOf_MrHandy
|
|
{
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static BodyPartGroupDef MrHandyArmLeft;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static BodyPartGroupDef MrHandyArmCenter;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static BodyPartGroupDef MrHandyArmRight;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static BodyPartGroupDef MrHandyEyeLeft;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static BodyPartGroupDef MrHandyEyeCenter;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static BodyPartGroupDef MrHandyEyeRight;
|
|
[MayRequire("Rick.FCP.Robotics")]
|
|
public static BodyPartGroupDef MrHandyThruster;
|
|
|
|
static BodyPartGroupDefOf_MrHandy()
|
|
{
|
|
DefOfHelper.EnsureInitializedInCtor(typeof(BodyPartGroupDefOf_MrHandy));
|
|
}
|
|
}
|
|
}
|