Commit Graph

4651 Commits

Author SHA1 Message Date
nemvar 40ce94f8ef Thermite tweaks. (#44959)
* thermite fixes

* 10 seconds

* Update code/datums/components/thermite.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
2019-07-09 11:04:27 -04:00
Time-Green ceeff661a0 [READY] Plumbing (#44833)
cl Time-Green
add: Adds plumbing pipes and some hidden plumbing related machines. They're not available in-game yet.
sprites: Geyser and geyser pump sprites created by Mey-Ha-Zah!
/cl
Adds the following objects:

    Fluid ducts . Like atmos pipe, but for reagents. They're smart and can be seperated by layer and color

    Geysers. They spawn on lavaland and can be harvested with liquid pumps or just beakers.

    Liquid pumps. For pumping geysers. They need to be on a wire node and connected to a duct network.

    Plumbable reagent dispenser subtype.

    New plumbing RPD specific RPD.

    Plungers. The reinforced plunger can be used for plunging geysers to activate them. They currently serve no other function and can't be worn as a hat yet.

They're all disabled and admin only.

Adds the following systems:

    Ductnet datum. They pretty much say "hey, we're connected"

    Plumbing component. You can turn any movable atom into a plumbable thing. Comes with overlays and everything. They're essential for everything that has input and outputs, except pipes. That means you can have machines connected to both atmospheric pipes and fluid ducts. They only connect with layer 3 ducts.

    Fluid subsystem that handles the processing on the plumbing machinery and other plumbing related stuff.

Basically atmospherics but with reagents. Reagents are pressurized and thus transferred instantly, to avoid those stupid leftovers in pipes no one likes. I am PRing it now because if I were to add a dozen or so associated machines, it would be too much of a pain to manage/review in one PR. It would also be a massive waste if people didn't even want it in the first place.

Also yes all of this works (as far as I know)

Things I plan to add in later PR's

    Layers / colors (maybe) done
    Machinery (Stuff like chemical processors, filters, special mixing chambers and factories)
    Make geysers more interesting, so chemists/atmostechs/cargotechs/assistants can go to lavaland and get some exotic stuff.
    Pipe fractures. Damaged pipes could do the cartooney water soaker beam coming out to shoot at people cause why the fuck not.

Code concerns:

    Connecting is handled through pipes only. Not sure if this is the best approach. This means plumbing devices cant directly connect to each other without pipes. I could add some exceptions to handle it. I could also take connecting away from pipes and make it a global proc, with alot of exceptions since it'd be handling both plumbing machinery and the ducts.

    Reagent transferring. Basically the transfer is instantaneous from A to B. I did this because stuff getting stuck in pipes could pose some serious mixing problems with chemistry, since it's alot more delicate than atmos. I could understand if people would want it to be like atmos. It wouldn't be difficult to change.

Also for testing I suggest you set the pipe_dispenser to category 3 to print fluid ducts. My tests were done with
/obj/structure/geyser
/obj/structure/reagent_dispensers/plumbed/storage
/obj/item/plunger/reinforced
/obj/machinery/power/liquid_pump
/obj/item/pipe_dispenser/plumbing
that and standard tools for setting things up
2019-07-09 11:58:02 +12:00
Emmett Gaines 328fc7b1f1 Adds elements: Lightweight shared components/Global components (#44817)
If you came here thinking this was some game feature then you are in the wrong place. Here is where I ramble about code.

This adds /datum/element as a sort of sibling to components. Only one of each type gets instanced and they do not get tied directly to any particular thing like a component does. Basically they're a very lightweight component for doing simple functionality that doesn't have much state.

Originally this concept came about as a kind of component that could be shared between many parents to reduce some resource costs. Doing this would allow us to componentize more behaviors that are a part of too many things to be viable to have a whole component for every single one. For example a component on every space turf would be entirely unviable. With elements it's much more reasonable.

This implements a prety bare framework and a couple components are migrated to it. It's ready to be used but I fully expect I'm going to need to refine how it works for all the usecases we'll want it for.

Also: this fixes the qdeleted signal. This signal isn't even possible because after qdel is done there's nothing to receive a signal anyway. I've changed it to a qdeling signal instead. I need it to work for some elements to know when to clean themselves up.
2019-07-09 11:26:51 +12:00
Krysonism 7885aa52a0 [READY]Adds moodlets to appropriate drugs and drug-like reagents (#44985)
* Adds narcotic moodies

Krokodil, fentanyl and morphine now trigger moodies.

* Makes the duration comparable to similar moodies

+Morphine now uses the correct moodie.

* Adds moodies to crank, meth and bathsalts.

* Remove comma splice
2019-07-08 13:52:59 -04:00
nemvar ba24766c08 Fixes area moodlets. (#45043)
* moodie

* newline
2019-07-08 13:14:04 -04:00
oranges 37fdfee08a Merge pull request #44843 from Garen7/removeHygiene
Removes Hygiene
2019-07-08 21:53:08 +12:00
RandolfTheMeh 176bcdad93 Adds Jumpsuit/Jumpskirt Preference (#44883)
Adds a preference for jumpsuit/jumpskirt into the game. Currently runs
a jumpskirt for all occupations on spawn except for miner, since they
have their special lavaland suit, and no skirt variant I could find.
Doesn't remove skirts from lockers/machines yet since I am not 100% as
to whether that should be done (clothes are available generically for
the sake of changing outfits/recovering clothes after a whoops with
some pyrotechnics).
2019-07-05 23:38:50 -07:00
Garen Crownguard 534a9140aa merge 2019-07-05 17:59:38 -05:00
Krysonism 1edc7fb582 Add cowboy boots! (#44880)
This PR adds 6 new types of cowboy boots. Brown, black and white
cowboy boots have been added to the clothesmate. Two types of lizard
skin boots can be crafted, these boots can then be exported for money.
An additional pair of fancy boots are currently unobtainable, but will
be part of a future project. Cowboy boots can now act as shelter for
some type of snakelike creatures, fill a pair with snakes as a prank
or harebrained assassination plot.
2019-07-05 12:08:22 -07:00
WJohn 0c5107a479 Increase BYOS cost to 5000 and makes it slightly bigger (#44857)
Allegedly this shuttle is getting bought too much and there's not
really any downside to it, so cost increase it is.
2019-07-05 12:04:24 -07:00
granpawalton b9fa8ad730 Make breakfast foods give a positive moodie before 15 mins (#44914)
Breakfast food now gives a minor but long lasting moodie when they are
eaten within roughly 15 minutes of the shift starting.

Affected foods:

- most egg based foods
- coffee
- bacon
- oatmeal
- orange juice
- milk
- pancakes
- waffles
- donuts
- toasts
- biscuits
- cereal

Buttered toast was moved in the code to where all the other toasts
are. Encourages chef to do more than fry his book and make a silly 10
foot meme sandwich. Coffee from vendors now has an additional use.
2019-07-04 20:15:07 -07:00
Time-Green c93865171d Fix clones sharing the exact same mutations (#44951)
Fixes clones and clonee's their sequence always being exactly the same
because I forgot to copy a list, instead of share it.
2019-07-04 19:04:22 -07:00
Mickyan 10cbc2219c Update honked moodlet (#44863)
The moodlet from being hit with a bike horn now has its own overlay.
Changed the description to not make assumptions about the quality of
local entertainers. The moodlet can only be applied by clowns, as they
are the only ones capable to unlock the bike horn's true hidden power.
You can no longer get a mood boost by hitting yourself with a bike
horn.
2019-07-04 16:54:28 -07:00
RandolfTheMeh e9dab4c665 Universal Organ Damage system (#44710)
About The Pull Request

So organ damage is a thing now associated with general object of organ, meaning all organs inherit a damage variable, failing boolean, healing variable, and maxHealth variable. The proc applyOrganDamage takes in the damage and organ path, applying damage/healing to said organ. While an organ is in use, it heals a small amount over time (granted the organ is not failing), with this fraction being set by the healing variable.

This also reworks preexisting organ damage systems to function more so on the universal organ damage system, the liver specifically. So much code exists in regards to eyes/blindness and ears/deafness that I'll need to go ahead and take a longer time combing through the code to get everything that can reasonably be tied to those two organs and their level of damage reworked to function off of the organ damage system, as opposed to just a trait add/remove system.

Lastly, this slightly reworks scanners, since now you need to check for every organ in the body. Since organs are stored as "the [organ]" with the method I used to get them, the phrasing on the medical scanner was changed to make more sense given it now has to say something along the lines of "severe/minor damage detected within [the organ]". I'll likely add another proc if I cannot find a way to get the organ's max health during this operation, since a static number determining minor/severe damage does not work when an organ's max health is less than the typical 100 points (as is the case with eyes).
Why It's Good For The Game

Every organ can be damaged, though not every damaged organ does anything right now. Damaged livers do the same thing as they did previously, and damaged eyes develop varying levels of vision impairments. The benefits to this PR are more for future coding projects than it is for the game currently, with no foreseeable changes to the way it's played currently.
Changelog

cl
code: Universal Organ Damage variables and procs
/cl
2019-07-05 09:40:30 +12:00
oranges 3316f0dcbe Merge pull request #44895 from ninjanomnom/signal-async
Makes signal calls async again
2019-07-05 09:34:04 +12:00
nemvar 698fb9c080 Antimagic now gets used up once it loses all charges (#44956)
Also makes the tinfoil hat load correctly if varedited in the DMM.
2019-07-04 13:04:20 -07:00
Nick a8197eb3dd Citations (#44853)
* Citations Step 1 - New Datacore Stuff

* Committing before merging with master

* Initial work on PDA messaging

* Adds support for automated PDA messages

This is just a flag that, when set, replaces the standard (Reply) href with a static "automated message" message

* Citations now generate PDA messages

The target of a citation will be notified via PDA message

* Escaping some non-optimal characters in PDA messages

* Creates a public warrant computer

Initial framework. Computer machine and circuit. Adds it to the DME.

* We're gonna flipflop on this for a while

* Removing unneeded functions

This is a read-only terminal, so we don't need to have all this code for managing entries and updating fields

* Whoops

So this is why byond was warning me about unused vars

* Need some help

Pushing this commit because I got this into a state where it doesn't work right

* Adds support to pay fines!

* Map changes. Adds a warrant console to the hallway outside the brig and law office on Box.

* Adds some checks to fine creation

* Aaaaand more work on paying citations

* Paying citations works! The money goes into the defense budget!

* More functionality and usability changes

* Adds warrant consoles to the rest of the maps

* Cleaning up text

* Rewrote warrant computer to be more up to date.

* Fines are capped to 1000 credits

* Requested changes

* Citations can now be paid with holochips and warrant consoles don't require your ID to be inserted.

* Fines can be paid from security record consoles, and more feedback messages

* Citation payments now actually go into the defense budget for real

* Removing even more unused code!

* Removes unused code (emp_act and ID handling)

* More unused code for the unused code gods

* ID card reference is now just fetching attached name.

* remove simple mob typepath kthx for the remove simple mob typepath kthx gods

* one usr, many M
2019-07-03 20:19:05 +02:00
Qustinnus d9b316b7ab Sanity Rebalancing (#44800)
cl Floyd / Qustinnus
tweak: The Nanotrasen Physological department has realized that working at a metal deathbox is more stressful than it currently is. Mood has been slightly rebalanced
/cl

This PR is mostly a rebalance of various variables that exist withing the system. The system is now more likely to skew one of two ways instead of always hanging at neutral unless you're hungry, I plan to make it more likely to skew to one side from other things as well, and nerfed various low effort and non interesting interactions such as reading books while buffing the ones that have gameplay like drinking good bartender drinks or winning arcade games.

I also plan to add a moodlet for being in the bar; this will reinforce players to visit these areas if things get bad, or if they just want to refuel for a bit.
2019-07-03 19:32:09 +12:00
oranges 64460ae3ca Merge pull request #44825 from AutomaticFrenzy/patch/lints
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.

Some lists, including global lists, are given types so that L[i].foo expressions can be checked.

Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.

Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.

Return type syntax is currently roughly:

    <typepath> | <paramname>([_])*(.type)?
2019-07-03 19:31:11 +12:00
skoglol aa37ae0c9f Add variety in virus cures, more consistent difficulty scaling (#44798)
Now picks from a bigger list for each level, for a bit of variety and
to avoid all random diseases sharing the same cure.

Makes the higher levels harder than previously, while adding a more
consistent increase in difficulty of getting a hold of virus cures.

List is now:
1 - Copper, Silver, Iodine, Iron, Carbon
2 - Potassium, Ethanol, Lithium, Silicon, Bromine
3 - Table salt, Sugar, Orange juice, Tomato juice, Milk
4 - Spaceacillin, Saline-glucose solution, Epinephrine, Charcoal
5 - Oil, Synaptizine, Mannitol, Space drugs, Cryptobiolin
6 - Phenol, Inacusiate, Oculine, Antihol
7 - Leporazine, Mindbreaker toxin, Corazone
8 - Pax, Happiness, Ephedrine
9 - Lipolicide, Salicyclic acid
10 - Haloperidol, Aranesp, Diphenhydramine
11 - Modafinil, Anacea

Level 1 and 2 have simple chems, some can be gotten through grinding
stuff.
3 has kitchen/bar/hydro stuff
4 has stuff easily found in medbay or medbay vendors
5 has three chem drugs
6 has five chem drugs
7 has slightly harder drugs
8 is drug themed, has drawbacks
9 is a bit harder again
10 are worse, has fairly bad drawbacks so eat sparingly.
11 are hard to make, anacea has chem purging and some slight tox
damage.

Will need a wiki update.
Why It's Good For The Game

Makes high virus resistance more favorable, and creates some need for
some obscure chems.
2019-07-02 16:56:43 -07:00
ShizCalev 6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
Shaps e799621f0b Changes improvised jetpack recipe (#44794)
* Corrects crafting recipe

* Update code/datums/components/crafting/recipes.dm

Co-Authored-By: nemvar <47324920+nemvar@users.noreply.github.com>
2019-07-01 20:52:07 +02:00
ninjanomnom 55b8aa1837 Makes signal calls async again 2019-06-30 21:04:30 -04:00
oranges 391c65ec4a Merge pull request #44840 from JJRcop/stasis_stops_metab
Stasis calls end_metabolism on reagent holder
2019-06-29 21:11:58 +12:00
XDTM d70c43c5f1 Checks for metabolization on some has_reagent (#44653)
About The Pull Request

Stuff that should logically require you to actually be metabolizing the reagent now requires a liver, or the reagent to not need one.
Some reagents have been granted self consuming status, like holy water, since their effects are not tied to the metabolism.

Fixes #44650
Fixes #43024 since there should be no real way to mitigate the constant toxin damage now
Why It's Good For The Game

Less exploits with livers, more consistency in mechanics.
Changelog

cl XDTM
fix: Viral healing symptoms that are tied to reagents now also require a functioning liver to work.
tweak: Holy water, Pyrosium, Cryostilane, Napalm and Phlogiston no longer need a liver to have their effects.
/cl
2019-06-29 21:08:38 +12:00
Emmett Gaines 48f19baba1 Randomizes lavaland atmos (#44427)
This makes lavaland atmos random per round. You won't get eternally burning hell worlds or vacuums but it's nice for a bit of variety.

Admins can edit the gas mixture for all of lavaland at once if they want to ruin some miners' day.

image

cl
add: Lavaland atmos is no longer a preset gas mixture and varies per round
tweak: Bonfire minimum oxygen content has been reduced
/cl
2019-06-29 21:07:26 +12:00
AnturK 89438fae72 Fix a few reagent runtimes (#44824) 2019-06-27 21:42:50 -07:00
kingofkosmos c969f6d3eb Merge branch 'master' into addswarningspans 2019-06-27 15:12:54 +03:00
kingofkosmos ec5c82029a * "Is already...", "Can not...", "Not when..." etc. 2019-06-27 06:15:43 +03:00
Rob Bailey 532cc7ea63 Smart cable fixes (#44784)
I wanted to get this up next day but I kept falling asleep before finishing what I wanted to
About The Pull Request

Fixes some issues that have been brought to my attention with smart cables

Closes #44768
Closes #44775
Why It's Good For The Game

this shit pretty broke as is in game.
Changelog

cl
fix: removed mech rcl from the research node so it stops spamming a warning in log
fix: cables now disconnect machines when cut
fix: terminal linking/not linking behavior with smeses has been improved
fix: couple of small mapping fixes
tweak: changed cable coils back to 30
tweak: changed the box smes room a little to prevent stacking terminals
tweak: removed the rpcl from engineering on every map because it's not used for wiring anymore
/cl
2019-06-27 12:20:49 +12:00
Jonathan (JJRcop) Rubenstein 3b933548cf Stasis calls end_metabolism on reagent holder
amanitin acts on delete instead of when metabolism stops
2019-06-26 19:36:48 -04:00
vuonojenmustaturska 867aca7abf Grants the common man access to some parts of the lavaland mining base (#44769)
* will this work?

* add shuttle console to meta

* add shuttle console to box

* remove glide size from box, add shuttle console to delta

* replace airlocks in lavaland common area

* remove step

* secure the gulag a bit more, add a beer fridge

* restore unix line endings?

* Update code/game/objects/structures/crates_lockers/closets/secure/freezer.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* review
2019-06-26 14:52:19 -04:00
Tad Hardesty 0f0604575f Add return type annotations to some procs 2019-06-25 23:03:38 -07:00
Tad Hardesty b07065a477 Add additional type annotations to lists 2019-06-25 22:48:10 -07:00
kingofkosmos fb9731492c * extra spaces removed from "span class = '" --> "span class='"
* warning-spans added to cases of "You need..."
2019-06-25 21:03:25 +03:00
Arkatos1 6c867b6936 Carp Expansion Pack [greyscaled] (#44720)
About The Pull Request

This PR ports Baystation color carps. In short, normal carps can now spawn in variety of colors, 

This only affects normal carps, not special ones like magicarps or megacarps, these retain their own unique sprite. There are also some pretty rare color variant for carps and our friendly Syndicate carp Cayenne has increased chance to get it.
Why It's Good For The Game

Better aesthetics and immersion.
Changelog
cl
imageadd: Normal carps now spawn with a random color! There might even be some really rare color variant.. try asking Cayenne about it.
/cl
2019-06-25 11:28:05 +12:00
kingofkosmos df1aa091b2 * adds warning-spans to various messages 2019-06-24 21:05:22 +03:00
XDTM 114628ad7c Fixes antimagic not working in hand slots (#44606)
* Fixes antimagic not working in hand slots

* proper changes

* Update code/modules/mining/lavaland/necropolis_chests.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
2019-06-24 10:31:11 -04:00
Garen Crownguard 3a37d0322c merge 2019-06-23 20:39:24 -05:00
XDTM 86f184a802 Quantum teleportation makes rainbow sparks (#44664)
About The Pull Request

Happy pride month

Jokes aside, since its addition quantum teleportation has always had a rapidly-changing-rainbow motif, i thought that making the sparks behave in the same way would be cool now that we have teleport flags.
Side change: non-bluespace teleportation no longer makes sparks by default.
Changelog

cl
tweak: Quantum teleportation now makes pretty rainbow sparks instead of the normal ones.
fix: Non-bluespace teleportation (spells etc.) no longer makes sparks.
/cl
2019-06-24 10:50:33 +12:00
4dplanner f676a6cc32 Legion core status effect cleanly removes (#44717) 2019-06-22 18:24:16 +02:00
Emmett Gaines d615abf23c Replaces callbacks in signals with simple proc paths (#44579) 2019-06-22 18:21:57 +02:00
Tlaltecuhtli d3dd48de46 fixes russian helmets not holding vodka (#44692)
* 1

* no need for this

* e

* dsdag
2019-06-22 02:17:55 -04:00
AnturK ec97bbceee Fixes musician quirk runtime without backpack. (#44703)
* Fixes musician quirk runtime without backpack.

* copypasta mistakes.
2019-06-22 01:43:01 -04:00
oranges bc218b5b5f Merge pull request #44625 from AnturK/common_antag_log
Adds basic antag datum logging fallback.
2019-06-22 10:50:21 +12:00
WJohn 18f35d685c Reworks the Build Your Own Shuttle Kit to be more appealing. (#44433)
About The Pull Request

This makes it so the BYOS starts with some construction materials, is a bit smaller to be less of a hideously huge project to work on, and is pressurized so more people can help with it.

Price has been increase to -2500 from -7500.
Why It's Good For The Game

I often see the BYOS barely built, and even then usually only by one person who actually has a space suit. This often leaves it completely unprepared by the time the shuttle is actually called. This PR attempts to rectify that.

Changelog

cl WJohnston
tweak: Build Your Own Shuttle kit has been made smaller, comes with construction materials, and is pressurized.
balance: Lowered value from -7500 to -2500. It still doesn't come with a brig or console, so you cannot greentext antags or launch early.
/cl
2019-06-22 10:33:16 +12:00
ShizCalev aeb1c47328 Merge pull request #44663 from XDTM/CtrlAlertMind
Hypnosis and Abductor mind control now have alerts
2019-06-20 18:14:18 -04:00
Shaps 8954265573 Agender fixes (#44597)
Credits to Europaisch for help finding all the records stuff

Fixes a few issues I was not aware of with my initial PR

* Being agender is now a distinct DNA value (fixes agender spessmen
  turning female when having their DNA referenced, like during cloning
  and some rudimentary transformations)
* Neatens up preference code, more in line with previous code, fixes
  an issue with male underwear not surviving preference loading and
  defaulting to female underwear
* Allows agender spessmen to change their facial hair with mirrors
* Change medical, personnel, and security records from sex to gender
  and add "Other" option (they currently display "plural" even for
  agendered species like ethereals)
* The -san honorific now applies to plural gender instead of just
  neuter with the Chinese Cartoons admin secret (highly important)

I have never really played genetics and only tested the DNA code with
cloning and rudimentary transformations while still in a body (which
causes it to reference the old body's DNA, like with cloning). Please
let me know if there's a better way to do this and/or if this is apt
to create issues.
2019-06-19 13:59:39 -07:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
XDTM 5dde55dd7d . 2019-06-19 18:45:18 +02:00