Commit Graph

15448 Commits

Author SHA1 Message Date
LemonInTheDark
7e9ff85f2a [NO GBP] Jetpack and spacedrift: Fixes and niceties (#66628)
* Jetpack and spacedrift: Fixes and niceties

Ok so when I ported spacemovement onto movement loop,
I neglected to port this behavior that existed to support jetpacks.

Basically, if something that lets you move while spacedrifing
completes a move while you're spacedrifting, the
drift should "disable" to let it complete, and then later restart.

I neglected to add support for that, so that's what this does.

There's some other stuff going on here, mostly things to let jetpacks
ignore some of drift's extra behavior, since when a jetpack is not on
stablized, we want both to coexist.

It's a bit of a mess, I'm sorry about that.

Oh and at temporal's suggestion I've moved the visual_delay set from
newtonian move to an istype on the drift component, that was a good
idea, thanks quiet

* Makes dropping a pull while drifting carry the momentum into the pulled thing\

* Adds some extra context to Process_Spacemove, fixes a bunch of stupid
space bugs

It used to be, if you called Process_Spacemove with a direction, it
assumed you were an "action", so a client or mob trying to move in a
direction.

Unfortuantely for it, I needed to be able to use direction to make mob
pull drifting work. So we now actually pass in a second variable
called continuous_move, which tracks if this Process_Spacemove is on
behalf of a continuous move or not

In addition to this, I've added logic to bumping "off" someone to
prevent backbumping if that makes sense, since the bump is in the form
of a newtonian move that's run before the thing that's bumping actually
moves, we need some way to exclude it from holding the other object in
place.

* Adds a jetpack component, uses it to unify all three versions of
jetpacking

I hate you fikou
There were three copies of the same behavior, which made it hard to fix
stuff. Let's just componentize it

* Fixes jetpacks stabalizing even without fuel

This is mildly hacky. The real fix is to do this with events, but I
really don't wanna bend my brain like that. This'll do

* Ensures turn_off always has a user)

* Shut pu

* Bulky drags no longer effect your movespeed in space, fixing a consistency issue between them and all other forms of drags

* Removes some redundant code, cleans up some messy stuff

* Removes redundant safety checking from jetpack code

* see above

* Removes redundant signals
2022-05-20 00:54:00 -07:00
Son-of-Space
8440d20981 [MDB IGNORE] Reformats Access IDs for accessibility and futureproofing (#67002)
* [DRAFT] Reformats Access IDs for accessibility and futureproofing

* replaced all the old defines and IDs everywhere

* replaced ID integers with strings, cleaned up a couple tram helpers

* replaces req_access_txt with req_access and fixes a few of my mistakes

Co-authored-by: san7890 <the@san7890.com>
2022-05-20 02:43:02 -04:00
nickup9
257678a9f8 Makes departmental budget accounts visible on command IDs, makes departmental budget mechanic more obvious in general (#67035)
* Head ID reports dep budget

* Adds Dep. Budget shorthand name to ID examine where applicable

* Cleaner & more readable ingame and codewise

* Modifies Cargo requests console js to allow title modification, IRN modifies titles where applicable

* Better way of doing things

* QM gets Cargo's budget on ID

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>

* pain peko

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-05-18 21:07:35 -04:00
Sylphet
51db61cff5 Spinward Smoothies Space Ruin (#67001)
Adds a space ruin called Spinward Smoothies. It's a nature-themed smoothie bar built into an asteroid. Also includes recipes for six smoothies to match the theme.

It's a cute little thing to find in space, enabling space explorers to grab a drink there and relax for a while. More things to explore.
2022-05-18 16:57:08 -06:00
Seth Scherer
711498ed33 Fixes toy mecha not having the proper say args (#67108)
This was causing linter failures because someone forgot to include the
proper args for this override
2022-05-18 14:27:01 -04:00
ReinaCoder
2899db2fda Fixes spray cans and pipes fitting inside of tablets. (#67057)
They were subtypes of crayons and cigarettes which allowed them to be fit inside. To fix this, the tablet can only hold tiny items and spray cans and pipes have been changed from tiny items to small.
2022-05-18 12:10:02 -04:00
robbertapir
a5cae13a27 Fixes attacking humans, paintings and some other stuff with items causing the animation to display incorrectly (#66227)
Fixes #58058 (Fried items have error sprites when attacking, fried and grilled items grill the error sprite)

Attacking humans or other things that have KEEP_TOGETHER (atmos omni tanks, supplypods, paintings) with a deep fried thing will now actually show that thing instead of both that thing and an error sprite.
Attack animations for attacks against those things are no longer black.
2022-05-17 23:02:51 -07:00
fippe
487ded9757 PACMAN buff to make it usable as backup generator again (#67062) 2022-05-17 21:20:59 -07:00
Cheshify
9aeeb24838 Massively Nerfs Snowdin Gamer Loot (#66997) 2022-05-16 16:45:09 -07:00
Son-of-Space
f3c92c5b6e Gives Detective ACCESS_SECURITY, moves security equipment to ACCESS_BRIG (#66990)
* Gives Detective ACCESS_SECURITY, moves security equipment to ACCESS_BRIG

* Removed Forensics access from brig closet, security records
2022-05-16 18:43:57 -04:00
Dorsisdwarf
49ce69df47 Egg Frying Overhaul (#66137)
- Removes friedegg recipie
- Adds a new rawegg grillable into friedegg, obtained by breaking an egg onto a griddle (right-click).
- Changes the double-egg friedeggs sprite to a single-egg. No more eggmancy!
- While we're at it, replaces the raw egg in the fried-egg-and-sausage recipe with a fried egg.
2022-05-16 12:31:58 -05:00
MrMelbert
4fa6e49c61 Adds radial support + balloon alerts to stack crafting, cult metal now uses a radial when making buildings (#66938)
* Adds radial support to stack crafting
- uses it for runed metal

* Unit tests

* Balloon alerts and toilet lives
2022-05-16 09:34:52 -04:00
DragonTrance
89650214fd [MDB Ignore] Refactoring Flora code (#66978)
* organizing flora file and icon states, & flags

Changes the typepath for a lot of flora, and adds new paths depending on the amount of icon states the flora had, for better modularization on mappers. Also adds flags to the flora depending on what type it was, instead of 3 bools

* Getting ready to attempt to modularize flora

Moving most vars and procs from ash flora into the normal flora type path, as a general preparation to add more here

* Weighted products & Region Messages

Rewrites flora code so a flora's produced items can be initialized with a weighted list. Also has some improvements, relating to item stacks.

Adds an option via variables to separate 3 messages into 3 possible regions, or the old method where the message changes when the value is exactly the same as the low or high harvest value

* organizing + documentation on procs

* Documentation, Organization & Modularization

(DOMing) yeah, I dom
Gives variables for tools that can harvest flora, a blacklist of them, and modularizes variables a bit.

Retypes the stump to be a subtype of a tree, which just deletes after being harvested

* Adds the ability to uproot flora with a shovel

* added eswords to the list of things that can cut

* ausbush junk

* code review appreciation + changing drag_slowdown

* more code review appreciation

* kirbyplants ComponentInitialize() -> Initialize()

* forgot glob.
2022-05-16 00:00:54 -07:00
Seth Scherer
a3add37618 Refactors the forensics component into a datum (#66809)
About The Pull Request

This was doing things component really shouldn't be doing, and now all
of its behaviour is contained onto a datum, as it should've been the
whole time
Why It's Good For The CODEBASE

some things just really shouldn't be components, this was made back when DCS was first implemented and just thrown in because it was the new hot thing i guess, but datumized forensics makes far more sense, AND doesn't use GetComponent

TODO:

    More thorough testing to make sure nothing broke

Changelog

🆑
refactor: Turned the forensics component into a datum.
/🆑
2022-05-16 16:33:59 +12:00
YakumoChen
fa271795da Gives boritos more flavour (#66958)
About The Pull Request

Rewrites the descriptions for Boritos flavours
Also makes them taste better too like the code comment implied
Why It's Good For The Game

All the descriptions were bland, like plain Boritos
Changelog

cl
spellcheck: Boritos flavours have more flavour!
/cl
2022-05-15 09:27:58 +12:00
GuillaumePrata
b500a5b188 belt.dm lists are in alphabetical order now. (#66943) 2022-05-14 12:15:38 -04:00
GuillaumePrata
5a83cfbf09 bags.dm lists are in alphabetical order now. (#66951) 2022-05-14 11:14:36 -04:00
GuillaumePrata
04ecd0ab72 Advanced tools are medium sized, toolboxes can carry medium sized items. (#66900)
* Advanced tools are medium sized now.

* Moves `w_class` 1 line down

* Moves `w_class` MORE DOWN

* Syndie Jaw pocket edition.

* Toolboxes can carry medium items, pocket syndie jaw in desc.
2022-05-13 12:34:26 -04:00
John Willard
0a4d82046a Fixes pants altars being spammable (#66911)
The cooldown doesn't start until the pants is finished being made, so while its still making the pants, you can spam the shit out of it
2022-05-13 07:59:26 -07:00
John Willard
cfca867cf8 Fixes the captain's PDA (#66908)
I screwed it up and didn't make the Captain's PDA a subtype of heads, so captain was spawning with the wrong PDA.
2022-05-13 10:57:46 -04:00
magatsuchi
6bddf82ad8 fixes admin ticket linking bad href (#66910)
Fixes a bad admin href in help tickets
2022-05-13 10:56:55 -04:00
John Willard
62281befe3 makes minifridges able to hold more stuff (#66922)
Due to mini-fridges being in the pool for spawning instead of crates/lockers, if there's too many things meant to spawn in said fridge, unit tests will fail because it cannot hold it.
To fix this, I simply added more storage capacity.
2022-05-13 10:51:29 -04:00
MrMelbert
3d5a36308e Reduces the chance of spawning a pants altar (#66904)
* reduces the chance of spawning a pants altar
2022-05-13 04:15:51 -04:00
Ghilker
f134d777ca Remove organs from delimber anomaly (#66888)
* Remove organs from delimber anomaly

* Remove organs from reactive armour
2022-05-12 11:09:15 -04:00
Seth Scherer
035373e746 Repaths /obj/item/clothing/mask/animal/rat to make more sense (#66860)
* Repaths `/obj/item/clothing/mask/animal/rat` to make more sense
It was used as the parent for a lot of other small animal masks simply
because of its flags and a single proc, so i repathed it to
`/obj/item/cltohing/mask/animal/small/...` to make more sense

* adds an updatepaths

* fixes the got damned maps
2022-05-12 10:49:02 -04:00
Ebb-Real
da8934cbcb Vape GAGS (#66859)
* what am i gonna do with the open panel overlay

* subtypes and color presets
2022-05-12 06:24:50 -04:00
John Willard
cc57407c79 [MDB IGNORE] Removes tablet cartridges + reworks a ton more (#66505)
- All tablets who previously had apps in a cartridge now has them built-into their tablet instead. This means it costs space for it.
- Rebalances the sizes of several apps to help them fit on Command tablets (Cargo ordering costed 20!!)
- Removes tablet cartridges, they've been reworked into a regular old portable disk (the same you use for toxins/borgs)
- Removes Signaller (the module required to run the signaller app) from tablets (likely will remove more in the future)
- Refactors the health/chem scanning app to not be as bad
- Dehardcodes detomatix resistance
- Ability to send PDA's to all is now tied to your access rather than a cartridge
- Moves 'eject disk' button to the very top of the UI
2022-05-11 12:04:11 -04:00
MrMelbert
29bfa42779 Converts jittering to status effect, striking yet another mob level status value (#66852)
Converts jittering to status effect, striking yet another mob level status value
2022-05-11 00:56:29 -04:00
Ryll Ryll
e8f2441630 Minor twohanded component refactor (#66791)
The two handed component, while useful, has quite a bit of bloat that gets replicated whenever a new class of 2h items is added.

This PR cuts that bloat by replacing the use ofCOMSIG_TWOHANDED_WIELD and COMSIG_TWOHANDED_UNWIELD as ersatz callbacks with actual callbacks, the replacement of various var/wielded defs on items with a check for HAS_TRAIT(src, TRAIT_WIELDED), and the removal of any now-unnecessary on_wield()/on_unwield() procs that simply toggled those wielded vars
2022-05-10 20:09:23 -04:00
Ghilker
bdc6804680 Powerfist code improvement (#66824)
I wanted to add some nuance to the used gasmix in the powerfist but i want to do some cleanups first so here we are, i've also added some more text in examine and item use for a bit of quality of life
2022-05-10 19:44:44 +01:00
vincentiusvin
30b84afc48 Fix a missing bold tag in the omega soap poem (#66827)
Its only missing an opening b tag
2022-05-10 13:19:10 -04:00
dragomagol
4aa0108265 Adds lore terminals for mappers (#66589)
This adds the ability to use Fallout-style terminals for maps
2022-05-10 12:01:04 -04:00
dragomagol
8764893593 [MDB Ignore] Mapping directional helpers for signs + sign naming conventions (#66754)
* Add mapping helpers for signs, make names snakecase

* Update maps

* Couple of lost signs in the elephant graveyard

Co-authored-by: tattle <article.disaster@gmail.com>
2022-05-10 06:32:09 -04:00
MrMelbert
e63d556d83 Confusion status effect is now duration based instead of magic number based (#66801)
Refactors the confusion status effect. Removes "confusion strength" and replaces it with duration, which is measured in seconds.
This also allows them to use the adjust_timed_status_effect procs instead of their own.

Fun fact! 2 years ago when confusion was refactored into status effects, all confusion effects in the game were halved in duration. They were changed to status effects, which tick every 1 second by default, from life, which tick every 2 seconds by default, without any values changing.
2022-05-09 18:59:33 -07:00
MrMelbert
a020e28305 Removes "strandling" status effect from a bunch of random places / refactors it (#66711)
Refactors /datum/status_effect/strandling to utilize signals so that it's not present in a bunch of random places via hard checks and traits.
2022-05-09 09:58:00 -07:00
Seth Scherer
3f094d417d Refactors cyborg drink refilling into a component (#66795)
Turned the cyborg drink refilling feature into a componebt to clean up
the code since it was pretty snowflakey. Also, organizes robot item code
and fixes some bugs that existed with said code (i.e. child drink
holding aparatuses were getting a beaker + their specific glass type
inside of contents)
2022-05-09 09:24:07 -07:00
private-tristan
14e45f5703 changes name of trait "STUNRESISTANCE" to trait "BATON_RESISTANCE", changes some descriptions (#66788)
it will make a whole lot more sense when you look at the trait and see what it does, instead of assuming what it does based on its very clear name
2022-05-09 10:19:52 -04:00
Ghilker
4323540b6b Anomaly expansion - part 2 - Delimber anomaly (#66420)
A new anomaly is here! the Delimber anomaly!
contrary to its name, this anomaly doesn't do you dirty by removing all your limbs.
It will instead improve your body by randomizing your limbs with every species known! Isn't that amazing?!
Incredibly enough it can also change your organs, improving them and expanding them! (we think this is amazing!)
Now you can also harness that power by constructing a reactive armor with its core, but be aware to not get hit by an EM pulse, our insurance doesn't cover that.
A note on safety, this anomaly doesn't stop, will keep on pulsating until eliminated.
2022-05-08 14:19:43 -07:00
Comxy
b525e9162a Titanium and plastitanium shards and weapons + missing textures. (#66544)
Ever been bothered by why titanium glass and plastitanium glass do not drop their own shard types? Well this is the perfect PR for you! Titanium and plastitanium glass shards never existed, and it is probably because the person who made glass way back in the day didn't have time to add these shards. Luckily I decided to add them after all this time. Every piece of code created has been carefully considered and copied form other code, so then you know it is good code. Also I added more tags, I looked at the guidelines and found that adding the fix and qol tags probably boosts my pr score so it will get merged.
2022-05-08 14:11:08 -07:00
MidoriWroth
b94a924468 Adds even more foods! (#66380)
This is part two of my previous food additions, this time with much more variety. This will add:

Chips and salsa: An item I have long wanted to see on the list of things you can make, and a staple of Mexican dining.
Fish tacos: Adds more variety to seafood menus, and of course, because fish tacos.
French toast: Another addition I have wanted to see for a long time. The raw version will be prepared and then be required to cook on a griddle.
Updated stuffed cabbage/pierogi sprites, because I wasn't too pleased with my previous ones.
Seaweed sheets: Made at a biogenerator and are used for making sushi.
Vegetarian sushi: Straightforward vegetarian option for sushi, can be sliced into four pieces.
Spicy filet sushi: An omnivore specific sushi with a bit of spice, can be sliced into four pieces.
French silk pie: A decadent desert that finally adds a form of chocolate pie. Sliceable.
2022-05-08 10:40:21 -07:00
Fikou
a5de76df72 Adds an ancient altar to maintenance. (#66666)
Adds an ancient cult altar to the depths of maintenance.
It can create products woven by the ancient cultists.
2022-05-08 10:36:22 -07:00
Ghilker
c8f27896c0 Supermatter cascade round-end (#66659)
This PR adds the resonance cascade to the SM (idea ported from vg but with total rewrite)

The resonance cascade will turn reality into crystals that devours and destroy everything.
It can be triggered by delaminating the SM when is in contact with hypernoblium and antinoblium, both at over 40% and with as many moles to trigger a singulo delamination. The cascade can't be triggered if the SM is already under 80% integrity and if at any point any of the gases gets under 40% or the total gets lower than the amount for singulo, it will stop the cascade and can't be retriggered unless you reset the SM to over 80% integrity.
2022-05-08 10:27:49 -07:00
Ebb-Real
e5909ce738 Bandana GAGS follow-up (#66605)
A lot of bugs came to my attention with bandana dyeing after #65760 was merged. This should cover all of them.

fixes #65947, by making you unable to dye bandanas while they are adjusted. You also can't dye bandanas that have skulls or stripes on them since that causes all sorts of problems with GAGS and switching from multiple layer to only 1 and same thing reversed.

When you dyed a bandana and then adjusted it into a neckerchief and back it would reset its name to what it was originally before being dyed. This was because it used the initial proc. I fiddled around with trying to catch the dyed name in a var but it would get way too complex and unnecessary so I came up with the idea to just make a visual change instead of name change, by making the bandana slightly wider like a neckerchief would be when adjusted.
2022-05-08 10:24:44 -07:00
Ghilker
2006afe7c1 SM delamination flux nerf (#66752)
Lower the amount of anomalies spawned from the SM delamination
Lower the probability of getting a flux anomaly
Flux anomalies spawned by the SM in this way will have the explosion size reduced by 4
2022-05-08 10:15:00 -07:00
Fikou
a6ae1fb78a removes permeability, rolling it into bio armor (#66742)
refactors our disease code a tiny bit
removes permeability_coefficient variable from clothing, it decided how much stuff like chems or disease passed through your clothes, while BIO armor only decided how much you could spread diseases yourself, making it pretty much laughable
permeability_coefficient is now fully rolled into bio armor, so your bio protecting stuff will now protect you from other biological hazards like blobs
2022-05-08 10:10:54 -07:00
Zonespace
c3f3d892bf Disables the tax on off-station lathes (#66566)
Disables the tax from lathes off-station or on-mining-level lathes.
2022-05-07 20:43:36 -07:00
MrMelbert
8df3a80bd5 Refactors the Charge wizard spell (#66599)
This PR refactors the "charge" spell to be signal based instead of looping over held items + istype checks.
This was atomized out of my proc holder removal PR. Figured it was small enough to handle on its own.
2022-05-07 20:02:24 -07:00
LemonInTheDark
98f32035d8 Parallax but better: Smooth movement cleanup (#66567)
* Alright, so I'm optimizing parallax code so I can justify making it do a
bit more work

To that end, lets make the checks it does each process event based.
There's two. One is for a difference in view, which is an easy fix since
I added a view setter like a year back now.

The second is something planets do when you change your z level.
This gets more complicated, because we're "owned" by a client.
So the only real pattern we can use to hook into the client's mob's
movement is something like connect_loc_behalf.

So, I've made connect_mob_behalf. Fuck you.

This saves a proc call and some redundant logic

* Fixes random parallax stuttering

Ok so this is kinda a weird one but hear me out.

Parallax has this concept of "direction" that some areas use, mostly
the shuttle transit ones. Set when you move into a new area.
So of course it has a setter. If you pass it a direction that it doesn't
already have, it'll start up the movement animation, and disable normal
parallax for a bit to give it some time to get going.

This var is typically set to 0.

The problem is we were setting /area/space's direction to null in
shuttle movement code, because of a forgotten proc arg.

Null is of course different then 0, so this would trigger a halt in
parallax processing.

This causes a lot of strange stutters in parallax, mostly when you're
moving between nearspace and space. It looks really bad, and I'm a bit
suprised none noticed.

I've fixed it, and added a default arg to the setter to prevent this
class of issue in future. Things look a good bit nicer this way

* Adds animation back to parallax

Ok so like, I know this was removed and "none could tell" and whatever,
and in fairness this animation method is a bit crummy.

What we really want to do is eliminate "halts" and "jumps" in the
parallax moveemnt. So it should be smooth.

As it is on live now, this just isn't what happens, you get jumping
between offsets. Looks frankly, horrible. Especially on the station.

Just what I've done won't be enough however, because what we need to do
is match our parallax scroll speed with our current glide speed. I need
to figure out how to do this well, and I have a feeling it will involve
some system of managing glide sources.

Anyway for now the animation looks really nice for ghosts with default
(high) settings, since they share the same delay.

I've done some refactoring to how old animation code worked pre (4b04f9012d). Two major
changes tho.

First, instead of doing all the animate checks each time we loop over a
layer, we only do the layer dependant ones. This saves a good bit of
time.

Second, we animate movement on absolute layers too. They're staying in
the same position, but they still move on the screen, so we do the same
gental leaning. This has a very nice visual effect.

Oh and I cleaned up some of the code slightly.
2022-05-07 14:59:41 -07:00
MrNihil
cf8a97509a Genetic Scanner shows active mutations, allows genetics to recycle unused mutators (#66424)
* Attempt to clean up genetics code and to add functionality that seems that should have been there:
* Fixed some variable names
* Genetic scanner now properly shows all mutations mob has
* Genetic scanner highlights (bolds) active mutations
* Made DNA Console description something less generic
* Made Genetic Scanner description more straightforward about syncing database
* Added option to recycle unused activators
2022-05-07 15:36:32 -05:00
TemporalOroboros
068a3be859 Makes smoke and foam attempt to fill the available space. (#65281)
Have you ever noticed that the chemical smoke and chemical foam reactions are a lot less effective in confined spaces? This is because they currently attempt to spread to all tiles within n steps of their origin. If they can't expand onto a tile they get blocked and the expanding cloud/flood misses out on all the tiles that would be in range, but that can't be reached.

Obviously smoke and foam getting blocked by walls and the like makes intuitive sense, but it seemed a bit nonsensical that walls would basically delete a significant chunk of an expanding, amoebic mass. The solution I came up with is making smoke and foam expand until they cover a certain area, with a shared tracker for the target size and total size of the flood. The flood will simply expand as normal until it covers the desired target area. Blocked expansions just don't count and will be made up for with expansion elsewhere.

Attendant to these changes are a whole bunch of minor code improvement to smoke, foam, and one for wizard spells because I was already in the area and :pain:.

There have been some minor balance changes to the chemical smoke and foam reactions:

I converted them over to passing the desired area of the resulting smoke cloud/foam flood. The old equation for the resulting area was along the lines of 2sqrt(x)(sqrt(x) + 1) + 1 given reaction volume x and given unobstructed expansion. I've made them just pass around 2x instead. This is actually less than they used to try for, but now they're guaranteed to reach that unless the flood is fully contained. Not entirely certain if buff or nerf. Probably buff on the station.
Also, foam dilution is now based on covered area instead of target expansion range. Since this scales faster than it used to foam has been effectively nerfed at high volumes. To compensate for this I removed the jank 6/7 effect multiplier and increased the base reagent scaling a bit. Again, not certain if buff or nerf.
2022-05-07 13:10:37 -07:00