diff --git a/.github/workflows/Aristeas NewUniversalUpload.yml b/.github/workflows/Aristeas NewUniversalUpload.yml index 3b259788a..5d4672807 100644 --- a/.github/workflows/Aristeas NewUniversalUpload.yml +++ b/.github/workflows/Aristeas NewUniversalUpload.yml @@ -14,12 +14,6 @@ jobs: - uses: actions/checkout@v4.1.4 with: fetch-depth: 0 - - - name: Get changed files - id: changed-files - uses: tj-actions/changed-files@v44 - with: - separator: ',' #- name: List all changed files # env: @@ -30,6 +24,6 @@ jobs: # done - id: test_SEWT run: | - & "C:\Program Files\SCUniversalUpload\SC_NewUniversalUpload.exe" --repo "${{ github.workspace }}" --changes "${{ steps.changed-files.outputs.all_changed_and_modified_files }}" --changelog "${{ github.event.head_commit.message }}" + & "C:\Program Files\SCUniversalUpload\SC_NewUniversalUpload.exe" --repo "${{ github.workspace }}" --changelog "${{ github.event.head_commit.message }}" - uses: EndBug/add-and-commit@v9 diff --git a/.github/workflows/Aristeas_BuildScripts.yml b/.github/workflows/Aristeas_BuildScripts.yml index a6767072d..5dff320f8 100644 --- a/.github/workflows/Aristeas_BuildScripts.yml +++ b/.github/workflows/Aristeas_BuildScripts.yml @@ -13,12 +13,6 @@ jobs: - uses: actions/checkout@v4.1.4 with: fetch-depth: 0 - - - name: Get changed files - id: changed-files - uses: tj-actions/changed-files@v44 - with: - separator: ',' #- name: List all changed files # env: @@ -29,4 +23,4 @@ jobs: # done - id: build-mods run: | - & "C:\Program Files\SCUniversalUpload\SC_NewUniversalUpload.exe" "build" --repo "${{ github.workspace }}" --changes "${{ steps.changed-files.outputs.all_changed_and_modified_files }}" + & "C:\Program Files\SCUniversalUpload\SC_NewUniversalUpload.exe" "build" --repo "${{ github.workspace }}" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..d8e933aa1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,35 @@ +### Prerequsites: +- (extremely recommended) github Desktop, GitExtentions, or something similar +- knowing the layout of SE mod files +- enough space to download the entire git repo (~5gb)? + +### Step 1: +- ``Fork`` this repository to a folder on your computer. Name it something like SCModRepository-Yourname. This is where your edits can be made, and is apparently how actual projects do it. + +### Step 2: +- ``Make a branch`` for the changes you want to do on ``your local repository``. (i.e. SCModRepository-Yourname/BuffMyFavoriteGunPlease) Use your local repository's ``Main`` branch to keep in sync with starcore's ``Main`` branch, it makes edits much easier. You just click the button on github to sync it. + +### Step 3: +- To test your changes ingame, Copy the mod you want to edit to your ``%Appdata%/SpaceEngineers/Mods`` folder. + +### Step 4: +- Make your edits and throw it back in the repository folder. you can use the ``.bat file`` included in the repository to link your local Space Engineers mods with the ones in the repository. + +### Step 5: +- Submit a pull request so that the branch can be merged into the SCModRepository/Main one. +- You can merge your PR yourself if you're confident, or ask for review. Once merged, the development version of the mod will automatically be updated. + +Note - the `Main` branch is for the ModDev world, and `Stable` is for the primary combat and build worlds. `Stable` pushes are done in bulk after Test Tournaments. + + +*** + + +## How does this work? +The repository contains a .github folder, Space Engineers mod folders, and a .gitignore file. +### .github folder: +- contains the instructions to the bot what to do after a "push", currently set to upload to the steam workshop after [SCUniversalUpload](https://github.com/StarCoreSE/SCModRepository/blob/main/.github/workflows/Aristeas%20NewUniversalUpload.yml) detects a change in a folder with a `modinfo_BRANCHNAME.sbmi` file. +### SE Mod folders: +- contains all the data that would load normally as an SE mod +### .gitignore file +- tells git what to exclude during a push (like .sln files in visual studio) diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/Commands/CommandMethods.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/Commands/CommandMethods.cs index 6d8ffb9d7..c7758501d 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/Commands/CommandMethods.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/Commands/CommandMethods.cs @@ -17,7 +17,8 @@ public static void Start(string[] args) if (args.Length < 2) { MyAPIGateway.Utilities.ShowMessage("SUGMA", - $"Unrecognized gamemode \"null\". Available gamemodes:{SUGMA_SessionComponent.ListGamemodes()}"); + $"Unrecognized gamemode \"null\". Available gamemodes:"); + SUGMA_SessionComponent.ListGamemodes(); return; } @@ -33,7 +34,8 @@ public static void Start(string[] args) if (!SUGMA_SessionComponent.I.StartGamemode(args[1].ToLower(), startArgs, true)) { MyAPIGateway.Utilities.ShowMessage("SUGMA", - $"Unrecognized gamemode \"{args[1].ToLower()}\". Available gamemodes:{SUGMA_SessionComponent.ListGamemodes()}"); + $"Unrecognized gamemode \"{args[1].ToLower()}\". Available gamemodes:"); + SUGMA_SessionComponent.ListGamemodes(); return; } diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Domination/DominationHud.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Domination/DominationHud.cs index 59a825ac7..c8b530e24 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Domination/DominationHud.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Domination/DominationHud.cs @@ -66,7 +66,7 @@ internal class DominationHud_Window : WindowBase private readonly TexturedBox[] _captureIndicators; private readonly DominationGamemode _gamemode; - private readonly elmHud_Window _windowBase; + private readonly ElmHud_Window _windowBase; public DominationHud_Window(HudParentBase parent, DominationGamemode gamemode) : base(parent) { diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs index c7034ba57..6c108cca5 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs @@ -122,6 +122,7 @@ private void RemoveBlockers(float maxDistanceFromCenter) public override void StartRound(string[] arguments = null) { + _winningFaction = null; PointTracker = new PointTracker(3, 0); SUGMA_SessionComponent.I.UnregisterComponent("ELMPointTracker"); if (!MyAPIGateway.Utilities.IsDedicated) @@ -222,7 +223,6 @@ public override void StopRound() ShareTrackApi.UnregisterOnTrack(OnGridTrackChanged); base.StopRound(); - _winningFaction = null; TrackedFactions.Clear(); PointTracker = null; } diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationHud.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationHud.cs index ecbbeccfa..0f2ebb842 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationHud.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationHud.cs @@ -14,7 +14,7 @@ internal class EliminationHud : ComponentBase private int _closeTime = -1; private readonly EliminationGamemode _gamemode; - public elmHud_Window Window; + public ElmHud_Window Window; public EliminationHud(EliminationGamemode gamemode) { @@ -28,7 +28,7 @@ public override void Init(string id) if (!RichHudClient.Registered) throw new Exception("RichHudAPI was not initialized in time!"); - Window = new elmHud_Window(HudMain.HighDpiRoot, _gamemode); + Window = new ElmHud_Window(HudMain.HighDpiRoot, _gamemode); } public override void Close() @@ -52,7 +52,7 @@ public void MatchEnded(IMyFaction winner) } } - internal class elmHud_Window : HudElementBase + internal class ElmHud_Window : HudElementBase { private readonly EliminationGamemode _gamemode; @@ -63,7 +63,7 @@ internal class elmHud_Window : HudElementBase internal LabelBox _winnerLabel; public EliminationHud_TeamBanner[] Banners; - public elmHud_Window(HudParentBase parent, EliminationGamemode gamemode) : base(parent) + public ElmHud_Window(HudParentBase parent, EliminationGamemode gamemode) : base(parent) { _gamemode = gamemode; _timer = gamemode._matchTimer; diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs index 151ea2ae9..2ecd60fd4 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using Sandbox.ModAPI; using SC.SUGMA.GameModes.Elimination; using SC.SUGMA.GameState; @@ -49,6 +50,16 @@ public override void StartRound(string[] arguments = null) if (TrackedFactions.Count <= 1) return; + foreach (var faction in TrackedFactions.Keys.ToArray()) + TrackedFactions[faction] = 0; + + foreach (var grid in ShareTrackApi.GetTrackedGrids()) + { + var faction = grid.GetFaction(); + if (TrackedFactions.ContainsKey(faction)) + TrackedFactions[faction]++; + } + ActivationTimeCounter = ActivationTime; ControlPoint = null; @@ -58,7 +69,8 @@ public override void StartRound(string[] arguments = null) public override void StopRound() { - _winningFaction = ControlPoint?._zoneOwner; + if (ControlPoint != null) + _winningFaction = ControlPoint._zoneOwner; base.StopRound(); SUGMA_SessionComponent.I.GetComponent("KOTHHud")?.MatchEnded(_winningFaction); @@ -103,5 +115,49 @@ public override void UpdateActive() StopRound(); } } + + internal override void OnGridTrackChanged(IMyCubeGrid grid, bool isTracked) + { + if (!isTracked) + OnAliveChanged(grid, false); + } + + internal override void OnAliveChanged(IMyCubeGrid grid, bool isAlive) + { + var gridFaction = PlayerTracker.I.GetGridFaction(grid); + if (gridFaction == null || !TrackedFactions.ContainsKey(gridFaction)) + return; + if (!isAlive) + { + TrackedFactions[gridFaction]--; + if (TrackedFactions[gridFaction] <= 0) + { + IMyFaction winningFaction = null; + foreach (var factionKvp in TrackedFactions) + { + if (factionKvp.Value <= 0) + continue; + if (winningFaction != null) + { + winningFaction = null; + break; + } + winningFaction = factionKvp.Key; + } + + if (winningFaction != null) + { + if (ControlPoint != null) + ControlPoint._zoneOwner = winningFaction; + _winningFaction = winningFaction; + StopRound(); + } + } + } + else + { + TrackedFactions[gridFaction]++; + } + } } -} \ No newline at end of file +} diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHHud.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHHud.cs index 2a899b44c..3e4fb2b2f 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHHud.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHHud.cs @@ -57,7 +57,7 @@ internal class KOTHHud_Window : WindowBase new Material(MyStringId.GetOrCompute("SugmaCircle"), new Vector2(32, 32)); private readonly KOTHGamemode _gamemode; - private readonly elmHud_Window _windowBase; + private readonly ElmHud_Window _windowBase; private TexturedBox _captureIndicator; @@ -130,7 +130,6 @@ public void Update() public void MatchEnded(IMyFaction winner) { - Log.Info("KOTHHud.cs:133 MatchEnded (" + winner?.Name + ")"); _captureIndicator.Visible = false; _captureLabel.Visible = false; diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/SUGMA_SessionComponent.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/SUGMA_SessionComponent.cs index b237979cb..e863fb505 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/SUGMA_SessionComponent.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/SUGMA_SessionComponent.cs @@ -16,6 +16,9 @@ using SC.SUGMA.HeartNetworking.Custom; using SC.SUGMA.Utilities; using VRage.Game.Components; +using VRage.Scripting; +using Sandbox.Game; +using VRageMath; namespace SC.SUGMA { @@ -102,7 +105,7 @@ public bool StartGamemode(string id, string[] arguments, bool notifyNetwork = fa CurrentGamemode = (GamemodeBase)_components[id]; CurrentGamemode.StartRound(arguments); - if (!CurrentGamemode.IsStarted) + if (!(CurrentGamemode?.IsStarted ?? false)) { CurrentGamemode = null; return false; @@ -134,18 +137,15 @@ public bool StopGamemode(bool notifyNetwork = false) return true; } - public static string ListGamemodes() + public static void ListGamemodes() { var availableGamemodes = new StringBuilder(); foreach (var gamemode in I.GetGamemodes()) { var gamemodeObject = I.GetComponent(gamemode); - availableGamemodes.Append( - $"\n- {gamemode} ({gamemodeObject.ReadableName})\n * {gamemodeObject.ArgumentParser.HelpText.Replace("\n", "\n * ")}"); + MyAPIGateway.Utilities.ShowMessage($"{gamemode} ({gamemodeObject.ReadableName})", $"\n- {gamemodeObject.ArgumentParser.HelpText.Replace("\n", "\n- ")}"); } - - return availableGamemodes.ToString(); } #region Base Methods @@ -238,4 +238,4 @@ protected override void UnloadData() #endregion } -} \ No newline at end of file +} diff --git a/Gamemode Mods/Starcore_Pointslist/Data/Scripts/Additions/PointAdditions.cs b/Gamemode Mods/Starcore_Pointslist/Data/Scripts/Additions/PointAdditions.cs index 6e2f5f12f..116889d45 100644 --- a/Gamemode Mods/Starcore_Pointslist/Data/Scripts/Additions/PointAdditions.cs +++ b/Gamemode Mods/Starcore_Pointslist/Data/Scripts/Additions/PointAdditions.cs @@ -182,25 +182,25 @@ internal class PointAdditions : MySessionComponentBase ["AQD_LG_HydroThrusterL_ArmoredSlope"] = 50, ["AQD_LG_HydroThrusterL_Armored"] = 50, ["LargeBlockLargeHydrogenThrustIndustrial"] = 50, - ["LargeBlockSmallHydrogenThrust"] = 15, - ["AQD_LG_HydroThrusterS_ArmoredSlope"] = 15, - ["AQD_LG_HydroThrusterS_Armored"] = 15, - ["LargeBlockSmallHydrogenThrustIndustrial"] = 15, + ["LargeBlockSmallHydrogenThrust"] = 10, + ["AQD_LG_HydroThrusterS_ArmoredSlope"] = 10, + ["AQD_LG_HydroThrusterS_Armored"] = 10, + ["LargeBlockSmallHydrogenThrustIndustrial"] = 10, ["HugeHydrogenThruster"] = 200, - ["LargeBlockLargeThrust"] = 20, - ["AQD_LG_IonThrusterL_ArmoredSlope"] = 20, - ["AQD_LG_IonThrusterL_Armored"] = 20, - ["LargeBlockLargeThrustSciFi"] = 20, - ["LargeBlockLargeModularThruster"] = 20, - ["LargeBlockSmallThrust"] = 4, - ["AQD_LG_IonThrusterS_Armored"] = 4, - ["AQD_LG_IonThrusterS_ArmoredSlope"] = 4, - ["LargeBlockSmallThrustSciFi"] = 4, - ["SmallThrustSciFi"] = 4, - ["LargeBlockSmallModularThruster"] = 4, - ["AWGFocusDrive"] = 100, - ["IonHeavyCovered"] = 100, + ["LargeBlockLargeThrust"] = 10, + ["AQD_LG_IonThrusterL_ArmoredSlope"] = 10, + ["AQD_LG_IonThrusterL_Armored"] = 10, + ["LargeBlockLargeThrustSciFi"] = 10, + ["LargeBlockLargeModularThruster"] = 10, + ["LargeBlockSmallThrust"] = 2, + ["AQD_LG_IonThrusterS_Armored"] = 2, + ["AQD_LG_IonThrusterS_ArmoredSlope"] = 2, + ["LargeBlockSmallThrustSciFi"] = 2, + ["SmallThrustSciFi"] = 2, + ["LargeBlockSmallModularThruster"] = 2, + ["AWGFocusDrive"] = 50, + ["IonHeavyCovered"] = 50, ["AWGGG"] = 150, ["AQD_LG_AtmoThrusterS_ArmoredSlopeRev"] = 3, @@ -560,7 +560,7 @@ internal class PointAdditions : MySessionComponentBase ["Hellfire_Laser_Block"] = 666, - ["Cat_StarcoreUlitity"] = 21, + ["Cat_StarcoreUlitity"] = 21, ["LargeBlockRemoteControl"] = 100, ["SmallBlockRemoteControl"] = 50, ["LargeProgrammableBlock"] = 50, @@ -591,7 +591,7 @@ internal class PointAdditions : MySessionComponentBase ["Starcore_RWR_Projectiles"] = 5, ["SC_Flare"] = 50, ["SI_Field_Gen"] = 50, - ["FieldGen_Core"] = 50, + ["FieldGen_Core"] = 50, ["FieldGen_Capacity_Upgrade"] = 50, ["SELtdLargeNanobotBuildAndRepairSystem"] = 50, ["PM_LG_BLASTPLATE_BLASTPLATE"] = 100, @@ -612,9 +612,9 @@ internal class PointAdditions : MySessionComponentBase ["BlinkDriveLarge"] = 500, ["SCSmallJumpDrive"] = 250, - ["Cat_BadModder"] = 22, + ["Cat_BadModder"] = 22, ["APE_Strong"] = 200, - ["GoalieCasemate"] = 175, + ["GoalieCasemate"] = 100, ["Reaver_Coilgun"] = 115, ["Assault_Coil_Turret"] = 115, ["Priest_Block"] = 100, @@ -646,7 +646,7 @@ internal class PointAdditions : MySessionComponentBase ["Thagomizer_Angled"] = 635, ["Thagomizer_Angled_Flipped"] = 635, - ["Cat_Strikecraft"] = 23, + ["Cat_Strikecraft"] = 23, ["HeavyFighterBay"] = 230, ["longsword"] = 625, ["TaiidanSingleHangar"] = 100, @@ -767,9 +767,9 @@ internal class PointAdditions : MySessionComponentBase ["Caster_Reactor"] = 125, ["Heat_Heatsink"] = 10, ["Heat_FlatRadiator"] = 10, - ["ActiveRadiator"] = 250, - ["RadiatorPanel"] = 5, - ["ExtendableRadiatorBase"] = 5, + ["ActiveRadiator"] = 250, + ["RadiatorPanel"] = 10, + ["ExtendableRadiatorBase"] = 5, #endregion }; @@ -948,7 +948,7 @@ private static MyTuple ClimbingCostRename(string blockDisplayName break; case "[FLAW] Goalkeeper Casemate Flak Battery": blockDisplayName = "[FLAW] Goalkeeper Flakwall"; - costMultiplier = 0.119f; + costMultiplier = 0f; break; case "Shield Controller": case "Shield Controller Table": diff --git a/README.md b/README.md index 19b4b32ac..6ea2b2695 100644 --- a/README.md +++ b/README.md @@ -9,16 +9,18 @@ In StarCore, teams build their own ships and battle for the spot of champion in a StarCore Tournament. They normally take place on Saturdays and are streamed live by one of several streamers over on Twitch (See #content-announcements in the StarCore Discord for more information). It's time to join the arena! +*** ## Contribution guide -### prerequsites: + +### Prerequsites: - (extremely recommended) github Desktop, GitExtentions, or something similar - knowing the layout of SE mod files - enough space to download the entire git repo (~5gb)? ### Step 1: -- ``Fork`` this repository to a folder on your computer. Name it something like SCModRepository-Yourname. This is where your edits can be made, and is apparently how actual projects do it. You can do this in GitHub desktop by git cloning the url, or through the github website, with the "fork" button which you can then git clone to a folder on your computer where you can make changes. +- ``Fork`` this repository to a folder on your computer. Name it something like SCModRepository-Yourname. This is where your edits can be made, and is apparently how actual projects do it. ### Step 2: - ``Make a branch`` for the changes you want to do on ``your local repository``. (i.e. SCModRepository-Yourname/BuffMyFavoriteGunPlease) Use your local repository's ``Main`` branch to keep in sync with starcore's ``Main`` branch, it makes edits much easier. You just click the button on github to sync it. @@ -30,17 +32,19 @@ In StarCore, teams build their own ships and battle for the spot of champion in - Make your edits and throw it back in the repository folder. you can use the ``.bat file`` included in the repository to link your local Space Engineers mods with the ones in the repository. ### Step 5: -- Submit a pull request so that the branch can be merged into the SCModRepository/master one. - +- Submit a pull request so that the branch can be merged into the SCModRepository/Main one. +- You can merge your PR yourself if you're confident, or ask for review. Once merged, the development version of the mod will automatically be updated. +Note - the `Main` branch is for the ModDev world, and `Stable` is for the primary combat and build worlds. `Stable` pushes are done in bulk after Test Tournaments. +*** ## How does this work? The repository contains a .github folder, Space Engineers mod folders, and a .gitignore file. ### .github folder: -- contains the instructions to the bot what to do after a "push", currently set to upload to the steam workshop after the respective .yml file detects a change in the folder its looking for +- contains the instructions to the bot what to do after a "push", currently set to upload to the steam workshop after [SCUniversalUpload](https://github.com/StarCoreSE/SCModRepository/blob/main/.github/workflows/Aristeas%20NewUniversalUpload.yml) detects a change in a folder with a `modinfo_BRANCHNAME.sbmi` file. ### SE Mod folders: - contains all the data that would load normally as an SE mod ### .gitignore file diff --git a/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/CameraDataPacket.cs b/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/CameraDataPacket.cs new file mode 100644 index 000000000..d1ceb042d --- /dev/null +++ b/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/CameraDataPacket.cs @@ -0,0 +1,16 @@ +using ProtoBuf; +using VRage; +using VRageMath; + +namespace CameraInfoApi.Data.Scripts.CameraInfoApi +{ + [ProtoContract] + internal class CameraDataPacket + { + [ProtoMember(1)] public MatrixD Matrix; + [ProtoMember(2)] public float FieldOfView; + [ProtoMember(3)] public long GridId; + + public MyTuple Tuple => new MyTuple(Matrix, FieldOfView); + } +} diff --git a/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/ClientMain.cs b/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/ClientMain.cs new file mode 100644 index 000000000..bc079a312 --- /dev/null +++ b/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/ClientMain.cs @@ -0,0 +1,46 @@ +using CameraInfoApi.Data.Scripts.CameraInfoApi; +using Sandbox.ModAPI; +using System; +using VRage.Game.Components; +using VRage.Game.ModAPI; +using VRageMath; + +namespace CameraInfoApi +{ + [MySessionComponentDescriptor(MyUpdateOrder.AfterSimulation)] + internal class ClientMain : MySessionComponentBase + { + private IMyCubeGrid prevGrid = null; + private int _ticks = 0; + public override void UpdateAfterSimulation() + { + if (MyAPIGateway.Utilities.IsDedicated) + return; + + if (_ticks++ % 10 != 0) + return; + + var clientGrid = (MyAPIGateway.Session.Player?.Controller?.ControlledEntity as IMyShipController)?.CubeGrid; + if (clientGrid == null) + { + if (prevGrid != null) + MyAPIGateway.Multiplayer.SendMessageToServer(3621, MyAPIGateway.Utilities.SerializeToBinary(new CameraDataPacket() + { + Matrix = MatrixD.Identity, + FieldOfView = -1, + GridId = prevGrid.EntityId, + })); + prevGrid = null; + return; + } + + prevGrid = clientGrid; + MyAPIGateway.Multiplayer.SendMessageToServer(3621, MyAPIGateway.Utilities.SerializeToBinary(new CameraDataPacket() + { + Matrix = MyAPIGateway.Session.Camera.ViewMatrix, + FieldOfView = MyAPIGateway.Session.Camera.FieldOfViewAngle, + GridId = prevGrid.EntityId, + })); + } + } +} diff --git a/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/ServerMain.cs b/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/ServerMain.cs new file mode 100644 index 000000000..c3a52df5a --- /dev/null +++ b/Utility Mods/CameraInfoApi/Data/Scripts/CameraInfoApi/ServerMain.cs @@ -0,0 +1,82 @@ +using CameraInfoApi.Data.Scripts.CameraInfoApi; +using Sandbox.Game.Entities; +using Sandbox.ModAPI; +using System; +using System.Collections.Generic; +using VRage; +using VRage.Game.Components; +using VRage.Game.ModAPI; +using VRageMath; + +namespace CameraInfoApi +{ + [MySessionComponentDescriptor(MyUpdateOrder.NoUpdate)] + internal class ServerMain : MySessionComponentBase + { + public Dictionary> CameraInfos = new Dictionary>(); + + public override void LoadData() + { + if (!MyAPIGateway.Session.IsServer) + return; + + MyAPIGateway.Multiplayer.RegisterSecureMessageHandler(3621, HandleMessage); + InitPbApi(); + } + + protected override void UnloadData() + { + if (!MyAPIGateway.Session.IsServer) + return; + + MyAPIGateway.Multiplayer.UnregisterSecureMessageHandler(3621, HandleMessage); + } + + private void HandleMessage(ushort handlerId, byte[] package, ulong senderSteamId, bool fromServer) + { + if (package == null || package.Length == 0) + return; + var message = MyAPIGateway.Utilities.SerializeFromBinary(package); + if (message == null) + return; + + var grid = MyAPIGateway.Entities.GetEntityById(message.GridId) as MyCubeGrid; + if (grid == null) + return; + + if (message.FieldOfView == -1) + { + CameraInfos.Remove(grid); + return; + } + + CameraInfos[grid] = message.Tuple; + } + + private void InitPbApi() + { + var property = MyAPIGateway.TerminalControls.CreateProperty?>, IMyProgrammableBlock>("CameraInfoApi"); + property.Getter = b => () => + { + MyTuple info; + if (!CameraInfos.TryGetValue((MyCubeGrid) b.CubeGrid, out info)) + return null; + return new MyTuple?(info); + }; + MyAPIGateway.TerminalControls.AddControl(property); + + MyAPIGateway.Entities.GetEntities(null, ent => + { + var grid = ent as IMyCubeGrid; + if (grid == null) + return false; + + // Workaround for scripts crashing when loading before the API is ready (i.e. on world load) + foreach (var pb in grid.GetFatBlocks()) + if (!pb.IsRunning && pb.ProgramData.Contains("CameraInfoApi")) + pb.Recompile(); + return false; + }); + } + } +} diff --git a/Utility Mods/CameraInfoApi/Properties/AssemblyInfo.cs b/Utility Mods/CameraInfoApi/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..01d77734a --- /dev/null +++ b/Utility Mods/CameraInfoApi/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CameraInfoApi")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("CameraInfoApi")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4b783ffe-e887-4220-8412-25caa84a7869")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Utility Mods/CameraInfoApi/uploaddisable_main.sbmi b/Utility Mods/CameraInfoApi/uploaddisable_main.sbmi new file mode 100644 index 000000000..e69de29bb diff --git a/Utility Mods/CameraInfoApi/uploaddisable_stable.sbmi b/Utility Mods/CameraInfoApi/uploaddisable_stable.sbmi new file mode 100644 index 000000000..e69de29bb diff --git a/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc b/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc index 47d25cb99..caa2b293a 100644 --- a/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc +++ b/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc @@ -24,6 +24,7 @@ ExtendableRadiatorBase Heat_FlatRadiator ActiveRadiator + ActiveRadiatorFake diff --git a/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc b/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc index d915be8dc..b3dbadc28 100644 --- a/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc +++ b/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc @@ -36,6 +36,43 @@ X + + + + TerminalBlock + ActiveRadiatorFake + + RealFake Rotary Active Radiator + + Looks just like the Rotary Active Radiator, but doesn't actually reduce heat! + Animation tied to grid power draw. + + Textures\GUI\Icons\Cubes\ActiveRadiator.dds + Large + TriangleMesh + + + Models\ActiveRadiator.mwm + + + + + + + + + + 0.3 + ActiveRadiatorFake + + + + + + + + + X \ No newline at end of file diff --git a/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs b/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs index b21d9f7df..a9b2abf5b 100644 --- a/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs +++ b/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs @@ -9,12 +9,15 @@ namespace Epstein_Fusion_DS.HeatParts.ExtendableRadiators { - [MyEntityComponentDescriptor(typeof(MyObjectBuilder_TerminalBlock), false, "ActiveRadiator")] + [MyEntityComponentDescriptor(typeof(MyObjectBuilder_TerminalBlock), false, "ActiveRadiator", "ActiveRadiatorFake")] internal class ActiveRadiatorAnimation : MyGameLogicComponent { private IMyCubeBlock Block; private MyEntitySubpart FanPart; private MyParticleEffect Particle; + private readonly MyDefinitionId ElectricityId = MyDefinitionId.Parse("GasProperties/Electricity"); + + private float UsedPowerPct => Block.CubeGrid.ResourceDistributor.TotalRequiredInputByType(ElectricityId, Block.CubeGrid) / Block.CubeGrid.ResourceDistributor.MaxAvailableResourceByType(ElectricityId); public override void Init(MyObjectBuilder_EntityBase objectBuilder) { @@ -41,7 +44,9 @@ public override void UpdateOnceBeforeFrame() public override void UpdateAfterSimulation() { - float heatLevel = HeatManager.I.GetGridHeatLevel(Block.CubeGrid); + float heatLevel = Block.BlockDefinition.SubtypeName == "ActiveRadiatorFake" ? UsedPowerPct : HeatManager.I.GetGridHeatLevel(Block.CubeGrid); + if (!Block.IsWorking) + heatLevel = 0; Matrix refMatrix = MatrixD.CreateFromAxisAngle(Vector3D.Up, -0.1 * heatLevel) * FanPart.PositionComp.LocalMatrixRef; refMatrix.Translation = FanPart.PositionComp.LocalMatrixRef.Translation; diff --git a/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Config.cs b/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Config.cs index 4822e35e5..b89c15cc8 100644 --- a/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Config.cs +++ b/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Config.cs @@ -33,8 +33,8 @@ public class Generator_Settings public float MaxPowerDraw = 500.00f; public float MinPowerDraw = 50.00f; - public int MaxSiegeTime = 60; - public int MinSiegeTime = 15; + public int MaxSiegeTime = 60; + public int MinSiegeTime = 15; public int SiegePowerDraw = 900; public float SiegeModeResistence = 0.9f; @@ -75,79 +75,79 @@ void LoadConfig(MyIni iniParser) void SaveConfig(MyIni iniParser) { - iniParser.Set(IniSection, nameof(MaxModuleCount), MaxModuleCount); - iniParser.SetComment(IniSection, nameof(MaxModuleCount), - " \n[Maximum number of upgrade modules that can be attached to the Field Generator core.]\n" + - "[Each core has 4 mounting points by default.]\n" + - "[Default: 4]"); - - iniParser.Set(IniSection, nameof(PerModuleAmount), PerModuleAmount); - iniParser.SetComment(IniSection, nameof(PerModuleAmount), - " \n[Amount of resistance each attached upgrade module provides.]\n" + - "[Default: 10.0]"); - - iniParser.Set(IniSection, nameof(MaxPowerDraw), MaxPowerDraw); - iniParser.SetComment(IniSection, nameof(MaxPowerDraw), - " \n[The maximum power draw (in MW) when the Field Generator is at full power.]\n" + - "[Default: 500 MW]"); - - iniParser.Set(IniSection, nameof(MinPowerDraw), MinPowerDraw); - iniParser.SetComment(IniSection, nameof(MinPowerDraw), - " \n[Baseline power draw (in MW) at minimum field power.]\n" + - "[Default: 50 MW]"); - - iniParser.Set(IniSection, nameof(MaxSiegeTime), MaxSiegeTime); - iniParser.SetComment(IniSection, nameof(MaxSiegeTime), - " \n[Maximum duration (in seconds) the Field Generator can remain in Siege mode.]\n" + - "[Default: 60s]\n"); - - iniParser.Set(IniSection, nameof(SiegePowerDraw), SiegePowerDraw); - iniParser.SetComment(IniSection, nameof(SiegePowerDraw), - " \n[Power draw (in MW) while Siege mode is active.]\n" + - "[Overrides normal scaled power draw.]\n" + - "[Default: 900 MW]"); - - iniParser.Set(IniSection, nameof(SiegeModeResistence), SiegeModeResistence); - iniParser.SetComment(IniSection, nameof(SiegeModeResistence), - " \n[Amount of damage resistance provided by Siege mode (0.0 to 1.0).]\n" + - "[Example: 0.9 means 90% damage reduction from normal.]\n" + - "[Default: 0.9]"); - - iniParser.Set(IniSection, nameof(SimplifiedMode), SimplifiedMode); - iniParser.SetComment(IniSection, nameof(SimplifiedMode), - " \n[Whether to disable (true) or enable (false) the advanced stability system.]\n" + - "[Default: true]"); - - iniParser.Set(IniSection, nameof(DamageEventThreshold), DamageEventThreshold); - iniParser.SetComment(IniSection, nameof(DamageEventThreshold), - " \n[Number of damage events (within ResetInterval) needed to trigger stability reduction.]\n" + - "[Default: 6]"); - - iniParser.Set(IniSection, nameof(ResetInterval), ResetInterval); - iniParser.SetComment(IniSection, nameof(ResetInterval), - " \n[Time interval (in seconds) between damage counter resets.]\n" + - "[Default: 3]"); - - iniParser.Set(IniSection, nameof(MinBlockCount), MinBlockCount); - iniParser.SetComment(IniSection, nameof(MinBlockCount), - " \n[Minimum grid block count used in the size-based stability calculation.]\n" + - "[Default: 2500]"); - - iniParser.Set(IniSection, nameof(MaxBlockCount), MaxBlockCount); - iniParser.SetComment(IniSection, nameof(MaxBlockCount), - " \n[Maximum grid block count used in the size-based stability calculation.]\n" + - "[Default: 35000]"); - - iniParser.Set(IniSection, nameof(SizeModifierMin), SizeModifierMin); - iniParser.SetComment(IniSection, nameof(SizeModifierMin), - " \n[The lower bound of the size modifier.]\n" + - "[Size Modifier can reduce or increase stability change based on the grid size. This Min is the Increase at Min Grid Size]\n" + - "[Default: 1.2]"); - - iniParser.Set(IniSection, nameof(SizeModifierMax), SizeModifierMax); - iniParser.SetComment(IniSection, nameof(SizeModifierMax), - " \n[The upper bound of the size modifier.]\n" + - "[Size Modifier can reduce or increase stability change based on the grid size. This Max is the Reduction at Max Grid Size]\n" + + iniParser.Set(IniSection, nameof(MaxModuleCount), MaxModuleCount); + iniParser.SetComment(IniSection, nameof(MaxModuleCount), + " \n[Maximum number of upgrade modules that can be attached to the Field Generator core.]\n" + + "[Each core has 4 mounting points by default.]\n" + + "[Default: 4]"); + + iniParser.Set(IniSection, nameof(PerModuleAmount), PerModuleAmount); + iniParser.SetComment(IniSection, nameof(PerModuleAmount), + " \n[Amount of resistance each attached upgrade module provides.]\n" + + "[Default: 10.0]"); + + iniParser.Set(IniSection, nameof(MaxPowerDraw), MaxPowerDraw); + iniParser.SetComment(IniSection, nameof(MaxPowerDraw), + " \n[The maximum power draw (in MW) when the Field Generator is at full power.]\n" + + "[Default: 500 MW]"); + + iniParser.Set(IniSection, nameof(MinPowerDraw), MinPowerDraw); + iniParser.SetComment(IniSection, nameof(MinPowerDraw), + " \n[Baseline power draw (in MW) at minimum field power.]\n" + + "[Default: 50 MW]"); + + iniParser.Set(IniSection, nameof(MaxSiegeTime), MaxSiegeTime); + iniParser.SetComment(IniSection, nameof(MaxSiegeTime), + " \n[Maximum duration (in seconds) the Field Generator can remain in Siege mode.]\n" + + "[Default: 60s]\n"); + + iniParser.Set(IniSection, nameof(SiegePowerDraw), SiegePowerDraw); + iniParser.SetComment(IniSection, nameof(SiegePowerDraw), + " \n[Power draw (in MW) while Siege mode is active.]\n" + + "[Overrides normal scaled power draw.]\n" + + "[Default: 900 MW]"); + + iniParser.Set(IniSection, nameof(SiegeModeResistence), SiegeModeResistence); + iniParser.SetComment(IniSection, nameof(SiegeModeResistence), + " \n[Amount of damage resistance provided by Siege mode (0.0 to 1.0).]\n" + + "[Example: 0.9 means 90% damage reduction from normal.]\n" + + "[Default: 0.9]"); + + iniParser.Set(IniSection, nameof(SimplifiedMode), SimplifiedMode); + iniParser.SetComment(IniSection, nameof(SimplifiedMode), + " \n[Whether to disable (true) or enable (false) the advanced stability system.]\n" + + "[Default: true]"); + + iniParser.Set(IniSection, nameof(DamageEventThreshold), DamageEventThreshold); + iniParser.SetComment(IniSection, nameof(DamageEventThreshold), + " \n[Number of damage events (within ResetInterval) needed to trigger stability reduction.]\n" + + "[Default: 6]"); + + iniParser.Set(IniSection, nameof(ResetInterval), ResetInterval); + iniParser.SetComment(IniSection, nameof(ResetInterval), + " \n[Time interval (in seconds) between damage counter resets.]\n" + + "[Default: 3]"); + + iniParser.Set(IniSection, nameof(MinBlockCount), MinBlockCount); + iniParser.SetComment(IniSection, nameof(MinBlockCount), + " \n[Minimum grid block count used in the size-based stability calculation.]\n" + + "[Default: 2500]"); + + iniParser.Set(IniSection, nameof(MaxBlockCount), MaxBlockCount); + iniParser.SetComment(IniSection, nameof(MaxBlockCount), + " \n[Maximum grid block count used in the size-based stability calculation.]\n" + + "[Default: 35000]"); + + iniParser.Set(IniSection, nameof(SizeModifierMin), SizeModifierMin); + iniParser.SetComment(IniSection, nameof(SizeModifierMin), + " \n[The lower bound of the size modifier.]\n" + + "[Size Modifier can reduce or increase stability change based on the grid size. This Min is the Increase at Min Grid Size]\n" + + "[Default: 1.2]"); + + iniParser.Set(IniSection, nameof(SizeModifierMax), SizeModifierMax); + iniParser.SetComment(IniSection, nameof(SizeModifierMax), + " \n[The upper bound of the size modifier.]\n" + + "[Size Modifier can reduce or increase stability change based on the grid size. This Max is the Reduction at Max Grid Size]\n" + "[Default: 0.8]"); } diff --git a/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Core.cs b/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Core.cs index cb8c55567..28f4cdf96 100644 --- a/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Core.cs +++ b/Utility Mods/SCDefenseBlocks/Data/Scripts/OneFuckingFolderDeeper/FieldGenerator/FieldGenerator_Core.cs @@ -471,7 +471,7 @@ private void EndSiegeMode() SiegeBlockEnabler(Block.CubeGrid.GetFatBlocks(), true); - SiegeCooldownTime.Value = (SiegeElapsedTime.Value > Config.MinSiegeTime) ? (SiegeElapsedTime.Value * 2) : Config.MinSiegeTime; + SiegeCooldownTime.Value = Math.Max(SiegeElapsedTime.Value * 2, Config.MinSiegeTime); SiegeElapsedTime.Value = 0; SiegeCooldownActive.Value = true; } diff --git a/Utility Mods/SCMobilityBlocks/Data/CubeBlock_CustomBlink.sbc b/Utility Mods/SCMobilityBlocks/Data/CubeBlock_CustomBlink.sbc index 67f8ae8cd..3f3aff751 100644 --- a/Utility Mods/SCMobilityBlocks/Data/CubeBlock_CustomBlink.sbc +++ b/Utility Mods/SCMobilityBlocks/Data/CubeBlock_CustomBlink.sbc @@ -8,7 +8,7 @@ Standard Blink Drive Textures\GUI\Icons\BlinkDriveIcon.dds - 1Km teleport. Holds 3 charges. Each charge takes 100MW and 60s to recharge. + 1Km teleport. Holds 3 charges. Each charge takes 300MW and 60s to recharge. Large TriangleMesh diff --git a/Utility Mods/SCMobilityBlocks/Data/Scripts/InvalidsCustomBlink/CustomBlinkDrive.cs b/Utility Mods/SCMobilityBlocks/Data/Scripts/InvalidsCustomBlink/CustomBlinkDrive.cs index 765c9c116..b53f00606 100644 --- a/Utility Mods/SCMobilityBlocks/Data/Scripts/InvalidsCustomBlink/CustomBlinkDrive.cs +++ b/Utility Mods/SCMobilityBlocks/Data/Scripts/InvalidsCustomBlink/CustomBlinkDrive.cs @@ -39,7 +39,7 @@ public class BlinkDrive : MyGameLogicComponent, IMyEventProxy private const int RechargeTimeSeconds = 60; private const int MaxCharges = 3; - private float GetPowerDraw => JumpTimerSync > 0 ? 100 : 0.25f; + private float GetPowerDraw => JumpTimerSync > 0 ? 300 : 0.25f; private bool CanJump => Block.IsWorking && Block.IsFunctional && MaxCharges > 0; static bool controlsCreated = false; diff --git a/Utility Mods/SC_Season_4_Adjustments/Data/Scripts/CoreParts/BoostedThrustAndFlame/BoostedThrustAndFlame.cs b/Utility Mods/SC_Season_4_Adjustments/Data/Scripts/CoreParts/BoostedThrustAndFlame/BoostedThrustAndFlame.cs index ab8f091ca..8a5052318 100644 --- a/Utility Mods/SC_Season_4_Adjustments/Data/Scripts/CoreParts/BoostedThrustAndFlame/BoostedThrustAndFlame.cs +++ b/Utility Mods/SC_Season_4_Adjustments/Data/Scripts/CoreParts/BoostedThrustAndFlame/BoostedThrustAndFlame.cs @@ -24,7 +24,7 @@ public override void LoadData() if (thruster != null) { thruster.ForceMagnitude *= 4.0f; //S3 was 3.5 - thruster.MaxPowerConsumption *= 3.0f; //S3 was 3.5 + thruster.MaxPowerConsumption *= 2f; //S3 was 3.5 thruster.FlameDamage *= 5f; //thruster.FlameDamageLengthScale *= 1.5f; thruster.FlameLengthScale *= 2.0f; diff --git a/Utility Mods/StarCore Tournament Weapon Category/Data/BlockCategories_StarCoreCorporate.sbc b/Utility Mods/StarCore Tournament Weapon Category/Data/BlockCategories_StarCoreCorporate.sbc index 99d8c16c0..9acfa59a7 100644 --- a/Utility Mods/StarCore Tournament Weapon Category/Data/BlockCategories_StarCoreCorporate.sbc +++ b/Utility Mods/StarCore Tournament Weapon Category/Data/BlockCategories_StarCoreCorporate.sbc @@ -8,86 +8,150 @@ GuiBlockCategoryDefinition - SC [All Access] - .SC_.[All Access] + SC [All Access] Utility + .SC_.[ALL]_A true - + GravityGenerator + Door + AirtightHangarDoor + SurvivalKitLarge + SmallLight + LargeBlockFrontLight + + SC_PowerControlSystem_L + SC_RCS_Computer + + LargeBlockConveyorPipeJunction + LargeBlockConveyor + ConveyorTube + ConveyorTubeDuct + + MA_Buster_ArmorBlock + + LargeDecoy + LargeBlockRadioAntenna + LargeFlightMovement + + LargeTurretControlBlock + SELtdLargeNanobotBuildAndRepairSystem - - - FieldGen_Core - FieldGen_Capacity_Upgrade + + LargeProgrammableBlock + 6SidePB + LargeBlockRemoteControl + + DampeningEnhancer_x2_Large + LargeStator + WorklightSmall + + + + + + + GuiBlockCategoryDefinition + + [ALL] Mobility + .SC_.[ALL]_B + true + + - MA_Afterburner_Large_5x SC_SRB DETPAK + MA_Afterburner_Large_5x AncientAfterburnerT40 - LargeDecoy_MetalFoam - - SC_Flare + BlinkDriveLarge - - Starcore_RWR_Projectiles + LargeBlockGyro + AQD_LG_GyroBooster + AQD_LG_LargeGyro + AQD_LG_GyroUpgrade - - Caster_Accelerator_0 - Caster_Accelerator_90 - Caster_Feeder - Caster_CentralPipe_0 - Caster_CentralPipe_90 - Caster_CentralPipe_T + LargeBlockLargeThrust + HugeHydrogenThruster + AWGFocusDrive + IonHeavyCovered + + Caster_FocusLens - Caster_Reactor - - SC_RCS_Computer - DampeningEnhancer_x2_Large - SC_PowerControlSystem_L - LargeLargeBlockUpgrade - AQD_LG_GyroBooster - AQD_LG_GyroUpgrade + LargeHydrogenTank + LargeHydrogenTankSmall + + + + + + + GuiBlockCategoryDefinition + + [ALL] Defense + .SC_.[ALL]_C + true + + + + FieldGen_Core + FieldGen_Capacity_Upgrade + + + Starcore_RWR_Projectiles SC_Radome - WorklightSmall - BlinkDriveLarge + Mk25Rangefinder - - GIGA_BLASTPLATE + 3x3_Blastplate_A + 3x3_Blastplate_B + 3x3_Blastplate_C + ACTIVE_BLASTPLATE + + SC_Flare + LargeDecoy_MetalFoam + + DSControlLarge + EmitterL + LargeShieldModulator + LargeEnhancer + + Barbette5x5 + + + + + + + GuiBlockCategoryDefinition + + [ALL] Power + .SC_.[ALL]_D + true + + + LargeBlockSolarPanel + LargeBlockBatteryBlock + LargeBlockSmallGenerator + SmallLargeBlockUpgrade + LargeBlockLargeGenerator + LargeLargeBlockUpgrade + + + Caster_Accelerator_0 + Caster_CentralPipe_0 + Caster_Reactor + RadiatorPanel + Heat_Heatsink - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -99,18 +163,11 @@ - NovaCannon - GothicTorp - MacroCannon + AegisFlakTurret + MacroCannon HeavyMacroCannon - FixedLance LanceBattery - LanceLightBattery - LanceHeavyBattery - MacroTurret - MacroLightTurret - MacroHeavyTurret - AegisFlakTurret + NovaCannon @@ -126,22 +183,15 @@ + Priest_Block + PriestReskin_Block + Reaver_Coilgun + Assault_Coil_Turret DualSnubLaserTurret - UnguidedRocketTurret DualPulseLaserTurret - DrunkRocketTurret - Reaver_Coilgun - - Assault_Coil_Turret - APE_Strong - Devastator_Torp - Priest_Block - Type18_Artillery - Type19_Driver - Type21_Artillery - Type22_Driver - Type24_Artillery - Type25_Driver + APE_Strong + Type18_Artillery + Devastator_Torp @@ -151,23 +201,17 @@ GuiBlockCategoryDefinition - [FLAW] - .SC_[FLAW] + [FLW] + .SC_[FLW] true - + LargeRailgun_SC GoalieCasemate - KreegMagnetarCannon - Thagomizer - HeavyFighterBay - HeavyCarronade_5x5_Turret - X4_7x7_HeavyTurret - VindicatorKineticLance - HadeanPlasmaBlastgun - JN_175Fixed - longsword + X4_7x7_HeavyTurret + HeavyCarronade_5x5_Turret + JN_175Fixed @@ -183,18 +227,14 @@ - MA_Fixed_T3 + MA_PDX + MA_Gimbal_Laser + UNN_Heavy_Torpedo + MA_AC150 MA_Gimbal_Laser_T2 - MA_Gladius - MA_Guardian - MA_Derecho - MCRN_Heavy_Torpedo MA_T2PDX - MA_AC150 - MA_Gimbal_Laser - MA_PDX - MA_Tiger - UNN_Heavy_Torpedo + MA_Derecho + MA_Gladius @@ -210,20 +250,13 @@ - NHI_Heavy_Gun_Turret - NHI_Autocannon_Turret - NHI_Fixed_Autocannon NHI_PD_Turret + NHI_Gatling_Laser_Turret + NHI_Autocannon_Turret NHI_Kinetic_Cannon_Turret - NHI_Fixed_Gatling_Laser - SC_Coil_Cannon - NHI_Mk1_Cannon_Turret NHI_Mk2_Cannon_Turret - NHI_Mk3_Cannon_Turret - NHI_Light_Railgun_Turret - NHI_Gatling_Laser_Turret - NHI_Light_Autocannon_Turret - + SC_Coil_Cannon + NHI_Mk3_Cannon_Turret @@ -238,16 +271,10 @@ - SC_AR_Eris - SC_AR_MagnaStar SC_AR_Tumult - SC_AR_Afflictor - SC_AR_Afflictor_Slanted SC_AR_Deimos - SC_AR_FocusedBeam SC_AR_Forager - SC_AR_Heliod - SC_AR_Phobos + SC_AR_Eris @@ -263,17 +290,12 @@ - K_SA_HeavyMetal_Gauss_A - K_SA_HeavyMetal_Gauss_ERII - K_SA_HeavyMetal_Gauss_PGBC SA_HMI_Erebos - Hellfire_Laser_Block - K_SA_HeavyMetal_Spinal_Rotary_Reskin - K_SA_HeavyMetal_Spinal_Rotary - K_SA_Gauss_ERC + K_SA_HeavyMetal_Gauss_A K_SA_HeavyMetal_Gauss_ERFM + K_SA_HeavyMetal_Gauss_PGBC - + @@ -287,15 +309,10 @@ - K_SA_Launcher_VIV - HAS_Cyclops - HAS_Mammon - HAS_Nyx K_SA_Launcher_VI - HAS_Thanatos - HAS_Esper + K_SA_Launcher_VIV HAS_Avenger - HAS_Crossfield + HAS_Esper @@ -313,12 +330,6 @@ Hexcannon MetalStorm - TaiidanHangarBomber - TaiidanHangarBomberMedium - TaiidanRailBomber - TaiidanHangarFighter - TaiidanRailFighter - TaiidanSingleHangar @@ -332,24 +343,22 @@ .SC_[BTI] true + - Starcore_AMS_II_Block - ERPPC - Starcore_L_Laser_Block - ModularLRM5 + ModularLRM5 ModularLRM5Angled ModularLRM5AngledReversed - ModularMiddleLRM5 - Starcore_M_Laser_Block - ModularMRM10 + ModularMiddleLRM5 + Starcore_Arrow_Block_Single + ModularMRM10 ModularMRM10Angled ModularMRM10AngledReversed ModularMiddleMRM10 - Starcore_AMS_I_Block - Starcore_PPC_Block - ModularSRM8 - Starcore_Arrow_Block - Starcore_Arrow_Block_Single + Starcore_AMS_I_Block + Starcore_AMS_II_Block + Starcore_Arrow_Block + ERPPC + @@ -363,13 +372,13 @@ MagnaPulse_Gen - - Impulse_Torch - + + + Counter_Battery - S_Chem_Laser_Block - S_Armored_Laser_Block - + + + Nariman_Dart_Turret SolHyp_Magnetic_Coilgun @@ -383,26 +392,19 @@ .SC_[FAS] true + - 16InchTriple - 6InchTriple + BoforTwinRemodel + QuadBofor + PomPomMain 127mmMk32 127mmMk12 127mmMk24 - 381mmDualR - 15cmTbtsKC36 - 105mmTwin + 203mmTwin 380mmMLE1935 - 15cmSKC28R - 15cmSKC28NR - PomPomMain - BoforTwinRemodel - BoforSingleRemodel - TorpBarbette - Barbette5x5 - QuadBofor - 20InchTwin - 406alternate + 381mmDualR + 16InchTriple + diff --git a/Utility Mods/Stealth Drive - Starcore Edition/uploaddisable_stable.sbmi b/Utility Mods/Stealth Drive - Starcore Edition/uploaddisable_stable.sbmi new file mode 100644 index 000000000..e69de29bb diff --git a/Weapon Mods/Anomaly_Solaris_Hypernautics/Data/Scripts/selfrepair/selfrepair.cs b/Weapon Mods/Anomaly_Solaris_Hypernautics/Data/Scripts/selfrepair/selfrepair.cs index 4de6b91a5..00dbdc145 100644 --- a/Weapon Mods/Anomaly_Solaris_Hypernautics/Data/Scripts/selfrepair/selfrepair.cs +++ b/Weapon Mods/Anomaly_Solaris_Hypernautics/Data/Scripts/selfrepair/selfrepair.cs @@ -68,7 +68,7 @@ private void DoRepair() // If the grid has an owner, proceed with repair and ownership change. - float repairAmount = 14; //about 1% per triggertick, tested in game. + float repairAmount = 8; //about 3.5% per triggertick at 14, 2% per trigger at 8, tested in game. slimBlock.IncreaseMountLevel(repairAmount, 0L, null, 0f, false, MyOwnershipShareModeEnum.Faction); // Try casting to MyCubeBlock and change the owner. diff --git a/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan.cs b/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan.cs index ff49f5072..47319bc74 100644 --- a/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan.cs +++ b/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan.cs @@ -56,9 +56,9 @@ partial class Parts { HardPoint = new HardPointDef { PartName = "R.A.C.-5 Avenger", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons). - DeviateShotAngle = 0.57f, // Projectile inaccuracy in degrees. + DeviateShotAngle = 0.52f, //0.57f //Projectile inaccuracy in degrees. AimingTolerance = 1f, // How many degrees off target a turret can fire at. 0 - 180 firing angle. - AimLeadingPrediction = Basic, // Level of turret aim prediction; Off, Basic, Accurate, Advanced + AimLeadingPrediction = Accurate, // Level of turret aim prediction; Off, Basic, Accurate, Advanced DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released. AddToleranceToTracking = false, // Allows turret to track to the edge of the AimingTolerance cone instead of dead centre. CanShootSubmerged = false, // Whether the weapon can be fired underwater when using WaterMod. diff --git a/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan_Ammo.cs b/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan_Ammo.cs index 489d7b5e9..c43ae332f 100644 --- a/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan_Ammo.cs +++ b/Weapon Mods/Heavy-Assault-Systems/Data/Scripts/CoreParts/Vulcan_Ammo.cs @@ -95,8 +95,8 @@ partial class Parts // For the following modifier values: -1 = disabled (higher performance), 0 = no damage, 0.01f = 1% damage, 2 = 200% damage. FallOff = new FallOffDef { - Distance = 4000f, // Distance at which damage begins falling off. - MinMultipler = 0.5f, // Value from 0.0001f to 1f where 0.1f would be a min damage of 10% of base damage. + Distance = 0f, //4000f// Distance at which damage begins falling off. + MinMultipler = 1f, //0.5f // Value from 0.0001f to 1f where 0.1f would be a min damage of 10% of base damage. }, Grids = new GridSizeDef { diff --git a/Weapon Mods/Invalids Vanilla Lobotomizer/Data/CubeBlocks_Weapons_IVL.sbc b/Weapon Mods/Invalids Vanilla Lobotomizer/Data/CubeBlocks_Weapons_IVL.sbc index 9221c72d3..a95913d6d 100644 --- a/Weapon Mods/Invalids Vanilla Lobotomizer/Data/CubeBlocks_Weapons_IVL.sbc +++ b/Weapon Mods/Invalids Vanilla Lobotomizer/Data/CubeBlocks_Weapons_IVL.sbc @@ -545,9 +545,9 @@ [FLAW] Railgun 2.0 Textures\GUI\Icons\Cubes\RailGun.dds - 10km range Railgun. 5000m/s velocity + 11km range Railgun. 6000m/s velocity 24Mw Passive Draw, 300Mw Recharge - Falloff After 6km. + Falloff After 10km. Deals Kinetic Damage. Large diff --git a/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/AmmoTypes.cs b/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/AmmoTypes.cs index 82da8fb0a..0d5aa9cd5 100644 --- a/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/AmmoTypes.cs +++ b/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/AmmoTypes.cs @@ -2293,8 +2293,8 @@ partial class Parts AmmoMagazine = "LargeRailgunAmmo", // SubtypeId of physical ammo magazine. Use "Energy" for weapons without physical ammo. AmmoRound = "Large Railgun Slug", // Name of ammo in terminal, should be different for each ammo type used by the same weapon. Is used by Shrapnel. HybridRound = true, // Use both a physical ammo magazine and energy per shot. - EnergyCost = 0.2858f, // Scaler for energy per shot (EnergyCost * BaseDamage * (RateOfFire / 3600) * BarrelsPerShot * TrajectilesPerBarrel). Uses EffectStrength instead of BaseDamage if EWAR. - BaseDamage = 126000f, // Direct damage; one steel plate is worth 100. + EnergyCost = 0.2143f, // Scaler for energy per shot (EnergyCost * BaseDamage * (RateOfFire / 3600) * BarrelsPerShot * TrajectilesPerBarrel). Uses EffectStrength instead of BaseDamage if EWAR. + BaseDamage = 126000f, //holy number, not to be changed //Direct damage; one steel plate is worth 100. Mass = 277f, // In kilograms; how much force the impact will apply to the target. Health = 0, // How much damage the projectile can take from other projectiles (base of 1 per hit) before dying; 0 disables this and makes the projectile untargetable. BackKickForce = 0f, // Recoil. This is applied to the Parent Grid. 21777000f @@ -2358,7 +2358,7 @@ partial class Parts // For the following modifier values: -1 = disabled (higher performance), 0 = no damage, 0.01f = 1% damage, 2 = 200% damage. FallOff = new FallOffDef { - Distance = 6000f, // Distance at which damage begins falling off. + Distance = 10000f, // Distance at which damage begins falling off. MinMultipler = 0.75f, // Value from 0.0001f to 1f where 0.1f would be a min damage of 10% of base damage. }, Grids = new GridSizeDef @@ -2409,10 +2409,10 @@ partial class Parts ByBlockHit = new ByBlockHitDef { Enable = true, - Radius = 3f, // Meters - Damage = 10000f, // Damages 4 blocks + Radius = 3.5f, // Meters + Damage = 20000f, // Damages 4 blocks Depth = 1f, // Max depth of AOE effect, in meters. 0=disabled, and AOE effect will reach to a depth of the radius value - MaxAbsorb = 2500f, // Soft cutoff for damage, except for pooled falloff. If pooled falloff, limits max damage per block. + MaxAbsorb = 5000f, // Soft cutoff for damage, except for pooled falloff. If pooled falloff, limits max damage per block. Falloff = Pooled, //.NoFalloff applies the same damage to all blocks in radius //.Linear drops evenly by distance from center out to max radius //.Curve drops off damage sharply as it approaches the max radius @@ -2514,8 +2514,8 @@ partial class Parts TargetLossTime = 0, // 0 is disabled, Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). MaxLifeTime = 120, //120 is required for sound. 0 is disabled, Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). time begins at 0 and time must EXCEED this value to trigger "time > maxValue". Please have a value for this, It stops Bad things. AccelPerSec = 0f, // Meters Per Second. This is the spawning Speed of the Projectile, and used by turning. - DesiredSpeed = 5000, // voxel phasing if you go above 5100 - MaxTrajectory = 10000f, //**MUST** be double of speed for sound to work good.// Max Distance the projectile or beam can Travel. + DesiredSpeed = 6000, // voxel phasing if you go above 5100 + MaxTrajectory = 12500f, //**MUST** be double of speed for sound to work good.// Max Distance the projectile or beam can Travel. DeaccelTime = 0, // 0 is disabled, a value causes the projectile to come to rest overtime, (Measured in game ticks, 60 = 1 second) GravityMultiplier = 0f, // Gravity multiplier, influences the trajectory of the projectile, value greater than 0 to enable. Natural Gravity Only. SpeedVariance = Random(start: 0, end: 0), // subtracts value from DesiredSpeed. Be warned, you can make your projectile go backwards. diff --git a/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/Railguns.cs b/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/Railguns.cs index 7fb8a06cc..10341b779 100644 --- a/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/Railguns.cs +++ b/Weapon Mods/Invalids Vanilla Lobotomizer/Data/Scripts/CoreParts/Railguns.cs @@ -49,7 +49,7 @@ partial class Parts { LockedSmartOnly = false, // Only fire at smart projectiles that are locked on to parent grid. MinimumDiameter = 0, // Minimum radius of threat to engage. MaximumDiameter = 0, // Maximum radius of threat to engage; 0 = unlimited. - MaxTargetDistance = 8000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited. + MaxTargetDistance = 11000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited. MinTargetDistance = 0, // Minimum distance at which targets will be automatically shot at. TopTargets = 2, // Maximum number of targets to randomize between; 0 = unlimited. TopBlocks = 4, // Maximum number of blocks to randomize between; 0 = unlimited. diff --git a/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStorm.cs b/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStorm.cs index e51b7195a..913c37668 100644 --- a/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStorm.cs +++ b/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStorm.cs @@ -79,7 +79,7 @@ partial class Parts { LockedSmartOnly = false, // Only fire at smart projectiles that are locked on to parent grid. MinimumDiameter = 0, // Minimum radius of threat to engage. MaximumDiameter = 0, // Maximum radius of threat to engage; 0 = unlimited. - MaxTargetDistance = 40000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited. + MaxTargetDistance = 3000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited. MinTargetDistance = 0, // Minimum distance at which targets will be automatically shot at. TopTargets = 4, // Maximum number of targets to randomize between; 0 = unlimited. TopBlocks = 8, // Maximum number of blocks to randomize between; 0 = unlimited. @@ -88,8 +88,8 @@ partial class Parts { HardPoint = new HardPointDef { PartName = "Metal Storm", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons). - DeviateShotAngle = 0.05f, // Projectile inaccuracy in degrees. - AimingTolerance = 5f, // How many degrees off target a turret can fire at. 0 - 180 firing angle. + DeviateShotAngle = 0.15f, // Projectile inaccuracy in degrees. + AimingTolerance = 3f, // How many degrees off target a turret can fire at. 0 - 180 firing angle. AimLeadingPrediction = Accurate, // Level of turret aim prediction; Off, Basic, Accurate, Advanced DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released - while a target is available. AddToleranceToTracking = false, // Allows turret to track to the edge of the AimingTolerance cone instead of dead centre. diff --git a/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStormAmmo.cs b/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStormAmmo.cs index 983589aea..0fdcd81d9 100644 --- a/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStormAmmo.cs +++ b/Weapon Mods/Military Industrial Complex/Data/Scripts/CoreParts/MetalStormAmmo.cs @@ -135,11 +135,11 @@ partial class Parts MaxLifeTime = 0, // 0 is disabled, Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). time begins at 0 and time must EXCEED this value to trigger "time > maxValue". Please have a value for this, It stops Bad things. AccelPerSec = 0f, // Meters Per Second. This is the spawning Speed of the Projectile, and used by turning. DesiredSpeed = 1000, // voxel phasing if you go above 5100 - MaxTrajectory = 4000, // Max Distance the projectile or beam can Travel. + MaxTrajectory = 3150, // Max Distance the projectile or beam can Travel. DeaccelTime = 0, // 0 is disabled, a value causes the projectile to come to rest overtime, (Measured in game ticks, 60 = 1 second) GravityMultiplier = 0f, // Gravity multiplier, influences the trajectory of the projectile, value greater than 0 to enable. Natural Gravity Only. SpeedVariance = Random(start: 0, end: 0), // subtracts value from DesiredSpeed. Be warned, you can make your projectile go backwards. - RangeVariance = Random(start: 0, end: 0), // subtracts value from MaxTrajectory + RangeVariance = Random(start: 0, end: 75), // subtracts value from MaxTrajectory MaxTrajectoryTime = 0, // How long the weapon must fire before it reaches MaxTrajectory. }, AmmoGraphics = new GraphicDef diff --git a/Weapon Mods/TIOStarcore/Data/SBC CubeBlocks/GoalkeeperFlakwallCubeblock.sbc b/Weapon Mods/TIOStarcore/Data/SBC CubeBlocks/GoalkeeperFlakwallCubeblock.sbc index a8215e0fd..028154c48 100644 --- a/Weapon Mods/TIOStarcore/Data/SBC CubeBlocks/GoalkeeperFlakwallCubeblock.sbc +++ b/Weapon Mods/TIOStarcore/Data/SBC CubeBlocks/GoalkeeperFlakwallCubeblock.sbc @@ -9,8 +9,8 @@ [FLAW] Goalkeeper Casemate Flak Battery - [1600 Targeting Range] - [1200 Flak Range] + [2000m Targeting Range] + [1200m Flak Range] [Clouds of small pre-cast fragments are lethal to missiles, biologicals, below average sized meteors, and small grids.] [Targets Missiles, deals 160 AMS Damage Per Second] @@ -19,8 +19,8 @@ Large true TriangleMesh - - + + Models\HSR\K_HSR_Damnation_Large.mwm diff --git a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/FixedgunRLXammo.cs b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/FixedgunRLXammo.cs index 0553e31a5..84615e511 100644 --- a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/FixedgunRLXammo.cs +++ b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/FixedgunRLXammo.cs @@ -47,8 +47,8 @@ partial class Parts EnergyCost = 0.017f, //195 Scaler for energy per shot (EnergyCost * BaseDamage * (RateOfFire / 3600) * BarrelsPerShot * TrajectilesPerBarrel). Uses EffectStrength instead of BaseDamage if EWAR. BaseDamage = 10000f, // Direct damage; one steel plate is worth 100. Mass = 500f, // In kilograms; how much force the impact will apply to the target. - Health = 12, // How much damage the projectile can take from other projectiles (base of 1 per hit) before dying; 0 disables this and makes the projectile untargetable. - BackKickForce = 7771000f, // Recoil. This is applied to the Parent Grid. + Health = 50, // How much damage the projectile can take from other projectiles (base of 1 per hit) before dying; 0 disables this and makes the projectile untargetable. + BackKickForce = 5777100f, // Recoil. This is applied to the Parent Grid. DecayPerShot = 0f, // Damage to the firing weapon itself. //float.MaxValue will drop the weapon to the first build state and destroy all components used for construction //If greater than cube integrity it will remove the cube upon firing, without causing deformation (makes it look like the whole "block" flew away) @@ -539,7 +539,7 @@ partial class Parts }, Shields = new ShieldDef { - Modifier = 4f, // Multiplier for damage against shields. + Modifier = 6f, // Multiplier for damage against shields. Type = Default, // Damage vs healing against shields; Default, Heal BypassModifier = -1.3f, // If greater than zero, the percentage of damage that will penetrate the shield. }, diff --git a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/LBX_ammo.cs b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/LBX_ammo.cs index 3b2b42d11..9bb782e1d 100644 --- a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/LBX_ammo.cs +++ b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Fixed Guns/LBX_ammo.cs @@ -1939,7 +1939,7 @@ partial class Parts Fragment = new FragmentDef // Formerly known as Shrapnel. Spawns specified ammo fragments on projectile death (via hit or detonation). { AmmoRound = "LBXCluster_Fragment", // AmmoRound field of the ammo to spawn. - Fragments = 4, // Number of projectiles to spawn. + Fragments = 6, // Number of projectiles to spawn. Degrees = 9f, // Cone in which to randomize direction of spawned projectiles. Reverse = false, // Spawn projectiles backward instead of forward. DropVelocity = true, // fragments will not inherit velocity from parent. @@ -1959,8 +1959,8 @@ partial class Parts PointAtTarget = false, // Start fragment direction pointing at Target PointType = Lead, // Point accuracy, Direct (straight forward), Lead (always fire), Predict (only fire if it can hit) DirectAimCone = 15f, //Aim cone used for Direct fire, in degrees - GroupSize = 4, // Number of spawns in each group - GroupDelay = 4, //5 Delay between each group. + GroupSize = 6, // Number of spawns in each group + GroupDelay = 3, //5 Delay between each group. }, }, Pattern = new PatternDef diff --git a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieAmmotypes.cs b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieAmmotypes.cs index aa44fa4c4..09734263e 100644 --- a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieAmmotypes.cs +++ b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieAmmotypes.cs @@ -239,7 +239,7 @@ partial class Parts WidthVariance = Random(start: 0f, end: 0f), // adds random value to default width (negatives shrinks width) Tracer = new TracerBaseDef { - Enable = false, //doesn't need to be true I think. thanks darth for the tip. + Enable = true, //doesn't need to be true I think. thanks darth for the tip. Length = 10f, // Width = 1f, // Color = Color(red: 0f, green: 0f, blue: 0f, alpha: 0f), // RBG 255 is Neon Glowing, 100 is Quite Bright. @@ -489,7 +489,7 @@ partial class Parts WidthVariance = Random(start: 0f, end: 0f), // adds random value to default width (negatives shrinks width) Tracer = new TracerBaseDef { - Enable = false, + Enable = true, Length = 10f, // Width = 1f, // Color = Color(red: 0f, green: 0f, blue: 0f, alpha: 0f), // RBG 255 is Neon Glowing, 100 is Quite Bright. @@ -723,7 +723,7 @@ partial class Parts WidthVariance = Random(start: 0f, end: 0f), // adds random value to default width (negatives shrinks width) Tracer = new TracerBaseDef { - Enable = false, + Enable = true, Length = 10f, // Width = 1f, // Color = Color(red: 0f, green: 0f, blue: 0f, alpha: 0f), // RBG 255 is Neon Glowing, 100 is Quite Bright. @@ -971,7 +971,7 @@ partial class Parts WidthVariance = Random(start: 0f, end: 0f), // adds random value to default width (negatives shrinks width) Tracer = new TracerBaseDef { - Enable = false, + Enable = true, Length = 10f, // Width = 1f, // Color = Color(red: 0f, green: 0f, blue: 0f, alpha: 0f), // RBG 255 is Neon Glowing, 100 is Quite Bright. @@ -1163,7 +1163,7 @@ partial class Parts WidthVariance = Random(start: 0f, end: 0f), // adds random value to default width (negatives shrinks width) Tracer = new TracerBaseDef { - Enable = false, + Enable = true, Length = 0.001f, // Width = 1f, // Color = Color(red: 1f, green: 1f, blue: 0f, alpha: 0f), // RBG 255 is Neon Glowing, 100 is Quite Bright. diff --git a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieMultiTurretParts.cs b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieMultiTurretParts.cs index 7ff0c5ae1..398761d1b 100644 --- a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieMultiTurretParts.cs +++ b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Flak MachineGuns LightCannons/GoalieMultiTurretParts.cs @@ -53,7 +53,7 @@ partial class Parts { Projectiles, Meteors, Neutrals, // Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals }, SubSystems = new[] { - Offense, Thrust, Utility, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any + Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any }, ClosestFirst = false, // Tries to pick closest targets first (blocks on grids, projectiles, etc...). IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles. @@ -147,7 +147,7 @@ partial class Parts { }, Other = new OtherDef { - ConstructPartCap = 0, // Maximum number of blocks with this weapon on a grid; 0 = unlimited. + ConstructPartCap = 4, // Maximum number of blocks with this weapon on a grid; 0 = unlimited. RotateBarrelAxis = 0, // For spinning barrels, which axis to spin the barrel around; 0 = none. EnergyPriority = 0, // Deprecated. MuzzleCheck = false, // Whether the weapon should check LOS from each individual muzzle in addition to the scope. @@ -266,7 +266,7 @@ partial class Parts { Projectiles, Meteors, Neutrals,// Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals }, SubSystems = new[] { - Offense, Thrust, Utility, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any + Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any }, ClosestFirst = false, // Tries to pick closest targets first (blocks on grids, projectiles, etc...). IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles. @@ -387,7 +387,7 @@ partial class Parts { DegradeRof = false, // Progressively lower rate of fire when over 80% heat threshold (80% of max heat). ShotsInBurst = 2, // Use this if you don't want the weapon to fire an entire physical magazine in one go. Should not be more than your magazine capacity. DelayAfterBurst = 29, // How long to spend "reloading" after each burst. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). - FireFull = true, // Whether the weapon should fire the full magazine (or the full burst instead if ShotsInBurst > 0), even if the target is lost or the player stops firing prematurely. + FireFull = true, //doesnt work currently because of the burst needed for the cadence //Whether the weapon should fire the full magazine (or the full burst instead if ShotsInBurst > 0), even if the target is lost or the player stops firing prematurely. GiveUpAfter = false, // Whether the weapon should drop its current target and reacquire a new target after finishing its magazine or burst. BarrelSpinRate = 0, // Visual only, 0 disables and uses RateOfFire. DeterministicSpin = false, // Spin barrel position will always be relative to initial / starting positions (spin will not be as smooth). @@ -480,7 +480,7 @@ partial class Parts { Projectiles, Meteors, Neutrals,// Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals }, SubSystems = new[] { - Offense, Thrust, Utility, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any + Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any }, ClosestFirst = false, // Tries to pick closest targets first (blocks on grids, projectiles, etc...). IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles. diff --git a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Magnetic Weapons/ReaverWeaponParts.cs b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Magnetic Weapons/ReaverWeaponParts.cs index 9758d29f4..6a99203c9 100644 --- a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Magnetic Weapons/ReaverWeaponParts.cs +++ b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/Magnetic Weapons/ReaverWeaponParts.cs @@ -127,7 +127,7 @@ partial class Parts { HomeAzimuth = 0, // Default resting rotation angle HomeElevation = 0, // Default resting elevation InventorySize = 1f, // Inventory capacity in kL. - IdlePower = 0.001f, //fix for animation??? Constant base power draw in MW. + IdlePower = 0f, //fix for animation??? Constant base power draw in MW. FixedOffset = false, // Deprecated. Offset = Vector(x: 0, y: 0, z: 0), // Offsets the aiming/firing line of the weapon, in metres. Type = BlockWeapon, // What type of weapon this is; BlockWeapon, HandWeapon, Phantom @@ -159,7 +159,7 @@ partial class Parts { BarrelsPerShot = 2, // How many muzzles will fire a projectile per fire event. TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event. SkipBarrels = 0, // Number of muzzles to skip after each fire event. - ReloadTime = 600, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). + ReloadTime = 300, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). MagsToLoad = 1, //20 Number of physical magazines to consume on reload. DelayUntilFire = 0, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). HeatPerShot = 1, // Heat generated per shot. @@ -343,7 +343,7 @@ partial class Parts { HomeAzimuth = 0, // Default resting rotation angle HomeElevation = 0, // Default resting elevation InventorySize = 1f, // Inventory capacity in kL. - IdlePower = 0.0001f, // Constant base power draw in MW. + IdlePower = 0f, // Constant base power draw in MW. FixedOffset = false, // Deprecated. Offset = Vector(x: 0, y: 0, z: 0), // Offsets the aiming/firing line of the weapon, in metres. Type = BlockWeapon, // What type of weapon this is; BlockWeapon, HandWeapon, Phantom @@ -375,7 +375,7 @@ partial class Parts { BarrelsPerShot = 2, // How many muzzles will fire a projectile per fire event. TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event. SkipBarrels = 0, // Number of muzzles to skip after each fire event. - ReloadTime = 600, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). + ReloadTime = 300, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). MagsToLoad = 1, //20 Number of physical magazines to consume on reload. DelayUntilFire = 0, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). HeatPerShot = 1, // Heat generated per shot. diff --git a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Standard_Type_HE_Ammo.cs b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Standard_Type_HE_Ammo.cs index 28f74ded6..040a54e83 100644 --- a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Standard_Type_HE_Ammo.cs +++ b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Standard_Type_HE_Ammo.cs @@ -127,13 +127,13 @@ partial class Parts Armor = new ArmorDef { Armor = -1f, // Multiplier for damage against all armor. This is multiplied with the specific armor type multiplier (light, heavy). - Light = 0.7f, // Multiplier for damage against light armor. + Light = -1f, // Multiplier for damage against light armor. Heavy = -1f, // Multiplier for damage against heavy armor. - NonArmor = 0.30f, // Multiplier for damage against every else. + NonArmor = 0.4f, // Multiplier for damage against every else. }, Shields = new ShieldDef { - Modifier = 2.1f, // Multiplier for damage against shields. + Modifier = 2.5f, // Multiplier for damage against shields. Type = Default, // Damage vs healing against shields; Default, Heal BypassModifier = -1.25f, // If greater than zero, the percentage of damage that will penetrate the shield. }, @@ -184,7 +184,7 @@ partial class Parts { Enable = true, Radius = 11.25f, // Meters - Damage = 10000f, + Damage = 12500f, Depth = 3.1f, MaxAbsorb = 0f, Falloff = Curve, //.NoFalloff applies the same damage to all blocks in radius diff --git a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Type18 Heavy Turret.cs b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Type18 Heavy Turret.cs index 896921a11..b61a304c5 100644 --- a/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Type18 Heavy Turret.cs +++ b/Weapon Mods/TIOStarcore/Data/Scripts/CoreParts/TypeCannons/Type18 Heavy Turret.cs @@ -125,7 +125,7 @@ partial class Parts { BarrelsPerShot = 1, // How many muzzles will fire a projectile per fire event. TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event. SkipBarrels = 0, // Number of muzzles to skip after each fire event. - ReloadTime = 1200, //20 seconds //Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). + ReloadTime = 360, //20 seconds //Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). MagsToLoad = 8, // Number of physical magazines to consume on reload. DelayUntilFire = 45, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). HeatPerShot = 10, // Heat generated per shot. diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmAPAmmo.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmAPAmmo.cs index b50730355..88da056d5 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmAPAmmo.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmAPAmmo.cs @@ -173,73 +173,12 @@ partial class Parts CustomSound = "", }, }, - Ewar = new EwarDef - { - Enable = false, // Enables the EWAR , Electronic-Warfare System - Type = EnergySink, // EnergySink, Emp, Offense, Nav, Dot, AntiSmart, JumpNull, Anchor, Tractor, Pull, Push, - Mode = Effect, // Effect , Field - Strength = 10000f, - Radius = 100f, // Meters - Duration = 100, // In Ticks - StackDuration = true, // Combined Durations - Depletable = true, - MaxStacks = 10, // Max Debuffs at once - NoHitParticle = false, - /* - EnergySink : Targets & Shutdowns Power Supplies, such as Batteries & Reactor - Emp : Targets & Shutdown any Block capable of being powered - Offense : Targets & Shutdowns Weaponry - Nav : Targets & Shutdown Gyros, Thrusters, or Locks them down - Dot : Deals Damage to Blocks in radius - AntiSmart : Effects & Scrambles the Targeting List of Affected Missiles - JumpNull : Shutdown & Stops any Active Jumps, or JumpDrive Units in radius - Tractor : Affects target with Physics - Pull : Affects target with Physics - Push : Affects target with Physics - Anchor : Affects target with Physics - - */ - Force = new PushPullDef - { - ForceFrom = ProjectileLastPosition, // ProjectileLastPosition, ProjectileOrigin, HitPosition, TargetCenter, TargetCenterOfMass - ForceTo = HitPosition, // ProjectileLastPosition, ProjectileOrigin, HitPosition, TargetCenter, TargetCenterOfMass - Position = TargetCenterOfMass, // ProjectileLastPosition, ProjectileOrigin, HitPosition, TargetCenter, TargetCenterOfMass - DisableRelativeMass = false, - TractorRange = 0, - ShooterFeelsForce = false, - }, - Field = new FieldDef - { - Interval = 0, // Time between each pulse, in game ticks (60 == 1 second). - PulseChance = 0, // Chance from 0 - 100 that an entity in the field will be hit by any given pulse. - GrowTime = 0, // How many ticks it should take the field to grow to full size. - HideModel = false, // Hide the projectile model if it has one. - ShowParticle = false, // Set to show block damage effect when ewared. - TriggerRange = 250f, //range at which fields are triggered - Particle = new ParticleDef // Particle effect to generate at the field's position. - { - Name = "", // SubtypeId of field particle effect. - Extras = new ParticleOptionDef - { - Scale = 1, // Scale of effect. - }, - }, - }, - }, - Beams = new BeamDef - { - Enable = false, // Enable beam behaviour. Please have 3600 RPM, when this Setting is enabled. Please do not fire Beams into Voxels. - VirtualBeams = false, // Only one damaging beam, but with the effectiveness of the visual beams combined (better performance). - ConvergeBeams = false, // When using virtual beams, converge the visual beams to the location of the real beam. - RotateRealBeam = false, // The real beam is rotated between all visual beams, instead of centered between them. - OneParticle = false, // Only spawn one particle hit per beam weapon. - }, Trajectory = new TrajectoryDef { Guidance = None, // None, Remote, TravelTo, Smart, DetectTravelTo, DetectSmart, DetectFixed TargetLossDegree = 80f, // Degrees, Is pointed forward TargetLossTime = 0, // 0 is disabled, Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). - MaxLifeTime = 2000, // 0 is disabled, Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). Please have a value for this, It stops Bad things. + MaxLifeTime = 600, // 0 is disabled, Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). Please have a value for this, It stops Bad things. AccelPerSec = 0f, // Meters Per Second. This is the spawning Speed of the Projectile, and used by turning. DesiredSpeed = 1300, // voxel phasing if you go above 5100 MaxTrajectory = 10000f, // Max Distance the projectile or beam can Travel. @@ -248,30 +187,6 @@ partial class Parts SpeedVariance = Random(start: 0, end: 0), // subtracts value from DesiredSpeed. Be warned, you can make your projectile go backwards. RangeVariance = Random(start: 5, end: 10), // subtracts value from MaxTrajectory MaxTrajectoryTime = 0, // How long the weapon must fire before it reaches MaxTrajectory. - Smarts = new SmartsDef - { - Inaccuracy = 5f, // 0 is perfect, hit accuracy will be a random num of meters between 0 and this value. - Aggressiveness = 1f, // controls how responsive tracking is. - MaxLateralThrust = 0.5, // controls how sharp the trajectile may turn - TrackingDelay = 1, // Measured in Shape diameter units traveled. - MaxChaseTime = 450, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..). - OverideTarget = true, // when set to true ammo picks its own target, does not use hardpoint's. - CheckFutureIntersection = false, // Utilize obstacle avoidance? - MaxTargets = 3, // Number of targets allowed before ending, 0 = unlimited - NoTargetExpire = false, // Expire without ever having a target at TargetLossTime - Roam = false, // Roam current area after target loss - KeepAliveAfterTargetLoss = false, // Whether to stop early death of projectile on target loss - OffsetRatio = 0f, // The ratio to offset the random direction (0 to 1) - OffsetTime = 0, // how often to offset degree, measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..) - }, - Mines = new MinesDef // Note: This is being investigated. Please report to Github, any issues. - { - DetectRadius = 0, - DeCloakRadius = 0, - FieldTime = 0, - Cloak = false, - Persist = false, - }, }, AmmoGraphics = new GraphicDef { @@ -333,13 +248,13 @@ partial class Parts Lines = new LineDef { TracerMaterial = "ProjectileTrailLine", // WeaponLaser, ProjectileTrailLine, WarpBubble, etc.. - ColorVariance = Random(start: 1.0f, end: 1.3f), // multiply the color by random values within range. + ColorVariance = Random(start: 0f, end: 0f), // multiply the color by random values within range. WidthVariance = Random(start: 0f, end: 0.1f), // adds random value to default width (negatives shrinks width) Tracer = new TracerBaseDef { Enable = true, - Length = 10f, - Width = 0.1f, + Length = 20f, + Width = 0.25f, Color = Color(red: 25f, green: 25f, blue: 24f, alpha: 0.8f), }, Trail = new TrailDef diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmHEAmmo.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmHEAmmo.cs index ec1b72944..188ea5d5e 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmHEAmmo.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmHEAmmo.cs @@ -333,13 +333,13 @@ partial class Parts Lines = new LineDef { TracerMaterial = "ProjectileTrailLine", // WeaponLaser, ProjectileTrailLine, WarpBubble, etc.. - ColorVariance = Random(start: 1.0f, end: 1.3f), // multiply the color by random values within range. + ColorVariance = Random(start: 0f, end: 0f), // multiply the color by random values within range. WidthVariance = Random(start: 0f, end: 0.1f), // adds random value to default width (negatives shrinks width) Tracer = new TracerBaseDef { Enable = true, - Length = 10f, - Width = 0.1f, + Length = 20f, + Width = 0.25f, Color = Color(red: 40.80f, green: 8.20f, blue: 1.6f, alpha: 0.1f), }, Trail = new TrailDef diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmQuadGun.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmQuadGun.cs index 88858f125..44358720a 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmQuadGun.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/380mmQuadGun.cs @@ -189,7 +189,7 @@ partial class Parts { }, }, Ammos = new[] { - FA380mmShell,FA380mmAPShell // Must list all primary, shrapnel, and pattern ammos. + FA380mmShell, FA380mmAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmGunTwinAlt.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmGunTwinAlt.cs index a3192bd78..e86e4ab83 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmGunTwinAlt.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmGunTwinAlt.cs @@ -187,7 +187,7 @@ partial class Parts { }, }, Ammos = new[] { - FA380mmShell,FA380mmAPShell // Must list all primary, shrapnel, and pattern ammos. + FA380mmShell, FA380mmAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmTwinGun.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmTwinGun.cs index ed6583ebb..818c8d032 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmTwinGun.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/381mmTwinGun.cs @@ -187,7 +187,7 @@ partial class Parts { }, }, Ammos = new[] { - FA380mmShell,FA380mmAPShell,// Must list all primary, shrapnel, and pattern ammos. + FA380mmShell, FA380mmAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmGun.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmGun.cs index b3640043d..29dd9ed71 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmGun.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmGun.cs @@ -191,7 +191,7 @@ partial class Parts { }, }, Ammos = new[] { - FA380mmShell,FA380mmAPShell // Must list all primary, shrapnel, and pattern ammos. + FA380mmShell, FA380mmAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = FA16InchRecoil, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmalt.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmalt.cs index da2b04a92..2dd99cc0f 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmalt.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/406mmalt.cs @@ -191,7 +191,7 @@ partial class Parts { }, }, Ammos = new[] { - FA380mmShell,FA380mmAPShell // Must list all primary, shrapnel, and pattern ammos. + FA380mmShell, FA380mmAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = FA16InchRecoil, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTripleGun.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTripleGun.cs index 2deb08a9f..c08133782 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTripleGun.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTripleGun.cs @@ -193,7 +193,7 @@ partial class Parts { }, }, Ammos = new[] { - APShell203, HEShell203 // Must list all primary, shrapnel, and pattern ammos. + APShell203, HEShell203, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTwinGun.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTwinGun.cs index 869048020..b8f7a1a96 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTwinGun.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/203mmTwinGun.cs @@ -192,7 +192,7 @@ partial class Parts { }, }, Ammos = new[] { - APShell203, HEShell203 // Must list all primary, shrapnel, and pattern ammos. + APShell203, HEShell203, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark12.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark12.cs index 27f8b1540..cc721d7af 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark12.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark12.cs @@ -184,7 +184,7 @@ partial class Parts { }, }, Ammos = new[] { - FA5InchShell, FA5SAPShell // Must list all primary, shrapnel, and pattern ammos. + FA5InchShell, FA5SAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark24.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark24.cs index bde56d017..f474702c3 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark24.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark24.cs @@ -184,7 +184,7 @@ partial class Parts { }, }, Ammos = new[] { - FA5InchShell,FA5SAPShell // Must list all primary, shrapnel, and pattern ammos. + FA5InchShell, FA5SAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark32.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark32.cs index 36cd5c97f..6d379263a 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark32.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark32.cs @@ -185,7 +185,7 @@ partial class Parts { }, }, Ammos = new[] { - FA5InchShell,FA5SAPShell // Must list all primary, shrapnel, and pattern ammos. + FA5InchShell, FA5SAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark56.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark56.cs index f9189a61c..255f2287b 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark56.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/127mmMark56.cs @@ -185,7 +185,7 @@ partial class Parts { }, }, Ammos = new[] { - FA5InchShell,FA5SAPShell // Must list all primary, shrapnel, and pattern ammos. + FA5InchShell, FA5SAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/152mmTripleUSI127mmCON.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/152mmTripleUSI127mmCON.cs index e269ef293..e86995807 100644 --- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/152mmTripleUSI127mmCON.cs +++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/152mmTripleUSI127mmCON.cs @@ -193,7 +193,7 @@ partial class Parts { }, }, Ammos = new[] { - FA5InchShell,FA5SAPShell // Must list all primary, shrapnel, and pattern ammos. + FA5InchShell, FA5SAPShell, // Must list all primary, shrapnel, and pattern ammos. }, //Animations = Weapon75_Animation, //Upgrades = UpgradeModules, diff --git a/unfuckaudio.py b/fixaudio.py similarity index 97% rename from unfuckaudio.py rename to fixaudio.py index 272770be4..a2aa8e427 100644 --- a/unfuckaudio.py +++ b/fixaudio.py @@ -109,4 +109,4 @@ def process_directory(): process_directory() except KeyboardInterrupt: print("\n\n❗ Process interrupted by user. Exiting gracefully.") - sys.exit(0) \ No newline at end of file + sys.exit(0)