* Converting the EMP protection component into an element. (#54617)
* Converting the EMP protection component into an element.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Standardizes attack chain signal returns and fixes a tk bug (#54475)
The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.
In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.
Additionally, fixed a tk bug reported by @ Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack
Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.
Also cleaned some code here and there.
* Standardizes attack chain signal returns and fixes a tk bug
Co-authored-by: Rohesie <rohesie@gmail.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Remove references to old singularity machines (#53509)
Removes the singularity generator and the particle accelerator. The former had no sprite, and the latter only existed because of a leftover type path. This does not affect gameplay at all.
Removes the "Start Singularity" verb that was only intended for debug use.
Fixes#53508.
* Remove references to old singularity machines
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Readds the tesla, reworks it a bit (#53072)
* Makes tesla movement nicer, fixes some atmos concerns, changes how energy is handled, and readds the tesla
* readds delam and desc
* I fucked it
* flags
* holy fuck
* Constricts the zaps that can generate power from a tesla coil
* *kick?
* Readds the tesla, reworks it a bit
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities
* Review fixes
* Geiger counters cleanup
Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now
* Moved SS*_DT defines to subsystems.dm
* Rebase fix
* Redefined the SS*_DT defines to use the subsystem wait vars
* Implemented suggested changes by @AnturK
* Commented /datum/proc/process about the deltatime stuff
* Send delta_time as a process parameter instead of the defines
Also DTfied acid_processing
* Dtfied new acid component
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities
Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)
Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.
Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.
* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut
Co-authored-by: Rob Bailey <actioninja@gmail.com>
* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#52873)
About The Pull Request
This PR removes the tesla and Mrs. Pacman from the game. The title is actually misleading, the TEG and singularity are still in the game but inaccessible and the singularity no longer has its generator.
Field generators and tesla coils have been kept because shocking your fellow man is the greatest sensation of power in the world.
The overcharging delamination for the supermatter has been replaced by the release of 2500 mols of tritium at 500,000 kelvin. An engineer who's really hateful of the station can use this for fusion, if they desire. Otherwise, its a tritium fire in engineering alongside the explosion. This will probably be changed in the future to be more potent since the explosion will pretty much just space all the tritium away.
Singularities no longer produce radiation. Now, keeping one is less about making power and more about making a statement, especially since you need to delaminate an SM shard for it.
Why It's Good For The Game
Having power optimized for one generator (SM+Turbine) will allow balancing to be feasible, also oranges wanted this. The other generators may later return but with tweaked values and different roles.
Changelog
🆑
del: Nanotrasen has removed their outdated teslas, singularities, TEGs and Mrs. Pacman generators from their servers and warehouse.
/🆑
* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam.
Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
* 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.
* Cleanup up all instances of using var/ definitions in proc parameters.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
Moved their definitions to colors.dm
Made white the default color. It was so already, but that was very obscured.
Moved the atom light-related variables to the atom definition.
Wrapped changes to variables such as light_color into procs that report the event through signals.
Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
Cleaned up a little bit of code in where new variables were defined before redefinitions.
This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.
There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
* Color standardization, vars moved, and signals
Co-authored-by: Rohesie <rohesie@gmail.com>
* Converts everything to use setAnchored() + other fixes
* Fixed singulo debug
* singulo again
* forgot to move the vv_edit proc
* caught that this time :)
* changes
* Update code/game/atoms_movable.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
About The Pull Request
Removes the research point gen modes from tesla coils and rad collectors.
Someone is gonna take some flak for removing these at some point, may as well be me.
Why It's Good For The Game
THE DESIGN DOC DICTACT-
Nah powergen should be valid on it's own, it shouldn't need to rely on other econs to make it worth the work. We can try that later, but not now.
Changelog
cl
del: Removed the research modes from tesla coils and radiation collectors.
/cl
* Datumizes all uses of change_view
* Cleanup and helper procs
* tweaks values to match the format, hint hint, (value - 0.5) works just fine
* And there's the rest
* woop, braindamage
* and one more
* fuck you menu file
* woops
* we should apply that
* fixes tooltip drift, thank you goon coders
* you can shake but you can't zoom
* makes cult sexy
* turns cult sprites into sex
* gurgr
* hola
* final commit maybe
* FUCK
* shit
* a
* walla walla bing bong
* man fuck
* i didnt even know you could do this wtf
* new sounds from actioninja
* ahoy spongebob
* yeah
* bazinga
* should be finished
* oops
* objects moved into are now consumed
if the singularity bumps into an object it continues moving in the same direction
* no longer infinitely runs into not destroyed objects
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* Added cult major loss if Narsie is destroyed.
* Minor corrections.
* Why did this compile?
* Minor fixes.
* Not bool
* Changed to defines as requested
* Makes all CanPass procs call parent
* Makes CanPass more extendable and gives the mover a say in the matter
* Replace CanPass with CanAllowThrough to use the new system
Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`
* Simple optimization pass
* BSA beam delams the SM via a new signal
Adds a BSA beam blocker element that blocks bluespace artillery beams. SM and singulo have it.
* Shut up Travis
* Destroy the singularity when it's BSA'd
* No shooting nar-nar with BSA
* Removed an incorrect and unhelpful comment
About The Pull Request
Allows Field Generators and their containment fields to block Gasses when active. Field Generators now project shielding over the floor that prevents melting. Intended as a prelude to making turfs melt easier under high heat.
Why It's Good For The Game
Allows for setting up safe gas containment with some risk for containment breach.
Changelog
cl Jdawg1290
balance: Field Generators now block gasses and shield floors from melting when active
/cl
Several of the greps were missing the `-P` switch which caused them to
fail to match things. The EOL grep also wasn't working right so I
replaced it with the one I added to TGMC.
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)
this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.
also applies materials to everything, with fixes, which can close#46299