Commit Graph

471 Commits

Author SHA1 Message Date
Dennok
4e6d8c073a Silo link RCD upgrade (#45607)
* Update all_nodes.dm

* Update RCD.dm

* Update RCD.dm

* Update construction.dm

* Update tool_designs.dm

* Update RCD.dm

* Update RCD.dm

* Update RCD.dm

* fix mat container

* up

* add radial silo link button

remove silo link verb
2019-08-13 16:59:03 -04:00
py01
2d00abba6d Improvised shotgun shell recipe simplification (#45792)
* improv shotgun shell recipe change

* improv shell craft time

* Update recipes.dm

* Update recipes.dm

* Update recipes.dm
2019-08-12 20:17:15 -07:00
tralezab
b5de31638d You can no longer name some things after words in the ic filter (#45696)
* quick sanity fix

* more things i found

* better list used, updated comment
2019-08-11 18:33:39 -04:00
nemvar
afa153a333 Another sanity revision. (#45716)
About The Pull Request

One day I will get this right.
Sanity no longer decays if you are above the allowed mood threshold.
Neutral mood no longer raises sanity.
Aheals now restore sanity for unstable people.
Fixes #45715
Why It's Good For The Game

Getting free maximum sanity from just being on neutral mood was a bit silly and counterintuitive. The sanity for being below the maximum allowed value was also a bit harsh.
Changelog

cl
balance: another sanity rebalancing.
/cl
2019-08-09 11:10:27 +12:00
Time-Green
b5159fbf31 [READY] Plumbing: Chemical Filters (#45473)
Adds chemical filters to the plumbing arsenal

They have one input, and three outputs. The left and right outputs can be given filters. It's basically the exact same as atmos filters but it has TWO filter sides.

It doesn't have an enormous list of chems to select from, you just enter a chem and it's added if it's valid.

cl
add: Adds chemical filters to plumbing
/cl
I was planning to do a bunch at once, but europe is on fire and im delirious

I also moved the existing unique plumbing datums into their own folder, wich was only chemical acclimators
2019-08-09 10:59:36 +12:00
kingofkosmos
c3ea51908d Adds "you" to local visible_messages (#45631)
* adds "you" to some combat visible_messages.

* more you-messages and attack verbs to present tense.

* small fixes

* more additions and small fixes

* few message tweaks

* Fixes a typo and few other wordings.
2019-08-06 02:15:34 -07:00
nemvar
4d5fb1a578 Adds a GPS component. (#45660)
* Adds a GPS component. Megafauna no longer needs gps implants.

* Removes commented out code.

* Removes the last internal radio

* I was already wondering why the diff was so small
2019-08-05 19:13:19 -07:00
Rob Bailey
0c6fabceb0 Merge pull request #45680 from 81Denton/unfuck_c4
Refactors C4/X4
2019-08-05 19:09:57 -07:00
nemvar
55191413ba The clown car waddles (#45625)
* The clown car waddles

* movable atom instead of atom
2019-08-03 22:19:03 -07:00
nemvar
e7fbf37fca Turns gloves of the north star functionality into a component. (#45557)
About The Pull Request

title.
Why It's Good For The Game

The goal of this is to get rid of the Touch hook for gloves. Currently the only other thing that uses this proc is ninja gloves which I will try to remove at a later date.
Changelog

cl
code: Gloves of the North Star functionality is now handled by a component.
/cl
2019-08-03 14:51:25 +12:00
Denton
d98df6e063 Refactors plastic explosives
y
2019-08-02 22:31:05 +02:00
nemvar
b30942b847 Removes virgin snailcrawl component and replaces it with chad snailcrawl element. (#45479)
* Removes snail_crawl.dm

* Maybe this does it.
2019-08-02 02:32:44 -07:00
Rob Bailey
6a26744d83 Clothing /under repath (#45548)
About The Pull Request

repaths clothing/under to be more sane
Also fixed a couple of bugs relating to pathing being incorrect, and modified a couple of bad descriptions and names
Also adds a map path updating script, which also helps show the full repath.
Why It's Good For The Game

improves maintainability, makes mapping easier, stages for a clothing dmi split
Changelog

cl
refactor: repathed all under clothing, keep an eye out for errors
/cl
2019-07-30 19:20:21 +12:00
Rob Bailey
5e906034ff Merge pull request #45535 from nemvar/fixesmoodforreal
Fixes mood for real
2019-07-29 19:45:07 -07:00
nemvar
6755ba7488 Fixes some issues with the butchering refactor 2019-07-28 21:32:00 +02:00
nemvar
15c6dcc322 Switches some values around 2019-07-28 18:13:30 +02:00
nemvar
fb44479c0b Fixes the math 2019-07-28 01:00:43 +02:00
nemvar
091f221fe6 Fixed mood for real 2019-07-28 00:48:07 +02:00
nemvar
214a3d452a In how many ways can this be broken? Find out next time! 2019-07-27 23:58:11 +02:00
nemvar
449e5d38e6 This turns butchering into something that resembles a component. (#45299)
* This turns butchering into something that resembles a component.

* Changes how the recycler works.
It no longer uses butchering in disgusting ways.

* I guess this works? It's not pretty though.

* How the fuck...
2019-07-26 23:57:37 -07:00
Time-Green
d4bfdd2a40 Plumbing: Chemical Acclimators (#45243)
* Finishes pump and fixes visual bug with disconnecting plumbing objects

* More bugfixes, finishes liquid pump

* Chemical synthesizer, wrench signal to handle unwrenching

* adds input and output pipes and changes ob into obj

* dmdocs all of plumbing through proper means

* adds sprites by meyhaza

also added wrenching interaction and fixed a dumb dumb with me fucking up an object path

* brightens the sprites a little by me

* removes big select from synthesizer ui

* update tgui.js thing

* unfuck pump color

apparently the replace all of spriting has downsides

* chemical acclimator

only heats and cools but i gotta commit and do other stuff

* finishes chemical acclimators

* uodates .dme

* updates .dme again

forgot plumbing component
2019-07-26 17:43:45 -07:00
nemvar
5d804ad82f Signals for tool acts. (#45263)
About The Pull Request

This PR adds signals for all basic tool acts.
Replaced signals places where it's appropriate.
Why It's Good For The Game

It's kinda dirty how we used to do attackby and then check for tool behaviour. Since we now have stuff like plumbing and possibly that one laser PR, we need signals that directly relate to tool behaviour.
Changelog

cl
code: Added signals for all basic tool acts.
/cl
2019-07-26 09:47:22 +12:00
nemvar
87f080bfbb Sanity is now capped. (#45410) 2019-07-25 14:06:36 +02:00
nicbn
44a07d712d BoH bombing rework II (#45174)
Ever since the big BoH nerf, BoH bombing is kind of a joke. The damage it does is not really huge, and it's lame for traitors - it lacks emotion and their target may not even die, as they can use the ladders to get away.

So, what this does is add back some soul into BoH bombing, while not making it too round-ending and adding some degree of damage control for admins in case of griefing.
When BoH bombing, a stationary singulo with custom sprite will spawn. Its gravitational pull is REALLY strong, so people near it are probably going to get eaten, and there will be some real damage to the hull. The singulo will cease existing after 5 seconds.

For antags, I think this becomes much more interesting than the current BoH bombing. In the case of griefers, the damage to the station isn't too big because the singulo is stationary and fades away after some seconds. And then, admins can click a button in their chat to bring back everything the singulo ate into the game (the button expires in 10 minutes, however, but this can be changed if you think it is needed).

Settings like gravitational pull can be tweaked if yall find it to be too strong or something.
Changelog

cl
tweak: BoH bombing changed again. Now it's more violent.
/cl
2019-07-25 21:18:01 +12:00
Floyd
fcd855ea70 fixes 2019-07-25 00:21:18 +02:00
Qustinnus
b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

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

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

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

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
Time-Green
d18fe2101a [READY] Plumbing improvements and chemical synthesizers (#45185)
Removes dumb visual bugs.
Put the copy pasted wrench stuff for disabling and enabling the component, in the component using a new signal from default_unfasten_wrench.
Add a general plumbing machinery subtype. Right now it's mainly for cataloging.
Adds the chemical synthesizer. You can select a single chemical and an amount between 0 and 5. It will produce it every tick. Should be combined with other synthesizers to create meth factories.
Makes the liquid pump a fully functioning machine.

cl
add: The station comes one step closer to plumbing with the introduction of the chemical synthesizer.
sprite: sprites for the synthesizer, input and output commissioned by @Meyhazah
/cl

I wanted to do all the plumbing basic equipment at once, but stuff like plumbing heaters is gonna be ugly if I don't rework them completely and I don't wanna scare the maintainers away.

There is slight copypasting from the chem_dispenser and with the chem synthesizer, but having it be inhereted would be a worse clusterfuck IMO.
2019-07-23 21:22:16 +12:00
Qustinnus
41dcc97c7d Fixes sanity going up to 125 when mood is neutral (#45338)
* fixes

* var
2019-07-22 16:45:11 -07:00
nemvar
7ba60de3d6 Aheals now fix addictions and sanity. (#45329)
* Aheals now fix addictions and mood.

* Does it properly. Now uses a signal to detect the aheal.

* Removes a getComponent in living and puts that shit into the mood component.

* Fixes a small oversight with where I placed the moodie purge.
2019-07-22 15:42:30 -04:00
nemvar
876db778a7 Durathread and loom changes. (#45261)
* Reworked loom and cloth

* newline

* Removes unneeded .=

We were returning TRUE regardless.
2019-07-21 17:40:00 -07:00
nemvar
a176d30579 Fix moodie icon being wrong at roundstart (#45283)
Fixes an issue related to mood. They had the wrong sanity icon when 
spawned in. Yes, two is correct. Having exactly SANITY_NEUTRAL (100) 
will result in slightly positive sanity.
2019-07-20 16:41:35 -07:00
Mickyan
e26abb7047 Random pixel shift for dropped/thrown objects (#45155)
* pixels

* offset for any throw, critical bedsheet bugfix

* nyeh

* might as well (autodoc)

* renamed proc

* removed redundant src

* moved call from dropped() to dropItemToGround()

* handles storage dumping, customizable max offset

* adjusted values

* inline
2019-07-16 00:51:17 -07:00
Alek2ander
e6d468eb61 Wallet QOL improvements (#45178)
* Wallet name includes displayed ID
Adds Alt-click to remove it

* Use regular altclick if it's in storage
2019-07-15 02:57:17 -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
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
nemvar
ba24766c08 Fixes area moodlets. (#45043)
* moodie

* newline
2019-07-08 13:14:04 -04: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
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
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
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
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