Commit Graph

3958 Commits

Author SHA1 Message Date
MMMiracles
5f3e12178e Tramstation: choo choo MORE MAP COMIN' THROUH (#56509)
* cool map bro!

* security

* perma

* secfull

* secman

* medstart

* engine2

* atmos start

* barrrr

* bar2

* bar3

* civil

* lower

* barrrr

* barrrrrr

* start

* cargo

* sci

* j

* servicedecal

* civildecal2

* service decal2

* service decal 3

* service decal 4

* pip

* decal4

* decal8

* arse!

* arrivals

* arrivals 2

* ai

* aifix

* vault+techstorage

* medbay

* bridge 1

* sec 3

* sectest

* squish squish

* securitywork

* secmore

* config setup

* tram

* cargo work

* escape

* disposalfuck

* i hate pipes

* disposalsfull

* SEC

* grav

* bads

* researchwip

* caw

* hguhwhuh??

* apc+air_alarm

* engie

* sm

* stttt

* aisat

* areas

* camera wip

* camera 2

* secam

* shuttle shit or something idk

* aaaa

* path nodes + waypoint navs

* almost there

* pull

* unnecessary file

* standardize

* tram choo choo!!!

* tgm

* testmerge feedback fixes

* map work

* test

* test2

* i hate

* THERE

* trams without pulling upstream like an idiot (#3)

TRAM

* fast tram fast TRAM

* fuck turfs

* tram collisions, tram cooldowns (#4)

lol

* ass

* tram but real

* forgot the ,

* code improvements, fixes, and tram call buttons (#5)

* unnecessary check gone, nulls now scrubbed (#6)

* fancy tram

* feedback changes

* AT fix

* feedback changes

* incin+engine atmos wooo!

* missing grav gen cable

* more feedback changes + diagonal shuttle wall

* bottom floor explodes into airless asteroid instead of space now

* even more feedback changes

* area change

* update to iron sheets

* ore smelter wrong dirs

* path changes agagagagaga

* no more fabs

* atmos fixes + more general fixes

* Creates SStramprocess and Makes Movement Use That Instead of Timers (#7)

* makes SStramprocess a child of SSprocess and makes tram obj use it

* gets rid of continue_movement() in favor of SStramprocess

* remove fake tram

* tgm baby

* maintenance update + chode tram

* hopefully makes the tram choke the server out less (#9)

tries to put brakes on the tram

* bad id console

* more maint stuff

* Big bundle of fixes and additions for trams (#10)

* BANG TING OW

* fixes docs, makes everyone always take damage, fixes bump text and span

* control prevention... maybe?

* combat mode no longer triggers trams

* tram conflicts + tram console

* medical changes + tram lift console

* bot pathing in tunnels

* tram whiteship + bad area string fix

* -station fixes
-tram monorail
-tram monorail grinding + achievement

* trail these noots

* rail

* yee

* diner bots + xeno changes

* Tram TGUI FINALLY (#11)

* bflehgfwblilbrga

* Update TramControl.js

* --fix, --lint

* more ui

* brokendimmer now doesn't try to load content, static data updates, MORE sanity.

* finishing off tram sprites

* cleaning up dmis

* Portal Improv

* re-removes icons

* relay moved, map fix

* fixed? (#12)

* rd machines

* relay moved, upload moved to sci, service lathe access, typo

* maint stuff

* tgm

* medical overhaul, more maint junk

* comments out achievements for testing

* space hole + spare

* actual tram blender fix according to known blender method

* tgm

* trail these

* removes depreciated tram content + accidental changes during pulling

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-03-11 18:43:57 +01:00
TiviPlus
f0cf7ea5ac Replace some turf in range() with RANGETURFS and fix(?) bspace trauma (#57566) 2021-03-11 02:26:21 -08:00
Ghilker
3ca7061123 plastic flap air wall fix (#57455)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-07 15:22:31 -08:00
Paxilmaniac
0925b1075e Adds Directional Presets To Several Common Wall Mounts For Mapping (#57463) 2021-03-06 17:28:49 -08:00
Kylerace
01f899c946 At first i thought that i was being forced to add a feature 🤮 but then i realized i was being encouraged to refactor 😄. Electrified chair is now a component instead of a failure (#57117) 2021-03-03 05:05:52 -08:00
Time-Green
f62034edf6 Rework plumbing reaction chamber, purity support (#57071)
Currently does four things:

The reaction chamber now supports purity! It has a yellow (acid) and green (basic) input for buffers, aswell as a setting to automatically dispense either an acidic or alkalic buffer when above/below a certain pH! Now you can make a 100% pure meth factory! The buffer connects are on an alternate layer.

Probably going to be less loved, but I removed the reaction chambers ability to pick reagents from the net. Instead, it will pull untill a set volume is reached. Then it'll start reacting. While this means that players will have to be more creative and use a wider array of machinery.

Also new machine! Buffers! They fill the hole that reagent chambers left. They can be set with a threshold volume and will only start putting out chems when ALL of their neighbouring buffers also are also above this threshold. You might have a lot of one chem and have to wait for a more specialized chem to be produced, and with the cleverness of reaction chambers gone, bufferers can do just that: wait.

I also removed all but two layers. I want to make it obvious what layer the buffer connects are on. Also layers are basically unusable and I'm gonna give them a rework very soon. I'll put the things back in then when they actually have something to contribute
2021-03-02 16:22:16 +02:00
Ryll Ryll
66daec9eb8 *smacks table* Hot Damn! (#57269) 2021-02-28 22:22:33 -08:00
Timberpoes
890615856e Fully implements the ID Card design document (#56910)
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-02-28 19:26:45 -08:00
ArcaneDefence
105edf1ea7 Adds missed worn icon states for plungers (#57216) 2021-02-27 14:19:25 -08: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
Qustinnus
931a32ffb3 Experi-Sci: Techweb nodes may now require you to perform "scientific" experiments (#54093)
Co-authored-by: Brett Williams <bobbahbrown@gmail.com>
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-23 13:30:24 -08:00
Fikou
a86bae62fc fixes pirate captain spawning with the wrong outfit (#57106) 2021-02-22 20:59:57 -08:00
Ryll Ryll
9d45916ee8 Implements JPS (Jump Point Search) Pathfinding (#56780)
So a month or so ago I wanted to make it so dogs in my dog AI PR could path through doors if they had access, and was told I'd need to improve our pathfinding efficiency if I wanted to use full pathfinding for them. Thus, enter JPS, a pathfinding algorithm that allows for massive timesavings in systems with uniform cost grids like ours. This code is still fairly rough and needs polishing, but it's fully functional and already shows massive savings over traditional A*! I plan for this to replace A* as our default pathing method, but I'll leave the A* code in place in case someone ever needs it for whatever reason, like if a specific case needs variable cost pathing.

Note that this allows for diagonal pathing instead of the cardinal pathing our A* uses right now, and the current version of the code costs the same to move diagonally as it does to move laterally, which may change later. There's also a lot of dummy/test code in right now in general, but you should still be able to test it out for yourself by spawning a bot like a medibot and using your PDA to summon it.
Preliminary Profile Results

A preliminary profile is available here. Using one medibot by itself on Metastation, I generated a list of 500 random blob spawn points around the station, gave the medibot all access, then let each algorithm tackle the list. The old A* algorithm took a total of 86 seconds to complete the list and processed 978065 nodes, while JPS took a total of 46 seconds and processed only 100062 nodes, for a 47% decrease in total time and an almost 90% decrease in nodes processed!
Why It's Good For The Game

Significantly cheaper pathing, which will very much come in handy for the AI datums I'm looking to dig into, what's not to like?
2021-02-22 15:14:33 +13:00
Cimika/Lessie/KathyRyals
5c45a259e0 Buffed atmos holofans. Added to CE locker. (#57074)
Atmos holofans can now make six holos instead of three. Swapped the (useless) engineering holo with the atmos holo in the CE locker.
2021-02-21 13:55:23 -05:00
MrMelbert
466a54383d Updates the lifebringer flavor text to be less ambivalent about their goals (#57059) 2021-02-21 04:23:55 -08:00
Arkatos1
0e5c7041e2 Auxiliary Base construction fixes (#56969)
* Base construction fixes
2021-02-20 22:39:17 +01: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
NotRanged
0427c0c1ba Fixes reflection of hitscan beams against tiles (#56881)
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-02-18 12:56:43 -08:00
Kylerace
a801e25764 fixes being unable to attach training toolboxes to training units (#56990) 2021-02-18 02:51:34 -03:00
Whoneedspacee
9ee4703133 Icebox QoL minus features (#56472) 2021-02-17 03:17:41 -08:00
LemonInTheDark
5c22a0cfc1 Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#56847)
Converts many proc overrides to properly use list/modifiers, fixes some spots where modifiers should have been passed, calls modifiers what it is, a lazy list, and cleans up some improper arg names like L, M, C, and N. Oh and I think there was a spot where someone was trying to pass M.name in as a string, but forgot to wrap it in []. I fixed that too.
2021-02-16 09:18:46 -05:00
Kylerace
b6551c5000 Gets Rid of Both Sleeps In Transit Tubes, Replaces Them With Timers (#56913) 2021-02-15 12:52:20 -08:00
tralezab
e09101cb4b Pirates are split into three different ghastly crews! (#56264)
Co-authored-by: DeAndre <robustness13@hotmail.com>
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-14 16:55:37 -08: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
cacogen
6fdefe3e73 Fixes tags on ordered pizza (#56369)
Box tags

    Fixes bug where box tags weren't updating correctly on creation
    Adds box tag flavours for the pizzas without them (i.e. Donk Pocket -> Bangin' Donk, Dank -> Fresh Herb, Sassysage -> Sausage Lovers, Arnold -> 9mm Pepperoni)

Randomised pizza crates

    Pizza crates can now come with any five pizzas, weighted by disruptiveness
    Small chance of getting one pizza bomb in a pizza crate (either armed or not) per shift

Armed pizza bomb

    Adds an armed variant of the bomb pizza box, which has the boxtag "Meat Explosion", contains a meat pizza and explodes 5 seconds after opening
    Makes the pizza party spawner use the armed bomb pizza box, instead of giving whoever a free syndicate pizza bomb they probably aren't allowed to use anyway

Secure kitchen crate

    Adds the secure kitchen crate from my previous PR
    Adds a secure pizza crate variant to KiloStation's cargo warehouse where the freezer crate was, which contains the pizza party and is locked with kitchen access

Ghost examines

    Adds ghost examine messages for pizza boxes with bombs or the nanomachine pizza in them
2021-02-13 03:35:37 -03:00
LemonInTheDark
f4160f26db Converts all uses of modifiers to lazy access to avoid memes in future (#56846) 2021-02-12 15:25:31 -08:00
Tom
5b9d42c289 Winter coats (#56854)
add: Thirteen more winter coats covering all departments and most jobs.
2021-02-12 08:30:33 -05:00
Thalpy
56f7ac0c0a Reaction rates, pH, purity and more! Brings a heavily improved, less explosive and optimised fermichem to tg. (#56019)
Brings a heavily improved, rewritten, and optimised fermichem to tg. I saw that tg seemed receptive to it, so I thought I’d do it myself. If you know of fermichem – there’s a lot changed and improved, so looking at other documents regarding it will not be accurate.

Revamps the main chemistry reaction handler to allow for over time reactions instead of instant reactions. This revamp allows for simultaneous reactions, exo/endothermic reactions and pH consuming/producing behaviours. Most of the reactions in game will now inherit an easy one size fits all reaction.

Temperature mechanics

    Temperature affects reaction rate
    The higher it is, the faster it is, but be careful, as chem reactions will perform special functions when overheated (presently it DOESN’T explode)
    Temperature will increase or decrease depending on the exo/endothermic nature of the reaction

pH mechanics

    Each reaction requires the pH of a beaker to be within a certain range.
    If you are outside of the optimal, you'll incur impurity, which has a negative effect on the resultant chem
    pH of a beaker will change during a reaction
    Reacting Impure chem effects can vary from chem to chem, but for default will reduce the purity of other reagents in the beaker
    Consuming an impure chem will either cause liver or tox damage dependant on how impure it is as well as reducing consumed volume
    Purity can (presently) only be seen with a chemical analyser
    Impure chems can purposely be made by making the reagent with a low, but not explosive, purity.
    A chem made under the PurityMin will convert into the reagent’s failed chem in the beaker.

Optional catalysts

    Reactions can use an optional catalyst to influence the reaction - at the more framework exists from tmeprature, reaction rate and pH changes as a result of a catalyst. Catalysts can be set to only work on a specific reagent subtype. It is preferable to those building upon this code that optional catalysts only affect a subsection of reagents.
    Presently the only catalyst that uses this is Palladium synthate catalyst - a catalyst that increases the reaction speed of medicines.

Reaction agents

    These are reagents that will consume themselves when added to a beaker - even a full one, and apply effects to the total solution. One example being Tempomyocin which will speed up a reaction, or the buffer reagents which change the pH.

Competitive reactions

These reactions will go towards a certain product depending on the conditions of the holder. The example one given is a little tricky and requires a lot of temperature to push it towards one end.
New and charged reactions

(see the wiki for details)

Acidic /basic buffer - These reagents will adjust the pH of a beaker/solution when added to one. If the beaker is empty it will fill it instead.

Tempomyocin - This will instantly speed up any reaction added it is added to, giving it a short burst of speed. Adding this reagent to a reaction will give it a suddent speed boost up to 3x times - with the output purity of the boost modified by the Tempomyocin's purity.5u per 100u will give you 2x, 10 u per 100u will give you 3x. IIt caps at 3x for a single addition, but there is nothing preventing you from adding multiple doses for multiple boosts.

Purit tester - this will fizzle if the solution it is added to has an inverse purity reagent present.

A few other reactions have been tweaked to make sure they work too. An example being meth - see the wikipage linked above.
A note on all reactions

    The one size fits all reaction for all chems generally won’t create impure chems – it is very forgiving. The only thing to remember is to avoid heating reactions over 900 or you’ll reduce your yield, and try to keep your pH between 5 -9.

This PR doesn’t have specific example chems included (except for the buffers) – they will be atomised out and they use the mechanics in more depth
A note on plumbing

I reached out to Time Green and we worked together to make sure plumbing was fine. Time Green did some of his own tests too, and surprisingly it doesn't look like much needs to be changed.
2021-02-11 17:09:07 -03:00
Fikou
66b243b867 Add the ability to climb on ladders for all mobs (#56812) 2021-02-11 11:58:41 +00:00
Timberpoes
6d38b88e9e Windows are now less fussy and will let more things exit a shared turf. (#56788)
I recently changed it so that windows don't use their direction to decide if they're fulltile or not. I missed a check in CheckExit and as a result, you couldn't exit a fulltile window you were stood on from the South, their default facing direction.

Fulltile windows no longer do this check to block movement off their turf. Directional windows now only block movement off the turf they're on if you're attempting to walk the direction they're facing (i.e. walking through them) and they're not dense.

Finally, windows also check pass_flags_self instead of hardcoded passflags.
2021-02-10 22:53:10 -05:00
CRITAWAKETS
9e0ba6c384 Updates Bronze to be a lot better, fixes bugs and allows it to be used on grilles. (#56696) 2021-02-10 02:12:40 -08:00
coiax
b0f7381aa2 Refactor ventcrawling flag into traits (#56620)
Instead of using var/ventcrawling on `/mob/living`, it is now instead
two traits. It functions in exactly the same way.

This now ensures that manipulation of ventcrawling will not clash with
any other manipulation, such as a proposed genetics ability to give
people ventcrawling, versus abductor organs.

---

Intended to be a pure refactor, no functionality should change.
2021-02-07 14:12:50 -05:00
Fikou
f6dfc68360 repaths plasteel tiles to iron (#56644)
Repaths plasteel tiles and turfs to iron. We're in too deep to back out now
2021-02-06 13:53:08 -08:00
Fikou
8d586a7cb0 Rename metal sheets to iron sheets (#56643)
It's a specific type of metal, it shouldnt just be called generic "metal".
The reagent, ore and material datum are already called iron.
2021-02-05 15:48:00 +00:00
LemonInTheDark
2ce4b265c5 Makes reinforced plasma windows block heatspreading, mostly so the sm delams properly, and partially so mappers have a tool for this sort of thing (#56545) 2021-02-05 01:18:21 -08:00
Qustinnus
d4550b8bca You can no longer kidnap ghosts with a moving table (#56614) 2021-02-05 01:13:58 -08:00
Qustinnus
707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
Kylerace
4802c43165 Fixes Several Holodeck Infinite Materials Exploits (#56587) 2021-02-03 15:43:54 -08:00
necromanceranne
98642bfe97 Changes fireman carrying from a trait on gloves to a skillchip (#56593) 2021-02-03 13:31:01 -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
Qustinnus
032c5c0f96 Adds tactical chairs (#56549) 2021-02-02 12:37:22 -05:00
ATH1909
7f1b876ba1 You can now make damp rags by dipping a bolt of cloth in a sink (#56337)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-01 22:49:58 -08:00
necromanceranne
0d97087d38 Fixes up the crate climbing element being incorrectly removed when opened (#56518) 2021-02-01 21:08:20 +01:00
ArcaneMusic
a5576c0101 Vend-A-Trays can be moved onto tables (#56503)
Vend a trays are mapped onto kitchen tables and bar counters. They can't be moved back onto the table with deconstructing the table. This gives them the table passflag, allowing them to be just moved back onto the tabletop.
2021-01-30 22:17:25 -03:00
Tristrian
a4a7cf03bf Adds missing duffelbags for some jobs and update their respective vendors and closets. (#56505)
add: Added duffelbags for Science, Botany, Virology, Genetics, Mining and Chemistry.
2021-01-30 19:36:00 -05:00
Kylerace
98f58208c8 Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included (#55645)
Refactors the holodeck to use map templates instead of copy_contents_to, which every maintainer seems to have complaints about.

Fixes #41485 because the matches become part of the spawned list created by ssatoms
Fixes #54789 because the holodeck area no longer has the NO_TELEPORT flag
Fixes #55676 because the map templates cant be changed midround unlike the program copies in the centcom z level
Fixes #49318 because the holodeck no longer creates new areas like the original did

This pr also changes initTemplateBounds to be a /datum/map_template proc instead of a parsed_map proc. This was mainly so I wouldn't have to duplicate vars between map_template and parsed_map. It's also nice because there's no longer a parsed_map proc inside the map_template file, especially when it didn't need to be a parsed_map proc.

The holodeck sims wont take up space in the centcom z level any more (which allows for more possible programs in the future), and map templates are more heavily tested. This is also a chance to future proof the holodeck against bugs. Holodeck also seems more responsive. This should allow for a second custom holodeck in some future ruin as well, although that of course will not be in play for the near future because of the offstation content ban. Also I documented the fuck out of the holodeck
2021-01-30 11:56:29 -03: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
cacogen
c1af6eb1bd Painting Exhibit tweaks (#56349)
* Painting Exhibit tweaks

- Replaces use of C variable with named variables (e.g. crayon, canvas, current_canvas) in artstuff.dm for readability
- Simplifies painting structure's descriptions and moves wirecutting and persistence tutoring to a notice shown on Examine()
- Adds autodoc for two painting structure vars
- Adds a new desc_with_canvas var to painting structure that's used to set its description when it has a canvas
- Adds a new update_name_and_desc() proc to painting structure called when a canvas is added or removed
- Makes it so painting structures are named based off the painting rather than keeping their generic name

* Changes default names to refer to the "exhibits" as exhibit mountings

- Changes "Secure Painting Exhibit" to "Curated Painting Exhibit" as it's more intuitive
2021-01-25 00:37:25 -08:00
Qustinnus
a6a334285a refactors climbing into an element (#55978)
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-01-24 13:56:16 -08:00