Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
195 changes: 195 additions & 0 deletions CONFLICTS_TO_RESOLVE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
./Content.Client/Commands/DebugCommands.cs.rej
./Content.Client/Commands/MappingClientSideSetupCommand.cs.rej
./Content.Client/Cooldown/CooldownGraphic.cs.rej
./Content.Client/Disposal/PressureBar.cs.rej
./Content.Client/HotPotato/HotPotatoSystem.cs.rej
./Content.Client/Instruments/InstrumentSystem.cs.rej
./Content.Client/Inventory/ClientInventorySystem.cs.rej
./Content.Client/Light/RgbLightControllerSystem.cs.rej
./Content.Client/Power/APC/UI/ApcMenu.xaml.cs.rej
./Content.Client/Trigger/Components/TimerTriggerVisualizerComponent.cs.rej
./Content.Client/Trigger/Systems/ProximityTriggerAnimationSystem.cs.rej
./Content.Client/Trigger/Systems/TimerTriggerVisualizerSystem.cs.rej
./Content.Client/UserInterface/Systems/DamageOverlays/Overlays/DamageOverlay.cs.rej
./Content.Client/UserInterface/Systems/ProgressColorSystem.cs.rej
./Content.IntegrationTests/Tests/InventoryHelpersTest.cs.rej
./Content.IntegrationTests/Tests/Payload/ModularGrenadeTests.cs.rej
./Content.IntegrationTests/Tests/RoundEndTest.cs.rej
./Content.IntegrationTests/Tests/StoreTests.cs.rej
./Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs.rej
./Content.Server/Atmos/EntitySystems/FlammableSystem.cs.rej
./Content.Server/Chat/Managers/ChatSanitizationManager.cs.rej
./Content.Server/Chat/Systems/ChatSystem.cs.rej
./Content.Server/Defusable/Systems/DefusableSystem.cs.rej
./Content.Server/Destructible/DestructibleSystem.cs.rej
./Content.Server/Destructible/Thresholds/Behaviors/TimerStartBehavior.cs.rej
./Content.Server/Destructible/Thresholds/Behaviors/TriggerBehavior.cs.rej
./Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs.rej
./Content.Server/DeviceLinking/Systems/MemoryCellSystem.cs.rej
./Content.Server/DeviceLinking/Systems/SignallerSystem.cs.rej
./Content.Server/Drowsiness/DrowsinessSystem.cs.rej
./Content.Server/Emp/EmpSystem.cs.rej
./Content.Server/Explosion/Components/ProjectileGrenadeComponent.cs.rej
./Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs.rej
./Content.Server/Explosion/EntitySystems/ScatteringGrenadeSystem.cs.rej
./Content.Server/GameTicking/Rules/TraitorRuleSystem.cs.rej
./Content.Server/Ghost/Roles/GhostRoleSystem.cs.rej
./Content.Server/Holopad/HolopadSystem.cs.rej
./Content.Server/HotPotato/HotPotatoSystem.cs.rej
./Content.Server/Instruments/InstrumentSystem.cs.rej
./Content.Server/LandMines/LandMineSystem.cs.rej
./Content.Server/Medical/VomitSystem.cs.rej
./Content.Server/Mind/Commands/MakeSentientCommand.cs.rej
./Content.Server/Mind/MindSystem.cs.rej
./Content.Server/NPC/Systems/NPCCombatSystem.Ranged.cs.rej
./Content.Server/NPC/Systems/NPCSteeringSystem.cs.rej
./Content.Server/NPC/Systems/NPCSystem.cs.rej
./Content.Server/Ninja/Systems/SpiderChargeSystem.cs.rej
./Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs.rej
./Content.Server/Payload/EntitySystems/PayloadSystem.cs.rej
./Content.Server/PneumaticCannon/PneumaticCannonSystem.cs.rej
./Content.Server/Polymorph/Systems/PolymorphSystem.cs.rej
./Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs.rej
./Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs.rej
./Content.Server/Silicons/Borgs/BorgSystem.cs.rej
./Content.Server/Sound/EmitSoundSystem.cs.rej
./Content.Server/Speech/EntitySystems/BlockListeningSystem.cs.rej
./Content.Server/Speech/EntitySystems/ListeningSystem.cs.rej
./Content.Server/Speech/EntitySystems/ReplacementAccentSystem.cs.rej
./Content.Server/Speech/Muting/MutingSystem.cs.rej
./Content.Server/Station/Systems/StationSpawningSystem.cs.rej
./Content.Server/Stunnable/Systems/StunOnCollideSystem.cs.rej
./Content.Server/SurveillanceCamera/Systems/SurveillanceCameraMicrophoneSystem.cs.rej
./Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs.rej
./Content.Server/Telephone/TelephoneSystem.cs.rej
./Content.Server/Tools/ToolSystem.cs.rej
./Content.Server/Trigger/Systems/IgniteOnTriggerSystem.cs.rej
./Content.Server/Trigger/Systems/SpeakOnTriggerSystem.cs.rej
./Content.Shared/Actions/Components/TargetActionComponent.cs.rej
./Content.Shared/Anomaly/AnomalySynchronizerSystem.cs.rej
./Content.Shared/Anomaly/Components/AnomalySynchronizerComponent.cs.rej
./Content.Shared/Bed/Sleep/SleepingSystem.cs.rej
./Content.Shared/CCVar/CCVars.Viewport.cs.rej
./Content.Shared/CCVar/CCVars.cs.rej
./Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs.rej
./Content.Shared/Chat/SharedChatSystem.cs.rej
./Content.Shared/Cuffs/Components/HandcuffComponent.cs.rej
./Content.Shared/Cuffs/SharedCuffableSystem.cs.rej
./Content.Shared/Damage/Systems/SharedGodmodeSystem.cs.rej
./Content.Shared/Damage/Systems/SharedStaminaSystem.cs.rej
./Content.Shared/DisplacementMap/DisplacementData.cs.rej
./Content.Shared/Emp/SharedEmpSystem.cs.rej
./Content.Shared/Explosion/Components/ScatteringGrenadeComponent.cs.rej
./Content.Shared/Eye/VisibilityFlags.cs.rej
./Content.Shared/Flash/SharedFlashSystem.cs.rej
./Content.Shared/Glue/GlueComponent.cs.rej
./Content.Shared/Glue/GlueSystem.cs.rej
./Content.Shared/Glue/GluedComponent.cs.rej
./Content.Shared/HotPotato/HotPotatoComponent.cs.rej
./Content.Shared/HotPotato/SharedHotPotatoSystem.cs.rej
./Content.Shared/Humanoid/SkinColor.cs.rej
./Content.Shared/Interaction/Components/UnremoveableComponent.cs.rej
./Content.Shared/Inventory/InventoryComponent.cs.rej
./Content.Shared/Magic/SharedMagicSystem.cs.rej
./Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs.rej
./Content.Shared/Mind/SharedMindSystem.cs.rej
./Content.Shared/Mousetrap/MousetrapComponent.cs.rej
./Content.Shared/Ninja/Components/SpiderChargeComponent.cs.rej
./Content.Shared/Payload/Components/PayloadTriggerComponent.cs.rej
./Content.Shared/Placeable/PlaceableSurfaceSystem.cs.rej
./Content.Shared/Rootable/SharedRootableSystem.cs.rej
./Content.Shared/Rotatable/RotatableComponent.cs.rej
./Content.Shared/SSDIndicator/SSDIndicatorComponent.cs.rej
./Content.Shared/Silicons/Laws/SharedSiliconLawSystem.cs.rej
./Content.Shared/Singularity/EntitySystems/SharedEmitterSystem.cs.rej
./Content.Shared/Slippery/SlipperySystem.cs.rej
./Content.Shared/Sound/Components/BaseEmitSoundComponent.cs.rej
./Content.Shared/Speech/ListenEvent.cs.rej
./Content.Shared/StatusEffect/StatusEffectsSystem.cs.rej
./Content.Shared/StatusEffectNew/StatusEffectSystem.Relay.cs.rej
./Content.Shared/Sticky/Components/StickyComponent.cs.rej
./Content.Shared/Storage/Components/DumpableComponent.cs.rej
./Content.Shared/Storage/EntitySystems/DumpableSystem.cs.rej
./Content.Shared/Stunnable/SharedStunSystem.cs.rej
./Content.Shared/Tools/Components/WelderComponent.cs.rej
./Content.Shared/Trigger/Components/Effects/SmokeOnTriggerComponent.cs.rej
./Content.Shared/Trigger/Components/RandomTimerTriggerComponent.cs.rej
./Content.Shared/Trigger/Components/Triggers/RepeatingTriggerComponent.cs.rej
./Content.Shared/Trigger/Systems/TriggerOnMobstateChangeSystem.cs.rej
./Content.Shared/Trigger/TriggerVisuals.cs.rej
./Content.Shared/Weapons/Misc/TetherGunComponent.cs.rej
./Content.Shared/Weapons/Ranged/Events/OnEmptyGunShotEvent.cs.rej
./Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs.rej
./Resources/Credits/GitHub.txt.rej
./Resources/Locale/en-US/abilities/mime.ftl.rej
./Resources/Locale/en-US/commands/mappingclientsidesetup-command.ftl.rej
./Resources/Locale/en-US/nukeops/nuke-ops.ftl.rej
./Resources/Locale/en-US/station-events/events/random-sentience.ftl.rej
./Resources/Locale/en-US/storage/components/dumpable-component.ftl.rej
./Resources/Locale/en-US/store/store.ftl.rej
./Resources/Prototypes/Catalog/Fills/Lockers/security.yml.rej
./Resources/Prototypes/Entities/Clothing/Belt/belts.yml.rej
./Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml.rej
./Resources/Prototypes/Entities/Effects/admin_triggers.yml.rej
./Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml.rej
./Resources/Prototypes/Entities/Mobs/NPCs/animals.yml.rej
./Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml.rej
./Resources/Prototypes/Entities/Mobs/NPCs/revenant.yml.rej
./Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml.rej
./Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml.rej
./Resources/Prototypes/Entities/Mobs/Player/dragon.yml.rej
./Resources/Prototypes/Entities/Mobs/Species/base.yml.rej
./Resources/Prototypes/Entities/Mobs/Species/vox.yml.rej
./Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml.rej
./Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml.rej
./Resources/Prototypes/Entities/Objects/Devices/Electronics/signaller.yml.rej
./Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml.rej
./Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml.rej
./Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml.rej
./Resources/Prototypes/Entities/Objects/Devices/payload.yml.rej
./Resources/Prototypes/Entities/Objects/Fun/toys.yml.rej
./Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml.rej
./Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/magic.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml.rej
./Resources/Prototypes/Entities/Objects/Weapons/Throwable/scattering_grenades.yml.rej
./Resources/Prototypes/Entities/StatusEffects/misc.yml.rej
./Resources/Prototypes/Entities/Structures/Dispensers/booze.yml.rej
./Resources/Prototypes/Entities/Structures/Dispensers/soda.yml.rej
./Resources/Prototypes/Entities/Structures/Holographic/projections.yml.rej
./Resources/Prototypes/Entities/Structures/Machines/bombs.yml.rej
./Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml.rej
./Resources/Prototypes/Entities/Structures/Power/apc.yml.rej
./Resources/Prototypes/Entities/Structures/Power/chargers.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Misc/bell.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Misc/mirror.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Misc/noticeboard.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Signs/bar_sign.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Signs/base_structuresigns.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Signs/paintings.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/defib_cabinet.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/extinguisher_cabinet.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/fireaxe_cabinet.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Storage/shelfs.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Storage/wall_dispensers.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/Switches/switch.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/air_alarm.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/fire_alarm.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/intercom.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml.rej
./Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml.rej
./Resources/Prototypes/GameRules/roundstart.yml.rej
./Resources/Prototypes/Magic/teleport_spells.yml.rej
./Resources/Prototypes/Reagents/medicine.yml.rej
./Resources/Prototypes/Research/civilianservices.yml.rej
./Resources/Prototypes/tags.yml.rej
./Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR4Metashield.xml.rej
./Resources/Textures/Objects/Devices/pinpointer.rsi/meta.json.rej
./Resources/Textures/Objects/Misc/id_cards.rsi/meta.json.rej
127 changes: 127 additions & 0 deletions CONFLICT_RESOLUTION_GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Upstream Merge Conflict Resolution Guide

## Overview
This document provides guidance for resolving the 171 conflicts from the upstream merge (dec2d42a1d to 61d13ce40d).

## Summary
- **Commits**: ~210 upstream commits
- **Files Changed**: 531
- **Conflicts**: 171 .rej files
- **Auto-Applied**: 360 files

## How to Resolve Conflicts

Each .rej file contains "hunks" (sections of code) that couldn't be automatically applied. You need to:

1. Open the .rej file to see what upstream wanted to change
2. Open the corresponding source file
3. Manually apply the changes while preserving Goobstation-specific code
4. Delete the .rej file when done
5. Test the build

## Conflict Categories

### Priority 1: Core Systems (Must Fix First)
These are critical systems that likely break the build:

**Trigger System Refactor** - Major upstream change
- Content.Server/Explosion/EntitySystems/TriggerSystem.cs.rej
- Content.Shared/Explosion/EntitySystems/TriggerSystem.cs.rej
- Content.Shared/Trigger/* (multiple files)
- Content.Client/Explosion/TriggerSystem.cs.rej

**Chat & Communication Systems**
- Content.Server/Chat/Systems/ChatSystem.cs.rej
- Content.Server/Chat/Managers/ChatSanitizationManager.cs.rej
- Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs.rej

**Body & Metabolism Systems**
- Content.Shared/Body/Systems/SharedBodySystem.Metabolism.cs.rej
- Content.Shared/Body/Systems/StomachSystem.cs.rej
- Content.Server/Nutrition/EntitySystems/HungerSystem.cs.rej

### Priority 2: Gameplay Systems
**NPC Systems**
- Content.Server/NPC/Systems/NPCSystem.cs.rej
- Content.Server/NPC/Systems/NPCCombatSystem.Ranged.cs.rej
- Content.Server/NPC/Systems/NPCSteeringSystem.cs.rej

**Damage & Combat**
- Content.Server/Damage/Systems/DamageOnTriggerSystem.cs.rej
- Content.Server/Damage/Systems/DamageUserOnTriggerSystem.cs.rej
- Content.Shared/Damage/Systems/StaminaSystem.cs.rej

**Abilities & Powers**
- Content.Server/Abilities/Mime/MimePowersSystem.cs.rej
- Content.Server/Abilities/Psionics/Abilities/TelegnosisSystem.cs.rej

### Priority 3: UI & Client Systems
- Content.Client/Commands/DebugCommands.cs.rej
- Content.Client/Cooldown/CooldownGraphic.cs.rej
- Content.Client/Instruments/InstrumentSystem.cs.rej
- Content.Client/UserInterface/* (several files)

### Priority 4: Prototypes & Content
**Medicine** (8 rejects - significant changes)
- Resources/Prototypes/Reagents/medicine.yml.rej

**Wallmount Devices** (reorganization)
- Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/*.rej

**Other Prototypes**
- Resources/Prototypes/GameRules/roundstart.yml.rej
- Resources/Prototypes/tags.yml.rej

## Recommended Resolution Order

1. Start with **Trigger System** - this is a major refactor that affects many other systems
2. Fix **Chat & Body systems** - core gameplay
3. Resolve **NPC & Combat systems**
4. Handle **UI & Client conflicts**
5. Finally, update **Prototypes & YAML files**

## Testing Strategy

After resolving each priority group:
1. Run `dotnet build`
2. Fix any compile errors
3. Run integration tests
4. Test in-game if possible

## Common Conflict Patterns

**Pattern 1: Goobstation added new features**
- Keep Goobstation's additions
- Apply upstream refactors around them

**Pattern 2: Upstream refactored/renamed**
- Follow upstream's new structure
- Port Goobstation changes to new structure

**Pattern 3: Both changed same code**
- Carefully merge both sets of changes
- Test thoroughly

## Files to Check Carefully

These files have multiple rejects and likely need significant work:
- Content.Server/Chat/Systems/ChatSystem.cs (likely many Goob changes)
- Content.Server/NPC/Systems/*.cs (NPC behavior differences)
- Content.Shared/Body/Systems/*.cs (metabolism/health system)
- Resources/Prototypes/Reagents/medicine.yml (8 rejects!)

## Next Steps

1. Read through this guide
2. Start with Priority 1 files
3. Use `git diff` to see what was auto-applied
4. Refer to upstream commits for context
5. Test frequently

## Getting Help

- Check upstream PR discussions for context on changes
- Look at commit messages: `git log dec2d42a1d..61d13ce40d -- <file>`
- Compare with vanilla SS14 if needed

Good luck! Take it one category at a time.
9 changes: 6 additions & 3 deletions Content.Client/Actions/ActionsSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,12 @@ private void OnWorldTargetAttempt(Entity<WorldTargetActionComponent> ent, ref Ac

private void OnEntityTargetAttempt(Entity<EntityTargetActionComponent> ent, ref ActionTargetAttemptEvent args)
{
if (args.Handled || args.Input.EntityUid is not { Valid: true } entity)
if (args.Handled)
return;

args.Handled = true;

if (args.Input.EntityUid is not { Valid: true } entity)
return;

// let world target component handle it
Expand All @@ -502,8 +507,6 @@ private void OnEntityTargetAttempt(Entity<EntityTargetActionComponent> ent, ref
return;
}

args.Handled = true;

var action = args.Action;
var user = args.User;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<Control
xmlns="https://spacestation14.io"
xmlns:viewport="clr-namespace:Content.Client.Viewport"
MouseFilter="Stop">
<PanelContainer StyleClasses="BackgroundDark" Name="AdminCameraWindowRoot" Access="Public">
<BoxContainer Orientation="Vertical" Access="Public">
<!-- Camera -->
<Control VerticalExpand="True" Name="CameraViewBox">
<viewport:ScalingViewport Name="CameraView"
MinSize="100 100"
MouseFilter="Ignore" />
</Control>
<!-- Controller buttons -->
<BoxContainer Orientation="Horizontal" Margin="5 5 5 5">
<Button StyleClasses="OpenRight" Name="FollowButton" HorizontalExpand="True" Access="Public" Text="{Loc 'admin-camera-window-follow'}" />
<Button StyleClasses="OpenLeft" Name="PopControl" HorizontalExpand="True" Access="Public" Text="{Loc 'admin-camera-window-pop-out'}" />
</BoxContainer>
</BoxContainer>
</PanelContainer>
</Control>
Loading
Loading