Commit Graph

3196 Commits

Author SHA1 Message Date
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
oranges
92ac971f7b Merge pull request #41858 from subject217/flapsonceagain
T/F plasticflaps.dm
2018-12-10 00:07:47 +13:00
oranges
5c8336039c Merge pull request #41767 from kevinz000/couches
Adds sofas
2018-12-09 23:12:21 +13:00
Qustinnus
9d28bd7244 Crushes some Ethereal bugs and adds bloodbags for them (#41745)
cl Floyd / Qustinnus
add: Bloodbags for ethereal filled with liquid electricity
fix: Ethereals cant clone lightbulbs anymore
fix: Fixes runtime in Ethereal charge handling
/cl
2018-12-09 23:09:24 +13:00
coiax
84b64328b9 Improves code implementation of the Musician trait (#41742)
cl coiax
add: Any talented Musician can now use any instrument to lift
spirits, and ease burdens. They can now also use the space piano and minimog
to grant people the Good Music buffs, just like a handheld instrument.
/cl

A living mob with TRAIT_MUSICIAN will now apply the Good Music
status effect to everyone who can hear the music. The buff will
now apply even to players who have disabled instrument sounds.

The Good Music status effect lasts for 6 seconds after the
musician stops playing.

Added STATUS_EFFECT_REFRESH that just refreshes the duration
of a status effect, rather than instancing a new one.
2018-12-09 23:08:03 +13:00
Unknown
3d6c5637b8 T/F plasticflaps.dm
when you're too bad at coding to make actual fixes but you want good boy points
2018-12-07 17:51:04 -08: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
kevinz000
45b5bc20fb Adds sofas 2018-12-02 10:21:19 -08:00
Denton
877d3cea69 Fixes heat sources not igniting things 2018-12-02 19:06:20 +01:00
moo
0a61657f41 Merge pull request #41715 from 4dplanner/teamkill2
prevents spawners being teamkilled
2018-11-30 13:30:02 -05:00
4dplanner
360bc5a82a prevents spawner kills 2018-11-28 14:19:04 +00:00
Mokiros
9513eebde2 Adds "mob_name" to servant golem shell (#41656) 2018-11-25 18:48:08 -05:00
Jordan Brown
2e227d11ee Merge pull request #41602 from swindly/word_crimes
Fixes more word crimes
2018-11-21 09:44:00 -05:00
swindly
4bcd3cdc55 fixes word crimes 2018-11-19 17:56:59 -05:00
4dplanner
ce0828a98e Tendrils are now structure based [READY] (#41554)
* Tendrils are now structure based

* Re-adds tendril wipe achievement

neatens up ash walker variables
gets rid of unnecessary variables in hivelord

* Marks spawner children as admin spawned
2018-11-19 14:36:33 -05:00
Jordan Brown
f2b23d670e Merge pull request #41540 2018-11-18 10:57:35 -05:00
subject217
12fbbf3b21 can we get 5 likes? (#41505) 2018-11-16 23:03:31 -05:00
ShizCalev
c1e3deeb34 Fixes item obscuring issues 2018-11-15 18:57:48 -05:00
4dplanner
c84a92f4ce Passes thrownthing to hitby (#41411)
* Passes thrownthing to hitby

* Items now also pass thrownthing

* No longer uses default arguments

Also fixes bananium shield

* Adds more arguments to hitby calls

* Standardises throw_impact

* Clears up some loose ends

* Adds back wacky comment

* Reinstates can_push=FALSE on bananium shield
2018-11-15 10:25:04 +01:00
XDTM
c5ed65e7aa [Ready]Adds direct pay for cargo orders (#40684)
cl XDTM
add: You can now pay for cargo orders from your account with the cargo requests console. Credits will be detracted from the requester's account instead of the cargo budget. A 10% handling fee on top of the order will be paid to the cargo department budget.
add: Cargo employees must still accept the order for it to be delivered.
add: The delivery will arrive in a locked crate that can only be opened by an id with the paying bank account.
/cl

If you're wealthy, why should you waste your time waiting for cargo to get money? Pay for the stuff yourself; the quartermaster won't have to worry about their budget and will likely just put the order in the next shipment.
2018-11-07 21:58:17 +13:00
Jordan Brown
b101050540 Merge pull request #41253 from ShizCalev/reagent-transfer-logging
Adds logging to reagent transfers
2018-11-02 14:14:28 -04:00
moo
c07f2a65da Streamlines beacon types (#41192)
* Streamlines beacons

* Adds a comment on how to use this.

* When the item spawns in the angels now sing

* haha it's a webedit guys!

* Let Centcomm know!

Co-Authored-By: ExcessiveUseOfCobblestone <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* musicly fans rejoice

Co-Authored-By: ExcessiveUseOfCobblestone <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2018-11-01 07:52:43 -04:00
ShizCalev
87faef9019 Adds logging to reagent transfers 2018-10-31 08:36:21 -04:00
Jordan Brown
fb0b3a19f0 Merge pull request #41144 2018-10-28 14:09:53 -04:00
Brett Williams
8b6cdfe7f8 Improves Table-ing Logging (#41152)
* epic table log fixes

yeah honestly this is probably okay

* okay look this is good now

yup

* oopsie woopsie

i fixed the fucksie-wucksie! no more strings in my atom references uwu

* goof did nothing wrong

tabled instead of pushed! wow!
2018-10-27 12:47:14 -04:00
SouDescolado
88bf454538 Make code beautiful v2.0 (#41021)
cl
refactor: For every object that creates 3+, replaced with a for(var/i in x to y) and sometimes combined into a list
/cl

[why]: I did something like this in the past. It removes multiple lines in favor of a simple For and sometimes have some lists
2018-10-27 13:17:50 +13:00
AnturK
9306d01f6f Adds old name tracking to player panel, cleans up some name assignments. 2018-10-25 20:39:51 +02:00
ShizCalev
79d5392261 Adds O2 tanks to l3 biohazard closets 2018-10-23 23:47:26 -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
Tad Hardesty
2996b388f0 Improve performance of creamatorium 2018-10-19 21:09:20 -07:00
ShizCalev
fe32324628 Updates mineral doors a bit (#40980)
* Updates mineral doors a bit

* obj oriented
2018-10-17 22:34:44 -04:00
Jordan Brown
f64c009561 Merge pull request #40939 from swindly/chair_rods
Makes smashed chairs drop rods
2018-10-16 10:32:57 -04:00
swindly
ebc4fb08f4 Fixes urinal cakes being inedible (#40915)
* adds urinal cake to snacks

* adds types or whatever to urinal cake

* initializes urinals
2018-10-15 09:12:13 -04:00
Barhandar
5b4d7c4291 Makes anchored=FALSE spawners have move_resist so they ACTUALLY CAN BE MOVED (#40905)
fix your shit kevinz; for now this SHOULD do
2018-10-14 15:09:51 -04:00
swindly
45e67977d7 makes chairs drop rods 2018-10-13 20:49:47 -04:00
MMMiracles
b14f3827e5 Suplex The Rod (#40774)
* rod suplex

* flux spawn + medal setup

* deals with rod-form wizards

* webedit lol
2018-10-12 04:48:23 -04:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
Jordan Brown
9b8afba6c4 Merge pull request #40779 from ShizCalev/id-fix
Fixes PDAs not unlocking lockers.
2018-10-09 12:46:39 -04:00
ShizCalev
dbc353454a Fixes PDAs not unlocking lockers. 2018-10-09 00:56:34 -04:00
ShizCalev
6444a4e6c4 Fix AI core dropping wrong circuit on decon (#40742)
Also cleaned up a couple vars and added qdel handling.
2018-10-08 21:54:38 -07:00
vuonojenmustaturska
a287380797 Stops using the rad insulation component to provide default rad insulation features in order to save a bit of memory (#40662)
* henk

* oh yeah this

* undo this meme

* stuff
2018-10-06 14:28:28 +02:00
81Denton
3ad959a0fa More variety for dorms bedsheets (#40687) 2018-10-05 04:34:35 -04:00
ShizCalev
547866920c Fixes loom runtime & attacking (#40671) 2018-10-03 21:30:50 +03:00
ShizCalev
98c5705d77 Fixes free golems having incorrect dna names. (#40641) 2018-10-03 13:16:02 +03:00
MMMiracles
5ee8a6bb1f Adds clothing production for Botany (#40563)
cl MMMiracles
add: Botany can now grow cotton to produce cloth for various jumpsuits.
add: Cotton can be mutated into a much more durable strand, allowing for the production of crude armor.
add: Rainbow flowers, an alternative for clothing dyeing, is obtainable through cargo's exotic seed crate.
add: A loom can now be crafted with some planks so you can actually weave that cotton into a usable fabric.
add: Fannypacks, softcaps, beanies and scarves are now craftable with cloth and dyeable.
/cl

[why]: A way to produce clothing and naturally obtain cloth past ripping up other stuff seemed useful and with the economy aspect, might actually have some extra use.
2018-10-03 10:13:34 +13:00
XDTM
1e7c87a9d7 [Ready for Review/Testmerge]Adds scanner gates (#39986)
* Adds scanner gates

* fix

* fix

* fix2

* fix3

* update!

* tgui build
2018-10-02 10:29:15 +02:00
ShizCalev
b7739a4a23 Standardizes bomb logging (#40474)
Fixes #39976

A good number of things were missing various parts of the logging (going to GLOB.bombers, not going to client logs, not logging to game, ect), or doing incorrect things like passing admin verbs to saved logs.

Unified all the necessary actions under a single proc log_bomber() which handles everything in most use cases. This way the log isn't all jumbled up with inconsistent messages, everything's one format so you can quickly find what you need to bwoink the right person.
2018-10-01 15:03:00 +13:00
MrDoomBringer
a4f4ad4e7a Fixes morgues being able to consume ghosts, AI-eyes, etc. (#40594) 2018-09-30 20:57:44 -04:00
ShizCalev
2fa1ac1349 Replaces istypes with the proper tool_behaviour checks. (#40414) 2018-10-01 03:10:31 +03:00
Jordan Brown
9f094a4b8a Merge pull request #40517 from ShizCalev/instrument-stat
Fixes instruments not checking stat after inputs
2018-09-28 09:46:00 -04:00