Commit Graph

1652 Commits

Author SHA1 Message Date
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
1f665ef7f7 [MIRROR] Beauty is now an element. Fixing an issue with enter/exit area comsigs. (#3639)
* Beauty is now an element. Fixing an issue with enter/exit area comsigs. (#57147)

Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>

* Beauty is now an element. Fixing an issue with enter/exit area comsigs.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>
2021-02-25 13:37:25 +00:00
SkyratBot
ed2d89976b [MIRROR] Completely refactors glowshroom spreading and makes them self-decay faster (#3633)
* Completely refactors glowshroom spreading and makes them self-decay faster (#56981)

* Completely refactors glowshroom spreading and makes them self-decay faster

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2021-02-25 13:34:48 +00:00
SkyratBot
221f6f1a5d [MIRROR] Spider egg cluster selection update (#3625)
* Update eggcluster radial menu (#57125)

- Updated radial menu for spider selection from an egg clusters. It
  will now also include a small button for showing additional information
  about given spider type. No need to wiki dive to find out about what
  each spider type does.
- You can now a choose spider from an egg cluster from a distance
  instead of having to be next to them as a ghost, which was rather
  annoying and confused new players about why they cannot choose any
  spider type.
- "Click to play" button on when spider egg cluster matures will now
  actually give you a selection of spiders to choose from instead of
  doing nothing and being a dead weight in the chat.

* Spider egg cluster selection update

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2021-02-24 13:14:10 +00:00
SkyratBot
123225d29c [MIRROR] Adds pulling rabbits from top-hats (#3590)
* Adds pulling rabbits from top-hats (#56773)

This PR makes it so using a wand on a top-hat makes a rabbit appear in
your hand! Fun! There's a 10% chance that instead of a cute bun you get
angry bees though, but a true performer will soldier on anyway. You can
now also scoop up rabbits in your hands, and scooping animals only
requires one free hand to do so instead of all your hands being free.

* Adds pulling rabbits from top-hats

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-02-22 12:06:54 +00:00
SkyratBot
b8c2f72733 [MIRROR] moves gun related icons to guns folder (#3568)
* moves gun related icons to guns folder (#57077)

moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd

* moves gun related icons to guns folder

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-02-22 02:07:33 +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
0a6cc5e475 [MIRROR] cult construct stuff (#3553)
* cult construct stuff (#57027)

edits sprites for wizard cult constructs to have more sheen
fixes wizard cult constructs not working
makes soulstone code a bit cleaner i think
makes cult spells use second defines
fixes wraith jaunts being invisible

* cult construct stuff

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-02-21 02:49:11 +00:00
SkyratBot
8cb1c0040b [MIRROR] Fermichem part 2.2 Adds new tools, crafts and methods for ghetto chemists to handle the new reaction mechanics. (#3512)
* Fermichem part 2.2 Adds new tools, crafts and methods for ghetto chemists to handle the new reaction mechanics. (#56871)

Since reactions now require a bit more involvement from chemists, ghetto chemistry is a bit harder. This seeks to help some of those problems by providing new tools for those without a chem heater/reaction chamber.

Also some of these might be useful for chemists in the lab too!

Here's what you can make:
image
the burners are similar to candles - except they burn their internal reagents. The temperature they heat by is dependant on the flame, fuel and oil burn for a lower amount, ethanol for a higher amount and plasma for the highest amount. They can be put on tables and bonked with beakers for a quick way to heat them (similar to lighters). You'll need to light them with a match or lighter too, though, and can be put out by use in hand.

The thermometer looks like this and gives you temperature readings!
thermom

The pH booklets are the same as before - but you can now craft them by making universal indicator. These are the best way for a ghetto chemist to check their pH, and multiple sheets should be used over a reaction.

The improvised chem heater looks like this, and is a reconfigured space heater, it requires more materials and tools lending itself to a static drug den, but has the best method of adjusting temperature and fighting against exo/endo thermic reactions:
Improv_heater

Finally, the cooling spray lets chemists do the oposite of a lighter on their beaker - cooling the reagents within. In addition, fire extinquishers perform the same function.

In addition ice and universal indicator have been added as reactions.

Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>

* Fermichem part 2.2 Adds new tools, crafts and methods for ghetto chemists to handle the new reaction mechanics.

Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
2021-02-19 19:14:58 +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
Swiftfeather
5e216e3110 deathsquads aren't real. (#3473) 2021-02-18 20:00:45 +00:00
SkyratBot
3b85cf1430 [MIRROR] Addiction rework (#3445)
* Addiction rework

* a

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-17 14:26:44 +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
18f7ed58eb [MIRROR] Removes older ID consoles from the code, and circuitboards (#3284)
* Removes older ID consoles from the code, and circuitboards

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

* a

Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-16 12:44:12 +00:00
SkyratBot
6f31c971d9 [MIRROR] Glowcap spread endurance loss is 10 times bigger (#3414)
* Glowcap spread endurance loss is 10 times bigger (#56885)

Co-authored-by: MLGTASTICa <ak9bc01d@ yahoo.com>

* Glowcap spread endurance loss is 10 times bigger

Co-authored-by: MLGTASTICa <61350382+MLGTASTICa@users.noreply.github.com>
Co-authored-by: MLGTASTICa <ak9bc01d@ yahoo.com>
2021-02-16 00:45:57 +00:00
SkyratBot
e8d2b34964 [MIRROR] Add back hearts for valentines, but in a sane manner (#3401)
* Add back hearts for valentines, but in a sane manner (#56900)

Adds back hearts removed by #56897, but in a way that doesn't completely murder timers.

Also made the code a bit better.

Here you can see it on my hideous date.

https://user-images.githubusercontent.com/35135081/107848333-6ec06280-6da7-11eb-91b6-1382380eb3b4.mp4

* Add back hearts for valentines, but in a sane manner

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-15 15:33:30 +00:00
SkyratBot
b119c054d9 [MIRROR] Add gas giant controversy posters (#3399)
* Add gas giant controversy posters (#56830)

* Add official There Is No Gas Giant poster

🆑 ArcaneMusic, coiax
add: Nanotrasen reminds its crew members that the station has never
orbited a Gas Giant, and is engaging in a media campaign to remind
employees of this fact.
/🆑

There is a half remembered fact that Space Station 13 orbits a gas
giant, allegedly due to some entry on a wiki someplace.

Given the vigorous discussion on this subject, it seems appropriate that
this confusion is forever immortalised in poster form.

With thanks to @ ArcaneMusic for doing the sprite.

* gas truths

Co-authored-by: tralezab <spamqetuo2@ gmail.com>

* Add gas giant controversy posters

Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: tralezab <spamqetuo2@ gmail.com>
2021-02-15 15:32:46 +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
a51f056319 [MIRROR] Moves the plant analyzer chem mode to right click + lets you read out a tray's chemical contents (#3347)
* Moves the plant analyzer chem mode to right click + lets you read out a tray's chemical contents

* Update growninedible.dm

* Update grown.dm

* Create grown.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-02-13 11:03:46 +00:00
SkyratBot
7da4aa9adf [MIRROR] Reaction rates, pH, purity and more! Brings a heavily improved, less explosive and optimised fermichem to tg. (#3306)
* Reaction rates, pH, purity and more! Brings a heavily improved, less explosive and optimised fermichem to tg.

* a

Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-12 00:04:39 +00:00
KathrinBailey
045645bbb0 Adjusts job slots for Prisoner, AI, Cyborgs & Adds latejoin Prisoner spawns (#3234)
* Adjusts miner and prisoner slots

* Update landmarks.dm

* Oh yeah, borg slots.
2021-02-09 11:46:40 +00:00
SkyratBot
cc67a133e5 [MIRROR] [READY] Adds station traits: Small modifiers that can randomly be chosen each round (#3132)
* [READY] Adds station traits: Small modifiers that can randomly be chosen each round

* conflicts

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-08 23:07:24 +00:00
SkyratBot
e124662031 [MIRROR] A Big Hydroponics Update: A Rose by any other name (2 new plants, 4 new traits, new genes, and more!) (#3089)
* A Big Hydroponics Update: A Rose by any other name (2 new plants, 4 new traits, new genes, and more!)

* Update grafts.dm

* Update grafts.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-05 21:13:02 +00:00
SkyratBot
1c025714e9 [MIRROR] Adds powerup system, refactors ctf pickups and powerup mine subtypes into it (#3067)
* Adds powerup system, refactors ctf pickups and powerup mine subtypes into it (#56605)

* Adds powerup system, refactors ctf pickups and powerup mine subtypes into it

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-02-04 16:24:10 +00:00
SkyratBot
b511bc53e6 [MIRROR] Makes emitters hitscan (#3047)
* Makes emitters hitscan (#56579)

* Makes emitters hitscan

* a

Co-authored-by: NotRanged <rangedvdk@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-03 22:37:40 +00:00
SkyratBot
c008fd3e37 [MIRROR] gives you all a free tutorial on pick syntax (#3034)
* Floors now properly select a destruction method to use when blown up (#56560)

* gives you all a free tutorial on pick syntax

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2021-02-03 14:24:02 +00:00
SkyratBot
70024ef6ad [MIRROR] Reverts Adds Neon Carpet (#55782) (#3040)
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)

It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis

* Reverts Adds Neon Carpet (#55782)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-03 10:22:43 +01:00
Gandalf
adfe2f099b DS-1 Assault Group + Skyrat Modular Map System [READY FOR TESTING, MODULAR] (#2317)
* START

* aaaaa

* Update assaultops.dm

* aaa

* Logic Systematic Sense

* Logic v2

* Update assaultops.dm

* Update assaultops.dm

* Update assaultops.dm

* Updates.

* Update assaultops.dm

* a

* Update radial.dmi

* Docs

* Update assaultops.dm

* Update one_click_antag.dm

* shuttle!

* Update syndicate_cruiser.dmm

* Update syndicate_cruiser.dmm

* aaaa

* Update shuttle.dm

* Update syndicate_cruiser.dmm

* aaa

* SMMS+Centcom

* Shuttles now get decals!

* Update to shuttle, centcom level!

* Update CentCom_Skyrat.dmm

* New objectives+win conditions

* a

* Merge branch 'master' into assaultops

* system updates + prison area

* Desc fix

* Delete assaultops_dynamic.dm

* a

* Update assaultops.dm

* Make Ass Team

* Update assaultops.dm

* fixes

* Update syndicate_cruiser.dmm

* watch!

* Update assaultops.dm

* Merge branch 'master' into assaultops

* super datumized

* aaaa

* nothing to see here

* Massive map changes.

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update syndicate_cruiser.dmm

* Merge branch 'master' into assaultops

* Merge branch 'master' into assaultops

* aaaa

* Update large_doors.dm

* aaa

* Update assaultops_gamemode.dm

* Update assaultops_datum.dm

* aa

* spawners!

* aaa

* Update assaultops_outfits.dm

* Update assaultops_spawners.dm

* Update assaultops_spawners.dm

* Update assaultops_spawners.dm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* a

* Base alarm!

* Update base_alarm.dm

* a

* aa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* aaa

* Update areas.dm

* aaaa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* WOOO MORE SHIT!

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* aa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update syndicate_frigate.dmm

* a

* Update CentCom_Skyrat.dmm

* Assault Ops Card Stuff (#2803)

* Automatic changelog generation for PR #2803 [ci skip]

* Assault Ops Map Tweaks (#2861)

* Update CentCom_Skyrat.dmm

* Update syndicate_frigate.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* modularmaps

* duisables mining

* Removes the gosh darn Orbital Mech Pad (#2917)

Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
2021-01-30 00:32:04 +01:00
SkyratBot
4673d2e753 [MIRROR] Visual Indicator for Bad Touch Quirk (#2940)
* Visual Indicator for Bad Touch Quirk

* Update carbon_defense.dm

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-01-29 16:53:25 +00:00
SkyratBot
902f0a06d7 [MIRROR] Adds Neon Carpet (#2882)
* Adds Neon Carpet

* HARDSET

* Update tgstation.dme

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-01-25 17:01:58 +00:00
SkyratBot
47ce029778 [MIRROR] Food Cart remade as a mini-kitchen you can set up in the hallways (AND DO ANYTHING) (ARMFLOYDENKITCHENEZAB) (#2754)
* Food Cart remade as a mini-kitchen you can set up in the hallways (AND DO ANYTHING) (ARMFLOYDENKITCHENEZAB)  (#55625)

About The Pull Request

The food cart no longer... Does whatever garbage it did before. What, like, store condiments? Terrible. Now you drag it around and set it up, creating a tent with a griddle, smartfridge, and a table. You can pack up anytime. Breaking parts of the tent will pack up the machine and subsequently break it, so careful!
Why It's Good For The Game

The food cart has been an entirely outdated, out classed, completely dead machine to use. We just can do a lot better in 2020. Now it once again has a nice unique function and lets chefs do a new gimmick of being a travelling seller of food. Employs the "steal the janicart" meta from the janitor in the new and equally infuriating "steal the entire damn tent lmao"
Changelog

🆑
add: Food Cart has been completely remade to work as a mobile kitchen
/🆑

* Food Cart remade as a mini-kitchen you can set up in the hallways (AND DO ANYTHING) (ARMFLOYDENKITCHENEZAB)

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2021-01-17 13:44:39 +01:00
SkyratBot
3499115feb [MIRROR] Add weakref support to qdel (#2742)
* Add weakref support to qdel (#56171)

qdel() should allow usage of weakrefs to avoid harddels on long duration qdel_in usage

* Add weakref support to qdel

Co-authored-by: spookydonut <github@spooksoftware.com>
2021-01-17 13:31:17 +01:00
SkyratBot
926e26ead5 [MIRROR] var/hacked now actually does something in vendor spawners (#2693)
* var/hacked now actually does something in vendor spawners (#56144)

Oversight made by @ TiviPlus when making #55147
var/hacked wasn't actually used in code and instead, all spawner vendors were instantly hacked.
fixes #56101

* var/hacked now actually does something in vendor spawners

Co-authored-by: EgorDinamit <53223414+EgorDinamit@users.noreply.github.com>
2021-01-14 16:55:40 +01:00
SkyratBot
374f76b8b8 [MIRROR] Makes jaunting work properly again (#2656)
* Makes jaunting work properly again (#56028)

Fixes an if check that was checking the area flags of a turf. Prevents a runtime in phased_check, and makes the area noteleport flag work properly. These were introduced by #55973

* Makes jaunting work properly again

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-01-12 06:56:16 +01:00
SkyratBot
e776d6a35b [MIRROR] Fixes fulltile pod window spawner (#2596)
* Fixes fulltile pod window spawner (#56033)

* Fixes fulltile pod window spawner

Co-authored-by: EgorDinamit <53223414+EgorDinamit@users.noreply.github.com>
2021-01-09 17:29:09 +00: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
282f1a98c8 [MIRROR] NOTELEPORT checks that were atomized out of the medieval shuttle (#2549)
* NOTELEPORT errywhere (#55973)

These prevent some cheats or really low effort ways to get to where you really shouldn't be.

Mappers seriously fucking hate jaunting and phasing mechs, as they let you bypass their custom crafted ruins and the like. But it'll also stop more general "you shouldn't be here" stuff.

* NOTELEPORT checks that were atomized out of the medieval shuttle

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2021-01-07 23:49:01 +01:00
SkyratBot
58ba42600a [MIRROR] Fixes decals and makes the janitor relevant again (#2397)
* Fixes decals and makes the janitor relevant again (#55805)

* guys come on why

* there you go

* and again because autodoc is apparently a thing

* Fixes decals and makes the janitor relevant again

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
2020-12-31 03:06:08 +00:00
SkyratBot
8edeb0fcbc [MIRROR] Rerolling blob strains now uses a radial menu, and lets you see what the strain does before picking it (#2258)
* Rerolling blob strains now uses a radial menu, and lets you see what the strain does before picking it (#55559)

Also provides a generic, forward proof way to provide information to radial menu choices.
Why It's Good For The Game

    input is old and crummy.
    Blob is a very wiki reliant mechanic. This moves a bit of it into the game itself to fix that.
    Provides a real cancel option, whereas the old one had none. This is not a balance change, but a QoL one--everyone just moved the input window off to the side.

* Rerolling blob strains now uses a radial menu, and lets you see what the strain does before picking it

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-21 19:55:37 +00:00
SkyratBot
b7ba0f286a [MIRROR] Removes roundstart miasma, from everything. (#2202)
* Removes roundstart miasma. Yes, even the gibs that are marked as miasma producers. Fuck you. Carbons now start listening for death at init, then get the component when they die. Gibs behave just as they used to. (#55343)

* Removes roundstart miasma, from everything.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-12-17 07:57:31 +01:00
SkyratBot
9dfb7a1189 [MIRROR] Everything that uses maptext now uses the class that makes it actually readable (#2116)
* Everything that uses maptext now uses the class that makes it actually readable

* Update chatmessage.dm

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-12-11 00:40:04 +00:00
SkyratBot
64cb64aae3 [MIRROR] Replace direct poi_list manipulation with element (#2117)
* Replace direct poi_list manipulation with element (#55416)

Replaces GLOB.poi_list |= src and GLOB.poi_list -= src with an element that handles it directly.

More consistent code, especially when a lot of code couldn't decide how to add/remove (some |=, some -=, some .Remove, etc).

* Replace direct poi_list manipulation with element

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-11 00:26:00 +00: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
2913364658 [MIRROR] Kills oldfood, Puts newfood on top. (#2041)
* Kills oldfood, Puts newfood on top. (#55160)

Slays the last of old-food, making new-food the new normal.

Co-authored-by: MrMelbert <kmelbert4@ gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>

* Kills oldfood, Puts newfood on top.

* Update collars.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: MrMelbert <kmelbert4@ gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-04 16:46:26 +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
2cf928b280 [MIRROR] Init sanity unit test (#1980)
* Init sanity unit test (#55147)

https://github.com/tgstation/TerraGov-Marine-Corps/pull/5326
Stemming from
https://github.com/ParadiseSS13/Paradise/pull/14770

Basically it just checks for bad initialize calls

* Init sanity unit test

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-11-30 23:01:45 +00:00
SkyratBot
03d99de80c [MIRROR] Fixes Issues Regarding Finding Spider and Swarmer Spawns (#1905)
* Fixes Issues Regarding Finding Spider and Swarmer Spawns (#55054)

This PR fixes the issue where people couldn't teleport to spider egg clusters using the notification.

It also adds both the swarmer beacon and spider egg clusters to the ghost orbit menu. This should make it easier to find instances of both in cases where a player might miss the initial notification.

* Fixes Issues Regarding Finding Spider and Swarmer Spawns

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
2020-11-28 13:02:10 +01:00
SkyratBot
a92fdde30e [MIRROR] Remove duplicate definitions of /obj/effect/ex_act, explicitly noop it (#1904)
* Remove duplicate definitions of /obj/effect/ex_act, explicitly noop it (#55076)

/obj/effect/ex_act had several different re-definitions to make it a noop. The original definition would randomly delete it, which is bad news when a lot of /obj/effects are just that--effects, that shouldn't be blown up.

The ones that actually do want to be blown up (like decals) already have their own implementations. The one in place was never ran, and nobody had problems with it.

* Remove duplicate definitions of /obj/effect/ex_act, explicitly noop it

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-11-28 12:59:11 +01:00
SkyratBot
d4100f9387 [MIRROR] Fixing non-wiz phased mobs. (#1854)
* Fixing non wiz phased mobs. (#55162)

Wrong proc path, also qdel ref issue for shadow walk holder.
This will close #55141 and close #55142
fix: Nightmares and some other critters no longer delete themselves once they stop phasing.

* Fixing non-wiz phased mobs.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-26 23:17:51 +00:00
SkyratBot
7d653f1f6b [MIRROR] Moves grown food to newfood (#1794)
* Moves grown food to newfood (#55040)

Moves grown food to newfood
Gives trash element support for callbacks for item creation override

* Moves grown food to newfood

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-11-23 22:35:35 +00:00