Exemplo n.º 1
0
 public DiverDefenceMk2_FromBrokenChip() : base("DiverDefenceMk2_FromBrokenChip", "Diver Defence System Mk2", "Protects a diver from hostile fauna using electrical discouragement. Can be recharged multiple times.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
 public ExosuitLightningClawGeneratorModule() : base("ExosuitLightningClawGeneratorModule", "Exosuit Lightning Claw Generator", "An electrical pulse generator which ties into the Exosuit's claw arm, electrocuting anything struck by it.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
 public HoverbikeSelfRepairModule() : base("HoverbikeSelfRepairModule", "Self-Repair Module", "Nanotech repair system passively repairs damage to Snowfox systems. Consumes energy while in use.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
 public SeatruckThermalModule() : base("SeatruckThermalModule", "SeaTruck Thermal Charger", "Recharges SeaTruck power cells in hot zones. Does not stack.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
 public SeatruckRepairModule() : base("SeatruckRepairModule", "SeaTruck Repair Module", "Passively repairs damaged Seatruck and modules for modest energy cost; in active mode, rapidly repairs damage, but at significant energy cost")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 6
0
 public HoverbikeSolarChargerModule() : base("HoverbikeSolarChargerModule", "Snowfox Solar Charger", "Recharges the Snowfox's battery while in sunlight. Does not stack.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 7
0
 public ExosuitLightningClawPrefab() : base("ExosuitLightningClawArm", "Exosuit Lightning Claw", "Lightning Claw upgrade adds an electrical generator to the claw, delivering an electrical jolt to anything struck by it.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 8
0
 public HoverbikeDurabilitySystem() : base("HoverbikeDurabilitySystem", "Hoverbike Durability System", "Energy field reduces incoming damage, and nanotech repair system passively repairs damage to Snowfox systems. Consumes energy while in use.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 9
0
        public CoralSample()
            : base("CoralSample", "Coral Shelf Sample", "A sample of coral from the Twisty Bridges.")
        {
            OnFinishedPatching += () =>
            {
                KnifePatches.AddHarvestable(TechType.TwistyBridgesCoralShelf, 200f);
                Main.AddModTechType(this.TechType);
                CraftDataHandler.SetHarvestOutput(TechType.TwistyBridgesCoralShelf, this.TechType);
                CraftDataHandler.SetHarvestType(TechType.TwistyBridgesCoralShelf, HarvestType.DamageAlive);
                CraftDataHandler.SetTechData(TechType.Bleach, new SMLHelper.V2.Crafting.RecipeData()
                {
                    craftAmount = 1,
                    Ingredients = new List <Ingredient>()
                    {
                        new Ingredient(this.TechType, 1),
                        new Ingredient(TechType.Salt, 1)
                    }
                });
                CraftTreeHandler.AddCraftingNode(CraftTree.Type.Fabricator, TechType.Bleach, new string[] { "Resources", "BasicMaterials" });

                CraftDataHandler.SetTechData(TechType.DisinfectedWater, new SMLHelper.V2.Crafting.RecipeData()
                {
                    craftAmount = 2,
                    Ingredients = new List <Ingredient>()
                    {
                        new Ingredient(TechType.Bleach, 1)
                    }
                });
                CraftTreeHandler.AddCraftingNode(CraftTree.Type.Fabricator, TechType.DisinfectedWater, new string[] { "Survival", "Water" });
                KnownTechHandler.SetAnalysisTechEntry(this.TechType, new TechType[] { TechType.Bleach });
                KnownTechHandler.SetAnalysisTechEntry(TechType.Bleach, new TechType[] { TechType.DisinfectedWater });
                LanguageHandler.Main.SetTechTypeTooltip(TechType.Bleach, "NaClO. Sodium hypochlorite bleach. Sanitizing applications.");
            };
        }
Exemplo n.º 10
0
        /*protected override Sprite GetItemSprite()
         * {
         *  return SpriteManager.Get(TechType.VehicleArmorPlating); // Placeholder
         * }*/

        public HoverbikeStructuralIntegrityModule() : base("HoverbikeStructuralIntegrityModule", "Structural Integrity Field", "Consumes energy to reduce damage taken by the Snowfox by half. Does not stack.")
        {
            OnFinishedPatching += () =>
            {
                Main.AddModTechType(this.TechType);
            };
        }
Exemplo n.º 11
0
 public HoverbikeWaterTravelModule() : base("HoverbikeWaterTravelModule", "Water Travel Module", "Increases the power of the Snowfox's hover pads, allowing travel over water in exchange for increased energy consumption.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
 public PowerglideFragmentPrefab() : base("PowerglideFragment", "Powerglide Fragment", "Damaged Powerglide")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 13
0
 public ExosuitSprintModule() : base("ExosuitSprintModule", "Exosuit Sprint Module", "A hydraulic system that allows the Exosuit's jump jets to angle for horizontal travel.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
     };
 }
 public SeatruckSolarModule() : base("SeatruckSolarModule", "SeaTruck Solar Charger", "Recharges SeaTruck power cells in sunlight. Limited stacking ability.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
         SeaTruckUpgradesPatches.AddMaxModuleOverride(this.TechType, MaxSolarModules);
     };
 }
Exemplo n.º 15
0
 public DiverPerimeterDefenceChip_Broken() : base("DiverPerimeterDefenceChip_Broken", "Diver Perimeter System (damaged)", $"Protects a diver from hostile fauna using electrical discouragement.\n\nChip has been discharged and is non-functional.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
         CoroutineHost.StartCoroutine(PostPatchSetup());
     };
 }
Exemplo n.º 16
0
 public PowerglideEquipable() : base("PowerglideEquipable", friendlyName, description)
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
         PlayerToolPatches.AddToolSubstitution(this.TechType, TechType.Seaglide);
     };
 }
 public HoverbikeEngineEfficiencyModule() : base("HoverbikeEngineEfficiencyModule", "Snowfox Engine Efficiency Module", "Optimises Snowfox power use, reducing battery consumption by 35%. Stacks up to twice.")
 {
     OnFinishedPatching += () =>
     {
         HoverbikeUpdater.AddEfficiencyMultiplier(this.TechType, efficiencyModifier, maxUpgrades: maxUpgrades);
         Main.AddModTechType(this.TechType);
     };
 }
 public SeaTruckSonarModule() : base("SeaTruckSonarModule", "SeaTruck Sonar Module", "A dedicated system for detecting and displaying topographical data on the HUD.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
         CraftDataHandler.SetEnergyCost(this.TechType, EnergyCost);
     };
 }
 public HoverbikeMobilityUpgrade() : base("HoverbikeMobilityUpgrade", "Snowfox Mobility Upgrade", "Allows Snowfox to jump, travel on water, and provides a modest bonus to speed, without increasing power consumption. Does not stack with Speed Module or Efficiency Upgrade.")
 {
     OnFinishedPatching += () =>
     {
         HoverbikeUpdater.AddEfficiencyMultiplier(this.TechType, efficiencyModifier, upgradePriority, maxStack);
         HoverbikeUpdater.AddMovementModifier(this.TechType, speedMultiplier, cooldownMultiplier, upgradePriority, maxStack);
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 20
0
 public HoverbikeSpeedModule() : base("HoverbikeSpeedModule", "Snowfox Speed Module", "Increases Snowfox speed, but also significantly increases power consumption. Does not stack.")
 {
     OnFinishedPatching += () =>
     {
         HoverbikeUpdater.AddEfficiencyMultiplier(this.TechType, powerConsumptionModifier);
         HoverbikeUpdater.AddMovementModifier(this.TechType, speedMultiplier, cooldownMultiplier, maxStack);
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 21
0
 public SeatruckSolarModule(string classID      = "SeatruckSolarModule",
                            string friendlyName = "SeaTruck Solar Charger",
                            string description  = "Recharges SeaTruck power cells in sunlight. Limited stacking ability.") : base(classID, friendlyName, description)
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
         SeaTruckUpgradesPatches.AddMaxModuleOverride(this.TechType, MaxSolarModules);
     };
 }
 public ShadowLeviathanSample()
     : base("ShadowLeviathanSample", "Shadow Leviathan Sample", "A sample of chitin and ichor from a deadly predator.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
         CraftDataHandler.SetHarvestOutput(TechType.ShadowLeviathan, this.TechType);
         CraftDataHandler.SetHarvestType(TechType.ShadowLeviathan, HarvestType.DamageAlive);
     };
 }
Exemplo n.º 23
0
 public ReinforcedColdGloves() : base("ReinforcedColdGloves", "Reinforced Cold Gloves", "Reinforced insulating gloves provide physical protection and insulation from extreme temperatures.")
 {
     OnFinishedPatching += () =>
     {
         int coldResist = TechData.GetColdResistance(TechType.ColdSuitGloves);
         DWEquipmentBonanza.Reflection.AddColdResistance(this.TechType, System.Math.Max(10, coldResist));
         DWEquipmentBonanza.Reflection.SetItemSize(this.TechType, 2, 2);
         Log.LogDebug($"Finished patching {this.TechType.AsString()}, found source cold resist of {coldResist}, cold resistance for techtype {this.TechType.AsString()} = {TechData.GetColdResistance(this.TechType)}");
         Main.AddSubstitution(this.TechType, TechType.ColdSuitGloves);
         Main.AddSubstitution(this.TechType, TechType.ReinforcedGloves);
         Main.AddModTechType(this.TechType);
     };
 }
Exemplo n.º 24
0
 public DWUltraGlideSwimChargeFins() : base("DWUltraGlideSwimChargeFins", friendlyName, description)
 {
     OnFinishedPatching += () =>
     {
         Main.AddModTechType(this.TechType);
         EquipmentPatch.AddSubstitution(this.TechType, TechType.SwimChargeFins);
         UnderwaterMotorPatches.AddSpeedModifier(this.TechType, 3f);
         Reflection.AddCompoundTech(this.TechType, new List <TechType>()
         {
             TechType.SwimChargeFins,
             TechType.UltraGlideFins
         });
         CoroutineHost.StartCoroutine(PostPatchSetup());
     };
 }
Exemplo n.º 25
0
 public HighCapacityBooster() : base("HighCapacityBooster", "High Capacity Booster Tank", "Booster tank with increased oxygen capacity.")
 {
     OnFinishedPatching += () =>
     {
         Main.AddSubstitution(this.TechType, TechType.SuitBoosterTank);
         Main.AddSubstitution(this.TechType, TechType.HighCapacityTank);
         Main.AddModTechType(this.TechType);
         KnownTech.CompoundTech compound = new KnownTech.CompoundTech();
         compound.techType     = this.TechType;
         compound.dependencies = new List <TechType>()
         {
             TechType.SuitBoosterTank,
             TechType.HighCapacityTank
         };
         Reflection.AddCompoundTech(compound);
         CoroutineHost.StartCoroutine(PostPatchSetup());
     };
 }
Exemplo n.º 26
0
 public InsulatedRebreather() : base("InsulatedRebreather", "Insulated Rebreather", "Rebreather equipped with insulation helps slow the onset of hypothermia")
 {
     OnFinishedPatching += () =>
     {
         int coldResist = TechData.GetColdResistance(TechType.ColdSuitHelmet);
         DWEquipmentBonanza.Reflection.AddColdResistance(this.TechType, System.Math.Max(20, coldResist));
         DWEquipmentBonanza.Reflection.SetItemSize(this.TechType, 2, 2);
         Log.LogDebug($"Finished patching {this.TechType.AsString()}, using source cold resist of {coldResist}, cold resistance for techtype {this.TechType.AsString()} = {TechData.GetColdResistance(this.TechType)}");
         Main.AddSubstitution(this.TechType, TechType.ColdSuitHelmet);
         Main.AddSubstitution(this.TechType, TechType.Rebreather);
         Main.AddModTechType(this.TechType);
         Reflection.AddCompoundTech(this.TechType, new List <TechType>()
         {
             TechType.Rebreather,
             TechType.ColdSuit
         });
     };
 }
Exemplo n.º 27
0
 public ReinforcedColdSuit() : base("ReinforcedColdSuit", "Reinforced Cold Suit", "Reinforced, insulated diving suit providing physical protection and insulation from extreme temperatures.")
 {
     OnFinishedPatching += () =>
     {
         int coldResist = TechData.GetColdResistance(TechType.ColdSuit);
         Reflection.AddColdResistance(this.TechType, System.Math.Max(50, coldResist));
         Reflection.SetItemSize(this.TechType, 2, 3);
         Log.LogDebug($"Finished patching {this.TechType.AsString()}, found source cold resist of {coldResist}, cold resistance for techtype {this.TechType.AsString()} = {TechData.GetColdResistance(this.TechType)}");
         Main.AddSubstitution(this.TechType, TechType.ColdSuit);
         Main.AddSubstitution(this.TechType, TechType.ReinforcedDiveSuit);
         Main.AddModTechType(this.TechType);
         Reflection.AddCompoundTech(this.TechType, new List <TechType>()
         {
             TechType.ReinforcedDiveSuit,
             TechType.ColdSuit
         });
     };
 }
Exemplo n.º 28
0
        protected virtual void OnFinishedPatch()
        {
            //Main.AddSubstitution(this.TechType, TechType.Stillsuit);
            foreach (TechType tt in substitutions)
            {
                Main.AddSubstitution(this.TechType, tt);
            }
            Main.AddModTechType(this.TechType);
            PlayerPatch.AddSurvivalSuit(this.TechType);

            if (CompoundDependencies.Count > 0)
            {
                KnownTech.CompoundTech compound = new KnownTech.CompoundTech();
                compound.techType     = this.TechType;
                compound.dependencies = CompoundDependencies;
                Reflection.AddCompoundTech(compound);
            }
            //SurvivalPatches.AddNeedsCapOverride(this.TechType, SurvivalCapOverride);
        }
Exemplo n.º 29
0
        public PlasteelHighCapTank() : base("PlasteelHighCapTank", "Plasteel Ultra Capacity Tank", "Lightweight tank with high oxygen capacity")
        {
            OnFinishedPatching += () =>
            {
                Main.AddSubstitution(this.TechType, TechType.PlasteelTank);
                Main.AddSubstitution(this.TechType, TechType.HighCapacityTank);
                Main.AddModTechType(this.TechType);
                Reflection.AddCompoundTech(this.TechType, new List <TechType>()
                {
                    TechType.PlasteelTank,
                    TechType.HighCapacityTank
                });
                CoroutineHost.StartCoroutine(PostPatchSetup());

                UnderwaterMotorPatches.AddSpeedModifier(this.TechType, -0.10625f);
                Main.AddCustomOxyExclusion(this.TechType, true, true);
                Main.AddCustomOxyTank(this.TechType, -1f, icon);
            };
        }
Exemplo n.º 30
0
 public InsulatedRebreather() : base("InsulatedRebreather", "Insulated Rebreather", "Rebreather equipped with insulation helps slow the onset of hypothermia")
 {
     OnFinishedPatching += () =>
     {
         int coldResist = TechData.GetColdResistance(TechType.ColdSuitHelmet);
         CombinedItems.Reflection.AddColdResistance(this.TechType, System.Math.Max(20, coldResist));
         CombinedItems.Reflection.SetItemSize(this.TechType, 2, 2);
         Log.LogDebug($"Finished patching {this.TechType.AsString()}, found source cold resist of {coldResist}, cold resistance for techtype {this.TechType.AsString()} = {TechData.GetColdResistance(this.TechType)}");
         Main.AddSubstitution(this.TechType, TechType.ColdSuitHelmet);
         Main.AddSubstitution(this.TechType, TechType.Rebreather);
         Main.AddModTechType(this.TechType);
         KnownTech.CompoundTech compound = new KnownTech.CompoundTech();
         compound.techType     = this.TechType;
         compound.dependencies = new List <TechType>()
         {
             TechType.Rebreather,
             TechType.ColdSuit
         };
         Reflection.AddCompoundTech(compound);
     };
 }