CodaBool / terminal

A FoundryVTT module to create interactive terminals with custom content and theming
2 stars 0 forks source link

[REQUEST] - Some Functionalities #5

Open altair984 opened 3 months ago

altair984 commented 3 months ago

Hi, I was wondering if you could add the following improvements to your great product:

1: When you open the journal it automatically reveals all the pages contained in the journal. It would be great if only the pages that the master wants the player to read would be revealed and that there would be others that with a skill roll (or whatever) would be revealed in real time, without having to restart the entry and exit of the box.

This way you can emulate a hacker raiding the bbdd of a pc and see if he will be able to access hidden system files, for example or other applications.

2: In the terminal options you could add a sub-option in which the gm decides if when a player enters a terminal and reads the information, when leaving the terminal the journal does not remain as an observer. This way when closing the terminal and choosing one of the two options: Do you want to Make a copy of the information privately or Make a copy of the information shared with the group, a roll can be added to determine if the player has managed to make a copy of it.

In this way you can emulate a hacker assaulting the database of a pc and see if he has managed to make a copy, or on the contrary the system defenses have prevented him from extracting the information for example. You could even get this way a new error animation to appear if the roll has failed emulating that the alarms of the place have been activated or that the system is closed preventing it from being able to connect again or things like that.

3: In the terminal options you could add a sub-option in which the gm decides if when a player enters a terminal and accesses the cameras, when closing the terminal, the cameras should not remain in observable state and return to their original state, so that they are not revealed in the list of players.

Thanks so Much :)

CodaBool commented 3 months ago
  1. I've added this with "Add encryption" skill check. If you are on the latest version I released yesterday, version 2.0.0. You should see a new button called "skill checks". Then in that new window there is "Add encryption". Read through the usage on the hint hover icon. But from I remember you need to set the specific page you want to gate behind a skill check at an ownership of "none". This will prevent that page from being viewable unless they the GM approves that page becoming "decrypted"

enable image

asks for skill check image

post skill check image

just a small thing to keep in mind. The module will warn you about this but this behavior is really only seen from a player's view. Meaning all files are "decrypted" when the terminal is viewed by a GM. You will need to connect to the server as a player/trusted player to be prompted for decrypting.

  1. This is an interesting idea and I have been thinking how I want to implement a kind of lockdown, wipe, alarm feature. I just haven't gotten it nailed down yet. However, I do think the other point here of adding a skill check option to the copy of the data is worth adding. I will definitely get that feature in at some point. Thank you for that.

  2. This overlaps a bit with my camera timer feature. I will experiment around and see if the timer is not sufficient. The only reluctance I have with tying observer to the terminal is that many users might not know how to minimize the terminal (I'm aware you can double click to top bar but I'm not sure how common knowledge that is). Which means they might get frustrated trying to view the scene with the terminal in their way. The terminal is designed to take up a significant amount of screen space. Unless viewing on maybe an ultrawide it in general is blocking a large amount of the scene.

I could solve this by looking into adding a minimize + maximize button. Which would also improve on the new "detect motion" feature. But I'll need to look into that.

Thinking about it I could see an improvement+compromise on this being that if no timer is specified it will remove observer once the terminal closes like you are saying. But if a timer is specified then that timer will begin once the terminal closes. So, if people want to extend beyond closing the terminal then that is possible.

I only just added the camera thing yesterday, so I am still getting a feel for this feature. I definitely appreciate the input and will take this all into consideration.

altair984 commented 3 months ago

Good morning, thank you for your clarification on point one. English is not my base language and it's hard for me to understand it, that's why inside Foundry I find it hard to understand some functionalities of many modules since it doesn't have automatic translation as the web pages do. If it wasn't for the example videos I wouldn't even understand half of it hahaha.

About point two I'm glad you liked the concept. If you allow me, I would like to offer you a point of view of how to implement it. A check box in the optional settings part that asks the master if he wants the player to keep the data when disconnecting and in the skill checks part a button that says copy data. I think this could be a very basic and simple solution.

About point three I understand what you are saying and it is understandable.

Thank you very much for everything, for answering me and I want very much to see how this module evolves because the truth is that I really liked it :)

Thank you very much for your work.

CodaBool commented 3 months ago

Just as an update I've spent a couple hours looking into these features suggested.

I have found that there is some unexpected complications. The issue is related to Terminal has no tracking over changes on permissions. In order to track a value like this, a surprising amount of code is needed.

I still am going to put more time into seeing if this can be done though. Since I do like the ideas involved here.

altair984 commented 2 months ago

Hello, thank you for devoting effort to the proposed requests. I really hope and I would like it not to be too complicated. Anyway I appreciate your work, best regards :)