Commit Graph

821 Commits

Author SHA1 Message Date
Jared-Fogle 45c14f6330 Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)
Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl
2020-08-20 09:11:28 +12:00
tralezab 6a25b30b12 Removes "availible" mispellings in codebase (#53046)
* AVAILABLE

* Rebuild tgui

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-19 23:57:37 +03:00
Rohesie 25f670f8de Opacity refactor (#52881)
Moves all opacity var manipulation to a proc which sends a signal.
    light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
    has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
    Some opacity-related sight procs optimized as a result of this.
    Some variables moved to the object's definition.
    A define or two added into the mix for clarity.
    Some code cleaning, like turning booleans into their defines.
    One file renamed for clarity.

Changelog

cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl
2020-08-19 13:24:20 +12:00
tralezab 728d1ca524 cleanup the corpse file, cleanup stationstuck component, adds stationstuck to the reanimated skeleton (and zombie, why not) (#52940)
all living spawners in corpse.dm are now in ghost_role_spawners. I hate having to search two different files to HOPEFULLY find which ghost role I need to edit.

Added a disclaimer about giving guidance or at least stationstuck component to stuff so this doesn't happen again

Cleaned up stationstuck. Man, I know I made this, but damn I did kind of a shit job
2020-08-18 22:20:25 -03:00
Timberpoes 3ccd58639c Fix runtime with CANT_WOUND weapons that use pellet_cloud (#53001)
In /datum/component/pellet_cloud/proc/pellet_hit if the projectile's wound_bonus is CANT_WOUND, then wound_info_by_part[hit_part] never gets a value set.

This causes an issue in /datum/component/pellet_cloud/proc/finalize() where it assumes that wound_info_by_part[hit_part] has always been set to a list(x,y,z).

I added a quick if check to skip this where there's no wound info for a part.

Weapon this behaviour manifested on: DRAGnet on net mode. Due to the runtime, I didn't notice it dealing any stamina damage. This should fix that scenario as well as any other CANT_WOUND projectiles and prevent them from runtiming early.
2020-08-18 21:26:29 -03:00
ATH1909 bbaec71193 you can no longer stuff a bajillion live mice into your chef's hat (#52640)
* fuck

* Update code/datums/components/storage/concrete/pockets.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-15 01:32:17 +02:00
Rohesie 7586d20c23 Fixes staminacrit not paralyzing (#52906)
Additionally removes the now-superfluous stam_paralyzed variable. We can already track this with the incapacitated effect from the stamina source.
2020-08-13 14:51:56 +12:00
WarlockD 6317c371c2 Various Paper bug fixes (#52470)
* Ugh too tired fix latter

* Ok think its fixed, still need to make the stamp working

* Major fixes done, but still the ui dosn't pop up once you examine the door

* Ok you can read doors now, that was annoying.

Ok we done

* Update paper.dm

oh fix

* I have DONE it! Alright

* Miner fixes on order

* Update tgui.bundle.js

* Update code/modules/paperwork/paper.dm

Sure

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/paperwork/paper.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Alright some fixes

* Update tgstation.dme

* Revert "Update tgstation.dme"

This reverts commit 3eaa48d9fcfa2645663420165c39643c3ae5d939.

* Update tgui.bundle.js

* Update code/datums/components/honkspam.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/datums/components/honkspam.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/paperwork/paper.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/paperwork/paper.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Bahhh...me..so..tired

* pointless uistate gooone

* Update tgui.bundle.js

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-11 23:39:10 +03:00
Fikou 1904c7aadb you can now make extendohands with a right and left arm (#52826) 2020-08-11 12:12:27 -03:00
Rohesie 8f917ff1d9 immobilized (#52578)
Adds an immobilized trait.
    Adds procs for several variable changes so we can respond to their events.
    Adds some signals for said variables changing.

Need to turn the variation in number of usable legs and arms (get_num_legs() and get_num_arms()) into events we can respond to, but they are pretty annoying to do so. Probably for a different PR.
2020-08-11 14:44:01 +12:00
KathyRyals 20989d255b Added the ability to upload honk viruses to doors, machines and computers. Added new sound_player component. (#52593)
* Added the ability to upload honk viruses to airlocks.

* Removed shoes requirements. Added charge gain sound.

* Revert "Removed shoes requirements. Added charge gain sound."

This reverts commit 641fe91a1c936c2de0cdd8104304d7f25bc831a8.

* Added ping on charge gain.

* Refactored to use components and signals.

* Now works on all machines / computers.

* implements suggested changes

Co-authored-by: Rohesie <rohesie@gmail.com>

* Moved signals around.

* WIP

* Finally added sound_playing component.

* Rohesie provides good code

Co-authored-by: Rohesie <rohesie@gmail.com>

* More Rohesie goodies

Co-authored-by: Rohesie <rohesie@gmail.com>

* Everything is fucked oh god

* Clean sweep

* Update code/game/objects/items/devices/PDA/PDA.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/game/objects/items/devices/PDA/PDA.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-10 19:41:34 -03:00
tralezab 1b68d92ea2 RPG Loot's summoning affix can no longer summon mecha pilots and elites (#52781)
* jesus christ

* webbit
2020-08-10 17:13:39 -03:00
tralezab e0b43bd1fa beetlejuice fix (#52806) 2020-08-10 11:22:14 -04:00
WarlockD ff6d4ebe4a Blacklist fix for self crafting (#52804)
* First fix

* Ugggh
2020-08-10 11:21:36 -04:00
Timberpoes 19c3bbde31 Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.
2020-08-07 12:23:42 -03:00
ShizCalev e6319528a5 Merge pull request #52721 from Time-Green/fix-plumbing-turn-connects
Fixes setting turnconnects to false making plumbing ducts invisible
2020-08-05 17:55:55 -04:00
Jared-Fogle 7df16c595e Confusion will no longer continue to confuse after being cured (#52286)
* Confusion will no longer continue to confuse after being cured

* Grammar comment fix

* Move to status effect

* Remove test per request

* Make confusion a status effect, confusion curing now completely neuters the confusion

* set_confusion changes, get_confusion

* Fix confusion going down twice per tick

* Change strength = to proc

* Move procs to status_procs
2020-08-05 16:36:00 -03:00
Time-Green 09e70bcd6c makes code prettier 2020-08-04 20:35:14 +02:00
Time-Green 4ff6041052 fix turnconnects false not working 2020-08-04 19:39:02 +02:00
Jared-Fogle ef87dc4eb9 Riders will now turn with their vehicle (#52612)
* Riders will now turn with their vehicle

* Remove new signal, refactor to accept a direction

* Update code/datums/components/riding.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-04 13:17:35 -03:00
LemonInTheDark 3558dc1f1b Adds a coder override emote so manual custom emotes work properly (#52602)
* Adds a coder override emote to skip dumb shit with me

* I know this sucks, I can't comprehend how to do this cleanly without a full rewrite

* cleaner now
2020-08-03 05:05:07 -03:00
Theos 7f0d247120 mood multiplier no longer applies per moodlet (#52632) 2020-08-03 03:51:53 -03:00
girl 40bff016e8 Componentizes Surgery-Initiation Devices (#52295)
* meow

* doc moment

* meow
2020-08-03 01:38:32 -03:00
NightRed 9c19b8c6ce Fixers for telekinesis and the defibrillator interactions (#52571)
* tk and the defib

* fixed range check

* extra check that is not needed

* only show ear damage on threshold pass

* wrong branch am bad

* is living check
2020-07-30 22:48:37 -03:00
Wayland-Smithy 672367590c Fixes chasms to oblivion not killing living mobs before deletion (#52556)
* Fix chasm death before deletion

* Thou shalt not kill what is already dead
2020-07-30 14:43:19 -03:00
Ryll Ryll dfcd304dcc Dismemberment wound tweaks, zombies are easy to wound/dismember, tweaks to head vulnerability (#52534)
* adds wound armor to helmets + such, nerfs standard head resist

* dismember + wound species balance, retitle traits
2020-07-30 01:18:57 -03:00
Couls 27838579e3 Drinks can now carry diseases, Wipe down your glasses with rags bartenders! (#52421)
* Drinks can now infect you, Wipe down your glasses with rags bartenders!

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/datums/components/infective.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/datums/components/infective.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-29 21:08:10 -03:00
Daniel Hultgren 0741b1977f Cleanable cleanup (#52477)
* Don't initialize the atom_colours list on atoms until it's actually needed

* Moved bloody_hands var to mob/living/carbon/human instead

* Added COMSIG_COMPONENT_CLEAN_RADIATION signal to reduce moms spaghetti

The shower and suit storage unit now calls this signal instead of either doing it manually or doing it via the washed proc

* Cleaned up carbon washing, renamed washed to wash

* The wash proc now doesn't take the washer as first arg because that wasn't used anywhere
* The wash strength is no longer optional
* Carbons now overrides the wash proc instead of using the signal
* Properly check for obscuredness before washing any equipped items
* Properly wash all items and bloody hands etc
* Added clean_lips proc for humans for cleaning any lipstick

* Cleaned up washing. Washy stuff now calls wash instead of calling the clean signal directly

* Renamed is_cleanable to ismopable, gives this category a more fitting purpose. Many things beyond floor decals are cleanable. It is now also determined using the atom layer instead to make it more generic.
* Properly utilize the is_cleanable define
* Added wash override for turfs where they also wash any mopables on the same tile
* Space cleaner and cleaning element etc now simply washes the mob instead of doing its own manual cleaning on ~some~ equipped items

* Non-component washables now simply override wash instead of registering for the clean signal

* Fixed some left over clean signal registers not returning true

* Added clean_strength var to space cleaner

* Moved human wash proc next to the other washing procs

* Also wash glasses and mask if not obscured when washing face

* Fixed attempting to "scoop up" cleanable decals using a rag

* Fixed plasmaman spacehelm icon not updating when washed

Also removed a duplicated worn_overlays proc

* Fixed head icon not updating when washing lipstick

* Moved radioactive clean signal register to where it should be

* Added atom radiate VV verb for debugging

* Redesigned the CLEAN constants into a more sensible flags setup

This makes it more dynamic, cleaning apparatuses can clean more specific than just a cleaning strength.

* CLEAN_TYPE_* flags indicate a specific cleanable, such as blood, fingerprints or disease
* CLEAN_* consts consist of a combination of cleaning types to make cleaning apparatuses have a consistent behaviour on what they clean

* Fixed broken rad removal logic in showers

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

* Removed unneccesary bool from sink code

* Fixed wrongly named variable in turf wash

* Renamed bloody_hands to blood_in_hands

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-29 09:31:38 -03:00
AnturK e5cf3c05b8 Simple skill/skillchip framework (#52314)
* Simple skills framework.

* Map changes.

* Adds skillchips to vendor

* Adds skill stations to the map.

* Circuitboards

* Fix typo

* Some minimal instability

* Fixes,tweaks etc

* Suggest better names or we'll end up with these.

* sharpness thing

* tgui build

* Makes wine from booze synthetizer show to wine tasters.

* Makes wine from dispenser have taste for wine tasters.

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

* Swaps to carbon var.

* wordy helper proc

* While i'm at it, other relaymoves

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-29 05:13:36 -03:00
ATH1909 539f50efd9 justice for dead mice (#52436) 2020-07-29 03:51:57 -03:00
Ryll Ryll 3b43d5b486 Tones down embedded damage, especially for spears (#52518)
* nerfs embeds, spears a bit

* fixes comment
2020-07-27 23:01:24 -03:00
skoglol 6392f74aa7 Merge pull request #52448 from Ryll-Ryll/lowering-the-bar
Lowers the bar for Disk, Please!
2020-07-25 19:34:18 +02:00
Ryll Ryll 46dd89b07a [READY] Wounds part 2: Piercing wounds, dismemberment changes, housekeeping (#51786)
* pierce the heavens

* starts doing projs

* continue pierce

* before armor

* before sharpness redefine

* rename sharp defines, before further implementation

* finishing undoing atk_type back to sharpness

* neatens up sharpness defines, FALSE -> SHARP_NONE

* more piercing, removes brute damage bleed, bubblegum no longer wound

* starts letting embeds get in on the fun

* half with embed

* work on dismembering

* continued embed work

* more moving bandaging to limbs

* more dismemberment work

* removing embed pierce stuff

* tweaking bullets

* more docs and work on dismemberment

* spans, piercing, guns

* dismemberment and scar fixes

* bee changes

* bullets embedding

* more bullet and dismember work

* dismemberment, surgery, piercing, formaldehyde,

* pleases travis

* pierce smite

* nicer on blood

* Auto stash before rebase of "tgstation/master"

* more neatening

* wounds only consider up to 35 damage, wounds on l6 and 762

* updates hulk

* balance

* defines

* lower slug to 50 brute to accommodate wounds

* adds differentiation for having flesh/bones/both in mobs

* moves scar descs to json, renames organic_state

* excises removed healing skill

* fixes logs, inconsistencies, some balance changes

* untab

* slight compress

* a

* kills pointed global list

* dmdoc

* halfway through roh

* finishes roh review

* okay NOW i finished roh's reviews

* roh roh roh your boat

* gently down the stream

* global lists

* list ops, fix scanner for bone gel improvised fix

* travis moment

* sounds added and moved

* pellet clouds can join the fun fully, slight gun balancing for wounds

* doc moment

* unconflicts myself

* update hulk

* Update code/_onclick/item_attack.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* crying ascii face

* final rohview

* oops

* final final

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-23 23:19:30 -03:00
Ryll Ryll 939556e31e non nukie target 2020-07-23 20:10:26 -04:00
Ryll-Ryll 2707d314fa make it a bit easier 2020-07-23 18:46:32 -04:00
skoglol 0d85dc20eb Merge pull request #52304 from Ryll-Ryll/fixing-under-protest
Fixes handi-capable tackling from beyond the grave
2020-07-21 19:25:51 +02:00
Ryll-Ryll f909ca0663 correct check 2020-07-20 23:25:31 -04:00
ArcaneMusic 911e702540 Adds a simple payment component, photocopiers now cost 5 credits to make copies each. (#51944)
* Take 1, initial mediocity

* Stonks

* I'm working on it don't stale me

* HOOOOOOO adjusts the photocopier, extends component functionality to the medical kiosk, etc etc/

* Fixes that one bug with printers.

* Removes an unused var.

* Makes defines

* I am a champion

* Moves econ defines over... econ defines.

* Forgot the comment.

* How about now?

* Accidently excluded payments from the dme.

* Slight text tweaks, also checkmark.

* updates economy defines.

* Apply suggestions from code review

Review Commits pre-cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>

* Post-Fixes from review.

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-20 22:40:59 -03:00
ArcaneMusic c69cb714f2 You can now store mice in your chef's hat. (#52253)
* Is that a mouse in your chef's hat.

* yeah that sounds about right

* Sure thing boss.
2020-07-18 14:37:29 -04:00
Ryll Ryll 53d1f1477d Adds hauberoaches, cockroaches wearing spiked helmets (#52161)
* done in under an hour

* sprite
2020-07-18 12:53:45 +02:00
Ryll Ryll 712898d713 webbit to do the incap check 2020-07-18 05:35:32 -04:00
Ryll-Ryll 60e3b6a67f changes buckling to buckled 2020-07-17 22:20:28 -04:00
Aleksej Komarov 0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
jdawg1290 62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
ShizCalev ccbd01386e Fixes another pellet cloud runtime (#52202) 2020-07-14 20:12:44 -04:00
skoglol 3c30af5ddc Merge pull request #52020 from Ryll-Ryll/cronch
[READY] Vendors can tip on people thrown at them extra hard, lets you set ejection speed on disposal outlets
2020-07-12 13:59:38 +02:00
AnturK f4af5ed28c Makes CanReach default to blocking. (#52115) 2020-07-12 04:25:27 +10:00
skoglol d32b69e83e Merge pull request #52002 from ShizCalev/riding-component-fix
fixes riding component check
2020-07-06 22:59:50 +02:00
skoglol d7e756b4c8 Merge pull request #52032 from ShizCalev/pellet-cloud-runtime-fix
Fixes pellet cloud runtime
2020-07-06 22:18:16 +02:00
Emmanuel S 6a4c79ac3c The Supplypod Renaissance Part 3: Admins can add shrapnel to supplypods (#51957)
* test


get code up to speed


finished?


polish


fixes mergies

* tgui
2020-07-06 16:23:34 +03:00