Commit Graph

3226 Commits

Author SHA1 Message Date
oranges
55f6c039b3 Showers no longer runtime when you shower with an empty hand (#42410)
held items actually contains "null" entries by default using just var/I
gets these null items and then tries to wash_obj a null causing a
runtime

Specifying /obj/item will stop the nulls being iterated
2019-01-19 00:00:47 -08:00
Qustinnus
06171c1a79 Fix hygiene runtimes, lighten sprite (#42404)
Hygiene sprite is a bit more transparent.
2019-01-18 14:22:09 -08:00
kevinz000
7370de6961 Fixes projectiles not hitting people resting, a bit of refactoring of how projectile target collision is done (#42241)
* Fixes projectiles not hitting mobs, some refactoring too

* some stuff for projectile can hit target to work with not being ontop of an object

* Yeah let's just refactor bullet_act while we're at it.

* Yeah let's just refactor bullet_act while we're at it.

* Yeah let's just refactor bullet_act while we're at it.

* CanPass returns true to projectiles regardless of hit

* snakecase?
2019-01-19 11:17:42 +13:00
coiax
c3e948495b Fixes not being able to insert objects into closets, and being unable to throw (#42407)
cl coiax
fix: Objects and items can now be inserted into closets, like before.
fix: Fixes a bug which prevented carbons from throwing items.
/cl

Essentially, the original way the insert() proc was structured, I
overlooked an else-if chain that was skipped if something was an item,
because I thought it only existed to type-check the item to access its
flags.

These are the changed lines from the NODROP PR. https://github.com/tgstation/tgstation/pull/42109/files#diff-2b130b854bf2e2a5e76320246520eea4L171

closes #42109
2019-01-19 11:12:31 +13:00
coiax
881e8c1ab9 Refactors NODROP flag into TRAIT_NODROP (#42109)
* Refactors NODROP flag into TRAIT_NODROP

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

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

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

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

* Drop location
2019-01-17 15:24:30 -05:00
Qustinnus
e1d360ff05 [ready] Golem DLC pass 2018 (Adds new golem types) (#41951)
* Bronze golem

* adds creation

ad

* removes shit adds shit

* temp

* fff

* bone, leather and cardboard

* fff

* boneyard

* temp

* ahahahha dumb moron

* adds durathread golem sprites

* reee

* ass

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

* fix

* uuh

* d

doned

* remove dupe
2019-01-16 13:42:20 -05:00
oranges
8aa9a2a64a Merge pull request #42312 from Qustinnus/quickfix
initial hygiene tweaks
2019-01-12 10:41:44 +13:00
Unknown
145ac716cb done 2019-01-10 22:45:21 +01:00
Jack Edge
cbf3b770dd Fixes ghosts and camera mobs feeling cold showers
🆑 coiax
fix: Ghosts and camera mobs no longer feel if the shower is cold or too hot.
/🆑

Fixes #42269.

- In addition, replaces some "the shower" with [src].
2019-01-09 18:27:14 +00:00
coiax
56305454bf Cleans up shower code (#41884)
cl coiax
fix: Monkey cubes now expand in a running shower!
fix: Slimes now die in running showers.
/cl

Showers now apply 200 water reagent via TOUCH every tick to anything under them.
This doesn't actually add reagent to the atoms it touches though.
Showers now use timers rather than spawn for the mist creation.
Mist isn't recreated every time the shower is turned on and off.
All living mobs are burned by hot showers, not just carbons.
This means that slimes are healed by hot showers.
Showers are now in a separate file.
Shower temperatures now use defines.

Fixes #41773.
2019-01-07 19:20:45 +13:00
subject217
8e887f12a4 Plastitanium walls are no longer evil (#42217)
This description doesn't really make much sense when people use them for flavor
on stations and sometimes to make entire NT shuttles out of. So it's no longer
evil.
2019-01-06 14:12:50 -08:00
nicbn
c4213f13ab New() -> Initialize() (#41876) 2019-01-03 18:56:15 -08:00
4dplanner
9e962ff5b7 Transparent protection for clothing [READY] (#42075)
* Transparent_protection

* No longer protects captain mask

webedit?

* Use NONE
2019-01-02 15:23:10 -05:00
Qustinnus
62f61a5867 [READY]New durathread content and durathread modifications (#41959)
* durayeet

* Update code/modules/clothing/head/jobs.dm

Co-Authored-By: Qustinnus <Floydje123@hotmail.com>

* Update code/modules/clothing/head/beanie.dm

Co-Authored-By: Qustinnus <Floydje123@hotmail.com>

* Update code/modules/clothing/masks/miscellaneous.dm

Co-Authored-By: Qustinnus <Floydje123@hotmail.com>

* Update code/modules/clothing/under/miscellaneous.dm

Co-Authored-By: Qustinnus <Floydje123@hotmail.com>

* yeet

* adds armor

* webedits yeet

* adds crafting stuff and removes normal cloth crafting

* ff

* final fixes

* Update code/game/objects/items/stacks/sheets/sheet_types.dm

Co-Authored-By: Qustinnus <Floydje123@hotmail.com>

* done
2019-01-02 14:31:06 -05:00
Qustinnus
0de28b726a [READY]Humans now have hygiene (DOES NOT AFFECT MOOD GO AWAY MOODPOSTERS) (#41986)
cl Floyd / Qustinnus
tweak: You now have to be naked to get the nice shower moodlet, if you shower with clothes you get a bad moodie
add: Hygiene, you slowly become dirty over time, the more covered in blood you are the faster you will lose hygiene. When you are too dirty you will have a stink overlay. (Hygiene doesn't affect mood currently) It also spawns miasma slowly if you smell like shit.
add: adds NEET and neat traits. NEET's get 20 bucks social welfare extra and like being unhygienic, while neat people dislike being unhygienic and like being hygienic
/cl

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

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

also NEET and neat traits which interact with being smelly. (neat likes hygiene, dislikes lack of it. NEETs like lack of hygiene and get some social welfare (20 bucks))
2019-01-02 01:04:51 +13:00
Denton
1fec2a3d1b Runtimestation tweaks 2018-12-29 00:32:14 +01:00
oranges
0768dbdfe8 Merge pull request #41985 from Qustinnus/discomode
[READY]Adds new bar item the "Ethereal Discoball"
2018-12-27 13:32:02 +13:00
Unknown
9a4806a7a5 fix 2018-12-27 00:24:41 +01:00
Jordie
c192ece1b3 Merge pull request #41997 from coiax/removes-container-type
Refactors `container_type` into `reagents.flags`
2018-12-23 16:45:10 +11:00
nicbn
8e3a812bf2 You can now click on objects and mobs below flaps and signs (#41866)
* You can now click on objects and mobs below flaps and signs

* Update admins.txt

* Update code/controllers/subsystem/vis_overlays.dm

Co-Authored-By: nicbn <nicolas.nattis@gmail.com>
2018-12-20 12:34:58 -05:00
Jack Edge
054647c382 Refactors container_type into reagents.flags 2018-12-18 13:47:11 +00:00
XDTM
9f74fef3d5 Allows the antimagic component to react to spells, limits holymelon uses (#41739) 2018-12-17 19:09:35 -05:00
XDTM
c05b0eaef9 Turns TRAIT_NOCLONE into TRAIT_BADDNA for consistency (#41819)
cl XDTM
balance: DNA-damaging methods (changeling draining, mainly) no longer prevent alternative revival methods, but can no longer be circumvented by upgrading DNA scanners.
balance: Any source of husking now prevents cloning on unupgraded cloning scanners, instead of only husking caused by changelings.
balance: Husking now fully prevents revival from several non-cloning methods, including defibrillation, surgery, and strange reagent.
/cl

Why? Consistency! Also, the removal of prescanning/autocloning really simplifies this.

Changeling draining effectively prevents cloning until you transfer the brain to an intact body.
2018-12-17 13:05:02 +13:00
Unknown
a46e1881c4 done 2018-12-16 18:58:36 +01:00
coiax
b0d78a8ad2 Bar signs now rename the area, doors and some wall items (#41811)
cl coiax
add: Bartenders can now rename the generic area "Bar" to the bar name of their choice with the use of their bar sign. This will rename air alarms, doors and APCs, so everyone knows what you're calling your bar this shift. (The bar sign chosen is also now a statistic that's tracked!)
/cl

Metastation now only has one bar sign.
Bar signs start blank.
Bar signs no longer require bartender ID to repair.
Emagging now only sets the bar sign (and bar name) to the Syndi Cat, rather than changing the Barsign to syndicate access only and making them impossible to repair.
Only machinery that is normally renamed when the area is renamed will have their name changed, this means only doors originally called "Bar" will be renamed.

Area renames are split into separate procs, so we can use their renaming of machinery features.
2018-12-16 12:55:30 +13:00
coiax
d27c64c3a8 Christmas code changes (#41763)
* Christmas code changes

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

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

Added unlimited christmas tree with presents, for testing.

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

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

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

- Reasoning -

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

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

* Missed a merge

* Adds present investigate logs, and visible messages

* Use the body+mind checking of mob.has_trait

* Less globals, more static vars on types; also event renaming
2018-12-16 12:44:53 +13:00
Jordie
360ba11499 Merge pull request #41916 from coiax/infinite-closets
Adds infinite closets, admin-only utility spawns
2018-12-14 11:14:11 +11:00
Jordie
3885664fd5 Merge pull request #41923 from kriskog/closets
Adds missing secure locker accesses
2018-12-14 11:07:05 +11:00
skoglol
79171a9b33 adds missing locker access 2018-12-12 15:58:41 +01:00
Jack Edge
22188bcf8d Adds infinite closets 2018-12-12 01:29:27 +00:00
kevinz000
10d846022a [READY]MultiZ stuff - tile atmos, movement backend, falling backend, etc etc - Electric boogaloo (#40428)
Basic multiZ mob movement procs (Observers can always move)
Open space, showing what things are below it, and everything that entails. No complex support for dynamic generation just yet.
Decide how openspace should look :/

    Atoms falling through open space (NO MOB SUPPORT/DAMAGE/ANYTHING YET.)

//CANCELLED FOR ANOTHER PR - [ ] Being able to see upwards? Downwards is going to be handled by open space.

MultiZ tile atmospherics - EDIT: Working demo! https://puu.sh/B7mUs/3f6274740f.mp4
Bugtest the heck out of this trainwreck.
2018-12-11 22:09:59 +13:00
oranges
92ac971f7b Merge pull request #41858 from subject217/flapsonceagain
T/F plasticflaps.dm
2018-12-10 00:07:47 +13:00
oranges
5c8336039c Merge pull request #41767 from kevinz000/couches
Adds sofas
2018-12-09 23:12:21 +13:00
Qustinnus
9d28bd7244 Crushes some Ethereal bugs and adds bloodbags for them (#41745)
cl Floyd / Qustinnus
add: Bloodbags for ethereal filled with liquid electricity
fix: Ethereals cant clone lightbulbs anymore
fix: Fixes runtime in Ethereal charge handling
/cl
2018-12-09 23:09:24 +13:00
coiax
84b64328b9 Improves code implementation of the Musician trait (#41742)
cl coiax
add: Any talented Musician can now use any instrument to lift
spirits, and ease burdens. They can now also use the space piano and minimog
to grant people the Good Music buffs, just like a handheld instrument.
/cl

A living mob with TRAIT_MUSICIAN will now apply the Good Music
status effect to everyone who can hear the music. The buff will
now apply even to players who have disabled instrument sounds.

The Good Music status effect lasts for 6 seconds after the
musician stops playing.

Added STATUS_EFFECT_REFRESH that just refreshes the duration
of a status effect, rather than instancing a new one.
2018-12-09 23:08:03 +13:00
Unknown
3d6c5637b8 T/F plasticflaps.dm
when you're too bad at coding to make actual fixes but you want good boy points
2018-12-07 17:51:04 -08:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
kevinz000
45b5bc20fb Adds sofas 2018-12-02 10:21:19 -08:00
Denton
877d3cea69 Fixes heat sources not igniting things 2018-12-02 19:06:20 +01:00
moo
0a61657f41 Merge pull request #41715 from 4dplanner/teamkill2
prevents spawners being teamkilled
2018-11-30 13:30:02 -05:00
4dplanner
360bc5a82a prevents spawner kills 2018-11-28 14:19:04 +00:00
Mokiros
9513eebde2 Adds "mob_name" to servant golem shell (#41656) 2018-11-25 18:48:08 -05:00
Jordan Brown
2e227d11ee Merge pull request #41602 from swindly/word_crimes
Fixes more word crimes
2018-11-21 09:44:00 -05:00
swindly
4bcd3cdc55 fixes word crimes 2018-11-19 17:56:59 -05:00
4dplanner
ce0828a98e Tendrils are now structure based [READY] (#41554)
* Tendrils are now structure based

* Re-adds tendril wipe achievement

neatens up ash walker variables
gets rid of unnecessary variables in hivelord

* Marks spawner children as admin spawned
2018-11-19 14:36:33 -05:00
Jordan Brown
f2b23d670e Merge pull request #41540 2018-11-18 10:57:35 -05:00
subject217
12fbbf3b21 can we get 5 likes? (#41505) 2018-11-16 23:03:31 -05:00
ShizCalev
c1e3deeb34 Fixes item obscuring issues 2018-11-15 18:57:48 -05:00
4dplanner
c84a92f4ce Passes thrownthing to hitby (#41411)
* Passes thrownthing to hitby

* Items now also pass thrownthing

* No longer uses default arguments

Also fixes bananium shield

* Adds more arguments to hitby calls

* Standardises throw_impact

* Clears up some loose ends

* Adds back wacky comment

* Reinstates can_push=FALSE on bananium shield
2018-11-15 10:25:04 +01:00
XDTM
c5ed65e7aa [Ready]Adds direct pay for cargo orders (#40684)
cl XDTM
add: You can now pay for cargo orders from your account with the cargo requests console. Credits will be detracted from the requester's account instead of the cargo budget. A 10% handling fee on top of the order will be paid to the cargo department budget.
add: Cargo employees must still accept the order for it to be delivered.
add: The delivery will arrive in a locked crate that can only be opened by an id with the paying bank account.
/cl

If you're wealthy, why should you waste your time waiting for cargo to get money? Pay for the stuff yourself; the quartermaster won't have to worry about their budget and will likely just put the order in the next shipment.
2018-11-07 21:58:17 +13:00