Ephemeral Space Viewcones Port#226
Conversation
* bhijn viewcone * es * cleanup * yorp * move comps to shared * rename to occludable * a second overlay has hit the towers * tybg * cleanup + overlay mgmt * lul * le coneman has arrived * diff grain * fix dat shit * viewcone effect support + footsteps * the mob situation is crazy * comments * f
* spawn menu, throw effect, verify melee/gun * slower * face on throw * face on usesecondary * fix status icons and other stuff too probably * seems better. idk.
* viewcone angle modifying * helmet * status effects * ok i guess * genuinely going to fucking kill rider * eyup * examine
Co-authored-by: mirrorcult <mirrorcult@pm.me>
* occlude things that are being pulled by others * better logic in general --------- Co-authored-by: mirrorcult <mirrorcult@pm.me>
* Backwards walking * fix options * no footstep on walk * stupid * mark * review --------- Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
|
RSI Diff Bot; head commit 85e9594 merging into 76e47ab Resources/Textures/_ES/Effects/viewcone_effects.rsi
|
|
holy peak 🥹 |
|
Honestly this looks amazing, and from what I've seen from the changes with gas masks causing lessened vision it also makes it so if you constantly wear a gasmask or helmet or whatever you get debuffed which is quite realistic because of course helmets and such fog up from breath. |
|
this sucks so much |
There was a problem hiding this comment.
So overall, big fan of this.
I tested this out and it all works. I skimmed the code, it's commented pretty well and everything is in the right namespaces.
The only issue I really have is the fact that it's bound to one's mouse cursor at all times. This means interacting with inventories and UI elements will force characters to face a certain way, even when it wouldn't make sense for them to.
Ephemeral Space fixes this by using shift as the "face cursor" key, and moves walk to spacebar. Not sure if we want to use those controls exactly, but something like that would be ideal.
I have some minor nitpicks besides that (like being able to see puddles behind you, I tried giving them the component that occludes them but it didn't work lol) but ultimately they don't really matter. I just want to see the issue I mentioned above fixed.
EDIT: I just noticed you forgot to update your PR description. It still says the welding masks reduce the FOV to 1°.





About the PR
This PR is a cherry-pick port of MANY Ephemeral Space PRs, all written by Mirrorcult!
It adds field of view cones, occluding items and entities that your character wouldn't have line of sight with.
It additionally makes your character always turn towards where your cursor is, and forces you to walk when trying to move in the direction opposite wherever you're facing. If you're running away from something, you have to turn away from it, which hides it from your view, which is scary!!!
The view cone radius can be modified by equipment worn, so wearing a full set of firefighting SCBA gear will significantly reduce your FOV. Since this is the case, I replaced my welding mask overlays. Welding masks now instead set your view cone radius to 1. Yum dot com!
The main thing this PR does outside of a direct cherry-pick is adding four serverside CVars to tweak the new features as desired, particularly for the sake of our downstreams:
funkystation.viewcone_enabled: entirely toggles the viewcone system
funkystation.viewcone_base_angle: allows setting the base angle of the viewcones
funkystation.force_walk_backwards: allows you to force people to walk or not when moving backwards
funkystation.always_face_cursor: allows you to toggle whether people should always face their cursor or if it should behave like vanilla where you only face cursor in combat mode
Why / Balance
This changes gameplay quite a bit, and is far more atmospheric and interesting. You can actually sneak up on people now if they aren't looking, and adds more interesting design and gameplay choices when it comes to wearing armor or masks or helmets. Also "It's right behind me, isn't it."
Technical details
99% of this is ES code written by Mirrorcult.
ViewconeAlwaysFaceCursorSystem toggles MouseRotatorComponent and vanilla combat mode rotation based on the active cvars
Test plan
Spawn in as a Urist, move your cursor around. Notice how you automatically face towards it now.
Move opposite your facing direction, notice how you're forced to walk.
Look away from an item. See how it fades away.
Look away from another Urist. See how it fades away.
Equip a welding mask. See how it affects your viewcone.
Toggle all the cvars and see how everything returns to vanilla behaviour.
Mess around with the base viewcone angle cvar and see how it changes.
Media
8mb.video-yka-rsZn9weW.mp4
Requirements
License
MIT
Breaking changes
All introduced features are bound to cvars and can be fully disabled by downstreams.
Changelog
🆑 Mirrorcult, AraiMaia