Commit Graph

1423 Commits

Author SHA1 Message Date
Luc 346a1b8142 Yet Another Surgery Refactor (#18325)
* Initial commit

Fixes up surgery.dm
Adds some tool behavior

* More basic changes

* Checkpointing: this is a little gross right now

* Add signal COMPONENT_CANCEL_ATTACK_CHAIN

* Cleans up surgery initiator

* Mostly gets surgery (and canceling it) working

* Add abstract proxy surgery steps

Also adds them to organ manipulation

* Clean up most existing surgeries

* Rework organ openness, adds define for aborting a beginstep

* surgery works again, also implements retry defines

* fix surgery computer

* add limb repair to synth implant removal

* retry implant checks

* Clean up abductor surgeries as well as some other things

* A lot
- Reworks organ manipulation to use a series of surgery steps instead
- Fixes some runtimes with open hands
- Lets mito zero out the germ level while treating necrosis
- Adds a debug surgery tool

* add debug surgery tool, note some TODOs for later

* Add conditional check for surgeries repeating

* update surgery retry logic to make it more of a bonus

* Lets abductors automatically retry any failed surgery steps

* Rework robotic surgery to use abstract/proxy steps

* Bunch of bugfixes and more!
- Limb reattachment works properly now, you can just slap a limb onto a person
- If the limb isn't robotic, it'll be useless until the surgery is finished with a hemostat, though it might be enough to get the patient out of the OR.

* Remove more now-implicit checks

* Slight reorganization

* more fixes across the board

* Remove unused variable

* Trying not to lose my mind here
- Does away with can_run() entirely
- Cleans up visible messages in code
- begin steps should now all have ..() afterwards
- slime bone surgery should be fixed now
- more docs

* Robotic  surgery is stoppable with a crowbar, all surgery can_start now checks parent

* Fix some broken robotic typepaths

* Typepath fixes, do away with some last TODOs

* Forgor

* Last cleanups before we go gold

* jk lol

* Make early surgery termination clearer

* More "last" cleanups

* Fixes tool flags, surgery initiation

- Fixes surgery not being startable by sharp objects
- Moves surgical tool flags to item traits

* Clean up surgery cancellation, especially for borgos

* I think this should GC better

* Apply suggestions from code review

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* Status is now step number

* Add a 20% chance to find nothing during organ manipulation

* Improve documentation, make forced_surgery a normal arg

* Charlie's reviews

* Why are abductors like this

* Little more verification, ensuring limb augmentation and organ manip healing work properly

* Fix torso organ manip being unfinishable

* Fix cavity implants, open-hand/any item steps

* Make sharp objects not try to start an operation with help intent

* Comments, quick target fix

* Re-order list so advanced bruise pack is pulled first

* Make surgical gripper function like an open hand

* Make mito only use one unit per organ for now

* Check if user is on operable surface before trying to operate

* Reduce admin logging

* Fix some bugs that appeared during the testmerge
- you can no longer start robotic surgeries with a scalpel (lol)
- you can now cancel surgeries on the first step after I fixed some bugs that I introduced (woo hoo)
- Synthetic limb attachment is now combined into a single startable surgery step, though still retains the fun flavor of both

* Swats some more bugs
- (hopefully) fixes a huge source of runtimes where we tried to check if we could run surgeries before checking if the surgery used an organ
- In doing so, moves the logic for determining if a surgery can start to the mob-level
- Fixes robotic reattachment surgery not working

* multi-bug drifting???

- Fixes a bug where a branching surgery with an any tool option could possibly override a step with a matching tool
- Fixes some intermediate surgeries failing due to not having specified possible_locs

* A few more fixes
- Fixes any surgery tool steps again
- Fixes cavity surgery again

* Hopefully fixes getting stuck in robotic organ manip

* Remove extra parent call

* Steel review

* Steel review

* Fix spacing for possible locs

* Roundstart traits

* Advanced surgical traits and other hal fixes

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
2022-09-16 18:48:43 +01:00
Henri215 c5d575dacb Give directions to EM (#19039) 2022-09-16 18:14:55 +01:00
Octus 1c7882cb11 Ports the TG Dish Drive. A quality of life machine for service. (#18855)
* ILOVEBARTENDING

* improvements

* oopsie daisy

* Apply suggestions from code review

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
Co-authored-by: ElorgRHG <71735193+ElorgRHG@users.noreply.github.com>

* Update cable.dm

* fixes cable runtimes

* Apply suggestions from code review

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* applies for code critique

* steelslayerreview

* Update code/game/machinery/constructable_frame.dm

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
Co-authored-by: ElorgRHG <71735193+ElorgRHG@users.noreply.github.com>
Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
2022-09-04 10:36:11 +01:00
SteelSlayer 358ff86ddb Removes the need for ComponentInitialize (#18833)
* removes `ComponentInitialize`

* mapload

* add back CRASH
2022-08-18 22:00:19 +01:00
Farie82 3dc47a125d Makes shieldwall generators actually work and not drain the CPU (#18613)
* Fixes shieldwallgen's
Also makes them not suck performance like hell

* Update code/modules/power/singularity/singularity.dm

* Update code/modules/power/singularity/singularity.dm

* Makes walls stop the shieldwallgen from making walls

* Review changes
Make shieldgen not process when inactive
2022-08-15 20:29:21 +01:00
Vi3trice 15600c41fe burn baby (#18786) 2022-08-12 15:21:11 +01:00
Qwertytoforty f2ccf0620f gives reactive armors internal power cells (#18712)
* gives reactive armors internal power cells

* removes special power cells

* Update code/modules/clothing/suits/armor.dm

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
2022-08-09 23:01:21 +01:00
Sinestia f1884b3c71 Fix 18746, Dedups cable coil description (#18747)
* Dedup

* Try something else
2022-08-09 10:07:06 +01:00
ParaGitV 0266a0bd85 Improve SM logging/visibility (#18670)
Adds investigate logging and more visible messages for interacting with the supermatter with telekinesis.
2022-08-02 14:32:47 +01:00
AffectedArc07 2da68e9b64 Atmospherics refactor (#18460)
* Atmospherics refactor

* META(GAMING)

* Cleanup

* RPD hotfix

* Fox review

* Do this

* Well that escalated

* Repath these

* Ah yes, scope creep

* Remove this comment

* Regression #1
2022-08-01 16:27:35 -04:00
S34N 07265abdf2 Makes trees transparent if important objects are hiding behind them (#18627)
* tree!

* Update code/modules/admin/verbs/freeze.dm

* yeet

* steel review, animate transparency

* more critical items

* charlie review

* charlie
2022-07-31 23:24:12 +01:00
Vi3trice f43693d927 Light icon behavior tweaks and fixes (#18579)
* Update lighting.dm

* Update lighting.dm

* Update lighting.dm
2022-07-30 11:49:38 +01:00
Adri c1376e08f8 Adds a lavaland and a space ruin, adds a "nest" structure (#18508)
* Adds goliath/grub lavaland ruin

* Adds syndicate drug lab ruin

* Fixes nest.dm issues

* Fixes APC init

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

* Satisfies linter

* Addresses AA review

* Addresses Farie and AA reviews

* Missed a \the

* Adds comments

* Made the warning message stand out more

* Removes redundant initial desc

* Moves APC vars out of init

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

* Replaces plating with airless plating

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
2022-07-27 21:32:40 +01:00
AffectedArc07 2f5cec832d Cleanup redundant machine stuff (#18494) 2022-07-27 21:25:39 +01:00
Kugamo 38f335e8b9 Big Fat Emission PR (#18124)
* amogus

* Revert "amogus"

This reverts commit ebaa99c77b.

* Part 1

* rest of the airlocks

holy shit that took a long time

* part 2

* part 3

finale

* conflict resolution

* fixes warnings

* fixes paneloen airlock emissives

* adds back changes from #18145

* #18085 sprites

* SteelSlayer Review

readded process in status_display, idk why I removed it, it broke some functionality

* future proofing firedoors

Talked with the contributor who added emissive appearances to the codebase. As of now they wont block them unless they spawn as closed, but with future PR merges this code will work.

* solar panel PR conflict resolve

* pain

* small fix

* farie82 suggestions

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* farie82 suggestions part 2

* farie82 suggestions part 3

* finalle

pog champ ers 2000

* farie82 suggestions the sequel

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* SteelSlayer Suggestions

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
2022-07-23 11:31:20 -05:00
Vi3trice f4b37b4177 Port TG updating appearances (#17943)
* Get pants that match or else you gonna look silly yo

* Posters

* Fix other hud elements

* Rereviewed

* Update shotglass.dm

* Fix for new merged PRs

* Typo

* Coming across other stuff

* Update theblob.dm

* No takebacksies

* smh i forget to leave a comment

* Updated for the detgun and cards

* Should have rerun langserver again

* No longer plastic, more in scope

* Damn you bluespace

* Reverting turret logic, out of scope at this point

* Tweak that part

* Went over energy guns again, and fixed UI White's sprite sheet

* Welding masks, glasses, and JUSTICE

* Update portable_atmospherics.dm

* Cleaning up, clearing things up

* Review and suggestions

* Update valve.dm

* More tweaks

* Missing character

* Not distinct lightmasks, so they can be overlays

* Update generator.dm

* Add parameter so holodeck doesn't try to make a perfect copy

* Update unsorted.dm

* Spiders

* Better fix for spiders, fix vamps too

* Ghosts

* Update telekinesis.dm

* Cleaning up old procs

* It's set up to not copy datums... Unless they're in a list

* Donuts, duct tape, and detgun. D3VR coming to Early Access

* Update procs that interact with doors so they call update_state instead

* Forgot one spot, and actually might as well just force lock

* Cleaning up other things... Sigh, and kitty ears

* oops

* Getting used to how it works

* blinds

* Going back to the suit obscuring thing, so it doesn't update all the time

* Missed that from merging master

* I made this PR and forgot about it

* Fix runtimes in cards

* Make things a bit more unified

* Update update_icons.dm

* yarn, really?

* Update library_equipment.dm

* Update shieldgen.dm

* Every time Charlie merges something, I go back and see if I can improve things further

* what's this? more?

* Update misc_special.dm

* wow, paper

* Review

* More reviews

* To be sure, seems like being broken messed something sometimes

* Brought airlocks closer to how TG works to iron out some stuff

* Pizza and morgue

* Doesn't seem to hurt, tried with holodeck

* Revert "Doesn't seem to hurt, tried with holodeck"

This reverts commit 158529302b.

* Icon conflict

* Fix organ damage

* Don't ask how. Why. It's like that on prod too.

* Cutting down on things and updating from TG.

* More flexible. Just in case the thing you stuck it on didn't destroy.

* Hydro was one the things I touched earlier on, better rework it

* Reviews

* Cleaning up further, also bri'ish

* Undo a change I did, and switch over to a more recent implementation

* Update biogenerator.dm

* Rolling back to old airlocks, but with new duct taped note

* Functionally the same. I'd just rather not have the smoothing happen there

* Went over APCs again

* Fix welding helmet names in species files

* Update airlock.dm

* Update persistent_overlay.dm

* Oh, topic
2022-07-21 08:11:59 +02:00
S34N cebd76bdcb Expanded cyberiad permabrig (#18272)
* prisoner rights are cool

* pass 2

* prisoner-witnessed killings

* improvements 3, wire mods

* pass 4

* i accidentally turned this sofa red, revert

* feedback pass

* deconflict

* scrubbers!

* purges tom

* minor tweaks

* merge conflict pt2

* bmon review

* tweaks

* holopads!

* lockdown completeness

* shuttle seat

* rwalls? why?

* return of the pyjama

* more tweaks

* lizard

* bmon review

* TOILETS
2022-07-17 23:31:59 +01:00
Contrabang 0731101549 Gives cablecuffs and cables customizble colors, cablecuff(ed) sprites, and allows orange cables to spawn randomly (#18318)
* coloooors

* this should work

* bam, better colors

* fuck i didnt mean to delete the cueball

* cuffed state comment
2022-07-17 09:57:13 -05:00
KalevTait 694944e461 Code Readability - Power (#18245)
* power

* dissipate -> do_dissipate

* eye_protection =

* move APC charging #defines out of apc, and reference them in more places
2022-07-17 15:36:46 +01:00
Bm0n dd1be67ebd Ports Goonstation solar panels (#18326)
* the goons have put me on their hitlist

* whoops i messed up the teg

* FORGOT TO REDELETE THE OLD TRACKER
2022-07-15 11:45:12 +01:00
KalevTait 38679890ca Deleting Unused Variables (Code Readability) (#18317)
* deleted

* was supposed to delete this before first commit
2022-07-10 12:47:51 +01:00
Kugamo 9a8d6da7ab New TEG sprites (#18085)
* amogus

* Revert "amogus"

This reverts commit ebaa99c77b.

* T E Gee

:D

* adjusts sprites slightly

TEGs taller now, I though they looked too short b4

* makes pipe connection nicer

* Emissive Devices

yep

* suggested changes

Moved update_icon() call out of atmos/process, which was calling it multiple times a second, and into return_transfer_air() which is the only place where the critical variable is redefined.

* readds conflicted changes

* bruh

* SteelSlayer Suggestion

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

* removes duplicate proc

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
2022-07-02 12:45:24 -05:00
Charlie bead47ea29 Adds crawling. (#17899)
* crawling?

* knockdown. CONTAINS CHANGES THAT NEED REVERTING

* plotting can_moves death

* CANMOVE IS DEAD

* mappers are insane

* removes todos as the are todone

* decreases crawling speed

* silly-con fixes

* surgery fixes

* fixes death

* pAI fixes

* removes var/lying

* runtime fix

* decreases default crawling speed

* correct crawling dir

* some more fixes

* stunbaton tweak, revert later

* rejuv fix

* restraint and incapacitated refactor

* crawling dir in line with TG

* fixes vehicle movement and grabs

* alien rest fixes

* antistun fixes

* fixed fall sounds

* forgor to stage this

* first review

* canmove zombie dispersal

* fix

* lots of fixes

* defines

* fixes the trait helper

* if you got no legs you can still crawl

* sillyconfix

* no reverty keepy

* jaunt fix

* hopefully fixes perma sleepy zzz

* admin rejuv temp fix

* rest canceling

* antistun chems now remove knockdown

* buckle offset fix

* fixes some stuff

* crawling delay = 4

* descuffs bed

* sleeping hotfix

* fixes simple mob resting

* V is the macro for resting

* projectiles no dodgy

* refines the projectile check

* god I hate strings

* MORE FIXES

* I hate buckling

* fixes capulettium plus

* winding down

* farie review

* bugs did stop showing up

* SEAN

* todo

* sean review

* ed209

* i HATE cyborgs

* steel review

* laaaaaast things

* reverts stun baton changes

* and done
2022-06-30 11:57:52 -05:00
moxian 09e7f54a43 Convert most of /obj/machinery to use Initialize rather than New (#17845)
* Switch a bunch of /obj/machinery from /New to /Initialize

This is an easy and uncontroversial batch.
No globs, no late init, and stuff.

* Move more machinery to Initialize

This time the ones dealing with GLOB vars,
as well as some simpler ones i missed previously.

* More tricky New -> Initialize migrations

* The last of machinery Initialize conversion

* fixups

* Newscaster armor fix

* styling

* Comment on armor handling

* Move newscaster armor definition back to datum

* farie82 review

* kill extra .=

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* farie's review part 2

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
2022-06-29 08:33:52 +02:00
Sirryan2002 6f5584edce checks + returns for extinguished lights (#18010) 2022-06-20 14:27:27 +01:00
Charlie 0f7a8707ef [Ready] Refactors stuns and status effects. (#17579)
* Fixes reviver runtime

* Confusion status effect

* Dizzy status effect

* Drowsiness status effect

* decaying -> transient

* Drunkenness status effect

* why use timer when SSfastprocessing work good

* stuns (mostly)

* weaken and immobalise

* stun/weaken times

* update_flags redundancies.

* Slowed()

* Silence + fixes transient decay

* Jittery

* sleeping

* Paralyze -> weaken

* Cult sluring

* paralyse

* Stammer

* slurring + projectile cleanups

* losebreath

* Hallucination

* forgor this

* eyeblurry

* eye blind

* Druggy

* affected didn't like my spacing

* review pass

* second review pass

* some cleanups

* documentation and signal framework

* confusion fix

* Fixes spec_stun

* rejuv fix

* removes a TODO

* conflicted myself

* fixes

* self review

* review

* removes TODOs

* adminfreeze

* TM fixes

* hallucination fix + others

* tones down alchol and runtime fixes

* confusion overlay suggestion

* more fixes

* runtime fix

* losebreath fix

* clamp => directional bounded sum

* steel review

* oops

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

* reduces the dizziness cycle rate

* borg hotfix

* sanctified decursening

Co-authored-by: mochi <1496804+dearmochi@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
2022-05-24 16:35:26 +01:00
Qwertytoforty 052e296e8a Stops CC / ussp special lights from runtiming on deconstruct (#17802) 2022-05-16 15:16:36 +01:00
AffectedArc07 903e1f1f97 Some malf AI exploit fixes 2022-04-30 20:41:36 +01:00
GuiltyNeko 8009eea963 Ree unused code (#17625) 2022-04-30 16:14:50 +01:00
S34N 5cc55f206d Revert "Fixes singularity radiation not reaching rad collectors" (#17685)
This reverts commit 79fe4f7dd2.
2022-04-30 15:56:30 +01:00
Charlie ab46ce2626 Fixes narsie and other singularities getting shuttle crushed (#17622)
* fix

* OOP solutions
2022-04-20 12:27:42 +01:00
atteria bcf90593ed Improves belt item overlay code, Adds new belt item overlay sprites (#17568)
* belt-improvements-and-sprites

* fixes my fix of botany belt allowed contents
2022-04-12 15:57:21 +01:00
S34N e372e95933 Removes gateway missions we don't and won't use (#17530)
* removes gateway missions we don't and won't use

* removes additionals

* Update code/modules/power/singularity/singularity.dm

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

* makes things work properly

* tick this please

* and of course this map used some random single gun stolen from another away mission

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
2022-03-29 11:38:56 +01:00
Sirryan2002 6070a9222b Players can no longer exploit Meteorshot to throw anything that's not a turf (#17465)
* glorious fix

* moves check over to move_resist

* Update code/modules/projectiles/projectile/bullets.dm

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
2022-03-08 11:39:17 +00:00
Sirryan2002 82374949a0 removes heavy cable (#17460)
* removes heavy cable

* readds regular cable to vending machine

* removing icons
2022-03-07 17:18:53 +00:00
SteelSlayer 7131a3f2e2 Fixes Dreamchecker warnings in the codebase (#17422) 2022-02-23 08:36:02 +01:00
Luc 8bec8c75b3 Orbit Refactor, Add Orbiter Count (#16718)
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
2022-01-13 16:12:36 +01:00
Qwertytoforty 078fa2a185 QOL tweaks for supermatter sliver objective (#17297)
Co-authored-by: dearmochi <1496804+dearmochi@users.noreply.github.com>
2022-01-09 22:29:15 +01:00
Vi3trice 8073bd50aa Fix - Disassembled solar consoles don't turn into invisible computer frames, and disassemble in logical order (#17267) 2021-12-26 17:51:49 +01:00
S34N ac6f9b4725 [IDB Ignore] Refactor icon smoothing to use 8-bit bitmasking (#16620) 2021-12-15 17:04:24 +01:00
Charlie a56d5fb0ee fixes duping lights (#17192) 2021-12-10 09:18:08 +01:00
Vi3trice 0fd84b65c7 Refactor the gravity generator to use less sprites, and cut down on code (#17154) 2021-12-03 18:17:09 +01:00
S34N e72fda67b2 Ports TG emergency lights, adds special code Epsilon and Delta effects. (#16333)
Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com>
2021-12-01 22:20:53 +01:00
Fox McCloud 0f8ceeba23 TG Sprite Project: SMES, Supermatter, and Rad Collector (#17139) 2021-11-20 09:03:31 +01:00
Paulo Elienay II 370c674200 Cult veil-torn text appears to lobby players #17009 (#17011)
* fix: #17009

* style: requested changes

Co-authored-by: hal9000PR <69320440+hal9000PR@users.noreply.github.com>

* fix: requested changes

* Update code/modules/power/singularity/narsie.dm

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

Co-authored-by: Elienay Albuquerque <paulo.albuquerque@mv.com.br>
Co-authored-by: hal9000PR <69320440+hal9000PR@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
2021-11-12 15:16:42 +01:00
Fox McCloud 06df88706f Beginnings of Combat Changes: Ranged Weaponry (#17075) 2021-11-11 21:24:02 +01:00
Paulo Elienay II 7abc485a78 Unable to remove solar panel assembly from a bag of holding #17021 (#17023)
* fix: #17021

* style: project style

* refactor: project style

* refactor: requested changes

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
2021-11-04 19:00:21 +01:00
Fox McCloud 13a749c452 Merge pull request #16976 from SabreML/ipc-damage-overlays
Fixes IPC damage overlays not updating
2021-11-01 18:00:52 -04:00
SabreML a9ccc59e58 Loop exclusion
Co-Authored-By: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
2021-10-25 10:34:12 +01:00
Sirryan2002 e83e81a8d2 bruh (#16983) 2021-10-22 11:26:42 +01:00