Commit Graph

3161 Commits

Author SHA1 Message Date
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
Jordan Brown 4d01a12371 Merge pull request #40529 from ShizCalev/log-message-stacktrace
Cleans up some log_message stacktraces
2018-09-27 19:02:37 -04:00
cacogen 00feea5594 Janitor balance changes (#40141)
cl cacogen
balance: Space cleaner in spray bottles travels 5 tiles instead of 3 (doesn't affect other reagents)
balance: Trash bag fits in exosuit slot of janitor biosuit
balance: All soaps are faster
balance: Soaps now clean all decals on a tile instead of just one
balance: Soap now has limited uses (100 for most, 300 for NT brand which janitor gets)
balance: Mops are considerably faster
balance: Basic mop holds twice the reagents
balance: Janitorial cart now refills mops completely with one click
balance: Basic and advanced mops are more robust (8 force and 12 force)
balance: Galoshes no longer leave bloody footprints
balance: Chameleon noslips no longer leave bloody footprints
fix: Bulb boxes can be used on light replacers refill them in bulk
balance: Light replacer can be used in-hand to change all bulbs on a tile
add: Custodial barrier projector which creates solid wet floor signs that force people to walk to pass (available through service protolathe)
/cl

Janitor's been an exercise in futility for years, and the job is made redundant by janitor cyborgs who can't even keep up with the mess themselves. Spreading blood is instant, but takes a lot longer to clean. The goal here is to make it easier to keep up with the mess and make the controls less finicky while avoiding affecting combat too much (the mop and spray bottle are is a good weapons after all).
2018-09-28 09:21:14 +12:00
ShizCalev 2a01a9d447 Cleans up some log_message stacktraces 2018-09-26 21:13:39 -04:00
ShizCalev 3ac2c090da Fixes instruments not checking stat after inputs 2018-09-26 13:29:23 -04:00
ShizCalev c66cbad2d0 [s] Fixes pride mirror exploit (#40477)
* Fixes pride mirror exploit

* Cleanup, adds no_tk check to canUseTopic
2018-09-26 12:34:10 +03:00
ShizCalev a1c2eb3bf1 Fix dirty vars and broken floor tiles (#40313)
Fixed vareditted bonfires not properly igniting at round start.
Fixed vareditted pianos switching to minimoogs at round start.
Fixed some vareddited flashlights not turning on properly at round start.
Fixed all missing floor icons
Fixed bookcases at the Wild West away mission not being properly populated.
Fixes missing icon in DM for syndie playing cards.
Added support to change the burning icon of bonfires (right now there's the
normal on_fire and warm states, warm being more of a burning embers sort of
deal.)
2018-09-24 22:48:41 -07:00
Tlaltecuhtli 0bcec2bcb2 fixes traps not checking for antimagic (#40382)
* fixes traps not checking for antimagic

🆑
fix: traps check for antimagic
/🆑
should work

* will this blend

* e
2018-09-22 22:34:45 -04:00
Mark9013100 874f2ba094 ERT edits (#40360) 2018-09-21 18:27:47 -04:00
MrDoomBringer c7ef142616 [DOCUMENTED AND READY TO MINGLE](EPIC MEME VIDEO INSIDE!) NEW COOL ADMIN TOOL: ADVANCED HIGH DEFINITION SUPPLYPOD SUMMONING (also supplypod refactor) (PLEASE UPTHUMB) (#39936)
MrDoomBringer

admin: Admins can now spawn things in ICly (as well as do a bunch of other cool new stuff) using the Config/Launch Supplypod verb!

code: also supplypods have been refactored
2018-09-21 08:59:52 +12:00
ShizCalev 7b7bdcfaeb Make gas sensors fireproof, fix unneeded resis flags on airlock sensors (#40329) 2018-09-19 19:00:17 -07:00
ShizCalev 97325cb627 Correct hotel security outfit typo (#40347) 2018-09-19 17:14:30 -07:00
vuonojenmustaturska de357a79d8 Adds plasmaglass shards, they can be made into spears (#40327)
* stuff and things

* adds back missing gonbola

* remove useless var

* slapcrafting fix

* transfer memes
2018-09-19 23:05:43 +02:00
ShizCalev 32171339b2 Fixes invisible lavarocks (#40315) 2018-09-18 11:13:49 -04:00
vuonojenmustaturska 2d9d742d53 get out (#40287) 2018-09-16 14:28:56 +02:00
AnturK 7429f095dd Fix closet ghost examine runtime (#40280) 2018-09-15 10:24:12 -07:00
skoglol 817c9c0ffc Powernets now tracks load added between power ticks. (#40216)
* Powernet non-machine processing changes.

* forgot an =

* Reverts floodlight changes.

* Clamps surplus() to valid values.
2018-09-14 13:05:21 +02:00
Emmett Gaines 92706e548c Some radiation balance tweaks (#40066)
* Radiation toxin damage has been slightly increased.
* Contaminated objects are overall a bit weaker but are easier to create in the
  first place.
* Showers deal with high amounts of contamination much faster but aren't that
  great at dealing with weakly contaminated objects.
* Atmos holo-barriers have been given radiation insulation like the engineering
  ones.
2018-09-10 22:14:40 -07:00
AnturK 4e33e8e0f5 Fixes tabling phasing. 2018-09-07 12:30:00 +02:00
Poojawa 54b01e59d2 Fixes a missing <i> (#40136) 2018-09-06 17:15:02 +03:00
81Denton d8393bed10 Add examine descs, air alarm construction descs (#39949)
A bunch of items were missing examine messages about their alt+click
functionality, I added them. Also, construction step descs for air alarms.
2018-09-05 23:06:23 -07:00
ShizCalev 98a6b39cca Clean up mixed space & tab usage (#40121) 2018-09-05 22:51:20 -07:00
Emmett Gaines 451d35c9c9 Converts more dir assignments to setDir (#40023) 2018-08-31 22:54:37 +03:00
Time-Green d0712a9741 [READY]Staff of the Locker (#39687)
Adds a magical locker staff.
It goes through people, capturing anyone being hit by it and putting them in a welded locker

The locker decays in about 5 minutes, to prevent the hallways flooding too much.
Escape time is only a minute.
Explosions are less effective on people inside

Why: It's a bulky wand, and great if you want people to just fuck off. You can either leave them or do something horrible to them.

The sprites are codersprites, except for the locker, please forgive me
2018-08-30 20:10:26 +12:00
Garen Crownguard 291583440f screwdriver_act signal (#39877) 2018-08-27 05:56:45 -04:00
Tad Hardesty 0618242dee Clean up bar sign code (#39787) 2018-08-20 13:35:30 -04:00
Epoc d9aa663ff1 Fire extinguishers no longer spray when put away with safety off (#39765)
yet another in a long line of pointless QoL changes
2018-08-19 02:35:22 -07:00
nicbn 61074ebe7b Ports oracle's janitor cart sprites (#39695)
* Ports oracle's janitor cart sprites

* immashamed
2018-08-18 12:05:14 -04:00
kevinz000 3a4a232fac Fix telekenetic toilet cistern item retrieve exploit (#39720) 2018-08-15 22:11:04 -07:00
kevinz000 70d007300f Fix telekenetic grabbing bedsheets through time and space (#39721)
You could use the grab in hand to teleport it to you.
2018-08-15 22:10:12 -07:00
barbedwireqtip 4a33ebcdda Add binoculars to the detective's locker (#39664)
Figured you should be able to obtain these in-game since they're a pretty nifty
feature and it makes the most sense to give them to the detective so he can
~~spy on people~~ "investigate" better.
2018-08-15 12:45:24 -07:00
zxaber 3f487a2fef [READY] Adds ability to give airlocks one-way unrestricted access (#39147)
* Code to doors.dm for airlocks with unrestricted sides

* Code to airlock_electronics.dm supporting airlocks with unrestricted sides

* Code to door_assembly.dm supporting airlocks with unrestricted sides

* Adding buttons to airlock electronic gui for unrestricted direction access

* Update airlock_electronics.dm

typos in comments are still typos

* Tgui support for arbitrary unrestricted access

* Cleaner way of calling unrestricted_sides()

Moved the call to unrestricted_sides() to run from allowed(), and added a recursive check for if the user is inside an object (like a mech).

* Missed a test variable

* Replaced a block of if statements with get_dir

Re: SpaceManiac

* Simplified XOR operation

Re: SpaceManiac

* Changes order from NESW to NSEW (for get_dir)

Re: SpaceManiac

* Re-built using changes to airlock_electronics.ract

* Added unres overlays, fixes overlay/power actions

Small lights that shine out to indicate open directions. They're not super pretty, but they aren't *that* horrible I think.
Because it's a light, it acts as a weak light source.

Also, all door overlays respond to power changes now, including area power loss. There was code in the overlay section for checking power states, but nothing to actually trigger it outside players opening the panel or something. This was broken before I made any changes.

* Makes overlays respond to power outages

The airlock overlay (bolt lights, etc) would not respond to the area power going out or coming back, even though it had code for it. This was broken before I added my code.

* Makes the Airlock update overlays when built

Long story short, the unres_sides variable wasn't getting set before the airlock spawned and did its first overlay update, meaning the unres indicators would be invisible until the door's state changed the first time. This makes the airlock run the update again just before the construction airlock object is removed.

* overlays.dmi -- removing to replace

I can't just edit the code of an image file, can I?

* new overlay file with the four unres indicators

* Set medical doors to use this feature

Removed medical door buttons, and set the unres variable on Meta, Box, Delta, Pubby, and Omega.

* Revert "Set medical doors to use this feature"

This reverts commit 53122ce63240ff0660226c8d2c6ed7eb814ec054.

* Updates medi-doors in maps

let's try this again...

* Did this tgui.js get overwritten?

juggling too many testing build folders is hard

* reverting momentarily

* Re-adding tgui.js changes

* pushing tgui.css too

Didn't realize this file also got changed by the script

* rebuilt the tgui.js file

* repushing the unchanged tgui.js again

I hope I'm not email-spamming people with this

* .css too

* Re-applying tgui.js changes

* added mapping helpers

little green arrows that set unres settings on airlocks and then poof

* removal of comments

unneeded code

* Adding helpers to all maps

Removed the var edit, as well

* Changed airlock.dm to use defines

Also removed an unneeded "src" from four lines.

* New .js and .css file to fix RPD issue

Boy I love tgui

* Removing define defines

Didn't know these were coded elsewhere. Neat.

* Mapmerged again, as requested

* Clean up maps
2018-08-14 22:13:55 +02:00
AnturK b575ec2b9f Make secure crate less prone to explosions when poked (#39680)
This seems unintended. Also fixes damage after deletion runtime.
2018-08-14 12:51:43 -07: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
kevinz000 5f4b418eaa Movespeed Modification System (#39181)
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
2018-08-09 16:55:15 -04:00