Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
238 commits
Select commit Hold shift + click to select a range
b176413
lol
PubliclyExecutedPig Jun 30, 2025
584432a
safe renaming
PubliclyExecutedPig Jun 30, 2025
4c88a67
im gonna kms because ts doesnt work
PubliclyExecutedPig Jun 30, 2025
81b0ad8
uzi and fireaxe
PubliclyExecutedPig Jun 30, 2025
b9be47c
stuff
PubliclyExecutedPig Jun 30, 2025
320612f
resprite and sound change
PubliclyExecutedPig Jun 30, 2025
82ced86
Slight fireaxe buff to justify the price
PubliclyExecutedPig Jun 30, 2025
441e6e3
fix
PubliclyExecutedPig Jun 30, 2025
9b4e404
omfg these sprites are soooo good
PubliclyExecutedPig Jun 30, 2025
0668f7d
fix
PubliclyExecutedPig Jun 30, 2025
087539f
final commit - peacemaker resprite
PubliclyExecutedPig Jun 30, 2025
d44dc8a
fix lmfao
PubliclyExecutedPig Jun 30, 2025
0bedebd
Merge branch 'Starlight' into Armoury
PubliclyExecutedPig Jun 30, 2025
cf2c523
small fix
PubliclyExecutedPig Jul 4, 2025
17437f1
Merge branch 'Starlight' into Armoury
PubliclyExecutedPig Jul 5, 2025
7c560ff
fix
PubliclyExecutedPig Jul 5, 2025
543d7ad
new map and yml
APOCAMANDER Jul 10, 2025
4eb440a
Merge branch 'Starlight' of https://github.com/ss14Starlight/space-st…
APOCAMANDER Jul 11, 2025
5bf1c87
more updates
APOCAMANDER Jul 14, 2025
e4ef5ad
Merge branch 'Starlight' of https://github.com/ss14Starlight/space-st…
APOCAMANDER Jul 14, 2025
cf2a72c
Merge branch 'Starlight' into Armoury
PubliclyExecutedPig Jul 22, 2025
19fff38
add several more departments.
APOCAMANDER Jul 23, 2025
fdc29b1
Gib begone
Aurallianz Jul 24, 2025
fd67ecd
Merge branch 'Starlight' of https://github.com/ss14Starlight/space-st…
APOCAMANDER Jul 24, 2025
2a728c3
finished science
APOCAMANDER Jul 25, 2025
b5be689
most of sec done, chapel added.
APOCAMANDER Jul 26, 2025
e87084d
layout is done.
APOCAMANDER Jul 26, 2025
1434cb1
map mostly done
APOCAMANDER Jul 27, 2025
21a6707
Merge branch 'ss14Starlight:Starlight' into Armoury
PubliclyExecutedPig Jul 27, 2025
155c3ed
wires and pipes in progress. I do not enjoy this part.
APOCAMANDER Jul 28, 2025
1b170df
Merge branch 'starlight-dev' into Armoury
PubliclyExecutedPig Jul 28, 2025
e69f95a
Merge branch 'starlight-dev' into Armoury
PubliclyExecutedPig Jul 29, 2025
598fa31
Merge branch 'starlight-dev' of https://github.com/ss14Starlight/spac…
APOCAMANDER Jul 30, 2025
f808e7b
station is atmosed and beaconed.
APOCAMANDER Jul 31, 2025
a68f3d7
removed invalid
APOCAMANDER Jul 31, 2025
956f5dc
replaced the floor. Added more doration
APOCAMANDER Jul 31, 2025
d8ab26c
test
Aug 1, 2025
4db07d4
ai holograms and icons
Aug 1, 2025
6c48fdf
vox feathers & mime writing
Aug 1, 2025
8eaef97
Merge branch 'starlight-dev' of https://github.com/ss14Starlight/spac…
APOCAMANDER Aug 1, 2025
c1f2ab3
Merge branch 'Starlight' of https://github.com/ss14Starlight/space-st…
DrSmugleaf Aug 1, 2025
5c9b441
Merge branch 'starlight-dev' into Armoury
PubliclyExecutedPig Aug 2, 2025
007356c
heal
JustAdler Aug 2, 2025
0089afd
fix
PubliclyExecutedPig Aug 2, 2025
0eb2189
Update vox.yml
Aug 3, 2025
4ff0581
delay
JustAdler Aug 3, 2025
dbbedc5
SL specific
JustAdler Aug 4, 2025
571bc5c
Merge branch 'starlight-dev' of https://github.com/ss14Starlight/spac…
APOCAMANDER Aug 5, 2025
9b736d0
some decor
APOCAMANDER Aug 5, 2025
4707606
added off-versions of thrusters and gyro
APOCAMANDER Aug 6, 2025
810a772
Merge branch 'starlight-dev' of https://github.com/ss14Starlight/spac…
APOCAMANDER Aug 6, 2025
b62385b
removed thing breaking stuff. will add it back if I need to.
APOCAMANDER Aug 6, 2025
3873e36
Merge branch 'starlight-dev' into Armoury
PubliclyExecutedPig Aug 7, 2025
20ae30f
Merge branch 'starlight-dev' of https://github.com/ss14Starlight/spac…
APOCAMANDER Aug 8, 2025
4e35828
all it needs is decoration and random loot/trash
APOCAMANDER Aug 8, 2025
2fb3499
Merge branch 'starlight-dev' into Armoury
PubliclyExecutedPig Aug 8, 2025
b900f6e
fix
PubliclyExecutedPig Aug 8, 2025
18c9336
fix
PubliclyExecutedPig Aug 8, 2025
6117331
slight yml changes
APOCAMANDER Aug 8, 2025
022ad64
Leth is no longer Lobster
APOCAMANDER Aug 8, 2025
1ad27c4
use default shuttle
APOCAMANDER Aug 8, 2025
765c8a7
some minor updates
APOCAMANDER Aug 8, 2025
83b1393
more small fixes, including rotation fix
APOCAMANDER Aug 8, 2025
98963d5
small adjustments
APOCAMANDER Aug 9, 2025
492a052
Added GMN presets. TODO: alt version of the elite webbing with a bigg…
Road-Train Aug 9, 2025
a39b855
Fixed up the maa webbing. Also, NT-NC presets now spawn with their im…
Road-Train Aug 9, 2025
0271021
- finishing touches
APOCAMANDER Aug 9, 2025
a017d50
more names, replaced three that were LRP
APOCAMANDER Aug 10, 2025
ad326db
Update borg.ftl
APOCAMANDER Aug 10, 2025
1e363b0
Dragon nerfs Again
Conflee Aug 10, 2025
5f8db0f
Merge branch 'starlight-dev' of https://github.com/ss14Starlight/spac…
DrSmugleaf Aug 10, 2025
3df7f51
add a desc to the un-smart borgi so it doesn't get mixed up.
walksanatora Aug 10, 2025
73ce1d5
Fix erroring RSIs from latest upstream merge
DrSmugleaf Aug 1, 2025
b59c8ba
Merge pull request #1285 from Afterlight-RnD/fix/rsi-build-2
Happyrobot33 Aug 10, 2025
8bf2722
Merge pull request #1286 from walksanatora/borgi-speaking
Happyrobot33 Aug 10, 2025
d0976e2
Update changelog for PR #1286 [skip ci]
github-actions[bot] Aug 10, 2025
55b3a04
edit
Conflee Aug 10, 2025
9e930b1
Merge branch 'starlight-dev' into GMN-presets
Road-Train Aug 10, 2025
e60e0c8
Conf did an oopsie
Road-Train Aug 10, 2025
a2af722
Update uplink_catalog.yml
PubliclyExecutedPig Aug 10, 2025
7bf5974
Update uplink_catalog.yml
PubliclyExecutedPig Aug 10, 2025
bf34e19
Update uplink_catalog.yml
PubliclyExecutedPig Aug 10, 2025
7c8be1e
Corrected gamerule and changed map to grid
QuinAver Aug 10, 2025
9f38450
Update Resources/Prototypes/_StarLight/Catalog/uplink_catalog.yml
PubliclyExecutedPig Aug 10, 2025
eb9d1b1
Update Resources/Prototypes/_StarLight/Catalog/uplink_catalog.yml
PubliclyExecutedPig Aug 10, 2025
0d79f84
Merge branch 'starlight-dev' of https://github.com/ss14Starlight/spac…
APOCAMANDER Aug 10, 2025
74e338b
hotfix mask stats
Conflee Aug 10, 2025
a067e95
Add fallback check when unobstructed check is insufficient
Aug 10, 2025
c16ce09
some prettification and dirtification. reinforced atmos pretty drasti…
APOCAMANDER Aug 10, 2025
cb99f17
ALl important edit comments
Aug 10, 2025
9df8b44
custom changelog ID system
Happyrobot33 Aug 11, 2025
8722d90
0 start
Happyrobot33 Aug 11, 2025
7a64771
actually use the ID
Happyrobot33 Aug 11, 2025
3935c89
Tacking on requests from Abby for the ghost roles...
Road-Train Aug 11, 2025
cb1224e
lol
PubliclyExecutedPig Aug 11, 2025
dff1e4a
Merge branch 'main' into dev
ShadesMars Aug 11, 2025
a2e7068
Implement hit registration fallback
Aug 11, 2025
698cb1e
Starlight comments
Aug 11, 2025
f010df2
Grants upon thee, bird noises
KillerTheFlareon Aug 11, 2025
cabf73b
Merge pull request #1300 from Happyrobot33/starlight-custom-changelog
ShadesMars Aug 11, 2025
69da3a0
Merge pull request #1284 from Conflee/dragon-nerf-again
Happyrobot33 Aug 11, 2025
3417201
fix changelog issue
Happyrobot33 Aug 11, 2025
572900d
Merge pull request #1297 from Conflee/kitsunemaskfix
Happyrobot33 Aug 11, 2025
d4e711a
Update changelog for PR #1297 [skip ci]
github-actions[bot] Aug 11, 2025
76b1678
Merge pull request #1287 from Road-Train/ntnc-ghost-role-hotfix
Happyrobot33 Aug 11, 2025
5f40722
Update changelog for PR #1287 [skip ci]
github-actions[bot] Aug 11, 2025
17a2f87
Merge pull request #1304 from KillerTheFlareon/birb-noises-for-avali-too
Happyrobot33 Aug 11, 2025
1ce2632
Update changelog for PR #1304 [skip ci]
github-actions[bot] Aug 11, 2025
bcb9f01
Gave the grid a name
QuinAver Aug 11, 2025
e678724
Update bagel.yml
PubliclyExecutedPig Aug 11, 2025
12f5a0a
Update exo.yml
PubliclyExecutedPig Aug 11, 2025
9d22905
revert
PubliclyExecutedPig Aug 11, 2025
9fcaf5c
revert
PubliclyExecutedPig Aug 11, 2025
3946e52
Merge pull request #1290 from PubliclyExecutedPig/symdicate-2
Happyrobot33 Aug 11, 2025
3578fb4
Update changelog for PR #1290 [skip ci]
github-actions[bot] Aug 11, 2025
53b1e70
Merge pull request #1293 from QuinAver/fixedLotteryShuttleAdmeme
Happyrobot33 Aug 11, 2025
698b118
Update changelog for PR #1293 [skip ci]
github-actions[bot] Aug 11, 2025
f41193a
Update ChangelogStarlight.yml
Happyrobot33 Aug 11, 2025
be85828
Readded from Patch-3
TheRealSlimRedwoods Aug 11, 2025
9cd01f2
Create meta.json
TheRealSlimRedwoods Aug 11, 2025
13222c7
Add files via upload
TheRealSlimRedwoods Aug 11, 2025
04c78e6
Create meta.json
TheRealSlimRedwoods Aug 11, 2025
e68aecb
Add files via upload
TheRealSlimRedwoods Aug 11, 2025
96d2c95
Create meta.json
TheRealSlimRedwoods Aug 11, 2025
3978e13
Add files via upload
TheRealSlimRedwoods Aug 11, 2025
82dd3d6
Create meta.json
TheRealSlimRedwoods Aug 11, 2025
dce6733
Add files via upload
TheRealSlimRedwoods Aug 11, 2025
c089163
Create meta.json
TheRealSlimRedwoods Aug 11, 2025
62f93af
Add files via upload
TheRealSlimRedwoods Aug 11, 2025
4446c16
Create virus_plushie.ftl
TheRealSlimRedwoods Aug 11, 2025
b389255
slight fuckup
TheRealSlimRedwoods Aug 11, 2025
b43131a
Create meta.json
TheRealSlimRedwoods Aug 11, 2025
557e597
Add files via upload
TheRealSlimRedwoods Aug 11, 2025
9177155
porting....
TheRealSlimRedwoods Aug 11, 2025
21dd397
port 2
TheRealSlimRedwoods Aug 11, 2025
6ff23f6
final port
TheRealSlimRedwoods Aug 11, 2025
6d7c27f
2 rheas :fear:
TheRealSlimRedwoods Aug 12, 2025
869983d
Update plushie_bases.yml
TheRealSlimRedwoods Aug 12, 2025
19ad35c
Update meta.json
TheRealSlimRedwoods Aug 12, 2025
6b896a5
Add files via upload
TheRealSlimRedwoods Aug 12, 2025
fc8b71f
FUCK UP AGAIN GUHHHHHHHHHHHHHHHH
TheRealSlimRedwoods Aug 12, 2025
a0b32bd
Create meta.json
TheRealSlimRedwoods Aug 12, 2025
574a10a
Update meta.json
TheRealSlimRedwoods Aug 12, 2025
3d04a41
Update meta.json
TheRealSlimRedwoods Aug 12, 2025
04a1964
Add files via upload
TheRealSlimRedwoods Aug 12, 2025
eb7c66e
Create mahio_plushie.rsi
TheRealSlimRedwoods Aug 12, 2025
e017e53
help me
TheRealSlimRedwoods Aug 12, 2025
0a7c48c
Delete Resources/Textures/_Starlight/Objects/Fun/Plushies/mahio_plusi…
TheRealSlimRedwoods Aug 12, 2025
6d18740
Create meta.json
TheRealSlimRedwoods Aug 12, 2025
df954aa
the end
TheRealSlimRedwoods Aug 12, 2025
ad9d670
added a ,
TheRealSlimRedwoods Aug 12, 2025
c2373ae
tthis should fix the felinoids
TheRealSlimRedwoods Aug 12, 2025
879bc73
FUCK
TheRealSlimRedwoods Aug 12, 2025
9abae74
Update plushie_bases.yml
TheRealSlimRedwoods Aug 12, 2025
cd3ad4a
HATE HATE HATE HATE HATE
TheRealSlimRedwoods Aug 12, 2025
0790bd0
please be over :sob:
TheRealSlimRedwoods Aug 12, 2025
d9d74d3
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
2a6d38c
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
d263e3f
Update MaterialReclaimerComponent.cs
Aurallianz Aug 12, 2025
92d9196
init
Rinary1 Aug 12, 2025
135bbdc
THANK YOU
TheRealSlimRedwoods Aug 12, 2025
2b93e78
Update plushie_datasets.yml
TheRealSlimRedwoods Aug 12, 2025
800ee48
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
662fa62
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
ca6b863
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
6123d66
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
749533a
Merge branch 'starlight-dev' into Armoury
PubliclyExecutedPig Aug 12, 2025
51fee8e
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
d4e9369
Update plushie_datasets.yml
TheRealSlimRedwoods Aug 12, 2025
afdc763
Update plushies.yml
TheRealSlimRedwoods Aug 12, 2025
4faee52
Update silicon-laws.yml
CrazyPhantom779 Aug 12, 2025
9779921
Merge pull request #1310 from ss14Starlight/fix-food-recipes
Happyrobot33 Aug 12, 2025
a9fdb66
Update changelog for PR #1310 [skip ci]
github-actions[bot] Aug 12, 2025
97b9e70
Merge pull request #1298 from Luxeator/SL-kudzuTargetingFix
Happyrobot33 Aug 12, 2025
f330240
Update bagel.yml
Happyrobot33 Aug 12, 2025
abaf0cc
Update default.yml
Happyrobot33 Aug 12, 2025
9633721
Update changelog for PR #1298 [skip ci]
github-actions[bot] Aug 12, 2025
b7ebf52
Update exo.yml
Happyrobot33 Aug 12, 2025
a37757a
Update bagel.yml
Happyrobot33 Aug 12, 2025
bb3c985
Update default.yml
Happyrobot33 Aug 12, 2025
fb10d9d
Merge pull request #1309 from TheRealSlimRedwoods/starlight-dev
Happyrobot33 Aug 12, 2025
77a8a6d
Update changelog for PR #1309 [skip ci]
github-actions[bot] Aug 12, 2025
b5df60f
Merge pull request #940 from PubliclyExecutedPig/Armoury
Happyrobot33 Aug 12, 2025
26bffb1
Update changelog for PR #940 [skip ci]
github-actions[bot] Aug 12, 2025
6956cb3
requested changes
PubliclyExecutedPig Aug 12, 2025
2ab3d8c
Merge branch 'starlight-dev' into Bagel-And-Exo
PubliclyExecutedPig Aug 12, 2025
3bed787
Merge pull request #1277 from APOCAMANDER/Leth_Station
Happyrobot33 Aug 12, 2025
ae84c46
Update changelog for PR #1277 [skip ci]
github-actions[bot] Aug 12, 2025
aa43a3d
Merge branch 'starlight-dev' into Bagel-And-Exo
PubliclyExecutedPig Aug 12, 2025
0ce4ebc
Uplink Hotfix
PubliclyExecutedPig Aug 12, 2025
83a7d76
meta raiding strat??
Arkanic Aug 12, 2025
cd42b34
Update plushie_datasets.yml
TheRealSlimRedwoods Aug 12, 2025
020ad0e
make dragon gib rather than delete when they loose their rifts
Arkanic Aug 13, 2025
82244b4
Changed removed lines to commented out
CrazyPhantom779 Aug 13, 2025
0d36e4e
Made it impossible to shoot while vented
RHSvenson Aug 13, 2025
0a46dde
Being "grabbed" interrupts climbing
RHSvenson Aug 13, 2025
810ef0f
Entering vents is now interruptable by taking damage
RHSvenson Aug 13, 2025
2b47fd8
Revert "Being "grabbed" interrupts climbing"
RHSvenson Aug 13, 2025
2ad90cf
Update Resources/Prototypes/silicon-laws.yml
CrazyPhantom779 Aug 13, 2025
2a31306
Update Resources/Prototypes/silicon-laws.yml
CrazyPhantom779 Aug 13, 2025
75825d2
bomboclat starlight tag
RHSvenson Aug 13, 2025
365a4c5
Update redwoods_plushie.ftl
TheRealSlimRedwoods Aug 13, 2025
d378101
i think
TheRealSlimRedwoods Aug 13, 2025
9f45280
fix nukeops not being able to end round once they are all dead.
walksanatora Aug 13, 2025
5f94e46
the AI can no longer shunt while in a intellicard. get carded idiot.
walksanatora Aug 13, 2025
07c1986
Merge pull request #1329 from walksanatora/nukeops-fix
Happyrobot33 Aug 13, 2025
267f628
Update changelog for PR #1329 [skip ci]
github-actions[bot] Aug 13, 2025
79335a3
Merge pull request #1330 from walksanatora/nocard-shunt
Happyrobot33 Aug 13, 2025
f806558
Update changelog for PR #1330 [skip ci]
github-actions[bot] Aug 13, 2025
115cf44
Merge pull request #1327 from TheRealSlimRedwoods/starlight-dev
Happyrobot33 Aug 13, 2025
a54555a
Update changelog for PR #1327 [skip ci]
github-actions[bot] Aug 13, 2025
937b499
Merge pull request #1326 from RHSvenson/VentFixes
Happyrobot33 Aug 13, 2025
db5ee3b
Update changelog for PR #1326 [skip ci]
github-actions[bot] Aug 13, 2025
cbd9fea
Merge pull request #1325 from Arkanic/dragon-fixes
Happyrobot33 Aug 13, 2025
d733cbc
Update changelog for PR #1325 [skip ci]
github-actions[bot] Aug 13, 2025
b56acae
Merge pull request #1324 from Arkanic/WHAT
Happyrobot33 Aug 13, 2025
851d43b
Merge pull request #1322 from PubliclyExecutedPig/PLEASE-PLEASE-PLEAS…
Happyrobot33 Aug 13, 2025
5830ae0
Merge pull request #1313 from CrazyPhantom779/Drone-Lawset-Removal
Happyrobot33 Aug 13, 2025
9df412f
Update changelog for PR #1313 [skip ci]
github-actions[bot] Aug 13, 2025
3f872f8
i wasn't done you know.
TheRealSlimRedwoods Aug 13, 2025
912db74
Merge branch 'ss14Starlight:starlight-dev' into starlight-dev
TheRealSlimRedwoods Aug 13, 2025
fd48c6d
Merge pull request #1332 from TheRealSlimRedwoods/starlight-dev
Happyrobot33 Aug 13, 2025
25d209d
Post-test update. a bunch of small adjustments.
APOCAMANDER Aug 13, 2025
85c8735
stupid invalid entry
APOCAMANDER Aug 13, 2025
a6f3faf
Merge pull request #1103 from Aurallianz/Anti-gibber
Happyrobot33 Aug 14, 2025
a5cbc1a
Update changelog for PR #1103 [skip ci]
github-actions[bot] Aug 14, 2025
73c3624
Merge pull request #1173 from stickycheZ101/misc-CD-ports
Happyrobot33 Aug 14, 2025
ab2ce51
Update changelog for PR #1173 [skip ci]
github-actions[bot] Aug 14, 2025
cd19ee1
Merge pull request #1283 from APOCAMANDER/Borg_Name_update
Happyrobot33 Aug 14, 2025
d2e05b1
Update changelog for PR #1283 [skip ci]
github-actions[bot] Aug 14, 2025
f7213f9
Merge pull request #1333 from APOCAMANDER/Leth_Station
Happyrobot33 Aug 14, 2025
68704e3
Merge pull request #1302 from PubliclyExecutedPig/Bagel-And-Exo
Happyrobot33 Aug 14, 2025
6ad82ad
Update changelog for PR #1302 [skip ci]
github-actions[bot] Aug 14, 2025
db4abd0
Merge pull request #1274 from Road-Train/GMN-presets
Happyrobot33 Aug 14, 2025
99fe970
Update changelog for PR #1274 [skip ci]
github-actions[bot] Aug 14, 2025
d360db3
Merge pull request #1192 from JustAdler/kits
Happyrobot33 Aug 14, 2025
18346f7
Update changelog for PR #1192 [skip ci]
github-actions[bot] Aug 14, 2025
d671d7c
Merge branch 'Starlight' into starlight-dev
Happyrobot33 Aug 14, 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
76 changes: 63 additions & 13 deletions Content.Client/Weapons/Melee/MeleeWeaponSystem.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
using System.Linq;
using Content.Client.Gameplay;
using Content.Shared.CombatMode;
using Content.Shared.Effects;
using Content.Shared.Hands.Components;
using Content.Shared.Mobs.Components;
using Content.Shared.StatusEffect;
using Content.Shared.Physics; // Starlight-edit™
using Content.Shared.Weapons.Melee;
using Content.Shared.Weapons.Melee.Components;
using Content.Shared.Weapons.Melee.Events;
Expand All @@ -16,7 +13,10 @@
using Robust.Client.State;
using Robust.Shared.Input;
using Robust.Shared.Map;
using Robust.Shared.Map.Components; // Starlight-edit™
using Robust.Shared.Physics.Systems; // Starlight-edit™
using Robust.Shared.Player;
using Robust.Shared.Physics; // Starlight-edit™

namespace Content.Client.Weapons.Melee;

Expand All @@ -30,6 +30,7 @@ public sealed partial class MeleeWeaponSystem : SharedMeleeWeaponSystem
[Dependency] private readonly InputSystem _inputSystem = default!;
[Dependency] private readonly SharedColorFlashEffectSystem _color = default!;
[Dependency] private readonly MapSystem _map = default!;
[Dependency] private readonly SharedPhysicsSystem _physics = default!; // Starlight-edit™
[Dependency] private readonly SpriteSystem _sprite = default!;

private EntityQuery<TransformComponent> _xformQuery;
Expand Down Expand Up @@ -154,11 +155,53 @@ public override void Update(float frameTime)

protected override bool InRange(EntityUid user, EntityUid target, float range, ICommonSession? session)
{
var xform = Transform(target);
var targetCoordinates = xform.Coordinates;
var targetLocalAngle = xform.LocalRotation;
// Client-side unobstructed check. // Starlight-edit™
var targetXform = Transform(target); // Starlight-edit™
if (Interaction.InRangeUnobstructed(user, target, targetXform.Coordinates, targetXform.LocalRotation, range, overlapCheck: false)) // Starlight-edit™
return true; // Starlight-edit™

return Interaction.InRangeUnobstructed(user, target, targetCoordinates, targetLocalAngle, range, overlapCheck: false);
// Fallback for same-tile obstructions // Starlight-edit-begin™
var userXform = Transform(user);

var userPos = TransformSystem.GetWorldPosition(userXform);
var targetPos = TransformSystem.GetWorldPosition(targetXform);
var delta = targetPos - userPos;
var distance = delta.Length();

if (distance > range)
return false;

// If distance is near-zero, it's a point-blank attack. The path is definitionally "unobstructed"
if (distance < 0.001f)
return true;

var mapId = userXform.MapID;
if (mapId == MapId.Nullspace)
return false;

var dir = delta.Normalized();
const int attackMask = (int) (CollisionGroup.MobMask | CollisionGroup.Opaque);

var ray = new CollisionRay(userPos, dir, attackMask);
var rayCastResults = _physics.IntersectRay(mapId, ray, distance, user, false).ToList();

if (!rayCastResults.Any() || rayCastResults.First().HitEntity == target)
return true;

var hitEntity = rayCastResults.First().HitEntity;

if (targetXform.GridUid is not { } gridUid || !TryComp<MapGridComponent>(gridUid, out var grid))
return false;

var hitXform = Transform(hitEntity);
if (hitXform.GridUid != gridUid)
return false;

var targetTile = _map.CoordinatesToTile(gridUid, grid, targetXform.Coordinates);
var hitTile = _map.CoordinatesToTile(gridUid, grid, hitXform.Coordinates);

// If the first obstruction is on the same tile as the target, allow the attack
return targetTile == hitTile; // Starlight-edit-end™
}

protected override void DoDamageEffect(List<EntityUid> targets, EntityUid? user, TransformComponent targetXform)
Expand Down Expand Up @@ -212,14 +255,21 @@ private void ClientLightAttack(EntityUid attacker, MapCoordinates mousePos, Enti
if (mousePos.MapId != attackerPos.MapId || (attackerPos.Position - mousePos.Position).Length() > meleeComponent.Range)
return;

// Find the entity directly under the cursor
EntityUid? target = null;

if (_stateManager.CurrentState is GameplayStateBase screen)
target = screen.GetClickedEntity(mousePos);

// Don't light-attack if interaction will be handling this instead
if (Interaction.CombatModeCanHandInteract(attacker, target))
return;
// If no entity was clicked (a "miss"), we still want to play the swing animation. // Starlight-edit-begin™
// To do this, we target the grid entity itself. The server will should interpret
// an attack on a non-damageable grid as a miss
if (target == null)
{
if (MapManager.TryFindGridAt(mousePos, out var gridUid, out _))
target = gridUid;
else
target = _map.GetMapOrInvalid(mousePos.MapId);
} // Starlight-edit-end™

RaisePredictiveEvent(new LightAttackEvent(GetNetEntity(target), GetNetEntity(weaponUid), GetNetCoordinates(coordinates)));
}
Expand All @@ -233,4 +283,4 @@ private void OnMeleeLunge(MeleeLungeEvent ev)
if (Exists(ent) && Exists(entWeapon))
DoLunge(ent, entWeapon, ev.Angle, ev.LocalPos, ev.Animation);
}
}
}
4 changes: 4 additions & 0 deletions Content.Server/Dragon/Components/DragonComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ public sealed partial class DragonComponent : Component
Params = AudioParams.Default.WithVolume(3f),
};

//starlight
[DataField]
public string NoRiftDeathEffect = "EffectFlashDragonDisappear";

/// <summary>
/// NPC faction to re-add after being zombified.
/// Prevents zombie dragon from being attacked by its own carp.
Expand Down
12 changes: 8 additions & 4 deletions Content.Server/Dragon/DragonSystem.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Content.Server.Body.Systems;
using Content.Server.Objectives.Components;
using Content.Server.Objectives.Systems;
using Content.Server.Popups;
Expand Down Expand Up @@ -30,6 +31,7 @@ public sealed partial class DragonSystem : EntitySystem
[Dependency] private readonly SharedMapSystem _map = default!;
[Dependency] private readonly MobStateSystem _mobState = default!;
[Dependency] private readonly TurfSystem _turf = default!;
[Dependency] private readonly BodySystem _body = default!; //starlight

private EntityQuery<CarpRiftsConditionComponent> _objQuery;

Expand Down Expand Up @@ -97,12 +99,14 @@ public override void Update(float frameTime)
if (!_mobState.IsDead(uid))
comp.RiftAccumulator += frameTime;

// Delete it, naughty dragon!
if (comp.RiftAccumulator >= comp.RiftMaxAccumulator)
//starlight start
if (comp.RiftAccumulator >= comp.RiftMaxAccumulator && !_mobState.IsDead(uid)) // dragon has no rifts and has surpassed the timer
{
Roar(uid, comp);
QueueDel(uid);
var xform = Transform(uid);
Spawn(comp.NoRiftDeathEffect, _transform.GetMapCoordinates(uid, xform: xform));
_body.GibBody(uid, gibOrgans: false); // REND HIS FLESH!!!!!!!!!!!!!
}
//starlight end
}
}

Expand Down
2 changes: 1 addition & 1 deletion Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
private static readonly Gauge NukeopsCount = Metrics.CreateGauge( // Startlight
"nukie_count",
"Number of all nukies Win/Loses Count.",
Enum.GetNames<WinType>());
["results"]);

[Dependency] private readonly AntagSelectionSystem _antag = default!;
[Dependency] private readonly EmergencyShuttleSystem _emergency = default!;
Expand Down
16 changes: 13 additions & 3 deletions Content.Server/Materials/MaterialReclaimerSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
using System.Linq;
using Content.Shared._Starlight.Materials;
using Content.Shared.Humanoid;

namespace Content.Server.Materials;
Expand Down Expand Up @@ -186,20 +187,29 @@ public override void Reclaim(EntityUid uid,

SpawnMaterialsFromComposition(uid, item, completion * component.Efficiency, xform: xform);

//Starlight
var ev = new RecyclerTryGibEvent(item);
RaiseLocalEvent(uid, ref ev);
//Starlight
if (CanGib(uid, item, component))
{
var logImpact = HasComp<HumanoidAppearanceComponent>(item) ? LogImpact.Extreme : LogImpact.Medium;
_adminLogger.Add(LogType.Gib, logImpact, $"{ToPrettyString(item):victim} was gibbed by {ToPrettyString(uid):entity} ");
SpawnChemicalsFromComposition(uid, item, completion, false, component, xform);
_body.GibBody(item, true);
//Starlight
if (!ev.Handled)
_body.GibBody(item, true);
//Starlight
_appearance.SetData(uid, RecyclerVisuals.Bloody, true);
}
else
{
SpawnChemicalsFromComposition(uid, item, completion, true, component, xform);
}

QueueDel(item);
//Starlight
if (!ev.Handled)
QueueDel(item);
//Starlight
}

private void SpawnMaterialsFromComposition(EntityUid reclaimer,
Expand Down
2 changes: 1 addition & 1 deletion Content.Server/VentCraw/VentCrawTubeSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ private void TryEnter(EntityUid uid, EntityUid user, VentCrawlerComponent crawle
var args = new DoAfterArgs(EntityManager, user, crawler.EnterDelay, new EnterVentDoAfterEvent(), user, uid, user)
{
BreakOnMove = true,
BreakOnDamage = false
BreakOnDamage = true // STARLIGHT
};

_doAfterSystem.TryStartDoAfter(args);
Expand Down
76 changes: 65 additions & 11 deletions Content.Server/Weapons/Melee/MeleeWeaponSystem.cs
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
using System.Linq; // Starlight-edit™
using System.Numerics; // Starlight-edit™
using Content.Server.Chat.Systems;
using Content.Server.Movement.Systems;
using Content.Shared.Damage.Events;
using Content.Shared.Damage.Systems;
using Content.Shared.Effects;
using Content.Shared.Physics; // Starlight-edit™
using Content.Shared.Speech.Components;
using Content.Shared.Weapons.Melee;
using Content.Shared.Weapons.Melee.Events;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Player;
using System.Linq;
using System.Numerics;
using Robust.Shared.Physics; // Starlight-edit™
using Robust.Shared.Physics.Systems; // Starlight-edit™

namespace Content.Server.Weapons.Melee;

Expand All @@ -19,6 +23,8 @@ public sealed class MeleeWeaponSystem : SharedMeleeWeaponSystem
[Dependency] private readonly DamageExamineSystem _damageExamine = default!;
[Dependency] private readonly LagCompensationSystem _lag = default!;
[Dependency] private readonly SharedColorFlashEffectSystem _color = default!;
[Dependency] private readonly SharedMapSystem _map = default!; // Starlight-edit™
[Dependency] private readonly SharedPhysicsSystem _physics = default!; // Starlight-edit™

public override void Initialize()
{
Expand Down Expand Up @@ -50,7 +56,7 @@ protected override bool ArcRaySuccessful(EntityUid targetUid,
ICommonSession? session)
{
// Originally the client didn't predict damage effects so you'd intuit some level of how far
// in the future you'd need to predict, but then there was a lot of complaining like "why would you add artifical delay" as if ping is a choice.
// in the future you'd need to predict, but then there was a lot of complaining like "why would you add artificial delay" as if ping is a choice.
// Now damage effects are predicted but for wide attacks it differs significantly from client and server so your game could be lying to you on hits.
// This isn't fair in the slightest because it makes ping a huge advantage and this would be a hidden system.
// Now the client tells us what they hit and we validate if it's plausible.
Expand All @@ -71,16 +77,64 @@ protected override bool ArcRaySuccessful(EntityUid targetUid,

protected override bool InRange(EntityUid user, EntityUid target, float range, ICommonSession? session)
{
EntityCoordinates targetCoordinates;
Angle targetLocalAngle;

// Server-side unobstructed check with lag compensation
if (session is { } pSession)
{
(targetCoordinates, targetLocalAngle) = _lag.GetCoordinatesAngle(target, pSession);
return Interaction.InRangeUnobstructed(user, target, targetCoordinates, targetLocalAngle, range, overlapCheck: false);
var (targetCoordinates, targetLocalAngle) = _lag.GetCoordinatesAngle(target, pSession); // Starlight-edit-begin™
if (Interaction.InRangeUnobstructed(user, target, targetCoordinates, targetLocalAngle, range, overlapCheck: false))
return true;
}
else
{
// Fallback for when no session is provided
var targetXformSimple = Transform(target);
if (Interaction.InRangeUnobstructed(user, target, targetXformSimple.Coordinates, targetXformSimple.LocalRotation, range, overlapCheck: false))
return true; // Starlight-edit-end™
}

// Fallback for same-tile obstructions // Starlight-edit-begin™
var userXform = Transform(user);
var targetXform = Transform(target);

var userPos = TransformSystem.GetWorldPosition(userXform);
var targetPos = TransformSystem.GetWorldPosition(targetXform);
var delta = targetPos - userPos;
var distance = delta.Length();

if (distance > range)
return false;

// If distance is near-zero, it's a point-blank attack. The path is definitionally "unobstructed"
if (distance < 0.001f)
return true;

var mapId = userXform.MapID;
if (mapId == MapId.Nullspace)
return false;

var dir = delta.Normalized();
const int attackMask = (int) (CollisionGroup.MobMask | CollisionGroup.Opaque);

var ray = new CollisionRay(userPos, dir, attackMask);
var rayCastResults = _physics.IntersectRay(mapId, ray, distance, user, false).ToList();

if (!rayCastResults.Any() || rayCastResults.First().HitEntity == target)
return true;

var hitEntity = rayCastResults.First().HitEntity;

if (targetXform.GridUid is not { } gridUid || !TryComp<MapGridComponent>(gridUid, out var grid))
return false;

var hitXform = Transform(hitEntity);
if (hitXform.GridUid != gridUid)
return false;

var targetTile = _map.CoordinatesToTile(gridUid, grid, targetXform.Coordinates);
var hitTile = _map.CoordinatesToTile(gridUid, grid, hitXform.Coordinates);

return Interaction.InRangeUnobstructed(user, target, range);
// If the first obstruction is on the same tile as the target, allow the attack
return targetTile == hitTile; // Starlight-edit-end™
}

protected override void DoDamageEffect(List<EntityUid> targets, EntityUid? user, TransformComponent targetXform)
Expand Down Expand Up @@ -113,10 +167,10 @@ private void OnSpeechHit(EntityUid owner, MeleeSpeechComponent comp, MeleeHitEve
return;
}

if (comp.Battlecry != null)//If the battlecry is set to empty, doesn't speak
if (comp.Battlecry != null) //If the battlecry is set to empty, doesn't speak
{
_chat.TrySendInGameICMessage(args.User, comp.Battlecry, InGameICChatType.Speak, true, true, checkRadioPrefix: false); //Speech that isn't sent to chat or adminlogs
}

}
}
}
8 changes: 1 addition & 7 deletions Content.Server/build.json
Original file line number Diff line number Diff line change
@@ -1,7 +1 @@
{
"engine_version": "237.1.0",
"fork_id": "Starlight",
"version": "1732131340",
"hash": "6F1003C28A8F84306ABD1ABCDA61E9572C86C5ECAE83268314F1573FBCD30A11",
"download": "https://ss14-starlight.online/builds/1732131340/SS14.Client.zip"
}
{}
8 changes: 7 additions & 1 deletion Content.Shared/Materials/MaterialReclaimerComponent.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Content.Shared.Whitelist;
using Content.Shared.Damage;
using Content.Shared.Whitelist;
using JetBrains.Annotations;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
Expand Down Expand Up @@ -123,6 +124,11 @@ public sealed partial class MaterialReclaimerComponent : Component
/// </remarks>
[DataField, AutoNetworkedField]
public int ItemsProcessed;

//Starlight
[DataField, AutoNetworkedField]
public DamageSpecifier EmagDamage = new() { DamageDict = { ["Blunt"] = 350 } };
//Starlight
}

[NetSerializable, Serializable]
Expand Down
5 changes: 5 additions & 0 deletions Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
using Robust.Shared.Serialization;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using Content.Shared.VentCraw;

namespace Content.Shared.Weapons.Ranged.Systems;

Expand Down Expand Up @@ -145,6 +146,10 @@ private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args)
if (ent != GetEntity(msg.Gun))
return;

if (TryComp(user, out VentCrawlerComponent? crawlerComp) //🌟Starlight🌟
&& crawlerComp.InTube == true)
return;

gun.ShootCoordinates = GetCoordinates(msg.Coordinates);
gun.Target = GetEntity(msg.Target);
AttemptShoot(user.Value, ent, gun);
Expand Down
Loading
Loading