Commit Graph

183 Commits

Author SHA1 Message Date
SkyratBot
417e938fb2 [MIRROR] emote_type refactor to bitflags [MDB IGNORE] (#15430)
* emote_type refactor to bitflags

* Update emotes.dm

Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-08-08 01:12:28 +01: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
6bea86d98f [MIRROR] [MDB Ignore] Refactoring Flora code [MDB IGNORE] (#13651)
* [MDB Ignore] Refactoring Flora code

* update bushes

Co-authored-by: DragonTrance <dylan661993@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-05-20 16:01:51 +01:00
SkyratBot
38ad81aac6 [MIRROR] [MDB IGNORE] Moves non floor turfs off /floor. You can put lattices on lavaland edition [MDB IGNORE] (#12119)
* [MDB IGNORE] Moves non floor turfs off /floor. You can put lattices on lavaland edition

* 123

* fixes more typepaths

* typepaths

* Update planet_turfs.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kat <53862927+KathrinBailey@users.noreply.github.com>
2022-03-18 03:07:00 +00:00
SkyratBot
c0a41c253f [MIRROR] Fixes non rustable turfs from being rusted [MDB IGNORE] (#12017)
* Fixes non rustable turfs from being rusted (#65343)

* changes it to a turf flag

* Wood Is Not Metal

* Fixes non rustable turfs from being rusted

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-03-11 16:53:33 -07:00
SkyratBot
f062adf668 [MIRROR] Kudzu nerfs, Venus human trap changes [MDB IGNORE] (#11483)
* Kudzu nerfs, Venus human trap changes

* Update spacevine.dm

* Update venus_human_trap.dm

* Update spacevine.dm

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-02-16 17:20:29 +00:00
SkyratBot
d1cfb4338e [MIRROR] Contextual screentips -- Screentips now show you what items/objects can do [MDB IGNORE] (#11529)
* Contextual screentips -- Screentips now show you what items/objects can do (#64502)

Adds the foundational system for contextual screentips, which will show you what you can do with objects/items, including through context, such as what you are holding.

Provides several helper elements for most use cases, and applies it to a handful of common objects in order to show the full breadth of the system.

Changes screentips preference from on/off to on/off/only with context. Players who originally had it on off will have it migrated to only with context, though can re-disable it.

* Contextual screentips -- Screentips now show you what items/objects can do

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-02-15 23:48:07 +00:00
SkyratBot
ec6ddbe758 [MIRROR] Remove code/__DEFINES/misc.dm [MDB IGNORE] (#10945)
* Remove code/__DEFINES/misc.dm

* agagagagagaga

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-27 02:40:25 +00:00
SkyratBot
0e8da2fe1e [MIRROR] Prevents things that shouldn't lie down from laying down [MDB IGNORE] (#10383)
* Adds MOBILITY_LIEDOWN (#63602)

* Prevents things that shouldn't lie down from laying down

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2022-01-01 15:31:53 +00:00
SkyratBot
95cba1202a [MIRROR] Miscellaneous projectile phasing fixes/tweaks + fixes a typo in the blastcannon projectile. [MDB IGNORE] (#10365)
* Miscellaneous projectile phasing fixes/tweaks + fixes a typo in the blastcannon projectile. (#63581)

* Fix blastcannon typo. Hopefully fix blastwave phasing.

* Fix projectile phasing on direct target

* Should unspaghetti sniper bullet var definitions

* Makes phasing rounds phase

* Preserve original behavior of sniper rounds

* Miscellaneous projectile phasing fixes/tweaks + fixes a typo in the blastcannon projectile.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-12-31 20:10:56 -05:00
SkyratBot
e90627be0e [MIRROR] Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed [MDB IGNORE] (#9176)
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed

* Fixing conflicts

* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)

* Removing more lingering rad armor (woo)

* Damnit powerarmors

* Bye bye rad collectors!

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-02 10:36:46 -04:00
SkyratBot
26c915c93f [MIRROR] Binary and Decimal Conversion Components. [MDB IGNORE] (#8995)
* Binary and Decimal Conversion Components. (#61889)

Added a couple components that convert a number into an array of binary digits and viceversa.
May help players mak more complex and advanced components without filtering those lacking knowledge in the binary field.

* Binary and Decimal Conversion Components.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-23 15:14:32 +01:00
SkyratBot
58c7729d88 [MIRROR] Rad collectors gone, tesla coils to generate power [MDB IGNORE] (#8697)
* Rad collectors gone, tesla coils to generate power (#61917)

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

* Rad collectors gone, tesla coils to generate power

* replaces rad collectors

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Kat <evesovereign@hotmail.co.uk>
2021-10-10 17:13:06 +01:00
SkyratBot
f193b48051 [MIRROR] fixes penetrator rounds phasing through vehicles [MDB IGNORE] (#8657)
* fixes penetrator rounds phasing through vehicles (#61907)

When I gave vehicles the PASSMACHINE flag in #61793 I forgot that penetrator rounds existed leading to them completely ignoring mechs. This time I created a new flag for vehicles, added it to water particle effects, and excluded it from the penetrator rounds.

Additionally this flag has been added to the heretic's phasing ability.

* fixes penetrator rounds phasing through vehicles

Co-authored-by: Invalid <51190031+InvalidArgument3@users.noreply.github.com>
2021-10-07 13:26:48 +01:00
SkyratBot
e510e35167 [MIRROR] [READY] Adds memory system, and engraving walls with chisels (#8066)
* [READY] Adds memory system, and engraving walls with chisels

* EEE

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-13 23:36:51 +01:00
Gandalf
8eb1a428f3 Revert "Revert "[MIRROR] Refactor area and turf lighting"" (#8063)
* Revert "Revert "[MIRROR] Refactor area and turf lighting (#7775)" (#7902)"

This reverts commit 64c4c52d12.

* This should probably fix it

* I love linters

Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-09-10 19:01:18 -04:00
Gandalf
64c4c52d12 Revert "[MIRROR] Refactor area and turf lighting (#7775)" (#7902)
This reverts commit 1219e433be.
2021-09-08 18:48:29 +01:00
SkyratBot
1219e433be [MIRROR] Refactor area and turf lighting (#7775)
* Refactor area and turf lighting

* AAAAAAAA

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-29 00:43:40 +01:00
SkyratBot
8a9ab67aad [MIRROR] That's it. *GAGS'ifies your berets* (#7097)
* That's it. *GAGS'ifies your berets*

* a

* Update head.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 22:21:49 +01:00
SkyratBot
f593849ce5 [MIRROR] makes get_hearers_in_view() faster AGAIN, fixes issue with previous optimization (#6979)
* makes get_hearers_in_view() faster AGAIN, fixes issue with previous optimization

* Mirror!

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 20:15:59 +12:00
SkyratBot
f8042b6306 [MIRROR] Adds Neon Carpet (#6302)
* Adds Neon Carpet (#59140)

Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.

* 0

* A

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-15 18:12:49 +01:00
SkyratBot
2977a55932 [MIRROR] optimizes some internals of signal and component code (#5873)
* optimizes some internals of signal and component code (#59154)

* optimizes some internals of signal and component code

* comment and a better var name

* gets rid of DF_SIGNAL_ENABLED and all referencing code because its dumb

* gets rid of NONE | CallAsync(stuff)

* fixes conflicts

* puts NONE back in

* optimizes some internals of signal and component code

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-05-23 04:57:15 +01:00
SkyratBot
4bb69951af [MIRROR] icon2html optimization stuff (#5127)
* icon2html optimization stuff (#58607)

* icon2html optimization stuff

* aaaaa

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-23 22:29:10 +01:00
SkyratBot
37a04ef096 [MIRROR] Remove Uncross() and CheckExit(), add connect_loc element to cover the cases we used it for (#4756)
* Remove Uncross() and CheckExit(), add connect_loc element to cover the cases we used it for (#58188)

* Remove Uncross(), add create_loc element

* Update on ChangeTurf

* Explicit return

* Hold onto elements and remove TEST_FOCUS

* Remove UNIT_TESTS compile flag

* Follow my own advice.

* Comment about Uncross + CRASH

* Remove /atom/Exit ..()

* Apply suggestions from code review

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

* Use keyed locs

* Re-add Bump()

* Superfluous check

* Correct change turf signal, remove old continue check

* Fix compile failure

* Fix tests

* Don't create element for fulltile windows

* Correctly unregister old location

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

* Fixed (?)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-04-11 02:34:12 +02:00
SkyratBot
bc6c285adb [MIRROR] Advanced Greyscale Sprite Generation (#4792)
* Advanced Greyscale Sprite Generation (#58112)

* Nonfunctional greyscale code

* Functional greyscale sprites via filter

Probably going to set the icon instead later

* Switches to greyscale json config

* Adds the reference layer type and converts the other canister types

* Working previews

* Adds readme

* Fixes overlays and breaking

* Removes old canister sprites

* Removes an unused var

* Fixes tgui lints

* Removes a bunch of the old canister icon states

Yeah I need to fix relabeling as well

* Removes some debug sprites

* Sorts canister type list and breaks up base shader step

* Removes an unnecessary preview hack

* Makes prototype canister greyscale

* Properly sizes the ui

* Fills in the canister map sprite

* Adds some more warnings to layers

* Makes broken overlay more prominent

* Removes a preview var that isn't needed anymore

* Cleans up client ref in Destroy

* Cleans up the tgui window a bit

* Update GreyscaleModifyMenu.tsx

* Animates the canister falling over

* Removes a commented out line that's no longer needed

Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>

* Advanced Greyscale Sprite Generation

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
2021-04-10 17:59:30 +01:00
SkyratBot
8ad8baa4c8 [MIRROR] Removes the Chameleon Skillchip from the game. (#4092)
* Removes the Chameleon Skillchip from the game. (#57620)

* Removes the Chameleon Skillchip from the game.

* Update CentCom_skyrat_z2.dmm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-03-12 23:20:08 +00:00
SkyratBot
38c791df0f [MIRROR] Removes the excited cleanup subprocess (#3868)
* Removes the excited cleanup subprocess (#57381)

When I was in the process of developing my atmos fixes/optimizations, I focused heavily on maintaining the area
of excited groups, since growing delayed self_breakdown(), and lead to shitty behavior which I thought was the
result of my sleeping changes.

This was not the case, those who came before me knew better, as always.

Especially now, since I've unhooked breakdown from excited groups gaining new tiles, my concern was unfounded,
and actually lead to shitty behavior and wasted time.

I failed to recognize the value in random garbage_collect()s, they help prevent mass gas equalization over large
spaces, they make gas appear to move more consistently when in these large spaces, and they lessen the amount of
self_breakdown()s over large turf lists, which is very helpful for lowering the overall overtime of the
subsystem.

This fixes my mistake, and purges the excited cleanup subprocess from the air subsystem. It's free real estate
babyyyyyyyy.

* Removes the excited cleanup subprocess

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-03-04 21:33:13 +00:00
SkyratBot
e63094d9ae [MIRROR] adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#3737)
* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#57263)

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

* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-03-01 17:55:55 +00:00
SkyratBot
9bc6ee7bb5 [MIRROR] improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates (#3560)
* improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates (#57004)

* improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates

Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
2021-02-21 14:17:12 +00:00
SkyratBot
18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00
SkyratBot
b8be84f61e [MIRROR] Hovering your mouse over things now shows their name on the top of the screen (#3446)
* Hovering your mouse over things now shows their name on the top of the screen (#56729)

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

* Hovering your mouse over things now shows their name on the top of the screen

* a

* Update preferences_savefile.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-17 14:16:29 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
d46f728fa5 [MIRROR] Moves /datum/var/signal_enabled to datum flags (#3171)
* Moves /datum/var/signal_enabled to datum flags (#56372)

* Moves /datum/var/signal_enabled to datum flags

`signal_enabled` is a variable on /datum, so present almost every object
in the game. Folding it into the existing `datum_flags` variable will
save allocating a variable on every datum in the game.

- Clown weaponry was using the `signal_enabled` variable to turn their
  attached slippery component on and off when the shield/sword was
  toggled. They now just remove/add the component, rather than touching
  deep datum internals.

* Moves /datum/var/signal_enabled to datum flags

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-02-07 14:09:15 +00:00
SkyratBot
6c9a5f1c5b [MIRROR] Prevents everything except carbons, PAIs and cats from resting to fix Ian paralysis (this time with bitflags). (#2686)
* Prevents everything except carbons, PAIs and cats from resting to fix Ian paralysis (this time with bitflags). (#56089)

There is now a mobility flag that determines a mob's ability to rest. Only works with living mobs. Most living mobs shouldn't be able to rest, so it's only true for carbons, cats and PAIs. Fixes #56034. Fixes #55975 by making borgs unable to rest.

* Prevents everything except carbons, PAIs and cats from resting to fix Ian paralysis (this time with bitflags).

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2021-01-17 13:04:01 +01:00
SkyratBot
f79e91462c [MIRROR] LINDA Reforged (#2573)
* LINDA Reforged

* Update airlock.dm

* Update biohazard_blob_controller.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-08 18:52:35 +01:00
SkyratBot
ed2487f201 [MIRROR] [READY] Kitchen Rework part 1: I just want to griddle! (#2173)
* [READY] Kitchen Rework part 1: I just want to griddle! (#55319)

This PR essentialy moves away from the extremely microwave dependent cooking we have for meat right now, and making it a bit more sensical by making you use a grill to grill meat. The grill takes a different time (with variation) for different grilled things. Once finished it will turn that food into something else.

Yes, this does mean creating burgers takes longer, but in return you can make more patties at once, and you are not required to stay at the grill while its going. This lets you cook as much as you want at once, just make sure your meat doesn't burn!

In the future, I hope to move more things like this to machines similar to this (Pasta boiling, putting eggs on the griddle, soup making, etcetera) to create for a more interesting cooking experience.

* [READY] Kitchen Rework part 1: I just want to griddle!

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-12-14 02:01:55 +01:00
SkyratBot
0c53462374 [MIRROR] Refactors the procedural generation of lavaland and turf/closed/mineral (#2131)
* Refactor the procedural generation of lavaland and turf/closed/mineral (#54915)

This replaces lavaland's old diagonal tunnel gen which was really
horrendously jammed into asteroid floor code (?????) with Cellular
Automata which runs in rust (PR for that here:
https://github.com/tgstation/rust-g/pull/57 ). The new code is a bit
cleaner, but also looks better.

VID: https://streamable.com/a45ke2

Things to do:
- Make an icemoon version
- Fix the roundstart atmos adjacency issues

I asked AnturK if this was an acceptable PR for this month; he said it
was okay as long as I didn't add new areas, which I don't plan to do.
But if anyone thinks this PR breaks the spirit of the month I'll open
it again in december.

* Refactors the procedural generation of lavaland and turf/closed/mineral

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-12-11 06:10:38 +01:00
SkyratBot
afce3e2a94 [MIRROR] pass_flags handling refactor + rewrites a part of projectiles for the n-th time (#2097)
* pass_flags handling refactor + rewrites a part of projectiles for the n-th time (#54924)

Yeah uhh this'll probably need testmerging even after it's done because yeah it's a bit big.
If y'all want me to atomize this into two PRs (pass flags vs projectiles) tell me please. Pass flags would have to go in first though, in that case, as new projectile hit handling will rely on pass_flags_self.
Pass flags:

Pass flags handling now uses an atom variable named pass_flags_self.
If any of these match a pass_flag on a thing trying to pass through, it's allowed through by default.
This makes overriding CanAllowThrough unnecessary for the majority of things. I've however not removed overrides for very.. weird cases, like plastic flaps which uses a prob(60) for letting PASSGLASS things through for god knows why.
LETPASSTHROW is now on pass_flags_self
Projectiles:

Not finalized yet, need to do something to make the system I have in mind have less unneeded overhead + snowflake

Basically, for piercing/phasing/otherwise projectiles that go through things instead of hitting the first dense object, I have them use pass_flags flags for two new variables, projectile_phasing and projectile_piercing. Anything with pass_flags_self in the former gets phased through entirely. Anything in the latter gets hit, and the projectile then goes through. on_hit will also register a piercing hit vs a normal hit (so things like missiles can only explode on a normal hit or otherwise, instead of exploding multiple times. Not needed as missiles qdel(src) right now but it's nice to have for the future).

I still need to decide what to do for hit handling proper, as Bump() is still preferred due to it not being as high-overhead as something like scanning on Moved(). I'm thinking I'll make Moved() only scan for cases where it needs to hit a non-dense object - a prone human the user clicked on, anything special like that. Don't know the exact specifics yet, which is why this is still WIP.

Projectiles now use check_pierce() to determine if it goes through something and hits it, doesn't hit it, or doesn't go through something at all (should delete self after hitting). Will likely make an on_pierce proc to be called post-piercing something so you can have !fun! things like projectiles that go down in damage after piercing something. This will likely deprecate the process_hit proc, or at least make it less awful.

scan_for_hit() is now used to attempt to hit something and will return whether the projectile got deleted or not. It will delete the projectile if the projectile does hit something and fails to pierce through it.

scan_moved_turf() (WIP) will be used for handling moving onto a turf.

permutated has been renamed to impacted. Ricocheting projectiles get it reset, allowing projectiles to pierce and potentially hit something again if it goes back around.

A new unit test has been added checking for projectiles with movement type of PHASING. This is because PHASING completely causes projectiles to break down as projectiles mainly sense collisions through Bump. The small boost in performance from using PHASING instead of having all pass flags active/overriding check_pierce is in my opinion not worth the extra snowflake in scan_moved_turf() I'd have to do to deal with having to check for hits manually rather than Bump()ing things.
Movement types

UNSTOPPABLE renamed to PHASING to better describe what it is, going through and crossing everything but not actually bumping.
Why It's Good For The Game

Better pass flags handling allows for less proc overrides, bitflag checks are far less expensive in general.

Fixes penetrating projectiles like sniper penetrators

This system also allows for better handling of piercing projectiles (see above) without too much snowflake code, as you'd only need to modify on_pierce() if you needed to do special handling like dampening damage per target pierced, and otherwise you could just use the standardized system and just set pass flags to what's needed. If you really need a projectile that pierces almost everything, override check_pierce(), which is still going to be easier than what was done before (even with snowflake handling of UNSTOPPABLE flag process_hit() was extremely ugly, now we don't rely on movement types at all.)

* pass_flags handling refactor + rewrites a part of projectiles for the n-th time

Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
2020-12-09 23:44:54 +01:00
SkyratBot
f105b47a55 [MIRROR] Singularity component (#2082)
* Singularity component (#55096)

Adds singularity component

* Singularity component

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-08 11:30:39 +00:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
1e040f5f1e [MIRROR] Makes it so living crate creatures can pass plastic flaps as god intended. (#1788)
* Makes it so living crate creatures can pass plastic flaps as god intended. (#55088)

* Makes it so living crate creatures can pass plastic flaps as god intended.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-23 20:46:15 +00:00
SkyratBot
cd135f4039 [MIRROR] Admins can now see chronological order of events in logging tabs. (#1704)
* Admins can now see chronological order of events in logging tabs. (#54939)

* Admins can now see chronological order of events in logging tabs.

Co-authored-by: uomo <51800976+uomo91@users.noreply.github.com>
2020-11-17 00:47:35 +01:00
SkyratBot
970a2b03d6 [MIRROR] Mobility refactor: no more update_mobility() (#1233)
* Mobility refactor: no more update_mobility()

* Update robot.dm

Fixes robots.

* megadumb

* Update robot.dm

* weh

* Update gunpoint_datum.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-10 02:31:35 +02:00
SkyratBot
512d21d7af [MIRROR] Fixes oversight with "tactical combat spinning" and flashes (#897)
* Fixes oversight with "tactical combat spinning" and flashes (#53823)

Using the spin emote can no longer let you RNG your way out of new flash mechanics.

Mobs have a new flag that is set to when they start spinning and unset when they stop.

Flashes now use this new flag when calcing deviation.

Tactical combat spinning using the spin emote now results in a full deviation flash when it may previously have resulted in a failure or half-deviation flash.

Emotes should either not influence combat at all (spin on floor when both players share the same loc, this was already handled by same-loc code), or negatively influence combat for the emote user (spin in all other circumtances, which is what this PR addresses).

* Fixes oversight with "tactical combat spinning" and flashes

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-20 17:32:35 +02:00
SkyratBot
c7d2cffbc3 Adds NO_ALERT flag to areas, refactors area alerts slightly (#752)
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-12 02:08:44 +02:00
SkyratBot
66a1e12afb [MIRROR] Readds the tesla, reworks it a bit (#719)
* Readds the tesla, reworks it a bit (#53072)

* Makes tesla movement nicer, fixes some atmos concerns, changes how energy is handled, and readds the tesla

* readds delam and desc

* I fucked it

* flags

* holy fuck

* Constricts the zaps that can generate power from a tesla coil

* *kick?

* Readds the tesla, reworks it a bit

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-09-09 08:30:41 +02:00
SkyratBot
8177144397 [MIRROR] Bring back painting arbitrary objects with spray cans (#570)
* Bring back painting arbitrary objects with spray cans (#52936)

Brings back the behavior removed from #52186 with cleaner code.

Differences in the code:

    No more explicit type checks in the spray paint code, other than a broad isobj.
    Checking for dark colors is now based on luminosity, rather than unscientifically summing all the RGB components and checking an arbitrary number.
    Removes the paintable component. This was used on one item, and its behavior is replicated in the spray can.
    Instead of checking for windows specifically and changing opacity through there, atoms can now specify through init flags whether or not they allow dark colors. Windows set this flag.
    Adds a COMSIG_OBJ_PAINTED signal. Windows use this signal to dynamically update opacity, just like how they did before.

This was a fun cosmetic feature that I'm not sure anyone had a problem with. The original reason for removal seemed to be because of code quality, and not because of negatives about the feature.

Makes canvasses unpaintable

* Bring back painting arbitrary objects with spray cans

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-30 05:25:02 +02:00
SkyratBot
bc1cf3a0f9 [MIRROR] AI core is now Abductor-proof. Part 2: This time they really can't get in, promise. (#556)
* Merge pull request #53005 from Wayland-Smithy/ayy_send_self_AI

Duplicates the "turret_protected/ai" area type check found on the alien abductors camera console Send To command so it also applies to the Send Self command.

Getting snatched by abductors as AI Post #52718 is bad.

This is not an IDED because it was caused by a glitch. I was playing as AI and found myself carded by some ayylines. It turns out while they can not send their agent to do the deed they were more than capable of sending self as I suspected and confirmed with some local testing.

* AI core is now Abductor-proof. Part 2: This time they really can't get in, promise.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-29 20:30:07 +01:00
SkyratBot
3b9583603b [MIRROR] Fixes tesla bolts lagging the server to shit. (#531)
* Fixes tesla lagging the server to shit. (#52930)

* Fixes tesla bolts lagging the server to shit.

Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2020-08-27 03:07:47 +02:00
SkyratBot
035aebc2a2 [MIRROR] Diagonal macro thingu (#407)
* Diagonal macro thingu (#52927)

* Diagonal macro thingu

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-08-19 04:53:44 +02:00