* improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates (#57004)
* improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates
Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
* Adds powerup system, refactors ctf pickups and powerup mine subtypes into it (#56605)
* Adds powerup system, refactors ctf pickups and powerup mine subtypes into it
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Humans have more complicated body temperatures (#54550)
This changes how carbon/humans stabilize body temperature, and changes how damage and wounds are applied based on temperature.
Humans now have a core body temperature along with body temperature. The core temperature is used for natural stabilization and what viruses like fever and shivers target by raising or lowing the core temperature of the mob.
The standard body temperature still exists and acts exactly the same for most items at this time but is now treated as surface temperature in humans.
Damage from body temperature for humans is now based on the core temperature instead of body temperature now.
Humans will now receive burn wounds when the body (surface) temperature is to high for to long.
This causes you to see alerts for the area temperature before you take damage in most cases improving visibility of dangerous situations.
* Humans have more complicated body temperatures
Co-authored-by: NightRed <nightred@gmail.com>
* Fixes Crucible Soul potion making you permanently phase through all matter and Void storm breaking after dying. (#55050)
Someone changed /obj/screen/alert to be /atom/movable/screen/alert and it caused this problem.
Also fixes the issue with void storm breaking if someone dies and gets revived.
* Fixes Crucible Soul potion making you permanently phase through all matter and Void storm breaking after dying.
Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
* 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
* Confusion will no longer continue to confuse after being cured
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
About The Pull Request
This PR adds medical wounds, new forms of injuries that people can suffer that cause debilitation and complications, and often require more than what can be found in a medkit to treat. But let's be honest, big complicated walls of text about medical changes make people's eyes glaze over easily- so I created a handy infograph to explain the basics!
Also there's a full guide here!
dreamseeker_2020-04-18_20-42-19.png
The infograph may not be fully up to date with the specifics of the PR's status, but it'll be updated along with major changes so people have something to use as a crash course for familiarizing themselves with how wounds function. I also have another infograph with all 9 of the possible initial wounds coming, and will be up soon. You can also find the longform design doc here with more info on the broad details, including descriptions of treatments: hackmd whee
What this does
There's a lot to cover, but here's the bullet points of the main features and changes:
Getting lots of damage on a limb can result in wounds, with more damage causing worse wounds. These can range from dislocated joints and minor cuts to compound fractures and fourth degree burns, and can affect you in different ways depending on what bodypart they're applied to (namely with broken bones).
You can damage individual bodyparts on clothing (only jumpsuits for now) through the use of lasers and sharp weapons. Bodyparts that reach max damage are considered "shredded" and will not apply any protection for that zone until it is repaired with cloth. If all zones are disabled, the entire piece of clothing is shredded and unwearable until repaired with 3 cloth. Jumpsuits give a small amount of wound protection, and since sharp weapons and lasers generally get extra wound bonuses against bare flesh, even a plain jumpsuit provides decent protection from a few laser shots or scalpel stabs.
Lasers gain a powerful niche versus unarmored/lightly armored carbons! As noted above, lasers can shred clothing and burn away zones of jumpsuits in 2 shots each, after which the target's bare flesh is exposed (barring other clothing), and lasers excel at dealing burn wounds against uncovered skin. Think big, nasty charring!
Bleeding is now totally limb based, and gauze is as well. Bleeding is also 95% cut wound based, meaning sharp weapons make you bleed rather than just having 40+ brute on a limb.
The more wounds and damage you get on a bodypart, the easier it'll be to gain more severe wounds. Wounds are arranged from Moderate, to Severe, to Critical in increasing severity, and you'll generally have to suffer the lesser ones before getting the worse ones.
dreamseeker_2020-05-15_03-15-59.png
Above: Someone having an incredibly bad day from bloodloss
dreamseeker_2020-05-04_22-29-29.png
Above: Scars from healed wounds
ShareX_2020-05-15_06-55-20.png
Above: Actual combat involving someone's head getting cracked
Here's a quick, if non-exhaustive, list of things I have left to do before I consider it feature complete
Finish adding treatments for each wound type/severity (mostly surgeries/triage for critical wounds)
Add second winds for bad injuries to give the victim a chance to get away
Flesh out severe & critical injuries in general
Find sprites for the bonesetter, bone gel, and anything else that might be needed
Add the medical items for treating the less severe wounds to the station
Polish code and remove any redundancies I left behind
Quick balance pass to make sure nothing is horribly abuseable
Why It's Good For The Game
Adds a flexible new system for representing damage on carbons with injuries that can be treated in different ways. Moderate wounds from getting toolboxed or sliced with a scalpel can usually be treated by a buddy or even by yourself with the right tools, but getting flayed with a fireaxe or a laser gun emptied into your bare skin may require extra attention or even surgery in bad cases! Also makes laser guns cooler and more like 40k lasguns that can flash fry people (cool!)
This should also make spessmen more resilient and harder to kill outright, while still adding consequences and complications to getting hurt. Wounds aren't immediately fatal, but they can do things like slow down interactions, deal damage over time through infections, and generally make you more fragile until fixed. They can also give you a "second wind" on being applied that gives you a small adrenaline boost (or whatever) to help disengage and escape immediate danger.
Changelog
🆑 Ryll/Shaps
add: Introduces medical wounds, new injuries that can happen to fleshy carbons when they sustain lots of damage on a bodypart. There's quite a lot of change here, but you can read the guide at: https://tgstation13.org/wiki/Guide_to_wounds and an extended changelog is available here: https://hackmd.io/l_FI9b3tSqa_woDadewJXA
add: Introduces scars and temporal scarring! Healing a wound leaves a scar behind that can be seen by examining someone twice rapidly, and if Temporal Scarring is enabled in character prefs, surviving a round with scars will save them to be granted at roundstart another round! Let your body tell stories!
tweak: Bleeding is now fully bodypart-focused, and 95% of bleeding comes from cut wounds from sharp weapons. Gauze is applied on a limb-by-limb basis, and helps staunch bloodflow rather than totally stop it. Notably, you no longer bleed just from having 40+ brute damage on a limb.
del: Organic bodyparts are no longer disabled at maximum damage, but are easier to cause wounds to
add: O2 medkits in emergency lockers have been replaced with new emergency medkits with basic tools for diagnosing and treating wounds and basic damage
tweak: Herapin now rapidly increases bleeding on all open cuts, rather than causing bleeding by itself. The more cuts on the target, the more it will affect them.
tweak: Neckgrab table slams now hit the targeted limb rather than just the head, with a large chance to dislocate or break a bone
tweak: Sharp weapons and burning weapons can now shred zones on jumpsuits, disabling protection on that limb. Damaged clothes can be repaired with cloth.
tweak: Slaughter demons now deal less raw damage, but gain the ability to cause cut wounds, which becomes more powerful with each attack on a humanoid but resets when bloodcrawling.
/🆑
* getting somewhere
* cleanup one
* cleanup two
* supermatter immunity > HADS
* more fluff
* proper return, compile
* lint
* lint 2 electric boogaloo
* cobby happy
* HADS
* some more changes
* i don't know why this file went rogue
* final fixes, small name change, difficulty up (polish!)
* skog help
* EUREKAAAAAAAAAAAAAAAAAAA
* chelp
* reverts some regenerate limbs changes as they are no longer needed, fully integrates attach limb power
* minor fuck before the big fuck
* the big fuck ALMOST DONE, FINISHING TOUCHES NEEDED
* the big fuck finale
* teenie fuck ;)
* line endings
Co-authored-by: spookydonut <github@spooksoftware.com>
* 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.
About The Pull Request
This PR fixes a bug where you could receive positive effects of hearing good music even if you did not hear any actual music due to being deaf, for example.
Fixes#43720
Why It's Good For The Game
Less bugs.
Changelog
cl Arkatos
fix: You will now only receive positive effects of hearing good music if you can actually hear the music.
/cl
About The Pull Request
Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls
This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE
I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game
Code usability
About The Pull Request
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
* 150 hours
* it compiles guys
* PERF
* meta conflictor
* oldcabin
* Revert "meta conflictor"
This reverts commit 812343ca615e5b00711786be4413ce3301cfcc90.
* oldmeta
* TAKE 5000
* NAME THIS
Also redoes Multiver/Palletta
* FRICK U FIZ
* NERF PERF
* comment cringe
* Checks for restraints/incapacitated for ichiyuri
* URIKA
Removes Healing-Scaling of Ichiyuri, Nerfs Healing of Aiuri.
* organ
* please upvote this
* maps...
* Gives Instabitaluri a Brand Name
Oh wow it's synthflesh 😆
* Update cat2_medicine_reagents.dm
* what kinda characters is Krys using
* Brain damage works on organ damage procs, some defib reworks
* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again
* Cleans up reused global
* Organ damage procs on living and living/carbon
* Changes brain damage procs again
* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.
* Damage and failure effects for the appendix, ears, and some touchups on the stomach
* Committing changes so I don't lose them
* Organs now cease decaying in the proper containers
* Organ Fridges
* Reverts map changes
* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime
* Actually fixes merge conflict
* Smartfridge tweaks
* Think I figured out map merger
* Evidently not
* Still runtiming with glass shards even after I remove the map changes?
* Fixes runtime error with brain_item
* Runtime fix on living/carbon/life
* Cleaning up old PR code
* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were
* Wrong math operation used
* Brains in MMIs no longer decay
* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts
* Removes misleading comment
* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss
* Removes random spaces, scanners check brain damage severity now
* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it
* List change
* Runs off of an index instead of using cut
* Brains can be put into organ fridges
* Fixes minor type, hotfix for cloning problem
* Removes pointless check
* Demon hearts no longer decay
* Nightmare hearts no longer decay
* Removes istype() check on process, sets can_decompose instead
* Condenses organ damage report
* Removes organ failure messages
* Less organ damage spam, implements organ threshold messages instead
* Brain damage messages go to owner, not source
* Self-examine shows damaged organs
* Minor code cleanup, adds autodoc comments to the new procs
* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.
* Merged the booleans into a set of flags
* Healthy living improves organ healing rates
* dunno why this didn't update
* my actions have consequences
* Sets ORGAN_SYNTHETIC for overlooked robotics organs
* Doubles heart decay time
* 3 minute heart decay
* Lobectomy/Coronary_Bypass heal more
* removes hivemind spells from the changes
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
About The Pull Request
As title, except a clarification: sounds that play with no source or direction are still stereo due to that the stereo will actually do something and not just be wasted space.
On a technical level, what I actually did was reexport (nearly) every single sound effect to mono 44.1khz sample rate Ogg at quality preset 5. This resulted in some small increases in file size in some places but other than that reduced file size across the board.
A couple of sounds that were wavs for whatever reason were also converted to ogg, this resulted in some code changes to change the referenced sound effect.
Some sounds were also recut. The grille hit and punches in particular are common sounds that had large and noticeable gaps at the beginning.
All of this has resulted in the compiled rsc file going from 102.7 mb to 83.2 mb.
Why It's Good For The Game
Free space with no (effective) drop in quality.
A standard for audio going forward. (that will be inevitably ignored)
Tighter sounds in some places.
Changelog
cl
soundadd: Downmixed every sound to mono. This shouldn't have resulted in any changes in audio, byond downmixes anyways.
soundadd: Recut some sounds. Sounds shouldn't have large silent/noise gaps at the start anymore
/cl
* staves
* projectiles
* sapped event
* last of the staves (need to sprite and get sounds)
* last of the projectiles
* Squash is a single-use plant in Plants vs. Zombies and returns as a premium plant in Plants vs. Zombies 2.
* removes staff of cooperation, adds fly magic status effect
* a couple things with flight + tweaks
* removes old bolts/staves, finishes and adds parts of the new set
* fixes
* fetching + flying fixes, added chill and wipe
* and done
* cobblestone's review
* legion cores remove CC
* legion -> regenerative
* lore
* Icons
fixes last reference to legion core in status
* Automatic creation of classes is possibly the worst feature of all time
* Moves remove_CC
* Review changes
cl coiax
add: Any talented Musician can now use any instrument to lift
spirits, and ease burdens. They can now also use the space piano and minimog
to grant people the Good Music buffs, just like a handheld instrument.
/cl
A living mob with TRAIT_MUSICIAN will now apply the Good Music
status effect to everyone who can hear the music. The buff will
now apply even to players who have disabled instrument sounds.
The Good Music status effect lasts for 6 seconds after the
musician stops playing.
Added STATUS_EFFECT_REFRESH that just refreshes the duration
of a status effect, rather than instancing a new one.
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.
Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove
cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
* Fixes bug with duplicating rod on removal while lying down, as well as implemented a new force_put_in_hand() proc, and cleaned up some code.
* Merged force_put_in_hand() with put_in_hand() and cleaned up code.
* -Replaces alien brain necropolis chest loot with new artifact
-Adds new artifact to necropolis chests loot, the Rod of Asclepius
-Adds corresponding status effect and defines
* Update necropolis_chests.dm
fixed spelling
* Spelling FIx
*disperses
* Fixed spelling, lowered the boost to the owner, added oxy heals, and refactored some of the code
* Adds some form of sprites (Still subject to change)
* Adds new sprites, fixes slime people taking toxin damage, and adds the rod to list of snake phobia objects.
* Nerfed clone healing and simple animal healing, fixed healing while dead as well as added a death event, tweaked the sprites, and cleaned up some code.
* Fixed grammar and cleaned up some code.
* Further cleaned up code because Cobby is mean.
* FURTHER cleaned up code
p.s. please send help, Cobby is holding me hostage
🆑 Xhuis
balance: Fleshmend can no longer be stacked several times at once.
balance: Fleshmend no longer heals changelings who are on fire, and heals burn damage half as quickly as brute and oxygen damage.
code: Fleshmend has been refactored into a status effect.
/🆑
Fleshmend is one of the abilities that makes changelings unkillable combat juggernauts with essentially no counterplay, so I decided to change it:
First of all, refactored it into a status effect that cannot stack, meaning that only one instance of Fleshmend can be active at once
Instead of healing 10/10/10 brute/burn/oxy damage, it now heals 10/5/10, emphasizing changelings' weakness to fire
If a changeling is on fire, Fleshmend will not function at all
This keeps Fleshmend powerful for healing in and out of combat, but adds counterplay to it and gives changelings something to fear: fire. With an extinguisher, they still need to manage their inventory to use it, and even with a fire-immune suit and helmet using the fire on them as a weapon will be unable to use their Fleshmend trump card to outheal any damage they take.
I'll be keeping an eye on changelings after this is merged and adjusting accordingly.