Einstein-Engines
Einstein-Engines copied to clipboard
Failed to cherry-pick PR #25154: move faction exception and everything it needs to shared
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-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 inContent.Shared.NPC.Prototypes;
instead of wrongly being in Components.Changelog no cl no fun