Commit Graph

1128 Commits

Author SHA1 Message Date
Mothblocks
bcaaa65e6a Stop singularities from consuming themselves (#58987)
This bug was fixed by one of the connect_loc PRs, but this is still useful as it contains a CRASH for when it happens if this bug comes back again.
2021-05-14 20:12:46 -07:00
LemonInTheDark
8d1c6c9bca Fixes a ci error caused by adding an element to something that'd being deleted (#59108)
So that's why mythril coins kept harddeleting.
Man I'm glad I added an error on adding elements to qdeleted objects.
2021-05-14 18:37:34 -07:00
cacogen
abaa9bdedf Adds deflection messages for no damage attacks against objects (#58873)
* Adds deflection messages for no damage attacks

* Changes the addition to ", which doesn't leave a mark" instead
2021-05-14 17:01:23 -04:00
GoldenAlpharex
4625c656c4 Fixes layering for piggyback rides (#59082) 2021-05-14 16:39:31 -04:00
tralezab
132a755aa3 Componentizes Duffelbag Curse and turns it into an RPGloot modifier (+ curse announcement element) (#59029)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-14 01:03:45 -07:00
LemonInTheDark
3f1aab3a94 Fixes some fucked Destroy()s (#58973)
Some stuff was failing to return qdel hints, might as well sweep that upppppp
(Hey mothblocks I know you're reading this, we should really lint for this, but don't push yourself over it I
know you're busy as it is)
2021-05-13 04:20:54 -07:00
tralezab
dc2ebdb410 fixes udders not performing some things (#59025) 2021-05-13 04:19:12 -07:00
Swept
a757971a7e Fixes typo in explodable.dm (#59050) 2021-05-13 04:13:34 -07:00
Paper Kristy
7fe4357b54 Fixes medical borgs on skateboards look weird (#59059)
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
2021-05-13 04:12:50 -07:00
Timberpoes
f36c7fa43f Split malf AI antag datum away from traitor, enable malf AI roundstart ruleset. (#59064)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-13 02:39:16 -07:00
Funce
a8976d419e validate THIS integration tests (#59024)
Hi, the #58882 PR missed that validate takes an item, no parent var lookup required.
Why It's Good For The Game

UNFUCKS MASTER
2021-05-11 12:46:07 +12:00
tralezab
332fa0b3d0 fixes master (adds a name to the venomous prefix, fixes bad signal in udders.dm) (#59007)
* Update prefixes.dm

* widening the scope to be fixing master in general
2021-05-09 19:45:12 -07:00
tralezab
ea57e3f960 Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882) 2021-05-09 16:49:59 -07:00
tralezab
0823302f30 GOOFUDDERS: YOU CAN MILK ANYTHING (You can only milk cows, goats gutlunches but with componentized goodcode) (#58910)
Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2021-05-09 16:49:31 -07:00
Jonathan Rubenstein
770148de06 Replace Maint. Drone machinery whitelist with last touched check & other tweaks (#58802)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-08 16:12:31 -07:00
tralezab
5171ccd7b3 Add admin tool for adding specific fantasy affixes (#58884)
A new option when using VV on atom movables is to add a custom
fantasy "affixes".
2021-05-07 17:21:58 +01:00
Kylerace
08df8798ce (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc (#58340)
Co-authored-by: Jared-Fogle <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-05-07 03:54:03 -07:00
LemonInTheDark
c906c44393 Fixes a fuck ton more harddels (#58779)
Redoes how geese handle eating shit, it was fucking stupid and caused harddels, and while this method is technically slower in the best case, it's a fucking goose
Fixes action related harddels, I hate how they work but at least this way they won't hold refs.
Fixes the hierophont causing its beacon to harddel
Removes the M variable from megafauna actions, it was used like a typed owner and caused harddels, so I burned it
Fixes target and targets_from harddels, replaces all setters of target with LoseTarget and GiveTarget, which should help maintain behavior. I'm not sure if this breaks anything, but if it does we should fix the assumptions that code makes instead of reverting this change
Fixes more area_senstive_contents related harddels, we need to allow the mob to move before clearing out its list.
Fixes marked object harddels (I'm coming for you admin team)
Fixes a language based human harddel
Fixes managed overlay related harddels (This was just emissive blockers, but I think this is a good safety net to have. If we clear the overlay list we should clear this one as well)
Fixes bot core harddels, I hate the fact that this exists but it has no reason to know who its owner is
Adds a walk(src, 0) to simple_animal destroy, it's the best bang for the buck in terms of stopping spurious harddels. Walk related harddels aren't that expensive in the first place, since byond does the same thing I'm doing here, but this makes finding mob harddels easier, so let's go with it
I fixed another source of part harddels, I hate fullupgrade so much
Fixes all the sound loop harddels
2021-05-05 10:57:27 -04:00
tralezab
905b9b5a2b Component readme file now links to the Signals, Components, and Elements HackMD page instead of the forum (which links to the hackmd page now anyways) (#58876) 2021-05-05 01:32:26 -04:00
tralezab
fa83a686c4 Add #cargobus and gauntlets (also modernizes ntchat) (#58609)
* cargobus, start of gloves

* basics of the HAUL gauntlets

* fully mapped in

* almost forgot the gauntlets

* ntnet improvements

* cargo gaunts, tablet cargobus

* excludes body bags

* dmis and map back

* readd icons
2021-05-05 05:56:39 +03:00
Celotajs
574c81a143 Resolve chameleon GAGS item issues (#58808)
This PR fixes issues with the chameleon jumpsuit and sneakers. In addition to that, it properly defines setting for GAGS worn and inhand icons instead of having them be in Initialize() for specific item types. Names for the prisoner jumpsuits and wheelys have also been reverted to how they were before the GAGS PR.
2021-04-30 22:16:18 -07:00
Ryll Ryll
69e59ccc06 Fixes gunboots shooting the wearer (#58651)
For whatever reason, gunboots could immediately shoot the person wearing them when they fired. This obviously isn't ideal, so this fixes that. Once the bullet has ricocheted off something, of course, they're once again fair game to be hit. This also kills the projectile_shooter component because it was pointless
Fixes: #58242 (Bullets fired from gunboots hit the wearer)

As if the trail of people trying to kill you for wearing this isn't bad enough, you don't need the shoes themselves doing you in
2021-04-29 23:23:11 -07:00
Ryll Ryll
5b65e5bfc9 woops (#58757)
I was an idiot in #57797 and forgot to make the rune wizards can buy to add shield charges to their shielded hardsuits actually delete after being used, allowing you to use one rune infinitely. Oops! This PR fixes that.

No more invincible wizards
2021-04-28 16:48:10 -07:00
TemporalOroboros
9f598a9662 Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor

- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.

* Miscellaneous changes

- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments

- Removes a whole bunch of argname = 0 in explosion calls.

* Removes named callback arguments.

* Changes the explosion signals to just use the arguments list

Adds a simple framework to let objects respond to explosions occurring inside of them.

Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.

Makes the explosive compressor and blastcannon actually use the TTVs they are given.

Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments

*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
2021-04-26 17:31:25 -07:00
Jonathan Rubenstein
e6eee237d5 Add Show Hiddenprints action to VV on atoms (#58657)
This displays the hiddenprint log from /datum/component/forensics in a simple to view form, sorted by last touch. I didn't make it fancy, it's very bare bones.

I could have refactored hiddenprints to use lists in lists, which would make getting data out a lot easier, but I worry about the additional memory overhead on every atom that gets touched, so I left it as strings in lists. I did reformat it a little bit, however, to make it simpler to sort, and it looks a little nicer. Namely moving the timestamp in front of the name.

It can help a lot in admin investigations on whodunnit. Right now they have to look at the forensics component, and that's if they even know about it. This way it is discoverable by using the VV tool.
2021-04-26 01:27:03 -07:00
tralezab
51e4d14918 freezes addictions and sanity during death (#58691) 2021-04-26 01:11:23 -07:00
Celotajs
fb2d71495b Convert jumpsuits, jumpskirts and sneakers to GAGS (#58514) 2021-04-25 17:01:36 -04:00
Mothblocks
7e4de07506 Remove all gamemodes except Dynamic (#58470)
Removes all /datum/game_mode except dynamic. Eventually, all of mode and game_mode will be removed, and Dynamic will become an ingrained system. Every single other gamemode was unmaintained at best and poisoned other code at worst. Currently all tg servers run 24/7 Dynamic, so the time to act is now.

* Remove gamemode references from age checks

* Monkey

* Remove heretics

* Remove BBs

* Refactor uplinks and remove clown ops

* Remove nuke ops

* Removes and refactors cult

* Remove extended

* Remove and move out meteors

* Removes wizard

* Remove sandbox

* Remove changelings

* Remove traitors

* Remove revs

* Remove gangs

* Remove changing mode and voting for new gamemodes

* get_candidates signature fix

* Summon ERT and NERD in their own panel

* Remove some old unneeded age_check stuff

* Fix old signatures of get_uplink_items

* Use Extended like config for dynamic.json

* Fix discounted gear
2021-04-25 01:55:10 -07:00
Seth Scherer
37aed32283 [s] Fixes uplink discount exploit. (#58625)
* epic

* split em

* early return
2021-04-23 22:12:30 -04:00
Fikou
b17b55aae8 Full Auto Update: no crit firing, no spamclicking, more autofire, more balance (#58595) 2021-04-22 15:59:23 -07:00
Seth Scherer
2180653845 Fixes pop restricted uplink items not properly unlocking (#58542)
Makes it so if you become a traitor when specific items are pop locked, they will update accordingly as the population increases.
2021-04-20 02:42:11 -04:00
necromanceranne
051a00b4c9 Hollowpoints and similar attacks/weapons double existing armor, not add total armor, to the their targets (#58114) 2021-04-17 08:44:20 -07:00
Jonathan Rubenstein
456e475da5 Renews Maintenance Drones (#58249)
It's the second try! (First: #48456)

Drones are little robots inspired by Keepers from the Mass Effect games. With laws to maintain both the station, and their distance from the matters of others, they were a great ghost role that let you fix up the station when you were otherwise out of the round. They were in the game for quite a while, but were abused. The abusive players completely ignored the laws and did whatever they wanted. Being tiny ventcrawlers, this became a huge issue for admins.

I attempted to bring them back, this time with some gameplay restrictions to enforce their laws a bit better. It seemed to go well, but I required headmin approval, and this all happened near a headmin election, so the project died.

Recently, some people have wanted to bring drones back. So, they gave me a ring, and I started a discussion with the admin team to see what other changes they would want in addition to the previous ones.

Here are those changes:

    They can't interact at all when close to another being, living or dead
    Their binary chat has been removed to separate them from AI and borgs
    They can only hold a whitelist of items necessary to do their job
    They can only interact with machines necessary to do their job
    The drone satchel is gone, and drones now have built in basic tools
    They also can't interact in some blacklisted high risk areas
    Finally, you must play 40 hours total as a Silicon role in order to play as a drone

Additionally, the drone dispenser is not mapped, and the drones must be researched to be constructed.
Why It's Good For The Game

Drones are a fun way to pass the time, and this time they have a lot less freedom. You can still perform the basic function of maintaining the station, but not without difficulty and tedium. This will allow other station roles to perform much better than the drones, while still letting them chug along at their slower pace.
2021-04-13 13:10:36 +12:00
MrMelbert
ecb975897b Gives the slippery component a default whitelist of allowed slots (#58267) 2021-04-12 06:56:35 -07:00
LemonInTheDark
5f2f566d74 Gives rotting things a timer before they become fully effective to give more leeway for cleanup. Lowers the max values for disease effect and proc chance significantly. Cleans up some silly zone selection code. (#58290) 2021-04-12 01:34:25 -07:00
Ghilker
7bca0c36dc fix pneumatic cannon recipe (#58257) 2021-04-11 23:14:04 -07:00
tralezab
09ab61ae05 Four New Sects, small rethemes to first 3 (#57820)
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-11 22:57:43 +03:00
Ryll Ryll
b3616d4adf Fixes riding inheritance runtime (#58284) 2021-04-11 04:26:41 -07:00
Timberpoes
232fb90388 Cleanup (#58234)
as x doesn't work properly when used in for loops over special lists.

One instance of as anything in get_turf() in crafting code was removed as entirely redundant. It was an untyped for loop anyway.

Two instances of as anything in contents changed for wheelchairs with warnings added to change them to as anything loops when we upgrade to 514.
2021-04-09 02:31:45 -07:00
Time-Green
cef24e8172 Deletes recipient_reagents_holder on del (#57767)
* Deletes recipient_reagents_holder on del

* Cleans up recipient refs when recipient dels

* no one saw that

* Makes plumbing listen to component signal for finishing

* Unregisters enable call
2021-04-08 15:59:46 -04:00
Ryll Ryll
a54b528dfa Refactors shielded hardsuits into a component, fixes kisses consuming shield charges (#57797)
Shielded hardsuits (like the syndie ones) and shielded cult robes, despite functioning very similarly, were actually implemented twice in their own pockets of clothing code. This merges them into one component that lets you block a certain number of attacks while your suit has charges, and have the suit recharge itself after going so long without being hit (optional, cult robes still don't regain lost charges).

This PR also fixes harmless kiss projectiles consuming charges on shielded suits, I'm sure to much disappointment. They'll now pass directly through though, so you can still try your luck to see if love truly conquers all (it probably won't).

One casualty of this is that you can no longer toggle the shield color of syndie hardsuits with a multitool since that it was annoying to componentize, not something that affected gameplay, and probably something noone knew you could do anyway.

Fixes: #57723
2021-04-05 12:50:12 -04:00
tralezab
9338775bea Processable and grillables and microwavables now give helpful examines, some condiment containers also do (#57694)
* IM DONE LOOKING AT THE WIKI FOR BASIC SNIZZLE

* microwaved, too

* HOOH

* LINT, review

* review but this time im not lying :trollface:

* maybe i should just like test or something

* reviews i missed

* 🐑
2021-04-03 00:51:12 -04:00
MrMelbert
b46b586d7b TGUI Limbgrower + Limbgrower refactoring and design expansion (#57955)
Refactors the limbgrower to modernize the code. Now, the limbgrower can accept any type of reagent in limbgrower designs.

Adds simple plumbing demand to the limbgrower, so you can pipe synthflesh into it.

Adds monkey tails, felinid ears and tails, lizard digitigrade legs, lizard tongues, fake lizard tails (unusable in lizard-wine and similar recipes), plasmaman organs, and ethereal organs (minus the heart) to the limbgrower via limbgrower design disks. These disks can be printed from the medical lathe once the required technology has been researched.

Adds a technology node to unlock the limbgrower design disks after advanced biotech, xenoorgan biology. In the future, this could have an experiment requirement - maybe to scan multiple types of species.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-02 11:01:40 +03:00
Fikou
3c3a31d624 autofire no longer does SIGNAL_HANDLER_DOES_SLEEP (#58066) 2021-03-31 08:57:14 -07:00
SmArtKar
396c6ddf20 Lowers rot disease chance (#58034)
Lowered the chance of disease creation by ~60%
Every round was having horrible breakouts, this ought to fix that
2021-03-29 23:48:30 -07:00
TemporalOroboros
718ee838e2 Fixes lights on people (#58000)
- Fixes light eaters not putting out lights on people.
2021-03-29 12:40:13 -07:00
MLGTASTICa
62a06b26fd Refactors pellet_cloud/create_cassing_pellets to not sleep (#57974)
Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>
2021-03-28 02:14:19 -07:00
LemonInTheDark
d746928a8e Gibs/Dead bodies no longer produce miasma (#57957)
* Gibs/Dead bodies no longer produce miasma

Miasma production as it is now is too little over too long a time span, and it just ends up spreading across the
station and having little effect. My goal here is to remove a source of uninteresting gas from the station's
air, and make corpses and gib piles more infectious.
I've placed the cap on disease payout at a strength of 7, so there's a slight chance of a positive disease, but
I think it's counteracted by the danger presented by just infecting yourself till you get what you want.

I've rewriten the rot component to just run a percent chance to infect someone with a disease based on the type
of rot, and moved almost all of its behavior to signals. There's one portion I can't rewrite without making
significant changes to how I handle atmos sensitivity, so that'll come later.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-26 19:54:26 -07:00
Time-Green
599e7db6e6 Partially revert reaction chamber (#57855) 2021-03-26 12:00:43 +02:00
AnturK
8b1ffd1e49 Adds explorer drones / adventures. (#57851)
A new side-job for cargo. Prepare and launch exploration drones at distant sites to encounter weird adventures, collect loot and expand the station cargo network. Adventures - the main content type here, can be written by anyone without any knowledge of programming. The purpose here is creating an way of interesting way of delivering lore (and adding some new job content/cargo expansion method).

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-03-26 11:38:39 +02:00