Ejemplo n.º 1
0
        //private SimpleCurve MinIncidentCountMultiplier = new SimpleCurve
        //{
        //    {0f,   1f}
        //};
        //private SimpleCurve MaxIncidentCountMultiplier = new SimpleCurve
        //{
        //    {0f,   1f}
        //};
        //private SimpleCurve IncidentCycleAcceleration = new SimpleCurve
        //{
        //    {0f,   1f}
        //};

        public override void ExposeData()
        {
            base.ExposeData();

            var points1 = MTBEventOccurs_Multiplier.ToList();

            //List<CurvePoint> points2 = MinIncidentCountMultiplier.ToList();
            //List<CurvePoint> points3 = MaxIncidentCountMultiplier.ToList();
            //List<CurvePoint> points4 = IncidentCycleAcceleration.ToList();

            Scribe_Collections.Look(ref points1, "MTBEventOccurs_Multiplier");
            //Scribe_Collections.Look<CurvePoint>(ref points2, "MinIncidentCountMultiplier");
            //Scribe_Collections.Look<CurvePoint>(ref points3, "MaxIncidentCountMultiplier");
            //Scribe_Collections.Look<CurvePoint>(ref points4, "IncidentCycleAcceleration");

            if (points1 != null)
            {
                MTBEventOccurs_Multiplier = ListToSimpleCurve(points1);
            }

            //if (points2 != null)
            //{
            //    MinIncidentCountMultiplier = ListToSimpleCurve(points2);
            //}
            //if (points3 != null)
            //{
            //    MaxIncidentCountMultiplier = ListToSimpleCurve(points3);
            //}
            //if (points4 != null)
            //{
            //    IncidentCycleAcceleration = ListToSimpleCurve(points4);
            //}
        }
        public override void ExposeData()
        {
            base.ExposeData();
            Scribe_Values.Look(ref SettingsEverOpened, "SettingsEverOpened", defaultValue: false);
            Scribe_Values.Look(ref ActivePreset, "ActivePreset", defaultValue: SettingsPreset.NoneApplied);

            Scribe_Values.Look(ref ToolAutoSwitch, "ToolAutoSwitch", defaultValue: true);
            Scribe_Values.Look(ref OptimalMelee, "OptimalMelee", defaultValue: true);
            Scribe_Values.Look(ref CQCAutoSwitch, "CQCAutoSwitch", defaultValue: true);
            Scribe_Values.Look(ref CQCTargetOnly, "CQCTargetOnly", defaultValue: false);
            Scribe_Values.Look(ref RangedCombatAutoSwitch, "RangedCombatAutoSwitch", defaultValue: true);

            Scribe_Values.Look(ref RangedCombatAutoSwitchMaxWarmup, "RangedCombatAutoSwitchMaxWarmup", defaultValue: 0.75f);

            Scribe_Values.Look(ref SpeedSelectionBiasMelee, "SpeedSelectionBiasMelee", defaultValue: 1f);
            Scribe_Values.Look(ref SpeedSelectionBiasRanged, "SpeedSelectionBiasRanged", defaultValue: 1.1f);

            Scribe_Values.Look(ref AllowBlockedWeaponUse, "AllowBlockedWeaponUse", defaultValue: false);

            Scribe_Values.Look(ref SeparateModes, "SeparateModes", defaultValue: false);

            Scribe_Values.Look(ref LimitModeSingle, "LimitModeSingle", defaultValue: LimitModeSingleSidearm.None);
            Scribe_Values.Look(ref LimitModeAmount, "LimitModeAmount", defaultValue: LimitModeAmountOfSidearms.None);

            Scribe_Values.Look(ref LimitModeSingleMelee, "LimitModeSingleMelee", defaultValue: LimitModeSingleSidearm.None);
            Scribe_Values.Look(ref LimitModeAmountMelee, "LimitModeAmountMelee", defaultValue: LimitModeAmountOfSidearms.None);
            Scribe_Values.Look(ref LimitModeSingleRanged, "LimitModeSingleRanged", defaultValue: LimitModeSingleSidearm.None);
            Scribe_Values.Look(ref LimitModeAmountRanged, "LimitModeAmountRanged", defaultValue: LimitModeAmountOfSidearms.None);
            Scribe_Values.Look(ref LimitModeAmountTotal, "LimitModeAmountTotal", defaultValue: LimitModeAmountOfSidearms.None);

            Scribe_Values.Look(ref LimitModeSingle_AbsoluteMass, "LimitModeSingle_AbsoluteMass", defaultValue: 1.9f);
            Scribe_Values.Look(ref LimitModeSingle_RelativeMass, "LimitModeSingle_RelativeMass", defaultValue: 0.25f);
            Scribe_Collections.Look(ref LimitModeSingle_Selection, "LimitModeSingle_Selection", LookMode.Def);

            Scribe_Values.Look(ref LimitModeAmount_AbsoluteMass, "LimitModeAmount_AbsoluteMass", defaultValue: 10f);
            Scribe_Values.Look(ref LimitModeAmount_RelativeMass, "LimitModeAmount_RelativeMass", defaultValue: 0.5f);
            Scribe_Values.Look(ref LimitModeAmount_Slots, "LimitModeAmount_Slots", defaultValue: 2);

            Scribe_Values.Look(ref LimitModeSingleMelee_AbsoluteMass, "LimitModeSingleMelee_AbsoluteMass", defaultValue: 1.9f);
            Scribe_Values.Look(ref LimitModeSingleMelee_RelativeMass, "LimitModeSingleMelee_RelativeMass", defaultValue: 0.25f);
            Scribe_Collections.Look(ref LimitModeSingleMelee_Selection, "LimitModeSingleMelee_Selection", LookMode.Def);

            Scribe_Values.Look(ref LimitModeAmountMelee_AbsoluteMass, "LimitModeAmountMelee_AbsoluteMass", defaultValue: 10f);
            Scribe_Values.Look(ref LimitModeAmountMelee_RelativeMass, "LimitModeAmountMelee_RelativeMass", defaultValue: 0.5f);
            Scribe_Values.Look(ref LimitModeAmountMelee_Slots, "LimitModeAmountMelee_Slots", defaultValue: 2);

            Scribe_Values.Look(ref LimitModeSingleRanged_AbsoluteMass, "LimitModeSingleRanged_AbsoluteMass", defaultValue: 2.55f);
            Scribe_Values.Look(ref LimitModeSingleRanged_RelativeMass, "LimitModeSingleRanged_RelativeMass", defaultValue: 0.25f);
            Scribe_Collections.Look(ref LimitModeSingleRanged_Selection, "LimitModeSingleRanged_Selection", LookMode.Def);

            Scribe_Values.Look(ref LimitModeAmountRanged_AbsoluteMass, "LimitModeAmountRanged_AbsoluteMass", defaultValue: 10f);
            Scribe_Values.Look(ref LimitModeAmountRanged_RelativeMass, "LimitModeAmountRanged_RelativeMass", defaultValue: 0.5f);
            Scribe_Values.Look(ref LimitModeAmountRanged_Slots, "LimitModeAmountRanged_Slots", defaultValue: 2);

            Scribe_Values.Look(ref LimitModeAmountTotal_AbsoluteMass, "LimitModeAmountTotal_AbsoluteMass", defaultValue: 10f);
            Scribe_Values.Look(ref LimitModeAmountTotal_RelativeMass, "LimitModeAmountTotal_RelativeMass", defaultValue: 0.5f);
            Scribe_Values.Look(ref LimitModeAmountTotal_Slots, "LimitModeAmountTotal_Slots", defaultValue: 4);

            Scribe_Values.Look(ref SidearmSpawnChance, "SidearmSpawnChance", defaultValue: 0.5f);
            Scribe_Values.Look(ref SidearmSpawnChanceDropoff, "SidearmSpawnChanceDropoff", defaultValue: 0.25f);
            Scribe_Values.Look(ref SidearmBudgetMultiplier, "SidearmBudgetMultiplier", defaultValue: 0.5f);
            Scribe_Values.Look(ref SidearmBudgetDropoff, "SidearmBudgetDropoff", defaultValue: 0.25f);

            Scribe_Values.Look(ref ColonistDefaultWeaponMode, "ColonistDefaultWeaponMode", defaultValue: PrimaryWeaponMode.BySkill);
            Scribe_Values.Look(ref NPCDefaultWeaponMode, "NPCDefaultWeaponMode", PrimaryWeaponMode.ByGenerated);

            Scribe_Values.Look(ref FumbleMode, "FumbleMode", defaultValue: FumbleModeOptionsEnum.InDistress);
            Scribe_Values.Look(ref ReEquipOutOfCombat, "ReEquipOutOfCombat", defaultValue: true);
            Scribe_Values.Look(ref ReEquipBest, "ReEquipBest", defaultValue: true);
            Scribe_Values.Look(ref ReEquipInCombat, "ReEquipInCombat", defaultValue: true);

            Scribe_Values.Look(ref SkipDangerousWeapons, "SkipDangerousWeapons", defaultValue: true);
            Scribe_Values.Look(ref SkipEMPWeapons, "SkipEMPWeapons", defaultValue: false);

            if (Scribe.mode == LoadSaveMode.Saving)
            {
                var temp = FumbleRecoveryChance.ToList();
                Scribe_Collections.Look(ref temp, "FumbleRecoveryChance");
            }
            else
            {
                List <CurvePoint> temp = null;
                Scribe_Collections.Look(ref temp, "FumbleRecoveryChance");
                FumbleRecoveryChance = temp != null ? new SimpleCurve(temp) : new SimpleCurve(defaultFumbleRecoveryChancePoints);
            }

            Scribe_Values.Look(ref PreserveInventoryInCaravans, "PreserveInventoryInCaravans", defaultValue: true);
            Scribe_Values.Look(ref HideSidearmsInCaravanDialogs, "HideSidearmsInCaravanDialogs", defaultValue: true);

            Scribe_Values.Look(ref ShowAlertsMissingSidearm, "ShowAlertsMissingSidearm", defaultValue: true);
        }