Commit Graph

1580 Commits

Author SHA1 Message Date
ShizCalev
192a5333c3 Automatic deadminning (#42780)
* does the thing

* cleanup

* unbroke deadminning

param broke the verb somehow? honk.

* correct prefs

* more robust handling

* corrected return, cleanup
2019-03-23 10:46:35 +01:00
ShizCalev
5d60f2d568 Merge pull request #43215 from AutomaticFrenzy/patch/throw-exception
Replace 'throw EXCEPTION' with CRASH or WARNING
2019-03-21 23:57:27 -04:00
Kyle Spier-Swenson
b4f4653c21 Fix the living players limit queue getting stuck if you disable it (#43220) 2019-03-21 20:50:07 -07:00
Kmc2000
6b6537cccd Adds toggleable darkmode to the game! (#43072)
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)

* Removes a random linechange

* Undo unintentional changes

* Changes some forced font tags to use spans, which won't break darkmode.

* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)

* Darkmode sucks less now

* Darkmode button now works again
2019-03-21 11:02:41 +13:00
ShizCalev
0248e75b84 Merge pull request #43199 from tgstation/MrStonedOne-patch-4
Afk kick tweaks
2019-03-20 16:38:38 -04:00
AnturK
f90bac1224 Fixes DivideOccupations edge case. (#43125)
* Fixes DivideOccupations edge case.

* No players assigned is absolutely correct.
2019-03-20 11:12:57 -04:00
Tad Hardesty
570a4da33e Replace 'throw EXCEPTION' with CRASH or WARNING 2019-03-19 23:09:24 -07:00
Kyle Spier-Swenson
a2440fea3d stupid quotes 2019-03-19 14:16:00 -07:00
AnturK
1226308629 Fixes softcap queue 2019-03-19 22:04:44 +01:00
Kyle Spier-Swenson
91a4af076c Afk kick tweaks
Currently it exempts observers and only exempts admins while they are in lobby, that makes no sense.

Now it always exempts admins (they still have the end of round lobby kick that applies to them), and people in the queue to join in lobby. 

Applies to ghosts.

Gives the player a link to rejoin in the disconnect message.
2019-03-19 12:16:22 -07:00
MrStonedOne
186f6c8ddd dbstickybans: Qdeleting queries, misc fixes, Query select proc for executing mutiple queries at once... 2019-03-16 00:23:40 -07:00
MrStonedOne
54f5e57880 Fixes and improvements 2019-03-16 00:23:39 -07:00
MrStonedOne
f0f40bda51 Fixes and improvements. Hub password changes
Uses lazy access on inner lists (had to make lazy access work on inner lists @cyberboss you won't like this but lazyaccess is useless if you can't use it on inner lists)
Byond only does full stickyban matching when the server has a valid hub password set or compiled in, so now we have to remove it during init.
2019-03-16 00:23:38 -07:00
MrStonedOne
214c0de655 Adds automatic importing of older legacy stickybans 2019-03-16 00:23:38 -07:00
MrStonedOne
03f1eb2f2b Some fixes. 2019-03-16 00:23:38 -07:00
MrStonedOne
2e757683ab Database backed stickybans
Supports disabling stickybans for a round, exempting a key from matching a stickyban, and it now also detects rogue stickybans before anybody currently connected even gets disconnected. (new matches trigger a 5 second sleep and abort enforcement if enough other new matches happen in that timeframe)
2019-03-16 00:23:37 -07:00
oranges
94cd150bea Merge pull request #43003 from tgstation/MrStonedOne-patch-3
Fix sstimer's reset buckets being stupid
2019-03-05 12:19:55 +13:00
Time-Green
8a8cdce0cd protects genepulse from peepers 2019-03-04 15:12:29 +01:00
Kyle Spier-Swenson
de5b7d4d93 Fix reset buckets being stupid
Why I never did see this I don't know, its a 5 million years old bug.
2019-03-03 22:33:44 -08:00
oranges
f3ae55258b Merge pull request #42758 from VileBeggar/scrunglartiy
Adds scrunglartiy as a roundend sound
2019-02-14 16:18:15 +13:00
Vile Beggar
29d5499f3e How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy???? 2019-02-12 22:36:58 +01:00
4dplanner
0a81c85bad Adds some FIRE_PROOF checks (#42569)
* Adds some FIRE_PROOF checks

* Whoops

* Uses extinguish()

* Removes redundant ON_FIRE check

* Reinstates ON_FIRE check
2019-02-05 13:49:41 -05:00
Menshin
21cd92e7a6 Fixes some glitches with auto-rotation of vis_overlays (#42652)
* Fixes some glitch with auto-rotation of vis_overlays

* Removed unnecessary code.
2019-02-03 21:59:55 -05:00
Militaires
cecf676684 [Ready] Outputs datum (#41535)
Idea and instructions by @Razharas, many thanks.

This PR only implements the framework required to catalog as well as play the sounds. Their to_chat text, and icons (if any) are not included, are to be pushed in a separate PR.

This PR does not remove the old playsound_local system, it is kept for the sake of not necessitating a direct changeover of every single playsound in the code, which will surely cause a lot of merge conflicts. It does however, replace bike horns' and toy nukes' means of playback to this datum, purely as proof of concept.

Playsound_local may remain in the code to support playback of admin-uploaded sounds that do not have an inherent datum. Playsound will likely be renamed to something else in the next PR to reflect its new, more universal function. We will see.

New process for adding sounds:

    Create a new datum/outputs subtype.
    If you wish, write down some supporting text; this gives further meaning to the sound.
    Add multiple sounds to the sounds list, and weight them as you wish. (New)
    Add a sound icon if you wish, it defaults to a generic sound circle anyways though.
    playsound(/datum/outputs/new_subtype, receiver), and it will deliver, icon, sound, and text to the receiver.

Maintaining implication is that from now on playsound should only be processing datum/outputs

This pr intends to gut to_chats that are added alongside playsounds in the code.
This pr eliminates the need to initialize sounds in a list so that you can weight them or have the game play them randomly from the list.

Sound Rings
Currently, only mobs with the audiolocation var may view them. Sound icons have an alpha that depends on the volume of the sound, louder sounds create a more opaque image

Sound rings are completely modular and may be changed to any image.

In addition to renaming playsound to reflect its new function. I intend to give blind people sound icons at the cost of their small view, but that is for another PR.

cl Basilman
refactor: refactored how sounds are stored and played
add: Added sound rings and supporting text
/cl
2019-02-04 10:25:48 +13:00
coiax
ffd160a495 Readds non-persistent contraband filled smugglers satchels (#42228)
* Readds non-persistent contraband filled smugglers satchels

* Ten random satchels are placed each round
2019-01-07 21:16:47 +11:00
Jack Edge
5d50181514 Renames SSsqueak to SSminor_mapping 2019-01-04 21:22:51 +00:00
subject217
5a52f8a7bf Removes smugglers satchels (#42166)
* Removes smugglers satchels

I love the cutie reading this

* remove smuggler's satchel from code

* removes all smugglers' satchel persistence code

* removes remaining things

storage component for smugglers, the miracle ruin (uses smugglers), the dme
2019-01-02 15:28:26 -05:00
Qustinnus
0de28b726a [READY]Humans now have hygiene (DOES NOT AFFECT MOOD GO AWAY MOODPOSTERS) (#41986)
cl Floyd / Qustinnus
tweak: You now have to be naked to get the nice shower moodlet, if you shower with clothes you get a bad moodie
add: Hygiene, you slowly become dirty over time, the more covered in blood you are the faster you will lose hygiene. When you are too dirty you will have a stink overlay. (Hygiene doesn't affect mood currently) It also spawns miasma slowly if you smell like shit.
add: adds NEET and neat traits. NEET's get 20 bucks social welfare extra and like being unhygienic, while neat people dislike being unhygienic and like being hygienic
/cl

This doesn't affect mood so plssss dont strawman in this PR about how I'm forcing you to shower or die or whatever

This PR is mostly visual and will allow for people to judge others for literaly being smelly as hell.

also NEET and neat traits which interact with being smelly. (neat likes hygiene, dislikes lack of it. NEETs like lack of hygiene and get some social welfare (20 bucks))
2019-01-02 01:04:51 +13:00
Denton
69bd242346 Removes gondola round end sound 2018-12-24 03:03:57 +01:00
nicbn
8e3a812bf2 You can now click on objects and mobs below flaps and signs (#41866)
* You can now click on objects and mobs below flaps and signs

* Update admins.txt

* Update code/controllers/subsystem/vis_overlays.dm

Co-Authored-By: nicbn <nicolas.nattis@gmail.com>
2018-12-20 12:34:58 -05:00
Mickyan
e6de5b36eb Adds the Hypersensitive and Light Drinker quirks (#41984)
* newquirks

* revert

* hypersensitive/light drinker

* this is a commit

* may as well

* increments + fix

* i never liked math anyway

* I really dont like math
2018-12-18 15:03:57 -05:00
coiax
b0d78a8ad2 Bar signs now rename the area, doors and some wall items (#41811)
cl coiax
add: Bartenders can now rename the generic area "Bar" to the bar name of their choice with the use of their bar sign. This will rename air alarms, doors and APCs, so everyone knows what you're calling your bar this shift. (The bar sign chosen is also now a statistic that's tracked!)
/cl

Metastation now only has one bar sign.
Bar signs start blank.
Bar signs no longer require bartender ID to repair.
Emagging now only sets the bar sign (and bar name) to the Syndi Cat, rather than changing the Barsign to syndicate access only and making them impossible to repair.
Only machinery that is normally renamed when the area is renamed will have their name changed, this means only doors originally called "Bar" will be renamed.

Area renames are split into separate procs, so we can use their renaming of machinery features.
2018-12-16 12:55:30 +13:00
Jordie
20042be376 Merge pull request #41895 from kriskog/smuggler
Fixes smuggler satchel spawning
2018-12-14 13:51:13 +11:00
skoglol
0dac34927d fixes smuggler satchels - again 2018-12-11 00:09:12 +01:00
Jordan Brown
f1d22a017e Fix TGS stuff (#41806)
Closes #41794
2018-12-10 14:50:48 +13:00
Time-Green
29ecfa47bf [READY] Goon Genetics (#41258)
GENETICS

    The random hexadecimal rng game has been replaced with gene sequencing from goon.

    Adds mutation activators and mutators

    You can now store mutations

    Everyone now has their own set of unique mutations

    Limited mutations per person to 8 (including one always being monkey)

    Adds race specific mutations (See fire breathing for lizads)

    You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by

    Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences

    Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)

    Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength

cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
2018-12-09 23:26:04 +13:00
XDTM
fe4c77b4cb Vegetarian Quirk (#41800)
cl XDTM
add: Added the Vegetarian quirk, which costs 0 points and makes you dislike meat.
/cl

Because why not? Also, it could give a reason for the chef to prepare vegetarian dishes instead of the usual stuff.
2018-12-09 23:19:59 +13:00
moo
b0073fddb8 Merge pull request #41754 from coiax/always-in-the-way
Adds Physically Obstructive quirk
2018-12-06 12:06:03 -05:00
coiax
8da281ff50 Nuclear operatives have a christmas tree during the festive season (#41788)
* Nuclear operatives have a christmas tree during the festive season

🆑 coiax
add: Nuclear operatives have a Christmas tree during the festive season.
/🆑

Minor buff to nuke ops during the Christmas period when trees have presents,
as they'll have access to random items just like the crew.

* Adds a second lightbulb to the bathroom

* Christmas tree SPAWNERS rather than LANDMARKS
2018-12-04 19:35:21 -05:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
Jack Edge
64e0cfd4e9 Traits are now sorted by positive,negative,neutral and then by name 2018-12-02 23:51:41 +00:00
oranges
e7125311d1 Merge pull request #41743 from AutomaticFrenzy/patch/sigh
Fix math error in secret satchel spawning
2018-12-03 00:12:22 +13:00
Jordan Brown
db68cd1f9d Leverage the TGS4 chat tagging system for the new game message (#41697)
Allows specifying the tag to send the game announce message to on TGS4

Needed by downstreams
2018-12-01 15:33:20 -08:00
Tad Hardesty
388ee558ee Fix math error in secret satchel spawning 2018-11-30 14:09:37 -08:00
Jordie
df18d96902 Adds author and ttitle to testmerged prs feedback (#41651)
* readds testmerge feedback call

* typo

* adds author and title to testmerged prs feedback
2018-11-28 23:07:03 -05:00
skoglol
2837fb1fc9 Order matters (#41659) 2018-11-27 04:09:43 -05:00
Mickyan
f4a62d1780 Blacklists some incompatible quirks (#41669)
cl Mickyan
fix: Certain incompatible quirks can no longer be taken together
/cl

Fixes #37669
2018-11-27 14:32:44 +13:00
Dennok
781dde6239 areas_in_z after start population fix (#41452)
Fixes areas_in_z after start population. Now it get areas spawned by templates and blueprints.
2018-11-13 18:15:14 -05:00
Jordan Brown
2f5e5d9544 Removes BDE from the account ID message (#41273) 2018-11-03 09:13:49 -04:00
TheDreamweaver
d464fd04d7 [SUPER DUPER EXTRA READY] Hilbert's Hotel (#41029)
* Initial stage

* final changes?

* Tweaks

* removed bad variables

* Fixed more bad vars

* is this map merged?

* spelling fix

* spelling fix

Co-Authored-By: TheDreamweaver <austin.j.rickli@gmail.com>

* Map fix?

* now this is map merger

* Fixed summoning edge cases

* Fixed spelling mistakes, Added better handling of sphere removal, Added sphere to the cargo shuttle blacklist, Made the "mystery" more dynamic

* Added better handling of stored mob summoning

* Removed redundant code.

* Made the jukebox actually accessible

* Tweaked it so that no maps would need to be loaded on Init

* comment commit

* No src

* Fixed spelling and getting trapped in rocks

* Fixed spawned-in hotel checks

* Blacklisted hotel are from blueprints and migrated storage handling from door to area.

* Prevents observing mobs (ghosts, camera entities) from getting stored.

* Condensed an if statement

* The hotel can now be used on another mob to invite them to the hotel. All living mob types can now exit out the hotel door.

* Fixed wrong user getting prompted when hotel was used on someone else.

* Added peepholes to hotel doors that can be used via AltClick.

* For the grammar lovers.
2018-11-01 15:40:31 -04:00