Commit Graph

318 Commits

Author SHA1 Message Date
Timberpoes
4f96677768 Adds extended Centcom support for ID console app and misc fixes (#57420)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-06 16:11:14 -08:00
Timberpoes
063764213a Updates tablet computer sechud logic (#57351) 2021-03-03 16:20:08 -08:00
Timberpoes
6b288598d2 Fix inability to demote certain subordinates with the ID card app. (#57317)
The trim system handles the interaction between heads and their air quotes "subordinates" differently. Instead of checking for head_subordinates - Which is a compiled list for who is and isn't a subordinate of who based on job datums - We instead check for the ability to apply a trim's access template to a card.

This means that if you're able to assign a trim's access as a template, you're able to demote that trim too.

This fixes some edge cases like being unable to demote Security Officer (Department) cards because technically Security Officer (Engineering) and Security Officer (Science) aren't real jobs (insert joke here) - They lack job datums and never get assigned as the HoS's subordinates.

This is a much more modular and intuitive way of handling demotions.
2021-03-03 14:03:19 -08:00
TemporalOroboros
a3e6a135f5 Miscellaneous appearance fixes. (#57133)
* Fixes modular computer runtimes

- Adds a proc to eat the source arg of the update icon signal.

* Fixes a couple things not passing the right args

- Fixes the alien leap hallucination passing a string as the first arg to updat_icon
- Fixes the roulette machine passing the payout as the first arg to update_icon.
2021-03-02 15:18:59 -08:00
vincentiusvin
ebf8e540c8 tgui: Total Moles in SM Monitor, Own Defines File (#57270)
Ever wondered why you failed to setup the scrungularity?

Well, wonder no more! The NT CIMS tab has been made to show total moles. The pressure got kicked however, since it's practically useless. The bar also turns red if your SM is eligible for scrung.

Moved the supermatter defines into it's own files too.
2021-03-02 16:18:29 +02:00
Timberpoes
890615856e Fully implements the ID Card design document (#56910)
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-02-28 19:26:45 -08:00
Qustinnus
931a32ffb3 Experi-Sci: Techweb nodes may now require you to perform "scientific" experiments (#54093)
Co-authored-by: Brett Williams <bobbahbrown@gmail.com>
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-23 13:30:24 -08:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
cacogen
468efc4035 Fixes cargo barcode payouts paying 50x what the sale is worth (#56914) 2021-02-17 03:03:07 -08:00
LemonInTheDark
5c22a0cfc1 Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#56847)
Converts many proc overrides to properly use list/modifiers, fixes some spots where modifiers should have been passed, calls modifiers what it is, a lazy list, and cleans up some improper arg names like L, M, C, and N. Oh and I think there was a spot where someone was trying to pass M.name in as a string, but forgot to wrap it in []. I fixed that too.
2021-02-16 09:18:46 -05:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
Mothblocks
eea760a6ce Removes older ID consoles (#56792)
Now that ID consoles have been replaced with modular computers, removes them from the code.
2021-02-11 00:58:45 -03:00
Fhaxaris
6d004ad4dc fix modular id console telekinesis+ai (#56787) 2021-02-10 14:32:15 -08:00
Andrew
1ff541b829 NTDownloader UI revamp (#56704)
Revamp of the software downloader program for modular computers.

Changes:

- Programs are now sorted alphabetically with incompatible ones in the end of the list.
- Installed programs are now displayed in the list.
- Added program icons.
- Moved the error messages in place of the download button.
- Only the most important error message is displayed now. Priority: compatibility, access, free space.
- Syndicate programs are now displayed in the same list, but have a warning message from NT (There are no warning messages on syndicate OS).
- Added program categories to improve navigation. The default option "All" contains items from all categories.
- Download progress bar moved in place of the Disk usage bar. Disk usage is updated only after the download is complete, so the information was inaccurate during download. And the download bar now always visible regardless of selected category.
- The old download progress bar (next to the corresponding program) is replaced with "Downloading" indicator with a spinner.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-02-10 00:24:38 +02:00
Fhaxaris
8b4bb086b3 Replaced all id consoles with modular ones (#56650) 2021-02-08 18:16:04 -03:00
Timberpoes
76042de2b6 Improve ID console name and assignment input (#56662)
reject_bad_name and reject_bad_text doesn't directly sanitize. It's
best not to rely on this proc to sanitize as that's not the point of
it, even though it can sanitize as part of its functioning. Instead,
we explicitly sanitize the input first, then we reject_bad_whatever
on the sanitized input.

It also offers improved feedback to the user instead of failing
silently, and allows numbers as some of our ID cards (For example,
prisoner IDs) have numbers in their registered_names and assignments.
I don't like creating the game world in a state that players cannot
also replicate themselves.

Also swings by the ancient HTML interfaces to bring them up to the
same standard through either sanitizing input or stripping input as
appropriate.
2021-02-07 11:35:36 +00:00
Andrew
db66ac5c50 Various crew tracking fixes (#56591)
Nanite Monitoring program now makes people trackable as if they have enabled their suit sensors, as stated in the program description.

Now you can track people with Nanites Monitoring program using following devices:

    Crew pinpointer (arrow)
    Crew pinpointer - contractor version (arrow)
    Crew pinpointer (proximity)
    Lifeline radar (modular computers software)

Also fixed multi-Z tracking for the first three devices. When the target is on different Z of the same station, it shows "?" icon.

Also, the stationary crew monitor will now work properly on multi-Z stations.
2021-02-05 17:25:13 -08:00
Qustinnus
95731342b9 [READY] Adds station traits: Small modifiers that can randomly be chosen each round (#56309)
This PR adds station traits which are essentially small changes to a normal round that can be used to create small variations in how a round might play out, sometimes there might be only one, very simple trait, but you might have a round where they have a somewhat bigger impact, to make rounds feel slightly more different from each other.

The following traits have been added:
Positive:

    Lucky winner - Free pizza and beer every 6-12 minutes
    Galactic Grant - Larger starting funds for cargo
    Premium internals boxes - emergency box has flare + radio as bonus
    Bountiful bounties - Bounties pay 20% more
    Strong supply lines - Imports 20% cheaper
    Filled maint - More loot in maint
    Fast shuttle - Cargo shuttle is faster
    Free scarves - Free scarfs if a slot is free

Neutral:

    Bananium shipment - Clown starts with 5 sheets of bananium (Neutral because this helps noone but the clown)
    Unnatural atmosphere - Lava planet can get more restricted gasses
    Unique AI - Random lawset at roundstart for AI
    Ian adventure - Ian teleports to a random spot on the station
    Glitched PDAs - PDA's have a different beep
    Announcer intern - Changes the announcement messages to sound like they're from an intern at Centcom

Negative:

    Carp infestation - Carp event is more common and can start earlier
    Weak supply lines - Imports 20% more expensive
    Blackout - Station lights are partially broken around the station
    Empty maint - Less loot in maint
    Overflow bureacracy mistake - Random overflow job (From a vetted list)
    Late Arrivals - Everyone starts in arrivals
    Random spawns - Random spawn location (by drop pod)
    Slow shuttle - Cargo shuttle is slower

Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
2021-02-05 15:49:49 -08:00
Andrew
b1dc1efc6f Fixed NTOS File Manager renaming and deletion (#56613) 2021-02-05 10:13:19 -08:00
Fikou
8d586a7cb0 Rename metal sheets to iron sheets (#56643)
It's a specific type of metal, it shouldnt just be called generic "metal".
The reagent, ore and material datum are already called iron.
2021-02-05 15:48:00 +00:00
silicons
e06bc80172 [s] Sanitizes modular console ID edits (#56657)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-04 12:45:15 -08:00
Qustinnus
707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
dragomagol
f837ce4397 Cyborg modules renamed to models (#56312)
Changes the references of borg module (type) to model, adds a file for robot declarations and one for model declarations. Basically trying to make the code layout a little more sane.

Initially changed them to 'configurations' but I prefer model; its meaning is closer to module than configuration and avoids confusion with actual config.
2021-01-22 21:38:35 +02:00
Timberpoes
4d31e6f2a7 ID Card access change logging, Part 2 (#56155)
I've condensed the logging into a single define, to allow ID card logging to be easily tweaked and to clean up some messy copy-pasted code.

There is no longer admin messaging for Head of Staff accesses, but it's all still logged as it was before.

There is a new option for the Investigate verb.

Which has the complete logging history for ID card changes that are currently tracked, all in one place.

Which admins can ALSO access from Get Current Logs and Get Server Logs for past rounds via id_card_changes.html
2021-01-14 20:33:33 -05:00
spessbro
54c6a93d75 stops code from seeping into ic chat (#56088)
changes the reference in the modular computer code from src to computer as src is a datum
2021-01-11 12:44:16 -05:00
Timberpoes
01310ce93a Adds logging and admin notifications to certain ID card access changes (#56014)
* Loog

* Adjust modular computer loog

* Update access.dm

* Move ADMIN_VV in string

* To define or not to define, that is the question when logging everything

* More user loog
2021-01-08 13:46:35 -08:00
zxaber
09d70a8f8f Emagging Siliconnect allows for sending messages to borgs without an ID (#55593)
SiliConnect (the tablet app for managing borgs) requires an ID to send messages to borgs in order for the user's name to be attached to the message. This change allows anyone with an emag to remove this requirement, and instead send messages without the sender's name attached. The borg will instead see "STDERR:UNDF" as the name.
2020-12-31 18:18:20 -08:00
WarlockD
56345975ba The Great Radio Rework: NTNET Part 1 of many. (#54462)
Machinery networking refactor.
2020-12-30 21:54:34 +01:00
Jared-Fogle
3bbc86c95c Allow modular computers to be attacked (#55629)
You will now attack modular computers if you are not in help intent, rather than opening up their menu.
Why It's Good For The Game

i died here as nightmare because i couldnt attack the computer
2020-12-21 10:29:40 +13:00
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
ArcaneMusic
5338ad1696 Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#54715)
* The Re-pricening

* Rewritten and adjusted for paycheck defines.

* I made the map changes finally.

* And the refills too.

* "OH YEAH REPLACING IT ALL WITH DEFINES AND SCALING IT THE EXCEL DOCUMENT WILL BE EASY, ARCANE!!!"

* And the premium ones too.

* Accidently spoiled a future pr due to dme bleedover
2020-11-13 16:17:22 -05:00
TiviPlus
9fb0c73f63 Grep for proc(var/bad) (#54848) 2020-11-09 08:44:35 -03:00
TemporalOroboros
edd6500d78 /obj/screen --> /atom/movable/screen (#54403)
Repaths screen objects to /atom/movable
2020-11-08 23:07:15 -03:00
Timberpoes
fb6a1f4129 Feex (#54716)
[09:18:04] Runtime in card_slot.dm, line 72: Cannot execute 1.put in hands().

Usage of the try_eject proc is an eclectic mix of unimplemented behaviour and incorrect argument order, with behaviour that can cause runtimes.

Prototype for the try_eject proc wasn't even implemented properly by children. Nothing implemented it used the slots arg, so I modified the base prototype. Cleaned up various proc calls. Should no longer have incorrect arg-based runtimes.
2020-11-06 22:06:20 -08:00
cacogen
13564fb51b BotKeeper (tablet app) list populates based on bot unlock access (#54730)
Anyone can now download BotKeeper. Only bots your current ID can unlock will be listed to control. Stylised Botkeeper as BotKeeper because it looks better.
2020-11-06 22:03:56 -08:00
Ghommie
ec50fbd5f5 Merge branch 'master' of https://github.com/tgstation/tgstation into Ghommie-tg27 2020-11-01 14:38:30 +01:00
Rohesie
c55bb1b6c8 Basepixels (#54652) 2020-10-28 20:31:13 -07:00
Ghommie
c9f0966156 Non-human mobs can now benefit from held id cards and economy. 2020-10-27 15:59:28 +01: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
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
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
zxaber
6b4c209244 tgui: SecurEye, for Laptops and Modular Consoles (#54225)
New app for viewing cameras. Runs the same way the stand-alone console does, and requires security access to download. Does not work on tablets, requires a laptop or console.

Gives sec an on-the-go option, at the expense that they do still have to hold the device to view it (rather than stuffing it into the ID slot). Folded laptops can still be stored in your bag, so you can quickly store it after scoping out a bust.
2020-10-14 13:14:06 +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
zxaber
3bbec8a6e9 Fixes some borg tablet bugs (#54339)
fix: Borg tablets now correctly work when the borg is out of power (though you'll get no networking until you get that power issue sorted out).
fix: Borgs that are synced to AIs can correctly view and print photos once more.
2020-10-13 10:51:59 +01: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
NightRed
400890a5ec NT Software Hub shows programs you do not have permissions to download (#54075)
* Show disabled downloads so you know what exists

* sorted list of apps
2020-10-02 12:36:12 +03:00
zxaber
75ce411c3b Fixes borg flashlight color picker not working (#53996) 2020-09-29 19:23:18 -07:00