Commit Graph

2204 Commits

Author SHA1 Message Date
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
nichlas0010
3ec4eb619f [s] disables the Middle Mouse Button exploit (#42594)
* disables the MMB exploit

* Adds a config option to set a minimum build, with the recommended minimum build for 512 users being 1421

* readds the post-block detection, and changes MMB -> Middle Mouse Button

* Makes it the standard, I guess

Co-Authored-By: nichlas0010 <nichlas00100@gmail.com>

* Update client_procs.dm
2019-01-30 11:07:45 -05: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
oranges
6907ac6775 Merge pull request #41993 from Carbonhell/catshills
Add system for disabling creation of new felinid characters
2018-12-27 09:45:02 +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
Carbonhell
449bd89c9e Adds the system discussed in the felinid poll, to allow for people with a felinid character to not be reset to human 2018-12-18 01:20:12 +01: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
kevinz000
10d846022a [READY]MultiZ stuff - tile atmos, movement backend, falling backend, etc etc - Electric boogaloo (#40428)
Basic multiZ mob movement procs (Observers can always move)
Open space, showing what things are below it, and everything that entails. No complex support for dynamic generation just yet.
Decide how openspace should look :/

    Atoms falling through open space (NO MOB SUPPORT/DAMAGE/ANYTHING YET.)

//CANCELLED FOR ANOTHER PR - [ ] Being able to see upwards? Downwards is going to be handled by open space.

MultiZ tile atmospherics - EDIT: Working demo! https://puu.sh/B7mUs/3f6274740f.mp4
Bugtest the heck out of this trainwreck.
2018-12-11 22:09:59 +13: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
Kyle Spier-Swenson
08ff95180a Allows floats on all config entries that have no valid reason to disallow them (#41624)
* Allows floats on all config entries that have no valid reason to disallow them

Needed for run speed changes, but I'm allowing them on any config that has no bonafide reason to disallow them.

The criteria used was "Is there a technical reason why floats should not be allowed or is there a technical/logical reason why floats would never mean anything more compared to a integer".

For instance: The cloning timer was made to allow floats because 0.5 ds increments are valid at our current fps and more would be valid at other fpses. Yes, from a practical standpoint nobody would ever want to have cloning be valid for 30 minutes and 50 milliseconds after death, but from a technical standpoint there is no reason not to let them.

* Update general.dm
2018-11-22 18:33:53 -05: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
Shdorsh
9343d9e70a [READY]Removal of circuits (#41108)
* Delete integrated_circuit.dm

* Delete integrated_electronics.dm

* Delete pins.dm

* Delete wirer.dm

* Delete helpers.dm

* Delete printer.dm

* Delete analyzer.dm

* Delete debugger.dm

* Delete detailer.dm

* Delete assemblies.dm

* Delete saved_circuits.dm

* Delete boolean_pin.dm

* Delete char_pin.dm

* Delete color_pin.dm

* Delete dir_pin.dm

* Delete index_pin.dm

* Delete list_pin.dm

* Delete number_pin.dm

* Delete ref_pin.dm

* Delete selfref_pin.dm

* Delete string_pin.dm

* Delete passive.dm

* Delete power.dm

* Delete access.dm

* Delete arithmetic.dm

* Delete converters.dm

* Delete data_transfer.dm

* Delete input.dm

* Delete lists.dm

* Delete logic.dm

* Delete manipulation.dm

* Delete memory.dm

* Delete output.dm

* Delete power.dm

* Delete reagents.dm

* Delete smart.dm

* Delete text.dm

* Delete time.dm

* Delete trig.dm

* Update tgstation.dme

* Update multitool.dm

* Delete circuit.dm

* Update tgstation.dme

* Update netdata.dm

* Update ntnet_interface.dm

* stuff

* Update packs.dm

* Update electronics_designs.dm

* Update electronics_designs.dm

* Update multitool.dm

* Update cavity_implant.dm

* Update cards_ids.dm

* Update walls.dm

* Update hostile.dm

* Update all_nodes.dm

* removes circuits from maps

* Revert "removes circuits from maps"

This reverts commit 14daf7770220a8a1d7a8fa497c92d9c866939160.

* Removes circuits lab from all maps

* removes circuits lab from lavaland syndicate base

* fixes space tiles under windows on meta

* Deltastation fixes

* Update multitool.dm

* Update flavor_misc.dm

* Replaces Box circuits with nanites
2018-10-31 15:17:04 -04:00
Militaires
970964ccab [READY] THE LONG AWAITED BLINDNESS QUIRK PR (#41130)
* THE LONG AWAITED BLINDNESS QUIRK PR

* quirk blacklist system

* done

* im dumb

* im rarted

rarted
2018-10-27 15:13:49 -04:00
Jordan Brown
9618bc0252 Merge pull request #41160 from XDTM/IHearDeadPeople
Near-death experiences
2018-10-27 12:44:48 -04:00
MrDoomBringer
16be1163c0 Gives random events a ghost follow link (#40727)
Also improves the code for anomalies a bit

cl MrDoomBringer
tweak: Random Events now have a follow link for ghosts!
/cl

Untested, and anomalies are broken right now but that takes like 2 seconds to fix
2018-10-27 13:11:48 +13:00
XDTM
2ddf3609fe configurize 2018-10-26 16:49:59 +02:00
Youbar
565fa59574 Removes usage of variable ssshuttle.points 2018-10-25 22:49:04 +13:00
ShizCalev
c12012c3ad Admin prefs stuff (#41041)
fixes #41106 since it'll have it's own fucking location.

cl ShizCalev
add: Admins can now personalize their asay message color on servers with the feature enabled.
tweak: Moved some admin only preference verbs out of the Preferences tab and to a new admin preferences tab to help unclutter it / prevent accidental toggling of fun things.
/cl

Note that the start of the admin message will still use the default formatting just so it can be quickly recognized as an admin message and not an OOC one.
2018-10-25 11:43:30 +13:00
Jordan Brown
9a44187c1c Censor the right BSQL call (#41076) 2018-10-22 21:55:21 +03:00
Kyle Spier-Swenson
ffd601a781 Fixes timer bug (again) (maybe) (blame byond) (this is why arrays should start at 0) (#40947)
* Fixes timer bug (again) (maybe) (blame byond) (this is why arrays should start at 0)

* missed a spot
2018-10-22 08:39:51 +13:00
Jordan Brown
3d7fe20f72 Merge pull request #40997 from ShizCalev/suicide-roles
Adds a config option to automatically reopen job positions of folks who suicide at roundstart
2018-10-21 03:02:15 -04:00
MrDoomBringer
703a365aec Various code improvements (#40932)
* adsf

* asdf

* take these

* Further cleanup to windoor code
2018-10-21 03:01:02 -04:00
Jordan Brown
4a199fe8cd Merge pull request #40987 from ninjanomnom/howcanclienttimeberealifmytimerisntreal
Makes looping sounds use client time
2018-10-21 02:54:30 -04:00
ShizCalev
d05a25d43b changed config to use seconds to be more user friendly 2018-10-18 17:48:27 -04:00
ninjanomnom
38fa012b25 Fixes looping client time timers 2018-10-18 16:12:07 -04:00
ShizCalev
22090ed8ee Corrects abductor baton path (#40974) 2018-10-17 22:35:56 -04:00
ShizCalev
b3e4cc3dc2 Automatically reopens position slots of mobs who suicide at roundstart 2018-10-17 19:57:15 -04:00