Commit Graph

374 Commits

Author SHA1 Message Date
Gary Lafortune
c64fdcd6d4 REGEX REPLACE! /([\w\.]+)\.has_trait\(/ -> /HAS_TRAIT(\1, / 2019-06-01 20:55:36 -05:00
fluffe9911
2ddbcbeb27 [MANUAL MIRROR] [READY] Outputs Datum Cooldown: For Real Guys This Time (#5611) 2019-06-01 17:38:03 -05:00
yogstation13-bot
686d045761 Adds a communication remote that can send custom messages to some nanite programs 2019-05-27 11:19:35 +01:00
yogstation13-bot
67b9e6f63e [MIRROR] [READY] Yet more darkmode tweaks and fixes (#5420) 2019-05-22 21:04:40 -05:00
yogstation13-bot
010c1096b1 [MIRROR] Nukies get two kinds of shared team discounts rather than individual discounts (#5472)
* Nukies get two kinds of shared team discounts rather than individual discounts

* Nukies get two kinds of shared team discounts rather than individual discounts
2019-05-21 18:11:45 -05:00
Jordan Brown
b9b7761347 Merge pull request #44034 from ninjanomnom/squeaky-source
Adds a source var to a signal receiver that should have it
2019-05-19 21:58:10 +02:00
yogstation13-bot
0d294855c9 [MIRROR] Fixes unusual syntax. (#5406)
* can i have -Wall for dm already (#44008)
2019-05-19 14:34:33 -05:00
yogstation13-bot
0d10868e9b [MIRROR] Fixes venus human traps not respecting density, and grasping vines (#5397)
* mistakes were made (#43957)
2019-05-19 01:27:53 -05:00
Gary Lafortune
fc58f698a8 Fixes rad_examine formatting weirdness (#5363) 2019-05-08 00:02:02 -05:00
Theos
1be124cd07 Merge pull request #5053 from yogstation13/upstream-merge-43454
[MIRROR] new cargo crates & tweaks
2019-05-05 17:16:28 -04:00
1fbff5f83b23d39d38b1dfcb4cac8d9b
3016a59b97 [MIRROR] Buffs beetlejuice (#5211)
* Buff beetlejuice component (#43581)
2019-04-23 20:21:03 -05:00
1fbff5f83b23d39d38b1dfcb4cac8d9b
4a1a949f40 [MIRROR] Fixes neat/neet traits. (#5199)
* Fixes neat/neet traits. (#43561)
2019-04-23 19:57:56 -05:00
yogstation13-bot
d48811caaa [MIRROR] Fix Alt-Click to rotate soda and booze dispensers (#5077)
* Fix Alt-Click to rotate soda and booze dispensers (#43522)
2019-04-08 04:45:21 -05:00
Tlaltecuhtli
0667220fd1 new cargo crates & tweaks (#43454)
* 1

* 2

* finall pre pr

* oof

* oof

* testing merge conflict fix

* test mk2

* test mk3

* plant & chem

* bvcgr

* fixed stuff

* grammar stuff

* fixes clothing + cobby bribe

* new sprites by wjohn

* Update code/modules/clothing/suits/armor.dm

Co-Authored-By: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>

* tweaks .38 stuff

* Update code/modules/cargo/packs.dm

Co-Authored-By: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>

* nuclear option
2019-04-05 21:23:09 +01:00
AnturK
6259a6c51b Adds beetlejuice component. (#43192)
* Adds beetlejuice component.

* NAMEOF is horrible.

* Okay, this var name is better

* regex
2019-03-25 16:16:14 +01:00
Time-Green
cd787926c0 New snail sprite and fixes (#43132)
* snail sprite update and fixes

* fixes snail cure

* Fixes blood
2019-03-20 16:02:22 +01:00
tralezab
0f69bc4a8e Creep fluff completely rewritten (#42675)
* hang in there!

* Apply suggestions from code review - rewrite P1

Co-Authored-By: tralezab <40974010+tralezab@users.noreply.github.com>

* most creep > obsessed - rewrite P2

* removes creep_inlove, last edit to greet
2019-03-14 12:25:32 +01:00
oranges
35a56b92fa Turns out a bunch of components do not properly transfer because of (#42691)
one of three things.

    1. They don't use RegisterWithParent or UnregisterFromParent to unregister
       and register signals

    2. They use callbacks which refer to a source object, which is usually deleted
       on transfer, or lost in some manner, or simply makes no sense at all to be
       transferred

    3. the component was never designed to be transferred at all

TransferComponents gave no shits about any of this and just blindly transferred
all components, if they were actually capable of it or not.

I only noticed this because it was causing chairs to break as they would not register signals
and verbs correctly for rotation after being picked up and then placed down, and a player
reported that issue via ahelp.

Luckily we caught it before the rot got anywhere, only chairs and the shuttle subystem
tend to use this proc (Shuttle uses it on turfs), can you imagine if everything was using
this LMAO

Which is good because it's more dangerous than a loaded gun

I have added a can_transfer var, that is true when a component is valid to
actually transfer, which means the dev has actually thought about what happens when
you take the parent object away and swap it for another and all the crazy that is entailed
by this

I have done my best to audit what components are actually
transferable, but things are basically a hot mess (Thanks @Cyberboss )

The following components required edits:
Forensics:
did not register/deregister the clean_act signal properly, did not checkblood on new parent

Rotation:
did not use RegisterWithParent or UnregisterFromParent, turned out
to not be transferable anyway due to having callbacks that can be
passed in to the parent with unknown sources that we can't feasibly
reuse (i.e if you're transferred from a chair to a bed, your old rotation
call backs are no longer valid). Turns out the use case it was for (just chairs)
didn't need it anyway, so I just made it non valid for transfer.

Wet Floor:
Honestly this one is just a hot mess, it should be a subtype of the slippery
component with the extra wet turf handling.

As it is it basically manages a slippery component on top of it's own extra
functionality, so that's a major code smell.

I added registration/unregistration of the signals, and made it's pretransfer
remove the slippery component and the posttransfer add it back (via update_flags)

Components that seem transferable without issues
mirage_border
orbiter
decal
spill
storage (I hope to earth)
2019-03-06 19:56:49 +01:00
Time-Green
c0e0ef18e4 Adds snailpeople as a rare genetic meltdown effect (#42889)
Meant to be part of #42864 , but got a little big so I'll add it to wichever gets merged last.
[Snailcrawl demonstration](https://youtu.be/IL7WFpfRo4c)

PROS

- Gets snailcrawl, wich makes them greatly faster and gives them a lube trail

- Their blood is spacelube

- They get a cool armored nodrop snail shell

- They don't slip

CONS

- Very slow

- Punch is pathetic

- Tttaaalllkkk llliiikkkeee ttthhhiiisss

- Extremely vulnerable to salt

- Can't wear glasses

Adds gastrolisis, wich is pretty much [this](https://www.youtube.com/watch?v=lFbPi8o0OEU) spongebob episode where they slowly turn into snails

You can also get gastrolisis by random_reagent_id, so maintpills and botany

🆑
add: Adds snailpeople as a rare genetics accident.
sprite: Snailshell sprites by nickvr628
/🆑
Snailshell sprites by @nickvr628

Why: It's a silly gimmicky race and it's a rare occurence. Also extremely highly requested for some reason
2019-03-01 21:39:31 +01:00
yogstation13-bot
a5aa292361 [MIRROR] New trait: Unstable (#4623)
* New trait: Unstable

* New trait: Unstable (#42904)

* nice.

*  They exist to cease.

*  "They've got eyes inside my head!"

* frick

* unstable insanity

* Just try taking this bull by the horns. (eyeballs)

* It's a thankless job, and you'll probably die in an explosion. But the pay is pretty good.

* "The best denials are simply that: a beginning and end unchanged, a dream with no memory."

* fixes the dme

* Update negative.dm
2019-02-28 19:17:04 -05:00
yogstation13-bot
5ac1fe8d15 [MIRROR] Fixes jaunting mobs squeeking things. (#4590)
* Fixes jaunting mobs squeeking things.

* Merge pull request #42898 from ShizCalev/jaunt-squeek-fix

Fixes jaunting mobs squeeking things.
2019-02-26 21:01:36 -05:00
yogstation13-bot
507e4ae8f1 [MIRROR] Fixes crawling sounds from being played from buckled mobs (#4569)
* fix footstep sounds from being played while buckled (#42788)

Fixes the crawling sound from being played from moving buckled/mounted mobs.
## Why It's Good For The Game

Apparently I didn't catch the crawling sounds being played from buckled mobs that are moving. Examples include the Janitor on their pimpin' ride or some assistant piggy-backing off of a cyborg.

* Fixes crawling sounds from being played from buckled mobs
2019-02-25 18:24:41 -05:00
yogstation13-bot
d96ad5ba64 [MIRROR] Fix some variables with 'list' in the wrong place (#4553)
* Fix some variables with 'list' in the wrong place

* Merge pull request #42869 from AutomaticFrenzy/patch/list-order

Fix some variables with 'list' in the wrong place
2019-02-24 13:29:47 -05:00
nero1024
0b7b234955 Fixes footstep sounds for downed/lying mobs (#42704)
Nobody made a report but I noticed this issue: Downed players being dragged are playing footstep sounds, specifically the bare footstep sounds via their hands from what I noticed.

Fixes (hopefully) footstep sounds from being played from incapacitated mobs that are being moved (via dragging for example). Instead, lying mobs will play a crawling sound when moving.
## Why It's Good For The Game

Footstep sounds shouldn't be played when mobs are being dragged.
2019-02-11 10:27:41 +01:00
Militaires
b55756c5a4 [Ready] Outputs datum (#41535)
Idea and instructions by @Razharas, many thanks.

This PR only implements the framework required to catalog as well as play the sounds. Their to_chat text, and icons (if any) are not included, are to be pushed in a separate PR.

This PR does not remove the old playsound_local system, it is kept for the sake of not necessitating a direct changeover of every single playsound in the code, which will surely cause a lot of merge conflicts. It does however, replace bike horns' and toy nukes' means of playback to this datum, purely as proof of concept.

Playsound_local may remain in the code to support playback of admin-uploaded sounds that do not have an inherent datum. Playsound will likely be renamed to something else in the next PR to reflect its new, more universal function. We will see.

New process for adding sounds:

    Create a new datum/outputs subtype.
    If you wish, write down some supporting text; this gives further meaning to the sound.
    Add multiple sounds to the sounds list, and weight them as you wish. (New)
    Add a sound icon if you wish, it defaults to a generic sound circle anyways though.
    playsound(/datum/outputs/new_subtype, receiver), and it will deliver, icon, sound, and text to the receiver.

Maintaining implication is that from now on playsound should only be processing datum/outputs

This pr intends to gut to_chats that are added alongside playsounds in the code.
This pr eliminates the need to initialize sounds in a list so that you can weight them or have the game play them randomly from the list.

Sound Rings
Currently, only mobs with the audiolocation var may view them. Sound icons have an alpha that depends on the volume of the sound, louder sounds create a more opaque image

Sound rings are completely modular and may be changed to any image.

In addition to renaming playsound to reflect its new function. I intend to give blind people sound icons at the cost of their small view, but that is for another PR.

cl Basilman
refactor: refactored how sounds are stored and played
add: Added sound rings and supporting text
/cl
2019-02-03 22:24:15 +01:00
Jordan Brown
abda52c97b Merge pull request #42586 from 4dplanner/antimagic
Antimagic works again
2019-01-30 17:31:54 +01:00
tralezab
12ee6d12b8 [Ready] Happiness drug overdose has special mood icons, badass syndies get sunglasses on their moodlet, creeps get heart eyes (#42502)
* mood_event.dm

* runaway - kanye west

* didn't take forever debugging how nice

* fixes and sanity

* moods are fun
2019-01-30 12:43:41 +01:00
Trilbyspaceclone
e93c55fe25 Fixes power tool drill fitting in boots/wallet (#42476)
* Update wallets.dm

* Update pockets.dm

* Apply suggestions from code review

For when people forget how sister code works

Co-Authored-By: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com>
2019-01-24 16:39:30 +01:00
nichlas0010
bb9e4bb014 Merge branch 'master' into upstream-merge-42109 2019-01-23 22:49:10 +01:00
Jordie
33e8c6be21 Merge pull request #42382 from coiax/heirloom-observer-check
Observers can tell if an object is a family heirloom on examine()
2019-01-18 12:54:51 +01:00
coiax
66df5546ee Refactors NODROP flag into TRAIT_NODROP (#42109)
* Refactors NODROP flag into TRAIT_NODROP

🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑

Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.

I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.

- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.

* Drop location
2019-01-17 21:22:38 +01:00
Qustinnus
41ccf70a54 [ready] Golem DLC pass 2018 (Adds new golem types) (#41951)
* Bronze golem

* adds creation

ad

* removes shit adds shit

* temp

* fff

* bone, leather and cardboard

* fff

* boneyard

* temp

* ahahahha dumb moron

* adds durathread golem sprites

* reee

* ass

* Auto stash before merge of "golemgang" and "origin/golemgang"

* fix

* uuh

* d

doned

* remove dupe
2019-01-16 19:40:35 +01:00
tralezab
715192a611 [READY] New Side Antagonist: The Creep! (#42021)
cl
add: Added a new antagonist, the Creep!
add: Chosen from a random event, the Creep will become obsessed with one person, feeling amazing around them and terrible when they aren't. They will have objectives to steal heirlooms, take pictures, hug, and kill coworkers. They also have to kill the obsession but some objectives can only be completed while the obsession is alive, requiring you to protect the obsession!
/cl

There really is no reason to betray people, generally. Maybe some stuff with security and traitors working things out, but a traitor based around betrayal and the general insane creep idea is just cool.

One Creep can show up, and they get objectives to mess with their obsession leading to the obsession's death. Here is their objectives:

    A random creepy objective. It could be taking a photo with them in it, hugging them, etc
    After your are done with your objectives, kill them. you can't complete the objectives when they are dead!

Creeps do not get the determination mood. Instead, when they are around their obsession, they feel AMAZING! If they are around too long, they will stutter, cough, and generally spaghetti out when talking near their obsession. So if you are going to talk near them, do it when you aren't entranced.
2019-01-11 15:58:28 +01:00
Jordan Brown
90af6699ed Merge pull request #42196 from AutomaticFrenzy/patch/miasma
Fix miasma infecting space
2019-01-04 18:22:17 +01:00
nichlas0010
98f8713e73 Update bag_of_holding.dm 2019-01-04 02:09:06 +01:00
nichlas0010
39552f03c7 Merge pull request #4029 from yogstation13/upstream-merge-42166
[MIRROR] Removes smugglers satchels
2019-01-03 15:28:35 +00:00
nichlas0010
ec96228624 Merge pull request #4007 from yogstation13/upstream-merge-41843
[MIRROR] Uplink pens now need two separate rotations to unlock
2019-01-03 15:15:19 +01:00
subject217
d13b7f501d Removes smugglers satchels (#42166)
* Removes smugglers satchels

I love the cutie reading this

* remove smuggler's satchel from code

* removes all smugglers' satchel persistence code

* removes remaining things

storage component for smugglers, the miracle ruin (uses smugglers), the dme
2019-01-02 21:26:35 +01:00
coiax
03b3679fc8 Uplink pens now need two separate rotations to unlock (#41843)
cl coiax
add: Uplink pens now require two seperate rotations to unlock. This also
applies to failsafe codes.
/cl

With only 359 combinations on an uplink pen, it's crackable given a
small amount of time. With two, it's now 92,981 combinations, which
is more secure than PDA uplink codes (899 * 26 = 23,374).
2019-01-01 21:14:49 +01:00
Qustinnus
6b94180ec9 [READY]Humans now have hygiene (DOES NOT AFFECT MOOD GO AWAY MOODPOSTERS) (#41986)
cl Floyd / Qustinnus
tweak: You now have to be naked to get the nice shower moodlet, if you shower with clothes you get a bad moodie
add: Hygiene, you slowly become dirty over time, the more covered in blood you are the faster you will lose hygiene. When you are too dirty you will have a stink overlay. (Hygiene doesn't affect mood currently) It also spawns miasma slowly if you smell like shit.
add: adds NEET and neat traits. NEET's get 20 bucks social welfare extra and like being unhygienic, while neat people dislike being unhygienic and like being hygienic
/cl

This doesn't affect mood so plssss dont strawman in this PR about how I'm forcing you to shower or die or whatever

This PR is mostly visual and will allow for people to judge others for literaly being smelly as hell.

also NEET and neat traits which interact with being smelly. (neat likes hygiene, dislikes lack of it. NEETs like lack of hygiene and get some social welfare (20 bucks))
2019-01-01 21:14:40 +01:00
Ling
32c8d0ccbf Merge pull request #3952 from yogstation13/upstream-merge-42011
[MIRROR] Nuclear bombs in rifts spawn a singulo on the station and count as a syndie victory
2018-12-26 12:28:32 +01:00
Francesco
5d3f683e51 Nuclear bombs in rifts spawn a singulo on the station and count as a syndie victory (#42011)
* A nuclear bomb in a rift in spacetime will now count as a syndie major victory, and spawn a singulo back at the station

* Removes config debug stuff
2018-12-23 12:31:11 +01:00
skoglol
a1475a86ef Makes satchels stack by name instead of type (#41827)
* Makes satchels stack by name

* Type and name and hopefully fixed branch?
2018-12-23 12:31:02 +01:00
nichlas0010
18161e7391 Merge pull request #3900 from yogstation13/upstream-merge-41739
[MIRROR] Allows the antimagic component to react to spells, limits holymelon uses
2018-12-18 14:36:58 +01:00
XDTM
37c61983f4 Allows the antimagic component to react to spells, limits holymelon uses (#41739) 2018-12-18 01:08:44 +01:00
kevinz000
8ced578215 [READY]IMMERSIVE ROLEPLAY - Mobs now turn towards and are shifted based on grab state towards something pulling them (#41768)
In other words, you can now dance.
@subject217
cl
experimental: Mobs now turn towards anything grabbing them when they move.
experimental: Mobs are shifted towards anything grabbing them based on move state too. You can now dance by grabbing each other!
/cl
2018-12-16 22:07:38 +01:00
coiax
4139e15094 Fixes runtimes when a monkey dies (#41893)
cl coiax
fix: Dead monkeys now produce miasma.
/cl

Previously any time there was a dead monkey, it would constantly runtime with incompatible component warnings.
2018-12-16 21:52:34 +01:00
nichlas0010
f5fc8fa864 Merge pull request #3861 from yogstation13/upstream-merge-41763
[MIRROR] Christmas code changes
2018-12-16 21:40:23 +01:00
oranges
98955327b3 Merge pull request #41921 from kevinz000/patch-584
Fixes some instances of storage not closing when it should (on move)
2018-12-16 13:23:33 +01:00
coiax
76d6a84046 Christmas code changes (#41763)
* Christmas code changes

🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑

The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.

Added unlimited christmas tree with presents, for testing.

Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.

Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!

Gifts determine what type is inside them on initialization, rather than
when unwrapped.

- Reasoning -

Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.

Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.

* Missed a merge

* Adds present investigate logs, and visible messages

* Use the body+mind checking of mob.has_trait

* Less globals, more static vars on types; also event renaming
2018-12-16 00:43:51 +01:00