Commit Graph

1962 Commits

Author SHA1 Message Date
ArcaneMusic
6a461dff81 Arconomy Adjacent Content: Newscaster Refactor Omega (#65038)
This PR moves the in-game Newscaster over to TGUI, which is one the most bothersome html to tgui projects on the codebase being that it's gone untouched for like... over 4 years now after the introduction of tgui. Newscasters are widely used in-game by players wanting to be deranged whistleblowers, noir detectives, and journalists. They're flavorful, fun, and we still use an html window to make them run so it looks like it's from 2003.
2022-03-25 23:42:42 -07:00
vincentiusvin
55336d1e53 Atmos Control Console Refactor (and syndiebase atmos tidyup) (#65372)
Main Takeaways For Mappers:

Use monitored pathed atmos devices very carefully. Also dont put atmos_sensors willy nilly. They are used to hook to atmos control monitors.

We want to keep at most one device broadcasting for each of the atmos sensor, inlets, and outlets. Run the mapping verb Check Atmos Chamber Devices to be sure, though this might not catch everything.

Some of the warning are pretty harmless. For example if you have reconnected the "station atmos monitor" and you get no listener for distro/waste loop warning, it's safe to ignore.

I don't know what the maptainer policy is on making new subtypes for offstation content, but if you do please branch off the general ones instead of the specific gas ones. If you aren't making a new subtype, varedit the general ones too.

About The Pull Request:

Need Would prefer this to be merged before #65271 (In game atmos guide).
Not strictly necessary, just makes me sleep better knowing the handbook wont die alongside the rest of the UI.

Fixes #36668 (Atmos Monitoring Consoles don't update it's sensors to the new tank after reconnect())
Fixes #32122 (Mix console fucked after reconnecting it)

Also made the distro meter thing broadcast more info instead of just the pressure, because I'm sure nobody would care and it would make my life easier.

A small high-level overview in case this breaks again in the future:

A signal datum (not DCS) is sent by the atmospheric devices (injectors and vents) and will be received by the atmos computers. The data is then stored at the monitor object and then passed to the UI. This initial signal is sent by `broadcast_signal()`, called by `atmos_init()`.

New sensors/vents (if you can actually get them in game, still only adminspawn/wrenchables afaik) will also initiate the conversation if atmos_init() is called, so it works fine. This means you need to unwrench and re-wrench the devices if you adminspawn them though, ugh.

In case of a newly built computer, it needs to be the one that prompt the data to the devices, so we send a request signal. This is a bit inefficient since it doesnt work off of callbacks and assocs like DCS, but won't really matter since we're doing this rarely.

We only talk with the injectors and vents when necessary here, while sensors and meters keep beeping with every process_atmos() tick so they rarely break.


Why It's Good For The Game:

Messy code gone (debatable).


Refactored the atmos control console devices. The ones that hook to the big turf chambers.
Distro meter now broadcast the whole gasmix info instead of just pressure to the monitors.
Lavaland syndie's atmos chamber vents are now actually configurable. Moved a few things around to accomodate this.
Lavalannd syndie chambers hooked to distro and moved distro pipe to layer2
atmos monitors can detect reactions now.
Some minor code changes to how anomaly refinery and implosion compressor show the gas info. No changes expected, report if bug.
recoded checks for atmos chamber abnormalities in debug verbs.
2022-03-24 02:12:14 -07:00
LemonInTheDark
dc20fa1c8c Changes the default ghost lighting, makes it a preference (#65352)
* Changes the default ghost lighting, makes it a preference

I think the way ghost lighting looks right now is really crummy.
It's dark enough you can see where the shadows should be, but it's just
bright enough for everything to look like dog poo

A lot of what makes the game look nice is the depth of the lighting
and if we just hide that for observers we're shooting ourselves in the
foot.

I'm also making it a game preference, so if someone wants to have bad
opinions they can easily.
2022-03-10 23:11:28 -08:00
LemonInTheDark
745426eff2 Adds a colorblind accessability testing tool (#65217)
* Adds a colorblind accessability testing tool

I keep finding myself worrying about if things I create will be parsable
for colorblind people. So I've made a debug tool for approximating
different extreme forms of colorblindness.

It's very very much a hack. We can't do the proper correction required
to actually deal directly with long medium and short wavelengths of
light, so we need to rely on approximations. Part of that means say,
bright things being brighter then they ought to be. S not how people
actually experience things, but it's not something we can do anything
about in byond.

Anyway uh, it works by taking color matrixes, and using the plane master
grouping system floyd added to apply them to most all parts of the game
you would want to color correct.

There's some slight fragility here, but I couldn't think of a better way
of handling it.

We also need to deal with planes that have BLEND_MULTIPLY as their
blendmode, since that fucks up the filter. I've come up with a hack for
it, since I wanted to avoid breaking anything.

Oh and since I want it to apply to huds too I added plane masters to
represent them. I think that's about it.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-03-10 16:45:50 -08:00
Fikou
6e8d78125c player playtime improvements (#65272) 2022-03-04 12:17:58 -08:00
Seth Scherer
4e9731712a Dehardcodes SSmapping (#65077)
Essentially SSmapping had a list for each theme of ruin (space, lava,
ice, ice underground). These were all filled with an if statement
checking the ruin templates type. Now, i've given ruins a ruin_type var, which is then used to dynamically add to a single list of ruins, which separates lists of ruins by ruin type.
Good for downstreams who may have more ruin types
Changelog

cl
refactor: Dehardcoded SSmapping ruin types.
/cl
2022-03-02 17:32:43 +13:00
LemonInTheDark
15e9d0485f Adds a seperate pick proc to work on lists (#65178)
Because of how arglist() works, _pick was only working on args matching
the format pick(1, 2 ,3)

Because this is logic that happens inside pick itself, and I can't
figure out the proper way to actually pass things in, I've created
_pick_list so admins have a sane way to pick from lists.
2022-02-27 13:16:38 +00:00
Ryll Ryll
ac2c251a73 Adds linking datums in asay (#65154) 2022-02-26 18:57:14 -08:00
MrMelbert
f20d2b1824 Refactors and fixes summon events/guns/magic (#64970) 2022-02-26 16:05:19 -08:00
Iamgoofball
95801c7035 Fixes some code style issues for more free GBP (#65133) 2022-02-25 00:36:17 -08:00
Iamgoofball
cbeaa81e60 Implements some missing SDQL 2 wrappers. (#65132)
Adds _winset and _winget as byond proc wrappers.
2022-02-25 06:30:40 +00:00
Ryll Ryll
9e8b1794ec Changes asay ping sound (#64994) 2022-02-19 16:43:15 -06:00
Timberpoes
f9428e07c6 Fix BYOND-related runtime in SDQL2 _new wrapper (#64895) 2022-02-18 01:03:47 -08:00
Watermelon914
2b11472f02 Changes what appears for urgent ahelps to supportmins. (#64748)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2022-02-14 16:11:52 -08:00
Aziz Chynaliev
22feb54230 Fix: LogAhelp invalid integer - use ticket ID (#64875) 2022-02-13 14:59:16 -05:00
John Willard
63ae8829d4 Fire breath can be used without the ability to speak (+ code improvement) (#64796) 2022-02-09 21:24:34 -06:00
Ghom
c5d2b2e51e Fixes layering issues brought by the FoV PR. (#63903)
* Fixed most (not all) incorrect planes and layers detected by the unit test.
2022-02-09 19:40:00 +01:00
Jeremiah
30253cf6a8 Tgui input refresh (#64331) 2022-02-05 19:44:59 +02:00
Mothblocks
54ecdcc05b Always disable combo HUD on disassociate (#64662)
* Always disable combo HUD on disassociate

* Useless old comments
2022-02-04 19:36:29 +13:00
Tim
14deaa41ed Remove code/__DEFINES/misc.dm (#63879)
This removes code/__DEFINES/misc.dm and moves all the defines to either:

another existing define file
new define file
local .dm file if the define was only used in one file
I also deleted defines that were not being used and added documentation to all of the ones that were moved out of misc.dm

Why was this needed? People were basically using the misc.dm file as a dumpster to toss all their defines into that was creating one giant mess. The defines have been organized into their proper groups and files now.
2022-01-23 14:30:27 -08:00
LemonInTheDark
f8aad14ae8 Harddel Fix Pack #42 + Better Live Reftracking Support (#63877)
* Hard Del Fixes, Ref Tracking Changes
2022-01-12 22:46:13 +01:00
Ryll Ryll
071b6f05e8 Misc admin tools improvements (#63665)
About The Pull Request

This PR makes a few small tweaks to admin tools that I think frequent users may appreciate.

    Adds the "Find Updated Panel" button to the player panel, which bring up that ckey's newest PP if one exists. Useful for when the person you're inspecting has changed mobs so you don't have to search for their new mob to get their new panel.
    Adds VV and TAG links to all the entries in the Get-Contents right click verb. This should make checking and editing someone's gear easier, since you don't have to VV the person -> their satchel -> their survival box -> their oxygen tank for example, you can just click the VV link for the tank directly.
    Lets you ignore punctuation in the F6 player search menu. This was a request, so if you have a silicon named "H.E.R.A.", you can now pull it up by just searching "hera". Also ignores spaces, but I doubt that'll cause any issues.
2022-01-12 18:58:32 +13:00
Watermelon914
8fd85e9666 [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety (#63588)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: gbfree <guillaumebfree@gmail.com>
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: SuperNovaa41 <supernovaa41@protonmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-01-11 15:47:10 -08:00
Seth Scherer
cb2119a812 Stops the equipment menu from runtiming if the outfit has a skillchip (#63929) 2022-01-11 16:15:18 -05:00
GoldenAlpharex
c6d616ff11 Documents and improves the variable names of the shuttle subsystem (#63946) 2022-01-11 16:08:34 -05:00
Fikou
f169aa5f7d Buffs the Clarke Mech (#63809)
* buffs the clarke mech

* better cooldown

* FUCK

* weed smoke
2022-01-09 11:56:35 -08:00
GoldenAlpharex
c1e77e69e0 Fixes admin deadsay not showing up for admins in the lobby (#63652)
* Fixes admin deadsay not showing up for admins in the lobby

* Applied code review suggestion
2022-01-03 14:49:37 -06:00
Whoneedspacee
155bd7d9ab Mob Abilities (#63520)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-12-31 15:56:26 -08:00
Seth Scherer
add6479183 Possesing a mob no longer lowercases your ckey in admin messages #63686 2021-12-30 18:41:39 -05:00
Jeremiah
9c6fdb567d TGUI list conversions + bug fixes (#63354)
About The Pull Request

    Converts more inputs to TGUI. Possibly all user-facing input lists in the game.
    Did any surrounding text/number inputs as well
    Added null choice support so users can press cancel.
    Added some misc TGUI input fixes
    Fixed custom vendors while I was there

I refactored a lot of code while just poking around.
Primarily, usage of .len in files where I was already working on lists.
Some code was just awful - look at guardian.dm and its non use of early returns
If there are any disputes, I can revert it just fine, those changes are not integral to the PR.
Why It's Good For The Game

Fixes #63629
Fixes #63307
Fixes custom vendors /again/
Text input is more performant.
Part of a long series of TGUI conversion to make the game more visually appealing
Changelog

cl
refactor: The majority of user facing input lists have been converted to TGUI.
refactor: Tgui text inputs now scale with entered input.
fix: Many inputs now properly accept cancelling out of the menu.
fix: Fixes an edge case where users could not press enter on number inputs.
fix: Custom vendor bluescreen.
fix: You can now press ENTER on text inputs without an entry to cancel.
/cl
2021-12-31 11:07:28 +13:00
Fikou
7b38dd4ff7 MODsuits (#59109) 2021-12-24 12:00:24 -08:00
Jeremiah
dcab86ba2c More standard tgui input conversions (#63464) 2021-12-24 13:04:18 +02:00
Jeremiah
415e9dd7c1 Fixes typos in span, other html elements (#63510)
Atomizes a much larger PR for another time...
There are typos in span and other html messages that causes them to not render correctly or at all.
Bug fixes
Converts those instances of span to use the macro
2021-12-23 17:06:01 +00:00
Ghom
12bf03aa08 proximity monitors cleanup (plus connect_range and connect_containers components) (#62755)
I'm refactoring proximity monitors and fields, removing lots of bloat from both that's hardly even used. Proximity monitors no longer generate effect objects to track the surrounding area, should be less cpu expensive and easier to maintain (or phase out), read and use.
This PR also adds a couple components which may be needed for future stuff (for starters, the mirror reflection PR #62638 could use the connect_range comp)

Improving old old, ugly old code and adding some useful backend components. Tested and working.
2021-12-21 23:49:08 -08:00
Jeremiah
d17a60fb53 TGUI input box conversions 2 (#63395)
More text inputs converted to tgui, TGUI text and number input now more sanely handles ENTER key being pressed, you can now press anywhere in the window to enter the input. TGUI text input now considers placeholder text for the default valid state. IE, if there is default text you can press enter immediately without having to rewrite it just to recheck validity. Fixes: useSharedState => useLocalState. not only was sharedstate not needed but it opened up the ui to vulnerabilities
2021-12-15 14:12:04 -08:00
John Willard
2834383245 Makes all default job titles, defines. (#63357)
Jesus christ we were just waiting for someone to misspell something eh?
2021-12-14 17:48:46 -08:00
oranges
df8ff9b77d Fixes the category for the fov admin verb. (#63401)
The Tiananmen Square protests, known as the June Fourth Incident (Chinese: 六四事件; pinyin: liùsì shìjiàn) in China, were student-led demonstrations held in Tiananmen Square, Beijing during 1989. In what is known as the Tiananmen Square Massacre (Chinese: 天安门大屠杀; pinyin: Tiān'ānmén dà túshā), troops armed with assault rifles and accompanied by tanks fired at the demonstrators and those trying to block the military's advance into Tiananmen Square. The protests started on 15 April and were forcibly suppressed on 4 June when the government declared martial law and sent the People's Liberation Army to occupy parts of central Beijing. Estimates of the death toll vary from several hundred to several thousand, with thousands more wounded.
2021-12-14 16:59:55 +13:00
Azarak
680ca7d3b9 Field of View and Blindness improvements [bounty + upstream push] (#63312)
About The Pull Request

I have received exemption from the freeze by Oranges.
This PR was originally done for Skyrat-tg, as a bounty. Oranges took interest and Skyrat people approved taking it upstream so I did. (original PR Skyrat-SS13/Skyrat-tg#9912 )
Features:
This PR adds "field of view" mechanics, which by default don't do anything.
Once you pick up and wear a gas mask you'll notice a cone behind you.
That cone will hide all mobs, projectiles and projectile effects.
HOWEVER... hidden things in the cone (or for people who are blind or nearsighted) will play a visual effect.

The fov cone shadow density can be adjusted

Technicalities:
Originally a component, but by Watermelon's advice I have made this a datumized behaviour instead. (semi-component) This way it is faster, less memory use etc. Once again a component
People have native fov, which can be enabled by a config, by default it's off. (or by an admin verb)
People have fov traits, which add the fov impairings to you, gas masks do that now. All clothes have a support for possibly applying them.
Moves all things that should be hidden onto a new plane which is just above GAME_PLANE, that was we can efficiently filter them out of clients views.
Being dead or extending your eye view (xenobio console) will disable the FOV mask.

This PR was brought to you by Skyrat paying me aswell as rotational mathematics


Why It's Good For The Game

Oranges approves so it's good.
Changelog

cl
add: Gas Masks now limit your field of view
add: Added field of view mechanics. It's darkness can be tweaked by a pref
add: Blind, nearsighted and fov-limited people will now see sounds as visual effects.
/cl
2021-12-14 15:52:52 +13:00
tralezab
b5606b7342 Everyone is traitor now properly malfs the AI (#63217)
Everyone is traitor checks were not considering the new antag datum when malf ai split from traitor
2021-12-06 21:22:00 +00:00
Mothblocks
3c19a826b8 Verify that those clicking on admin statclicks are admins (#63226)
Also removes some unused statclick.

Statclicks need to get removed someday, they're a pain in the ass, but this is good enough for now.
2021-12-05 01:41:19 -08:00
John Willard
5334b9453e borg panel logs to silicon rather than admin (#63055) 2021-12-02 19:08:18 -08:00
Tom
0859caa292 Adds a confirmation prompt for admins resetting the station name (#63197) 2021-12-02 13:48:34 -08:00
Ryll Ryll
b5089e714b Cleans up unnecessary transformation options in admin player panel (#62832)
I got tired of having to walk new admin candidates through the admin buttons and telling them about all of the antiquated buttons they'd never use, so I'm doing my part and removing a bunch of the transformation bloat from the player panel. Below is the current menu
The only button admins I know ever actually use is the human rudimentary transformation one, and literally nothing else. Judging by how the options are a random choice of some of the station pets, these options probably haven't been updated since like 2012. In addition, the non-rudimentary transformations only work if you're a human, so not sure why they show up for non human player panels.
Here's the new pared down selection, I figured these would be the only useful ones from the bunch. They work no matter what mob the target was previously, whether it be another living mob or a ghost. In addition, I also cut out the transformation equivalents from the VV dropdown, because lord knows that menu keeps getting longer and longer. Lastly, I refactored stuff where possible without getting too trapped in cursed pre-MSO era admincode.
2021-12-02 09:29:06 +00:00
ShizCalev
e100f3ca8c Fixes ghosts' boo ability going on cooldown when the light they tried to flicker didn't flick (#62965) 2021-11-23 17:58:43 -08:00
Mothblocks
6ea8b19eb9 Add disabling footstep sounds and parallax to the lag switch panel (#62999)
At the last Toolbox Tournament, @MrStonedOne pointed out some big performance consumers. Some are disablable through easy means, but others were not. This adds two easy ones to the mix.
2021-11-22 23:19:33 -08:00
Nick
2b411035c4 Adds additional DB logging for admin help interactions (#62994)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-11-22 14:53:08 -08:00
Watermelon914
fb8d95a2f5 Allows players to send more visible adminhelps when no admins are on, which'll definitely alert admins (#62711)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-11-20 03:06:50 -08:00
Tastyfish
15d38dc4bf Proper custom job name support (#62803)
* Makes PDA crew manifest and crew monitoring computer respect trims for ordering and sorting

* Fix static typecheck issue

* Added initial rank tracking for IC command
2021-11-18 21:25:55 +01:00
esainane
b0fd0f37b6 Admin: Fix Camera Report verb (#62866)
There is still the potential for false positives since the way diagonal
cameras were made didn't exactly line up with where their direction was.

However, this brings functionality back to parity with before the
dir-sanity PR.
2021-11-17 14:07:46 -08:00
LemonInTheDark
3e692d3c9e Adds debug verbs for grabbing the amount of food and stacks on the station (#62787)
Adds mapping debug verbs that pull info about how many food/stacks are in the world and on the station.
Puts them into happy little html uis to make em easier to read.

A stacks amount is it's actual amount, so the amount of items inside it, rather then the amount of stack groups
2021-11-14 22:41:28 +00:00