Commit Graph

37659 Commits

Author SHA1 Message Date
SkyratBot
92f306214b [MIRROR] Fixes staff of storms not aggroing mobs [MDB IGNORE] (#13580)
* Fixes staff of storms not aggroing mobs (#66819)

* Fixes staff of storms not aggroing mobs

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-13 11:34:28 +01:00
SkyratBot
08244079a0 [MIRROR] Fixes surgery tools not giving silver back when recycled. [MDB IGNORE] (#13577)
* Surgery tools can be recycled for silver. (#66901)

* Fixes surgery tools not giving silver back when recycled.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2022-05-13 11:33:57 +01:00
SkyratBot
8d4b1e1c0a [MIRROR] New drink sprites aka Drink Desouling [MDB IGNORE] (#13575)
* New drink sprites aka Drink Desouling (#66538)

- All drinks and bottles have been resprited

* New drink sprites aka Drink Desouling

Co-authored-by: ErdinyoBarboza <erdinyobarboza@gmail.com>
2022-05-13 11:33:23 +01:00
SkyratBot
453f695be5 [MIRROR] Makes cult's objectives load before their antag ui [MDB IGNORE] (#13567)
* Makes cult's objectives load before their antag ui (#66899)

Makes Cultists get their objectives from their team BEFORE their parent's on_gain runs, giving and triggering their antag UI. This means players no longer have to close and reopen the page to see their actual objectives.

* Makes cult's objectives load before their antag ui

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-05-13 11:32:14 +01:00
SkyratBot
a064b35b25 [MIRROR] Fixes an error sprites on medical wintercoat's allowed list. [MDB IGNORE] (#13566)
* Goodbye stack/medical (#66898)

Okay, why removing instead of giving it a sprite?

Simply put, those items are all small and there is no reason that you need to quick draw a suture/ointment and if you do, the medical belt can carry 7.
Allowed/exoslot items should be either medium/big/bulky sized items (Syringe gun) to make it worth inventory wise or items that you can quickdraw multiple times (Health Analyzer) to make your life easier.
Medical stacks are neither and would just get in the way if you try to quickly put them into a bag/pocket/belt and instead it goes into your exoslot where you would normally want to carry more valuable things like the syringe gun.

This doesn't feel big enough for a fix, spending 5 seconds making a list alphabetical doesn't few worth of code improvement, I will label this as QoL and if someone say it is a balance change I will follow you in game and keep placing shitty small items in your inventory via reverse pickpocketing.

* Fixes an error sprites on medical wintercoat's allowed list.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2022-05-13 11:32:03 +01:00
SkyratBot
f67daeed65 [MIRROR] Remove organs from delimber anomaly [MDB IGNORE] (#13562)
* Remove organs from delimber anomaly  (#66888)

* Remove organs from delimber anomaly

* Remove organs from reactive armour

* Remove organs from delimber anomaly

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2022-05-13 11:31:00 +01:00
SkyratBot
396c46023b [MIRROR] Fix wizard modsuit not having antimagic protection [MDB IGNORE] (#13559)
* Fix wizard modsuit not having antimagic protection (#66890)

* Fix wizard modsuit not having antimagic protection

* Change TRAIT_ANTIMAGIC_NO_SELFBLOCK comment

* Fix wizard modsuit not having antimagic protection

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-05-13 11:30:41 +01:00
SkyratBot
2967827c1a [MIRROR] Makes constable helmet not block hair [MDB IGNORE] (#13549)
* Makes constable helmet a subtype of head (#66872)

Moves constable hats to be a subtype of head directly, rather than head/helmet, because they aren't helmets, they're hats, and helmet block your hair which looks odd for something that isn't actually covering it.

* Makes constable helmet not block hair

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-05-12 02:55:15 +01:00
SkyratBot
5d192b002c [MIRROR] External organs can now contribute bodytypes to their owner [MDB IGNORE] (#13352)
* External organs can now contribute bodytypes to their owner (#66704)

* Fixed part of our snout code, to account for special snouts that do not give you the snouted bodytype

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-05-11 18:28:04 -04:00
SkyratBot
05abb7b813 [MIRROR] Refactors how legs are displayed so they no longer appear above one-another when looking EAST or WEST [MDB IGNORE] (#13536)
* Refactors how legs are displayed so they no longer appear above one-another when looking EAST or WEST

* Update carbon_update_icons.dm

* Caches the masks for the digitigrade legs, to avoid masking issues

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-05-11 18:27:21 -04:00
Higgin
72f40fac51 [NON-MODULAR] Reduces the required rep in objectives for getting a final objective spawn. (#13311)
* Update final_objective.dm

* Update final_objective.dm
2022-05-11 22:43:33 +01:00
Gandalf
e6df481b6c Vent scrubbers now scrub pollution (#13377)
* Update vent_scrubber.dm

* Update vent_scrubber.dm
2022-05-11 22:43:19 +01:00
SkyratBot
81db26ba94 [MIRROR] [MDB IGNORE] Removes tablet cartridges + reworks a ton more [MDB IGNORE] (#13539)
* [MDB IGNORE] Removes tablet cartridges + reworks a ton more (#66505)

- All tablets who previously had apps in a cartridge now has them built-into their tablet instead. This means it costs space for it.
- Rebalances the sizes of several apps to help them fit on Command tablets (Cargo ordering costed 20!!)
- Removes tablet cartridges, they've been reworked into a regular old portable disk (the same you use for toxins/borgs)
- Removes Signaller (the module required to run the signaller app) from tablets (likely will remove more in the future)
- Refactors the health/chem scanning app to not be as bad
- Dehardcodes detomatix resistance
- Ability to send PDA's to all is now tied to your access rather than a cartridge
- Moves 'eject disk' button to the very top of the UI

* [MDB IGNORE] Removes tablet cartridges + reworks a ton more

* wew

* wew

* ok

* Update nanotrasen_consultant.dm

* Update nanotrasen_consultant.dm

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 22:40:06 +01:00
SkyratBot
133b753507 [MIRROR] Converts jittering to status effect, striking yet another mob level status value [MDB IGNORE] (#13534)
* Converts jittering to status effect, striking yet another mob level status value

* mmkay

* weh

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

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

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

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

* wew

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 21:52:11 +01:00
SkyratBot
90021b5203 [MIRROR] Fix erroneous 'the' in some clown car messages [MDB IGNORE] (#13531)
* Fix erroneous 'the' in some clown car messages (#66842)

* Fix erroneous 'the' in some clown car messages

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2022-05-11 16:01:44 +01:00
SkyratBot
8c58c6c704 [MIRROR] Fix teleport rune portals harddeleting [MDB IGNORE] (#13528)
* Fix teleport rune portals harddeleting (#66841)

* Fix teleport rune portals harddeleting

* Fix teleport rune portals harddeleting

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2022-05-11 16:01:31 +01:00
YakumoChen
06f547f3d0 Update mod_theme.dm (#13501) 2022-05-11 02:16:04 +01:00
SkyratBot
2878b0b005 [MIRROR] Removes AOE hit detection from fireball [MDB IGNORE] (#13526)
* Removes AOE hit detection from fireball

* Update staff.dm

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

* wew

* Update energy_fireaxe.dm

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

* e

* Update tgstation.dme

* Update contract.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 01:52:39 +01:00
Gandalf
8fde588d52 fixes eyes (#13525)
* he he funne

* Update modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-05-11 01:41:19 +01:00
SkyratBot
c11596d700 [MIRROR] Fixes mulligan not randomizing ethereal color, removes default_color for every race except ethereals [MDB IGNORE] (#13492)
* Fixes mulligan not randomizing ethereal color, removes default_color for every race except ethereals

* Fixing a merge conflict

* f

* e

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

* Update carbon_defense.dm

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

* yes

Co-authored-by: Ebb-Real <95765134+Ebb-Real@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 00:31:06 +01:00
SkyratBot
22680a4620 [MIRROR] [NO GBP] Fix mapped cardhands not initializing [MDB IGNORE] (#13520)
* [NO GBP] Fix mapped cardhands not initializing (#66678)

* Fix mapped cardhands not initializing

* Refactor cardhand Initialize proc to be readable

* [NO GBP] Fix mapped cardhands not initializing

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-05-11 00:06:35 +01:00
SkyratBot
2c131f8254 [MIRROR] atmos layers update [MDB IGNORE] (#13515)
* atmos layers update (#66825)

Updates atmosmachines layering in a way that they keep the same layer in all piping_layer and colors. dense machines have a static OBJ_LAYER that doesn't change regardless of color/layer

* atmos layers update

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2022-05-11 00:04:59 +01:00
SkyratBot
26581acfa6 [MIRROR] Fixes Marker Beacons Not Having an Icon [MDB IGNORE] (#13514)
* Fixes Marker Beacons Not Having an Icon (#66830)

FUCK.

In #66736 (7517e79), I forgot to change this line. It worked fine in the screenshot because the screenshot came from before I spun it out into it's own DMI. Whoops.

* Fixes Marker Beacons Not Having an Icon

Co-authored-by: san7890 <the@san7890.com>
2022-05-11 00:04:45 +01:00
SkyratBot
0b22d3cbd3 [MIRROR] improve speed of cascade walls, better description for them + CL for cascade antag [MDB IGNORE] (#13512)
* improve speed of cascade walls, better description for them + CL for cascade antag (#66800)

Cascade walls were processing on object subsystem, they are now in their own subsystem that ticks once per second and should be more reliable even in case of high td
better description for the walls to be more interesting

* improve speed of cascade walls, better description for them + CL for cascade antag

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2022-05-11 00:04:00 +01:00
SkyratBot
c377732486 [MIRROR] The supermatter cascade now takes one minute to end the round instead of 5 minutes to end the round, to put it on par with Blob and such. [MDB IGNORE] (#13517)
* The supermatter cascade now takes one minute to end the round instead of 5 minutes to end the round, to put it on par with Blob and such. (#66832)

* The supermatter cascade now takes one minute to end the round instead of 5 minutes to end the round, to put it on par with Blob and such.

Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2022-05-10 16:03:39 -07:00
SkyratBot
303a07e52a [MIRROR] Revival of mapping lore terminals [MDB IGNORE] (#13510)
* Adds lore terminals for mappers (#66589)

This adds the ability to use Fallout-style terminals for maps

* Revival of mapping lore terminals

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
2022-05-10 20:17:36 +01:00
SkyratBot
586890e132 [MIRROR] Fixes heretic marks working on corpses [MDB IGNORE] (#13509)
* Fixes heretic marks working on corpses (#66815)

marks shouldn't apply to corpses

* Fixes heretic marks working on corpses

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-10 20:17:28 +01:00
SkyratBot
472dbbd202 [MIRROR] Fix "destroy machinery" objective runtime [MDB IGNORE] (#13507)
* Fix destroy_machinery runtime (#66810)

Added a check for if the applicable_jobs list got completely eliminated. The if(!length(possible_machines)) check immediately after this while loop with then cause the objective generation to cleanly fail.

* Fix "destroy machinery" objective runtime

Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-05-10 20:17:16 +01:00
SkyratBot
34171dbcb3 [MIRROR] Fixes charged greens displaying species types instead of names [MDB IGNORE] (#13502)
* Fixes charged greens displaying species types instead of names (#66818)

Closes #66724

* Fixes charged greens displaying species types instead of names

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-10 20:16:58 +01:00
SkyratBot
a99853f9a1 [MIRROR] Rebalances, adds, and removes certain bounties [MDB IGNORE] (#13504)
* Rebalances, adds, and removes certain bounties (#66625)

* Splits Engineering and Atmospherics bounties

* Lowers the rewards from Medical bounties

* Adds refined anomaly, Assistant and Engineering bounties

* Removes Sunglasses and Briefcase bounties

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@ users.noreply.github.com>

* Rebalances, adds, and removes certain bounties

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@ users.noreply.github.com>
2022-05-10 12:13:23 -04:00
SkyratBot
f379a0b5f5 [MIRROR] Fix books to only give mood bonus when read the first time [MDB IGNORE] (#13498)
* Fix books to only give mood bonus when read the first time (#66371)

* Fix book rereading exploit

* Refactor book_title_read to be for mind datum

* Remove reader var from on_read

* Add sanity check for mind

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

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-05-09 21:56:16 -07:00
SkyratBot
07aa3a9ae3 [MIRROR] Ripley mechs (and other mechs that are missing an air tank) can no longer toggle the air source. [MDB IGNORE] (#13494)
* Ripley mechs (and other mechs that are missing an air tank) can no longer toggle the air source. (#66107)

Disables the button on the UI if the mech has no internal tank. Also early returns on procs if the UI somehow lets the click through.

Fixes #66005

* Ripley mechs (and other mechs that are missing an air tank) can no longer toggle the air source.

Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
2022-05-09 21:48:10 -07:00
SkyratBot
6059a35c7a [MIRROR] Removes (now unused) sandbox related config and variable [MDB IGNORE] (#13493)
* Removes (now unused) sandbox related config and variable (#66803)

I don't know when we removed sandbox but this datum doesn't exist anymore and this var is unused

Also the config does nothing anymore so might as well throw that out

* Removes (now unused) sandbox related config and variable

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-09 21:48:03 -07:00
SkyratBot
90a11bd670 [MIRROR] Supermatter Cascades are not Universe-Destroying Events [MDB IGNORE] (#13495)
* Supermatter Cascades are not Universe-Destroying Events (#66804)

* Supermatter Cascades are not Universe-Destroying Events

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2022-05-09 21:47:37 -07:00
SkyratBot
e914af568f [MIRROR] Revert "Add stamped requisition forms now give bonus credits (#66230)" [MDB IGNORE] (#13497)
* Revert "Add stamped requisition forms now give bonus credits (#66230)" (#66851)

This reverts commit f021767645.

This reverts commit f021767 from:

    Add stamped requisition forms now give bonus credits #66230

This bug was encountered when we were testing this PR but I thought it got fixed.
Why It's Good For The Game

Cargo crates will now reappear.

* Revert "Add stamped requisition forms now give bonus credits (#66230)"

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

* Update robot.dm

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-10 01:49:26 +01:00
SkyratBot
a23c16c5aa [MIRROR] changes name of trait "STUNRESISTANCE" to trait "BATON_RESISTANCE", changes some descriptions [MDB IGNORE] (#13467)
* changes name of trait "STUNRESISTANCE" to trait "BATON_RESISTANCE", changes some descriptions  (#66788)

it will make a whole lot more sense when you look at the trait and see what it does, instead of assuming what it does based on its very clear name

* changes name of trait "STUNRESISTANCE" to trait "BATON_RESISTANCE", changes some descriptions

* Update cocaine.dm

Co-authored-by: private-tristan <54422837+private-tristan@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-10 01:44:43 +01:00
SkyratBot
aa74179ecf [MIRROR] Titan's Final Lament - Colossus and hierophant crusher trophy rework [MDB IGNORE] (#13478)
* Titan's Final Lament - Colossus and hierophant crusher trophy rework (#66793)

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

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

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

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

Goodbye 4 GBP, you served me well.

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

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-10 01:34:38 +01:00
SkyratBot
a6a94f116b [MIRROR] Freon combustion burn rate is now based on oxygen moles if there isn't enough oxygen for full burn. Fixes freon hotspots. [MDB IGNORE] (#13474)
* Freon combustion burn rate is now based on oxygen moles if there isn't enough oxygen for full burn. Fixes freon hotspots. (#66782)

For some reason the sign on the if check was reversed, which causes freon burn rate to be based on freon moles instead of oxygen moles if there is lacking oxygen for full burn. Not sure why it got flipped, but I'm just flipping the freon burn rates to correct it, so it should be based on oxygen moles if there isn't enough oxygen for fullburn.

Also for some reason freon fires checked if the holder was in a turf before reacting, and returning no reaction if it was not in a turf. This caused cold fire hotspots to kill themselves due to them not being a turf while making the gasmixture react, returning no gas reaction results then setting volume of fire to 0.

Fixes that by allowing freon to react in any gasmixture, but it can't create hot ice if it's not in a turf.

* Freon combustion burn rate is now based on oxygen moles if there isn't enough oxygen for full burn. Fixes freon hotspots.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-05-10 01:34:30 +01:00
SkyratBot
17f69d6db9 [MIRROR] Mindshock/mindshield modifications [MDB IGNORE] (#13473)
* Mindshock/mindshield modifications (#66727)

Reduces the length of the brainwashing from six minutes to two. Adds a second charge to the mindshock gland to compensate.

Makes it so that having a mindshield will protect you from the effects of a mindshock gland. The includes the passive effects that mindshock glands have on people near them, as well as the brainwash command from the mental interface device.

Since the implant itself is handling the brainwash broadcast, it will still succeed in broadcasting the message even if the gland holder is mindshielded. Mindshields only prevent you from receiving the brainwash message. Tinfoil hat functionality is untouched and remains the only way to block the message from being broadcast.

* Mindshock/mindshield modifications

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-05-10 01:34:24 +01:00
SkyratBot
f2867a2b40 [MIRROR] Separates regenerative core and wounded alerts [MDB IGNORE] (#13471)
* Separates regenerative core and wounded alerts (#66794)

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

* Separates regenerative core and wounded alerts

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-05-10 01:34:18 +01:00
SkyratBot
f2b12af62f [MIRROR] Fixes ballistics hitting people through windoors and other border objects [MDB IGNORE] (#13468)
* Adds a check for border objects to projectile impacts (#66789)

When a projectile bumps into something, it decides what it actually hits by calling /obj/projectile/proc/select_target on that atom's turf. This lets the projectile prioritize either its original target or any mobs on the tile over whatever other crap is there, but does not account for border objects in the way of the projectile's path, which should always be the first thing the bullet hits.

This PR makes select_target() prioritize the bumped atom if it's a border object, so that things like directional windows and firelocks properly block incoming fire. /turf/Entered already prioritizes border objects in the relevant direction when picking what to pass to Bump(), so we don't need to recheck the direction.

* Fixes ballistics hitting people through windoors and other border objects

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-05-10 01:34:01 +01:00
SkyratBot
edfaf90ebf [MIRROR] Ventcrawling improvements, performance and visual [MDB IGNORE] (#13461)
* Ventcrawling improvements, performance and visual (#66709)

* Initial pipecrawl work

Ok so pipecrawl images were updating EVERY TIME YOU MOVED
This was not good mojo

What I've done here is twofold
First, I ensured pipecrawl updates only when the net changes. This
breaks the current implementation, but I intend on fixing that

Second, I moved our method of getting pipes to the spatial grid
This isn't that great at the moment, but I intend on adding support for
tracking entered/exited cells, which should make this much better

* Much faster pipecrawling processing, niceties

Adds a concept called a cell tracker datum.
It manages a list of cells a passed in bound is "inside", and when
queried will return a list of new cells, and old cells.

Because we only really care about maintaining an absolute window of
"CELLS WE ARE IN" and less about always removing cells we're not in, we
can manage a second window to prevent moving up and down on a cell line
causing a ton of updates.

Uses this concept to optimize pipecrawling significantly, from 3ms per
call before to roughly 0.03ms per call.

Also moves pipecrawl images to their own plane, so they don't overlap ui
elements

* Pipecrawling effects niceties, direction help

You can now move in more then one direction when pipecrawling
This works as expected, if you hold up and left, move up for a while,
and come to a fork, you'll go left

Added some effects to pipecrawling. It'll darken the lighting plane
slightly, so you get a nice effect instead of just fullbright.
Also added a color matrix and drop shadow to the pipe images, this way
they stand out a bit more.

You now glide between pipe moves, rather then moving instantly. This
doesn't effect your actual move rate, but it no longer feels jittery
with say, 60fps

* Bounds

* Fixes runtimes, cache something somethign sonic speed

* Reworks how being interested in the spatial grid is tracked

Rather then checking multiple variables on the atom to consider, we
instead check for the existence of a string key.

This key is used by a list on the spatial grid subsystem to retrive a
cached list of all of the atoms "types"

Doing this requires doing a bit of extra work in
important_recursive_contents code, but it allows us to separate being a
part of the spatial grid from using important recursive contents, which
is very nice.

As a consequence, I've had to unroll some lazylist macros in important
recursive contents logic. It's not ""that"" bad but it's not great
either.

Oh and this adds a slight cost to enter/exit cell, but it's minimal.
Basically, rather then checking for different features of a grid member,
we just iterate the list their string key points to. Very handy

So there's an added cost of a list copy and all, but we save the
headache of more types technically increasing the cost of
addition/removal.

I also made adding/removing from the grid into one "pulbic" proc rather then two
different ones for each operation, because it was starting to get silly

* waaa waa it doesn't compile

* chord -> coord

* Ensures important_recursive_contents is actually emptied on removal

* Removes soul

* Kyler's review

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Kyler's review 2

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Kyler's review 3

Moves some procs around, improves some documentation, catches a few
small issues

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Ventcrawling improvements, performance and visual

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2022-05-09 15:06:38 +01:00
Useroth
4d07f3a620 Missed mirror (#13460)
* Converts drunkness and dizziness to status effects. Refactors status effect examine text (and, subsequently, stabilized black extracts).  (#66340)

* Refactors dizziness into a status effect

* Refactors the dizziness setter to use the new kind

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

* Dizzy was a setter, not an adjuster

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

* Removed

* repaths, fixes some issues

* Minor fixes

* Some erroneous changes

* Fixes some dizziness errors

* Consistency thing

* Warning

* Undoes this change, I dont like its implementation

* max_duration

* Max amount

* Should be a negative

* max duration

* drunk doesn't tick on death

* Rework dizziness strength

* Erroneous dizzy change

* Fixes return type

* this should do it?

* well, one more

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-09 15:05:42 +01:00
SkyratBot
b38f603224 [MIRROR] Steal objective can now be cashed out early for less reward as soon as you place the bug on. Adds a new 'Destroy Machinery' objective [MDB IGNORE] (#13445)
* Steal objective can now be cashed out early for less reward as soon as you place the bug on. Removes smuggling objective and adds a new 'Destroy Machinery' objective (#66771)

Steal objective can now be cashed out early for less reward, but completing the time in its entirety will give extra TC and reputation.
The smuggling objective has been removed and replaced with the 'Destroy Machinery' objective, which focuses on disrupting workflow by destroying stuff like protolathes, telecomms and research servers.
Made the easier steal objectives worth slightly less TC

* Steal objective can now be cashed out early for less reward as soon as you place the bug on. Removes smuggling objective and adds a new 'Destroy Machinery' objective

* eeeee

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-05-08 19:13:04 -07:00