Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.
Almost certainly a candidate for test merge.
Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Refactored the attack proc signature.
Added signals and components for the attack proc.
Added signals and components for the attackby proc.
Adjusted some leftover attackby procs signatures.
Added grep test to ensure people don't keep adding attack/attackby procs
with the wrong signature.
Refactored all the builtin text procs to use string interpolation
instead.
Added a linting for the above.
This is based on, and should only be merged after, #19847
Refactored the abstract meta propriety into defines.
It's now more easy to spot/see abstract types thanks to the macro that
defines them.
Added a check on initialization of atoms to avoid spawning abstract
types.
Made the spawn_atom proc check for abstractness.
Made the spawn_atom proc use tgui_list for types list shorter than 1000
elements, which enables to search in them. It's too laggy on larger
lists so above 1000 it uses the builtin input.
Made the spawn_atom use a list subtraction instead of a double list,
it's lighter on memory and processing.
The removed `qdel` seemed extraneous from what I could gather. There may
be a niche instance that the `qdel` caught, but from what I read of the
code and testing it, the `qdel`s in `activate()` and `small_countdown()`
are sufficient. I could have put it behind an if statement, and still
could, but it looked messy and seemed unnecessary.
I have some small gripe with `DROPLIMB_BLUNT` somehow not causing injury
or a bleeding wound. If someone gets their hand hit so hard with a
baseball bat that they no longer have their hand, I doubt it would be
bloodless. I struggle to think of a scenario where the loss of a limb
does not involve heavy bleeding.
Anyway, I settled for changing it to a `DROPLIMB_EDGE.` I was
considering adding an instant bloodloss (5-10% depending on which limb
was exploded), but that felt a bit much.
Additionally, I would like to make the change from `_BLUNT` to `_EDGE`
for [Greimorian egg-bursting limb
loss](5e69bf50bc/code/game/objects/effects/spiders.dm (L322)),
but I worried it would muddle this PR too much.
Below image shows what a health analyzer scan prints with the new
`_EDGE` limb loss. When `_BLUNT` there is simply no wound, bleeding, or
pain.

Refactored hitby to be in line with TG's version.
Refactored item weight defines to a more clear naming scheme, also in
line with TG's version.
Refactored how the movement bumps are handled, ported signals to handle
them, in preparation for the movement update.
Fixed disposal hit bouncing the hitting atom on the wall.
Items do not push other items anymore if they are tiny.
Standard examination was in an examine box. This makes it so fluff
examines are also in a box.
Fixes#18438
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Cleaned up the examination code a bit, added signal for atom
examination, DMDoc'd, SDMM headers.
Refactored mech missing parts code to be included in the examination.
Moved atom examine code to a separate file.
Added telefreedom implants, including a box with (almost) everything you
need to make them work for 4 people, and added it to the uplink.
Fixed implanters not taking the implant and dropping it to the ground
when hit by one (while keeping it referenced).

Adds four new weapons from the United Syndicates and the Federal
Technocracy.
Himeo has received two new guns based on the plasma cutter; the Guthrie
assault blaster and the Sabo-Tabby heavy blaster pistol. Both use a
hydrogen cell 'magazine' to mimic the more advanced, more accurate
Zavodskoi blasters on the market.
Galatea, likewise, has received the O61-B laser rifle pack set, an
export model of their own O61 Infantry Laser Rifle, and a gauss 'nitro
express' rifle, which fires tungsten slugs. Attempting to fire the O61
without a Galatean implant will result in consequences.
All sprites are my own handiwork, and all credit for the laser pack goes
to Alberyk for his work on the gatling gun. Matt and Schwann also
provided a great deal of help.
Our SSOverlays system is outdated, and is likely the cause of many of
the issues seen in #18895. It has also been linked to a massive server
performance decrease.
This brings an updated system from Baystation, hopefully with speed
increases.
Should be testmerged, ideally with #18895.
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
* pain
* sadfas
* sdfa
* sdfasf
* sfa
* sdf
* might the lord have mercy on our soul
* i cri everidai
* adeste fideles
* sdf
* where will this lead, what's coming next, from your inventions
* dear lord
* gjvhk
* i cri everidai
* fsgf
* sdfa
* sdaf
* hiuhi
* SDQL2 update
* fix that verb
* cl
* fix that
* toworld
* this is pointless
* update info
* siiiiick..
* vv edit update
* fix that
* fix editing vars
* fix VV
* Port the /TG/ globals controller.
* part 1
* part 2
* oops
* part 3
* Hollow Purple
* sadas
* bsbsdb
* muda na agaki ta
* ids 1-15
* 16-31
* 41-75
* bring me back to how things used to be before i lost it all
* the strength of mayhem
* final touches
* cl
* protect some vars
* update sdql2 to use glob
* stuff?
* forgot that is not defined there
* whoops
* observ
* but it never gets better
* a
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* i alone am the honoured one
* THROUGHOUT HEAVEN AND EARTH I ALONE AM THE HONOURED ONE
* hollow point
* nanana
* ssss
* tgsay final touches
* stuff
* tgui inputs
* help
* carpal tunnel syndrome
* ffff
* again and again and again and again
* hehehehe
* dsada
* readd sanitize
* whoops
* dsad
* nah fuck that
* sd
* fix
* ow
* remove prefs for testmerging
* oops
* oops 2
* fix that
* f
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* Removes old UT definition files (drone/travis)
* Adds concurrency definitions to the workflows
* Changes our workflows to be more in line with what /tg does
* Adds a workflow to build/commit TGUI
* Adds a workflow to build/commit changelogs
Add python version to dependencies.sh
Fix dme errors
Removes a bunch of not included files
Cache Opendream and add directory to check_grep.py
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
* bluecrystals 1
* Splits telecrystals into bluecrystals and telecrystals.
* fixes
* dans ma tete ce n'est pas evident
* c'est toujours trop beau pour etre vrai
* on ne peut toucher le ciel des doigts
* thanks lily
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* Update the codebase to 515.
* edit that
* WHOOPS
* maor
* maybe works
* libcall and shit
* do that too
* remove that
* auxtools isnt updated so get rid of it
* actually remove auxtools lol
Co-authored-by: Matt Atlas <liermattia@gmail.com>
changes:
rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
rscadd: "You can change icon style to any font on your system."
tweak: "The game window has been altered a bit to adjust for this."
rscdel: "Removed skin style prefs as they are no longer used."