Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
6d44424
fuckyou
Conflee Sep 17, 2025
3fc42d6
price rework
Conflee Sep 17, 2025
ef5f80d
init
Rinary1 Sep 18, 2025
f77c1ce
broken thaven
Rinary1 Sep 18, 2025
a52f89c
fix popup message
Rinary1 Sep 18, 2025
9badcd8
fix emp scream
Rinary1 Sep 18, 2025
aab6bb6
smaller cooldown for webs, bigger web target amount for terror spiders
Rinary1 Sep 18, 2025
cac129e
Revert "broken thaven"
Rinary1 Sep 18, 2025
340c1b8
temp revert to sl vulpkanin
Arkanic Sep 18, 2025
9ee15d0
height/width slider fixes
Arkanic Sep 18, 2025
5bdba0c
im stupid
Arkanic Sep 18, 2025
237763a
pt2
Arkanic Sep 18, 2025
85bfde1
rate
Arkanic Sep 18, 2025
f6dd6d5
Merge pull request #1668 from Arkanic/b
ShadesMars Sep 18, 2025
e8459d2
Update changelog for PR #1668 [skip ci]
github-actions[bot] Sep 18, 2025
84fb887
fix Bold for Bold
StarlightHost Sep 18, 2025
dfdd278
Merge pull request #1670 from ss14Starlight/fix/bold
ShadesMars Sep 18, 2025
145db48
Update changelog for PR #1670 [skip ci]
github-actions[bot] Sep 18, 2025
b3fb025
vulpkanin guidebook update
Arkanic Sep 18, 2025
261ede4
Revert "Gamerule vote cooldown system"
walksanatora Sep 18, 2025
bb96c49
Update changelog for PR #1657 [skip ci]
github-actions[bot] Sep 18, 2025
0094bca
Merge pull request #1672 from walksanatora/revert-1016-gamerule-cooldown
ShadesMars Sep 18, 2025
f25401d
Merge pull request #1671 from Arkanic/guidebook-update
ShadesMars Sep 18, 2025
94646d7
Update changelog for PR #1591 [skip ci]
github-actions[bot] Sep 18, 2025
453193e
Update changelog for PR #1348 [skip ci]
github-actions[bot] Sep 18, 2025
728766b
Update changelog for PR #1472 [skip ci]
github-actions[bot] Sep 18, 2025
3387114
Update changelog for PR #1427 [skip ci]
github-actions[bot] Sep 18, 2025
1024cf3
Revert "fuckyou"
Conflee Sep 18, 2025
47056f3
Merge pull request #1666 from ss14Starlight/terror-spiders-tweaks
ShadesMars Sep 18, 2025
baad74b
Update changelog for PR #1666 [skip ci]
github-actions[bot] Sep 18, 2025
22bbbe4
Merge pull request #1662 from Conflee/pricefix
ShadesMars Sep 18, 2025
e7139b2
Update changelog for PR #1662 [skip ci]
github-actions[bot] Sep 18, 2025
7169d92
unfuck the _Starlight (we *love* windows and case-insensitive filesys…
walksanatora Sep 18, 2025
8758e7a
Merge pull request #1677 from walksanatora/unfuck
ShadesMars Sep 18, 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
5 changes: 0 additions & 5 deletions Content.Server/GameTicking/Presets/GamePresetPrototype.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,5 @@ public sealed partial class GamePresetPrototype : IPrototype
/// </summary>
[DataField("supportedMaps", customTypeSerializer: typeof(PrototypeIdSerializer<GameMapPoolPrototype>))]
public string? MapPool;

//starlight start
[DataField("voteCooldown")]
public int VoteCooldown = 2; // How many rounds before this preset can be voted for again.
//starlight end
}
}
4 changes: 3 additions & 1 deletion Content.Server/Spider/SpiderSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,10 @@ private void OnSpawnNet(EntityUid uid, SpiderComponent component, SpiderWebActio
_popup.PopupEntity(Loc.GetString("spider-web-action-success"), args.Performer, args.Performer);
args.Handled = true;
}
else
else if (!component.OneWebSpawn)
_popup.PopupEntity(Loc.GetString("spider-web-action-fail"), args.Performer, args.Performer);
else
_popup.PopupEntity(Loc.GetString("spider-web-action-fail-single"), args.Performer, args.Performer);
}

private bool SpawnWeb(Entity<SpiderComponent> ent, EntityCoordinates coords)
Expand Down
55 changes: 9 additions & 46 deletions Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ public sealed partial class VoteManager
private RoleSystem? _roleSystem;
private GameTicker? _gameTicker;

private readonly Dictionary<string, int> _presetCooldown = new();

private static readonly Dictionary<StandardVoteType, CVarDef<bool>> VoteTypesToEnableCVars = new()
{
{StandardVoteType.Restart, CCVars.VoteRestartEnabled},
Expand Down Expand Up @@ -222,23 +220,12 @@ private void NotifyNotEnoughGhostPlayers(int ghostPercentageRequirement, int rou

private void CreatePresetVote(ICommonSession? initiator)
{
//starlight start
var presets = GetGamePresets();

//add the secret prototype
if (_prototypeManager.TryIndex<GamePresetPrototype>("Secret", out var secretPreset))
{
presets.Add(secretPreset, Loc.GetString("ui-vote-secret-map"));
}
//starlight end

/* starlight disable
var presets = new Dictionary<GamePresetPrototype, string>();
var presets = new Dictionary<string, string>();
presets.Add("Secret", Loc.GetString("ui-vote-secret-map"));
foreach (var preset in GetGamePresets())
{
presets.Add(preset.Key, preset.Value);
} */
}

var alone = _playerManager.PlayerCount == 1 && initiator != null;
var options = new VoteOptions
Expand All @@ -265,38 +252,20 @@ private void CreatePresetVote(ICommonSession? initiator)
vote.OnFinished += (_, args) =>
{
string picked;
GamePresetPrototype pickedPreset; //starlight
if (args.Winner == null)
{
picked = (string)_random.Pick(args.Winners);
pickedPreset = presets.FirstOrDefault(p => p.Key.ID == picked).Key; //starlight
picked = (string) _random.Pick(args.Winners);
_chatManager.DispatchServerAnnouncement(
Loc.GetString("ui-vote-gamemode-tie", ("picked", Loc.GetString(pickedPreset.ModeTitle)))); //starlight edit
Loc.GetString("ui-vote-gamemode-tie", ("picked", Loc.GetString(presets[picked]))));
}
else
{
picked = (string)args.Winner;
pickedPreset = presets.FirstOrDefault(p => p.Key.ID == picked).Key; //starlight
picked = (string) args.Winner;
_chatManager.DispatchServerAnnouncement(
Loc.GetString("ui-vote-gamemode-win", ("winner", Loc.GetString(pickedPreset.ModeTitle)))); //starlight edit
Loc.GetString("ui-vote-gamemode-win", ("winner", Loc.GetString(presets[picked]))));
}
_adminLogger.Add(LogType.Vote, LogImpact.Medium, $"Preset vote finished: {picked}");
var ticker = _entityManager.EntitySysManager.GetEntitySystem<GameTicker>();
//starlight, keep track of cooldowns
//subtract 1 from all keys EXCEPT the one we picked
foreach (var key in _presetCooldown.Keys.ToList())
{
if (key != picked)
{
_presetCooldown[key]--;
if (_presetCooldown[key] <= 0)
_presetCooldown.Remove(key);
}
}

//add the key we picked to the cooldown list
_presetCooldown.Add(picked, pickedPreset.VoteCooldown);
//starlight end
ticker.SetGamePreset(picked);
};
}
Expand Down Expand Up @@ -632,9 +601,9 @@ private void TimeoutStandardVote(StandardVoteType type)
DirtyCanCallVoteAll();
}

private Dictionary<GamePresetPrototype, string> GetGamePresets()
private Dictionary<string, string> GetGamePresets()
{
var presets = new Dictionary<GamePresetPrototype, string>();
var presets = new Dictionary<string, string>();

var prototypeId = _cfg.GetCVar(StarlightCCVars.RoundVotingChancesPrototype);

Expand All @@ -657,12 +626,6 @@ private Dictionary<GamePresetPrototype, string> GetGamePresets()
if (_playerManager.PlayerCount > (preset.MaxPlayers ?? int.MaxValue))
continue;

//STARLIGHT
//check if its on the cooldown list
if (_presetCooldown.ContainsKey(preset.ID))
continue;
//STARLIGHT END

if (chancesPrototype.Chances.TryGetValue(preset.ID, out var chance))
{
validPresets.Add((preset, chance));
Expand All @@ -678,7 +641,7 @@ private Dictionary<GamePresetPrototype, string> GetGamePresets()
var selectedPresets = SelectPresetsByChance(validPresets, _cfg.GetCVar(StarlightCCVars.RoundVotingCount));
foreach (var preset in selectedPresets)
{
presets[preset.preset] = preset.preset.ModeTitle;
presets[preset.preset.ID] = preset.preset.ModeTitle;
}

return presets;
Expand Down
2 changes: 1 addition & 1 deletion Content.Server/Voting/Managers/VoteManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ private bool CanCallVote(
if (voteType == StandardVoteType.Preset)
{
var presets = GetGamePresets();
if (presets.Count == 1 && presets.First().Key.ID == _entityManager.System<GameTicker>().Preset?.ID) //starlight edit
if (presets.Count == 1 && presets.Select(x => x.Key).Single() == _entityManager.System<GameTicker>().Preset?.ID)
return false;
}

Expand Down
7 changes: 7 additions & 0 deletions Content.Server/_Starlight/Antags/Actions/EMPScreamSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@
using Robust.Shared.Audio;
using Robust.Shared.Player;
using Robust.Server.Audio;
using Content.Shared.Actions;
using Content.Shared.Charges.Systems;

namespace Content.Server._Starlight.Antags.Actions;

public sealed partial class EMPScreamSystem : EntitySystem
{
[Dependency] private readonly SharedChargesSystem _chargesSystem = default!;
[Dependency] private readonly EmpSystem _emp = default!;
[Dependency] private readonly TransformSystem _transform = default!;
[Dependency] private readonly ISharedPlayerManager _player = default!;
Expand All @@ -26,6 +29,10 @@ public override void Initialize()

private void OnEMPScream(EMPScreamEvent ev)
{
if (ev.Handled || _chargesSystem.GetCurrentCharges(ev.Action.Owner) == 0)
return;

ev.Handled = true;
var uid = ev.Performer;

ScreamEffect(uid, ev.Power, ev.ScreamSound);
Expand Down
8 changes: 8 additions & 0 deletions Content.Server/_Starlight/TextToSpeech/TTSSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,18 @@ private async void OnClientOptionTTS(ClientOptionTTSEvent ev, EntitySessionEvent
_ignoredRecipients.Add(args.SenderSession);
}

// Removes all [tag] and [/tag] style markup
private static string StripRichTextTags(string text) =>
TagStripperRegex().Replace(text, "");

private void OnRadioReceiveEvent(RadioSpokeEvent args)
{
if (!_isEnabled
|| args.Message.Length > MaxChars)
return;

args.Message = StripRichTextTags(args.Message);

_chime.TryGetSenderHeadsetChime(args.Source, out var chime);

if (!TryComp(args.Source, out TextToSpeechComponent? senderComponent)
Expand Down Expand Up @@ -392,4 +398,6 @@ private string ReplaceAbbreviations(Match word)

[GeneratedRegex(@"(?<![a-zA-Zа-яёА-ЯЁ0-9])([a-zA-Zа-яёА-ЯЁ]+|(\(•`ω´•\)|;;w;;|owo|UwU|>w<|\^w\^))(?![a-zA-Zа-яёА-ЯЁ0-9])", RegexOptions.IgnoreCase | RegexOptions.Multiline, "en-US")]
private static partial Regex SymbolFilter();
[GeneratedRegex(@"\[[^\]]*\]")]
private static partial Regex TagStripperRegex();
}
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public void Jump(Entity<JumpComponent> ent, EntityCoordinates targetCoords, floa
vector = Vector2.Normalize(vector) * distance.Value;

if (ent.Comp.ActionEntity != null)
_action.SetCooldown(ent.Comp.ActionEntity.Value, _timing.CurTime, _timing.CurTime + TimeSpan.FromSeconds(ent.Comp.Cooldown));
_action.SetUseDelay(ent.Comp.ActionEntity.Value, TimeSpan.FromSeconds(ent.Comp.Cooldown));

_throwing.TryThrow(ent.Owner, vector, baseThrowSpeed: speed, doSpin: false);

Expand Down
153 changes: 153 additions & 0 deletions Resources/Changelog/ChangelogStarlight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14600,5 +14600,158 @@ Entries:
id: 144002
time: '2025-09-17T16:58:28.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1440
- author: STARLIGHT TEAM
changes:
- message: Temporarily switch back to starlight vulpkanin stats
type: Tweak
id: 166800
time: '2025-09-18T19:52:00.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1668
- author: STARLIGHT TEAM
changes:
- message: Bold for Bold
type: Fix
id: 167000
time: '2025-09-18T20:25:30.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1670
- author: Arkanic, Walksanatora
changes:
- message: Fix vulpkanin displacements, fix incorrect hair displacements
type: Fix
id: 165700
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: Arkanic, Walksanatora
changes:
- message: Fix vulpkanin wagging, fix vulpkanin growling accent
type: Fix
id: 165701
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: Arkanic, Walksanatora
changes:
- message: Fix vulpkanin eyes being wizden vulp eyes (sleepy)
type: Fix
id: 165702
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: Arkanic, Walksanatora
changes:
- message: Fix default vulpkanin markings to prevent character changes after update
type: Fix
id: 165703
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: Arkanic, Walksanatora
changes:
- message: Switch back to SL vulpkanin screams
type: Fix
id: 165704
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: Arkanic, Walksanatora
changes:
- message: Fix vulpkanin hair showing when wearing hardsuits
type: Fix
id: 165705
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: Arkanic, Walksanatora
changes:
- message: Switch back to using SL markings where duplicates exist
type: Tweak
id: 165706
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: Arkanic, Walksanatora
changes:
- message: Add missing emotes back to vulpkanin, fix creampie sprites
type: Fix
id: 165707
time: '2025-09-17T15:06:54.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1657
- author: CorruptOmega
changes:
- message: Satanic Bible visual has been flipped upside down.
type: Tweak
id: 159100
time: '2025-09-17T15:29:24.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1591
- author: Killer Tamashi
changes:
- message: Added Security shuttle "SEC-657 'Pursuit"
type: Add
id: 134800
time: '2025-09-17T16:07:35.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1348
- author: CorruptOmega
changes:
- message: CentComm Communication paper to the document printer
type: Add
id: 147200
time: '2025-09-17T16:21:14.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1472
- author: walksanatora
changes:
- message: New wizard spell that randomizes all spoken and understood languages
across everyone in the game. really should not spite your new god.
type: Add
id: 142700
time: '2025-09-17T16:25:10.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1427
- author: Rinary
changes:
- message: Fixed emp scream & jump cooldowns.
type: Fix
id: 166600
time: '2025-09-18T21:46:21.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1666
- author: Rinary
changes:
- message: Changed poison web injection from 2 to 0.5.
type: Tweak
id: 166601
time: '2025-09-18T21:46:21.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1666
- author: Rinary
changes:
- message: Changed white spider battery from 200 to 150 and charge rate from 25
to 10.
type: Tweak
id: 166602
time: '2025-09-18T21:46:21.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1666
- author: Rinary
changes:
- message: Fixed spider popup, now it separated and part with directions will be
popuped only when your spider can spawn more than one web in one action.
type: Fix
id: 166603
time: '2025-09-18T21:46:21.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1666
- author: Rinary
changes:
- message: Changed web spinning cooldown from 25 to 15, but terror spiders web condition
target web count changed from 24 to 36.
type: Tweak
id: 166604
time: '2025-09-18T21:46:21.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1666
- author: Conflee
changes:
- message: Changed pricing of some restock crates to be more reasonable. If the
resell price was close to the buy price, I made them cost slightly more. If
the resell price was way under the buy price, I made them cost slightly less.
type: Tweak
id: 166200
time: '2025-09-18T22:21:33.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1662
- author: Conflee
changes:
- message: Fixed infinite money glitch with restock crates in cargo
type: Fix
id: 166201
time: '2025-09-18T22:21:33.000000+00:00'
url: https://github.com/ss14Starlight/space-station-14/pull/1662
Order: -1

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
spider-web-action-fail-single = You can't place webs here!
2 changes: 1 addition & 1 deletion Resources/Prototypes/Actions/spider.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
- type: LimitedCharges
maxCharges: 3
- type: AutoRecharge
rechargeDuration: 25
rechargeDuration: 15
# Starlight-end
- type: InstantAction
event: !type:SpiderWebActionEvent
Expand Down
4 changes: 2 additions & 2 deletions Resources/Prototypes/Body/Prototypes/vulpkanin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
- right leg
- left leg
organs:
heart: OrganAnimalHeart
heart: OrganVulpkaninHeart # starlight - temp vulpkanin revert
lungs: OrganHumanLungs
stomach: OrganAnimalStomach
stomach: OrganVulpkaninStomach # starlight - temp vulpkanin revert
liver: OrganAnimalLiver
kidneys: OrganHumanKidneys
right arm:
Expand Down
Loading
Loading