Commit Graph

155 Commits

Author SHA1 Message Date
tralezab
d79a70f610 fixes simple_flying element missing ELEMENT_DETACH ! (#59096) 2021-05-15 01:44:32 -07:00
tralezab
132a755aa3 Componentizes Duffelbag Curse and turns it into an RPGloot modifier (+ curse announcement element) (#59029)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-14 01:03:45 -07:00
Kylerace
b95a6af896 big connect_loc fix. teleporters dont cause runtimes and movables registered to things entering their turf no longer have themselves entering their turf sent to them (#59065) 2021-05-13 23:42:33 -07:00
Emmett Gaines
f434bf5e7b Fixes connect_loc related hard dels (#58945)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-05-13 14:17:10 -07:00
Ryll Ryll
19139c1a91 roaches will no longer try to step on themselves (#59008) 2021-05-13 04:19:37 -07:00
tralezab
b93771cec2 Removes bad return from processables that broke cooking (#58983) 2021-05-10 01:13:02 -04:00
tralezab
ea57e3f960 Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882) 2021-05-09 16:49:59 -07:00
tralezab
1928826bc7 Refactors pet bonuses to be an element (#58912) 2021-05-07 15:26:59 -07:00
Kylerace
08df8798ce (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc (#58340)
Co-authored-by: Jared-Fogle <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-05-07 03:54:03 -07:00
tralezab
ff3a34a6b4 refactors is_flying_animal into simple_flight element (#58914) 2021-05-06 23:38:53 -07:00
Celotajs
7252a557e9 Allow for proper damage / blood spatters on GAGS icons (#58738)
GAGS-generated clothing can now have proper blood splatters and damage (bets on this breaking some dumb interaction?)
2021-05-05 22:49:44 -07:00
LemonInTheDark
27385e9d70 Converts the atmos senstive component over to connect_loc (#58266)
* Makes all uses of atmos_senstive pass in mapload as context

* Converts atmos senstive to connect_loc, does some general cleanup to the element, and makes it check the state of the tile the thing is on assuming creation didn't happen as a part of map loading

* Updates connect loc to match the new arg list
2021-04-30 18:35:47 -07:00
MrMelbert
803d733995 High-danger plants like deathnettles now require botanical gloves to hold instead of any glove type (#58503) 2021-04-22 22:26:29 -07:00
Mothblocks
1c78768c4e Fixes connect_loc not reconnecting turf changes (#58507) 2021-04-20 02:43:53 -04:00
Ryll Ryll
0b09322331 fixes incorrect strip name (#58497) 2021-04-18 03:32:25 -07:00
necromanceranne
051a00b4c9 Hollowpoints and similar attacks/weapons double existing armor, not add total armor, to the their targets (#58114) 2021-04-17 08:44:20 -07:00
Mothblocks
1e848e5738 Move eyestabbing to an element, rather than as part of core combat code (#58358)
Moves eyestabbing off from an item flag that is checked on every item attack to an element.

Kills /obj/item/proc/eyestab, and makes the new element the sole owner.
2021-04-17 00:53:33 +01:00
Mothblocks
e82a4972cc Fixes edge cases revolving who can strip and who can't (#58445)
Fixes all simple mobs being able to strip, as well as being able to strip when your hands are blocked (e.g. cuffed).

Fixes #58260.
2021-04-16 05:18:07 +01:00
Seris02
875cc95cd9 Teensy tiny improvements for freerunning (#58187)
Since climb_time is multiplied by 0.8, climb_stun should also be. Not much point in taking it if whoever is chasing you can still arrive with you stunned on the table and simply pull you off it. If this is too much taken off in total, in my opinion, the stun time should be adjusted, rather than the climb time.
Also reduces the ZImpactDamage knockdown multiplier. Right now both with freerunning and without you get knocked down the same amount, now with it you're actually better at catching yourself on those z level falls and so suffer less of a knockdown.
2021-04-14 22:47:11 -04:00
Jonathan Rubenstein
456e475da5 Renews Maintenance Drones (#58249)
It's the second try! (First: #48456)

Drones are little robots inspired by Keepers from the Mass Effect games. With laws to maintain both the station, and their distance from the matters of others, they were a great ghost role that let you fix up the station when you were otherwise out of the round. They were in the game for quite a while, but were abused. The abusive players completely ignored the laws and did whatever they wanted. Being tiny ventcrawlers, this became a huge issue for admins.

I attempted to bring them back, this time with some gameplay restrictions to enforce their laws a bit better. It seemed to go well, but I required headmin approval, and this all happened near a headmin election, so the project died.

Recently, some people have wanted to bring drones back. So, they gave me a ring, and I started a discussion with the admin team to see what other changes they would want in addition to the previous ones.

Here are those changes:

    They can't interact at all when close to another being, living or dead
    Their binary chat has been removed to separate them from AI and borgs
    They can only hold a whitelist of items necessary to do their job
    They can only interact with machines necessary to do their job
    The drone satchel is gone, and drones now have built in basic tools
    They also can't interact in some blacklisted high risk areas
    Finally, you must play 40 hours total as a Silicon role in order to play as a drone

Additionally, the drone dispenser is not mapped, and the drones must be researched to be constructed.
Why It's Good For The Game

Drones are a fun way to pass the time, and this time they have a lot less freedom. You can still perform the basic function of maintaining the station, but not without difficulty and tedium. This will allow other station roles to perform much better than the drones, while still letting them chug along at their slower pace.
2021-04-13 13:10:36 +12:00
Mothblocks
92b32c3f00 Refactor /obj/item/food/chewable into a chewable element (#58243)
* Refactor /obj/item/food/chewable into a chewable component

* Element, always process
2021-04-12 16:18:00 +02:00
Emmett Gaines
1c81adac8d Allows the connect_loc element to have a listener different from the tracked object (#58276) 2021-04-10 18:19:57 -07:00
Mothblocks
4fbed65071 Fix connect_loc runtiming for multiple turfs (#58269) 2021-04-10 15:11:39 -04:00
Mothblocks
0d24cdea3c Remove Uncross() and CheckExit(), add connect_loc element to cover the cases we used it for (#58188)
* Remove Uncross(), add create_loc element

* Update on ChangeTurf

* Explicit return

* Hold onto elements and remove TEST_FOCUS

* Remove UNIT_TESTS compile flag

* Follow my own advice.

* Comment about Uncross + CRASH

* Remove /atom/Exit ..()

* Apply suggestions from code review

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>

* Use keyed locs

* Re-add Bump()

* Superfluous check

* Correct change turf signal, remove old continue check

* Fix compile failure

* Fix tests

* Don't create element for fulltile windows

* Correctly unregister old location

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-04-08 15:52:00 -04:00
Ryll Ryll
67c09b497f Stripping a disconnected player will tell them when they come back (#58129) 2021-04-05 05:17:38 -07:00
tralezab
9338775bea Processable and grillables and microwavables now give helpful examines, some condiment containers also do (#57694)
* IM DONE LOOKING AT THE WIKI FOR BASIC SNIZZLE

* microwaved, too

* HOOH

* LINT, review

* review but this time im not lying :trollface:

* maybe i should just like test or something

* reviews i missed

* 🐑
2021-04-03 00:51:12 -04:00
TemporalOroboros
718ee838e2 Fixes lights on people (#58000)
- Fixes light eaters not putting out lights on people.
2021-03-29 12:40:13 -07:00
Mothblocks
5d56382323 Xenomorphs can now strip humans again (#58007) 2021-03-29 10:27:25 +03:00
Mothblocks
f71b3a069b tgui strip panel + strippable element (#57889)
Completely removes show_inv and replaces it with /datum/element/strippable. It takes a list of instantiated /datum/strippable_item which communicate which slots are available and how to interact with them. This element has been added to humans, alien humanoids, parrots, and corgis.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-03-26 11:33:46 +02:00
tralezab
5ae398a0b8 Tourists now pay for their DAMN items again. (#57611) 2021-03-11 17:34:46 -08:00
Timberpoes
672616331c Fixes food trash element not generating trash, including fixing gatfruits not dropping guns. (#57590) 2021-03-10 23:24:04 -08:00
tralezab
1390fe878e WOWZERS! tourist bot achievements and roundend economic report from Centcom (tm) (#57404) 2021-03-09 23:29:16 -08:00
spessbro
cbeb9c5be4 Refactors the paper bin behavior for dragging to pick up into an element (#57501)
* Drag pickup element for the paper bin behavior

* invokes async on put_in_hands to comply with the linter

* documented and like better names

* blackspace
2021-03-08 16:50:53 -08:00
Fikou
70249fdbd4 Adds Armhulen's PR of Dennok's shuttle decal PR with Mothblocks' reviews (#57456)
Co-authored-by: Dennok <Deneles@yandex.ru>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-06 14:54:13 -08:00
William Wallace
1938f06237 Beauty element fixes for hard-dels and super-beauty (#57396)
* pass correct material amount to on_removed

* skip detach logic in beauty element for objects that don't actually have beauty

* always remove area-sensitive trait when detaching beauty element
2021-03-04 20:49:37 +01:00
Qustinnus
dc78e93543 Adds tourist robots that order food and drinks from the bar and cafeteria (#57010)
* Adds Tourism Economy

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-25 19:39:02 +01:00
Ghom
69711bde15 Beauty is now an element. Fixing an issue with enter/exit area comsigs. (#57147)
Co-authored-by: Ghommie <425422238+Ghommie@users.noreply.github.com>
2021-02-24 21:17:03 -08:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
Qustinnus
ef80ed1935 Addiction rework (#56923)
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-16 18:20:16 -08:00
TemporalOroboros
9c63024b59 Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included. (#55551)
Converts the effects of the nightmares light eater into a component and a couple elements
Adds some flavor text to the light eater
Makes the effects of the nightmare's light eater dispel if the armblade is destroyed
Probably a net increase in code quality
More flavortext
The nightmare's light eater effect can be dispelled if you are willing to sacrifice the armblade
2021-02-15 19:11:52 -03:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
MrMelbert
84d63ccf71 Adds a punctuation and removes an egregious blind message in climbable element (#56744)
Adds a punctuation on the examine message for climbable things

Removes a really bad blind message
2021-02-08 17:55:33 -03:00
Ryll Ryll
293c9a4add You can now remove embedded objects directly with a hemostat (#56637) 2021-02-05 01:08:19 -08:00
AnturK
a1c11adb41 Aquarium fish improvements (#56573)
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-04 00:55:18 -08:00
LemonInTheDark
20d2fb6787 reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)
It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis
2021-02-03 06:27:53 +00:00
necromanceranne
0d97087d38 Fixes up the crate climbing element being incorrectly removed when opened (#56518) 2021-02-01 21:08:20 +01:00
Valtos
3d33e2ba58 leatherman (#56483)
Fixes stacks like wet leather not being dryable in a drying rack
2021-01-28 17:11:53 -08:00
AnturK
8c69586774 Adds aquariums and aquarium fish. (#56343)
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
2021-01-27 12:44:36 -08:00
Qustinnus
c51b77f1de Adds the Hauntium material, which turns any item into a ghost (with AI) (#55728) 2021-01-27 12:27:47 -08:00
TemporalOroboros
1f1b58bb26 Adds Neon Carpet (#55782)
* Adds emissive carpet, adds plane support to decal element

- Adds a basic abstract/debugging emissive carpet
- Makes decals capable of supporting plane
- Adds auto-smoothing decals

* Adds simple neon carpet variations

* Adds neon carpet reagents and recipes

* Refactors emissive blockers to allow multiple layers of emissive / emissive blocking objects

- Splits the emissive and emissive blocker plane masters into several plane masters which handle different layers of emissiveness.

* Makes neon carpet tile stacks emissive

* Rearranges and docs some emissive plane masters

- Folds the overlay lighting plane master into the emissive planes since it is also used to mask the lighting plane

* Fixes null mats_per_unit stack recombining after splitting

- I think I broke this a while ago when I reworked how stacks handle materials. Whoops.
- This basically only effects carpet at the moment. Good thing I did this when I did!

* Adds neon carpets to cargo

- Adds a cargo supply crate containing a _lot_ of neon carpets for 3000 credits

* Fixes neon carpet highlights leaking through vending machines and such

- Turns out vending machines axed their own emissive blockers whenever they updated their icon because they cleared their managed_vis_overlays...
- Generic emissive blocking has been elementized and some update_overlays procs have been straightened out.

* Fixes id_arg_index for the emissive blocker element

* Commits @Rohsie's suggestions
2021-01-25 01:55:04 -08:00