Commit Graph

55 Commits

Author SHA1 Message Date
Ryll Ryll
20fd4822f2 Simplifies ear damage, allows empaths to properly spot deafness (#51436)
About The Pull Request

Ears currently behave strangely compared to other organs, especially their most closely related sensory organ, eyes. They only assign a deafness trait for quirks, mutations, and clothing (which prevents empaths from noticing hearing damage deafness), have lots of unnecessary procs for dealing/assessing damage, and several audible events check istype() for earmuffs specifically for whether a mob can hear something.

This cuts down on all of that. I removed most ear related procs from mobs, tied deafness explicitly to TRAIT_DEAF (and added a new source for hearing damage), and generally neatened up related code. As a direct result, empaths can now detect deafness from hearing damage, as I assume was intended. I also fixed a bug with examining with med HUD's or as an observer not showing a person's quirks, though I'm not sure people will really care about the info with med HUDs. Also, full revives/regenerating organs now remove all damage from existing organs rather than only trying to replace missing ones

In addition, Inacusiate and Sensory Restoration no longer instantly cure all hearing damage when applied, they now rapidly decrease both ear damage and deafness each tick. This isn't really a fix, but I figured I'd throw it in since I think cobby wanted to move away from instant fix microdose chems, and I punted the restoreEars() procs anyway

Fixes: #51435
Fixes: #48974
Why It's Good For The Game

Brings ears in line with how other organs operate, makes them easier to understand, and restores (what I assume to be) intended functionality for the empath quirk and medhud/observer examines
Changelog

cl Ryll/Shaps
fix: Empaths are able to detect deafness derived from hearing damage
tweak: Inacusiate and Sensory Restoration no longer instantly heal all hearing damage when applied, instead rapidly removing both ear damage and deafness.
fix: MedHUDs and observers now display quirks as intended on examine
/cl
2020-06-19 10:51:06 +12:00
Ryll Ryll
e461b24ee3 Removes turf embedding (#51571)
* Auto stash before rebase of "tgstation/master"

* updates for wounds

* more cleaning up

* reexamines examines
2020-06-16 13:39:47 +02:00
nemvar
cf28d15dc5 Chunky waddle (#51383) 2020-05-31 23:04:07 -03:00
spessman-007
ab84042f94 [READY] Improve spelling (#51134)
* Improve spelling

* Spell isn't, ain't, shouldn't, hasn't, wasn't correctly

Co-authored-by: NewSta <spessman-007@users.noreply.github.com>
2020-05-25 02:13:37 +08:00
Ryll Ryll
a4b69dbbbb Projectiles embed their shrapnel in the locations they hit (#50990) 2020-05-08 19:03:25 -07:00
Ryll Ryll
5c174800fb Grenades and projectiles can have shrapnel and embed, all carbons can suffer embeds, some bullets can ricochet, sizable refactor of embedding (#49634)
About The Pull Request

It annoyed me that we have a perfectly good frag grenade item, and a perfectly good shrapnel component, but no crossover episode between the two. This remedies that, and does a lot, lot more.

dreamseeker_2020-03-30_05-01-13.png

dreamseeker_2020-03-30_05-01-26.png

Big points:

    Adds new component: pellet_cloud, which can be used by ammo casings, guns, and landmines to spray shrapnel and display aggregate hit messages ("You're hit by 6 buckshot pellets!" vs "You're hit by the buckshot pellet in the X" x6). All gun ammo that shoot multiple pellets now use this component on firing.
    Adds stingbangs, premium less-lethal grenades that shoot off lots of stinger pellets, to cargo. Frag grenades are also reworked to have smaller booms, but shoot off lots of shrapnel shards. You can jump on top of these grenades to absorb a portion of the shrapnel to save those around you! There's an achievement for dying this way, called "Look Out, Sir!"
    Projectiles can now embed items/shrapnel. Adds .38 DumDum ammo to cargo that does less damage and has negative armor pen, but can embed in people. This is the only ammo that currently embeds.
    Bullets can now ricochet off walls, structures, and machinery (harder surfaces are more likely to ricochet). Only standard .38 and Match Grade .38/.357/L6 ammo can ricochet, with Match Grade being much better at ricocheting. You can buy Match Grade .38 from cargo and Match Grade L6 ammo from the nuke uplink, while Match .357 is admin only.
    Armor now protects you from harmful embeds, taking the better of the bullet/bomb armor on the affected limb. Armor penetration can modify this of course, and many blunt embeds like stingbangs and DumDum bullets are significantly worse if you have even 1 armor.

Other misc fixes/changes

    Refactored the embed element a bunch and fixed it creating new elements for every instance rather than expected bespoke behavior. There are new /obj/item helpers for modifying and adding embedding.
    Fixes #49989: Spears can no longer embed in turfs cause their sprite is annoying to me, it's generally harder for most things to embed in turfs
    Fixes #49741: New carbon helpers for removing embedded objects
    Fixes #46416: Handles embedded objects getting qdel'd or moved while embedded
    Renamed the old shrapnel component for RPG loot to MIRV to avoid confusion
    Repathed frag grenades from under minibombs to under base grenades, and added explosion vars to base grenades

Why It's Good For The Game

Fixes a bunch of janky design with embeds, adds lots of new avenues for projectile and grenade variety, ricochets and collateral damage are fun!
Changelog

🆑 Ryll/Shaps
add: Adds stingbangs to cargo (and one in the sec vendor premium), premium less-lethal grenades that shoot off a giant swarm of stingball pellets to help incapacitate swarms of people in tight quarters. You can jump on top of a live one to be a hero and absorb a bunch of shrapnel, same with frag grenades. There's even an achievement for dying to a grenade you jumped on!
add: Projectiles can now embed in people! Or at least grenade shrapnel and the new .38 DumDum ammo, now available in cargo, can. DumDum rounds excel against unarmored targets, but are pricey and do poorly against armored targets.
add: Bullets can now ricochet! Or at least, standard .38 and the new .38/L6 Match Grade ammo can. Match Grade ammo is finely tuned to ricochet easier and seek targets off bounces better, and can be purchased from cargo (for the .38) or nuke ops uplink (for the L6), but standard .38 ammo has a chance to ricochet as well.
tweak: Frag grenades now have smaller explosions but shoot off a bunch of devastating shrapnel, excellent for soft targets!
tweak: Shotguns and other multi-pellet guns now print aggregate messages, so you'll get one "You've been hit by 6 buckshot pellets!" rather than 6 "You've been hit by the buckshot pellet in the X!" messages. Bye bye lag!
balance: Armor can now protect against embedding weapons, taking the best of either the bullet or bomb armor for the limb in question away from the embed chance. Some weapons are better at piercing armor than others!
/🆑
2020-04-03 16:58:38 +13:00
kevinz000
d5cd073887 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-03-17 09:48:02 -07:00
Time-Green
c04abab2bf [READY] Makes plumbing mappable and reworks hiding (#49644)
🆑
tweak: Ducts can now be hidden under tiles
code: tile hiding is now an element and way cooler and sexier
/🆑

Ducts can now be hidden under tiles
Plumbing machinery connects can now be hidden aswell
Plumbing can now also be properly mapped in without breaking anything
Plumbing component now uses the normal overlay systeem instead of being a weird exception

You can now add the /datum/element/undertile element to instantly make something hidable under tiles when appropriate.
2020-03-16 20:37:59 +13:00
kevinz000
2c25b2cdfd Merge branch 'master' into movespeed_modifiers_take_two 2020-03-10 00:59:01 -07:00
spookydonut
beca456c0f Add new lints (#49751)
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-03-09 22:13:48 -07:00
Ryll Ryll
f9963454db Adds tackling (VIDEO INSIDE) (#49476)
* huthtuthuthuthtuhtuthuthuthuthtuthuthuthtuthut

* documents and expands, adds new glove types

* Adds slamming into tables and neatens up throwingdatum handling (+stuff)

* bit less squishy

* adds sprites, offbrands, swaps most combat insuls for tacklers

* adds dolphin and rocket gloves to BEPIS

* changes dna to traits, buffs tackling

* same as last commit but moreso

* updates docs, nerfs stuns

* vending machines, better docs

* window tackles for good measure

* gets window splats working

* polish off

* LAST DAY OF SCHOOL
2020-03-06 11:17:52 +08:00
Emmett Gaines
33458640dc Add lints for "new" override prevention feature (#49672)
* Add lints for "new" override prevention feature

* bEsPoKe

* i'm an idiot

* arg index
2020-03-05 10:22:19 -05:00
kevinz000
350b9b7a29 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-03-01 06:50:37 -07:00
spookydonut
cea5360e4b Updates codedocs with links (#49497)
About The Pull Request

Updating the best written documentation with the new linking feature.
2020-02-25 08:17:45 +13:00
spookydonut
1a9ddbee5f Merge pull request #48959 from Ryll-Ryll/embeddead
Refactors embedding, adds harmless embeds, sticky tape, admin buttons to make everything embeddable
2020-02-24 15:43:36 +08:00
Ryll-Ryll
6d379bf62b fixes a few bugs 2020-02-24 01:09:36 -05:00
Ryll-Ryll
7e384752e6 moves topic, cleans code, adds sticky tape to maint loot 2020-02-23 06:50:18 -05:00
Ryll-Ryll
0ecd64c74d e 2020-02-22 04:27:17 -05:00
Ryll-Ryll
cb3b82bdc1 lets you update embedding behavior, also makes red pens faster 2020-02-22 02:15:19 -05:00
kevinz000
df38abf7a1 Merge branch 'master' into movespeed_modifiers_take_two 2020-02-21 01:38:09 -07:00
kevinz000
851f5f2939 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-02-18 16:44:19 -07:00
Ryll-Ryll
8566aa8d60 still gotta figure out how to update embedding stats on the fly 2020-02-18 02:06:35 -05:00
Ryll-Ryll
1fae3d4c22 new beginnings 2020-02-18 02:06:35 -05:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
JJRcop
a1392847bd Remove ismovableatom macro (#9) 2020-02-17 15:03:16 +01:00
kevinz000
256d20cde0 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-02-17 05:50:27 -07:00
Emmett Gaines
9e34b3d6a1 Supports named arguments in AddComponent and AddElement (#49098)
AddComponent/AddElement now support named arguments. This requires passing around an argument list instead of using actual proc args which a bit gross but we can blame byond for forcing this.

InheritComponent uses mirrored init arguments instead of an argument list which means no more accessing it via index to get to the same arguments as in init.

As a small bonus I restructured dcs defines to be a bit more manageable. Mainly just splits them into separate files and gives them their own folder.
2020-02-17 17:57:52 +13:00
SteelSlayer
21fd1b25ee Adds the dunkable element (#49192)
* Adds the dunkable component

* Makes this an element instead

* early return

* makes this a bespoke element

* istype check for container
2020-02-07 10:30:06 -05:00
kevinz000
e13b3352bf Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-01-24 13:25:09 -07:00
spookydonut
3195ceaa22 Update SpacemanDMM suite to 1.2 (#48785)
* Update SpacemanDMM suite to 1.2

* Fix new lint errors
2020-01-16 11:49:39 -05:00
kevinz000
c91e19c442 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-01-11 22:17:04 -08:00
kevinz000
ce02e45ecb get rid of refactor tags 2020-01-11 22:12:07 -08:00
kevinz000
63d54e3e4f PAIN 2020-01-11 22:11:29 -08:00
MrPerson
e22560a346 update_icon() improvements (#48669)
* update_icon() improvements

Fixes some update_icon() calls to properly call parent and use update_overlays() and update_icon_state().

The rest of obj/item fuck it

* Suggested fixes, also passes the linter

* I always forget . = ..() is faster than return ..() FOR SOME FUCKING REASON

* Actually this is better

* Signilzes datum/action to update its icon when its connected item does.
2020-01-11 23:46:43 -05:00
kevinz000
46451e23ea move stuff 2020-01-10 07:27:44 -08:00
kevinz000
bb95b2a870 changes 2020-01-09 19:13:30 -08:00
skoglol
95b4d04185 Fixes waddling 2020-01-02 14:20:24 +01:00
81Denton
557d5f3266 Merge pull request #48505 from ninjanomnom/waddle-element
Makes waddling an element
2020-01-01 17:19:17 +01:00
Emmett Gaines
c6e71c5384 Makes forced_gravity an element 2019-12-31 13:00:47 -05:00
Emmett Gaines
119c4ebca3 Makes waddling an element 2019-12-31 12:55:53 -05:00
Ryll Ryll
958dedc3d1 Adds beating vending machines for free stuff/getting crushed to death (#47799)
* what a way to go

* buffs crush

* squish

* better crits

* more flavor

* buckle

* per action

* better pin

* better pin and respects ranged cheese
2019-11-30 03:57:03 -08:00
KomradeSpectre
db878e848b Adds a new element, Self-Knockback. (#47938)
* Adds a new element, Self-Knockback.

* Squashes a potential edgecase runtime in projectile_selfknockback before it can even happen.

* Allows item_selfknockback to interact with dense turfs now.

* Made self-knockback utilize the Element Bespoke flag to allow custom force and speed values on attachment.

* fixes newline issue, adds a usage comment.

* fixes the newline issue in self-knockback for real this time, thanks TortoiseGit.

* i swear on god almighty if this doesn't fix the newline issue, i'll eat a shoe.

* Testing newline lint
2019-11-25 21:34:14 +00:00
Emmett Gaines
12a4983b75 Adds a flag for bespoke elements (#47807)
* Adds a flag for bespoke elements

And applies it to firestacker

* Improves bespoke documentation
2019-11-25 17:53:00 +01:00
Emmett Gaines
5481515dff Removes the non bitflag slot defines (#47742)
Removes the non bitflag slot defines
2019-11-17 17:52:11 -08:00
MrPerson
cccdcc6d04 Shooting a BSA beam at the SM will make it delaminate (#47748)
* 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
2019-11-17 19:22:51 +01:00
spookydonut
cca969feea change these away from defines (#47105) 2019-10-17 10:10:51 -04:00
Qustinnus
a394ccdc2b Material datum chairs & tables and applies materials to all items (Now with less pain for mining & RnD) (#46525)
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
2019-10-08 11:06:02 -04:00
AnturK
b9e84d8946 Makes digital camo hide you from ai huds (#46814) 2019-10-02 12:19:36 +02:00
spookydonut
210ba5c571 Adds linting for equipped() pickup() dropped() (#46614)
* lint some inventory procs

* lineends

* f

*  line end

* lineend

* fuck

* changes per review
2019-09-25 02:31:29 -07:00
spookydonut
8b339f7f94 creamed component (#46496)
* creamed component

* creamed no

* make use of unused sprites

* applies to all living

* params

* changes from review
2019-09-24 17:17:33 +02:00