36 Commits

Author SHA1 Message Date
VMSolidus 48d8a06d1c Conditioning Skill And Mass (#22747)
This PR does a few new things:

1. Adds a Mass var for Movables (/Mob, /Obj) which is literally required
for me to do anything at all with Kinematics (Very routine basic
physics)
2. Adds a derived "effective mass" statistic which is generated via
signal hook, allowing sources like Skills, Drugs, Cybernetics etc to
pitch in and contribute to a user's "Strength" in certain situations
without directly modifying mass.
3. Adds a mass modifier var for species datums, while painstakingly
calibrating each and every single species with consultation from every
lore team. A baseline human gets 72.0kg of Human Reference Mass. Any
species applied to it will multiply this by a constant that
algebraically cancels out the Human Reference Mass and replaces it with
a Species Reference Mass. Changing a species via the usual procs will
reset and then re-apply the correct values.
4. Refactored Lift/Drag/Fireman to have limits and penalties based on
relative effective mass
5. Finally, to make use of all this, I've added a new Conditioning
Skill, which modifies effective mass.

The standard assumption made for Lift/Carry is based in an assumption
that a typical character should realistically be able to
lift/carry/fireman a person 1.25x their mass. Previously the fireman
carry mechanic was heavily hardcoded, and didn't have much in the way of
granularity. If I wanted to RP a character that was a bodybuilder, there
wasn't really a way to do this. With this PR, there's now a fairly large
variety of interesting breakpoints.

This also allows there to be more granularity between different species
as desired by our lore teams. For example, a Zhan is in general stronger
than a M'sai. To give an example in the breakpoints for two different
species:

Human Lift Breakpoints:
Rank 1: 90kg (lift a Skrell, Human, Offworlder, M'sai, KA, or ZA)
Rank 2: 112.5kg (Lift a Zhan, Shell, or Diona Coeus)
Rank 3: 135kg (Lift a (Non-Industrial) IPC, Unathi)
Rank 4: 157.5kg (No new breakpoints, though you get less a movespeed
penalty from lugging around any of the above)
Can Never Lift: Industrial, Bullwark, Diona, Vaurca Ta'

Zhan Tajara Lift Breakpoints:
Rank 1: 116kg (Skrell, Human, Offworlder, M'sai, Ka, Za, Zhan, Shell, or
Diona Coeus)
Rank 2: 145kg (Non-Industrial IPC, Unathi)
Rank 3: 174kg (No new breakpoints, though you get less penalties from
the above)
Rank 4: 203kg (Juuuust barely lift an Industrial or Diona with heavy
slowdown)

<img width="1078" height="436" alt="image"
src="https://github.com/user-attachments/assets/a6802515-a827-4dc1-8734-55b604c589ab"
/>

Conditioning as a Skill sits in the Occupational category, which has
been carefully chosen and designed around to create a fairly compelling
web of opportunity costs. As a skill, it's very desireable for basically
any person that wants to play a "Muscular character" and also enjoys
fireman carrying people around, which makes it particularly useful for
hangar techs. By contrast a Paramedic might not actually need this
skill, since they can bypass the usual limits by just using rollerbeds.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-07-12 18:06:51 +00:00
VMSolidus 201592f6bd Mob Destroy Refactoring (#22573)
Refactoring the entire destroy proc path from Mob Human all the way down
to Atom while trying to find the causes for the damn mob human hard
deletes. This PR comprehensively reorganizes every single stray
snowflake var used by /atom/ all the way to /mob/living/carbon/human,
and makes sure that every var that COULD store a reference, is now
cleared during the entirety of the Mob Destroy() parent hierarchy.

This may very well be the end of the lag war. 

In total, I've hunted down and cleared 39 hanging references between
/atom and /mob/living/carbon/human

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-06-03 15:15:56 +00:00
Cody Brittain 3f62424312 [MDB Ignore] [IDB Ignore] Kills off /obj/item/device (#21774)
This has zero reason to exist in our code base. We have no procs or
variables tied to this. I removed it to make future modifications
cleaner.

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-01 05:14:26 +00:00
hazelrat 3bf8379ba2 Adds a new Skrell audible emote (#20823)
Adds the *peep emote, ported from
[Baystation](https://github.com/Baystation12/Baystation12/blob/dev/sound/skrell/peep1.ogg),
available for Skrell, at request of Stripes in froglore.

Original source is
[here!](https://freesound.org/people/Lauraforero0921/sounds/586009/)
2025-06-16 22:18:48 +00:00
FlamingLily 1a493a998e Adds an *alarm audible emote (with sound) for IPCs (#20265)
Does exactly what the title says. The specific sound used is the warning
buzzer sound that plays when a delivery chute or disposal unit is about
to release an object.

Full disclosure, I did this because I specifically wanted this. I wanted
to be able to do this.
But, here's my retroactive justification for why it's *needed*:

IPCs do not have a sound emote to express _distress_. Sure, *buzz
exists, but that's more an expression of frustration or anger (the sound
is even called "buzz sigh"). Distress, though? Being caught in a corner
as the mercs with a dominian-army gimmick start blazing gunfire down the
corridor? Sure, you could use *scream, but that's very _human_. Sounding
an alarm? Now that's exactly what a soulless machine would do.
2024-12-24 12:43:01 +00:00
hazelrat 6968e0d55a Adds a rattling emote for Attendants (#20007)
At request of bug lore, adds a *rattle audible emote available
exclusively to Vaurca Attendants.

[Sound
origin.](https://uppbeat.io/sfx/rattlesnake-tail-shake-aggressive/6100/21239)
As far as I know this shouldn't require attribution.
2024-10-10 17:48:10 +00:00
Sparky 5404c03a45 Alien Sleep Updates - Allows upright sleeping, and indefinite sleep. (#19178)
This allows certain alien species (Currently Vaurcae, IPCs and Dionae)
to sleep while standing, and gives them a verb to let them choose to
sleep indefinitely.

It also adds custom messages for enter sleep and examining, as well as
changing the snoring emote for the above aliens too.

---------

Signed-off-by: Sparky. <ben.polwart@gmail.com>
Co-authored-by: Llywelwyn <82828093+Llywelwyn@users.noreply.github.com>
2024-05-22 09:10:16 +00:00
Fluffy 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
Fluffy ab23fbdb70 Function overloads condensation (#18939)
Unified most of the procs into one definition, so there are no duplicate
around the codebase.
Marked some of the above as overridable if a good enough case can be
made for them (eg. external dependency or unlikely to be used).
2024-04-19 21:19:41 +00:00
Fluffy c25c8b6a37 Last editorconfig fixup (#17782)
* one

* two

* three

* fsdsdf
2023-11-20 18:22:42 +00:00
Fluffy 4538e2a7cc Fix indentations (#17481)
* cbt

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fsadffsda sad

* sadfasd

* jhn

* dsfa

* saf

* safsad

* sda
2023-10-05 10:15:58 +00:00
Fluffy 955102ef4d More spacemandmm harnessing against bad code (#17376)
* sdfaf

* ssdasd

* dfsd

* try to apply a linter to spot violations of editorconfig

* sfdas

* asf

* sadfas

* sfasf

* asfsda

* sdaf

* sfsad

* totally not for testing

* aaaaaaaaaaaaaaa

* asfsadf

* saf

* sdfaf
2023-09-23 13:46:26 +00:00
Fluffy 5e1332d60f OpenDream linting (#16468)
* I wanna set the universe on fire

* dfsaaf

* setup

* dir issue?

* dsf

* Perhaps the script

* saf

* cry

* pain

* sdfas

* Try reintroduction of tag-matcher

* Failed

* Tries to suppress dotnet compile warnings

* Like this maybe?

* woopsie

* Damn pathings

* Hate

* Pragmas

* unlint?

* Maybe?

* GDI

* Redundant ifdef removed and changelog

* Did I forgot the tag matcher, or it was still broken?

* Yea no that script is still broken

* Removed tag-matcher as requested

* *sigh*

* test

* bro what?

* hope

* just fixing the input

* Let's see if we catch it...
2023-06-26 17:05:38 +02:00
Matt Atlas 9e54d75b03 Adds chugging, knocking on a table and slamming your hand on a table. (#15501) 2023-01-10 20:44:44 +01:00
Fluffy 04d89f212a Singletons + refactor of /datum/observ + refactor of /decl/ into /singleton/ (#15519) 2023-01-10 19:22:14 +01:00
Matt Atlas b1869884c1 Revert "Singletons + refactor of /datum/observ (#15487)" (#15515) 2023-01-05 19:21:22 +01:00
Fluffy 0ddcf0817a Singletons + refactor of /datum/observ (#15487) 2023-01-05 18:41:40 +01:00
Benedict 6307e0df2f Spiderbot Emotes (#14063) 2022-05-25 21:55:27 +02:00
Afya212 865ee03f89 Adds *tflick (#14058) 2022-05-25 12:54:29 +02:00
Afya212 0c78385206 Adds *flick (#13983) 2022-05-20 11:13:17 +02:00
Dekserrrrrr 8878c8f06a Unathi hiss2 is now loud (#13075) 2022-02-06 18:32:30 -03:00
Dekserrrrrr df683af125 Adds Unathi hissing sounds (#12690) 2021-12-26 21:14:38 +01:00
Forester40 7b525fc71d Makes the grumble and mumble emotes use a full stop instead of an exclamation mark (#12668) 2021-11-01 01:10:50 -03:00
LocoTokyoFunBus e99b7b58eb New skrell emotes (#12571) 2021-10-03 22:07:15 -03:00
flpfs e0e2aa55f0 Adds *click and *clack (#12273) 2021-08-02 17:24:11 -03:00
Casper3667 28c1fdbef4 Removes several sounds with incompatible license (#12263) 2021-08-01 17:22:43 +02:00
Doxxmedearly df79ae2cb8 Several Diona Fixes (#12135) 2021-07-05 00:27:01 -03:00
Doxxmedearly cb2675a973 Emote fix and cleanup (#12036) 2021-06-21 17:49:15 -03:00
Casper3667 1962abdc73 Adds *warble (#11650) 2021-04-19 13:38:30 +02:00
Casper3667 7a5b3c2bc2 Taj tail swaying (#11548) 2021-03-29 12:31:44 -03:00
Geeves ae46ed4a04 Zombie Stuff (#10499) 2020-11-17 10:15:09 +01:00
Matt Atlas 1d42cacf95 Fixes slapping atoms + range checks. (#9769) 2020-08-24 13:01:16 -03:00
Matt Atlas 574ba1eb9b Reducing overall lethality and nerfing lasers a bit. (#9691) 2020-08-19 10:22:44 +02:00
Snakebittenn 0caa20be31 Audible Hissing Sounds (#9369) 2020-07-19 20:32:22 -03:00
Geeves 4a3fcd288a No Lung Pop (#9337)
Drowning in the pool no longer causes your lungs to pop.
    You will no longer gasp for air when submerged, instead you will flail violently.
2020-07-12 17:19:04 +03:00
Matt Atlas 107bbc58d8 Ports emote decls from Bay + automatic pain emotes. (#9215) 2020-07-03 20:14:23 +02:00