Commit Graph

32506 Commits

Author SHA1 Message Date
Donkie
53b212ddf2 Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component
2020-09-08 10:24:05 +02:00
Fikou
123450725d adds trait injector mapping helper (#53473)
adds trait injector mapping helper and updates the traits_by_type list
thanks to anturk and mso
2020-09-07 21:59:39 -03:00
LemonInTheDark
208309def9 Merge pull request #53377 from ArcaneMusic/plumbingfixesrev2
So, I may have made at least one... maybe 1.5 math errors. Namely, the reaction volume on every reagent was the full 200u. This is bad for bitcoin, as it means that you can instantly bottom out most reactions and drown someone in 1000 units of water in a single second! That's bad.

Also! On that note, vapor reaction was also transferring reagents that otherwise helped contribute to the above problem. I've yeeted this in kind, but I'm willing to do some more testing and planning to see if they were specific to the reaction volume fix first, but to be safe vapor is vape-aint.

Lastly: Gas chems were producing way, way, WAY too much gas even once the above two points were occuring. So much gas, that it was capable of filling a 8x10 tile airless room in a timed 1 minute 40 seconds. So, we've slowed the roll of the free reagents being produced by synthesizers, and brought it down to 1/5th of the reaction volume to 1/20th. That sounds like a massive leap, but trust me, you could produce millions of KPA very, VERY quickly without it, but at 1/20 it was actually sort of reasonable.

Edit: Apparently this also fixes #46413 as a result of removing the obj_react from the above gasses!

Fixes #53357. Also, prevents reagent synthesizers and showers to behave EXACTLY like gas miners, but free. Also, prevents 1000s of reagents from being multiplied through the use of showers.
Changelog

fix: Showers no longer have the vapor reaction, as before the changes.
fix: Showers no longer produce ludicrously over-scaled chemical reactions.
balance: Gas chems now produce 1/4th less gas when released into the air as before.
2020-09-07 15:12:51 -07:00
Coffee
f4ea237a6f Makes highlander turn off pacifism (#53504)
Makes gaining the highlander antagonist status turn disable the pacifism quirk. It will re-enable if you lose the status, although that doesn't happen often.
2020-09-07 19:06:00 -03:00
AnturK
5d8c21e2d1 Fixes spacemandmm detected for mistakes. (#53503) 2020-09-07 19:05:22 -03:00
NightRed
0e5598ba5b Unit tests for expose_mob (#53498)
This is a set of unit tests for expose_mob.
This tests that INGEST, TOUCH, VAPOR, PATCH, INJECT are triggering on standard exposure methods.
2020-09-07 19:04:29 -03:00
msgerbs
9e705731d9 Cleans up an unused var added for smugglers satchels (#53501) 2020-09-07 19:02:17 -03:00
ArcaneMusic
2d8fee9bd0 Updates conflicts. 2020-09-07 16:58:21 -04:00
ArcaneMusic
3bddcbd506 Merge remote-tracking branch 'upstream/master' into plumbingfixesrev2 2020-09-07 16:57:20 -04:00
Jared-Fogle
4c358cd25f Performing a head transplant will now properly preserve the appearance. (#53494) 2020-09-07 17:56:16 -03:00
Kyle Spier-Swenson
97e7b9683d Fix bicon, fix asset hashes being incorrect. (#53441)
icon2html will now always show the south direction unless passed a specific direction to show. Null can be explicitly passed with an atom to use the atom's direction. This is to work around icon() returning a blank icon if passed a direction that the icon doesn't define, instead of defaulting to south like the client does. This should also cut down on the number of assets generated by shift clicks

If icon2html is given an atom with an invalid icon state, it will use the atom's compile time icon_state, so smoothed icons can show their mapper's helper icon instead of the entire dmi.

Asset cache will now copy files to disk before md5ing them, to deal with byond not always returning the correct md5 for rsc references.
2020-09-07 17:54:26 -03:00
Ryll Ryll
e9ee817cb4 Fixes admin tickets displaying as improper nouns (#53485)
Admin tickets were having "the" prepended to them when displayed in the status tab, because ahelps are treated as datums and BYOND likes to help out and treat them as nouns when printed. This resolves that.
2020-09-07 17:49:14 -03:00
TiviPlus
d4cdb49133 Mecha followup one (#53470)
fixes #53384
fixes #53327
fixes a bug where mechs could move too fast
fixes cooldown being inconsistent
makes strafe behavior better
fixes lights being very small

fixes #50639
fixes #47373
fixes #43605

Moved some code to the correct spots and did the varedit bitfield thing
2020-09-07 17:44:54 -03:00
YPOQ
d9aff3da6e Fixes the arena shuttle (#53458)
This splits the actual arena of the arena shuttle into its own map file that is loaded onto it's own z-level. The old method of including a non-shuttle area in the shuttle map file doesn't work with the current shuttle loader. It also fixes shuttles being loaded twice when purchased which created problems with landmarks being left behind in the reserved z-level.
2020-09-07 17:24:10 -03:00
Ghilker
5543c6db46 crystal invasion balancing and fixes (Now with extra rework!) (#53399)
Refractored code so that the more_portals() proc gets called by the event instead of a CALLBACK
Balanced mobs spawn from portal and how much damage they deal
Fixed grammar stuff on crystal consume announcement
Ligthing aoe projectile now have a no_stun version for the boss rank
Lowered time needed to use the crystal stabilizer to 7 second total
Crystal mobs have TRAIT_TESLA_SHOCKIMMUNE to prevent boss from hurting himself and the other crystal mobs
Added check at start of event for presence of the supermatter crystal

New: Revamped event a bit, now instead of random portal appearing a random, there will be from 2 to 5 main portals and around those 6 more portals will appear; after that centcomm will announce the position of those new portals. Now the players will have to close those main portals before being able to stabilize the crystal because there will be a shield around it powered by those portals. Everything else will be the same (like how to close the portals and stabilize the crystal)
2020-09-07 16:52:10 -03:00
Shirbu
53df2b2fe6 Reduces the light range of all beam (lasers, disablers, emitter shots) projectiles (#53328) 2020-09-07 16:48:32 -03:00
Qustinnus
c6be808bf3 Moves over cakes to newfood and transfers reagents when crafting (#53316) 2020-09-07 15:04:14 -03:00
TemporalOroboros
f2e4cdc2c1 Fix chemical exposure (#53491) 2020-09-06 21:53:04 -07:00
ArcaneMusic
87815708cf Fixes linting error. 2020-09-06 23:52:39 -04:00
LemonInTheDark
34ac0e96ee Merge pull request #53397 from Dennok/patch-40
Set different layers to different piping layers
different layers to different piping layers
pipes should be displayed in a fixed order
better pipe visuals
2020-09-06 20:01:58 -07:00
Kyle Spier-Swenson
998956ec63 fix discord verification instructions (#53467)
these quotes kept getting selected because ie is a microsoft product and microsoft fucking hates their users so they do that thing where selection snaps to word boundaries
2020-09-07 13:26:12 +12:00
Maurukas
5abd48b389 Fix cryo reagent injection (#53477) 2020-09-06 14:58:51 -07:00
Dennok
8acd462c77 Tweak passive_gate (#53375)
Make some more precise description.
Increased max out limit pressure settings to 100 atmospheres, since volume_pump limited 9000 kPa (~90 atmospheres)
2020-09-06 17:56:49 -03:00
ArcaneMusic
aaaf3b6379 Merge conflict but god you just changed like the whle proc I'm weaping 2020-09-06 12:10:03 -04:00
ArcaneMusic
014c802f2d Merge remote-tracking branch 'upstream/master' into plumbingfixesrev2 2020-09-06 11:18:10 -04:00
Timberpoes
cced2d5cdc Nanite Increased Diagnostics Program (#53157)
Makes nanite reduced diagnostic function baseline and adds new increased diagnostics program

* A better way

* Increased Harmonic Nanite research costs by +1000/+1000

* Harmonic nanite passive boost.
2020-09-06 14:40:56 +03:00
uomo
ca19c4ebe3 Change "Hear Admin Triggered Sounds (Midis)" to "Hear Admin Triggered Music/Sounds" (#53457) 2020-09-06 04:04:29 -07:00
Ryll Ryll
8fd1c42d9e Zombies can be decapped again, un-nerfs esword/armblade/etc wounding power, improvised cauterization tweaks (#53349)
#53117 introduced a few minor bugs with the health system, in this case, zombies being un-decappable due to an oversight in the head/chest dismember requiring full death rather than either full crit or death. As zombies (or anything with TRAIT_NODEATH) can only reach hard crit and not death, this meant they couldn't be decapped/disemboweled. This fixes that. It also fixes krokodil addict zombies being unwoundable due to not having flesh or bone traits.

Next up, I originally set really high negative wound bonuses for high damage weapons like eswords and armblades since they already had high damage and dismember power by themselves. Now that dismembering is tied to wounding power (and I have a better sense of balance values), these harsh nerfs are no longer needed or wanted, and you can actually dismember people worth a damn with an esword again. I also punched up the wounding power of a few other weapons like saws and scalpels to less awful (but still not optimal) against armor.

Attacks currently have an 80% chance to hit the limb you're aiming at, which can make destroying a limb a complete pain even if the target is already down and out. As such, attacks against prone targets now have a 90% chance to hit the targeted limb, cutting the miss rate in half.

Lastly, trying to cauterize bleeding wounds with improvised tools (anything hot that isn't a cautery) is now slightly less efficient than a real cautery and requires an aggro grab on the patient to apply. No more trying to cauterize the person you just attacked with an esword because you were on help intent!
2020-09-06 01:37:45 -03:00
Tony
25278c369f Fixes bonesetter material duplication (#53443) 2020-09-05 22:28:47 -03:00
tralezab
55abbf3a7e Mafia achievements can no longer be earned in debug games (#53446) 2020-09-05 22:20:18 -03:00
NightRed
97d969dfca Many issue fixes for stomachs and chem interactions (#53440)
This changes the has_reagent check to work with stomachs.
Several supporting procs have been added to fully support this behavior.
end_metabolization will work as expected again
expose is working with INGEST items again
on_mob_add working as intended
on_mob_life has been reviewed and worked over.

Health Analyzers now show stomach contents, same with the medical kiosk.

Included the unit test to validate reagent checks.
Unit tests for the new procs on mob
2020-09-05 21:57:30 -03:00
LemonInTheDark
d60ed7d9e8 Gives the Chef a Beacon to pick their ingredient box (#53146)
* adds ingredients beacon

* starts the chef off with an ingredient beacon instead of a box

* Update boxes.dm

* Revert "Update boxes.dm"

This reverts commit b89fadab04.

* optimizes the list thingy (thank you, Floyd)

* Fixes a typo in one of the comments

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* fixes a definition

* moves ingredient box/beacon code to miscellaneous instead of boxes

* adds the random option

* adds a cute little bit of 'flavor' text... get it?

* Revert "adds a cute little bit of 'flavor' text... get it?"

This reverts commit a6541bf220.

* adds references to a new company and a bit of fun text

* moves randomFood out of the for loop

* Revert "moves randomFood out of the for loop"

This reverts commit e2c5171fce.

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-09-05 16:09:23 -07:00
lovegreenstuff
dc2f2769a7 Fixes a Probital/Food oversight regarding protein (#53410) 2020-09-05 18:37:19 -03:00
Jack7D1
4c4cf2820d Fix Cargo tablet bounty programs not being able to print the bounty form (#53365)
Fixes the printer cool down system that started the printer cool down when you press any button??? meaning that it would always fail since the cool down was reset after the button was clicked. The cool down is now only reset until AFTER the print operation.
Also adds a message that lets you know if the print cool down is not over yet, so it doesn't fail without feedback.
2020-09-05 18:32:06 -03:00
Ghilker
3db9bd840f fix devices sprites on layer 1 and 5 (#53382)
This atomized PR fixes the sprites for layer 1 and 5 of the following devices:
-scrubber
-unary vent
-passive vent
-portable connector
-filter filters don't work well on layer 1 and 5, so they get the axe
-mixer mixers don't work well on layer 1 and 5, so they get the axe
The how:
instead of just moving the node, we'll move the entire thing because sprites bad and can't fit
2020-09-05 18:26:05 -03:00
Fikou
d56ebbb7c2 adds better grass sprites (#53421)
adds better grass sprites, ported from eris
converts fairygrass into those sprites too
makes "plating" grass and jungle grass smooth with cool stuff on the edges
adds a sandy dirt tile, removes the old "sand" icon which was just puke colored noise
2020-09-05 18:19:31 -03:00
ArcaneMusic
d2dd7a2c8c Wild Mutation crops now carry over traits from the parent plant. (#53413)
This results in wild mutation carrying over possible traits from parent to child, in a way that will also be displayed by the plant analyzer.

This means if you gene splice a parent plant and it wild mutates into a different species, the wild mutation will take the trait genes of the parent, with none of the reagents as reagents are specific to the species in most cases, but can be bred back in via cross-pollination.
2020-09-05 16:46:22 -03:00
Fikou
2d05abbdc8 fixes organs not showing up in the limbgrower (#53407) 2020-09-05 16:20:24 -03:00
TemporalOroboros
111676c9b7 Acid Component (#53273)
Makes acid levels a component.
    Merges the acid effect object into the component.
    Reworks acids decay rates slightly.
    Rebalances xenos acid spit so that they can still melt through walls.

Misc. associated changes:

    Adds defines for a lot of the acid associated constants.
    Documents clean types and adds CLEAN_TYPE_ACID
    Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
    Adds a looping sound for acid.
    Makes /atom/proc/acid_act return a boolean.
    Fixes waterclosets creating a new reagent holder datum every time they are used.
    Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
    Adds and implements a couple reagent signals.
    Renames a few vars so Rohesie can stop telling me to rename more vars.
2020-09-05 16:18:55 -03:00
Wayland-Smithy
666d1e75c5 Rename orbiters.orbiters list to something sane (#53416) 2020-09-05 11:58:42 -03:00
Mickyan
5297f42ca9 accordion fix (#53418) 2020-09-05 11:56:40 -03:00
Krysonism
b3fe489f4e Da great meat resprite PR (#53433) 2020-09-05 11:51:07 -03:00
Jared-Fogle
0fcf7d04a2 Add test for emotes (#53430) 2020-09-05 11:38:11 -03:00
Tad Hardesty
cf7ac5b79d Fix some miscellaneous grammar mistakes (#53414) 2020-09-05 02:45:25 -07:00
Tad Hardesty
2b8f976fd2 Make Cinematic verb cancellable (#53411) 2020-09-05 02:41:05 -07:00
ArcaneMusic
8c81468dff Allows for hostile mobs to perform charge attacks, and adds a giant tackling lobster. (#52692)
Example video: https://youtu.be/EAVuPtJ_kFM

This adds a new mob, the lobstrosity. It's a upper-caves level icemoon mob, created as a genetic combination of a lobster, a crab, and a shrimp, let loose on the horrific Alaskan hellscape that is the icemoon. It's best feature, however, is that it makes use of a new feature of simplemobs, charging. Any hostile simplemob can be configured and customized in a uniform way in order to become a charger, giving it a basic leap attack, that will disable the user if they find themselves crashing into an unpassable turf, but otherwise lands a knockdown on the attacking target. Compensate of this, charging mobs will also gain a very noticable tell, where they shake a moment before they actually perform the charge to better signify that they're rearing up for a melee charge.
I'm not exactly sold on using Shake() for the visual tell, but I'm not quite sold on a visual to showcase that it's happening, so I'm looking for feedback on that specifically.
Additionally, there is a bit of weird movement that I've yet to really get ironed out first but for the most part it's completely functional.

After some feedback, there's now a reddish, lavaland-colored lobster, as well as an arctic themed, Alaskan lobster

So on a massive tangential leap of logic, one thing ActionNinja brought up in a recent discord rant was that there are so many mechanical parts of SS13 combat that completely lack a tell whatsoever, or the tell is so quick you can blink and you'll miss it in a heartbeat. So I turned to the greatest enemy attack feedback mechanic that any game has ever seen: the Legend of Zelda Bull.

...also I've been looking for a tasteful way to get this sprite in-game for awhile now but wanted to really iron out a unique mechanic to go alongside it that would make it feel a little less bullshit to fight against.

ArcaneMusic + Kryson on Sprites
2020-09-04 20:29:13 -07:00
TiviPlus
550e763433 Reenables SHOULD_NOT_SLEEP on initialize (#53378) 2020-09-04 20:44:08 -03:00
Tad Hardesty
56e263db44 Add missing left parenthesis to 'View tracked playtime' output (#53391) 2020-09-04 20:34:55 -03:00
Tad Hardesty
3ad54d0606 Avoid resizing chat to nothing in the Fit Viewport verb (#53393) 2020-09-04 23:08:11 +03:00
ShizCalev
5d0c77222a Fixes light eaters not consuming gunlights / helmet lights (#53182) 2020-09-04 14:24:14 -03:00