Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changed remote player vitals to facing camera #591

Merged
merged 1 commit into from
Jan 7, 2019

Conversation

Measurity
Copy link
Collaborator

No description provided.

@Sunrunner37 Sunrunner37 merged commit 84df0bc into SubnauticaNitrox:master Jan 7, 2019
RabidCrab added a commit to RabidCrab/Nitrox that referenced this pull request Jan 9, 2019
* Adding players starting items when they first join. (SubnauticaNitrox#587)

* Adding players starting items when they first join.

* Fixes

* * Added raycasting to scene debugger by pressing F9 and pointing at an object.

* Changed remote player vitals to facing camera (SubnauticaNitrox#591)

* * Syncing base piece construction (via piping guids through ghost objects)

* * Got deconstruction working for base pieces.

* Resolve inifinite oxygen bug when tank equipped at surface (SubnauticaNitrox#290) (SubnauticaNitrox#592)

* Resolve inifinite oxygen bug when tank equipped at surface (SubnauticaNitrox#290)

* Different fix, same result SubnauticaNitrox#290

* Added gameobject name lookup to SceneDebugger.HierarchyTab (SubnauticaNitrox#593)

* Added gameobject name lookup to SceneDebugger.HierarchyTab
Made gameobjects with children bold
Added method view for monobehaviour debugger where methods can be invoked if not having any parameters

* Implemented invoking empty parameter functions and prints returned result in logs (if any).

* Changed method result logging to use Log.InGame instead of Log.Info.

* Linux Path Fix (SubnauticaNitrox#595)

* * Fixing partial deconstructions not persisting correctly.  Also incremented world version to flush deconstructed items.
Sunrunner37 pushed a commit that referenced this pull request Feb 2, 2019
* Cyclops Syncing

Syncs overall Cyclops health status, including:

- Spawning
- Destruction
- External hull damage points
- Fires
- Collision damage
- Depth damage
- Creature damage

* Cyclops Hull Syncing Review Changes

- Removed server time syncing. In-game time syncing still working.
- Moved damage and fire logic that was only used in CyclopsDamageProcessor out of Cyclops.
- Removed header file from an aborted rebase because I have no idea what I'm doing.
- Added buffering to CyclopsFireHealthChanged packet.

* Cyclops Hull Syncing Review Changes

Added packet suppression to fix CyclopsFireHealthChanged spam.

* Cyclops Syncing Review Changes

- Removed server time syncing.

* Removed duplicate instruction from previous merge

* Refactoring

Initial refactoring old logic to the newer service based pattern. Still a work in progress, but at least this commit can be compiled.

* "Sub Cyclops" Command Added

"sub cyclops" will now spawn the intended vehicle.

Always verify position coordinates before assuming the object didn't spawn. Wasted a lot of time learning that lesson.

* Update to latest commit (#7)

* Adding players starting items when they first join. (#587)

* Adding players starting items when they first join.

* Fixes

* * Added raycasting to scene debugger by pressing F9 and pointing at an object.

* Changed remote player vitals to facing camera (#591)

* * Syncing base piece construction (via piping guids through ghost objects)

* * Got deconstruction working for base pieces.

* Resolve inifinite oxygen bug when tank equipped at surface (#290) (#592)

* Resolve inifinite oxygen bug when tank equipped at surface (#290)

* Different fix, same result #290

* Added gameobject name lookup to SceneDebugger.HierarchyTab (#593)

* Added gameobject name lookup to SceneDebugger.HierarchyTab
Made gameobjects with children bold
Added method view for monobehaviour debugger where methods can be invoked if not having any parameters

* Implemented invoking empty parameter functions and prints returned result in logs (if any).

* Changed method result logging to use Log.InGame instead of Log.Info.

* Linux Path Fix (#595)

* * Fixing partial deconstructions not persisting correctly.  Also incremented world version to flush deconstructed items.

* Cyclops DamagePoint Working

DamagePoints are working again, although it needs quite a bit of cleanup.

Fires are next before I can start refactoring.

* Refactoring

Refactoring to better match the rest of the project's pattern.

Fires still a work in progress. Damage points still working as intended.

* Making it easier to find fire status updates

* Damage Syncing Complete

Despite a minor bug, Cyclops damage is ready to go.

The health state of the Cyclops is fully synced with everyone, including damage points and fires, which covers everything from engine overheats to collision damage.

Now to work on a couple of changes that will make the syncing feel a bit smoother.

* CreateDamagePoint Override

Added override in damage point creation to block non-owners from having a damage point erraneously added. Started on a OnTakeDamage override to better manage non-owner damage alerts.

* Moving Code To Processors

Moving what I can to their respective Processors while keeping the packet sending to the Cyclops object.

Fire dousing will eventually need to be refactored into a FireManager or Fires that will manage all fires in the game.

* Packet Suppression

* Refactor - Still Incomplete

Fire creation and dousing have been moved to its own class. Fire dousing has been fully decoupled from Cyclops, but Fire creation is still Cyclops specific. I could not find anywhere they spawn fires outside of the Cyclops. If we do find a way they're spawned, it just needs to be added to FireCreatedProcessor.

CyclopsDamageProcessor still uses index matching to maintain Fire status. Redesigning it to use Guids will be the next and final step of the refactor.

* Refactor - Incomplete, but much closer.

Fire and damage now work as intended. Still need to consolidate some code in CyclopsDamageProcessor, as well as figure out what to do about the CreateFire nodeIndex lookup.

* Final Refactor

Finished final stage of refactoring.

Flattened SerializableDamageInfo, SerializableFireNode, and SerializableRoomFire to DamageInfoData and FireData to better fit the design pattern. DamageInfoData is separate from Cyclops, but used by the damage processor.

Separated out Fires from the Cyclops as much as possible. Cyclops fire creation seems to be the only way to create new fires. If a different method is found, it should be added to Fires.Create().

CyclopsDamagePoints remain tied to Cyclops.

* Merge from upstream

* Added packet suppression when dousing

* Fixing issues causing compile failures

* Making fixes

* Renaming
@Measurity Measurity deleted the playervitals-ui-fix branch March 3, 2019 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants