Commit Graph

724 Commits

Author SHA1 Message Date
SkyratBot dbb6c5fba4 [MIRROR] Adds non-clothing item equipping others feedback messages [MDB IGNORE] (#19881)
* Adds non-clothing item equipping others feedback messages (#73982)

## About The Pull Request
Things like pens weren't giving any feedback messages when you put them
on someone else, and I ran into this while working on another PR so I've
dealt with that

Renames `worn_dangerous` to `show_visible_message` as it was only used
to confirm if there would be visible messages or not
The `DANGEROUS_OBJECT` clothing flag is a trait now, so it can be put on
non-clothing items too
Removing non-clothing items from someone has been unchanged.

## Why It's Good For The Game
People should be able to identify that someone is putting something on
them, and recognize what that is if they pay attention.
This means that a player cannot reverse pickpocket a grenade onto
someone else without giving any indication of doing so

## Changelog

🆑
balance: Putting a non-clothing item onto someone else creates a visible
message the same way a clothing item would.
/🆑

* Adds non-clothing item equipping others feedback messages

---------

Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
2023-03-25 23:28:13 -07:00
SkyratBot a3f22bdcb0 [MIRROR] Adds the Janitor access keyring [MDB IGNORE] (#19993)
* Adds the Janitor access keyring

* skyrat edits

* changelog

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-20 11:11:04 -07:00
SkyratBot 763c0c5eb7 [MIRROR] Reworks trashbags slightly [MDB IGNORE] (#19864)
* Reworks trashbags slightly

* fex

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-15 18:38:27 -07:00
SkyratBot f7e6ea19e1 [MIRROR] Removes bug room objective, Reworks primary objective and steal objectives. [MDB IGNORE] (#19819)
* Removes bug room objective, Reworks primary objective and steal objectives.

* ???

* fix

* Delete bug_room.dm

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-15 00:47:07 +00:00
Dani Glore cc3459ed86 Add: More Monkey Clothes (#19164)
* Change monkey clothing DMI path to skyrat file

* Add supports_variations_flags = CLOTHING_MONKEY_VARIATION to several uniforms

* Correct colors of util_eng and add missing util_com

* Adding missing security_white and security_blue sprites, updated utility uniforms

* Add missing waiter sprites

* Changing color jumpsuit typepath

* Add conditional for greyscale_config_worn_monkey

* Add worn_icon_monkey support to changelings

* Add GAGS for monkeys to /obj/item/update_greyscale()

* Add greyscale_configs for monkey jumpsuits

* Add worn_icon_monkey and greyscale_config_worn_monkey vars to /obj/item

* Add get_custom_worn_icon and set_custom_worn_icon for monkey species

* Add monkey support to prison jumpsuit

* Adding missing placeholder sprite for adjusted monkey jumpsuit, added missing overlay icon for monkey prison jumpsuit

* Add monkey greyscale_config to /obj/item/clothing/under/color

* Adding adjusted jumpsuit sprite and prison jumpsuit sprite overlay

* Remove BODYTYPE_CUSTOM Monkey hacks

* Relocating override

* Moving overrides to proper locations

* Adding missing CLOTHING_MONKEY_VARIATION bitflag to definitions list

* Relocating overrides to better files, adding missing sprite accessory for adjusted jumpsuit

* Adding custom_worn_icons override var to /datum/species/monkey

* Resetting redsec uniform supports_variations_flags to whats expected

* Relocating more overrides to appropriate folders
2023-03-10 18:05:09 +00:00
SkyratBot 0b17600cce [MIRROR] Forcing an embed means that it will always happen (Effects trapped posters, accidental consumption, and bullet shrapnel) [MDB IGNORE] (#19740)
* Forcing an embed means that it will always happen (Effects trapped posters, accidental consumption, and bullet shrapnel) (#73729)

## About The Pull Request

Addresses #73105
I confidently asserted in the issue that the current behaviour was not a
bug, but lo and behold when I went to investigate this on March 1st what
did I find... a bug! Force embed actually never worked in the first
place because the passed arguments were in the wrong order. Now they are
named, so the order doesn't matter any more.
Also there was an argument called "silent" which did literally nothing,
I just deleted it.

Sending the force flag will now mean that the forced embed _always_
embeds unless it is literally impossible. The only other place this
effects is when you accidentally eat glass, so a similar case to this
one.

While I was in there, I made posters _very slightly_ more discerning
about what gloves block glass. Unfortunately there's no widely applied
and useful trait like `THICK_MATERIAL` for gloves so I mostly just
exluded latex and fingerless gloves... but that's better than nothing.

Anyway now if you bother to place a glass shard inside a poster and
someone tries to pull it down and they're not wearing thin or fingerless
gloves it will _always_ embed in their hand.

Oh and I put some balloon alerts in there.

**Unrelatedly to this change** fixing this seems to also fix an ancient
bug where bullet shrapnel would roll its embed chance twice in a row,
meaning that it had an (x/100)^2% chance of applying rather than an
(x/100)% chance, significantly less than written.
It is weird for that to go in this PR, but seems to be an effect of
fixing this bug? Not sure there's a way of not fixing both at the same
time.

## Why It's Good For The Game

You go to the effort of putting a glass shard behind a poster (the only
way to associate your own fingerprints with the deed) and are lucky
enough that the person who pulls it down isn't wearing gloves (almost
everyone does) and it _still_ only has a 50% chance to embed the glass?
The trap should work at least _some_ of the time.

## Changelog

🆑
fix: Something which is "forced" to embed will now always actually
embed. Resultingly, accidentally swallowing glass or encountering it
behind a poster without adequate protection will now always cause it to
embed into your body.
balance: Thin and fingerless gloves may no longer protect you from
having glass in your hand after pulling down a poster
fix: Bullets containing shrapnel now use their correct chance to embed,
which may cause bullet wounds to contain shrapnel more frequently.
/🆑

* Forcing an embed means that it will always happen (Effects trapped posters, accidental consumption, and bullet shrapnel)

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-09 20:28:05 +00:00
SkyratBot 6dc0ad75f8 [MIRROR] A worn item which has its color changed (such as by a slime potion) with now have its color change reflected on mobs. [MDB IGNORE] (#19544)
* A worn item which has its color changed (such as by a slime potion) with now have its color change reflected on mobs. (#73627)

## About The Pull Request

If I'm wearing an outfit and use a slime fireproof potion on it at
present it wont become blue until taking it off and putting it back on
again, this PR makes it so it changes immediately. Also means if an
admin VVs the color value of a worn item its icon worn color will update
to reflect this change immediately.
## Why It's Good For The Game

Bugfix!
## Changelog
🆑
fix: Any worn item that has its color changed will now have its color
change reflected on the item's worn icon immediately.
/🆑

* A worn item which has its color changed (such as by a slime potion) with now have its color change reflected on mobs.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-02-26 15:24:34 -05:00
SkyratBot a2cb8c5c0c [MIRROR] Completely removes do_mob and do_after_mob [MDB IGNORE] (#19126)
* Completely removes do_mob and do_after_mob

* update modular

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-02-19 19:19:50 +00:00
SkyratBot 2d468e9c2d [MIRROR] Implements functionality for variable weapon attack and secondary weapon attack speeds. [MDB IGNORE] (#19048)
Implements functionality for variable weapon attack and secondary weapon attack speeds. (#72959)

## About The Pull Request
The click cooldown after attacking with a weapon can now be controlled
with a var. A var can also be set for secondary attack cooldown, if
unset it is the same as the weapon's normal attack speed.

The two weapons who already had hardcoded mechanics to achieve this
effect (see: The Stinger, Hyper Frequency Blade) have been converted to
this system.
## Why It's Good For The Game
Future varying of weapon qualities and admin shenanigans.
## Changelog
🆑
code: Greater support for variability in weapon attack speed 
admin: Admins are now able to grief you by hitting you with a toolbox 10
times in one second.
/🆑

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
2023-01-31 13:54:11 +00:00
SkyratBot 18dc1abc43 [MIRROR] Refactor lighting items that use fuel [MDB IGNORE] (#18545)
* Refactor lighting items that use fuel (#72146)

Fixes #71826

This does the following:
- Makes candles a subtype of flare
- Fixes candles having lighting inconsistencies
- Fixes burning items (welder, candles, flares, etc.) not causing
ignition effects when held in hand
- Adds burnt flares and melted candles to maint loot and trash spawners
- Add match lighting sound when candles are lit
- Add time defines for fuel amounts and rounded them (ex. instead of
32.3333 minutes, it's now 35 minutes)
- Light sources that burn will now spawn a trash item once fuel is spent
- Light sources that burn now have a welder hitsound
- Light sources that burn can now be extinguished by a fire extinguisher
(except flares)
- Light sources that burn can now be used to ignite another object on
fire (ex. a lit candle can be used to light a cigarette)
- Light sources that burn and are lit now do `BURN` damage while
attacking

Code is more cleaner and consistent.  Also fixes some bugs.

🆑
soundadd: Candles will now use the match lighting sound when lit
soundadd: Light sources that burn will now have a welding hitsound
fix: Fix candle light behaving erratically
fix: Fix burning items that are held in hand will now have an ignition
effect on the turf. (ex. lit welders in hand will now ignite plasma in
the air)
balance: Light sources that burn and are lit now do `BURN` damage while
attacking
balance: Light sources fuel amounts were rounded to exact numbers (ex.
instead of 32.3333 minutes, it's now 35 minutes)
qol: Light items that burn can now be extinguished by a fire
extinguisher (except flares), used to ignite another object on fire, and
will now leave a trash item once fuel is used
qol: Add burnt flares and melted candles to trash spawners
refactor: Refactor lighting items that use fuel to be more robust
/🆑

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

* Modular!

* Toggle Light

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-01-17 14:37:02 +13:00
SkyratBot 509b89f45c [MIRROR] Contextual tutorials for swapping hands and dropping items [MDB IGNORE] (#18604)
* Contextual tutorials for swapping hands and dropping items

* Fixes

* Oops

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2023-01-10 14:26:08 +01:00
SkyratBot 574cc85a3c [MIRROR] you can now flip eyepatches + blindfolds mix eye colors [MDB IGNORE] (#18152)
* you can now flip eyepatches + blindfolds mix eye colors

* Fixes our eye-swapping stuff for the most part (I didn't gut out everything yet, but it's functional)

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-09 15:10:08 -05:00
SkyratBot 36bc850a11 [MIRROR] fixes silly stuff about basic mobs [MDB IGNORE] (#18368)
* fixes silly stuff about basic mobs

* merge conflicts, also apply upstream 72120

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 06:00:48 -05:00
SkyratBot 5c6c91144c [MIRROR] Changes the missing food icon test to cover ALL /obj's [MDB IGNORE] (#18139)
* Changes the missing food icon test to cover ALL /obj's

* Update implant.dm

* Hopefully fixes all the failing integration tests!

* Fixes more missing icons

* Even more icon fixes

* Hopefully that was all of them

* Okay now SURELY that's all of them

* I'm tired of this shit man

* Hopefully that's all, for real this time!

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-12-28 19:30:05 -05:00
SkyratBot df737af4a0 [MIRROR] *hand, or That /One/ Emote You Always Felt Was Missing [MDB IGNORE] (#18200)
* *hand, or That /One/ Emote You Always Felt Was Missing (#71600)

## About The Pull Request
It's happened to me _repeatedly_ that I'd see someone down on the floor,
and wanted to just, give them a hand, so they could take it and get up
that way, without just, directly clicking on them, since that's a little
bland. I've also wanted to just, offer my hand to someone so they could
grab it, so that I could pull them alongside me, rather than just
targeting one of their arms and ctrl-clicking them.

I've had this idea for a _long_ time, and only just decided to do this
today.

Now, I know what you might say. "Golden, that's a lot of code for
something this simple!" You're not wrong. _However_. I decided to go
along and to give some more love to the `/datum/status_effect/offering`
status effect and the offering-related alerts, to make them a lot more
versatile and a lot less hardcoded. Hence the whole "refactoring" part
of this.

Of course, when I add something, I don't do it half-way. So, the way the
emote works is much like the `*slap` emote, except that:

- When you click on someone, it does the exact same as if you were
offering the item to them, except that it's targeted (much like
ctrl-shift-click).
- If there's nobody directly adjacent to you, it won't do anything.
- If there's at least one person lying down around you, you will offer
them your help to get up. Should they take your hand and let you help
them up, you will both receive a simple memory about being helped up (or
helping up), as well as a 45-seconds-long small mood buff, because it
feels nice to be on either end of such a friendly gesture. If they get
up, they automatically get disqualified from being offered some help
standing up, and likewise, if you lie down, that offer goes away as
well.
- If there's at least one person around you, you will instead extend
your hand in their direction, for them to grab onto it. Should they do
so, you will then grab them by their arms and pull them.

I reworked the offering status effect to no longer have a hardcoded
`can_hold_items()` check, so that kisses and the hand offering would no
longer need you to have free hands to complete. The logic here is that
you can still pull someone even with both hands filled, so I figured I'd
leave it this way.

Note: If anyone would like to give the item a better sprite, by all
means, go ahead, that'd be amazing. I'm just not really a great spriter
and couldn't be bothered to waste hours making a very _meh_ hand.

## Why It's Good For The Game
It's fluff, and nice fluff at that. It makes it easier for people to be
nice to one-another without having to necessarily spend so long writing
up an emote that the person on the floor will already have gotten back
up. I'm sure the MRP folks will like it, and I'm certain the HRP
downstreams will love it too ;)

## Changelog

🆑
add: Added the *hand emote, which you can offer to someone standing up
in order to give them the possibility to grab onto your hand and let you
drag them away, or to someone lying down to help them back up, which
always makes everyone involved a little happier!
refactor: De-hardcoded and genericized a lot of the offering status
effect and alert code, to make it require a lot less copy-paste to
handle new cases.
fix: Offering a kiss no longer requires the receiver to have free hands
to accept said kiss!
/🆑

* *hand, or That /One/ Emote You Always Felt Was Missing

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-12-20 21:28:44 -05:00
SkyratBot 15faaa54f5 [MIRROR] Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. [MDB IGNORE] (#17907)
* Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons.

* conflicts

* Modular!

* update modular

* icon icon icon icon icon

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-12-16 16:01:41 +00:00
SkyratBot fa9d8869e1 [MIRROR] Moves flick_overlay to atom instead of being global [MDB IGNORE] (#17529)
* Moves flick_overlay to atom instead of being global (#71045)

## About The Pull Request
Moves flick_overlay and flick_overlay_view to atom instead of being a
global proc
## Why It's Good For The Game
General performance and syntaxical improvements, makes it easier to
retrieve iconstates
## Changelog
🆑
fix: flick_overlay is an atom proc
/🆑

Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Moves flick_overlay to atom instead of being global

* modular flick

Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-17 17:26:07 -08:00
Zonespace f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot b5bd312379 [MIRROR] Add investigate_deaths [MDB IGNORE] (#17424)
* Add investigate_deaths

* merge changes other than giant_spider which deps on tg/70848

* gib

* dust

* death

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-11 14:44:33 -05:00
SkyratBot f6f454be72 [MIRROR] randomizes the pixel offset of stuff when it comes out of a microwave [MDB IGNORE] (#17395)
randomizes the pixel offset of stuff when it comes out of a microwave

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-09 14:16:50 -05:00
SkyratBot 9e9b09d90b [MIRROR] Chefs can now kiss food they make to make it with love. (And a lot of cooking refactoring) [MDB IGNORE] (#17334)
* Chefs can now kiss food they make to make it with love. (And a lot of cooking refactoring)

* update from master and fix conflicts

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-11-09 17:49:35 +00:00
SkyratBot ffb2324b0c [MIRROR] Adds unit test for items that can be equipped to suit storage slots that are missing sprites [MDB IGNORE] (#17195)
* Adds unit test for items that can be equipped to suit storage slots that are missing sprites (#70643)

* Adds unit test for items that can be equipped to suit storage slots that are missing sprites

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 22:03:07 -04:00
SkyratBot 59dc5c36b7 [MIRROR] Cleans up the fallout from plane cube [MDB IGNORE] (#17003)
* Cleans up the fallout from plane cube (#70235)

* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate

* Cleans up the fallout from plane cube

* liquid tweaks

* oop

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:05 -04:00
SkyratBot 3bf620006b [MIRROR] Moves cleaning to an atom proc to afterattack signal [MDB IGNORE] (#16813)
* Moves cleaning to an atom proc to afterattack signal

* Fixing conflict!

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-10-12 14:49:04 -04:00
SkyratBot 3eecf2fbb9 [MIRROR] Put clothing on people by clicking on them with clothing inhand + targeting correct area. [MDB IGNORE] (#16724)
* Put clothing on people by clicking on them with clothing inhand + targeting correct area. (#69560)

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

* Put clothing on people by clicking on them with clothing inhand + targeting correct area.

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-10-09 23:05:57 +01:00
SkyratBot 2847b2b37e [MIRROR] [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons [MDB IGNORE] (#16649)
* [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons

* cf

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 22:36:07 +01:00
RimiNosha f58cf51ae4 [MODULARIZING] Partial Refactoring of Organic Interface Code (#16019)
This took a long time to review, but at long last, it's done.

* HUD clutter, good bye, you will not be missed.

* Oh my god so much pain

* No commented code. Bad.

* Uwaaaa

* Add a couple of warning messages for common scenarios, use defines

* AAAAA

* AAAAAAAAAAA

* UWAAAA

* UUUUWAAAA, DOCUMENTED SNOWFLAKE CODE

* FUCK

* Apply suggestions!

* Apply suggestions part one!

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Apply suggestions part two!

* Static list

I think this is how it works, it compiles, sooo

* Split the giga monolith that's known as technical_stuff_for_lewd into two parts, human_helpers, and whatever else isn't a human helper. Also add a helper proc for mass update_inv on organic interface slots.

* I can't believe you did this

* Did you know that organic interface code didn't clean up it's defines? Neither did I!

* Less ifs

* Apply last suggestion that I know how to

* That was a lie

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

I HAVEN'T EVEN TOUCHED THE WORST CODE

* Oops

* Pain

* No copypaste

* Proc is 🦀

* No, bad, no commenting code.

* List prittification for chems, reduces the sheer amount of update_body calls

* Allow non-lewd empath users to not have to suffer raunchy inspect messages

* Oop

* DEEEEEEEEEEEEFINES

* Oh yea, that review. Definitely remembered.

* Formatting

* Breast defines

* MUCH cleaner and MUCH MUCH EASIER to expand incubus draft code

* Credit myself if I'm gonna spend days of my time combing through this

* Oops

* Chems cleanup

* Whyyyyyyy

* Climax rework, suffering.

* Wtf is this name

* Oh yea, arousal clamping.

* Haha, oops

* Bad, this is stupid easy to modularize

* Why is body_size in here

* List formatting, grammar stuff, and also breast size is now letters

* This took too long for me to figure out and I'm not proud

* Even I can make shitcode!

* Oops, typo

* You know, this makes more sense.

* Mhhh, this shouldn't be named like this

* Wrong file

* Rename `adjustPain`

* Dead code go yeet

* Y U NO READ DOCS

* Doc proc, minor optimisation

* Reviews part 1

* Whoever made this should read good coding practices. For any language.

* DEEEEFINNNEEEEESSSS

* SUFFER

* No more fluids

* EEEEEEEEEEE

* AAAAAAAAAAAAAAA

* MOB IS 🦀

* AAAAAAAAAAAAAAAAAA

* AAAAAA

* UWA

* And also solve tastfish's reviews!

* Partial revert, cause DM hates that

* I am very smart

* EEE

* AAAAAA

* Haha keyboard go click clack

* CODE

* FUCK

* FUUUUUCK

* PERFORMANCE

* Reset horny to 0 if erp disabled

* Arousal minimum is now 0, cause negatives are dumb and I hate them

Also cuts out some code that isn't needed as far as I can tell.

* Apply suggestions!

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* AAAAA

* AAAAAAAAAA I CAN'T CODE

* Aaaaa

* WHY GIT

* I am very smart part... uh, four?

* Minor formatting changes

* Oops, fix potential cause of multiple climax attempts

* WAIT, WHY AREN'T YOU USING THE DEFINE?!

* Magic number slightly less magicky, sorta.

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-10-04 11:06:12 -04:00
SkyratBot 9bf006d189 [MIRROR] Multiz Rework: Human Suffering Edition (Contains PLANE CUBE) [MDB IGNORE] (#16472)
* Multiz Rework: Human Suffering Edition (Contains PLANE CUBE)

* skyrat changes

* bodyparts merge

* unres door floorlight fix

* Future upstream fix for blindness

* upcoming upstream airlock fix

* fix button emissive

* Fix FOV markings?

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-02 23:30:09 -04:00
SkyratBot 586b1d4fcb [MIRROR] Baguette swords make proper sounds and are toggled from left clicking the baguette, not right click [MDB IGNORE] (#16527)
* Baguette swords make proper sounds and are toggled from left clicking the baguette, not right click

* Update code/_onclick/item_attack.dm

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-29 22:45:55 -07:00
SkyratBot 32db6d2411 [MIRROR] Properly checks flags with & instead of == [MDB IGNORE] (#16487)
* Properly checks flags with & instead of ==

* merge fixed for changeling

* skyrat equipment updated

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-09-28 16:38:59 -04:00
SkyratBot 47a6316b32 [MIRROR] Removes persistence of items through changing species when not allowed to [MDB IGNORE] (#16356)
* Removes persistence of items through changing species when not allowed to

* fixes racist clothing

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-24 16:56:35 -04:00
SkyratBot 1b7f17f107 [MIRROR] [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) [MDB IGNORE] (#15801)
* [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1)

* Fixes all the conflicts and all of our modular files using core icon files with broken paths

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-08-28 15:11:04 -04:00
SkyratBot a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot 70b4a01a17 [MIRROR] Cleans up update_icons, makes the update_icon_updates_onmob element bespoke, updates CODEOWNERS [MDB IGNORE] (#15673)
* Cleans up update_icons, makes the update_icon_updates_onmob element bespoke, updates CODEOWNERS

* Update CODEOWNERS

* Cleans up update_icons, makes the update_icon_updates_onmob element bespoke

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-08-18 17:20:48 +01:00
SkyratBot ae708cd7b5 [MIRROR] Removes ComponentInitialize() [MDB IGNORE] (#15552)
* Removes ComponentInitialize()

* Fixes a leftover merge conflict marker

* Fixes the oversight that came from the upstream merge skew

* Fixes all of the instances where we used ComponentInitialize() when we shouldn't've been

* Fixes CI being broken because of the HEV suits

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-12 19:05:09 -04:00
SkyratBot b1bd40e760 [MIRROR] [MDB Ignore][Bounty][Complete Refactor] Papercode Redux: Too Many Damn Files <Map Conflict Edition> [MDB IGNORE] (#15362)
* [MDB Ignore][Bounty][Complete Refactor] Papercode Redux: Too Many Damn Files <Map Conflict Edition>

* Fixes merge conflicts and compilation errors, alongside fixing the joker card to make it fully functional again

* Fixed a bunch of info variables in map files

* Alright this is why I wanted this merged yesterday

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-04 15:50:15 +01:00
SkyratBot 83665417d2 [MIRROR] Replaces GetComponent in Mining items with Signalers [MDB IGNORE] (#15221)
* Replaces GetComponent in Mining items with Signalers (#68575)

* Replaces many instances of GetComponents in mining items with signals and better uses overall of Components, in drills and the GPS handcuffs.
* To do this, also added 3 new signals to mechs when you are adding/removing mech equipment onto one.

* Replaces GetComponent in Mining items with Signalers

Co-authored-by: Salex08 <33989683+Salex08@users.noreply.github.com>
2022-07-28 11:45:29 -07:00
SkyratBot f61a5053ae [MIRROR] Pointing at something on yourself now shows the item [MDB IGNORE] (#15174)
* Pointing at something on yourself now shows the item (#68642)

Why It's Good For The Game

Further reducing reliance on reading the chat box. Previously it wasn't obvious someone pointing at themselves was pointing at something on them, and not just, them.
Changelog

cl
qol: Pointing at something on yourself now shows the item.
/cl

* Pointing at something on yourself now shows the item

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-07-25 00:01:13 +01:00
Tastyfish 2209d6f9f8 Adds GAGs jumpsuit/jumpskirt and prisoner outfits for Vox Primalis (#14816)
* Adds GAGs jumpsuit/jumpskirt and prisoner outfits

* Update vox primalis screenshot
2022-07-19 23:36:28 +01:00
SkyratBot 663ce0fe54 [MIRROR] Fixes runtime when mousing over items in nullspace [MDB IGNORE] (#15024)
* Fixes runtime when mousing over items in nullspace (#68507)

* Fixes runtime when mousing over items in nullspace

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-07-18 22:17:34 +01:00
magatsuchi 4f9df17cb1 [FIXED MIRROR] Tsu's Brand Spanking New Storage: or, How I Learned to Refactor For Skyrat (#14868)
* Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code

* Delete storage.dm

* yippee

* shit

* holy shit i am stupid

* more fixes

* fuck

* woops
2022-07-17 21:16:59 -04:00
SkyratBot a9dc63f1dd [MIRROR] Makes silver spawned food actually disgusting [MDB IGNORE] (#14865)
* Makes silver spawned food actually disgusting (#68319)

Fixes silver spawned food not tasting disgusting by sending a signal to the Edible component to make it disgusting.

* Makes silver spawned food actually disgusting

Co-authored-by: Salex08 <33989683+Salex08@users.noreply.github.com>
2022-07-13 16:01:47 +01:00
SkyratBot c68fea7cba [MIRROR] Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. [MDB IGNORE] (#14666)
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.

* our changes

* yes

* 0

* Update blackmesa.dmm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-01 20:33:30 +01:00
SkyratBot f44ab4155e [MIRROR] Ports Tau Ceti's welding animation! [MDB IGNORE] (#14311)
* Ports Tau Ceti's welding animation! (#67725)

add: welding now has an animation!

* Ports Tau Ceti's welding animation!

* wew

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-19 22:32:21 +01:00
SkyratBot d2e1be321f [MIRROR] Refactors Gunlight / Helmetlight to be a component [MDB IGNORE] (#14226)
* Refactors Gunlight / Helmetlight to be a component

* wew

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-10 20:49:38 +01:00
SkyratBot 99bdd9c71b [MIRROR] Adds the Ninja MODsuit [MDB IGNORE] (#14025)
* Adds the Ninja MODsuit

* fixes (#14034)

Co-authored-by: nevimer <foxmail@protonmail.com>

* Fixed the empty contractor outfit breaking CI

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: nevimer <77420409+nevimer@users.noreply.github.com>
Co-authored-by: nevimer <foxmail@protonmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-06-02 03:32:51 +01:00
SkyratBot a52648e0c9 [MIRROR] Fixes attacking humans, paintings and some other stuff with items causing the animation to display incorrectly [MDB IGNORE] (#13687)
* Fixes attacking humans, paintings and some other stuff with items causing the animation to display incorrectly (#66227)

Fixes #58058 (Fried items have error sprites when attacking, fried and grilled items grill the error sprite)

Attacking humans or other things that have KEEP_TOGETHER (atmos omni tanks, supplypods, paintings) with a deep fried thing will now actually show that thing instead of both that thing and an error sprite.
Attack animations for attacks against those things are no longer black.

* Fixes attacking humans, paintings and some other stuff with items causing the animation to display incorrectly

Co-authored-by: robbertapir <102324362+robbertapir@users.noreply.github.com>
2022-05-18 19:52:34 +01:00
SkyratBot c1a1683db6 [MIRROR] removes permeability, rolling it into bio armor [MDB IGNORE] (#13435)
* removes permeability, rolling it into bio armor

* e

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:16:27 +01:00
Useroth cca7f8ee4c Some missed mirrors (#13415)
* Refactors firestacks into status effects (#66573)

This PR refactors firestacks into two status effects: fire_stacks, which behave like normal firestacks you have right now, and wet_stacks, which are your negative fire stacks right now. This allows for custom fires with custom behaviors and icons to be made.

Some fire related is moved away from species(what the fuck was it even doing there) into these as well.
Oh and I fixed the bug where monkeys on fire had a human fire overlay, why wasn't this fixed already, it's like ancient.

Also changed some related proc names to be snake_case like everything should be.

This allows for custom fire types with custom behaviours, like freezing freon fire or radioactive tritium fire. Removing vars from living and moving them to status effects for modularity is also good.
Nothing to argue about since there's nothing player-facing

* Hud Image Culling By Z Level: Theft edition (#65189)

* makes hud images only apply by z level

* makes some of the atom_hud procs have better names

* fixes warning with the hud_user list and adds better documentation

* better docs for hud_images

* removes TODOs

* docs for hud_list

* adds support for linked z levels so mobs can see lower ones

* fixes merge conflict and shittily makes only shocked airlocks get added

* adds support for setting images in the hud as active and inactive

* gets rid of unatomic spatial grid change

* maybe i should actually try COMPILING my changes

* fixes merge skew and makes it compile again

* fixes huds refusing to remove from users who changed z level

* improves z level and registration logic

* fixes antag huds not appearing

* Fixes antag huds not properly setting. We now use hud_list in init, so it needs to be set before the new call, not after. Not sure why the use of appearance key was split like this, but none else knows either so none can stop me

* Ensures that hiding a basic appearance also hides the atom's active list too

* Fixes antag huds going poof

Ensures that remove_atom_from_hud will return false if the passed atom
isn't managed by it

This fixes antag huds disappearing randomly, since they assumed that if
the parent call of remove_atom_from_hud returned true, we should delete
ourselves. This is a safe assumption for them to make, since they should
only ever have one atom.

Does kinda bork if we call remove_atom_from_hud in a way that is unsure
if the passed atom is actually in that list. We were forced into doing
this by how atom huds use the qdeleting signal.

* makes basic alternate_appearance's only update themselves when setting their hud image to active and makes them not add themselves to the global huds_by_category list

* fixes mistake with hud_users list being set non associatively (bad)

* as anything in bot path loops

* Fixes merge skew problems

* Makes bot paths non global

This way they can show themselves to only the bot that "owns" them, ya
feel me?

* Fixes huds not showing up sometimes, cleans up some code

Post Kapu's limb refactor, we were calling prepare_huds twice in a human
init call chain. What was happening was this:

call prepare_huds() // Human
I gained a new hud image
I set active hud icons to mirror it
call prepare_huds() // Living
I overwrote the new hud image
I attempted to set active hud icons, which failed because it assumes
this can never happen

*cries*

* Renames add_hud_to_atom to show_to

My hope is this will make understanding hud code a bit easier, by tying
the behavior to a "verb" more closely. Also renamed a few vars

* remove_hud_from_mob -> hide_from

* Nitpicks a few comments

* Whoops/fuck/shit/damn it all/hhhhhhhhhhhh

* Moves check down, improves stack trace a bit

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

* small touch-up

* this should do it

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
2022-05-08 03:59:40 +01:00
Higgin 02cb529101 Fixes the actual issue with on-mob resprites. (#13395)
* Update reskin_defines.dm

* Update items.dm

* Update items.dm
2022-05-07 22:08:52 +01:00