ID:1982716
 
BYOND Version:509.1313
Operating System:Server:Windows Server 2012 rc2 Client: Windows 7 ultimate 64bit
Web Browser:Chrome 47.0.2526.27
Applies to:Webclient
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
If there is something in view range near you, you see the verbs for that thing, even if you shouldn't until your 1 tile away (or shouldn't at all, if the verb is attached to the mob for the mob to use). And even if that thing can't itself be seen (because a wall is blocking it's path, or it's invisible.)

This is bad because it tells the player something is near them when they shouldn't know, and because the active existence of some verbs on a thing or a mob can spoil info or ruin meta knowledge management.

At /tg/station13, we have an antagonist type called a cultist. They get a verb under a cultist tab that nobody else gets, but they otherwise are a normal station crew member, and are suppose to be able to act like it until they decide to do cult like things. 3 to 6 cultists can spawn at round start when that mode is chosen.

The thing is, The fact that it's cult as the chosen round is privileged info until the cult goes loud.

Having web client people see that verb ruins meta-knowledge management.

Having them start seeing it once a cultist walks in to view would let a keen person know that that guy is a cultist, when they shouldn't, ruining the paranoia atmosphere of the game.
Can you give me some more info about what the verb code looks like and when those verbs should and should not be seen?
Here is an example of the second one (added verb):
/mob/proc/cult_add_comm() //why the fuck does this have its own proc? not removing it because it might be used somewhere but...
verbs += /mob/living/proc/cult_innate_comm

/mob/living/proc/cult_innate_comm()
set category = "Cultist"
set name = "Imperfect Communion"
...


https://github.com/tgstation/-tg-station/blob/ 2eb66a7911d38eb50b637b8179f374fb7041557c/code/game/ gamemodes/cult/ritual.dm#L11

If I add that verb to mob A, and enter mob B via the webclient, then walk within view of mob A (even if there is a wall blocking view between us) I will have that verb on mob B, letting me know there is at least one cultist in the game and near me.

An example of the first one (built in verbs) would b

/obj/item/weapon/tank/jetpack/verb/toggle()
set name = "Toggle Jetpack"
set category = "Object"

https://github.com/tgstation/-tg-station/blob/ 590644c06e042e211eb42467d64195bfda8e3326/code/game/objects/ items/weapons/tanks/jetpack.dm#L30

I should only be able to see that verb in right click, or if the item is in my contents. but i can see it while it's in view range (and a little bit further out as well)

and


/obj/structure/bed/chair/verb/rotate()
set name = "Rotate Chair"
set category = "Object"
set src in oview(1)

https://github.com/tgstation/-tg-station/blob/ cd1454a71c02125a549a8ddeadde3eaca61b1f4c/code/game/objects/ structures/beds_chairs/chair.dm#L62
I should only see that verb if it's in 1 tile range of me, but i can see it for as long as the chair is in view (and a little bit outward once it's in view)

This is at least how it is in DS.
I will also note that in the added to mob's verb list example, the verb stays until you reload.

even if you go way way out of view.
I think I'll need to add DS-style verb availability checks to handle this properly.
See: http://www.byond.com/forum/?post=1739321
This results in non-GMs seeing GM-verbs, etc.
Just to give you an update on where this is at, I've been working on porting the parser code to the webclient's client side. (This is problematic and I may not use it this way, but if I can get the webclient to do its own parsing that's a win IMO; it's one less thing the server has to do.) The reason I'm bringing so much over is because there's a lot of overlap with the code required to do DS-style verb availability.

I'm not sure how this will all shake out yet, and honestly I'm thinking it probably won't shake out in 509, but I do plan to get this done sooner rather than later, knowing it's important to SS13. It's really a big deal to me to get more servers running the webclient.
bumping this as a reminder.
Bumpity bump bump

You said you would get this into 510, and i'm gonna hold you to that lummox. =P
In response to MrStonedOne
MrStonedOne wrote:
You said you would get this into 510, and i'm gonna hold you to that lummox.
XD

weekly bump
I didn't actually say I'd get to this in 510, just that it wouldn't be 509. I haven't gotten back to the parser stuff yet because I've been buried in a lot of other crap.
Point. I guess you didn't.

Unless it was over PM, and i do remember you saying 510 at some point, so it might have been, but i guess we will never know.
and i'd say it's about time to bump this.