Commit Graph

1410 Commits

Author SHA1 Message Date
SkyratBot
91070a797c [MIRROR] Job refactor 2: less hardcoded lists (#7410)
* Job refactor 2: less hardcoded lists

* CRITICAL DEP 1

* CRITCAL DEP 2

* Update nanotrasen_admiral.dm

* Update nanotrasen_admiral.dm

* Update nanotrasen_admiral.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-06 01:42:53 +01:00
SkyratBot
0e95407967 [MIRROR] Fixes rust heretics healing with Leeching Walk (+ some minor code improvement) (#7400)
* Fixes rust heretics healing with Leeching Walk (+ some minor code improvement)  (#60688)

* Fixes rust heretics healing with Leeching Walk (+ some minor code improvement)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-08-05 13:16:56 +01:00
SkyratBot
8597cb8097 [MIRROR] Forces dead cyborgs back into their body if turned into a Construct (#7388)
* Forces dead cyborgs back into their body if turned into a Construct (#60680)

* Forces dead cyborgs back into their body if turned into a Construct

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-08-04 18:31:04 +01:00
SkyratBot
e5dc751f74 [MIRROR] Turns rust component into bespoke element (#7278)
* Turns rust component into bespoke element

* a

* Update misc_walls.dm

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-03 20:56:40 +01:00
SkyratBot
2e3b3fcca5 [MIRROR] Fixes soulstones accidentally granting all languages to the damned stone instead of the spirit (#7348)
* Fixes soulstones accidentally granting all languages to the damned stone instead of the spirit . (#60616)

* Fixes soulstones accidentally granting all languages to the damned stone instead of the spirit

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2021-08-03 20:06:22 +01:00
SkyratBot
9963b5deba [MIRROR] Disconnects AI's from their shell if hit by Twisted Construction (#7332)
* Disconnects AI's from their shell if hit by Twisted Construction (#60642)

* Disconnects AI's from their shell if hit by Twisted Construction

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-08-03 20:04:17 +01:00
SkyratBot
51ec50781d [MIRROR] Cultists using Twisted Construction no longer spawn a catatonic construct (#7316)
* Cultists using Twisted Construction no longer spawn a catatonic construct (#60612)

* Cultists using Twisted Construction no longer spawn a catatonic construct

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-08-03 18:34:50 +01:00
SkyratBot
b6cecb45f6 [MIRROR] Adds logging for cult reaching red eye and halo milestones (#7253)
* team mothblocks go jfogle eat fresh!! 😆😆 (#60521)

* Adds logging for cult reaching red eye and halo milestones

Co-authored-by: wesoda25 <37246588+wesoda25@users.noreply.github.com>
2021-07-30 11:10:13 +01:00
SkyratBot
9f7d93f3f3 [MIRROR] Remove nanites (#7210)
* Remove nanites

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-29 00:45:17 +01:00
SkyratBot
4a94dc6472 [MIRROR] Meat-hooks and changeling tentacle's firing pins are no longer visable (#7193)
* Meat-hooks and changeling tentacle's firing pins are no longer visable (#60455)

Adds a Boolean to mark guns as "pinless" so they don't care about or show firing pins

* Meat-hooks and changeling tentacle's firing pins are no longer visable

* Update gun.dm

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 22:16:58 +01:00
SkyratBot
227b722820 [MIRROR] Job refactor: strings to references and typepaths [This could seriously break things :)] (#7006)
* Job refactor: strings to references and typepaths

* 0

* holy fuck

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 21:12:42 +01:00
SkyratBot
a14347bb06 [MIRROR] Dissecting Biddle Traitors: Toned down traitor flavor + antag info tgui (#7084)
* Dissecting Biddle Traitors: Toned down traitor flavor + antag info tgui

* Mirror!

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-28 20:42:33 +01:00
SkyratBot
591a611c01 [MIRROR] [FUCK][NO CI] Rust Component Fixes (#7165)
* [FUCK][NO CI] Rust Component Fixes (#60252)

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

* [FUCK][NO CI] Rust Component Fixes

Co-authored-by: Matthew J <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 19:06:34 +01:00
Pinta
ec5581c17c [SEMI-MODULAR] Draconic Necklace (#6929)
* Adds Textures and basis of the object in

* Base language code

* Doesn't remove the language if it's innate.

Basically guts the old code and replaces it with the pirate hat code.

* Item is now craftable

* haha whoops, don't need that!

* changes some text

* changes text again aaaaaaaa

* Update necklace.dm

* Fixed

* Recipe is limited to only ashwalkers now

* Fixes textures
2021-07-23 18:23:19 +12:00
SkyratBot
c1163dff19 [MIRROR] EVEN MORE HARDDEL FIXES (#7017)
* EVEN MORE HARDDEL FIXES (#60228)

Fixes a ton of harddels, sourced from #59996
I think this brings us down to like, ~100 per round from ~200, with only like 20 of those being proper hell failures. I've seen harddel profiles below 1 second of total cost. Feeling good.

See you on the other side

Makes the cryopod control computer into a weakref, never trust bee code
Converts brig door timer internal lists to weakrefs
Fixes a harddel caused by qdeling a motion sensitive camera after it had left its source area, jesus christ why didn't we do this already holy shit
Converts the radio implant ref held by the antenna mutation to weakrefs because it isn't reliably cleaned up, makes the radio implant actually qdel its fucking radio
Removes the target var from the throwing datum, it does literally nothing and just exists to cause harddels, mostly for the singularity
 Fixes a cable harddel sourced from things that try to enter blueprints after smoothing, but before roundstart. IE, shuttles. Removes shuttles from the blueprints
Fixes emmisive blockers being added post qdel
Removes some manual ghosting from cryopods, I initially did this for harddel reasons, but I figured out a better fix for that. I'm now doing it because it's got this really strange logic for like "re-entering the game" that doesn't actually link to what the ghostize proc does. We should remove this at some point
Fixes robot hud objects harddeling due to hanging refs
Fixes buildmode related hanging refs, I'm coming for you admin team
Fixes a few instances of trying to add the forensics component post qdel, hhhhhhhhhhh
Fixes some split personality harddels/weirdness
Replaces a use of disconnect_duct with an init qdel hint, I suspect there's more issues with duct harddels, I've seen some odd logs about ahhh the area_contents list, but we can worry about that later
Makes teleporter targets into weakrefs, properly types them as /atom
Makes frequency devices into weakrefs
Makes cameras remove themselves from camera nets on Destroy
Makes tgui ui datums implement destroy, this means if I ever see one hang a ref to user or whatever, I know there's an error with calling close() properly. I've seen this harddel once, but not after this change so I assume there was some error with close(). IDK maybe this is a papering over? Would have to ask @ stylemistake
I've seen logs of beartraps being in world post del, putting a return there just in case. The same is true of nerf darts, but I haven't really looked into that yet
Makes a shoe's ref to untying alerts a weakref, yes this is needed.
Moves clearing client_in_contents to the Login of the new mob. This prevents doing things like ghosting someone before a mob qdel causing harddels
Fixes a harddel set sourced from adding a status effect to a qdeleted thing. Is this an error? I'm honestly not sure.
Converts bsa code to weakrefs
Converts the partner var of heat exchangers to weakrefs
Converts camera assemblies to weakrefs
Fixes some dumb behavior with ammo casings and assuming you'll be on a turf post Destroy parent call
Fixes? merger related harddels, you were never cleared from your own members list, so origin objects would end up making a new list, creating harddels. Potential input from @ ninjanomnom about the logic
Chasms store a static list of "falling atoms", which only exists for chasms that go somewhere else. This list wasn't being cleared of qdeleted objects, which is what happens when you fall in most chasms. Fixes this, and converts the list to weakrefs.
Fixes some runtimes in both sheet code, and the weather listener element. This is here because runtime spam made testing more of a pain, didn't think it needed its own pr
Fixes colorful reagent harddels sourced from reagents that were qdel'd before roundstart. I'm only like 50% sure this actually got it, but the issue may have been solved by #60174, so eh
Turns the nuke op antag datum's ref to the war button into a weakref
Fixes some holopad code that was not nulling refs all the time
Converts camera bugs to weakrefs, this was the result of the bug being "reworked" like 6 years back without taking the existing ref clearing into account. Whole item needs a redo, but this'll do for now.
Ensures that the both pulling and pullee refs are cleared on Destroy
The crew monitor held all users in a non clearing list, makes that list a weakref because I hate everything

Oh and I removed all sources of gas_mixture qdeletion, I'm kinda unsure on this since it's not technically supported, but any harddels from it might? indicate something going wrong with like, gas passing logic. I'd like @ MrStonedOne's thoughts, since I trust him to call me an idiot if I'm wrong.

<!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding. -->

## Why it's not good for the game

I crashed sybil like 10 times to get this data, I'm gonna put it to good use. Don't think you're safe sybilites, I'm coming for you.

* EVEN MORE HARDDEL FIXES

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-07-20 12:59:41 +02:00
SkyratBot
7b9c058068 [MIRROR] fixed sentient diseases reinfecting when dead (#7007)
* fixed sentient diseases reinfecting when dead (#60107)

* fixed sentient diseases reinfecting when dead

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
2021-07-19 15:59:02 +01:00
SkyratBot
3ef524d029 [MIRROR] Wizard gets bonus points if they go random. (#7009)
* Wizard gets bonus points if they go random. (#60288)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Wizard gets bonus points if they go random.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-07-19 15:58:25 +01:00
SkyratBot
a370161b52 [MIRROR] Improves item's action button updating code (#6969)
* Improves item's action button updating code (#60149)

This PR improves item action button updating code by introducing a proc to update all item's associated action buttons, which simplifies the process and reduces code duplication.

I also fixed a relevant bug where a PDA's action button icon did not properly update upon light toggle because it did not force the button update. Forcing the button update is needed in this case due to how light overlay operates, where the button icon state stays the same, so the code thought updating the action button icon was unnecessary.

* Improves item's action button updating code

* Mirror!

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 20:08:13 +12:00
SkyratBot
99333fdfcc [MIRROR] Replace a number of New() overrides with Initialize() (#6945)
* Replace a number of New() overrides with Initialize() (#60223)

* Replace a number of New() overrides with Initialize()

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-07-19 16:55:01 +12:00
SkyratBot
943d12c99b [MIRROR] Gives Revenant the ability to orbit adjacent things with secondary attack (#6915)
* Gives Revenant the ability to orbit adjacent things with secondary attack (#60200)

Leverages right click to give Revenant something I felt it should have had when first implemented, but I can understand now it's not a low effort undertaking with the snowflakeness of incorporeal jaunt code that only runs on Move() 🤮

I put a lot of care into making sure this won't break or bypass jaunting counters like holy water and salt.

* Gives Revenant the ability to orbit adjacent things with secondary attack

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-07-14 21:55:23 +01:00
SkyratBot
7611fa6e86 [MIRROR] Stops (blob) mobs from falling through blob structures on open space. (#6866)
* Stops (blob) mobs from falling through blob structures on open space. (#60132)

I have seen this happen once on icebox and, as part of the ghost crowd cheering for the blob, I have felt kinda bitter.

Blob tiles occupy entire turfs, making it impossible to tell whether a hole is there or not without over-meticolous shift or alt clicking, are dense, and also it makes sense since blob tiles are blob mobs' turf, their higher ground.

* Stops (blob) mobs from falling through blob structures on open space.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-07-12 21:47:45 +01:00
SkyratBot
6f9a3604be [MIRROR] Replaces morph set_varspeed() calls with movespeed modifiers. Makes it better. (#6860)
* Replaces morph set_varspeed() calls with movespeed modifiers. Better it up. (#60154)

Fixed morph speed being slower while undisguised and some old code related to it.
Fixes #57202
(All you need to do is to disguise yourself once and undisguise. You are now about half as slow as you were prior in each form.)

* Replaces morph set_varspeed() calls with movespeed modifiers. Makes it better.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-07-12 21:47:01 +01:00
SkyratBot
70328dde6a [MIRROR] Transfer orbiters to changeling headslugs at birth (#6799)
* Transfer orbiters to changeling headslugs at birth (#60062)

This improves the observer experience.

* Transfer orbiters to changeling headslugs at birth

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-07-09 01:22:26 +01:00
Y0SH1M4S73R
93d03dc6bb [Alternative to #6407] Makes mutant bodyparts and mutcolors into editable genetic traits (#6750)
* Makes mutant bodyparts and mutcolors into editable genetic traits (plus a whole shitload of otherwise out of scope code improvements because I just HAD to touch old code)

* Mirror

* genetically-editable mutant bodyparts and colors - skyrat edition

Co-authored-by: Funce <funce.973@gmail.com>
2021-07-08 16:04:19 +01:00
SkyratBot
df651808d4 [MIRROR] Drastic Lag Mitigation Subsystem: SSlag_switch (#6786)
* Drastic Lag Mitigation Subsystem: SSlag_switch (#59717)

Requested by oranges and inspired by the upcoming event. A new subsyetem, non-processing (for now), aimed at providing some toggle switches that can be flipped as a last ditch effort to save some CPU cycles by sacrificing some non-critical mechanics. Below you can see each individual toggle.

Screenshot of the admin panel:
image
Surely there are more opportunities for toggles I missed, but adding new ones is not very difficult at all.
Why It's Good For The Game

Better performance during extreme pop, I hope.
Changelog

cl
code: Introduces the Lag Switch subsystem for when a smoother experience is worth trading a few bells and whistles for. Performance enhancement measures can be togged by admins with the Show Lag Switches admin verb or enabled automatically at a pop amount set via config.
config: Added a new config var: number/auto_lag_switch_pop

* Drastic Lag Mitigation Subsystem: SSlag_switch

* mirrored the changes to the modular file

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:24:16 +02:00
SkyratBot
af778bae0a [MIRROR] Fixes a good few improper overlay icon_states, fuck gun code edition (#6774)
* Fixes a good few improper overlay icon_states, fuck gun code edition

* Update rifle.dm

* Update laser.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:11:58 +02:00
SkyratBot
c7cab95593 [MIRROR] Rust Component / Wirebrush Rust Remover (#6778)
* Rust Component / Wirebrush Rust Remover (#59977)

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

* Rust Component / Wirebrush Rust Remover

* Revert "[modular] wirebrush (#6521)"

This reverts commit 4f87b970f4.

* Makes the advanced wirebrush not critfail anymore.

Co-authored-by: Matthew J <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:06:22 +02:00
SkyratBot
2962992e71 [MIRROR] CARP Team Six: Nanotrasen's Finest* (#6769)
* CARP Team Six: Nanotrasen's Finest* (#60012)

* CARP Team Six: Nanotrasen's Finest*

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2021-07-07 23:52:09 +02:00
SkyratBot
f6f7a738d7 [MIRROR] C4 suicide phrases, but it's on the datum now (#6765)
* Rework C4 suicide phrases to be on the antagonist datum; add more phrases (#60029)

Fun fact. Did you know the C4 has special suicideverb phrases for most antagonists? That is, most antagonists. This adds a bunch in because someone noticed Heretic didn't have one special, and I noted quite a few minor antagonists didn't either.

The suicide cry phrases are now on the antag datum instead of in the if/else chain.

* C4 suicide phrases, but it's on the datum now

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-07-06 23:06:31 +01:00
SkyratBot
1168d499d9 [MIRROR] Fix blob overmind spawns (#6752)
* Fix blob overmind spawns (#60031)

* Fix blob overmind spawns

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-07-06 17:39:13 +01:00
SkyratBot
fe4378a8df [MIRROR] Non-changeling spawned headslugs now burst non-antag changeling variant again (#6735)
* Non-changeling spawned headslugs now burst non-antag changeling variant again (#59944)

* Non-changeling spawned headslugs now burst non-antag changeling variant again

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-07-05 15:55:04 +01:00
SkyratBot
a3d80c3f15 [MIRROR] makes the light eater a mining tool (#6711)
* Make the light eater a mining tool (#59985)

what the title says, light eater can now pick rocks

ive had a lot of rounds as admin on kilo/tram where i have to give them this so they arent stuck in gay baby jail forever

* makes the light eater a mining tool

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-07-04 22:15:07 +01:00
SkyratBot
b3b3728cc8 [MIRROR] Documents antag_datum.dm (#6700)
* Documents antag_datum.dm (#59967)

Co-authored-by: AnturK <AnturK@ users.noreply.github.com>

* Documents antag_datum.dm

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: AnturK <AnturK@ users.noreply.github.com>
2021-07-04 16:30:44 +01:00
SkyratBot
f2341fd2b5 [MIRROR] Remove unused hivemind powers and supression (#6685)
* Remove unused hivemind powers and supression (#59911)

- BZ metabolites no longer mute changeling hiveminds, because changeling
  hiveminds no longer exist.
- Removed code for two unused changeling powers, Hive Channel DNA and
  Hive Absorb DNA.

* Remove unused hivemind powers and supression

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-07-03 22:25:13 +01:00
SkyratBot
bea8d72e71 [MIRROR] Adds blob as a midround antag like midround traitors, where it does not require a ghost role (#6661)
* Adds blob as a midround antag like midround traitors, where it does not require a ghost role

* Update dynamic.json

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-03 01:17:50 +01:00
SkyratBot
df368692c6 [MIRROR] Removes reference to intents from Martial Arts instructions (#6654)
* Removes reference to intents from Martial Arts instructions (#59921)

In CQC, Plasma Fist, Sleeping Carp and Wrestling instructions verb:
Harm -> Punch
Disarm -> Shove

Also removed reference to intents from the changeling's tentacle grab, changing it to neutral/combat stance.

* Removes reference to intents from Martial Arts instructions

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-02 17:12:09 +01:00
SkyratBot
d859f6d482 [MIRROR] Makes it so changeling legs copy digitigrade/normal, try number 2 (#6641)
* Makes it so changeling legs copy digitigrade/normal, try number 2 (#59832)

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

* Makes it so changeling legs copy digitigrade/normal, try number 2

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-07-01 22:58:45 +01:00
SkyratBot
9248d7663d [MIRROR] Fixes being able to sacrifice pAI's (#6632)
* Fixes being able to sacrifice pAI's (#59905)

* Fixes being able to sacrifice pAI's

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-07-01 22:57:04 +01:00
SkyratBot
cab78dcf78 [MIRROR] Changes how weather sends sound to players, reduces sound loop overtime (#6627)
* Changes how weather sends sound to players, reduces sound loop overtime (#59284)

* Converts looping sounds from a list of play locations to just the one

* Updates all uses of looping sounds to match the new arg

* Adds an area based sound manager that hooks into looping sounds to drive the actual audio. I'll be using this to redo how weather effects handle sound

* Some structrual stuff to make everything else smoother
Timers now properly return the time left for client based timers
Weather sends global signals when it starts/stops
Looping sounds now use their timerid var for all their sound related timers, not just the main loop

* This is the painful part
Adds an area sound manager component, it handles the logic of moving into new areas potentially creating new
sound loops. We do some extra work to prevent stacking sound loops.
Adds an ash storm listener element that adds a tailored area sound manager to clients on the lavaland z level.
It's removed on logout.
Adds the ash_storm_sounds assoc list, a reference to this is passed into area sound managers, and it's modified
in a manner that doesn't break the reference in ash_storm (This is what I hate)

* Hooks ash storm listener into cliented mobs and possessed objects

* Documents the odd ref stuff, adds an ignore start var to looping sounds, fixes some errors and lint issues

* Applies kyler's review

banging

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

* Cleans up some var names, reduces the amount of looping we do in some areas

* Makes the code compile, redoes the movement listener to be more general

* fuck

* We don't need to detach on del if we're just removing signals on detach

* Should? work

* if(direct) memes

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

* Changes how weather sends sound to players, reduces sound loop overtime

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2021-07-01 02:18:04 +01:00
SkyratBot
447216bd91 [MIRROR] Cannabis has more believable effects (#6560)
* Cannabis has more believable effects

* Update cannabis.dm

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-30 20:20:30 +01:00
SkyratBot
6c7b083333 [MIRROR] Fix hand teleporter and other portals looping forever (#6598)
* Fix hand teleporter and other portals looping forever (#59894)

Makes portals use Bumped() instead of COMSIG_ATOM_ENTERED for detecting atoms crossing the event horizon.

Removes unused and potential loop causing forceMove argument from do_teleport()

* Fix hand teleporter and other portals looping forever

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-06-30 01:58:39 +01:00
SkyratBot
a97931c7e1 [MIRROR] Cyborg Cult Sacrifice Fix (#6565)
* Cyborg Cult Sacrifice Fix (#59675)

This PR fixes cyborgs' interactions with Cult's offer rune. Before this PR, the game would attempt to sacrifice the cyborg and put its mind into a soulstone by handing it over to a method that was incapable of doing so, thus creating an empty soulstone and permanently removing the cyborg from the round as a result. Now, attempting to offer a cyborg on an offer rune provides the first activator with an option of any construct to turn the cyborg into, and turns them into that when chosen, similar to how twisted construct operates but without the wait time.

Also moves cult construct list into global vars, renames THEME_CULT into THEME_FAKE_CULT and adds a real THEME_CULT for actual cult constructs, and added another proc to handle the class switching.

* Cyborg Cult Sacrifice Fix

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2021-06-28 14:17:05 +01:00
SkyratBot
4b2fb13608 [MIRROR] Fix obsessed antags not getting policy string output to chat. (#6563)
* Fix obsessed antags not getting policy string output to chat (#59839)

* Fix obsessed antags not getting policy string output to chat.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-06-28 14:16:19 +01:00
SkyratBot
9c861af7b7 [MIRROR] Greyscale Mat Datum Stationary Smooth Tanks (#6544)
* Greyscale Mat Datum Stationary Smooth Tanks

* Update icon_smoothing.dm

Co-authored-by: Emmett Gaines <ninjanomnom@protonmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:37:32 +01:00
SkyratBot
4a800a8c89 [MIRROR] Reverting Blob Buffs Made on a Refactor PR (#6531)
* Reverting Blob Buffs Made on a Refactor PR

* Update _blob.dm

* Update blob_defines.dm

Co-authored-by: Beatrice <83368538+SpaceDragon00@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:30:03 +01:00
SkyratBot
79c3c379b9 [MIRROR] Fix missing SIGNAL_HANDLER (#6552)
* Fix missing SIGNAL_HANDLER (#59826)

Adds SIGNAL_HANDLER to everywhere that didn't have it that was picked up by dm-lua, which is now ready enough to catch these.

* Fix missing SIGNAL_HANDLER

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-27 16:16:04 +01:00
SkyratBot
665fe76566 [MIRROR] Modifies right click logic so that it is not the same priority as modifier keys. (#6498)
* Modifies right click logic so that it is not the same priority as modifier keys. (#59656)

Strips out the existing right click code - Due to the myriad of ways right clicking has been implemented, dedicated signals and procs for right clicking without modifiers are fundamentally incompatible with our system of primary and secondary attacks.

Adds additional signals to attacking code. These signals allow atoms to cancel the attack chain early on secondary attacks, or override the standard procs and not send signals to prevent any undesired behaviour from signal handlers.

Items that used RightClick procs have been converted to attack_hand_secondary.

The slaughter demon, having its own set of snowflake code as poor OOP principles have been applied in UnarmedAttack() procs with lacking calls to parent procs and arbitrary redefinition of behaviour, checks for a right click in its own UnarmedAttack() and performs a bodyslam off that.

Storage components now hijack the secondary attackby stage via signals to handle their opening and closing shortcuts on right click. When you right click a storage component equipped item with an object in your active hand, the object has an opportunity to perform its logic in pre secondary attack code and cancel the attack chain. If it does not cancel the attack chain in pre-attack, then the storage component takes over for attackby and, if possible, opens the relevant inventory and ends the attack chain.

The forensic scanner is a proof-of-concept of this working in action. With its scan logic moved from afterattack code to pre attack code for right clicking, right clicking with the scanner will now perform a scan where previously one was impossible. Left clicking still does what it always does - Scans at the very end of the attack chain.

The logic still isn't perfect - For example, you still can't attack containers in melee even in combat mode (you'll either open them or put your weapon into them regardless of which option you choose) - But this is a better setup overall which allows for items to at least override this behaviour in pre-attack if needed.

* Modifies right click logic so that it is not the same priority as modifier keys.

* a

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:10:15 +01:00
SkyratBot
73fdf1fa20 [MIRROR] Integrates spider eggs into the mob spawners (#6502)
* Integrates spider eggs into the mob spawners

* Update corpse.dm

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:01:04 +01:00
SkyratBot
a14b1dadb5 [MIRROR] CanPass refactor (#6527)
* CanPass refactor (#59804)

* CanPass refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-06-25 22:33:51 +01:00
SkyratBot
c7a8e18db6 [MIRROR] Ghoul Moodlet + Max HP fix (#6497)
* Ghoul Moodlet + Max HP fix (#59682)

Adds ghoul moodlet.
Fixes a undocumented issue with ghouls dying and being revived with 25/50 max health.

* Ghoul Moodlet + Max HP fix

Co-authored-by: eeSPee <robotdevilinside@gmail.com>
2021-06-24 23:02:48 +01:00