Commit Graph

1181 Commits

Author SHA1 Message Date
SkyratBot
afd0e8f8e0 [MIRROR] [runtime] Fixes a runtime caused by the sickly blade. (#2771)
* [runtime] Fixes a runtime caused by the sickly blade. (#56226)

Prevents a runtime if the mind of the user is somehow null.

* [runtime] Fixes a runtime caused by the sickly blade.

Co-authored-by: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
2021-01-18 18:13:51 +00:00
SkyratBot
94f9a384b0 [MIRROR] [READY] Bespoke Datum Mats (#2737)
* [READY] Bespoke Datum Mats

* Update sheetifier.dm

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-17 13:25:04 +01:00
Funce
de00de4a04 Antag Removal via admin also needs to obey ambitions (#2710) 2021-01-17 10:31:52 +00:00
SkyratBot
63adea0ebb [MIRROR] [READY] A victory for revolutionaries will no longer end the round on dynamic, instead no new security and command will be allowed to join (#2653)
* [READY] A victory for revolutionaries will no longer end the round on dynamic, instead no new security and command will be allowed to join (#55956)

Currently, a victory for revoutionaries leads to the round abruptly ending on dynamic. This has been replaced by all revolutionaries being deconverted, and no new security or command positions being available.

Also attempts to unionize (pun intended) copy and paste code in the round start and late join revolutionary rulesets into being handled under the revolutionary team instead.

* [READY] A victory for revolutionaries will no longer end the round on dynamic, instead no new security and command will be allowed to join

Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-01-12 06:50:49 +01:00
SkyratBot
34518e0ef0 [MIRROR] Makes it possible to create an /obj/item/sharpener with multiple uses (#2649)
* Makes it possible to create an /obj/item/sharpener with multiple uses (#55958)

Whetstones will now become worn when at 0 uses instead of being either used or not used. All currently existing whetstones start at 1 use.

* Makes it possible to create an /obj/item/sharpener with multiple uses

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2021-01-12 01:53:10 +01:00
SkyratBot
e05cca4ab4 [MIRROR] Rework job food/alchohol benefits into livers (#2648)
* Rework job food/alchohol benefits into livers  (#55721)

By moving the "special behaviour" of something like security officers
eating donuts, or engineers losing radiation by drinking Screwdrivers,
into traits on the liver, this makes the "origin" of that behaviour more
clearly defined, rather than something that's attached to the mind of
the person. (For example, now if a wizard mindswaps into a Security
Officer, they too can now digest donuts good.)

Having this behaviour be partially visible to the more medically
inclined members of the station (like doctors, and the chaplain for
"entrails reading mystic" themes), means that a dismembered liver tells
a story to those who know how to read it.

Some jobs have more "benefits" than others, for example the only thing
that the liver of a Quartermaster gives them is a sense of inadequacy
when consuming royal carpet.

Clowns having livers that honk make them easier to identify, and plays
into the retconned "bike horns are clown livers lore"? Also, why not cut
out a clown's liver then honk them with it? You monster.

* Rework job food/alchohol benefits into livers

Co-authored-by: coiax <jack@billbuddy.co.uk>
2021-01-12 01:50:22 +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
59a6bcb8bc [MIRROR] Fixes the bloodbeam (#2574)
* Fixes the bloodbeam (#56012)

Fixes the cultist blood beam power targeting angle.

* Fixes the bloodbeam

Co-authored-by: Sparkezel <53384660+Sparkezel@users.noreply.github.com>
2021-01-08 18:46:29 +01:00
SkyratBot
9426984bdb [MIRROR] Buffs Void heretic carving knife into a good throw weapon (#2531)
* Buffs Void heretic carving knife into a good throw weapon (#55667)

Buffs carving knife into a good throw weapon, 5 damage less than cult dagger. It now has slightly higher embed chance than a combat knife and can become quite a pain to deal with. I believe that its worth it for an item quite far in the research tree.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

* Buffs Void heretic carving knife into a good throw weapon

Co-authored-by: Sparkezel <53384660+Sparkezel@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
2021-01-07 00:05:03 +01:00
SkyratBot
02c83dcd8a [MIRROR] Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#2515)
* Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#55940)

Adds an element, the tuckable element. Objects with this element can be tucked into bed by hitting a bed with it.

You can now make beds by hitting them with a blanket.
You can now tuck plushes into bed.
You can now tuck the disk into bed, too.

* Allows you to tuck the nuclear authentication disk (and plushes) into bed.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-01-06 01:26:01 +00:00
SkyratBot
8bad10a1c9 [MIRROR] Fixes two bugs with Blob strain rerolling (#2440)
* Fixes two bugs with Blob strain rerolling (#55833)

* tested locally and it works

* As suggested

Co-authored-by: Ranged <nickvanderkroon@ gmail.com>

* Fixes two bugs with Blob strain rerolling

Co-authored-by: NotRanged <rangedvdk@gmail.com>
Co-authored-by: Ranged <nickvanderkroon@ gmail.com>
2021-01-02 13:19:15 +01:00
SkyratBot
9f31e7e3c1 [MIRROR] Move disk verification into skillchip (#2430)
* Merge pull request #55834 from coiax/k33p-th4t-d15k

Move disk verification into skillchip

* Move disk verification into skillchip

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2021-01-01 19:56:29 +00:00
SkyratBot
33ea04d223 [MIRROR] Clownlike creatures are now more consistent. #fix #honk #banana (#2423)
* Clownlike creatures are now more consistent. #fix #honk #banana (#55603)

* Bananium golems can wear clown shoes and are clumsy. Clownlike creatures, including clowns, bananium golems and clown ops, heal from bananas and bananahonk. Clown Ops also don't understand death, like real clowns!

* Clownlike creatures are now more consistent. #fix #honk #banana

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2021-01-01 14:40:59 +01:00
SkyratBot
d7f054b035 [MIRROR] Refactors monkeys into a species (#2379)
* Refactors monkeys into a species

* aaa

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-31 21:08:07 +01:00
SkyratBot
97c70e3d06 [MIRROR] Refactor outfit skillchips (#2370)
* Refactor outfit skillchips (#55652)

* 🏭 Refactor outfit skillchips

- Skillchips now are on /datum/outfit, rather than /datum/outfit/job,
  since we may want other roles to start with skillchips in the future.
- Skillchips are now a list of types to install, rather than a single
  one.
- Traits for the deathsquad are now listed just below the deathsquad
  initial antag datum definition.

* Remove accidental debug testing code

It was not intended for janitors to start with engineering skillchips,
and a really weak lightbulb removing skillchip.

* Fix indentation of comment

* Refactor outfit skillchips

Co-authored-by: coiax <yellowbounder@gmail.com>
2020-12-29 15:12:02 +01:00
SkyratBot
94ed7ed0f1 [MIRROR] Refactors how movetypes are added and removed, No timers this time. (#2358)
* Refactors how movetypes are added and removed, No timers this time. (#55444)

* Refactors how movetypes are added and removed, No timers this time.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-12-29 02:39:03 +00:00
SkyratBot
10ba05bc4c [MIRROR] Fix hard dels with rune knives and their creations (#2331)
* Fix hard dels with rune knives and their creations (#55711)

Rune knives held hard references to the runes they created, which were not cleaned when the rune was eventually deleted. These have been replaced with weakrefs.

* Fix hard dels with rune knives and their creations

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-26 10:40:51 +01:00
SkyratBot
9c57b2371b [MIRROR] Void Finisher now survives the Void (#2306)
* Void Finisher now survives the Void (#55437)

It makes it so when you finish the Void Path as a Heretic, you can actually survive in the void (as well as not suffocate in your own storm), you no longer need to breathe, and you resist low pressure (but not high pressure). (the add_traits show a reference to space_adaptation, it doesnt seem to work if i change the reference, and it doesnt seem to have any issues referencing that, so it should be fine as is)

Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>

* Void Finisher now survives the Void

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
2020-12-24 12:36:10 +01:00
SkyratBot
d5148ab919 [MIRROR] adds new wiz spell: duffelbag curse (#2304)
* adds new wiz spell: duffelbag curse (#55286)

it gives target a no drop duffelbag which every around 100s will try check if there is food inside else it attacks you, you can poison the food to make it die faster.
more variety for wiz to annoy crew that isnt murder bone

* adds new wiz spell: duffelbag curse

Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
2020-12-24 12:34:53 +01:00
SkyratBot
ab0b8ee032 [MIRROR] Changelings now use a radial menu to select DNAs (#2291)
* Changelings now use a radial menu to select DNAs (#55680)

Changelings are now using a radial menu when choosing DNAs instead of a clumsy input menu, which affects transformation and transformation sting abilities. This is important so that changelings have an idea what exact disguise are they putting on.

"Drop" button in the menu is for Drop Flesh Disguise, which removes all disguise parts changeling have currently on.

* Changelings now use a radial menu to select DNAs

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2020-12-24 00:41:12 +00:00
SkyratBot
903f9402fc [MIRROR] Void is finally exclusive only to void. (#2290)
* Void is finally exclusive only to void. (#55630)

Co-authored-by: Sparkezel <1haslo4@ gmail.com>

* Void is finally exclusive only to void.

Co-authored-by: Sparkezel <53384660+Sparkezel@users.noreply.github.com>
Co-authored-by: Sparkezel <1haslo4@ gmail.com>
2020-12-24 00:41:00 +00:00
SkyratBot
4c86dfc553 [MIRROR] Fixing a very old issue about lizard snouts and hoods, fake mustaches and similars. (#2264)
* Fixing a very old issue about lizard snouts and hoods, fake mustaches and similars. (#55574)

Fixing a little visual issue with certain hoods, fake mustaches and similars making lizard snouts magically disappear when worn.

* Fixing a very old issue about lizard snouts and hoods, fake mustaches and similars.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-12-21 19:56:29 +00:00
SkyratBot
3730ad96a2 [MIRROR] Generalizes the hands-blocked trait as UnarmedAttack block (#2263)
* Generalizes hands blocked as unarmed attack block (#55579)

I suppose for bots there's a certain level of abstraction involved, but it makes sense within the context.
There's a pretty bad bug associated with shades here that this fixes.

* Generalizes the hands-blocked trait as UnarmedAttack block

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-12-21 19:56:19 +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
35aaa84a84 [MIRROR] Filterrific! (#2233)
* Filterrific!

* a

Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-19 06:29:54 +01:00
SkyratBot
24743f2696 [MIRROR] Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals (#2237)
* Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals (#55193)

Huge removal of dead vars, bad timers, and other sloppy jitteriness from beams. They go from checking movement to waiting for a signal.
VARIABLE KILL LIST:

sleep_time: signals baby
finished: signals BAYBEEE
target_oldloc: not only not typecasted as a turf or named as a turf, it was unused. when are we going to use this? the beam starts from the origin!
origin_oldloc: bad name, not typecasted. renamed to originturf
static_beam: how are you an unused variable and still get replaced by signals like really
timing_id: signallllss bbbaaaabbyy
recalculating: you get the drill by now signals baby
base_icon: unused, seemingly replaced by visuals I think

* Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2020-12-19 04:42:09 +01:00
SkyratBot
3d16a633a5 [MIRROR] Fixes blob announcement time (#2219)
* Fixes blob announcement time (#55582)

Co-authored-by: Ranged <nickvanderkroon@ gmail.com>

* Fixes blob announcement time

Co-authored-by: NotRanged <rangedvdk@gmail.com>
Co-authored-by: Ranged <nickvanderkroon@ gmail.com>
2020-12-18 08:52:42 +01:00
SkyratBot
1459ec2edc [MIRROR] fixes the clusterfuck of projectile issues (#2199)
* fixes the clusterfuck of projectile issues (#55495)

* fixes the clusterfuck of projectile issues

Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
2020-12-17 08:05:01 +01:00
SkyratBot
7a185e0b4d [MIRROR] [READY] Creates Datumized AI and applies it to monkeys (#2166)
* [READY] Creates Datumized AI and applies it to monkeys (#55238)

New AI system, implemented for monkeys.

* [READY] Creates Datumized AI and applies it to monkeys

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-12-13 13:45:09 +00:00
SkyratBot
0e26de1f3e [MIRROR] You can sacrifice souls to toolboxes (#2152)
* You can sacrifice souls to toolboxes (#55306)

So, now that it's December, this PR makes it so you can use a soulstone with a shade in it on a mechanical toolbox to sacrifice the shade to give the toolbox back its SOUL (it goes back to the old sprite)

* You can sacrifice souls to toolboxes

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-12-13 00:51:38 +00:00
Useroth
116c61169f Removed transformation sting. (#2136) 2020-12-11 18:55:41 +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
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
5f1a7a9385 [MIRROR] Sound Environments - Adds reverb and echos to rooms (#2067)
* Sound Environments - Adds reverb and echos to rooms

* Update sound.dm

* Update sound.dm

* Update datum_traitor.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2020-12-07 10:35:36 +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
216ce69f7a [MIRROR] Fixes Nar'Sie rune erasing bug (#1979)
* Fixes Nar'Sie rune erasing bug (#55123)

* Fixes Nar'Sie rune erasing bug

Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
2020-11-30 23:02:31 +00:00
Azarak
d40607b484 [SEMI-MODULAR] Ambitions v2 (#1743)
* aaa

* a

* ahh

* aaaah

* Update ambition.dm

* Update tgstation.dme

* aaa

* Update mind.dm

* Update roundend.dm

* Update roundend.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-11-29 16:08:36 +00: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
3f897ebca0 [MIRROR] Makes swarmers and morphs ghost-visible in the orbit menu (#1891)
* Makes swarmers and morphs ghost-visible in the orbit menu (#55191)

Makes Morphs and Swarmers have their own part of the orbit menu, like other visible antagonists. Given pretty much every other ghost-obvious antagonist is, it's more of an oversight that you couldn't.

* Makes swarmers and morphs ghost-visible in the orbit menu

Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
2020-11-28 12:52:44 +01:00
SkyratBot
e6879819ea [MIRROR] CanUseTopic() refactor. (#1829)
* CanUseTopic() refactor. (#54747)

* CanUseTopic() refactor.

* Forgot about default_can_use_topic. Tested and working.

* Update bin.dm

* no-nonsense.

* CanUseTopic() refactor.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-25 13:56:56 +01: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
SkyratBot
3f22ac0cee [MIRROR] Removed effect/dummy/phased_mob copypasta. Fixed squeak component triggering from abstract effects & co. (#1784)
* Removed effect/dummy/phased_mob copypasta. Fixed squeak component triggering from abstract effects & co. (#54783)

* Removed effect/dummy/phased_mob copypasta. Fixed squeak component triggering from abstract effects & co.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-23 18:29:54 +00:00
Gandalf
4505e709f1 Ports cloning [WIP] [DNM] (#151)
* Ports cloning

Yes

* MODULAR NEXT

* Research

* Update tgstation.dme

* horrors!

* Update poll_ignore.dm

* REST WELL

* go to hell travis

* fuck

* Merge branch 'master' into cloning

* aaaaaaaa

* Update cloning.dm

* aa

* fixed

* aaa

* Update exp_cloner.dm

Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-21 07:33:16 +01:00
SkyratBot
e3138a737e [MIRROR] Fixes Crucible Soul potion making you permanently phase through all matter and Void storm breaking after dying. (#1753)
* Fixes Crucible Soul potion making you permanently phase through all matter and Void storm breaking after dying. (#55050)

Someone changed /obj/screen/alert to be /atom/movable/screen/alert and it caused this problem.
Also fixes the issue with void storm breaking if someone dies and gets revived.

* Fixes Crucible Soul potion making you permanently phase through all matter and Void storm breaking after dying.

Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
2020-11-21 07:31:44 +01:00
SkyratBot
8e554e846d [MIRROR] Unit tests for heretic knowledge (#1751)
* Unit tests for heretic knowledge (#55022)

* Unit tests for heretic knowledge

Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
2020-11-21 07:31:04 +01:00
SkyratBot
aa1e178b8c [MIRROR] Adds a set of nanite storage protocols as a Bepis research, plus small nanite adjustments (#1749)
* Adds a set of nanite storage protocols as a Bepis research, plus small nanite adjustments (#54710)

Adds a new set of nanite protocol programs as a researchable Bepis tech.
Protocol programs are programs that are mutually exclusive within their time, so remember that only one of the following can be active at once in the same host.

    Hive Protocol: Makes nanites use space more efficiently, increasing maximum volume by 250 (500 -> 750)
    Zip Protocol: Makes nanites use a compression routine when not in use, increasing maximum volume by 500 (500 -> 1000) but consuming 0.2 nanites per tick to perform the zipping/unzipping
    Free-Range Protocol: Makes nanite use looser storage routines, reducing the maximum volume by 250 (500 -> 250) but gaining 0.5 nanite replication rate
    S.L.O.P. (Safety Level Override Protocol): Removes nanite storage safety measures, allowing them to reach up to 2000 volume. However, when the volume surpasses the maximum recommended volume (500) the host will start to suffer from side effects, manifesting in slow organ damage. The more the nanite volume approaches the physical limit, the more harmful it becomes.

Replaced the Tinker Nanite Replication Protocol with the Pyramid Protocol, which gives an extra 1.2 regeneration rate, but only while the nanites are at 80% volume or above.
Renamed the Offline Production Protocol to Eclipse Protocol.

Chain detonation now uses dyn_explosion(), at a rate of 1 power per 50 nanite volume. The power level should be similar to how it was for normal nanite volumes, but it should scale more linearly when going above the limit with the new programs.

If nanite volume is suddenly significantly higher than the maximum allowed (likely caused by deleting an active storage protocol) the extra nanites will be forcefully expelled from the host's body, which can range from minor oozing, to vomiting puddles of nanites, to nanites rapidly bursting from eyes, ears, and skin pores.
Despite how it looks, this process causes no lasting damage, since it's a security feature made to prevent acute nanite poisoning.

Added some comments on a few nanite functions.
Refactored vomit code to make it a bit more customizable. The toxic arg (supposedly used to choose an alternate vomit icon, but in fact not functional) is now vomit_type, and purge (which determined vomit would remove 10% of reagents or 67% of reagents) is now purge_ratio, which accepts custom values. Made the refactor mostly to allow a 0% ratio, but it can be handy in other future uses.

Adds extra content to Bepis research, giving a little more reason to invest money into it.
Creates more options to customize a previously rigid parameter in nanites, maximum nanite volume. This opens up strategies that involve storing up large amounts of nanites for special occasions, or viceversa reducing the maximum rate to get more constant replication rate to sustain continued programs.

* Adds a set of nanite storage protocols as a Bepis research, plus small nanite adjustments

Co-authored-by: XDTM <heliumt@yahoo.it>
2020-11-20 21:52:06 +00:00
SkyratBot
35ddaeb1b8 [MIRROR] Fixes 2 last heretic bugs that are on issue tracker (#1741)
* Fixes 2 last heretic bugs that are on issue tracker (#54967)

About The Pull Request

Fixes the cursed heart being unable to track targets in containers.

Fixes the shitcode that was reality_smash_tracker, now it is only responsible for generating influences.

closes #53583

closes #52554
Changelog

🆑
fix: fixes the cursed heart being unable to track people inside containers.
fix: fixes influence vision getting broken by replacing someone's eyes.
/🆑

* Fixes 2 last heretic bugs that are on issue tracker

Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
2020-11-20 10:40:44 +01:00
SkyratBot
4111f6a732 [MIRROR] I somehow made a major fucking error when it comes to heretics, please god. (#1726)
* Im fucking r-tarded (#55020)

Makes void actually accessible

* I somehow made a major fucking error when it comes to heretics, please god.

Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
2020-11-19 07:21:54 +01:00