Commit Graph

2710 Commits

Author SHA1 Message Date
Null 6308712001 Further reduced mail generation. 2020-11-28 02:14:01 +01:00
Null 1508f5045d Fixed empty mail 2020-11-27 14:33:18 +01:00
Null 27acbc51f8 Throttle mail, add botanist and some sec loot 2020-11-27 13:21:19 +01:00
Null 81c065e9d3 Seriously tuned down how much mail gets made. 2020-11-27 00:56:41 +01:00
Null 7d3d3d8f01 tgui merge / typo fix 2020-11-26 22:39:56 +01:00
Null 4b40083cd4 Merge branch 'master' of https://github.com/tgstation/tgstation 2020-11-26 22:39:18 +01:00
Null 8f478ceef2 Cargo mail update. 2020-11-26 22:34:38 +01:00
Bobbahbrown 9f0640c414 Remove the hyphen from the default value of the github url string (no longer -tg-station) (#55136) 2020-11-26 14:42:54 +00:00
ArcaneMusic bf39caca6a Refactors Pastries into newfood. (#54996)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Floyd <Floydje123@hotmail.com>
2020-11-24 16:18:10 -08:00
Null e38c619ee4 Unreverted removal of Box Station
My initial reversion had never resulted in the map appearing in the game. Despite apprehension with Ice Box, it's actually not as bad as I thought it was. Box isn't maintained upstream so dealing with it would suck.
2020-11-16 08:59:30 +01:00
Null d3f08b3235 Merge branch 'master' of https://github.com/tgstation/tgstation 2020-11-16 08:40:05 +01:00
Kyle Spier-Swenson ea363e7b01 Fix client time timers duplicating if any client time timer caused a stack overflow. (#54977)
* Fix client time timers duplicating if any client time timer caused a stack overflow.
2020-11-16 05:05:21 +00:00
Null bd260131d4 Merge branch 'master' of https://github.com/tgstation/tgstation 2020-11-15 11:32:08 +01:00
Timberpoes 3475080f21 [TM Candidate] Fix a number of atmos-related runtimes through pipeline and SSair tweaks. (#54804)
* Feex

* Moar feex
2020-11-14 20:07:30 -05:00
Null 3e0b66dec1 Remove 7 sec jobs at round start to prefer departmental jobs. 2020-11-14 19:49:01 +01:00
Null 5c7a32fc97 Merge branch 'master' of https://github.com/tgstation/tgstation 2020-11-14 11:05:45 +01:00
ArcaneMusic 816fe2e1e3 Arconomy: Amputating the Invisible Hand of Income. (#54161)
* Final Stage Capitalism.

* tweaks.

* Got overzelous in my fervor for blood

* well, this now has my full attention.

* Whoops missed a <<

* fixes issue because there were changes I missed

* Cobby: Departmental income is static.

* Whoops

* Various high cost premium prices and a few custom_prices have been adjusted to better suit the lack of income. Code cleanup on income so they're all in-line with cargo.

* First, this has been atomized out.

* UI is now fixed as god intended.

* Actually no, this is dynamic now. No more confusion.

* Conflicts fixed.

* Apply suggestions from code review

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

* tgui recompile.

* Hopefully aquires that green checkmark.

* --fixes the spacing.

* var cleanup and departmental budget assignment cleanup.

* merge conflict fix

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-11-13 16:32:09 -05:00
Null 6ce4d63927 Merge branch 'rnd-reform' 2020-11-13 18:16:03 +01:00
Null 9fb000100f Merge branch 'master' of https://github.com/tgstation/tgstation 2020-11-13 18:15:57 +01:00
Null cc236e2a8c A modest R&D reform. 2020-11-13 16:49:55 +01:00
Rob Bailey 505881b188 Performance Logging no longer produces broken csv files (#54894)
Also better file names so it's easier to mass scrape them.
2020-11-10 09:26:31 -05:00
Null e02bbaeed3 Merge branch 'master' of https://github.com/tgstation/tgstation 2020-11-09 13:38:27 +01:00
TemporalOroboros edd6500d78 /obj/screen --> /atom/movable/screen (#54403)
Repaths screen objects to /atom/movable
2020-11-08 23:07:15 -03:00
Bobbahbrown cdd2c10124 Fix erroneous logging of config errors for str_list configuration type (#54676)
Fixed issue brought up by @Cyberboss wherein the new ``str_list`` config type doesn't properly return true after setting the values and as a result has an erroneous error pop up in the config error log.
2020-11-08 19:51:52 -05:00
Null 1f33012976 Merge branch 'master' of https://github.com/tgstation/tgstation 2020-11-08 17:18:59 +01:00
Rob Bailey a6ffa29818 performance logging (#54809)
Dumps a bunch of perf info to a csv every 10 seconds.

Currently this info is only stored in blackbox where it's effectively useless.
csv is a very easy to parse format and is natively supported by a lot of data analysis tools
2020-11-07 20:22:48 -08:00
Null 78e3f010e6 Removed config option for department wiring and comment out.
See: https://github.com/tgstation/tgstation/pull/54826
2020-11-06 10:42:12 +01:00
Null 50be4281a5 Added config option to disable department wiring. 2020-11-05 20:05:24 +01:00
Null b56836217f Restored Box and made it the default map again. 2020-11-04 21:34:33 +01:00
Qustinnus 6424b6136e Turns transparency for turfs into an element, and gives it to datum materials. (#54250) 2020-11-03 15:05:54 -08:00
WarlockD f15bcc4692 Initialize and LateInitialize runs correctly at round start (#54594)
I've been pulling my hair out on this one. Ever since I started my ntnet project, I could never get LateInitalize to work right. Apparently it has never worked right. How it was set up before on server start

    Station map loads, Does NOT run Initialize(mapload = TRUE)
    Generates space, lavaland/icebox ruins
    Loads a ruin, DOES run Initialize(mapload = TRUE) EXCEPT on areas
    End of mapping system
    Atom system Initialized and it checks and runs Initialize(mapload = TRUE) on world

You see the issue? Initialize and by extension LateInitialize is run in blocks. Worst, LateInitialize is run on turfs FIRST in ruins BEFORE Initialize is ever run on the other atoms. While there isn't much in Area, there is map_generator so I am sure it caused some grief for map creators.

The NEW order now is

    Station map loads, Does NOT run Initialize(mapload = TRUE)
    Generates space, lavaland/icebox ruins
    Loads a ruin, Does NOT run Initialize(mapload = TRUE)
    End of mapping system
    Atom system Initialized and it checks and runs Initialize(mapload = TRUE) on world

Also if you dynamicly load a map, like snowdin or such, it will Initialize all atoms at once and then run LateInitialize properly
2020-10-26 12:26:46 -03:00
Bobbahbrown 4e48e1379d Interview System / Soft Panic Bunker (#54465)
About The Pull Request

Ports and improves my interview system that has been previously used in the summer ball and toolbox tournament events. Allows for a 'softer' panic bunker, wherein players who fall below the required living time limit can still join the server and be restricted to filling out a questionnaire. Upon completing the questionnaire, the player may be allowed into the server by an administrator. If the application is approved, they get a notification that they will be reconnected and upon reconnecting will have all verbs as they usually would. If the application is denied the user is put on a cooldown after which they may submit a new questionnaire.

Players who are being interviewed (herein interviewees) have no verbs other than those required for the stat panel to function, as well as a verb to pull up the interview panel. Interviews do not persist through restarts, and the ability to join that is granted by an accepted interview is only valid for the duration of that round.

Open interviews are listed under a new 'interviews' tab for admins, which is VERY similar to the existing tickets tab.

Below is what a player who is flagged as an interviewee will see when they join the server. They can do nothing but respond to the questionnaire or leave.
image

This is what an administrator sees after an interview is submitted, they will also see a corresponding message within their chatbox, and an age-old BWOINK when an interview is submitted.
image

The interviews tab, which is similar to the tickets menu. You can open the interview manager panel to view all active (including non-submitted) interviews, queued (submitted) interviews, and closed interviews.

image
FAQ:

What happens if someone submits an interview when no admins are on? It's treated like adminhelps are, the message gets sent to TGS to be dispatched off to configured end-points (like Discord or IRC), and the user is notified that their interview was handled this way.

Can you configure the questions? Yes, in config/ there is now a interviews.txt file in which the welcome message and the individual questions can be set and modified.

Can this be turned on and off during a round? Yes, it can be toggled like the panic bunker. It requires the panic bunker to be raised in order to function.

Can interviewees have further questions asked to them? Yes, if you admin-pm them, which is possible using regular means or a conveniently placed button on the interview UI, they will be able to respond to the message.
Technical details

To use the interview system you must have the panic bunker enabled, this is an additional setting for the panic bunker. It can be set through the PANIC_BUNKER_INTERVIEW setting in config.txt, or alternatively enabled in-game as prompted during the panic bunker toggling process. It also can be toggled on its own using a verb added for this purpose, Toggle PB Interviews found under the server tab. These new actions are included in the logging for the panic bunker. I have also added a reporting stat to the world topic status keyword, which now reports if the interview system is on using the keyword interviews.

As mentioned above, for server operators, configure the questions and welcome message in config/interviews.txt.

Note to maintainers and those with big brains I had to add a call to init_verbs on the stat panel window being ready because seemingly a race condition exists wherein the add_verb of the 'view my interview' verb doesn't cause a refresh of the tabs (and therefore doesn't show the 'Interview' tab) when running in dream daemon but running it directly from visual studio code properly shows the tab. Adding a init_verbs call directly after adding the verb didn't seem to help.
A note for downstreams

If you don't use the HTML stat panel (which may not be a bad thing) then you will have to do some conversion from the HTML stat panel stuff used here to the old style stat panels. It's pretty trivial, but just be aware of that. You can see how I used to use the old stat panels in my PR from the summer ball, here, which should be helpful.
Why It's Good For The Game

This allows for a softer version of the panic bunker which impedes the flow of malicious players while allowing genuine players a chance to enter a round to gain enough time to not be affected by the panic bunker's restrictions.
Changelog

🆑 bobbahbrown
add: Added the interview system, a 'soft' panic bunker which lets players who would normally be blocked from joining be interviewed by admins to be selectively allowed to play.
/🆑
2020-10-25 14:10:06 +13:00
Qustinnus 74755a5a3a Audio falloff re-work, and increased audio range. (#54362)
imo; the ss13 audio-scape is quite barren, you can only hear most things if you can see them, which in my opinion doesn't make much sense. This changes that so you can hear further away, but falloff is much higher, so in reality you will only hear things relatively quietly when they're out of sight.

This PR increases the hearing distance of most sound by 9, excluding sounds such as antag items that are meant to be used stealthily

This PR also replaces Byond's inbuilt falloff system with something I made, (And thanks to potato for helping me throw together a formula for it). This fall-off system makes sound fall off more naturally, with sounds being full volume within a certain range, and then softly falling off until they are completely quiet. This makes for a smoother transition between "This sound is full volume" and "I dont hear this sound".

Co-authored-by: ff <ff>
2020-10-20 17:14:16 -07:00
Ghom 8eb866fee3 SSeconomy/var/bank_accounts is now an association list of account identifiers and datums for O(1) performance (#54430)
Title. Also added some precautions to bank_account/new() and the crab17 gear.
The fact the majority of functions pertinent to the bank_accounts list was O(n) disquieted me.
2020-10-18 20:47:06 -03:00
ShizCalev b720bcd63d adds more cursed animal masks (#53539)
Animal masks refactor
2020-10-15 22:16:00 +02:00
ZeWaka 9629feed35 Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
2020-10-13 16:43:53 -03:00
LemonInTheDark ca0be3a5f9 Adds a living time config to the panic bunker (#54341)
* Adds a living time value to the panic bunker, so you can keep people out based on time spent playing the game

* updates the admin verb, and enables %minutes% as an option

* Makes a proc call more clear

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

* than

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-10-13 11:00:20 -04:00
Jared-Fogle f951aa0c6d tgui: Communications Console (#54220)
* Start of work

* More work

* Finish visuals for main page for AIs, start work on behavior

* More functionality--authenticating and calling shuttle

* Set security level

* Message list

* Purchasing shuttles

* Emagging, messaing associates, nuke codes, permission fixes

* Sending message to allied sectors (done?)

* CentComm -> CentCom

* Resolve part of feedback

* Remove now unused pageComponent variable

* Change children to not use array

* Split lines

* Flex box allied stations

* Don't use ternary

* Fix lints

* Rebuild tgui

* Change icon to biohazard

* Clean up color property

* Rebuild tgui
2020-10-13 09:55:42 +03:00
Ryll Ryll 9d5a3ceba0 Temporal Scarring is now per-character-slot, changelings now fake scars when disguising (#54311) 2020-10-12 13:39:44 -07:00
TemporalOroboros cab4313b29 Adds Alloy Materials (#53623)
Adds and implements alloy materials

Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.

Materials added:
    Plasteel
    Plastitanium
    Plasmaglass
    Titaniumglass
    Plastitanium Glass
    Alien Alloy

Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.

Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.

(Lemons note: Adds a regeneration component, used for alien alloy)
2020-10-09 12:23:40 -07:00
ArcaneMusic d8177711f5 Mice properly spawn in maintenance during the migration event. (#54243)
fix: Mice properly spawn during the mouse migration event.
Fixes #54242 .
2020-10-09 08:14:39 +01:00
Dennok d7a0d45082 Fix shuttle loader (#54200)
Set mode = SHUTTLE_PREARRIVAL to shuttle that initially placed to transit docking port.
No more SSshuttles delete transit for half loaded shuttle

Fix #54232
2020-10-08 10:18:21 +01:00
ArcaneMusic efe62dfaba Cleans up rat related features and makes Regal Ratking a rare spawn from mouse migration event. (#54191) 2020-10-07 11:55:42 -07:00
Dennok 516a3e5bdc Some shuttes rework. Allow many shuttles of one template to work at the same time. (#53993)
* add replace button to shuttle panel

load button now only load new shuttle

* shuttle teplate loads as shuttle

* new shuttle console connects to shuttle

* new navigation computer connect to shurrle

* docking_port id now unique

add count to id if id already in work

* many docks from one base tenplate

* up

* fix unregister

* up

* up

* up

* block multiple shuttle loading

* return preview button

* up  id generation
2020-10-06 00:20:15 +03:00
Bobbahbrown 7b1bed7fc0 Adds Cross-Server Communication Network Option (PAID* CODE) (#54070) 2020-09-30 22:25:54 -07:00
Qustinnus eca964db35 Ports soup, snacks, icecream, salads and meat to newfood (#54028)
Ports soup, snacks, icecream, salads and meat to newfood
2020-09-29 20:36:27 -07:00
Couls ed02f99f92 Communication hotfix (#54084) 2020-09-29 15:28:22 -07:00
Couls 1432662d57 Rebindable communication(OOC, Say, Me) (#54035)
OOC, Say and Me is now rebindable
2020-09-29 13:07:03 -03:00
Bobbahbrown 0d5d5af0e5 Restyles Stat Panel, Adds Subpanel Sub-Categories (#53947)
I re-styled the CSS for the stat panel in hopes to make it look nice, and I also added the ability to use sub-categories (currently a single level) of verbs using a . (period), an example being Admin.Fun instead of the previous Admin - Fun. This now results in a sub-category being automagically generated in the stat panel.
2020-09-29 06:36:14 -03:00
Hulkamania c6a94683c6 Cross server evacuation messages now include the evacuation reason (#53980)
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-09-29 01:21:12 -07:00