Einstein-Engines icon indicating copy to clipboard operation
Einstein-Engines copied to clipboard

Failed to cherry-pick PR #25154: move faction exception and everything it needs to shared

Open SimpleStation14 opened this issue 10 months ago • 0 comments

Failed to cherry-pick PR: cannot create a tree from a not fully merged index.; class=Index (10); code=Unmerged (-10)

PR body below

Mirror of PR #25154: move faction exception and everything it needs to shared from space-wizards space-wizards/space-station-14

7561bef6a7aee65149381e155da53abc65a6a4e7

PR opened by deltanedas at 2024-02-12 11:53:03 UTC


PR changed 29 files with 449 additions and 408 deletions.

The PR had the following labels:

  • Status: Needs Review
  • Merge Conflict

Original Body

About the PR

title also cleaned up a lot of stuff made it use ProtoId Entity etc

also fixed zombie dragon being attacked by its carp (related to #23540)

Why / Balance

needed for future pr

Technical details

  • NpcFactionPrototype and FactionData shared
  • NpcFactionMember FactionExceptionComponent and FactionExceptionTrackerComponent shared
  • NpcFactionSystem shared
  • PettableFriend now shared and fully predicted, depends on #25148 might hopefully prevent some cases of mispetting

none of the components have state sent to clients. one one hand, this is bad since petting a fish that was outside pvs range will probably have a popup mispredict. on the other malf client shouldnt be able to know exactly who pet a fish, dead or alive. @metalgearsloth amongus

Multi faction logic changed how having multiple factions worked previously it just meant that more things would want to kill you since it just checks hostile factions, ignoring if you are in the same faction

now if you are in multiple factions its actually a good thing. for example, shiva is in PetsNT faction. PetsNT is always hostile to the Xeno faction. with the new logic if you are a sussy xenomorph wearing human suit that adds you to PetsNT faction, you will be in both PetsNT and Xeno factions. shiva will ignore you since your factions overlap (PetsNT).

zombie code cleared all factions then added just zombie faction, which i think was meant to work like how i changed it to be. zombie dragon works re-adds it to prevent attack

Media

anguish

  • [ ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

NpcFactionPrototype, NpcFactionSystem and FactionComponent were moved to shared and now use Entity in api. Prototype specifically is now in Content.Shared.NPC.Prototypes; instead of wrongly being in Components.

Changelog no cl no fun

SimpleStation14 avatar Apr 22 '24 09:04 SimpleStation14