Commit Graph

28450 Commits

Author SHA1 Message Date
nemvar b337b403d0 Improve sawing off guns, let chainsaws do it too (#44908)
The way guns are sawn off is now more sane. You can now use chainsaws
to saw off guns.

Chainsaws are pretty meaty. They are also made out of the exact item
that is usually used to cut guns. I mostly added this because it felt
weird refactoring this without adding a feature so I can get more
updoots.
2019-07-04 20:45:31 -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
ArcaneMusic bbcd45a648 Add style to BSA's Laser (#44911)
The old Laser Sprite was pretty old, literally just a 4 color line.
Decided that it should probably look more in line with a 2,000,000
Watt beam of pure destruction.

As an added bonus, the laser now fires on the correct tile in front of
the BSA now, in addition to having a built in splashwave around where
it's fired.
2019-07-04 19:02:18 -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
XDTM d834ae0364 Abductor chem dispenser (#44659)
About The Pull Request

Adds an abductor chem dispenser, buyable for 2 points from the abductor rewards console.
Buying it spawns a beacon, which can be activated in hand to drop it and spawn the dispenser after 3 seconds if the tile is free of obstructions.
The dispenser contains all the reagents of a fully upgraded, emagged dispenser plus plasma and uranium.
Why It's Good For The Game

More tools for abductors means more possible abductor shenanigans, and personally i'm all for making the no-murderbone antag as fun as possible.
Changelog

cl XDTM
add: Abductors can now buy a special chem dispenser for 2 points. The machine is delivered as a beacon which can be used when standing on any free tile to spawn it.
/cl
2019-07-05 09:37:49 +12:00
wesoda25 8a98c41af8 Fix soulstone purification issues (#44790)
You can no longer infinitely purify a soulstone.
Cultists can't use purified soulstones anymore.
2019-07-04 14:35:13 -07:00
Rob Bailey 65e3913df3 Fixes smeses linking to themselves (#44971)
* fixes smeses linking to themselves

* Update code/modules/power/cable.dm

Co-Authored-By: Tad Hardesty <tad@platymuus.com>
2019-07-05 09:31:55 +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
fluffe9911 951f7d48af Add cluwne egg among the other clown eggs (#44918)
This slightly adds on to the clown egg pr by adding that neat cluwne
egg that Pugnacious-Gnome posted in the comments but got ignored by
bgobandit. I know tg doesn't have cluwnes but its a cool sprite and a
neat little easter egg badum tish so why not.
2019-07-04 12:54:06 -07:00
bgobandit d1ebea42b5 Composting and grinding now drops trash items if applicable (#44946)
Fixes bowls being lost when composting or grinding food in bowls.
2019-07-04 12:52:37 -07:00
Garen Crownguard f0251e4faa Fix quickdraw hotkeys working while incapacitated (#44953)
The check for incapacitated is normally done in the click proc since
that way it's checked on all of attack_hand, attackby, etc.. The
keybinding uses attack_hand instead of the click proc because it would
go through as a shift click and examine the item instead of grabbing
it if the click proc was used.
2019-07-04 12:48:10 -07:00
nemvar a8819d4b25 Fix armor penetration cancelling negative armor (#44928)
Armor penetration no longer decreases damage when used on a mob with
negative armor.
2019-07-04 10:52:46 -07:00
nemvar 153130e457 Cooler hivebots (#44662)
* Cooler hivebots

* adds some cool light

* moblight

* I...

* no more snowflake intent

* qdel

* QDEL_NULL
2019-07-04 14:35:30 +02:00
nemvar 53d4c3f25a Refactor mob can_see_reagents (#44934)
Turns the scan_reagents var into a clothing flag.
2019-07-04 00:09:01 -07:00
nemvar f81ec3907b Remove unneeded get_organ_target proc (#44931)
Removes the get_organ_target proc because I'm to lazy to fully
refactor laser eyes. It is embarrassing that we have a proc like this
in the code. Also makes mob code less cursed, one proc at the time.
2019-07-03 21:39:34 -07:00
nemvar 2539dbeb0e Fix checking armor of the wrong bodypart sometimes (#44930)
Fixes a bug with human where sometimes the armor from the wrong
bodypart gets used when they get attacked.

Bugs bad. Also, armor code is highly cursed.
2019-07-03 18:06:42 -07:00
Akrilla b2b91a2875 Contract tweaks (#44869)
* Payment generation rework and no repeated target

* Blacklist

* Remove pod explosion

* contractor baton

* darker highlight

* Slight increase for the higher paying contracts

* Victims get healing injected to bring them out of soft crit/crit

* pod send fix

* Text changes

* More text tweaks

* New baton - custom sprite/sound

* Better sound - fixes

* Stutter

* text

* classic_baton rework

* attack silicons still, and only show charging for new baton

* Properly attack/stun silicons where appropriate

* . list
2019-07-03 22:32:40 +02:00
Rob Bailey f8ee5be8ee Properly fixes smart cable lag issues and also fixes the awful connection issues. (#44945)
About The Pull Request

I ended up just rewriting propagation logic entirely. This needs a bit of cleanup but this is a really high priority fix.
Actually tested this time. I can confirm for sure this is working in all situations that were previously broken.
Closes #44940
Closes #44936
Closes #44935
Closes #44929
Why It's Good For The Game

I fucked up bad
Changelog

cl
fix: cables now actually function again (I'm so sorry)
/cl
2019-07-03 23:34:13 +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
zxaber 5f5eb4e7b5 Adds a research log and the ability for the RD to disable point generation, makes the R&D servers stop working if they lose power. (#44783)
About The Pull Request

    Overhauls the gui for the Research Sever controller (see below), and adds a bit more info about each server. Allows the RD, or anyone with related access, to shut off servers and thus disable point generation (emag to bypass access restriction). Adds temperature readout for each server, for fluff and possibly future relevance. Servers are listed as "Offline" if they are under EMP effects or have no power. Servers now have a random four-digit hex number following their name, to help tell them apart.

    Adds a full list of all research history in a table below the server readout on the server controller, sorted with the newest on top. Lists the name of tech, cost, name of the researcher, and the location they researched from.

    Adds in code to mark servers without power as not working. This seems like an unnoticed bug, to be honest.

    Animates the working server sprite, and adds a disabled and powered-off sprite.

The "research_log" list variable for /datum/techweb is commented as being meant for IC use, and was being updated already, but as far as I can tell was never used anywhere. So I have re-organized it a bit to feed the prior-mentioned table of research history.
Why It's Good For The Game

Gives the RD a light bit more control over research, allows them to cut off passive point generation if people piss them off, and gives purpose to the server controller console.
Changelog

cl
add: The R&D Server Controller console now lists the entire research history, including names of people who researched each item and locations it was done from.
add: The R&D Server Controller console can now be used to disable the servers if someone makes the RD upset.
fix: Fixed the R&D servers working without power.
imageadd: R&D server sprites are now slightly animated, and new sprites have been added for when the server is disabled or off.
/cl
2019-07-03 19:25:50 +12:00
Tlaltecuhtli 6fa189a822 Make limbs small, to fit in trashbags (#44730)
It's a pain when you are a janitor and the crew starts losing limbs in
the hallway and you can't quick grab them with the trashbag. The head
bodypart overwrites it to bulky so this doesn't change it.
2019-07-02 18:06:05 -07:00
MadoFrog 028383c378 Add mech pilot suit pack to cargo (#44811)
Adds the mech pilot suits featured in Neon Genesis Evangelion as
costumes cargo can purchase. More costumes are always fun.
2019-07-02 16:59:01 -07: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
kingofkosmos 6e0acf4471 Fix spinning the Russian Revolver (#44904) 2019-07-02 16:49:44 -07:00
ShizCalev 6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
bgobandit 58050b5626 Adds clown eggs to the game. (#44816)
About The Pull Request

You can stamp eggs with a clown stamp, similar to how you can use a crayon on them (the rainbow crayon is taken, so I just went with what bedsheets do) to create one of several kinds of clown egg. The eggs are functionally no different than the colored eggs we already have, just clowny.

Thanks to Pugnacious-Gnome for the sprites.
Why It's Good For The Game

Clown eggs are a real clowning tradition that has existed for decades. If West of Loathing has them we should have them too. Honk.
Changelog

cl bandit
add: Nanotrasen's clowns have begun to preserve their images by stamping eggs with their NT-issued clown stamps. This is fine and normal.
/cl
2019-07-02 12:18:57 +12:00
Rob Bailey a7401c80dd Fix smart cable lag issues (#44899)
Cables are no longer lag generators when being cut.
2019-07-01 13:48:45 -07:00
CPTANT 27f48cbf7a Adds OD to styptic and sulfur sulfadiazine, buffs oxandrolone and salicyclic acid (#44657)
* Adds OD to styptic and sulfur sulfadiazine, buffs oxandrolone and sal acid

* Increases OD threshold to 45
2019-07-01 12:38:37 -04:00
AcapitalA 6ce5766f3f Makes NVGs, It's HUDs and Thermals more sensitive to bright lights. (#44847)
* Night Vision HUDs are more light sensitive.

flash_protect is now -1

* NVGs are now more light sensitive.

flash_protect is now -1

* Thermals are more light sensitive.

flash_protect has been set to -1 for all thermal glasses, considering they give night vision.
2019-07-01 12:37:11 -04:00
kingofkosmos ad64678c48 Merge branch 'addswarningspans' of https://github.com/kingofkosmos/-tg-station into addswarningspans 2019-07-01 13:32:24 +03:00
kingofkosmos 51f77267f4 * revert error spans 2019-07-01 13:28:15 +03:00
zxaber e911747713 Give dead AIs an alert when they are being restored (#44870)
AIs now get an alert and sound effect just like what other mobs get
from a defib (and used to get from cloning). I used the same sound
effect because it's recognizable in that it means being brought back
to life.

Currently AIs don't get notified at all when they get revived, and the
best hope for whoever revives them is that they happen to check their
body to see if anything changed (or if someone calls out over common
and the AI player sees it).
2019-06-30 19:55:39 -07:00
SpacePrius fe6aa97f29 Fix hivemind awakening logs (#44882)
Allows admins to see when vessels have been awoken and also lists
their objective in the game log.

Fixed bug where hivemind vessel awakening would not be logged.
Fixed bug where awoken hivemind vessel objectives would not be logged.
Slightly modified the deadchat text for awakening.

Signed-off-by: Space Prius <bubba041102@gmail.com>
2019-06-30 19:50:24 -07:00
81Denton 61d39f1450 Fix a bunch of map issues (#44876)
Fixes medbay intercoms
DoNUT
Delta rad collectors
no free loot, bad powergamer
more duplicate pipes
even more duplicate garbage
I've about had it with these fucking duplicates
donut pipe fix pt2
2019-06-30 17:31:03 -07:00
nervere ea6ec655ce Adds CTF and Reboot buttons to check antags panel (#44851)
Makes dealing with end of round grief easier and faster for admins.
2019-06-30 17:19:07 -07:00
SpacePrius 89fafd2d82 Add empty crates to Cargo (#44860)
I added empty boxes to cargo, I decided to follow the restriction
stated in the file and set the price to 700, but my original intention
was to have it be 500 so it isn't a completely horrible loss to the
QM, which a more experienced contributed can do if they like. Allows
Cargo to store bulk items easily after they inevitably sold every
crate in the station.
2019-06-30 15:48:07 -07:00
81Denton 6f9d58b190 Add vent/scrubber welder logging (#44873)
When someone (un)welds a vent/scrubber, it now leaves fingerprints and
logs the action to the investigate atmos log.
2019-06-30 15:46:58 -07:00
YakumoChen 461191d2bd Nar'Sie plush can't invoke now (#44858)
* heresy

removes is_invoker from narsie, removes redundant hugbox version

* double heresy

remove var
2019-06-30 15:25:54 -04:00
AnturK d8b023774e Quirk preferences fixes (#44823)
Removes the useless split by value lists. Updates savefile after
removing invalid quirks. I'd prefer usual savefile validation but quirk
lists are built pretty late. Other solution would be hooking all prefs
to after quirk SS initializes, this seems less intrusive if ugly but
I'm open to alternative suggestions.
2019-06-29 20:07:21 -07:00
Krysonism e5d5cef356 Move the player's selection items to the top (#44868)
The chef's compartment and any future compartments of this type are
moved to the top of the interface.

It is time to unleash the awesome power of the free market and
cultivate a spirit of entrepreneurship. By placing the chef's
compartment on top of the subsidized swill provided by tyrannical
pseudo-governmental entity know as Nanotrasen, we can promote the
commerce of those possessing a mind undulled by the poison known as
socialism. God Bless the USA
2019-06-29 15:17:17 -07:00
plapatin c863766ea4 THE VOMITGOOSE PR (#44563)
* vomi/tg/oose

* fuck

* cleaning up icons

* action button time

* seperating if checks

* makes goose hungry

* untested

* last change

* new additions

* qucikfix

* fug

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

* fugg

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

* fix the fucky wuckies

* ninja spent a full hour of their life spoonfeednig me on how to make an untyped proc

* FUCKING INDENTS

* whoever made that comment in turf.dm is a buffoon

* does more things

* adds return things

* appease ninja

* makes maintainers happy

* last fix maybe

* adds more fun

* makes more maintainers happy

* balance

* it can now be loose

* goose_satiated

* fuck

* ok maybe 170 is too much for a max

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* woops

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 9f45c26721550d5991240b82dcddf01be81ccd3b.

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 0fe63392f608114a4f82e59644dd4b46599032ff.

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 4117e196b8093ad0a966d54dff43887d623c8f74.

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 8bfbb977cba7bb1eda83532bc8a3865373e4f019.

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

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

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

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

* Update goose.dm

* i hope this doesnt cause more merge conflicts

* Revert "i hope this doesnt cause more merge conflicts"

This reverts commit 842e1a8a851c45c1d94fb0720d0995a5dd2c7083.

* test

* ok maybe this time

* please god work this time

* please god work this time

* FATHER INTO YOUR HANDS I COMMEND MY SPIRIT

* shortening typecheck

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

* does

* WHY HAVE YOU FORSAKEN ME

* IN YOUR EYES FORSAKEN ME

* IN YOUR THOUGHTS FORSAKEN ME

* as it turns out getting the turf twice wasnt necessary
2019-06-29 11:54:34 -04:00
AffectedArc07 c4e75bc40b [READY] SSdiscord and Round Notifications (#44231)
* Notify System

* V2

* Adds a hint

* Stoned fixes round 1

* Use grammar wells I can

* This didnt work

* I wish you could test on TGS without committing

* Jordie fixes round 1

* oops

* This took way longer than it should have taken

* Adds in endnotify for serverops

* Spacing
2019-06-30 00:43:25 +10:00
Jordie 0888f07552 Merge pull request #44856 from MCterra10/sql-fix-staging
Fixes issue with protected word in MySQL version > 8.0.2
2019-06-30 00:11:21 +10:00
oranges 7adaf7d900 Merge pull request #44685 from Tlaltecuhtli/patch-38
fixes BVAK injectors having salburol instead of perficilin
2019-06-29 21:14:16 +12: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
JJRcop 938789d0a7 [READY] Blocked words tell you which ones (#44728)
About The Pull Request

Same premise as #44712 but using a simple regex replace and also on the client side
Closes #44712

I was gonna PR it to #44712 but half way through I realized I had already replaced nearly all of bobbah's changes, and after I was finished the branches shared nothing.
Why It's Good For The Game

The delta is way smaller and simpler
Should solve the DoS concerns without needing a limit on bad chats because it's not a loop it's on the client side
Changelog

cl JJRcop and Bobbahbrown
tweak: When attempting to say a blocked word in character you will be notified which ones were blocked.
/cl
2019-06-29 21:09:56 +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
Twaticus 0cd4ca69a5 Department Skirts (#44776)
About The Pull Request

Adds department skirts to all related lockers/vendors

Why It's Good For The Game

Skirts good
Changelog

cl
add: added department skirts
fix: fixed secskirt dixel
/cl
2019-06-29 21:01:44 +12:00
Brett Williams e09d26acba Add log message when player dies (#44855)
Logs a message upon player with with name, location, and damage. I
elected to put this in game over attack as it feels more relevant to
game.
2019-06-29 00:22:44 -07:00