Commit Graph

6066 Commits

Author SHA1 Message Date
nemvar
572be7ec6a Bye bye animal hospital. (#45070)
* byebyeanimalsurgeons

* here we go

* config

* removesbeach

* a bit more compact

* updates some vars

* fixes walls getting destroyed by other generation stuff
2019-07-12 09:47:05 -04:00
Jordie
ef892d378c actually removes byo shuttle timer (#45124) 2019-07-12 09:09:50 -04:00
Qustinnus
b73a9eec67 nerfs hunger events (#45114) 2019-07-12 02:29:28 -07:00
nemvar
67b5619071 Swarming component now gets deleted properly. (#45108)
* ? It's worth an attempt.

* attempt 2

* attempt 3

* attempt whatever

* attempt whatever and 1

* attempt whatever + 2

* return

* Update code/datums/components/swarming.dm

Co-Authored-By: MrPerson <spamtaffic@gmail.com>
2019-07-12 02:27:56 -07:00
oranges
800f24393d Convert some code docs into the auto doc format (#45101)
* Document datum, area,atom and some of the mob code

* Update

* Documented mob_helpers poorly

* Brief treatise on mob movement iself

* sdfasdf

* Add title to treaties

* Move readme file for say

* more say stuff for mobs

* Document login and status procs

* Add some goddan links like a boss

* Document some atom vars
2019-07-11 11:39:56 -04:00
skoglol
64484fa896 Changes how disease biotypes are added (#45099)
* Makes inorganic biology and necrotic metabolism work immediately.

* Uhhh dont need that.
2019-07-11 11:37:12 -04:00
skoglol
63967d1b21 Lets the kinetic crusher be one-hand carried (#45110)
* Onehands, need sprites.

* onehand icons, light action.

* light fix
2019-07-11 11:29:36 -04:00
dee-dubya
905674d897 Decrease BYOS cost to 2500 (#45083)
* Decrease BYOS cost to 500

About The Pull Request:
Pretty self explanatory. Changes the cost of the Build your own Shuttle from 5000 to 500.

Why It's Good For The Game:
It's completely ludicrous to have a shuttle that has to be called within the first 10 minutes of the shift cost more funds than the station starts with. However, considering it comes with supplies and has certain benefits, it definitely shouldn't be free or give money either. This corrects the overcorrecting done with the previous BYOS balance change.

   🆑 DeeDubya
   tweak: Decreased the cost of the BYOS from 5000 to 500, making the shuttle a realistic option once more. Have fun!
   /🆑

* Update shuttles.dm
2019-07-10 14:32:50 -04:00
Mickyan
1b8ed8b6b8 weak (#44894) 2019-07-10 19:58:59 +02:00
nemvar
7f3232ffa9 Fixes radiation wave runtime. (#45075)
* radrave runtime

* fede
2019-07-10 09:25:16 -04:00
Jordie
cb98b2614c Merge pull request #45085 from kriskog/virusfix
Virus cures no longer reshuffle while in hosts
2019-07-10 22:13:34 +10:00
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
skoglol
bbdc4ce29a Fixes virus cures being repicked. 2019-07-09 14:54:56 +02:00
skoglol
1a2fe173af debug 2019-07-09 14:00:32 +02: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
skoglol
514b8bd46c logging. 2019-07-07 05:45:14 +02: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
XDTM
4db6e06c6f cloud tweaks, new programs 2019-06-29 12:04:23 +02: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