Commit Graph

373 Commits

Author SHA1 Message Date
Y0SH1M4S73R
93d03dc6bb [Alternative to #6407] Makes mutant bodyparts and mutcolors into editable genetic traits (#6750)
* Makes mutant bodyparts and mutcolors into editable genetic traits (plus a whole shitload of otherwise out of scope code improvements because I just HAD to touch old code)

* Mirror

* genetically-editable mutant bodyparts and colors - skyrat edition

Co-authored-by: Funce <funce.973@gmail.com>
2021-07-08 16:04:19 +01:00
SkyratBot
dbeeaf310f [MIRROR] Adds a new ruin to Icebox, the post office. (#6758)
* Adds a new ruin to Icebox, the post office. (#59907)

* Adds a new ruin to Icebox, the post office.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2021-07-06 21:41:02 +01:00
SkyratBot
56d4291ef6 [MIRROR] Reverts Entered() passing dir instead of old loc (#6646)
* Reverts Entered() passing dir instead of old loc (#59910)

* Reverts Entered() passing dir instead of old loc

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-07-02 16:42:34 +01:00
SkyratBot
1211d28c90 [MIRROR] Fixes blockers blocking themselves + cleanup (#6528)
* Fixes blockers blocking themselves + cleanup (#59808)

* Fixes blockers blocking themselves + cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-06-25 22:34:02 +01:00
SkyratBot
a14b1dadb5 [MIRROR] CanPass refactor (#6527)
* CanPass refactor (#59804)

* CanPass refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-06-25 22:33:51 +01:00
SkyratBot
5326760cb3 [MIRROR] Makes turfs persist their signals, uses this to optimize connect_loc (#6465)
* Makes turfs persist their signals, uses this to optimize connect_loc  (#59608)

* Makes turfs persist signals

* Splits connect_loc up into two elements, one for stuff that wishes to connect on behalf of something, and one for stuff that just wants to connect normally. Connecting on behalf of someone has a significant amount of overhead, so let's do this to keep things clear

* Converts all uses of connect_loc over to the new patterns

* Adds some comments, actually makes turfs persist signals

* There's no need to detach connect loc anymore, since all it does is unregister signals. Unregisters a signal from formorly decal'd turfs, and makes the changeturf signal persistance stuff actually work

* bro fuck documentation

* Changes from a var to a proc, prevents admemems and idiots

* Extra detail on why we do the copy post qdel

* Makes turfs persist their signals, uses this to optimize connect_loc

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-06-23 04:23:48 +01:00
SkyratBot
d85a02babd [MIRROR] Refactors move procs to support multitle objects (#6423)
* Refactors move procs to support multitle objects

* Update _blob.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-22 22:40:04 +01:00
Useroth
873144d8ef Adds a setter for density (#59529) (#6437)
Adds set_density()
Fixes one instance of a duplicate density assignment on an object.
Comments two hacky usages of density which will have to forgo using the setter for now.

Lets us append code to the event of density changing.
Pretty sure this is leading up to some multitile object thing -Lemon

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-06-22 01:24:59 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
6f3b151bb8 [MIRROR] Fixes a bunch of harddels that are sourced from player action (#6252)
* Fixes a bunch of harddels that are sourced from player action

* Mirror!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-11 03:13:33 +01:00
SkyratBot
456f347dfa [MIRROR] USE SIGNAL_HANDLER REEEEEE (#5921)
* use SIGNAL_HANDLER REEEEEE (#59242)

makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did

* USE SIGNAL_HANDLER REEEEEE

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-05-25 03:42:11 +01:00
SkyratBot
ea9aed5554 [MIRROR] Replace alert usage with tgui_alert (#5815)
* Replace alert usage with tgui_alert

* a

* Update observer.dm

Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-21 00:06:09 +01:00
SkyratBot
5880be0168 [MIRROR] (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc (#5524)
* (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc

* WHEW THAT WAS EASY

* Update ammo.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-07 22:39:27 +01:00
SkyratBot
e9bf570dc6 [MIRROR] Fixes cursed slot machine icon (#5501)
* Fix cursed slot machine icon (#58904)

* Fixes cursed slot machine icon

Co-authored-by: prodirus <44090982+prodirus@users.noreply.github.com>
2021-05-06 23:18:51 +01:00
SkyratBot
c15ed4eca0 [MIRROR] fixes poopy bronze tiles sstuff (#5237)
* fixes stuff made with bronze sheets deconstructing into tiles or not being able to make bronze golems (#58708)

* fixes poopy bronze tiles sstuff

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-02 00:07:16 +01:00
SkyratBot
e757ac7609 [MIRROR] Fix random spaces in golem code (#5291)
* Fix random spaces in golem code

* M-m-m-merge-tastic

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-04-29 15:34:00 +01:00
SkyratBot
03db312b96 [MIRROR] Tool Resprite? (#5165)
* Tool Resprite (#58616)

* Tool Resprite?

Co-authored-by: Kokonut <38844529+maxymax13@users.noreply.github.com>
2021-04-25 03:30:29 +01:00
SkyratBot
f5478b7dce [MIRROR] Allows the connect_loc element to have a listener different from the tracked object (#4818)
* Allows the connect_loc element to have a listener different from the tracked object (#58276)

* Allows the connect_loc element to have a listener different from the tracked object

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-04-11 03:51:14 +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
694b9ad4b8 [MIRROR] Fixes reborn ashwalkers having galactic common (#4806)
* Fixes reborn ashwalkers having galactic common (#58264)

* Fixes reborn ashwalkers having galactic common

Co-authored-by: wesoda25 <37246588+wesoda25@users.noreply.github.com>
2021-04-10 23:19:20 +01:00
SkyratBot
da2215fb0d [MIRROR] Empty graves can now be spawned (#4755)
* Empty graves can now be spawned (#58200)

* i walked along the no mans road

POV: you got fucked on a previous branch from something stupid

* Update code/modules/ruins/lavalandruin_code/elephantgraveyard.dm

Co-authored-by: Fikou <piotrbryla@ onet.pl>

* Update code/modules/ruins/lavalandruin_code/elephantgraveyard.dm

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

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

* Empty graves can now be spawned

Co-authored-by: ishitbyabullet <deathzombine@outlook.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-04-08 22:03:41 +01:00
SkyratBot
a49d9041d0 [MIRROR] You can no longer sentience potion humanoid simplemobs (#4223)
* you can no longer sentience potion human mobs (#57761)

* You can no longer sentience potion humanoid simplemobs

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-03-17 23:44:52 +00:00
SkyratBot
51f9b05247 [MIRROR] Standardises Donk Co. stylisation (#3870)
* Standardises Donk Co. stylisation

* Update emags.dm

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-03-04 21:36:55 +00:00
SkyratBot
a05f7e863a [MIRROR] Fully implements the ID Card design document (#3729)
* Fully implements the ID Card design document

* Oh fuck that hurt.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-03-03 01:54:25 +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
NotRanged
f44350ab5b [Semi-Modular] Ghost Cafe (#3592)
* wip

* more progress

* weh

* Fixes spawners

* Adds missing objects, mass replaces in the .dmm

* WIP

* Screm

* map compile error

* Bugfixes

* ID

* no mechs

* Linter, indestructible pool, typo

* why

* Fixes issue maybe

* deletes jukebox

* Removed combat area on request

Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-02-28 14:07:31 +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
43febe3145 [MIRROR] Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#3433)
* Converts many proc overrides to properly use list/modifiers, lots of other smaller things

* Update human_defense.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-17 14:18:21 +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
c430e11d0b [MIRROR] Fixes tags on ordered pizza (#3344)
* Fixes tags on ordered pizza (#56369)

Box tags

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

Randomised pizza crates

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

Armed pizza bomb

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

Secure kitchen crate

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

Ghost examines

    Adds ghost examine messages for pizza boxes with bombs or the nanomachine pizza in them

* Fixes tags on ordered pizza

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2021-02-13 10:13:43 +00:00
SkyratBot
699cd1e412 [MIRROR] renames metal sheets to iron sheets (#3116)
* renames metal sheets to iron sheets

* Merge branch 'master' into upstream-merge-56643

* yay metal

* Update DeltaStation2_skyrat.dmm

* a

* Update CentCom_skyrat_z2.dmm

* a

* a

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-05 22:09:50 +00:00
SkyratBot
e890b1282b [MIRROR] Replaces intents with combat mode (#3063)
* Replaces intents with combat mode

* updates

* a

* Update living_defense.dm

* https://github.com/tgstation/tgstation/pull/56638/files

* gunsafety!

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-05 16:58:16 +01:00
SkyratBot
e29a8d16d1 [MIRROR] Fixes Doctor Hilbert breaking crew monitors. (#2875)
* Fixes Doctor Hilbert breaking crew monitors. (#56364)

* Fixes Doctor Hilbert breaking crew monitors.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-01-25 15:05:02 +00:00
SkyratBot
80c1b45e4d [MIRROR] Refactors how floors turfs set broken/burnt states + fixes glass plating turning invisible when damaged (#2777)
* Refactors how floors turfs set broken/burnt states + fixes glass plating turning invisible when damaged (#56200)

adds sprites for both normal and reinforced glass plating (i reduced it to 2, from 5, from when the image was taken), the sprites arent the absolute best but arent terrible imho,

refactor to floor code to not dumbly hardcode an initialization for broken_state list sprites, as well as moves burnt and broken states to procs, and has an override to all floor turfs which have both a broken and/or burnt icons unique to it

also changed how certain tiles react when broken, now, instead of magically turning into iron plating when stuff like dirt, lavaland basalt, sand, water, wasteland tiles, you name it. when they break, they will just use their basic icon (typically, wont change), rather than turn into iron plating magically. when asteroid turfs (lavaland basalt, icebox snow, asteroid sand etc..) which have a dug icon break, they change to their dug version instead

* Refactors how floors turfs set broken/burnt states + fixes glass plating turning invisible when damaged

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
2021-01-18 22:31:42 +00:00
SkyratBot
b8b33b95ba [MIRROR] [READY] Nukes archeology component and icon_plating and environment_type in favor of base_icon_state. Dig behaviour code improvement (#2624)
* [READY] Nukes archeology component and icon_plating and environment_type in favor of base_icon_state. Dig behaviour code improvement (#55819)

* aa

* Removes archeology component. Nukes icon_plating and environment_type in favor of base_icon_state

* Actually maybe lets not use a proc for updating asteroid icon state when its dugged up

* Update plating.dm

* [READY] Nukes archeology component and icon_plating and environment_type in favor of base_icon_state. Dig behaviour code improvement

Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-10 22:06:46 +01:00
SkyratBot
ab87c3fe29 [MIRROR] Optimized Getallcontents (#2552)
* Optimized Getallcontents (#55964)

Optimized Getallcontents, split up it's component procs

* Optimized Getallcontents

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2021-01-07 23:53:25 +01:00
SkyratBot
4d19a4d625 [MIRROR] The cursed hot spring no longer polymorphs incorporeal critters. (#2392)
* Merge pull request #55730 from Ghommie/patch-6

The cursed hot spring no longer polymorphs incorporeal critters.

* The cursed hot spring no longer polymorphs incorporeal critters.

Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
2020-12-31 01:39:35 +00:00
SkyratBot
ad4caa2bb5 [MIRROR] Tweak typography of elephant graveyard ruin (#2149)
* Tweak typography of elephant graveyard ruin (#55445)

Fixes a missing space, a double space, and a missing hyphen.

* Tweak typography of elephant graveyard ruin

Co-authored-by: Tad Hardesty <tad@platymuus.com>
2020-12-13 00:51:20 +00:00
SkyratBot
a71d2aca24 [MIRROR] Planetary Atmos Changes (#2135)
* Planetary Atmos Changes (#55398)

This PR sets several Icebox turfs to be planetary atmos turfs, such as the openspace, to return the gas mix to a standard, and reduce the number of active turfs overall. To aid in this, planetary atmos calculations are a seperate share from the main 4 turf share now, and instead re-archive and share 4/5 of their difference in moles to the atmosphere, as well as temperature sharing with a higher heat capacity. This should result in the planetary atmos turfs returning to their standard much faster than before.

Before at most planetary turfs would keep 0.8 of their difference after sharing, compared to the 0.2 difference they will keep now, log(0.2) / log(0.8) showing this is sharing about 7 times faster in getting rid of gas diffs. This should also reduce the effects of continuous fires and limit their active turfs to a certain region on the planet, ex: the incinerator outlet wouldn't spread to the entire planets turfs. This also makes behavior more like space for the purposes of cooling and venting gas for toxins.

This might also make gas farming slightly faster since the gas will also come back faster, but considering most of the expensive gasses have been removed and this will also reduce the lag from gas farms, I think it is a worthwhile change. It can't be worse than making the turfs immutable anyways since that would be the fastest.

Reduces lag and makes gameplay more in-line with space stations in ways that improve quality of life but still preserve uniqueness by not making the planetary turfs completely immutable.

* Planetary Atmos Changes

Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
2020-12-11 10:37:34 +01: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
65368300d2 [MIRROR] Refactors Pastries into newfood. (#1824)
* Refactors Pastries into newfood. (#54996)

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Floyd <Floydje123@ hotmail.com>

* Refactors Pastries into newfood.

* Update collars.dm

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Floyd <Floydje123@ hotmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-11-25 01:02:00 +00:00
SkyratBot
07bf94a7c4 [MIRROR] Graveyard graves now sound like they're being dug open/closed. (#1769)
* Graveyard graves now sound like they're being dug open/closed. (#55080)

* Graveyard graves now sound like they're being dug open/closed.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-22 18:21:26 +00:00
SkyratBot
e768cef297 [MIRROR] /obj/screen --> /atom/movable/screen (#1646)
* /obj/screen --> /atom/movable/screen

* Update storage.dm

* Update radial.dm

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-11 04:12:50 +01:00
SkyratBot
2ff5f9b259 [MIRROR] Move death(), gib(), and dust() from /mob to /mob/living (#1634)
* Move death(), gib(), and dust() from /mob to /mob/living

* a

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-10 22:01:47 +01:00
SkyratBot
0464184fc3 [MIRROR] Removes capitalism and communism golems [the sun sets on freedom] [fall of the iron curtain] (#1502)
* Removes capitalism and communism golems [the sun sets on freedom] [fall of the iron curtain] (#54637)

About The Pull Request

Removes commie and cappy golems, and all connected parts and features.
Why It's Good For The Game

You're downloading 5 mb of capitalist and communist songs and talk sounds every time you log into a server, which makes it take much longer to actually join the game. While this was a good meme and became even better when cappy golems would fight the communist ones, they are:

    Really really underused for what they are
    Really really boring and simple without all the special sounds
    Really really not worth keeping gutted

Changelog

🆑
del: Capitalism (golem) and Communism (golem) are dead.
/🆑

* Removes capitalism and communism golems [the sun sets on freedom] [fall of the iron curtain]

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2020-10-31 12:27:46 +01:00
SkyratBot
6ecaa9a994 [MIRROR] Standardizes attack chain signal returns and fixes a tk bug (#1409)
* Standardizes attack chain signal returns and fixes a tk bug (#54475)

The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.

In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.

Additionally, fixed a tk bug reported by @ Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack

Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.

Also cleaned some code here and there.

* Standardizes attack chain signal returns and fixes a tk bug

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-10-21 07:39:32 +02:00
SkyratBot
204c74c435 [MIRROR] Hilbert's Hotel orb now has a bunch of checks to prevent users pulling shenanigans (#1342)
* Hilbert's Hotel orb now has a bunch of checks to prevent users pulling shenanigans (#54229)

Hilbert's Hotel now does some basic level of sanity checking after the input to cut down on a number of shenanigans.

The following are all the new changes:

    Hilbert's cannot be activated via telekinesis. It must be activated by direct player attack.
    If the item isn't adjacent to the target after their input, it aborts.
    If the player attempting to enter the hotel is incapacitated after their input, it aborts.
    If the user no longer has the item in their possession after their input, it aborts even if there is a different target.
    If the user is also the target, it will attempt to drop the item normally. If the item fails to drop, it may be teleported to the hotel with the user. The item can fail to drop when it is in the user's possession but not in their hands, or when it has TRAIT_NODROP.
    When the item enters a hotel room created by itself, it will now recursively check for the first mob in its loc stack. It will gib this mob before teleporting away.
    This prevents the warp-whistle effect where a user could put the item in their backpack at INCREDIBLY low risk to themselves (0.135685% chance of anything bad happening) to enter a hotel room and have the orb warped away at random. They could then immediately leave for a free warp whistle effect.

* Hilbert's Hotel orb now has a bunch of checks to prevent users pulling shenanigans

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-10-17 01:15:54 +01:00
SkyratBot
b8d9874c27 [MIRROR] Converts all A && A.B into A?.B (#1292)
* Converts A && A.B into A?.B (#54342)

Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
2020-10-13 23:19:25 +02: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
c4e85d51ae [MIRROR] Completely FIX Hilbert's Hotel and its associated ruin to the game. (#1111)
* Completely FIX Hilbert's Hotel and its associated ruin to the game. (#53830)

Reverts the removal in #53790.
Broken in #53586.

Because turfNumber++ must be incremented on turf, not on every ATOM it
EVERY TURF, and anyway it don't trigger since first turfs don't have
atoms in it.

Fix #53794, Hilbert's Hotel peephole runtime.
Fix #53795, hhmysteryRoomNumber generates only once.

* Completely FIX Hilbert's Hotel and its associated ruin to the game.

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-10-02 14:56:57 +02:00