Commit Graph

1964 Commits

Author SHA1 Message Date
SkyratBot
29e29b6375 [MIRROR] Save 2.2s minimum (with zero ruins, likely a good bit more in production) of atom init time [MDB IGNORE] (#15967)
* Save 2.2s minimum (with zero ruins, likely a good bit more in production) of atom init time (#69564)

Pre-sort smoothing_groups and canSmoothWith
Without any ruins, these sorts were taking more than 0.6s, and the bulk of the runtime cost of sortTim during init time.

This only happens on init and they are never changed apart from that, so pre-sorts everything and adds a unit test (in the form of #ifdef UNIT_TESTS, because you can't initial a list) to ensure that they are proper.

Keep visibilityChanged() to mapload only for turf/Initialize
Saves about 0.4s worst case scenario (e.g. with no ruins). Very expensive code (175k loop iterations) for 0 side effects.

Space areas now have the fullbright overlay, not the space turfs
Saves about 0.8s worst case scenario. Seems to work fine with starlight.

Remove is_station_level check for window spawners assigning RCD memory.
Saves about 0.3s worst case scenario. The logic for this isn't consistent since neither walls nor floors check this (for performance), plus some minor micro-opts to spawners.

Optimize is_station_level
Doubles in speed, used heavily in /turf/open/floor and in other initialization procs. Bit hard to tell exactly how much is saved, though.

* Save 2.2s minimum (with zero ruins, likely a good bit more in production) of atom init time

* Hopefully fixes the broken CI

* Okay now it shouldn't be failing CI anymore (hopefully)

* Fixes even more issues with smoothing_groups, this time hopefully for good

* Okay NOW it's going to pass CI, surely...

* Okay haha what if it passes this time? :)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-15 19:57:33 -04:00
SkyratBot
9cc7e72158 [MIRROR] Atmos init speedup, saves 4 seconds [MDB IGNORE] (#16090)
* Atmos init speedup, saves 4 seconds (#69697)

* Micro optimizes ssair's turf init, saving 2 seconds

Most of this is making existing operations do more legwork, or cheaper.
I did add cycle checking to ONLY init turf linking, which required
creating a new proc.
Did some horrible horrible things in said proc to save like 0.8 seconds.
I think it was worth it.

* Atmos init speedup, saves 4 seconds

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-09-06 16:24:54 +01:00
SkyratBot
a4bfe65cb1 [MIRROR] Dimensional Anomaly [MDB IGNORE] (#15974)
* Dimensional Anomaly (#69512)

About The Pull Request

Everyone has been asking: "When will there be an anomaly like the bioscrambler, but for the space station? Please, we need more things which replace objects with different objects from the same typepath."
Well I made it and it looked like ass because non-tiling floor and walls look terrible, so then I made this instead.
Dimensional.mp4

The "dimensional anomaly" shifts matter into a parallel dimension where objects are made out of something else.
Like the Bioscrambler anomaly, it does not expire on its own and only leaves when someone signals it or uses an anomaly remover.
When it spawns it picks a "theme" and converts terrain around it until it covers a 7x7 square, then it teleports somewhere else and picks a new theme.

A lot of these themes are relatively benign like "meat", "fancy carpet", or "gold". Some of them are kind of annoying like "icebox" because it creates floor which slows you down, or "clown" because bananium is intentionally annoying. Some of them are actively dangerous, mostly "uranium" and "plasma".
The main problem this will usually cause for crewmembers is decreasing area security. When it replaces doors it replaces them with ones which don't have any access control, and it will also replace RWalls with normal and much more vulnerable walls which will make breaking and entering significantly easier until someone has taken the time to fix the damage. But also sometimes it will irradiate them, you never know.

The fact that sometimes the changes are benign (or provide uncommon materials) and might be happening in places you don't care about access to might encourage people to push their luck and leave it alone until it starts turning the captain's office into a bamboo room or repainting medbay a fetching shade of flammable purple, which I would consider a success.
Armour.mp4

If you successfully harvest the anomaly core you can place it into the reactive armour to get Reactive Barricade Armour, which shifts your dimension when you take damage and attempts to place some randomised (not terribly durable) objects between you and hopefully your attacker (it really just picks up to four random unoccupied tiles next to you). If you're EMPed then the changes it make to the environment will often be as unpleasant for you as they are for a pursuer, and significantly more likely to harm both of you rather than just provide obstacles.

Other changes:
I split anomalies out into their own dmi file, seems to be all the rage lately.
I moved the anomaly placing code into a datum instead of the event because I wanted to reuse it but if you have a better idea about where I could have put it let me know.
This also fixes a bug where the material spreader component wasn't working when I applied plasma materials to something, the extra whitespace was parsing as another argument for some reason and meant it would runtime.
Supermatter delamination was still pointing to Delimber anomalies instead of Bioscrambler.

* Dimensional Anomaly

* Fixes the upstream merge skew

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-05 17:59:34 -04:00
SkyratBot
3b088ec9e9 [MIRROR] Chasm Fishing [MDB IGNORE] (#15855)
* Chasm Fishing

* Update code/datums/components/chasm.dm

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 03:31:49 +01:00
SkyratBot
471760e96a [MIRROR] Fixes storage mass transfer being generally broken, adds mass transferring onto griddles [MDB IGNORE] (#15729)
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles  (#69084)

* - Fixes storage mass transfer
- Brings some sanity to storage procs
- Implements a griddle feature that never was

* Uncomment this

* Right-click attack fix

* Scoop fix

* Smartfridges use silent

* Restores some lost checks

* Fixes storage implants

* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles

* update modular

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-03 18:01:54 +01:00
SkyratBot
a1724d5b14 [MIRROR] Removes 1.4 seconds from game init on LOWMEMORYMODE [MDB IGNORE] (#15929)
* Removes 1.4 seconds from game init on LOWMEMORYMODE (#69455)

We were spending 1.4 seconds on doing an add_overlay on EVERY turf in
/area/space

There's no fukin reason to do this, you CAN JUST ADD OVERLAYS TO AREAS
IT WAS POINTLESS. I HATE IT HERE

* Removes 1.4 seconds from game init on LOWMEMORYMODE

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-08-30 07:21:17 -07:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot
f94d34fea2 [MIRROR] Massively optimize space turf initializations (~20 seconds on Meta to ~3 seconds) [MDB IGNORE] (#15858) 2022-08-26 14:40:13 -07:00
SkyratBot
3f10792a7a [MIRROR] Tilening V2 Part 2: KrysonWood Edition [MDB IGNORE] (#15499)
* Tilening V2 Part 2: KrysonWood Edition (#69088)

About The Pull Request

Hey there! Didn't expect me to be back so soon? Well, that's because I had yet another project on the backburner: A Sequel to Tilening V2!

Where we last left off, we redid a huge majority of the sprites related to iron floors, but another big culprit was left untouched: Wood Floors!

So, what did I do? I asked @ Krysonism for the wood tiles they've used for a majority of their Wallening mockups, and finalized their work! Behold:
image
image
image
image

As a result, I felt that as I was touching up those wood sprites, I should've addressed a few more tiles while on the way, which is when I decided upon retouching the titanium and plastitanium tiles as well!
image
image
image
image
image

Decals related to these two tile types were also changed!
Here's some highlights of it during a few test screenshots on localhost!

This PR also changes the appearance of plating, making it smoother as some people complained about the waffle pattern and I agree, it was excessive!
image

Finally, this PR very minorly adjusts a few tiles, such as the black and white tiles, diagonal, black and grey tiles, etc, as well as removing unused damaged icons, and replacing them with the better ones we have. Said unused/old icons will be dumped onto the spriting depot.
Why It's Good For The Game

A continuation of my work, as well as being the intended vision Kryson desired for the upcoming wallening project! There's still a lot to go, but its a good step in the right direction of visual progress!
Changelog

cl PositiveEntropy, Kryson
del: Removes old and unused titanium, plastitanium and plating damaged states.
imageadd: Resprites the wooden, titanium and plastitanium-related floors!
imageadd: Decals related to the resprited tiles have been adjusted accordingly.
imageadd: Updates the appearance of plating to be smoother!
/cl

* Tilening V2 Part 2: KrysonWood Edition

* Tilening V2 Part 2: KrysonWood Edition

Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-08-17 15:19:10 +00:00
SkyratBot
a638b7d631 [MIRROR] Fix RCD deconstruction message for turfs being incorrect [MDB IGNORE] (#15646)
* Fix RCD deconstruction message for turfs being incorrect (#69090)

* Fix RCD deconstruction message for turfs being incorrect

* Update code/game/turfs/open/floor.dm

Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>

* Fix RCD deconstruction message for turfs being incorrect

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
2022-08-15 19:43:02 -07:00
SkyratBot
ae708cd7b5 [MIRROR] Removes ComponentInitialize() [MDB IGNORE] (#15552)
* Removes ComponentInitialize()

* Fixes a leftover merge conflict marker

* Fixes the oversight that came from the upstream merge skew

* Fixes all of the instances where we used ComponentInitialize() when we shouldn't've been

* Fixes CI being broken because of the HEV suits

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-12 19:05:09 -04:00
SkyratBot
48685b4356 [MIRROR] Replaces the mood component with a mood datum [MDB IGNORE] (#15549)
* Replaces the mood component with a mood datum

* Fixes merge conflicts and updates all of our mood events to use the new mood datums

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-12 14:58:14 -04:00
SkyratBot
bea43365e7 [MIRROR] New Lavaland Monster: Bileworms [MDB IGNORE] (#15423)
* New Lavaland Monster: Bileworms

* Update living.dm

* Update space_dragon.dm

* Update mining_mobs.dm

* Update kinetic_crusher.dm

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-08-08 01:50:57 +01:00
GoldenAlpharex
37406b1d16 Fixes to some pollution runtimes and fixes pollution being able to spread to space (#15389)
* Fixes temporary_pollution_emission runtime from null turfs

* Space can no longer have smoke on it!

* Updates many pollution procs to use snake_case

* Converts more pollution procs to snake_case
2022-08-04 22:19:37 +01:00
SkyratBot
0896689396 [MIRROR] The appearance of damaged plating now updates properly after repairing it [MDB IGNORE] (#15114)
* The appearance of damaged plating now updates properly after repairing it (#68617)

probably works

* The appearance of damaged plating now updates properly after repairing it

Co-authored-by: FernandoJ8 <80640114+FernandoJ8@users.noreply.github.com>
2022-07-22 15:55:06 +01:00
Tom
120e2404f0 [MODULARISATION AUDIT] Modularise some liquids code (#15068)
* modularise reagent fire power code

* some turf edits

* updates code standards while I'm here
2022-07-21 16:29:18 +01:00
SkyratBot
4af0dd0b8f [MIRROR] addresses reviews on the tram pr made after merge, fixes diagonal movement bugs [MDB IGNORE] (#14943)
* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs (#68033)

* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs

* wew

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-19 00:51:33 +00:00
SkyratBot
5e2d5210ae [MIRROR] Abusing Generosity - Unrestricted Airlock Access Flip [MDB IGNORE] (#15021)
* Abusing Generosity - Unrestricted Airlock Access Flip (#68096)

* Abusing Generosity - Unrestricted Airlock Access Flip

Hey there,

We now have a lot of unrestricted access helpers on airlocks, which are neato. However, while spitballing ideas in regards to this a few months ago, someone suggested to make it such that you can use the airlock wires to "flip" the directional way. I decided to sit down and code it in today.

The high details are this: You can only do it if the airlock has a directional Request-to-Exit sensor (which is just a thing I made up, you can't get this in-game outside of mapping it in via a directional helper). You can tell if a door has it the same way you can tell if any door is a directional door, or you can simply just check to see if the Unrestricted Access Display is "on" in any capcity (the airlock will not have the sensor if the display is off).

It's effectively a dud without the "sensor". However, if it does have it, you can either pulse it (to switch the direction by 180 degrees) or cut the wire (to disable the direction entirely). When you mend the wire though, it'll activate to a random direction (could even be inside a wall). You can keep cutting and mending until you get what you want, though. If it gets stuck in a wall though... shouldn't have cut it.

While in the area, I alphabetized a bunch of lists, added a new color of airlock wire, and probably some other stuff.

* Adds this behavior to building new airlocks

I also renamed it to "sensor" so it's a bit clearer across all the potential contexts.

It does seem to handle setting multiple directions on creating a new mapload, cutting/pulsing will condense the nice multi-directional stuff into one direction (i am okay with this).

Co-authored-by: spookydonut <github@ spooksoftware.com>

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Abusing Generosity - Unrestricted Airlock Access Flip

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
2022-07-18 08:35:05 -07:00
magatsuchi
4f9df17cb1 [FIXED MIRROR] Tsu's Brand Spanking New Storage: or, How I Learned to Refactor For Skyrat (#14868)
* Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code

* Delete storage.dm

* yippee

* shit

* holy shit i am stupid

* more fixes

* fuck

* woops
2022-07-17 21:16:59 -04:00
SkyratBot
628737ac9c [MIRROR] Add hardness var to mineral walls [MDB IGNORE] (#14928)
* Add hardness var to mineral walls (#68294)

* Uses mohs scale to change the hardness of mineral walls, which effects mechs/hulks breaking them down.

* Add hardness var to mineral walls

Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
2022-07-16 12:37:14 +01:00
SkyratBot
40d8cefa37 [MIRROR] Mining Outpost Overhaul: Island Living Edition [MDB IGNORE] (#14880) 2022-07-12 19:18:42 -04:00
SkyratBot
811c2ff0b0 [MIRROR] Paper walls desc spelling fix [MDB IGNORE] (#14800)
* Paper walls desc spelling fix (#68210)

Fixed a weird description on paper walls

* Paper walls desc spelling fix

Co-authored-by: QuacksQ <79924768+QuacksQ@users.noreply.github.com>
2022-07-08 19:25:58 +00:00
SkyratBot
96ffe2d5c2 [MIRROR] Fixes Survival Pod Walls Not Smoothing With Their Airlocks [MDB IGNORE] (#14790)
* Fixes Survival Pod Walls Not Smoothing With Their Airlocks (#68116)

Fixes #68115 (Survival Pod Walls Don't Smooth With Their Airlock)

They used to smooth, but then during the icon smoothing refactor someone forgot to add them to their smoothing_groups
Also corrected the misspelling

* Fixes Survival Pod Walls Not Smoothing With Their Airlocks

* Update spaceship_turfs.dm

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-07-08 19:22:29 +00:00
SkyratBot
684b50d4f1 [MIRROR] Balloonify and removes some to_chat spam for miners [MDB IGNORE] (#14727)
* Balloonify and removes some `to_chat` spam for miners (#67816)

About The Pull Request

Playing as miner and paying attention to the radio is pure pain, so many of your job related actions create useless spam messages inside your chat/radio tab (unless you split them, which creates other issues) so this PR changes a few of them:

1 - PKAs won't send a useless * click * message to your chat window when it's not ready to fire. It already has a different and clear sound that does it's job.
2 - Guns won't send a message to your chat with "you shoot the gun". You clicked your mouse, you hear the sound, you see the projectile leave and you already get a message logged there with what you hit.
3 - Digging with a pickaxe/shovel/hand is a balloon alert and the message for when you finish digging a wall is removed as you just seen the wall of basalt disappear so you know what happened...
Why It's Good For The Game

As a miner most of your interaction with the station is over the radio, less useless spam on the chat tab will hopefully help make mining feel less like a single player game.
Changelog

cl Guillaume Prata
qol: Miners rejoice! A few of the mostly useless and spammy messages that get send to your chat were changed to balloon alerts or straight up removed. Hopefully, you will have an easier time listening to the radio chatter now.
/cl

* Balloonify and removes some `to_chat` spam for miners

* Balloonify and removes some `to_chat` spam for miners

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-07-04 23:21:23 +00:00
SkyratBot
f8e2d75225 [MIRROR] Ice Box Station Kitchen Rework - Worthy Of The Name [MDB IGNORE] (#14589)
* Ice Box Station Kitchen Rework - Worthy Of The Name (#67854)

* Ice Box Station Kitchen Rework - Worthy Of The Name

Co-authored-by: san7890 <the@san7890.com>
2022-06-28 17:22:59 +01:00
SkyratBot
9167c0a11a [MIRROR] Glass floor cracking now uses overlays, plasma glass floors display properly [MDB IGNORE] (#14551)
* Glass floor cracking now uses overlays, plasma glass floors display properly (#67957)

* Renames plasma floor damage states

* Fixes bug, updates to overlays

* Glass floor cracking now uses overlays, plasma glass floors display properly

Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
2022-06-27 02:14:44 +01:00
SkyratBot
18a56ffeeb [MIRROR] (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE [MDB IGNORE] (#14477)
* (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE

* fex

* fex

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-25 01:24:00 +01:00
SkyratBot
6665fd8c1f [MIRROR] Adds craftable glass floors for both plasma glass and reinforced plasma glass [MDB IGNORE] (#14444)
* Adds craftable glass floors for both plasma glass and reinforced plasma glass (#67449)

* Adds craftable glass floors for both plasma glass and reinforced plasma glass

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2022-06-21 23:18:32 +01:00
SkyratBot
a62beacf7b [MIRROR] [MDB IGNORE] The Tilening V2 - Damaged Tile Overlays Edition [MDB IGNORE] (#14322)
* [MDB IGNORE] The Tilening V2 - Damaged Tile Overlays Edition

* yes

Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-19 22:36:25 +01:00
SkyratBot
889b36d5ea [MIRROR] Converts diggable from component to bespoke element [MDB IGNORE] (#14407)
* Converts diggable from component to bespoke element (#67695)

* Changes diggable to an element and fixes it, saving on some memory.

* Converts diggable from component to bespoke element

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-06-19 10:09:15 -07:00
SkyratBot
3f95ebbd5e [MIRROR] Fishing, Version 1 [MDB IGNORE] (#14370)
* Fishing, Version 1 (#67691)

Adds fishing and fishing minigame.
You use fishing rod to fish.
Equipping specific bait/hook/reels will affect your success chances.
You can fish out fish,items and other things.

Fishing Equipment
Fishing rods have three slots: Bait, Reel and Hook.
Any food can be used as bait but dedicated bait makes fishing easier.
You can buy hook and line sets
New bait types:

Worms : Buy can of them at cargo (alternative acquirement method pending)
Doughballs : Use knife on flat piece of dough to get five of them.
Fishing rod types:

Basic : Print these at the lathe, nothing fancy here.
Tech: Experimental tech. Provides infinite bait
Fishing rods can also hook and reel normal items.

Equipment screen and reeling video
Fishing spots
Keep in mind this PR is meant to add the basic systems and i intend to fill these with more fish in future PR's so wait with suggestions until then.

Lavaland lava (no fish here right now, just other stuff), requires reinforced line to fish in.
Maintenance moisture traps.
Beach away mission water.
Fishing portal available for purchase from cargo - This is stopgap until we fill more spots.
Difficulty depends on fishing spot, fish type, and the fish traits and rod setup combinations.
All fish types can have specific traits, most common ones being favourite and disliked bait types/categories.

Other
Fishing catalog now lists fishing related info
New admin debug verb, fishing calculator that show probabilities with different setups so it's easier to balance this.
Fish now have average weight and size. Make sure to boast if you catch a big one.
Adds tgui mouse passthrough
Screens
Sprites:

Fishing portal sprite by @ ArcaneMusic
Other sprites by @ Mey-Ha-Zah
Bad ones by me. (Could still use better fishing minigame backgrounds)
Sounds:

https://freesound.org/people/soundscalpel.com/sounds/110393/
https://freesound.org/people/soundslikewillem/sounds/343748/

* Fishing, Version 1

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-06-17 00:30:40 +01:00
SkyratBot
71b58f3f7c [MIRROR] Fixes slips being broken and adds a unit test to catch it happening again. [MDB IGNORE] (#14299)
* Fixes slips being broken and adds a unit test to catch it happening again. (#67741)

* Fixes slips being broken and adds a unit test to catch it happening again.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2022-06-13 23:18:57 -07:00
SkyratBot
7db844c30d [MIRROR] floating movement type now stops slips [MDB IGNORE] (#14277)
* floating movement type now stops slips (#67694)

* float movement type now stops slips

* weh

* floating movement type now stops slips

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-06-12 20:59:18 +01:00
SkyratBot
0a1f06a2d1 [MIRROR] This tail refactor turned into an organ refactor. Funny how that works. [MDB IGNORE] (#14017)
* This tail refactor turned into an organ refactor. Funny how that works.

* Firstly, fixing all the conflicts.

* Fixes all our maps (hopefully)

* Actually, this should fix pod people hair :)

* Almost everything is working, just two major things to fix

* Fixed a certain kind of external organ

* Cleaning up some more stuff

* Turned tail_cat into tail because why the fuck are they separate?

* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file

* Adds relevant_layers to organs to help with rendering

* Makes stored_feature_id also check mutant_bodyparts

* Fixes the icon_state names of ALL the tails (pain)

* Fixes wagging, gotta refactor most mutant bodyparts later on

* I Love Added Failures

* Fixed some organs that slipped through my searches

* This could possibly fix the CI for this?

* It doesn't look like it did fix it

* This will make it pass, even if it's ugly as sin.

* Fixed Felinids having a weird ghost tail

* Fixes instances of snouts and tails not being properly colored

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-06-11 23:20:16 -04:00
SkyratBot
47c43bb970 [MIRROR] Lets people light cigarettes in lava. [MDB IGNORE] (#14176)
* Lets people light cigarettes in lava. (#67587)

* god what a badass

* what a clumsy guy

* melbert changes

* Lets people light cigarettes in lava.

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
2022-06-08 02:08:45 +01:00
SkyratBot
14a38b7097 [MIRROR] Assorted Ordnance Code+Map Quality Pass and QoL [MDB IGNORE] (#14065)
* Assorted Ordnance Code+Map Quality Pass and QoL (#67097)

Three main things I do:

Reinforce the remap that i have made with code changes, making the atmos control devices sane and easy to put if someone else stumbles upon this part of the code again. (a4aea1e - f16e620)

Splits the ordnance areas and renames them, kills ordnance misc and things that have nothing to do with ordnance (anymore?) moves them to exp_lab (useful stuff here) and aux_lab (fluff stuff here like laser range in delta or second circuit lab in tram). (0c99f9f- 3c82a88)

Adds a roundstart program disk containing nt frontier to the ordnance office table. Added a hint to file manager there too to help give players a nudge on how to publish papers. (fd747dc)

First one: Makes mapping these things not require varedit, nicer for other people that dont know how the atmos control stuffs works.

Second one: Misc lab has nothing to do with ordnance jesus christ. Also ord hallway is now irrelevant, our ordnance labs are very far from box now. Will probably make downstreams a bit angry for a while though since they might not be fully up to date on the ordnance maps.

Third one: Pretty much justified it in the about section.

Why is this not atomic: This touches all five maps and needs code backing, so I might as well combine them into one maintenance PR instead of giving my peers merge conflict three times.

* Assorted Ordnance Code+Map Quality Pass and QoL

* set 1

* revert

* Update CentCom_skyrat.dmm

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-06 15:30:10 +01:00
SkyratBot
26271d8f69 [MIRROR] Fixes foam spreading through public airlocks and windoors [MDB IGNORE] (#13935)
* Fixes foam spreading through public airlocks and windoors (#67101)

* Fixes foam spreading through public airlocks and windoors

* nova

* Fixes foam spreading through public airlocks and windoors

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-27 12:45:26 +01:00
Gandalf
7c2a649bf7 Familiar lobbyscreen (#13835)
* wew

* e

* e

* ye

* yes

* e

* wew

* batch review, lobby > title

* yeh

* Update code/_onclick/hud/screen_objects.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/_onclick/hud/new_player.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/_onclick/hud/new_player.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* wew

* wew

* fixes changing title screen

* yes

* tes

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-05-26 23:29:38 +01:00
SkyratBot
a61b1ea07f [MIRROR] [MDB IGNORE] More /area/ typepath organization and cleanup [MDB IGNORE] (#13832)
* [MDB IGNORE] More /area/ typepath organization and cleanup (#67107)

This further continues what I did in b4fb8f3ed1 (but instead of just stations, its now every (most) applicable area in the game

* [MDB IGNORE] More /area/ typepath organization and cleanup

* wew

* e

* Update CentCom_skyrat.dmm

* wew

* ews

Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-24 16:47:55 +01:00
SkyratBot
01429f0679 [MIRROR] RCD can't deconstruct reinforced tiles. [MDB IGNORE] (#13705)
* RCD can't deconstruct reinforced tiles. (#67059)

* RCD can't deconstruct reinforced tiles.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2022-05-18 20:03:56 +01:00
Useroth
cca7f8ee4c Some missed mirrors (#13415)
* Refactors firestacks into status effects (#66573)

This PR refactors firestacks into two status effects: fire_stacks, which behave like normal firestacks you have right now, and wet_stacks, which are your negative fire stacks right now. This allows for custom fires with custom behaviors and icons to be made.

Some fire related is moved away from species(what the fuck was it even doing there) into these as well.
Oh and I fixed the bug where monkeys on fire had a human fire overlay, why wasn't this fixed already, it's like ancient.

Also changed some related proc names to be snake_case like everything should be.

This allows for custom fire types with custom behaviours, like freezing freon fire or radioactive tritium fire. Removing vars from living and moving them to status effects for modularity is also good.
Nothing to argue about since there's nothing player-facing

* Hud Image Culling By Z Level: Theft edition (#65189)

* makes hud images only apply by z level

* makes some of the atom_hud procs have better names

* fixes warning with the hud_user list and adds better documentation

* better docs for hud_images

* removes TODOs

* docs for hud_list

* adds support for linked z levels so mobs can see lower ones

* fixes merge conflict and shittily makes only shocked airlocks get added

* adds support for setting images in the hud as active and inactive

* gets rid of unatomic spatial grid change

* maybe i should actually try COMPILING my changes

* fixes merge skew and makes it compile again

* fixes huds refusing to remove from users who changed z level

* improves z level and registration logic

* fixes antag huds not appearing

* Fixes antag huds not properly setting. We now use hud_list in init, so it needs to be set before the new call, not after. Not sure why the use of appearance key was split like this, but none else knows either so none can stop me

* Ensures that hiding a basic appearance also hides the atom's active list too

* Fixes antag huds going poof

Ensures that remove_atom_from_hud will return false if the passed atom
isn't managed by it

This fixes antag huds disappearing randomly, since they assumed that if
the parent call of remove_atom_from_hud returned true, we should delete
ourselves. This is a safe assumption for them to make, since they should
only ever have one atom.

Does kinda bork if we call remove_atom_from_hud in a way that is unsure
if the passed atom is actually in that list. We were forced into doing
this by how atom huds use the qdeleting signal.

* makes basic alternate_appearance's only update themselves when setting their hud image to active and makes them not add themselves to the global huds_by_category list

* fixes mistake with hud_users list being set non associatively (bad)

* as anything in bot path loops

* Fixes merge skew problems

* Makes bot paths non global

This way they can show themselves to only the bot that "owns" them, ya
feel me?

* Fixes huds not showing up sometimes, cleans up some code

Post Kapu's limb refactor, we were calling prepare_huds twice in a human
init call chain. What was happening was this:

call prepare_huds() // Human
I gained a new hud image
I set active hud icons to mirror it
call prepare_huds() // Living
I overwrote the new hud image
I attempted to set active hud icons, which failed because it assumes
this can never happen

*cries*

* Renames add_hud_to_atom to show_to

My hope is this will make understanding hud code a bit easier, by tying
the behavior to a "verb" more closely. Also renamed a few vars

* remove_hud_from_mob -> hide_from

* Nitpicks a few comments

* Whoops/fuck/shit/damn it all/hhhhhhhhhhhh

* Moves check down, improves stack trace a bit

Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>

* small touch-up

* this should do it

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
2022-05-08 03:59:40 +01:00
Zonespace
2a3d60a2a6 Mirror of tgstation/tgstation#66726 (#13383)
* [MDB IGNORE] You can have your cake and eat it too. Remake of #66406 (Splitting up areas.dmi + code related stuff) (#66726)

Areas.dmi right now houses all of our mapped turfs icons (which is roughly 400 icons). Not an issue, but it's incredibly large and clunky to navigate right now. This isn't an issue for the average coder and/or player code diving, but it is for mappers wanting to add new turfs. Currently, the file has some organization, but its still an overall mess. This PR aims to slice the behemoth with multiple .dmi files corresponding to specific areas.

I also plan to repath /area/* -> /area/station/* for station turf only. This is to clean it up, as most other turfs follow this format (that being /area/turf_zone/*).

I'm also writing an update paths file as I go along.

* fixbatch 1

* fug

Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-07 22:41:23 +01:00
SkyratBot
bca6a53e8e adds new z-level trait to disable parallax (#66637) (#13353)
* first push woohoo

* more stuff

* Update code/datums/components/z_parallax.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* mothblockification

* fuck

* fuck 2

* uh

* uh yeah style stuff ig

* more changes

* last changes

* fuck

* fuck 2

* i hate potatopotato

* i hate potato * 2

* a

* god

* woops

* Update code/modules/mapping/space_management/traits.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

* Update code/modules/mapping/space_management/traits.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

* Update code/modules/mapping/space_management/traits.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-07 22:14:14 +01:00
SkyratBot
1c77ca691f Floor Variety Pack (#66670) (#13344)
Adds small, herringbone and diagonal tiles in black, white and grey! It also includes fancy new Terracotta tiles!

Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
2022-05-06 12:46:13 +01:00
SkyratBot
f4c2b35c06 [MIRROR] Most materials can be used to build most things [MDB IGNORE] (#13202)
* Most materials can be used to build most things

* Fixes the merge conflict

* Makes it so our vis_overlay1 is initialized first. It's awful but it works

* Properly fixes the CI issues with the plasma airlocks

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-05-03 19:11:07 +01:00
SkyratBot
f3502a2b84 [MIRROR] genericizes modsuit parts more [MDB IGNORE] (#13169)
* genericizes modsuit parts more

* Fixed merge conflict in CODEOWNERS

* Resolved the merge conflicts

* Fixed the modsuit tails

* Added a feedback variable for the remove_pai() proc, to try and clear out some issues

* Fixed the issues with the linter by splitting remove_pai in extract_pai and remove_pai

* Very simple fix to ensure all parts use the overslot

* Update modular_skyrat/modules/modsuit_pai/code/mod_pai.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-04-30 11:47:03 -04:00
SkyratBot
f6ce903dea [MIRROR] Makes glass floors override platings. Fixes glass floor openspace bug. [MDB IGNORE] (#13226)
* Makes glass floors override platings. Fixes glass floor openspace bug. (#66301)

About The Pull Request

Fixes #63868. Actual one liner fix for this one here. If this pr dies feel free to atomize this one.
AND it turns out to not be tim's fault.

Fixes #63548. But i really shouldnt say fixed. The original implementation was causing the invincible plating bug. When tim's refactor got in it instead relies on the element state, which was broken from the get go, removing the invincible plating bug which was in a sense "intended" its all messy man I hate this code. Thats why im removing the plating thing. Let the turf handle the turf change themselves this complicates things.

Mapped in glass floors have openspace (now baseturf bottom) as their baseturfs, while built ones have plating under them. Which doesnt make sense to be honest. Why would things be visible if a plating is under the glass. They are also crowbarrable on top of this, which to be fair is my main reasoning behind the PR.

To solve this, I am instead making glass floors replace the plating instead of building over it. This is made to be generalizable for every tile in game, as long as their initial baseturf is the same and the tile wants it to happen.

do after of three seconds is completely arbitrary. If any maint want it changed let me know.
Why It's Good For The Game

First one solves a bug
Second one makes more sense
And er, icebox is currently using the glass floors in sec, they can be crowbarred very easily. This might be a good idea from a gameplay perspective.
Changelog

cl
del: Removed adding glass floors to plating
balance: Allows you to replace plating with glass floors instead. 3 second timer.
del: Removed deconstructing the glass floors. No replacement for this one, use a rcd.
fix: Fixed metastation glassfloor spawning a weird turf when crowbarred.
/cl

* Makes glass floors override platings. Fixes glass floor openspace bug.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-04-29 23:07:30 -07:00
GoldenAlpharex
f42c8f341e Updated the handle_generic_titlescreen_size() proc so it would take into account our titlescreen sizes (#13152) 2022-04-27 20:42:39 +01:00
Gandalf
906348bb9a Finally fixes SS decay (#12978)
* wew

* wwwooops

* Update floor.dm

* wew
2022-04-22 00:03:03 +01:00
SkyratBot
d71d49bd91 [MIRROR] [Ready] Hilbert Research Facility remap feat. tram [MDB IGNORE] (#12745)
* [Ready] Hilbert Research Facility remap feat. tram (#66082)

* reworks hilbert's hotel ruin

* warooio

* you can now run multiple trams on the same z at the same time, trams are linked by id

* fuck

* sure

* you are a simulacra

* FUG

* dock

* [Ready] Hilbert Research Facility remap feat. tram

* Update mapping_fluff.dm

* Update gordon_freeman.dm

* fixes

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-04-18 17:00:25 -07:00