Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
64be393
Stable Merge Pre-5.2 (#1908)
ari-steas Mar 6, 2025
a99db92
Merge pull request #3 from StarCoreSE/main (#1913)
FP-Anomaly Mar 6, 2025
2011871
Blink Drive Power Draw
BadM0dder Mar 6, 2025
c99ad05
Merge branch 'main' into season-5
BadM0dder Mar 6, 2025
d3beba0
Blink Drive Power Draw (#1914)
BadM0dder Mar 6, 2025
128fcf4
Merge remote-tracking branch 'upstream/main' into season-5
BadM0dder Mar 6, 2025
e42ca98
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 6, 2025
f2a2032
attempt to improve siege formula
BadM0dder Mar 6, 2025
8d9e47c
Merge branch 'main' into season-5
BadM0dder Mar 6, 2025
bcf6cdb
attempt to improve siege formula (#1915)
BadM0dder Mar 6, 2025
ade232b
KOTH & ShareTrack Dev (#1916)
ari-steas Mar 7, 2025
926d526
Chets desired changes
BadM0dder Mar 8, 2025
5addada
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 8, 2025
94931ff
Merge branch 'main' into season-5
CommodoreChet Mar 8, 2025
7e0437f
Season 5 (#1917)
BadM0dder Mar 8, 2025
13fed80
Update KOTHGamemode.cs
ari-steas Mar 8, 2025
3181990
Update SUGMA_SessionComponent.cs (#1918)
ari-steas Mar 8, 2025
08c490c
Stable merge kothfix pre5.2 (#1919)
ari-steas Mar 11, 2025
2cd5407
Update selfrepair.cs
BadM0dder Mar 15, 2025
4242ddd
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 15, 2025
e548d54
Update Aristeas NewUniversalUpload.yml
ari-steas Mar 15, 2025
df4639a
Create createfiletest.txt
ari-steas Mar 15, 2025
d5af7da
Delete createfiletest.txt
ari-steas Mar 15, 2025
7fd284c
Update Aristeas_BuildScripts.yml
ari-steas Mar 15, 2025
b31a88a
Emergency weld time fix (#1920)
ari-steas Mar 15, 2025
9f66cea
Update Aristeas_BuildScripts.yml
ari-steas Mar 15, 2025
1a2b6d7
RAC Buff
BadM0dder Mar 17, 2025
912037e
Merge branch 'main' into season-5
BadM0dder Mar 17, 2025
a160138
Rac Buff, plate repair reversion (#1922)
BadM0dder Mar 17, 2025
41dd93e
Update FixedgunRLXammo.cs
BadM0dder Mar 17, 2025
46862fe
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 17, 2025
fc81bc8
Merge branch 'main' into season-5
BadM0dder Mar 17, 2025
79e0fe6
Update LBX_ammo.cs
BadM0dder Mar 17, 2025
249c9c0
Become NonProportional (#1923)
BadM0dder Mar 17, 2025
e0967d0
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 17, 2025
bbb6d9f
Merge branch 'main' into season-5
BadM0dder Mar 17, 2025
35bb445
Woe, 8 more LBX fragments be upon yee (#1924)
BadM0dder Mar 17, 2025
5806429
Beta test for ye old metalstorm
BadM0dder Mar 17, 2025
6d2dad4
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 17, 2025
aabd2c0
Merge branch 'main' into season-5
BadM0dder Mar 17, 2025
5fae61c
Testing out Metalstorm ideas on ModDev (#1925)
BadM0dder Mar 17, 2025
ad7cea9
testing railguns
BadM0dder Mar 17, 2025
c7e2c9d
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 17, 2025
e4e540d
Merge branch 'main' into season-5
BadM0dder Mar 17, 2025
ca4b6ca
Trying something to make the railgun *ok* again on mod-dev (#1926)
BadM0dder Mar 17, 2025
58661e8
ok im overcooking the types on mod-dev
BadM0dder Mar 17, 2025
2141b60
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 17, 2025
ca5b949
Merge branch 'main' into season-5
BadM0dder Mar 17, 2025
172ea49
overcooking the types on mod-dev if you tell me they are still bad I …
BadM0dder Mar 17, 2025
17fc000
Add CameraInfoApi (#1928)
ari-steas Mar 18, 2025
caa3cd0
forgor mb
ari-steas Mar 18, 2025
e348934
Create CONTRIBUTING.md
ari-steas Mar 18, 2025
c30d57b
Update README.md
ari-steas Mar 18, 2025
1a40117
Update CONTRIBUTING.md
ari-steas Mar 18, 2025
162c9c3
Update and rename unfuckaudio.py to fixaudio.py
ari-steas Mar 18, 2025
f73b4ef
ModDev Thrust Experiments
BadM0dder Mar 18, 2025
6ee011d
Merge branch 'main' into season-5
BadM0dder Mar 18, 2025
19a7699
ModDev Thrust Experiments (#1929)
BadM0dder Mar 18, 2025
fc8db2d
maybe it hates decimals
BadM0dder Mar 18, 2025
1522cf3
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 18, 2025
943d47f
maybe it hates decimals (#1930)
BadM0dder Mar 18, 2025
04cb9ce
Make FlakWall's Work Again
BadM0dder Mar 19, 2025
fb98062
Merge branch 'main' into season-5
BadM0dder Mar 19, 2025
eebfa1a
Make FlakWall's Work Again (#1931)
BadM0dder Mar 19, 2025
25ca92d
Railgun checking to see if this BBH even works
BadM0dder Mar 19, 2025
924fb24
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 19, 2025
5fcf94e
Merge branch 'main' into season-5
BadM0dder Mar 19, 2025
0587a87
railgun checking BBH differences in single and multiplayer (#1932)
BadM0dder Mar 19, 2025
40bfa44
ok works, less funny numbers for railguns
BadM0dder Mar 19, 2025
8a0ed23
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 19, 2025
69580a2
Merge branch 'main' into season-5
BadM0dder Mar 19, 2025
3341858
railgun taps to perfection
BadM0dder Mar 19, 2025
ece0110
Clean up block categories (#1934)
ari-steas Mar 19, 2025
a283ca0
Merge branch 'stable' into main
ari-steas Mar 19, 2025
e2e4d11
Add uploaddisable for CameraApi and StealthDrive
ari-steas Mar 20, 2025
10a673b
REALFAKE ROTARY RADIATOR !!! (#1938)
ari-steas Mar 20, 2025
3d81a41
brighten Iowa round, Reaver adjustments, railgun power, Goalie changed
BadM0dder Mar 21, 2025
355edb1
Merge branch 'season-5' of https://github.com/BadM0dder/SCModReposito…
BadM0dder Mar 21, 2025
faa0176
Merge branch 'main' into season-5
BadM0dder Mar 21, 2025
5255d50
brighten Iowa round, Reaver adjustments, railgun power, Goalie change…
BadM0dder Mar 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions .github/workflows/Aristeas NewUniversalUpload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
8 changes: 1 addition & 7 deletions .github/workflows/Aristeas_BuildScripts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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 }}"
35 changes: 35 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -222,7 +223,6 @@ public override void StopRound()
ShareTrackApi.UnregisterOnTrack(OnGridTrackChanged);

base.StopRound();
_winningFaction = null;
TrackedFactions.Clear();
PointTracker = null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand All @@ -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()
Expand All @@ -52,7 +52,7 @@ public void MatchEnded(IMyFaction winner)
}
}

internal class elmHud_Window : HudElementBase
internal class ElmHud_Window : HudElementBase
{
private readonly EliminationGamemode _gamemode;

Expand All @@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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;

Expand All @@ -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>("KOTHHud")?.MatchEnded(_winningFaction);
Expand Down Expand Up @@ -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]++;
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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<GamemodeBase>(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
Expand Down Expand Up @@ -238,4 +238,4 @@ protected override void UnloadData()

#endregion
}
}
}
Loading
Loading