Commit Graph

204 Commits

Author SHA1 Message Date
zxaber 1a5540723f Borgs can no longer be synced to AIs on other Z levels (#50609)
* please check your connection and try again

* please check your EOF and try again

* forgot this one
2020-04-24 22:30:24 +08:00
actioninja b5dfd8880d id to component name 2020-04-19 19:36:35 +03:00
Ryll Ryll 6ece69d358 Adds a minimum drinking/smoking age (#49990)
About The Pull Request

NT is finally cracking down on underage drinking and smoking on its stations, and you must now be at least 20 years old in order to purchase alcohol or tobacco at vendors. Underage ID's will be visible as such when shown or inspected. Bartenders below the age have discreetly had their IDs modified to be the minimum age, though if anyone cross references the station datacore records, they'll be exposed!

dreamseeker_2020-03-31_05-04-22.png

You can adjust the registered age for an ID at the HoP's console, the same way you would adjust the registered name. You can also pulse the age restriction wire on vending machines to disable the age checking system if you want to hack the system. I chose 20 as the legal limit because I don't care to listen to people fighting about 21 vs 18 and America vs the world, and it still will affect a decent amount of people I figure.

2020-03-15_21-40-54.png
Why It's Good For The Game

Makes age a teeny bit relevant, you can now more easily identify and bully 17 year old Heads of Staff.
Changelog

🆑 Ryll/Shaps
add: Due to pressure from various organizations, Nanotrasen is implementing a new ban on the purchase of alcohol and tobacco products for crewmembers under the age of 20 onboard its Spinward space stations. Please remember that providing alcohol or tobacco products to underage crewmembers is against Space Law, and remember to check those cards bartenders!
add: Standard Nanotrasen IDs now display the registered age of the holder, which you can change at the HoP's access console.
/🆑
2020-04-03 16:46:47 +13:00
nightred 15452cac44 [READY] Two Handed Component (#49422)
About The Pull Request

For an item to be two handed just add this handy component.

All existing two handed items have been converted to use this component.
Why It's Good For The Game

It has components and signals, and now you can make items two handed so simply.

/obj/item/shockpaddles/ComponentInitialize()
	. = ..()
	AddComponent(/datum/component/two_handed)
2020-03-04 11:26:01 +13:00
spookydonut cea5360e4b Updates codedocs with links (#49497)
About The Pull Request

Updating the best written documentation with the new linking feature.
2020-02-25 08:17:45 +13:00
Rohesie 7bef84f009 Mass-replacement of stat to machine_stat (#48758)
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
2020-01-24 12:37:17 +13:00
MrPerson d5b98c4d8d Unicode support Part 1 (#48304)
* Unicode support Part 1

Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.

Adds defines for the footext_char() procs to maintain 512 support.

I did some cleanup on the text helpers since a lot of them were really, really bad.

reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.

* Give travis a more recent beta

* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron

* Suggested fixes, removes the last of the dd_ helpers

* Reading the reference is very important!

* Minor code improvements and a comment

* Typo
2020-01-07 09:25:47 +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
L 42873d424e Cleanup 2019-10-25 04:26:09 -03:00
spookydonut 4e8ff18b07 Fix Travis grep script to use PCRE to actually match things (#47065)
Several of the greps were missing the `-P` switch which caused them to 
fail to match things. The EOL grep also wasn't working right so I 
replaced it with the one I added to TGMC.
2019-10-19 10:21:05 -07:00
Aleksej Komarov 5521c8ebee [READY] tgui-next: Initial PR, speedy new Air Alarm interface. (#46764)
* Initial tgui-next commit

* Improve dev server, slight changes to layout.

* Add more components, fix dragging, finalize scrubber list

* Complete an air alarm interface.

* Multiple improvements based on feedback

- LabeledList now has a "buttons" prop, where you can put buttons.
- Improved Box and Flex components
- Whole UI is now dimmable if non-interactive
- Basic documentation of components (Box and Flex so far).
- Icon and Box now accept a "color" prop.
- Routing improved in "Layout" component, you can now specify whether an interface is scrollable.

* Less harsh dimming

* Redux, Toasts

- Fixed inconsistent backend updates with Redux.
- Added Toasts which are currently unused, but are functional.

* acclimator + ai airlock ui

* Add a progress bar component, implement resizing

* Fix a zero in title bar

* Add a linter to keep shit tidy, fix danger level mapping, add some more docs

* better ai door interact ui

* final ai airlock interface

* Fix issues with code, enforce hard 120 line length cap, automerge binaries

* Implement hot module reloading

* Fix progress bar, add color support

* Fix ProgressBar baseline alignment issues

* Remove unwanted padding on the bottom of the LabeledList.

* Component improvements

- Fix baseline issues with Button and ProgressBar components
- Box how inherits props from Box
- Atomic colors and Button colors are now auto-generated, all range of colors supported

* Chem Dispenser UI, animated numbers, more style fixes

* Add an IE8 polyfill

* Intermediate state of fixing IE8

* Lots of shimming and general misery

* Fully working old TGUI chainloader for IE8, more pipeline improvements

* Support title-less Sections

* Delete Yarn, use Lerna for workspace management

* Improve maths and animated numbers

* Fix loss of focus for scrollable content, activate buttons with keyboard

* Attempt to bust the cache, grab focus on keyboard presses too

* Fix hot module replacement by manually pulling replaced modules.

* backend logging

 un-nuke line endings

changes without insane line endings

* helper procs + href support

* slight optimization

* compiles

* Redux, Hotkeys, Kitchen Sink (for UI testing), Tabs component

* Push logs to backend, small kitchen sink changes, tab fixes

* Update component reference in README

* Small fixes

* Next bunch of IE8 fixes, PureComponent optimization for Inferno

* Delete old tgui html

* Log the event of loading the old tgui

* Enable tgui logging on server by default

* Final solution

* Extract routes into a separate file, fix ChemDispenser bug

- Chem dispenser was needlessly disabling transfer amount buttons

* Disable baseline alignment for vertical tabs

* Fix tabs and box units

- Tab content was not taking full page width
- Box can now accepts strings as units, which will be treated as raw style values.

* Fix tgui on Terry

* Fix sending all logs with an "error" flag

* Some macro UI component changes and improvements

- Refer to README.md diff to see what's new

* Tooltip component

* Add support for themes, nanotrasen logo is back

* Clockwork theme hotfix

* Slight adjustment to logo positioning

* Actually proper solution for logo positioning

* Fix color maps

* tgui-next thermomachine interface

* tgui-next canister interface

* Add icon_class_name proc to asset cache

* Lots of stuff backported from actioninja's repo

* Cleanup oopsies

* Cargo UI adjustments

* Nuke lodash

* Minor fixes and cleanup

- Remove local Inferno package in favor of upstream Inferno
- Fix "initial" prop on AnimatedNumber
- Force fancy=0 for IE8
- Click-through dimmer

* Add a bat file for dummies

* podlauncher interface fix

* Update README, assert code dominance

* Clarify usage of event handlers in Inferno

* Document LabeledList.Divider

* Fukken grammar

* fixes cellular emporium readapt button not working

* fixes incorrect action on button in atmos control interface

* remove unneeded data from airlock electronics ui

* Set +x mode on bin/tgui

* Fix filename cases

- They were untracked by git on windows

* Ignore package lock, make batch more robust

- package-lock.json is very random and unreliable as fuck. Yarn was better.

* Build tgui-next in travis

* bruh

- fixes tgui error reporting

* logging cleanup + always log
2019-10-15 17:20:37 +02:00
Qustinnus 61bf8d7cd3 Fixes the roulette wheel (#46853)
* fixes roulette

* woops

* gotem
2019-10-04 14:22:33 -04:00
Qustinnus 20397d59f1 [READY] Roulette wheels (#46418)
* Basic roulette interface

* at least it compiles

* roulette

* fixes jackpot sound

* beacon

* epic

* push

* Update code/game/machinery/roulette_machine.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* sprites and more audio

* color

* Woops

* epic

* wires

* sprite

* Nya mergies pwease OwO (#17)

* Moves style to .styl

* test

* Fixed

* da real shiet

* fix

* fix

* fixes

* woops

* assets

* stop github stop

* fix

* static

* nya (#18)
2019-09-20 12:21:49 +02:00
nemvar 1949f18dcb Airlock usr (#46188) 2019-09-01 16:12:10 +02:00
Rob Bailey 2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12: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
Jeremiah Cooley bba08d9950 Chem grenade admin logging (#45697)
* Adds Admin Logging for Signalled Chem Grenades

* Should now log proper locations of user and nade
2019-08-06 02:16:36 -07:00
Denton c938674c98 Adds commentary, moves randomize to parent obj 2019-08-03 12:58:30 +02:00
Denton d98df6e063 Refactors plastic explosives
y
2019-08-02 22:31:05 +02:00
Naksu 28b1e366d8 Resolve some duplicate defines 2019-06-18 13:08:53 +03:00
Tlaltecuhtli 4a247210fd changes how grenades with custom primer are made (#44258)
* assemblies are shit fuck em

* maybe press commit before making a pr

* proxy stuff

* morestuff

* qol stuff

* only 1 wire

* revert that garbage that made me conflict

* changes

* wires
2019-06-11 12:28:35 -04:00
Incoming5643 1d42d5abaa Syndicate bomb bugfixes and Quality of Death changes (#43996) 2019-05-21 11:30:45 +02:00
ShizCalev 01ee32329f [s] Fixes vents not logging the signal sender (#43272)
* [s] Fixes vents not logging the signal sender

* removed unused proc
2019-03-22 11:49:56 -04:00
coiax 1a4a4b0eb2 The cyborg reset module wire is always marked with a star (#41877)
🆑 coiax
add: The cyborg reset module wire has a star symbol marking, allowing
a trained Roboticist to easily provide resets without altering
any other cyborg settings.
/🆑

When I removed cyborg module reset modules, it was pulse-to-reset, which
when applied to all the wires on a cyborg, had no real side effects
if there was only one AI.

Now that it's a cut-to-reset wire, cutting all the wires will invariably
desync the cyborg from its parent AI, given that all cyborg wires are
randomised.

My intention was never for the reset wire to be "found" just like door
wires, just to make it cheaper and possible to reset a borg module
"in the field".

Someone who hasn't read the wiki or knows what a "star symbol" means,
will have to be told what to look for, so I chose this method of signaling
rather than just "the module reset wire is X".

Also, it's a Keep Talking And No One Explodes reference.
2018-12-19 17:21:18 -08:00
coiax 02aba6b205 Microwaves now have a single wire (#41822)
cl coiax
add: Microwaves have a single wire accessible when open, the activation wire.
When cut, the microwave will no longer function, when pulsed, the microwave
will turn on.
add: Stabilized dark purple extracts now cook items in your hands, rather than dropping
the cooked item on the floor.
/cl

Previously microwaves just worked on their contents, now they keep a subset of contents called ingredients, because otherwise it would explode whenever you put a signaler inside.

Someone asked me to do it. It seemed like a neat idea. God knows
what horrible things people will do with this.
2018-12-16 12:56:08 +13:00
ShizCalev a64f5cd934 Makes the vending machine shut up (#41456) 2018-11-13 18:07:50 -05:00
ShizCalev 597bf9b557 [s] Improves AI, turret, and door logging (#41327)
cl ShizCalev
admin: Fixed AI fingersprints not getting logged
admin: Fixed some door interactions not being logged at all.
admin: Turret control interactions are now in mob combat logs
/cl

Fixes #40203

Semi WIP. Good to merge for the most part, but I would like to add logging in a couple more spots.
2018-11-12 20:54:58 +13:00
Patrick Chieppe 2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
Jordie 0d7ef3ed65 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-11 02:15:50 +10:00
Time-Green 3f8dbf2b0b Emitter gun mounts (#39367)
* different guns can be inserted into emitters

* fixes portal gun runtime

* You can now switch type through wires

* makes one line more readable

* Fixes being able to grab nodrop guns from emitters
2018-08-01 09:12:45 +02:00
subject217 6fdab2e352 Fixes wires not making sound when pulsed/cut (#38958)
Switches the sound source from the wire datum to the holder
2018-07-08 19:14:26 -04:00
Trevor Serpas bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
ShizCalev c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
vuonojenmustaturska 895b5107cd Removes a couple thousand empty lists (#38000)
door.shockedby
2018-05-23 19:15:06 -07:00
Dax Dupont d3a16e5368 Fixes duplicate logic causing doors to be perma stuck on mike pence mode. (#37379) 2018-04-24 16:14:05 +03:00
Fox McCloud 057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
kevinz000 f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
ACCount 1f5b59190d NTNet airlocks (#35947)
* Standardizes access checks

* Makes SS Networks init before SS Atoms to prevent NTNet interfaces from initializing before them

* Adds passkey support to NTNet packets

* Adds NTNet support to airlocks, makes door remote use NTNet

* Access levels given by jobs are now shuffled

* Access code improvements

* Adds IC card readers

* Fixes a delay issue with opening/closing airlocks with NTNet or signalers

* code review memes

* Renames plaintext_passkey to encrypted_passkey

* death by thousand nitpicks
2018-03-08 18:39:17 -05:00
ACCount 6de835a629 Adds tool_behaviour support to crafting, door wires, surgeries and mech construction (#35384)
* Adds tool_behaviour support to construction datums (mech construction)

* Adds tool_behaviour support to wire datums

* Adds tool_behavior support to surgeries

* Adds tool_behavior support to crafting

* New proc, to be used for checking tool qualities in hands

* Improves tool quality support on wires
2018-02-12 20:52:11 +01:00
ACCount c6e607dc17 Refactors use_sound and changes the way tools play sounds (#35521)
* Adds list support to usesound, ports drills to usesound

* Adds more tool sounds, changes usesound usage to play_tool_sound

* fix
2018-02-12 17:16:47 +02:00
ACCount12 063374b02e Having station blueprints in your hands now reveals the function of each wire 2018-01-26 07:31:56 +03:00
vuonojenmustaturska 6406896df1 Replaces a bunch of obj vars (and emagged on machinery/items) with obj_flags (#34078)
* It works, but is it worth it?

* bitfield helpers take 1

* Would this work?

* remove dangling debug code

* rebase & fixes

* vv bitfield stuff, reading

* DNM oceans of shitcode DNM

* honk

* honk2

* plonk

* rebase & fix
2018-01-22 20:19:46 +01:00
Tad Hardesty 71659b1e1a Tidy non-telecomms radio code (#33381)
* Remove extraneous parameters of receive_signal

* Delete unused signal datum procs

* Remove signal/var/encryption in favor of data

* Add and use datum/signal/New

* Clean up PDA and pAI integrated signalers

* Remove unused send_hear proc

* Clean up vars on obj/item/radio, change receive_range to can_receive

* Remove suffix var from radios

* Fix cell timer radios
2017-12-15 11:37:58 +13:00
FrozenGuy5 1ef3e9eb3e Prevents the PA wires from being EMP'd (#33199)
* returns emp_act

* jordie for code owner
2017-12-02 09:43:46 -05:00
kevinz000 caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
YPO aa5847f923 !remaining_pulses 2017-11-04 11:36:16 -06:00
YPO 4909ed5c4b Fixes EMPs only pulsing one wire 2017-11-04 10:36:45 -06:00
oranges 4cc3c80e4f Add a safety check for usr in airlock shocking
This fixes a runtime caused when usr is null or zero and shock is still
called.

This is a hack and illustrates why use of usr is considered bad practice
2017-10-15 21:20:10 +00:00
Jordan Brown b6d349e1d4 Remove drop_item, drop_item_v, put_in_hands_or_del (#31386) 2017-10-07 13:36:33 -04:00
vuonojenmustaturska 8b54685bd1 Cleanup to various loc assignments and nearby code (#31069)
* Let's hope i didn't break the game

* Requested changes

* missing one

* movetonullspace thing
2017-09-30 09:09:15 -04:00