Commit Graph

122 Commits

Author SHA1 Message Date
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
zxaber
185e85f32b Notification support in modular computer apps and CIMS (#54724)
Allows modPC programs to send alerts, and adds a proc in the computer object to handle playing the sound effect and sending a message to visible users. These notifications can be muted on a per-program basis. Programs can also set themselves to highlighted in the NTOS Main menu; this is intended to be used along side alerts, but really can be used any time a program wishes to tell the user there is new information.

NT CIMS (SM monitor) now plays an alert during SM delaminations if the app is closed. The app must have had an SM selected before closing, or it will not send alerts. Notifications are sent when the SM makes a radio alert. If the app is currently the active program, the app will instead send a notification just once, when the SM begins delamination, so as to not annoy engineers that are already aware of the issue.
2020-11-18 09:43:19 +02:00
TemporalOroboros
edd6500d78 /obj/screen --> /atom/movable/screen (#54403)
Repaths screen objects to /atom/movable
2020-11-08 23:07:15 -03:00
ArcaneMusic
7eba7c4930 Arconomy: Civilian Bounty Redux and full replacement of cargo bounties. (#54029)
Alright, this is a functional rework for civilian bounties, which should serve a few purposes:

Cargo has a reason to actually keep working and stay within cargo.
Makes cargo bounties far more integrated into the round as opposed to being a static list of soft goals, being personalized to those who would actually do a bounty for the station.
Still make civilian bounties the prime, sirloin steak method for regular crew to make money.
So here's the 4-11:
Static cargo bounties have been removed, in favor of the new system of civilian bounties. That means that both the bounties app and the bounty console have been removed.

Civilian bounties have been buffed. They are no longer affected by inflation, but when your bounty is completed, you will recieve a "bounty cube". To receive the cash you would have received for the bounty (10% of the civilian bounty), that bounty cube must be shipped off the cargo shuttle, and using the magic of the price tag component, you make your cut, and cargo makes their 90%, ensuring that you'll actually see your money (for once!).

Civilian bounties are now independent of department budgets, in preparation for departmental purchases, so now you can more freely benefit from doing civilian bounties to buy things! (See #53881)

Non-mining cargo department crew now have fully randomized bounties, to give them stationwide goals for bounty hunting.

As an added benefit, the icon for bounty cubes basically screams value, so hopefully crewmembers will see it and instantly think to sell it.
2020-10-22 20:03:04 +03:00
ArcaneMusic
1b7189d63d Arcononomy: Personal Departmental Cargo Ordering (#53881)
Alright crew, here's the 4-11. This adds a new Modular Computer app, that works functionally identically to the cargo console. but before we delve into that, lets hit the adjacent aspects first.

Cargo Packs now contain a new variable, access_view, that is only applied to cargo packs viewed in this app. It determines the access level required to be able to see those individual packs, in the same way that you need certain accesses to open certain crates anyway. This means that outside of certain inter-departmental crates that see overlap in who can/should be able to order it, heads can browse and purchase crates based on their department's needs and wants.

The cargo ordering console has been renamed on the DM side. Because now that there's another, similar cargo ordering DM that was going to get confusing fast, as just calling it "Console" gets on my nerves and is harder to spot on VSC for me and everyone going forward forever.

Cool, back to buying stuff. heads of staff can download the cargo ordering app on tablets and laptops only, and it gives them access to purchase cargo using their department funds. These purchases are made against the user's department budget, and enables purchasing supplies with cargo without needing to beg them to use their money on your junk, adding it fully to the cargo shuttle's next load, while still giving cargo the first right to refusal if they wanted to, for some reason.
From there on out, cargo's responsibility is primarily getting the goods you bought to you, which is technically already their job!.
2020-10-15 17:30:50 +03: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
Qustinnus
1df07cbae1 Adds a bunch of looping audio to computers, grav-gen and telecomms. (#54324) 2020-10-12 13:37:56 -07:00
ArcaneMusic
c28c57c953 Arconomy: Trims out some of the worst bounties, replaces them with tasks that require basic amounts of effort. (#54097)
add: Science has been given a more experimentally themed set of bounties.
del: Much of the old science bounties were discontinued.
del: ...As have the glass shard and cheese honker assistant bounties.
2020-10-07 12:39:09 +01:00
zxaber
c03c4f364c Unhardcodes Modular PC icons (#54158)
* Changes modPC program icons to not be hardcoded

* icons

* tgui.bundle.js, we meet again
2020-10-04 14:38:07 +03:00
zxaber
75ce411c3b Fixes borg flashlight color picker not working (#53996) 2020-09-29 19:23:18 -07:00
Rohesie
3cc7733f34 Moblity refactor: hands blocked and restrained edition. (#53981)
Splits the restrained() proc into component traits: TRAIT_HANDS_BLOCKED for the general inability to use hands and TRAIT_RESTRAINED for the more specific condition that permits arrests.
    Code moved away from the update_mobility() proc so it doesn't have to wait for an update, instead changing based on events. The idea is to eventually kill that proc.
    Wrapper proc added for setting the handcuffed value so we can react to the event of it changing.
    Kills the RestrainedClickOn() proc. That is now just an UnarmedAttack(), in where the ability to use hands can be checked. Monkeys keep their bite attack and humans their self-examine.
2020-09-29 11:23:43 +01:00
Timberpoes
1f23cc281d Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
2020-09-26 11:52:39 -03:00
zxaber
8e98391dfb tgui: Borg tablets and RoboTact as a borg self-management app (#53373)
* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* take one

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* part 2

* Automatic changelog compile [ci skip]

* part 3

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* part three I think

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* who even knows what step I'm on anymore

* and another one

* Automatic changelog compile [ci skip]

* PR time

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Forward Progress

* Automatic changelog compile [ci skip]

* Merge remote-tracking branch 'upstream/master' into SiliScreen

* more foward progress

* RoboTact

* bad tab

* Improvements all around

Plus some changes to vis_overlay to allow for color

* Lights and things

* borg network card

borg tablets lose networking when borg is locked or has no power

* hud changes

not done yet, but getting close

* better modPC screen button

* updoot

* more useful colors

* linter

* Do I finally get a green ✓

* better law sync catching

* hate linters

Co-authored-by: Changelogs <action@github.com>
2020-09-24 13:13:52 +03:00
Timberpoes
29e8852428 Fix runtime with NTOS apps and improve code involved (#53779)
There exists a specific state where ui.open() can be called yet the 
result would be a null window and such behaviour would be intentional. 
The following CRASH in ui.send_asset() would thus be misleading, 
because send_asset() was called after open().

This PR adds more information to the CRASH about when the failure state 
can occur, makes open() return a value based on whether it actually 
opened a new pooled window or not, and makes sure modular computer apps 
don't send_assets unless a new pooled window was created.
2020-09-17 17:46:33 -07:00
zxaber
53c85f5d48 Fixes a runtime for ModPCs running Plexagon Access Management without a secondary card slot (#53597)
As said by the title.

Also fixes an oversight where the Plexagon HR Core app (job management) was reading worn ID rather than inserted ID.

Also adds names to differentiate between primary and secondary card readers so both show on the screwdriver remove menu.

Also makes using IDs on a modPC actually call the InsertID proc, so that having the secondary ID come first in the list of parts doesn't give it priority.
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-09-11 03:26:39 +01:00
Donkie
53b212ddf2 Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component
2020-09-08 10:24:05 +02:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
TemporalOroboros
6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
zxaber
94c4367ede Support for expansion-class modPC hardware (#52644)
* Support for expansion-class modPC hardware

* end of the line

* As requested

Did anyone know that the tablet vendor was attaching the wrong ModPC printer? I bet no one knew that.

* update
2020-08-11 13:40:05 +03:00
Rohesie
6ff08e1c69 Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
2020-08-04 13:59:48 +12:00
zxaber
215ef5c6f3 Replaces modular computer card eject verbs with UI buttons (#52489)
* Replaces mod-CPU card eject verbs with UI buttons

* ?
2020-07-31 04:18:35 +03:00
Aleksej Komarov
8a12f15f40 tgui: Fixes assets, CDN support (#52321)
* tgui: Better asset code, CDN support

* Rebuild tgui

* µ-fix
2020-07-19 00:28:00 -07:00
Ryll-Ryll
1f31064c3e Merge remote-tracking branch 'tgstation/master' into who-named-this-damned-proc 2020-07-16 21:43:14 -04:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
Ryll-Ryll
fc0b247738 rename 2020-07-11 23:23:23 -04:00
ShizCalev
c9b87df67e Fixes inducers not working on some stuff due to missing get_cell() checks 2020-07-03 01:13:07 -04:00
ArcaneMusic
94e3bb9b12 Converts the Cargo Bounties UI to TGUI and adds a modular app for it. (#51509)
* How did this take me like 3 hours but the bounty UI took 4 weeks like fuck

* Uses style's suggestions for UI cleanup.

* Rebuild TGUI

* Squiggly Brackets No. 1

* Squiggly Brackets No. 2

* Rebuilds tgui also sorry style I got lazy

* Another tgui update

* GREP?

* Rebuilds tgui again

* Rebuild yet again

* How'd you like a nice tender lambchop?

* Take me HOOOOOOOME country ROOOOOADS

* Updates with Anturk's changes.

* Removes unnecessary flex element

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-06-28 11:56:03 +02:00
zxaber
4156b79b94 Adds Syndicate tablets, replaces the pinpointer used by Nuke Ops (#51386)
* Synux

* cleanup

* I bet this merge conflicts

we hate tgui.bundle

* extra bits

* Syndix

* small fixes

* Summary (required)

* this linter drives me up the wall

* final touchups

* Forgot this thing
2020-06-22 16:24:43 -03:00
ArcaneMusic
6ac1f5f9d2 Tools for your belt. (#51328) 2020-05-29 13:12:23 +08:00
actioninja
b5dfd8880d id to component name 2020-04-19 19:36:35 +03:00
Fikou
a59e4fb1b5 merges civilian and service departments (#50142)
* merges the service and civilian departments

* yee haw
2020-03-26 22:05:28 +08:00
kingofkosmos
79c5a80ca0 Visible_messages verb time tenses changed to present. 2020-03-16 14:55:25 +02:00
spookydonut
319ca52545 removing unnecesary double parent proc calls (#49694)
* removing unnecesary double parent proc calls

* i made an oopsie
2020-03-05 18:51:37 +08:00
AnturK
a2ff959950 Batch of runtime fixes. (#49568)
* Fixes secret sauce recipe paper.

* Fixes say runtime

* Fixes modular computer on holodeck runtime

* Fixes bee runtime

* Fixes grav holopara runtime

* Fixes olfaction runtime

* Fixes zombie runtime.

* Cleanup
2020-02-26 20:47:31 +08:00
Rob Bailey
e2e6a96d65 TGUI-NEXT: THE FINAL RECKONING (#49326)
* fuck it we're done

initial refactoring

wip

fasdf

ai restorer and file manager

fuck it we're done

* small fixes

* rebuild
2020-02-13 23:29:13 -05:00
MrPerson
26093e5ac2 Further update_icon splitup (#48784)
* Further update_icon splitup

After this there'll be just under 100 old update_icon() calls that need fixing.

* Thanks Travis
2020-01-22 10:18:05 -05:00
AnturK
c06a1324b3 Another bunch of runtime fixes. (#48315)
* Pipe init runtime

* Modular computer explosion runtime.

* Waterbottle thrown by explosion runtime.

* Spark runtime. Should systems continue after deletion ?

* restore ghost appearance runtime

* parallax update timer runtime.

* borg unbuckling runtime

* surgery cancel runtime. FALSE is not a null.

* relic self deletion runtime.

* dog collar runtime

* Another part of that buckled_mobs robot runtime.

* Let's go over all of these

* free ()

Co-Authored-By: MrPerson <spamtaffic@gmail.com>

Co-authored-by: MrPerson <spamtaffic@gmail.com>
2019-12-21 18:28:19 +01:00
spookydonut
175439f63a Removes unreachable code (#48143)
About The Pull Request

As detected by SpaceManiac/SpacemanDMM#123
2019-12-10 20:52:13 +13:00
ArcaneMusic
9dd407924a Adds a new App for Modular Computers, the NTOS Arcade. (#47862)
Hey you, punk Are you hip with modular computers?
...What's that, you think there's nothing to do on that old tablet of yours? Whoah brochacho, don't dump that tablet in the trash, and check out the new gaming app that's sweeping the station!
2019-11-26 13:15:05 +02:00
Aleksej Komarov
ac1f4d74c6 More NtOS interfaces, random fixes, client-side theming (#47836)
* General tgui fixes

* Handle ui_style on client side

* NtOS Net Downloader

* Rebuild tgui

* Fix regression on Tabs

* Fix bools
2019-11-20 19:54:24 -08:00
Aleksej Komarov
e87b6c6701 Tgui error reporting, Keyboard passthrough, RPD, NtOS, Power Monitor (#47749)
* Improve tgui fatal error reporting

* Keyboard passthrough in tgui

* New Rapid Pipe Dispenser interface

* Update README with new components

* Release held keys when browser window loses focus

* Power Monitor Interface, NtOS theme and core components

* Yet another CSS rework

* Fix Table, Chart stubs for IE8

* NtOS Main interface

* Supermatter Monitor interface

* Tweak NT color, color + sort gas bars
2019-11-16 04:02:33 -08:00
spookydonut
2591ce17a6 Travis EOF newline detection v3 (#47539)
* scream

* aaa

* aaa

* new one
2019-11-04 19:16:50 -08:00
Rohesie
9dd28d5180 ID fix (#47387) 2019-10-30 16:17:55 -07:00
spessbandit
e3d1e5c53e ghosts can't use monitors; dextrous animals can climb crates; fixes atrocious spelling (#47262) 2019-10-22 04:37:35 -07:00
skoglol
938e66f62c Adds sorting to most input() lists (#47117)
* Adds sorting to most input() lists.

* Sorted some global lists, added more input sorting

* Should now use correct sort everywhere.

* compiles

* Last fixes.
2019-10-22 04:28:42 -07:00
Qustinnus
a394ccdc2b Material datum chairs & tables and applies materials to all items (Now with less pain for mining & RnD) (#46525)
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)

this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.

also applies materials to everything, with fixes, which can close #46299
2019-10-08 11:06:02 -04:00
kingofkosmos
df1fecc58c Adds notice-span to visible_messages with no spans (#46044)
About The Pull Request

Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game

This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
2019-08-26 20:50:00 +12:00
Akrilla
9ca37e9169 Contract rerolls and general enhancements (#45703)
* refactor wip

* rerolling and qol

* space not valid

* travis be nice

* comment?

* new tablet sprites

* Start on uplink screen

* new suit sprite

* paper

* merge conflict

* Auto stash before merge of "contract-reroll" and "tgstation/master"
2019-08-10 02:11:11 -07:00
vuonojenmustaturska
8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
Akrilla
041680be63 [READY] Syndicate Contracts (#44420)
* Emag bounty computer to show contract connection

* Corrupted text helper

* WIP on corrupted text

* Randomly corrupt text when looking at connect screen

* Barebones accessible Syndicate bounties screen

* Contract barebones and Synd UI work

* Further text changes, antag checks

* Further UI changes, full contract generation with areas/target

* dropoff point checks, and move to uplink item for requesting bounties

* WIP contract uplink item

* Contract uplink and continued contract improvements

* Completed contract uplink, and continued contract work

* Droppod WIP

* Further droppod work

* Mob WIP

* Further mob WIP

* No mob

* Callback for putting in mob

* Further WIP with pod checks

* Better location picking and signal fix

* Further pod changes, WIP of payouts

* Overall finished payment/contract system

* Code cleanup


Revert changes to bounty console


Remove debug messages

* Small refactor

* Add kit with set and randomised items.

* Fix box

* Very minor flavor text for inserting into pod, plus roundend text

* Pod return sound

* Contract uplink slight styling changes

* We don't keep giving telecrystals until they literally can't hold anymore

* Ship them off to ninja base instead

* Nerf bring them dead, but give a nice boost for bring them alive

Overall this is a nerf, so we also throw in an agent card to the bundle

* Ship them back

* Minor text changes and slight TC change

* Always give the black and red variant space suit

* Error sounds

* Dropoff area locator

There's sometimes duplicates, i.e. security office - but only one of them will work. This shows you where to go.

* Small fixes

* Bugfix, further changing of TC

* Ransom wip

* Ransom system

* Few changes

* Properly pay for ransoms and appropriate logic for dropoffs

* Terminal sounds

* Talk on command channel when ransom is given, or if they were too late

* Change to announce system

* Announcements/auto pay ransom

* Proper wait

* Name pods properly

* Don't send blacklisted items

* fix

* Improvements

* Announcements are less huge...

* Not a file...

* Improvement

* Drop them not in a wall

* Halves eye blur and styles payment vend

* No memes allowed
2019-06-17 20:32:46 +02:00