Commit Graph

31 Commits

Author SHA1 Message Date
SkyratBot cb3b675bae [MIRROR] Tablets don't close their UI when changing program (and some fixes) [MDB IGNORE] (#19600)
* Tablets don't close their UI when changing program (and some fixes) (#73635)

## About The Pull Request

- Tablets now refresh their page when changing programs, this means the
UI will no longer close and reopen itself several times (or even have
several UIs open if shit broke hard enough).
- Removed tablet's attack self because interact already does everything
it had to do.
- Header programs now close when minimized (as there's no button to
close them in the main menu.
- Removed a lot of program UI stuff, it's now handled by the PC itself,
such as header data and ui host.
- Cut off asset sending from TGUI into it's own proc so I can re-send
assets when changing programs
- Added an ejection button for machine computers
- Fixed ID not ejecting into the user's hand when using 'Eject ID'
- Fixes a minor runtime when opening the MODsuit application without a
MODsuit already connected.

## Why It's Good For The Game

Fixes some bugs that I found with tablets

UIS now won't be flickering as bad in front of them, or have
inconsistent placement (like when you move your main menu UI, go to
Messenger, then it's back to the center of the screen).

Video of it in action

https://user-images.githubusercontent.com/53777086/221301417-78321149-0c10-475e-bd29-79f5a4ba0597.mp4

## Changelog

🆑
fix: Being in an application now properly uses the tablet's battery.
fix: Messenger and Themify apps now close when minimized, so don't count
towards the running app limit.
fix: Tablet UIs will now no longer spam open/close the UI when changing
applications
fix: Using the Eject ID button on tablets now ejects into your hand.
fix: Computers now have an Eject ID button
refactor: Cut down a lot of copy paste in tablet & program code, now
it's mostly done by the tablet.
/🆑

* Tablets don't close their UI when changing program (and some fixes)

* Update contractor_tablet.dm

* wew

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:09:10 +00:00
SkyratBot f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

* https://github.com/tgstation/tgstation/pull/72876

https://github.com/tgstation/tgstation/pull/72876

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
SkyratBot b0e5be6736 [MIRROR] Messenger fixes [MDB IGNORE] (#19449)
* Messenger fixes

* Update ntmessenger.dm

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-26 19:07:13 -05:00
SkyratBot 9e981753ca [MIRROR] Reworked PDA menu & NtOS themes [MDB IGNORE] (#19390)
* Reworked PDA menu & NtOS themes (#73070)

## About The Pull Request

This is a port/rework of
https://github.com/yogstation13/Yogstation/pull/15735 - I changed a lot
of how it acted (some themes are locked behind maintenance apps).

The original author allowed this port to happen, and I really liked how
it looked there so I'd like to add it here.

### Applications

Removes the hardware configurator application, as all it did was show
you your space and battery now that all hardware was removed. These are
things your PC does by default, so it was just a waste of space.
Adds a Theme manager application instead, which allows you to change
your PDA's theme at will.
Adds a new Maintenance application that will give a new theme, however
it will also increase the size of the theme manager app itself as it's
bloatware.

### Menu

There's now a bar at the top of the menu showing 'special' tablet apps
which, for one reason or another, should stand out from the rest of the
apps. Currently this is PDA messenger and the Theme manager

Flashlight and Flashlight color is now only an icon, and is shown on the
same line as Updating you ID

https://cdn.discordapp.com/attachments/961874788706574386/1069621173693972551/2023-01-30_09-10-52.mov

![image](https://user-images.githubusercontent.com/53777086/215501361-5ea3086e-2ff5-4ab1-bde4-8a3d14014fce.png)

### Themes

Adds a lot of themes to choose from, although SOME are hidden behind
Maintenance applications, which will give you a random theme. These are
bloatware however, so they come with some extra cost to the app's
required space storage.

Themes are now supported on ALL APPLICATIONS! If you have a computer
theme, you will have that theme in EVERY app you enter, rather than just
a select few.
ALSO also, emagging the tablet will automatically set & unlock the
Syndicate theme, which makes your PDA obvious but you can disguise it if
you wish through just re-painting it to something else.

https://cdn.discordapp.com/attachments/828923843829432340/1069565383155122266/2023-01-30_05-29-53.mov

### Preferences

This also adds a pref for theme, reworking the ringtone code to work
with it as well. I also removed 2 entirely unused PDA prefs just 'cause.

Screenshot not up-to-date, they now have proper names.

![image](https://user-images.githubusercontent.com/53777086/215463669-0fe9951a-71f8-4b71-a97d-b79b5a2f945a.png)

### Other stuff

Made defines for device_themes
Added support for special app-side checks to download files
Fixed programs downloading themselves TWICE because defines all had the
same definition
Removes the Chemistry computer disk as it was empty due to chemistry
app's removal
Removes the 'run_emag' proc, since apps can directly refer to the
computer to check for emag status instead.
Moved over and added better documentation on data computer files, and
moved the ordnance ones to the same file as the others.

## Why It's Good For The Game

It makes PDAs a lot more customizable while adding more features to
maintenance applications. I think the themes look cool and it fits with
PDAs being "personal" anyways.

I also explained most of my other arguments in the about section, such
as the hardware configuration application.

## Changelog

🆑 Chubbygummibear & JohnFulpWillard
add: A ton of new NtOS themes, which are accessible by the new Themify
application that comes with all PCs.
add: Emagging a PC now defaults it to the Syndicate option (and adds it
to go back to it if you wish)
add: There's a new maintenance app that gives you rarer themes
qol: The NtOS Main menu was moved around, added "header" applications
that are shown where the Flashlight is, such as your Theme manager and
PDA messenger.
code: Made defines for device_themes
code: Added support for special app-side checks to download files
code: Removes the 'run_emag' proc, since apps can directly refer to the
computer to check for emag status instead.
fix: Programs no longer download twice.
del: Removes the Chemistry computer disk as it was empty due to
chemistry app's removal
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Reworked PDA menu & NtOS themes

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-02-17 00:35:34 -08:00
Nerevar a2a381d60b [READY] Makes PDA Messaging Cause Visible Messages (#18950)
* holy fucking bingle

* you right tbh

* :3

---------

Co-authored-by: Snakebittenn <12636964+Snakebittenn@users.noreply.github.com>
2023-01-31 18:52:32 -05:00
SkyratBot 7e5513d8b0 [MIRROR] Fixes FRAME cartridges [MDB IGNORE] (#18072)
* Fixes FRAME cartridges (#71875)

## About The Pull Request

The NTmessenger has been passing along itself to the send_virus proc
instead of the computer it is running on, which has caused runtimes, due
to computer programs not having certain variables. In addition, the
send_virus override for the frame cartrdige was missing an argument.
Lastly, the uplink code has not been actually assigned to the uplink, so
once it has been closed, it stayed closed. These have been fixed.

I have checked the other viruses, they seem to be working even after my
changes.

## Why It's Good For The Game

Fixes #71843
You can once again frame people, and maybe, tempt them.

## Changelog

🆑
fix: F.R.A.M.E. cartridges work again
/🆑

* Fixes FRAME cartridges

Co-authored-by: Profakos <profakos@gmail.com>
2022-12-17 03:40:04 +00:00
SkyratBot 2b800b9a23 [MIRROR] Removes tablets (not PDAs) entirely. [MDB IGNORE] (#17880)
* Removes tablets (not PDAs) entirely.

* contractor changes

* map changes

* Update assistant.dm

* conflicts

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-07 01:07:02 +00:00
SkyratBot 75c8e0126e [MIRROR] Adds support for non-science techwebs (+Config) [MDB IGNORE] (#17596)
* Adds support for non-science techwebs (+Config) (#71070)

## About The Pull Request

This is an expanding of
https://github.com/tgstation/tgstation/pull/69708

Adds a config to not connect machines to a techweb at the start of a
round
Adds the ability to multitool a server to get its techweb in its buffer,
which can then be used on machines to sync them.
Adds support for some machines to not cry when they don't have a techweb
linked to it, in case they actually don't.

If the config to not have machines connected to the science server is
enabled, research servers will make their own techwebs instead. This is
barebones though and would need more work if this option is used.

For misc stuff:
- I replaced checking ``GLOB.machines`` for research servers, to instead
check ``SSresearch.servers``, where we can use ``as anything``.
- Removed unused vars on the RD server control
- I renamed the operating computer's .dm file to remove the capitalized
letter from it. It's now operating_computer instead of Operations.

## Why It's Good For The Game

This is adding support for 2 different cases that can be used in the
future:
1. Off-station roles, we can make roles like Oldstation have their own
techweb so they don't ruin science's efforts, or use their advanced
research to get things we don't want, or even possibly have some
blacklist webs for ghost roles (like teleporters) so that way we don't
need to have this dance where we have to give them a very specific
amount of materials for them to do things while not being able to get a
teleporter and leaving. I heard discussions that people wanted this a
while back, and one of the main things preventing this from happening is
the lack of support. Hopefully this is encouragement to make it a
reality, because I think it would be a really cool expansion of ghost
roles and a good way to prevent them from messing with the round in
progress.
2. Downstreams who want to do different things with Science. Personally
I made this PR with voidcrew(shiptest) in mind and think this would make
their lives easier. I didn't expand too much on this because I'm leaving
up mostly to the downstreams to figure out what they want to do with
these systems.

## Changelog

This generally isn't really player facing, since most of the changes
would only come into effect if the config is enabled??

🆑
fix: Research servers now only show servers connected to their techweb.
/🆑

* Adds support for non-science techwebs (+Config)

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-11-22 11:47:40 -05:00
Zonespace f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot 2582117684 [MIRROR] NtOS Emojipedia - PDA Emoji Messaging For All [MDB IGNORE] (#17402)
* NtOS Emojipedia - PDA Emoji Messaging For All (#70829)

An Emojipedia app has been added to tablets, given to Mimes and Curators by default, allowing anyone to know all emojis. Additionally, emojis can be used in tablets by every job now.

* NtOS Emojipedia - PDA Emoji Messaging For All

* update emoji list to be valid

* animated emojis

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-06 21:53:25 -05:00
SkyratBot 1aefd210c5 [MIRROR] Fixes the messenger app not being responsive when certain buttons are clicked [MDB IGNORE] (#17393)
* Fixes the messenger app not being responsive when certain buttons are clicked (#71077)

## About The Pull Request
The buttons to toggle the ringer, to toggle the sending/receiving and
the button to see message history all stopped being responsive, because
the information they were changing when pressed was wrongly kept in
`ui_static_data()` rather than `ui_data()`. Now, they're back in
`ui_data()`, and behave as expected once again.

## Why It's Good For The Game
A non-responsive TGUI interface is probably the saddest thing to see.

## Changelog

🆑 GoldenAlpharex
fix: SpaceMessenger was now updated to 6.4.8, bringing you more
responsiveness than ever (so long as ever is shorter than seven days
ago)!
/🆑

* Fixes the messenger app not being responsive when certain buttons are clicked

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-11-06 16:40:26 -05:00
SkyratBot 097e913e4b [MIRROR] Removes tablet hard drives entirely (HDD & SSD) [MDB IGNORE] (#17164)
* Removes tablet hard drives entirely (HDD & SSD)

* map updates

* changes

* contractor uplink theme

* uplink improvements

* tab

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-26 14:09:16 -04:00
SkyratBot 58752b0969 [MIRROR] Removes a ton of unused tablet vars, re-organizes the rest [MDB IGNORE] (#17014)
* Removes a ton of unused tablet vars, re-organizes the rest (#70344)

* Removes a ton of unused vars, re-organizes the rest

Removes a ton of unused vars from Modular computers
Re-organizes the rest, and adds autodoc comments to most of them
Moved 2 vars (saved_image and invisible) from the tablet to the messenger app, since that's where it was used. I didn't see the point of having these vars be on every computer anyways, only PDAs have the app.
Renames Clown's honk virus var
Makes Messenger app's saved image, actually used.

* static list and NODECONSTRUCT_1 check

* oops

* Removes a ton of unused tablet vars, re-organizes the rest

* cryopod

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-20 02:28:27 -04:00
SkyratBot bcfa54ed75 [MIRROR] Curator and Mime PDAs now start with their ringer off [MDB IGNORE] (#16985)
* Curator and Mime PDAs now start with their ringer off (#70604)

* Curator and Mime PDAs now start with their ringer off

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-10-19 10:56:40 +01:00
SkyratBot 9842bcbaee [MIRROR] PDA Ringtone Preference [MDB IGNORE] (#16907)
* PDA Ringtone Preference

* Updates our own text preferences to match the stuff I did upstream for this

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-10-16 19:11:58 -04:00
SkyratBot 15d5272ee0 [MIRROR] Fixes communication being nearly impossible (except over radio) when there's a null client in the global player list [MDB IGNORE] (#16851)
* Fixes communication being nearly impossible (except over radio) when there's a null client in the global player list (#70404)

* Fixes communication being nearly impossible (except over radio) when there's a null client in the global player list

* Updates our modular play_vox_word() proc

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-10-14 15:42:46 -04:00
SkyratBot 6f985f51bd [MIRROR] Fixes the formatting in the Messenger app's message history and makes the current ringtone appear in the input box when trying to change it [MDB IGNORE] (#16831)
* Fixes the formatting in the Messenger app's message history and makes the current ringtone appear in the input box when trying to change it (#70458)

* Changing your PDA ringtone now has your current ringtone in your input box, like the previous PDAs used to.
* The incoming Messenger messages are now HTML encoded in message history, allowing it to display apostrophes and such.
* The prompt to send a PDA message now shows you the person you're trying to send a PDA message to.

* Fixes the formatting in the Messenger app's message history and makes the current ringtone appear in the input box when trying to change it

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-10-13 00:11:41 -04:00
SkyratBot 1ce77983df [MIRROR] canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE [MDB IGNORE] (#16586)
* canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE

* etes

* eyes

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-02 15:54:46 +01:00
SkyratBot 0339798a42 [MIRROR] Removes network cards and printers from tablets [MDB IGNORE] (#16451)
* Removes network cards and printers from tablets

* merge tablet_presets

* printer.dm should have been deleted, missed change

* update contractor tablet

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-27 23:16:32 -04:00
SkyratBot ee9a337efd [MIRROR] once again improves pda message immersion [MDB IGNORE] (#15942)
* once again improves pda message immersion (#69534)

About The Pull Request

Reimplements #37735 (add 1% chance to have "Sent from my PDA" appended to a message) as it was lost during the transition to tablets.

Why It's Good For The Game

Feature parity with previous system.

* once again improves pda message immersion

Co-authored-by: Coldud <coldud13@users.noreply.github.com>
2022-08-31 09:33:39 -07:00
SkyratBot a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot 2059781c34 [MIRROR] PDAs open their messenger when replying to messages through chat [MDB IGNORE] (#15022)
* PDAs open their messenger when replying to messages through chat

* Update code/modules/modular_computers/hardware/hard_drive.dm

* Actually fixes the merge conflict and the compile errors

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-07-19 02:14:05 +01:00
SkyratBot e264e19463 [MIRROR] Don't process topic calls when the ntmessenger program is qdeleted [MDB IGNORE] (#14770)
* Don't process topic calls when the ntmessenger program is qdeleted (#68206)

* Adds a check for QDELETED in NTmessenger's /Topic()

* Don't process topic calls when the ntmessenger program is qdeleted

Co-authored-by: oranges <email@oranges.net.nz>
2022-07-07 14:09:56 +01:00
SkyratBot 64766b3428 [MIRROR] [NO GBP] Fix illiterate quirk bugs [MDB IGNORE] (#14128)
* [NO GBP] Fix illiterate quirk bugs

* Update snail.dm

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-06 15:32:54 +01:00
SkyratBot c3c07a00f0 [MIRROR] Fixes href exploit to use rwall with any pda. [MDB IGNORE] (#13891)
* Fixes href exploit to use rwall with any pda. (#67253)

* Fixes href exploit to use rwall with any pda.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2022-05-26 00:09:29 +01:00
SkyratBot 08f0d945c3 [MIRROR] Makes the Messenger program baked into PDAs, fixing heads not getting all of their roundstart programs [MDB IGNORE] (#13844)
* Makes the Messenger program baked into PDAs, fixing heads not getting all of their roundstart programs (#67223)

Makes the Messenger program undeletable, take up no space and be unavailable for download

* Makes the Messenger program baked into PDAs, fixing heads not getting all of their roundstart programs

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-05-24 02:43:44 +01:00
SkyratBot 43abf0176f [MIRROR] OpenDream Cleanup Pass [MDB IGNORE] (#13690)
* OpenDream Cleanup Pass (#67036)

OpenDream can detect BYONDisms that BYOND or SpacemanDMM miss. This PR fixes all of the issues it found in TG. Each change is explained in code comments below.

* OpenDream Cleanup Pass

Co-authored-by: ike709 <ike709@users.noreply.github.com>
2022-05-18 19:56:35 +01:00
SkyratBot a11d253cf5 [MIRROR] Mass-PDA perms is configured on Wirecarp [MDB IGNORE] (#13663)
* Mass-PDA perms is configured on Wirecarp (#66889)

Lawyers and Captains spawn by-default with the ability to send mass PDA messages, but the Wirecarp app (so Research Director and Captain) can grant/revoke permission to send PDAs to everyone

* Mass-PDA perms is configured on Wirecarp

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-05-17 00:12:12 -07:00
SkyratBot 81db26ba94 [MIRROR] [MDB IGNORE] Removes tablet cartridges + reworks a ton more [MDB IGNORE] (#13539)
* [MDB IGNORE] Removes tablet cartridges + reworks a ton more (#66505)

- All tablets who previously had apps in a cartridge now has them built-into their tablet instead. This means it costs space for it.
- Rebalances the sizes of several apps to help them fit on Command tablets (Cargo ordering costed 20!!)
- Removes tablet cartridges, they've been reworked into a regular old portable disk (the same you use for toxins/borgs)
- Removes Signaller (the module required to run the signaller app) from tablets (likely will remove more in the future)
- Refactors the health/chem scanning app to not be as bad
- Dehardcodes detomatix resistance
- Ability to send PDA's to all is now tied to your access rather than a cartridge
- Moves 'eject disk' button to the very top of the UI

* [MDB IGNORE] Removes tablet cartridges + reworks a ton more

* wew

* wew

* ok

* Update nanotrasen_consultant.dm

* Update nanotrasen_consultant.dm

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 22:40:06 +01:00
SkyratBot f919b9ef23 [MIRROR] fixes pda messaging bug [MDB IGNORE] (#13053)
* fix (#66443)

due to the way the program is initialized computer is not set to the proper value until the ui is interacted with, whereas beforehand it is null. this means, that when you receive a message roundstart without first opening your messenger app for the first time, you won't get the chat notification for the message

oh also some qol

* fixes pda messaging bug

Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
2022-04-24 14:02:21 +01:00
magatsuchi dc8adc2924 Modular Tablets: Converting PDAs to the NtOS System (SKYRAT VERSION) (#12920)
* hot-patch 1

* hot patch 2

* hot patch 3

* slight issue
2022-04-20 16:55:49 +01:00