Commit Graph

882 Commits

Author SHA1 Message Date
SkyratBot
79bb4facfc [MIRROR] Removes networks from the game [MDB IGNORE] (#20083)
* Removes networks from the game (#74142)

## About The Pull Request

This is a continuation of
https://github.com/tgstation/tgstation/pull/74085 - I announced in the
comments there that this would be my next PR, and this is it.

Removes SSnetwork, ``/datum/ntnet``,
``/datum/component/ntnet_interface``, ``var/network_root_id``, the
network unit test, and a lot of other things related to networks.

- NTNet circuits now check for an Ntnet relay, and uses signals to
operate.
- Logs in Wirecarp is now only for PDA and Ntnet Relay things, so you
can no longer see what ruins exist using it (why should Wirecarp know
that Oldstation spawned? The flavor is that they dont know its there).
- Removed it from MULEbots entirely, I don't think it even did anything
for them? Botkeeper seems to work without it, so it's possibly there
from pre-tgui PDAs.
- Moves assigning random names to a base proc instead of being tied to
network, this is things like random-naming scrubbers/vents. The behavior
hasn't changed at all.
- Makes Ntos work for consoles when relays are down, as the comments
said they're supposed to (because they're wired). I think this was an
accidental change on my part, so this is a revert of that.

## Why It's Good For The Game

Ntnet is ancient code that hasn't given us much that we can't do with
already existing alternatives, we've been slowly moving away from it for
init times, and though a large portion of that was limited to airlocks,
I still don't think this is a system worth keeping around.
It's way too complex to expect feature coders to do anything with it,
and too old with better alternatives for anyone to want to improve any
of it.

## Changelog

🆑
fix: Computers are now properly connected to Ethernet, and can use Ntos
when Relays are down.
refactor: Removes Ntnet and Ntnet interfaces, which was only used by
Ntnet circuits (which now directly checks for a Relay to work) and
MULEbots, which did nothing with it.
balance: Wirecarp no longer tells you what ruins spawned in a round,
instead it's limited to PDA logs, and tells you the source too. This
means the RD can catch someone running illegal programs if they don't
make any attempt at hiding it.
qol: Wirecarp logs is now set to save 300 at once, instead of 100 and
being increased to 300 by the RD during the round. This is pretty
insignificant, since there's no reason to NOT want as many logs as
possible.
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>

* Removes networks from the game

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
2023-03-27 03:28:18 +01:00
SkyratBot
5b6bdba69d [MIRROR] changes paper slips to be tiny instead of normal sized [MDB IGNORE] (#20053)
* changes paper slips to be tiny instead of normal sized (#74202)

## About The Pull Request

currently sheets of paper are tiny sized, but cutting them in half
creates paper slips, which are normal sized.

## Why It's Good For The Game

paper slips are too large to fit into some containers that full sheets
of paper can easily fit into. this hopefully fixes that

## Changelog

🆑
qol: adds the weight class 'tiny' to paper slips
/🆑

* changes paper slips to be tiny instead of normal sized

---------

Co-authored-by: nicky <c4g@cats4gold.net>
2023-03-24 17:07:48 -07:00
SkyratBot
4e42b7fb04 [MIRROR] Re-implements Physical and Mental statuses in crewmember Medical Records [MDB IGNORE] (#19832)
* Re-implements Physical and Mental statuses in crewmember Medical Records

* wew

---------

Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-15 00:47:21 +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
257d63f360 [MIRROR] Fixes some invisible inhands from the transforming component [MDB IGNORE] (#19721)
* Fixes some invisible inhands from the transforming component (#73807)

## About The Pull Request

The original issue caused by #70037
Esword issue caused by #73716

Originally the transforming component did not override the inhand icon
state of the the item on its own (instead putting the onus on the item
itself if they wanted unique behavior). It was changed to always update
inhand icon state, most of which don't have one

I don't really like this fix, it should be explicit "I want inhand to
change" and not default, but this will work for now

Also the PR that fixed the Jaws issue didn't actually set the var they
created

Fixes #73805
Fixes #73711 (Actually)

## Why It's Good For The Game

Invisible sword bad

## Changelog

🆑 Melbert
fix: Fixed a eswords, some tools, and some other misc. items from being
invisible while extended / active
fix: Teleshields and other misc items not extending in hand when active
fix: Switchblades click on extend again
fix: Pendrivers click on extend
/🆑

* Fixes some invisible inhands from the transforming component

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-03-08 11:33:50 +00:00
SkyratBot
94485971b9 [MIRROR] Fixes a major source of papercode lag and optimises paper for less (but still some) lag. [MDB IGNORE] (#19659)
* Fixes a major source of papercode lag and optimises paper for less (but still some) lag. (#73628)

## About The Pull Request

Doesn't quite fix but helps mitigate #71697 - The issue report is still
valid, just less so.

Marked.js is just... Slow when used in BYOND's web browsing environment.
New markdown elements **and HTML tags** add significant fractions of a
millisecond to parsing time on my local.

However, I suspect I messed up with using the custom extensions and
every parsing pass it may have be appending a new extension to the
extension list.

I'm not sure why this never manifested in my 6 minutes of testing gif
from the original PR, mind you. I checked out that commit and local and
everything worked the same as I remember. Perhaps a change or version
bump in the interim modified the behaviour.

That aside, on current master it's MASSIVELY obvious something is
fucked.

Spamming 1000 characters of
```
# Slow
## Slower
### Slowest
```
then saving it, then puting **another** 1000 characters of the same
thing for 2000 previewed characters total gave the following performance
metrics:

![image](https://user-images.githubusercontent.com/24975989/221262868-c98d9b1a-e9d2-4a41-89e1-5ca6fb244cc6.png)

The marked.js parse time was about 150-180ms for the saved text and
220+ms for the input box text.

Moreso, if you leave the paper open for for a few minutes...

![image](https://user-images.githubusercontent.com/24975989/221263091-ae021caf-912d-4424-a33f-a91591ddf47e.png)

Yeah. That's 500+ms per parse (with 2 per render - one from the paper's
saved text and one from the input box) and the game will basically
crash.

Similar results using this template provided to me for testing purposes:
```
<center><b>Department Psychological Evaluation Survey</b></center>
<center><i>Test Log 230126-01</i></center>

<b>Question 1</b>
What department do you work in?
[_____________________________________]

<b>Question 2</b>
Which department are you least likely to recommend to a friend that they should work in?
<i>Please only choose one</i>
* Command [__]
* Security [__]
* Service [__]
* Cargo [__]
* Medical [__]
* Science [__]
* Engineering [__]

<b>Question 3</b>
Which department are you most likely to recommend to a friend that they should work in?
<i>Please only choose one</i>
* Command [__]
* Security [__]
* Service [__]
* Cargo [__]
* Medical [__]
* Science [__]
* Engineering [__]

<b>Question 4</b>
What is your favorite animal?
[_____________________________________]

---
Please sign here to confirm you are completing this survey voluntarily:
[_____________________________________]
<i>All Nanotrasen brand pens have an automatic signature system. Please write % s to automatically sign it.</i>
```

On first input + save, render time is normal but you can see it clearly
rising each second...

![image](https://user-images.githubusercontent.com/24975989/221263763-a0974f94-a95d-472a-881a-99ebf435239c.png)

![image](https://user-images.githubusercontent.com/24975989/221263878-5ed49878-aac2-49d1-9658-a7ff019e0947.png)

You get the idea.

Fixing the problem by using the proper markdown method for accomplishing
the same thing:

Markdown # Slow # Slower # Slowest test:

![image](https://user-images.githubusercontent.com/24975989/221264079-c58ec945-c130-4d3a-9dd7-b271b79321a3.png)

HoPaperwork Form

![image](https://user-images.githubusercontent.com/24975989/221264012-da121a5f-e4a8-4514-ab07-fb314ba50454.png)

And these numbers don't increase over time. So I think I nailed an
interim fix.

Ultimately, marked.js in tgui/BYOND just seems slow as molasses. But it
can at least be **usable** for now and this should majorly mitigate or
even eliminate problems players have been having with paper (depending
on how loaded it is with HTML and markdown tags).

All the features we had before seem to still work after I feex. So
hopefully good for now?

![image](https://user-images.githubusercontent.com/24975989/221267657-03fb0536-63a5-43a2-8f2b-b09bf7686d75.png)

## Beeg edit
I decided I'd go a step further and implement some basic caching logic.

![image](https://user-images.githubusercontent.com/24975989/221320748-54d60715-f8b8-48f7-9690-34467b526df2.png)

This means that you don't pay a parsing cost from already saved text
while writing new text, allowing complex forms to be created in multiple
saved or one big copy-paste.

This means that reading paper and filling in input boxes in paper is
free after the first parse, using the cache afterwards.

This is a workaround for the fact a parse can take longer than we'd like
for complicated paper forms.

## Why It's Good For The Game

Paper good.
## Changelog
🆑
fix: Papercode has been significantly improved and trivially filled
paper forms should no longer lag or crash players' game clients.
/🆑

* Fixes a major source of papercode lag and optimises paper for less (but still some) lag.

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2023-03-04 19:43:52 +00:00
SkyratBot
1f753d5d4c [MIRROR] Refactors crew records (#72725) + Medical/Security records now use the max/min age. [MDB IGNORE] (#19078)
* Medical/Security records now use the max/min age.

* merge conflict

* Refactors crew records (#72725)

I have attempted or otherwise started this project at least 4 times. I
am sick of it being on my calendar. The code needs it. I need it.

- This makes crew records a proper datum rather than assigning
properties record.fields.
- General, medical, and security records are merged.
- Did some slight refactoring here and there for things that looked
obvious.
- Wanted states are now defined (and you can suspect someone through
sechud)
- pAI (unrelated but annoying) had some poorly named exported types that
i made more specific
- Job icons are moved back to the JS side (I wanted to get icons for
initial rank without passing trim)

<details>
<summary>previews</summary>

Editable fields & security console

![CM6d74brnC](https://user-images.githubusercontent.com/42397676/213950290-af6cfd76-eb8b-48e9-b792-925949311d9a.gif)

Medical records

![bFJErsvOaN](https://user-images.githubusercontent.com/42397676/214132534-59af1f8c-9920-4b51-8b27-297103649962.gif)

Look and feel of the more current version

![cxGruQsJpP](https://user-images.githubusercontent.com/42397676/214132611-0134eef0-e74c-4fad-9cde-328ff7c06165.gif)

</details>

TGUI'd some of the worst UIs in the game.
Creating new records is made much simpler.
Manifest_inject is made readable.
Probably bug fixes

🆑
refactor: Crew records have been refactored.
refactor: Medical records -> TGUI
refactor: Security records -> TGUI
refactor: Warrants console -> TGUI
qol: Players are now alerted when their fines are paid off.
qol: Cleaned up sec hud examination text.
qol: Adding and deleting crimes is easier.
qol: Writing crimes in the console sets players to arrest.
qol: You can now mark someone as a suspect through sec hud.
/🆑

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* I've got something that now actually works

Just got to incorporate the records into what players can actually see.

* Turns out that client has already been transferred after all

* Adds the past records in the TGUI records (they're kinda ugly but it works, so y'know)

* Whoops

* Hate you too sometimes Prettier

* Fixes ghost roles using LITERAL records, which caused problems

* Fixes the leaks caused by ghost roles not getting their name right because of the stupid freaking special() proc

* I hate list operations man they're so stupid

* Fixes the stars on the crew manifest!

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-28 14:14:24 -05:00
SkyratBot
3a9fbc0a90 [MIRROR] Fixes text input fields not working on copied paper. [MDB IGNORE] (#19548)
* Fixes text input fields not working on copied paper. (#73633)

## About The Pull Request
Fixes #71698

The paper copying proc was incomplete and didn't copy over the total
field count, which is used for sanity checking/user input verifying.

Because this wasn't copied over, none of the copied fields passed
validation checks for text input and the ui_act would have rejected the
inputs as invalid.
## Why It's Good For The Game
I feex.
## Changelog
🆑
fix: Fixes broken input fields on photocopied paper.
/🆑

* Fixes text input fields not working on copied paper.

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2023-02-26 15:23:03 -05:00
OrionTheFox
d097050d1d [Manual Mirror] Adds checkgrep for improper or missing atom Initialize args (mapload) (#19539)
* Adds checkgrep for improper or missing atom Initialize args (`mapload`) (#72846)

## About The Pull Request

Adds a grep for atom initialize overrides which does not include mapload

Regex used
`^/(obj|mob|turf|area|atom)/.+/Initialize\((?!mapload).*\)`

Also replaced some space indentation with some tab indentation in some
other greps


![image](https://user-images.githubusercontent.com/51863163/213883049-ef6d953a-e11f-4876-9852-c09633ddc289.png)

## Why It's Good For The Game

See #69107, #61759, #61623

## Changelog

No player facing changes

* Missed by #8374

* Add (mapload) to a //Skyrat Edit so that it passes

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-02-26 15:20:38 -05:00
SkyratBot
b052919d90 [MIRROR] Fix paperplanes unfolding into different hand; balloon alerts [MDB IGNORE] (#19468)
* Fix paperplanes unfolding into different hand; balloon alerts (#73522)

🆑 coiax
fix: Paper planes when unfolded will put the paper in your active hand,
rather than a different hand, just like cardboard boxes.
/🆑

- Also, use balloon alerts for folded/unfolded to match boxes

## Why It's Good For The Game
Generally when you transform items from one form into another while
having them in your hand, they generally go into the same hand. Also,
people like balloon alerts now for these sorts of very minor
transformations.

* Fix paperplanes unfolding into different hand; balloon alerts

---------

Co-authored-by: Jack Edge <yellowbounder@gmail.com>
2023-02-20 21:08:21 -08:00
SkyratBot
11e5ff08b9 [MIRROR] Refactors photocopiers and fixes some bugs with them. [MDB IGNORE] (#19428)
* Refactors photocopiers and fixes some bugs with them. (#73316)

## About The Pull Request

I set out today to fix a bug with photocopiers, I couldn't replicate the
bug but instead found two more and removed a bunch of duplicate code.
Fixes being able to print blanks despite having no money to print them.
Fixes paperwork not being removed from the photocopier when mounting it.
## Why It's Good For The Game

duplicate code bad, bug fixes good.
## Changelog
🆑
fix: You cannot print blank documents from a photocopier if you cannot
afford them anymore.
fix: Mounting the photocopier will now eject paperwork as it does with
photos and paper.
refactor: Lots of duplicate code and some unnecessary vars removed from
photocopier code.
/🆑

* Refactors photocopiers and fixes some bugs with them.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-02-18 18:46:16 -08:00
SkyratBot
0d2774d5ab [MIRROR] Modify photocopiers to no longer cause drones to delete toner [MDB IGNORE] (#19334)
* Modify photocopiers to no longer cause drones to delete toner (#73390)

A non-human user would skip the "put in hands" call, and just have the
reference to the toner be set to null without actually moving it.

Silicons still just make the toner drop on the floor as before.

No doubt in the future, when Ian is given a mouth slot to do paperwork,
he too will be able to use the photocopier.

🆑 coiax
fix: Drones no longer destroy toner cartridges when ejecting them from
photocopiers.
/🆑
## Why It's Good For The Game

It seems non-intuitive that interacting with photocopiers as a drone or
other non-human with hands would cause the toner to get marooned inside
the photocopier.

* Modify photocopiers to no longer cause drones to delete toner

---------

Co-authored-by: Jack Edge <yellowbounder@gmail.com>
2023-02-14 02:56:36 +00:00
lessthanthree
30fe761edf [MANUAL MIRROR] Big Paperwork (#19082)
Big Paperwork: Adds the Paperwork loan offer, paperwork fraud, and ancient paperwork! (#70863)

Adds paperwork -- an indecipherable mess of papers that only a seasoned
department head could hope to decipher. If processed and sent to Central
Command via the cargo shuttle, the budget gets a bonus.

Paperwork is distributed through a new Shuttle Loan offer. A nearby
station needs some paperwork reviewed. Do you have what it takes to
handle BIG PAPERWORK?

Processing paperwork is relatively simple. You can inspect it to see
which head of staff it "belongs" to, and you can use their stamp to
complete it. You get a lot of these, so the bonuses can add up if you
get them all in. Just be careful not to return any unprocessed
paperwork.

With big paperwork comes big paperwork fraud, and big fines.

You can photocopy your completed paperwork to double-dip with Central
Command and squeeze out a little bit more money. The more paperwork
fraud you commit, the higher the chance you'll be caught and fined.

On top of that:

Some say that in the long forgotten halls of maintenance, there lies
_ancient paperwork_. Documents whose importance has long since passed,
but are still important for bookkeeping at Central Command. With a keen
eye, you might spot one of these while scouring through maintenance.
Make sure it gets forwarded to the right person, cargo will thank you.

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-02-10 11:53:33 -05:00
OrionTheFox
dab6937942 [MANUAL MIRROR] Crafting light switches, request consoles, telescreens, and ticket machines (#19111)
Crafting light switches, request consoles, telescreens, and ticket machines (#72859)

## About The Pull Request
Breaking down #72371 because it's... unreasonably large.
So this PR adds recipes for light switches, request consoles,
telescreens, and ticket machines. Ticket machine frame by Kryson.

You can't print all of the telescreens, like the head of staff ones, but
the general department ones can be printed in their respective
departments.

## Why It's Good For The Game
Wallening compliance, and more of me on my shit breaking down long
files.

## Changelog
🆑 Tattle, Kryson
qol: light switches, request consoles, telescreens, and ticket machines
can now all be printed from lathes
/🆑

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@gmail.com>
2023-02-02 16:22:12 +00:00
SkyratBot
11e4741fcd [MIRROR] Change admin comm console alert sound [NO GBP] [MDB IGNORE] (#18759)
* Change admin comm console alert sound [NO GBP] (#72637)

## About The Pull Request
The original sound I used for the admin comm/fax notification causes
confusion with shuttle uplink being enabled/disabled for various
reasons.
## Why It's Good For The Game
You wonder who disabled the shuttle, but it's just a fax.
## Changelog
🆑 LT3
admin: Changed admin comm/fax notification sound to be less confusing
/🆑

* Change admin comm console alert sound [NO GBP]

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-01-16 14:23:43 +00:00
SkyratBot
c3291cefa2 [MIRROR] Allows admins to skip some paper sanitization [MDB IGNORE] (#18728)
* Allows admins to skip some paper sanitization (#72553)

## About The Pull Request
This PR allows admins with R_FUN to create paper that doesn't sanitize
as much HTML as the default, player-accessible paper. Specifically, the
ability for admins with R_FUN to add images that papercode would
normally sanitise via HTML img tags.

## Why It's Good For The Game
I'd like to make some fancy papers to send as faxes, but the current
sanitization doesn't allow for images.

![image](https://user-images.githubusercontent.com/41448081/211176186-c33d611d-8ac3-4683-bef8-10016e34eaf4.png)

This was a fax I threw together in a few minutes after making the logo
## Changelog
🆑
admins: Admins with the appropriate permissions can now use HTML image
tags in paper and faxes.
/🆑

* Allows admins to skip some paper sanitization

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-14 12:57:45 -08:00
SkyratBot
0fd25257a9 [MIRROR] Fix blood overlays on energy daggers [MDB IGNORE] (#18682)
* Fix blood overlays on energy daggers

* CLANG

* has this ever worked?

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2023-01-13 21:56:37 -08:00
SkyratBot
8e8002b555 [MIRROR] Converts drowsy and eye blur to status effects, striking yet another two carbon level status vars [MDB IGNORE] (#18348)
* Converts drowsy and eye blur to status effects, striking yet another two carbon level status vars

* merge conflicts

* adjust_eye_blur and set_eye_blur_if_lower

* adjust drowsiness overdoses

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 13:14:47 -05:00
SkyratBot
ae713bf18a [MIRROR] Crafting/Cooking menu update [MDB IGNORE] (#18334)
* Crafting/Cooking menu update

* Yeeted away all of the merge conflicts, time to fix the code

* Okay, now it compiles, and after testing, it seems to work just fine

* Actually, early addition of an upstream fix, so those that don't have hunger can still open the cooking menu

* Fixes the units tests by removing the extra comma in the Stuffed Muli Pod recipe

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-08 15:02:18 -05:00
SkyratBot
650d64f6d4 [MIRROR] afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item [MDB IGNORE] (#18519)
* afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item

* Update _neck.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 06:55:38 +00:00
lessthanthree
3d0718f516 [MANUAL MIRROR] Admin alert for communications console messages (#18529)
Admin alert for communications console messages (#72412)

Adds an audio alert when a CentCom or Syndicate communications console
message is sent, for things such as ERT requests.

It is optional and can be toggled in the Game Preferences menu.

Also fixes an incorrect line in the prefs readme.md

Less missing CentCom messages because you're busy doing other things,
less complaining that you're ignoring them.
2023-01-06 08:50:39 -08:00
SkyratBot
65671e7327 [MIRROR] Adds a stamp sound effect when stamping papers [MDB IGNORE] (#18466)
* Adds a stamp sound effect when stamping papers (#72367)

## About The Pull Request

This pull request adds a .ogg file of a stamp stamping a paper, a
playsound function for stamping a paper, stamping a paper while blind,
and stamping yourself in the head to commit suicide.

In addition, it modifies the attributions.txt file to include credits to
the creator of the stamp noise.

## Why It's Good For The Game

Most item interactions tend to have a sound effect that plays. Putting
most items down, throwing them, cutting certain items with the knife,
scanning bounty cubes, putting a destination tag on a package, etc. all
play sounds, which makes it a bit odd that stamping papers doesn't. This
PR adds audio feedback to stamping papers.

https://user-images.githubusercontent.com/45489195/210032424-d3168a16-3d4b-47d3-95f3-75a1d3a6aac9.mp4

## Changelog

Stamping paper now makes noise.

🆑
soundadd: Added a new sound for stamping papers with a stamp. On an
unrelated note, there are reports of stamp-based suicides becoming more
noisy.
/🆑

* Adds a stamp sound effect when stamping papers

Co-authored-by: RedBaronFlyer <45489195+RedBaronFlyer@users.noreply.github.com>
2023-01-03 17:34:45 +00:00
lessthanthree
8244d7b043 [MANUAL MIRROR] Fixes a bunch of sidemap/plane cube issues [NO GBP] (#18427)
Fixes a bunch of sidemap/plane cube issues (#72178)

## About The Pull Request

[fixes solor trackers offsetting wrong, and panels not using plane
offsets](8f461ab8ec)

[fixes cyborg hats offsetting phyiscally over their
head](5fd5b4240e)

[fixes reflector parts z fighting with their neighbors. if we physically
offset them, they'll have nothing to fight
with](088dcfe91f)

[fixes burgers layering wrong. uses a combo of pixel z to do the visual
offsets, and pixel_y to modify
layering](ec39e2bcd3)

[fixes signs, needed to use pixel_w instead of x, I think we may be
living under iso rules? I'm not totally sure I need to investigate
more](560d152fd7)

[fixes paperbin
rendering](e6c57ec00e)

## Why It's Good For The Game

Closes #72094
Closes #72035

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-12-31 06:11:17 -05:00
SkyratBot
e6ec5b3903 [MIRROR] Replaces the direct central command contact from fax machines with nanotrasen departmental contacts [MDB IGNORE] (#18173)
* Replaces the direct central command contact from fax machines with nanotrasen departmental contacts (#72009)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Does what it says on the tin, instead of being able to fax central
command fax machines are linked to a randomly selected Nanotrasen
department. Current options are as follows but more can be added if any
creative ideas are provided.

- NT HR Department
- NT Legal Department
- NT Complaint Department
- NT Customer Relations
- Nanotrasen Tech Support
- NT Internal Affairs Dept

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

Re-restricts contacting the top dogs at central command to people with a
captain ID. Being able to contact central commands highest ranks from an
IC perspective makes sense to be restricted to the captain only through
the use of the communications console. The crew can instead contact what
is likely an intern working in a specialized department.

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
spellcheck: Admin fax report names now default to standard report rather
than standart.
del: Central Command can no longer be faxed directly from fax machines.
spellcheck: Replaced the ability to contact central command directly by
being able to contact a randomly selected nanotrasen department.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

* Replaces the direct central command contact from fax machines with nanotrasen departmental contacts

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2022-12-20 14:24:43 +13:00
SkyratBot
b08e6d24b2 [MIRROR] 3/4ths-ify some wall mount sprites (by Kryson and Viro) [MDB IGNORE] (#18039)
* 3/4ths-ify some wall mount sprites (by Kryson and Viro) (#71788)

posters are now 24px tall, new sprites for nanomeds, emergency safes, and ticket machines
(by Kryson)

* 3/4ths-ify some wall mount sprites (by Kryson and Viro)

* DON'T INCLUDE FUCKING OVERRIDES IF THEY DON'T DO ANYTHING HHHNGH MY CI IS FAILING CODERS

* FUCK

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2022-12-12 13:56:40 -05:00
SkyratBot
6200a50094 [MIRROR] Modularizes the forensics scanner, and letting items modify it. [MDB IGNORE] (#18081)
* Modularizes the forensics scanner, and letting items modify it. (#71109)

Overhauls the fornesics scanner system, letting items modify the readout
and adding additional information through the COMSIG_DET_SCANNED signal.

Buffs the forensics scanner by letting it reveal more info, makes the
code look nicer, and allows for a bit more flavour text to be added to
items.

* Modularizes the forensics scanner, and letting items modify it.

Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
2022-12-11 18:56:19 +00:00
SkyratBot
c986f2779b [MIRROR] Photocopier now tells you if it can't charge you successfully. [MDB IGNORE] (#17800)
* Photocopier now tells you if it can't charge you successfully. (#71559)

## About The Pull Request

Closes #71466.

Photocopying your ass is fine and works well enough, but the comments to
that report were correct that it provided no user feedback as to why it
wasn't copying. This just adds a small balloon alert to the viewer so
that they realize that they might have to have their card in their hand
for it to run.

I toyed around with a few iterations of the message and I figured that
one got the point across well, but if anyone has any better ideas that
would be welcome as well. Not sure if we should just have it be a longer
"Say" message.
## Why It's Good For The Game

User feedback when something fails is important!
## Changelog
🆑
qol: The photocopier will now tell you when it's not able to find an ID
to charge on your person.
/🆑

* Photocopier now tells you if it can't charge you successfully.

Co-authored-by: san7890 <the@san7890.com>
2022-11-28 09:38:01 -05:00
SkyratBot
04102bcdd7 [MIRROR] Nukies Update 6: Interdyne is here for you! Medical Supplies and Atropine! [MDB IGNORE] (#17785)
* Nukies Update 6: Interdyne is here for you! Medical Supplies and Atropine!

* Update medkit.dm

* our uses

* adds it to opfor, too

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-11-27 15:17:31 -08:00
SkyratBot
ea1e6ff95f [MIRROR] Adds a preference that disables intensive rendering on different multiz layers [MDB IGNORE] (#17737)
* Adds a preference that disables intensive rendering on different multiz layers (#71218)

## About The Pull Request

It's kinda hacky, but it is nearly the same as just rendering one z
layer.
We allow people to ENTIRELY REMOVE most plane masters from their screen.
This has the side effect of disabling most visual effects (AO is a big
one) which saves a LOT of gpu.

We rely on planes being essentially layers to ensure things render in
the proper order. (outside of some hackyness required to make parallax
work)

I've kept parallax and lighting enabled, so visuals will still look
better then multiz pre plane cube.
It does also mean that things like FOV don't work, but honestly they
didn't work PRE plane cube, and FOV's implementation makes me mad so I
have a hard time caring.

Reduces gpu usage on my machine on tram from 47% to 32%, just above the
27% I get on meta.

I'm happy with this.

Oh also turns out the parallaxing had almost no cost. Need to remove it
as a side effect of what I'm doing but if I could keep it I would.

There's still room for in between performance options, like disabling
things like AO on lower z layers, but I didn't expect it to make a huge
impact, so I left things as is

Also fixes a bug with paper bins not respecting z layer. It came up in
testing and annoyed me

## Why It's Good For The Game

Ensures we can make multiz maps without running into client performance
issues, allows users to customize performance and visual quality.

## Changelog
🆑
add: Adds a new rendering option to the gameplay preferences. You can
now limit the rendering intensity of multiz levels. This will make
things look a bit worse, but run a LOT better. Try it out if your
machine chokes on icebox or somethin.
/🆑

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Adds a preference that disables intensive rendering on different multiz layers

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-11-25 14:27:27 +00:00
SkyratBot
9f06f26ee5 [MIRROR] Fixes negative payment in NTpay & Encodes name param sent to admins in fax [MDB IGNORE] (#17729)
* Fixes negative payment in NTpay & Encodes name param sent to admins in fax (#71491)

## About The Pull Request
NTpay wasn't validating negative input serverside, allowing for negative
payment to users(Negative - Negative = Positive, so it adds money to the
senders account.) Also encodes a parameter that was sent unsanitized to
admins.
## Why It's Good For The Game
## Changelog
🆑
fix: Fixes a NTPay exploit.
/🆑

* Fixes negative payment in NTpay & Encodes name param sent to admins in fax

Co-authored-by: CocaColaTastesGood <47264839+CocaColaTastesGood@users.noreply.github.com>
2022-11-24 22:13:16 +00:00
SkyratBot
596709b5ef [MIRROR] Add a few networks to fax, which send papers to request manager, and staff can answer on them from fax panel. [MDB IGNORE] (#17623)
* Add a few networks to fax, which send papers to request manager, and staff can answer on them from fax panel.

* merge conflict

Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-22 17:21:24 -05:00
SkyratBot
a2f7b13ebd [MIRROR] Refactor of pizza crate code and various other small pizza related code changes [MDB IGNORE] (#17659) 2022-11-22 10:02:16 -08: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
b5bd312379 [MIRROR] Add investigate_deaths [MDB IGNORE] (#17424)
* Add investigate_deaths

* merge changes other than giant_spider which deps on tg/70848

* gib

* dust

* death

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-11 14:44:33 -05:00
SkyratBot
4741dc4ac9 [MIRROR] Fix halloweens races [MDB IGNORE] (#17270)
* Fix halloweens races

* update modular

* Apply suggestions from code review

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-10-31 18:00:11 +00:00
SkyratBot
b1f1896257 [MIRROR] fixes screwdriver pen runtiming when extending / retracting [MDB IGNORE] (#17205)
* fixes screwdriver pen runtiming when extending / retracting (#70747)

* fixes screwdriver pen runtiming when extending / retracting

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-27 13:59:30 -04:00
SkyratBot
8fd59655c1 [MIRROR] Fixes paper hats by giving them a worn_icon path [MDB IGNORE] (#17129)
* Fixes paper hats by giving them a worn_icon path (#70752)

About The Pull Request

Wearing paper hats is tradition, or a chronic problem when you just auto-store it with the keybind. However, it appears that they lost their worn_icon with #70060. Easy mistake, easy fix. Sets worn_icon for obj/item/paper to the costume helmet .dmi file.

* Fixes paper hats by giving them a worn_icon path

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2022-10-24 03:15:17 -04:00
SkyratBot
acfedf84fd [MIRROR] Screwdriver Pen [MDB IGNORE] (#17063)
* Screwdriver Pen (#70467)

* base

* bam

* icon and element fix

* terminate

* Update code/modules/paperwork/pen.dm

* Update code/modules/paperwork/pen.dm

* sigh

* Update code/_globalvars/lists/maintenance_loot.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Update code/modules/paperwork/pen.dm

Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>

* Update code/modules/paperwork/pen.dm

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* factoring

* escapism

* balloon notif

* bottom vars

* Update code/modules/paperwork/pen.dm

* Update code/modules/paperwork/pen.dm

* Apply suggestions from code review

* updates the sprite to be based on new pen icon

* pushes the comsig call to an attack_self

* Update code/modules/paperwork/pen.dm

* Update code/modules/paperwork/pen.dm

* imagos icon

Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>

* Screwdriver Pen

Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
2022-10-21 10:44:27 +01:00
SkyratBot
612568daa0 [MIRROR] Swaps sleep() to use SECONDS define [MDB IGNORE] (#16973)
* Swaps sleep() to use SECONDS define

* merge conflicts and skyrat modules

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:24 -04:00
SkyratBot
2847b2b37e [MIRROR] [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons [MDB IGNORE] (#16649)
* [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons

* cf

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 22:36:07 +01: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
32db6d2411 [MIRROR] Properly checks flags with & instead of == [MDB IGNORE] (#16487)
* Properly checks flags with & instead of ==

* merge fixed for changeling

* skyrat equipment updated

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-09-28 16:38:59 -04: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
c95e382602 [MIRROR] Faxing of unusual objects [MDB IGNORE] (#16059)
* Faxing of unusual objects (#69651)

* Fax machines have a wire panel.
Fax machines can be hacked to allow unusual input, throw their contents on receipt, and be invisible to the network.
Fax machines will accept some additional paper-like items by default.
Fax icons moved to their own file.

* Unpunctuates screentips.
You can send cash now also.

* Removes unnecessary "var".
Adds salami to food list.

* Faxing of unusual objects

Co-authored-by: Jacquerel <hnevard@gmail.com>
2022-09-05 12:58:44 +01:00
SkyratBot
1e416342ea [MIRROR] [IDB IGNORE] Renames the inhand/misc folder to inhand/items [MDB IGNORE] (#15956)
* [IDB IGNORE] Renames the inhand/misc folder to inhand/items (#69573)

Also adds balloons to inhand/items

* [IDB IGNORE] Renames the inhand/misc folder to inhand/items

* update modular

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 15:29:47 +01:00
SkyratBot
30624992cc [MIRROR] Bureaucracy logging [MDB IGNORE] (#16014)
* Bureaucracy logging (#69554)

Sent fax messages' contents and printing out books is now logged to paper.log.
Renaming fax machines is logged to game.log (and to individual players' logs).

Mostly because I was annoyed earlier looking for who printed out books. And then faxes seemed like a logical continuation.
Plus it seems like an interesting way to see how often certain books are printed out!

* Bureaucracy logging

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2022-09-04 03:38:27 +01:00
SkyratBot
bbd2f69455 [MIRROR] Paper bins now create paper dynamically, rather than creating thousands of pieces of paper on init every round [MDB IGNORE] (#16038)
* Paper bins now create paper dynamically, rather than creating thousands of pieces of paper on init every round (#69586)

* Paper bins now create paper dynamically, rather than creating thousands of pieces of paper on init every round

* Fix hard del, fix static initialization

* Fix fire_act not using paper_stack

* Paper bins now create paper dynamically, rather than creating thousands of pieces of paper on init every round

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-09-04 03:34:48 +01: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
1eca20e0c4 [MIRROR] Adjusts Charcoal Stylus Crafting Time to use SECONDS [MDB IGNORE] (#15796)
* Adjusts Charcoal Stylus Crafting Time to use SECONDS (#69414)

Hey there,

I was code-diving looking, and apparently we have these nifty pencil analogues. However, they used a decisecond time define instead of the nice SECONDS macro, which is not nifty. Let's fix that real fast.

* Adjusts Charcoal Stylus Crafting Time to use SECONDS

Co-authored-by: san7890 <the@san7890.com>
2022-08-25 14:51:30 +01:00
SkyratBot
432d8f6581 [MIRROR] [MDB IGNORE] Fix ticket machines behaving unexpectedly and causing runtimes [MDB IGNORE] (#15824)
* [MDB IGNORE] Fix ticket machines behaving unexpectedly and causing runtimes (#69406)

* Adds a unique ID to the ticket machine in an icebox ruin, preventing it from getting mixed up with the HoP's.
* Adds more text on examining ticket machines and the tickets from them, allowing people to know what position in queue they are.
* Tickets now properly display their number, and is named after their position in queue.
* Adds more user alerts to certain actions around the ticket machine, such as when there are no more people in queue.

* [MDB IGNORE] Fix ticket machines behaving unexpectedly and causing runtimes

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
2022-08-25 14:48:20 +01:00