Commit Graph

7187 Commits

Author SHA1 Message Date
SkyratBot 4b35a2f439 [MIRROR] Fixes solid plasma breaking into plasmaglass shards [MDB IGNORE] (#13742)
* Fixes solid plasma breaking into plasmaglass shards (#67098)

* Fixes solid plasma breaking into plasmaglass shards

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-20 01:12:15 +01:00
SkyratBot 4862c05cff [MIRROR] Godmode now prevents radstorms from irradiating you. [MDB IGNORE] (#13728)
* Godmode now prevents radstorms from irradiating you. (#67081)

Having godmode toggled will now prevent you from being mutated by a radstorm

* Godmode now prevents radstorms from irradiating you.

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-05-19 12:54:58 -04:00
SkyratBot 2da69ce304 [MIRROR] Split and Document Logging Procs [MDB IGNORE] (#13707)
* Split and Document Logging Procs

* Update _logging.dm

* Update atoms.dm

* Update mob_helpers.dm

* Update mob.dm

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-05-19 01:18:40 +01:00
SkyratBot 43abf0176f [MIRROR] OpenDream Cleanup Pass [MDB IGNORE] (#13690)
* OpenDream Cleanup Pass (#67036)

OpenDream can detect BYONDisms that BYOND or SpacemanDMM miss. This PR fixes all of the issues it found in TG. Each change is explained in code comments below.

* OpenDream Cleanup Pass

Co-authored-by: ike709 <ike709@users.noreply.github.com>
2022-05-18 19:56:35 +01:00
SkyratBot b4e30f8e42 [MIRROR] Fixes strange runtime with restart votes [MDB IGNORE] (#13686)
* Fixes strange runtime with restart votes (#67080)

So, I refactored votes a little bit ago.
This line was present in the result process for restart votes.

for(var/client/C in GLOB.admins + GLOB.deadmins)
	if(!C.is_afk() && check_rights_for(C, R_SERVER))
		active_admins = TRUE
		break

So, I converted it to this.

for(var/client/online_admin as anything in GLOB.admins | GLOB.deadmins)
	if(online_admin.is_afk() || !check_rights_for(online_admin, R_SERVER))
		continue

Seems fine, right?
Unfortunately, no.

GLOB.deadmins is a global list of deadminned ckeys. Not deadminned clients.
So, the original loop iterated over a combined list of clients AND ckeys, but ONLY typechecked for clients.

Why were we adding in ckeys in the first place, if it didn't even check them?
No idea. But it seems like, since no one noticed restart votes weren't checking for deadminned admins in the first place, there isn't a reason to continue to consider them. Admins can re-admin to cancel restart votes or address the server's concerns if they're online, I suppose.

* Fixes strange runtime with restart votes

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-18 19:53:57 +01:00
SkyratBot af79be78b4 [MIRROR] Vape GAGS [MDB IGNORE] (#13555)
* Vape GAGS

* Vape GAGS

Co-authored-by: Ebb-Real <95765134+Ebb-Real@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-05-17 21:08:19 +01:00
SkyratBot 55ec232462 [MIRROR] Refactors the forensics component into a datum [MDB IGNORE] (#13649)
* Refactors the forensics component into a datum

* Refactors the forensics component into a datum

* Refactors the forensics component into a datum

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-05-17 20:32:15 +01:00
SkyratBot 181851efc9 [MIRROR] Allows slimes to buckle to monkeys again [MDB IGNORE] (#13664)
* Allows slimes to buckle to monkeys again (#67034)

* Allows slimes to buckle to monkeys again

Just because they are not able to ride things doens't mean they should
not be able to buckle to anything

* Update code/datums/elements/ridable.dm

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

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

* Allows slimes to buckle to monkeys again

Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-05-17 00:11:45 -07:00
SkyratBot d6d593adc3 [MIRROR] Change drunk blur effect to scale based on intoxication [MDB IGNORE] (#13648)
* Change drunk blur effect to scale by intoxication (#66961)

* Change drunk blur effect to scale based on intoxication

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-05-16 19:57:24 -07:00
SkyratBot 01a67f0eb8 [MIRROR] Gives Detective ACCESS_SECURITY, moves security equipment to ACCESS_BRIG [MDB IGNORE] (#13658)
* Gives Detective ACCESS_SECURITY, moves security equipment to ACCESS_BRIG (#66990)

* Gives Detective ACCESS_SECURITY, moves security equipment to ACCESS_BRIG

* Removed Forensics access from brig closet, security records

* Gives Detective ACCESS_SECURITY, moves security equipment to ACCESS_BRIG

Co-authored-by: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
2022-05-16 19:54:27 -07:00
SkyratBot 0ddd99d3de [MIRROR] Fixes mind restoration causing dizziness [MDB IGNORE] (#13660)
* Fixes mind restoration causing dizziness (#67011)

Mind res should cure dizziness, not cause it

* Fixes mind restoration causing dizziness

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-16 19:52:49 -07:00
SkyratBot 641f1f3762 [MIRROR] Makes ridable not work if you cant hold the offhand [MDB IGNORE] (#13630)
* Makes ridable not work if you cant hold the offhand (#66939)

* Makes ridable not work if you cant hold the offhand

Because amount_equipped is 0, and because not being able to insert the riding_offhand only break's, rather than returns FALSE to cancel, it goes on to fireman carry you're not supposed to be able to carry, leading to situations where people are fireman carrying others and is completely unable to drop them.

* adds a block buckle to slime's traits too

* Makes ridable not work if you cant hold the offhand

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-05-15 19:26:20 -07:00
SkyratBot 002c405613 [MIRROR] [NO GBP] Gives miners general cargo access [MDB IGNORE] (#13641)
* [NO GBP] Gives miners general cargo access (#67025)

Gives miners the ability to access their department (like the cargo bay) as normal. This is a quick fix to make sure that miners can do their jobs while we wait for the refactor currently in the works to go through. After that is in I will be able to properly manage the accesses and compartmentalize as necessary.

* [NO GBP] Gives miners general cargo access

Co-authored-by: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
2022-05-15 17:47:25 -07:00
SkyratBot c231a4974d [MIRROR] Improves the readability of attack logs for stripping [MDB IGNORE] (#13604) 2022-05-14 12:49:52 -07:00
SkyratBot 0093bf91cd [MIRROR] Fixes multiple orbiting blades being used at once [MDB IGNORE] (#13597)
* Fixes multiple orbiting blades being used at once (#66817)

Multiple orbiting blades will no longer be used to protect you from the same attack in case you have multiple instances of the status effect

* Fixes multiple orbiting blades being used at once

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-13 23:20:14 -07:00
SkyratBot a5a86d5265 [MIRROR] Adds Ceilings To IceMoon Ruins [MDB IGNORE] (#13565)
* Adds Ceilings To IceMoon Ruins (#66836)

Hey there,

On IceBox, sometimes, ruins could spawn below chasms that we had, or below a ruin that spawned in more openspace chasms. This would cause numerous Active Turfs on initialization, and I've seen the number go up to 150 active turfs. This change should reduce the number by a good margin.

I decided to make the ceiling mineral-rich snow to ensure it had that "buried" appearance, and would hopefully look nice to have that odd chance for a underground ice ruin create a natural bridge that just needs to be excavated.

* Adds Ceilings To IceMoon Ruins

Co-authored-by: san7890 <the@san7890.com>
2022-05-13 11:31:54 +01:00
SkyratBot 528fd70c40 [MIRROR] Fixes some minor formatting issues with vote text [MDB IGNORE] (#13584)
* Fixes some minor formatting issues with vote text (#66913)

* Fixes some minor formatting issues with vote

* Wrong thing.

* Actually I think this is supposed to be here

* Fixes some minor formatting issues with vote text

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-13 11:31:39 +01:00
SkyratBot 7a820e2a40 [MIRROR] fixes dizziness causing hard crashes [MDB IGNORE] (#13547)
* fixes dizziness causing hard crashes (#66861)

this pr fixes dizziness causing hardcrashes and sending your view 50 tiles in both x and y

* fixes dizziness causing hard crashes

Co-authored-by: MacBlaze1 <33578623+MacBlaze1@users.noreply.github.com>
2022-05-12 02:54:57 +01:00
SkyratBot 133b753507 [MIRROR] Converts jittering to status effect, striking yet another mob level status value [MDB IGNORE] (#13534)
* Converts jittering to status effect, striking yet another mob level status value

* mmkay

* weh

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 21:59:42 +01:00
SkyratBot 4bc9446f21 [MIRROR] Fixes "high blood pressure" status effect, and corrects the spelling of "opioid" (fixing another bug) [MDB IGNORE] (#13532)
* Fixes "high blood pressure" status effect, and corrects the spelling of "opioid" (fixing another bug) (#66849)

Status effects that are intended to be added, are actually added.
Opioid is now spelled correctly, consistently.

This actually caused a bug: Opioid end_withdrawal was never called because it's path was spelled correctly and the others weren't.

* Fixes "high blood pressure" status effect, and corrects the spelling of "opioid" (fixing another bug)

* wew

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 21:52:11 +01:00
SkyratBot 4cbd7043ea [MIRROR] Minor twohanded component refactor [MDB IGNORE] (#13524)
* Minor twohanded component refactor

* wew

* Update energy_fireaxe.dm

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 02:10:45 +01:00
SkyratBot 3e4bad8694 [MIRROR] Confusion status effect is now duration based instead of magic number based [MDB IGNORE] (#13496)
* Confusion status effect is now duration based instead of magic number based

* e

* Update tgstation.dme

* Update contract.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 01:52:39 +01:00
SkyratBot 0228180861 [MIRROR] Removes "strandling" status effect from a bunch of random places / refactors it [MDB IGNORE] (#13480)
* Removes "strandling" status effect from a bunch of random places / refactors it

* Update carbon_defense.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 00:35:40 +01:00
SkyratBot 7606c1715e [MIRROR] Bandana GAGS follow-up [MDB IGNORE] (#13437)
* Bandana GAGS follow-up

* yes

Co-authored-by: Ebb-Real <95765134+Ebb-Real@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 00:31:06 +01:00
SkyratBot f379a0b5f5 [MIRROR] Fix books to only give mood bonus when read the first time [MDB IGNORE] (#13498)
* Fix books to only give mood bonus when read the first time (#66371)

* Fix book rereading exploit

* Refactor book_title_read to be for mind datum

* Remove reader var from on_read

* Add sanity check for mind

* Fix books to only give mood bonus when read the first time

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-05-09 21:56:16 -07:00
SkyratBot de669c4772 [MIRROR] Refactors cyborg drink refilling into a component [MDB IGNORE] (#13472)
* Refactors cyborg drink refilling into a component

* Update robot.dm

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-10 01:49:26 +01:00
SkyratBot 967c096153 [MIRROR] Sorts ai_laws.dm, adds Dungeon Master, The Painter and Their Canvas, and Nutimov lawsets [MDB IGNORE] (#13487)
* Sorts ai_laws.dm, adds Dungeon Master, The Painter and Their Canvas, and Nutimov lawsets (#66636)

Sorts ai_laws.dm, adds Dungeon Master, The Painter and Their Canvas, and Nutimov lawsets (They aren't obtainable by players at the moment)

* Sorts ai_laws.dm, adds Dungeon Master, The Painter and Their Canvas, and Nutimov lawsets

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2022-05-10 01:35:40 +01:00
SkyratBot aa74179ecf [MIRROR] Titan's Final Lament - Colossus and hierophant crusher trophy rework [MDB IGNORE] (#13478)
* Titan's Final Lament - Colossus and hierophant crusher trophy rework (#66793)

This is somewhat a port of BeeStation/BeeStation-Hornet#6805 with slight changes, credits to Rukofamicom for the original PR.

Kinetic crusher is supposed to be a high risk high reward weapon, but with current hiero wall trophy it just ends up with the player cheesing mob and boss AIs. To fix this, here we change hiero trophy to spawn a hierophant chaser instead of a wall, which will increase player's DPS without offering them any protection.

However, this creates another issue: right now colossus is unbeatable with crusher without cheesing it with the wall due to it's shotgun attack which kills and dusts you point blank or 1 tile away, which is extremely unfair and unfun. To fix this, I add what should've been done from the start - make colossus telegraph it's attacks before starting them. Player has 1.5 seconds to react(unlike 3 seconds in the original PR which made the fight much easier) and dodge the attack or at least get away from the colossus to have a chance to survive.

Since this does make the fight significantly easier, colossus gets a special final attack during which it shouts "Perish" and uses different attacks. Unlike in the original PR, he can only use it once, so it's not as deadly and bullshit. This should make the fight more epic and similar to other bossfights which get cool attacks near the end of the battle.

Goodbye 4 GBP, you served me well.

* Titan's Final Lament - Colossus and hierophant crusher trophy rework

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-10 01:34:38 +01:00
SkyratBot f2867a2b40 [MIRROR] Separates regenerative core and wounded alerts [MDB IGNORE] (#13471)
* Separates regenerative core and wounded alerts (#66794)

This has been bothering me for ages, it doesn't make sense for wounded and regenerative core status effects to have the same icon and in the original PR author said that he didnt put regen core into the icon instead of the skull because he didnt want wounded status effects to have the regen core as its icon, so here you go. Wounded effects still keep their skull while regen cores have proper sprites.

* Separates regenerative core and wounded alerts

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-10 01:34:18 +01:00
Useroth 4d07f3a620 Missed mirror (#13460)
* Converts drunkness and dizziness to status effects. Refactors status effect examine text (and, subsequently, stabilized black extracts).  (#66340)

* Refactors dizziness into a status effect

* Refactors the dizziness setter to use the new kind

* Drunkness.
- Should drunk continue to work off of a magic value or be swapped to duration? I've not yet decided: For understandability it's preferabale for "drunk" to use a timer (they are drunk for 3 more minutes), but both adding drunk and decreasing drunk currently use weird calculations which would be difficult to carry over.
- Ballmer is a liver trait

* Dizzy was a setter, not an adjuster

* Does all the drunk effects over
- refactors examine text fully
- refactors stabilized blacks because of this

* Removed

* repaths, fixes some issues

* Minor fixes

* Some erroneous changes

* Fixes some dizziness errors

* Consistency thing

* Warning

* Undoes this change, I dont like its implementation

* max_duration

* Max amount

* Should be a negative

* max duration

* drunk doesn't tick on death

* Rework dizziness strength

* Erroneous dizzy change

* Fixes return type

* this should do it?

* well, one more

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-09 15:05:42 +01:00
SkyratBot 9485e35615 [MIRROR] Refactors SSvote, makes votes into datums, also makes vote ui Typescript [MDB IGNORE] (#13448)
* Refactors SSvote, makes votes into datums, also makes vote ui Typescript

* yes

* Update transfer_vote.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:42:27 +01:00
SkyratBot effc8fb75e [MIRROR] Titanium and plastitanium shards and weapons + missing textures. [MDB IGNORE] (#13457)
* Titanium and plastitanium shards and weapons + missing textures.

* ew

Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:30:21 +01:00
SkyratBot c0cf640229 Supermatter zaps now are colored based on the power (#13444)
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:24:21 +01:00
SkyratBot 66312868bc [MIRROR] Supermatter cascade round-end [MDB IGNORE] (#13436)
* Supermatter cascade round-end

* wew

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:23:07 +01:00
SkyratBot c1a1683db6 [MIRROR] removes permeability, rolling it into bio armor [MDB IGNORE] (#13435)
* removes permeability, rolling it into bio armor

* e

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:16:27 +01:00
SkyratBot 1bc09326d0 [MIRROR] Splits eye color into two vars | Heterochromia Quirk [MDB IGNORE] (#13390)
* Splits eye color into two vars | Heterochromia Quirk

* yesyes

* eeee

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:00:12 +01:00
SkyratBot 84e4e378bc [MIRROR] Card Shark DLC - GIMMIE MY MONEY OR I BREAK YOUR KNEECAPS [MDB IGNORE] (#13287)
* Card Shark DLC - GIMMIE MY MONEY OR I BREAK YOUR KNEECAPS (#64200)

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

* Update piratefort.dmm

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 00:37:35 +01:00
SkyratBot ef2016732d [MIRROR] Makes smoke and foam attempt to fill the available space. [MDB IGNORE] (#13407)
* Makes smoke and foam attempt to fill the available space.

* wew

* reset

* Revert "reset"

This reverts commit 75be4f934504793ceb5c9bf2f3774dc24517df5a.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-08 04:01:32 +01:00
SkyratBot e6cfb2eeab [MIRROR] Clever Mutation [MDB IGNORE] (#13421)
* Clever Mutation (#66650)

Basically, the Pull Request just adds a new trait that allows for mobs that might otherwise not be able to do stuff like use computers, do surgery or interact with PDAs to do so. Primarily aimed at monkeys, though there may be other mobs that this could be useful to as well.

* Clever Mutation

Co-authored-by: Sneeker134 <53362182+Sneeker134@users.noreply.github.com>
2022-05-08 04:00:10 +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
Gandalf 92d43127c3 https://github.com/tgstation/tgstation/pull/66654 2022-05-08 00:02:06 +01:00
SkyratBot 694a0740dc [MIRROR] Parallax but better: Smooth movement cleanup [MDB IGNORE] (#13414)
* Parallax but better: Smooth movement cleanup (#66567)

* Alright, so I'm optimizing parallax code so I can justify making it do a
bit more work

To that end, lets make the checks it does each process event based.
There's two. One is for a difference in view, which is an easy fix since
I added a view setter like a year back now.

The second is something planets do when you change your z level.
This gets more complicated, because we're "owned" by a client.
So the only real pattern we can use to hook into the client's mob's
movement is something like connect_loc_behalf.

So, I've made connect_mob_behalf. Fuck you.

This saves a proc call and some redundant logic

* Fixes random parallax stuttering

Ok so this is kinda a weird one but hear me out.

Parallax has this concept of "direction" that some areas use, mostly
the shuttle transit ones. Set when you move into a new area.
So of course it has a setter. If you pass it a direction that it doesn't
already have, it'll start up the movement animation, and disable normal
parallax for a bit to give it some time to get going.

This var is typically set to 0.

The problem is we were setting /area/space's direction to null in
shuttle movement code, because of a forgotten proc arg.

Null is of course different then 0, so this would trigger a halt in
parallax processing.

This causes a lot of strange stutters in parallax, mostly when you're
moving between nearspace and space. It looks really bad, and I'm a bit
suprised none noticed.

I've fixed it, and added a default arg to the setter to prevent this
class of issue in future. Things look a good bit nicer this way

* Adds animation back to parallax

Ok so like, I know this was removed and "none could tell" and whatever,
and in fairness this animation method is a bit crummy.

What we really want to do is eliminate "halts" and "jumps" in the
parallax moveemnt. So it should be smooth.

As it is on live now, this just isn't what happens, you get jumping
between offsets. Looks frankly, horrible. Especially on the station.

Just what I've done won't be enough however, because what we need to do
is match our parallax scroll speed with our current glide speed. I need
to figure out how to do this well, and I have a feeling it will involve
some system of managing glide sources.

Anyway for now the animation looks really nice for ghosts with default
(high) settings, since they share the same delay.

I've done some refactoring to how old animation code worked pre (4b04f9012d). Two major
changes tho.

First, instead of doing all the animate checks each time we loop over a
layer, we only do the layer dependant ones. This saves a good bit of
time.

Second, we animate movement on absolute layers too. They're staying in
the same position, but they still move on the screen, so we do the same
gental leaning. This has a very nice visual effect.

Oh and I cleaned up some of the code slightly.

* Parallax but better: Smooth movement cleanup

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-05-07 23:33:34 +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 52dbce8997 [MIRROR] Improper forced qdel cleanup, some expanded del all verbs [MDB IGNORE] (#13384)
* Improper forced qdel cleanup,  some expanded del all verbs (#66595)

* Removes all supurfolus uses of QDEL_HINT_LETMELIVE

This define exists to allow abstract, sturucturally important things to
opt out of being qdeleted.
It does not exist to be a "Immune to everything" get out of jail free
card.
We have systems for this, and it's not appropriate here.

This change is inherently breaking, because things might be improperly
qdeling these things. Those issues will need to be resolved in future,
as they pop up

* Changes all needless uses of COMSIG_PARENT_PREQDELETED

It exists for things that want to block the qdel. If that's not you,
don't use it

* Adds force and hard del verbs, for chip and break glass cases
respectively

The harddel verb comes with two options before it's run, to let you
tailor it to your level of fucked

* Damn you nova

Adds proper parent returns instead of . = ..()

Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>

* Ensures immortality talismans cannot delete their human if something goes fuckey. Thanks ath/oro for pointing this out

Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>

* Improper forced qdel cleanup,  some expanded del all verbs

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
2022-05-07 14:22:06 +01:00
SkyratBot 52b9b9d09a [MIRROR] Adds some sanity to the blade heretic's mark effect [MDB IGNORE] (#13381)
* Adds some sanity to the blade heretic's mark effect (#66572)

Blade Mark no longer allows you to throw people out of the area
If the mob ends up completely outside of the marked area, they will no longer be burdened by being locked to a room they are no longer within
Heretics can drag blade-marked mobs out of the room they're locked within
Forced movement is no longer blocked by the mark (just in case)
The mark now throws a bit further back into the area + throws gentally

Heretics can't accidentally lock their abduction target in a room
Heretics can't get owned by a bodythrow
Prevents some bugs and rare cases where people can escape the room they're locked to

Managing to escape the area of a blade heretic's mark will no longer constantly burden you as if you never left.
There should be less ways of escaping the area of a blade heretic's mark now.
Heretics can drag people marked by a blade heretic out of the area they are trapped within.
Being thrown back by a blade heretic's mark will be slightly less awkward now, and less dangerous.

* Adds some sanity to the blade heretic's mark effect

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-06 22:05:17 -07:00
SkyratBot 405008bc61 [MIRROR] Deadchat control alerts ghosts when they can input another command [MDB IGNORE] (#13386)
* Deadchat control alerts ghosts when they can input another command (#66621)

Makes it so deadchat control alerts ghosts when they can input another command. Also rounds the seconds values in the to_chat messages for deadchat control up, so they don't have a decimal point.

You don't have to keep trying to input something to see if the cooldown has expired yet. Removing the decimal point looks cleaner.

* Deadchat control alerts ghosts when they can input another command

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2022-05-06 22:04:45 -07:00
SkyratBot 8545a3a3e1 [MIRROR] Eigenstasium overdose effect lines now use a strings file [MDB IGNORE] (#13380)
* Eigenstasium overdose effect lines now use a strings file (#66579)

A simple little code improvement that makes eigenstasium lines into a strings file.

Cleans up eigenstasium effect code, and also opens up the possibility to use the new strings file for much more dynamic lines.

* Eigenstasium overdose effect lines now use a strings file

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2022-05-06 23:55:31 +01:00
SkyratBot 95a156450a Gives atmos techs general engineering access by default (#66751) (#13376)
Having general access to your department is great for design consistency and allows us to properly map access helpers to reflect what is supposed to be general access and what is not, making it so we do not have to map multiple accesses onto one door when it is not required.

Should also fix Atmospherics Technicians not having access to the Supermatter shiftstart.

Co-authored-by: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
2022-05-06 21:46:28 +01:00
SkyratBot 3c1d2630e4 fixes shy component's whitelist accidentally being a blacklist (#66665) (#13356)
its a list where we continued if the person was NOT in the whitelist, it continued to the next, so it broke if there was a drone nearby, instead of breaking when there was a human enarby or whatever

fixes #66577 (Station Drones aren't allowed to interact while near another Station Drone)

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-05-06 12:48:35 +01:00