Commit Graph

3822 Commits

Author SHA1 Message Date
Rohesie af65c90125 Mobility refactor: no more update_mobility() (#54183)
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.

For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.

There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.

The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL

Fixes AIs being able to strip nearby people. They've lost their hands usage.
2020-10-09 16:04:30 -07:00
Cimika/Lessie/KathyRyals 2557727e43 Added science berets. (#54255) 2020-10-09 19:36:46 -03:00
girl 2e08a1f508 BSbodybags inherit heaviest item weight + Easier to escape the disarm/BSbodybag combo (#54065)
Bodybags now inherit the weight of their heaviest item. If it doesn't have a weight (people), we assume bulky since things like people can be firecarried or whatever.

It now takes less time to get out of a bag (20 > 12 secs), and the progress bar is unbreakable unless you get incapacitated. This means people interested in using it to kidnap can still do so but it requires considerably more effort that isnt based on a latency difference and a quick disarm. The timer still runs down if you open the bag and try to put them back in but good attempt😏.

This also fixes an issue with the BSB where it was picking up or otherwise doublecalling checks from inheritance.
2020-10-09 17:30:16 -03:00
ArcaneMusic 19d1adc78a [s]Showers now properly react with 10u per tick instead of 1000u. (#54236)
Turns out what I thought was reagent units used per reaction was actually reaction multiplier in #53377, and it flew under the radar until literally 15 minutes ago.

This adjusted the reaction quantity down to 0.05, which with the 200 unit reagent volume of the showers, equates to about a 10u reaction per tick, ya know, rather high but reasonable considering that before it was mistakenly set to *5 instead, which meant you could de-husk a patient in a literal single tick with 1 unit of synthflesh.
2020-10-09 01:47:46 -03:00
Krysonism 73818aed45 Converts Pizza to use the new food component. (#53641)
pizzas now use processing component
2020-10-08 11:53:13 +02:00
Mickyan fb76d6d38a Allows rotating statues with alt click (#54179)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-10-06 18:30:22 -07:00
ShizCalev b3765c4194 Merge pull request #54048 from nicbn/tank-frames
Adds tank holders
2020-10-06 18:12:17 -04:00
Qustinnus cf11ade4d7 Nerfs uranium material effects, and changes how effective materials are on sheets and statues (#54178) 2020-10-06 13:01:48 -07:00
Rohesie db54913fe6 Mobility refactor: UI, pull and lying down edition (#54078) 2020-10-03 17:23:21 -07:00
ShizCalev 2d6eecc2e7 Update code/game/objects/structures/tank_holder.dm 2020-10-02 12:33:44 -04:00
ShizCalev 744d271514 Update code/game/objects/structures/tank_holder.dm 2020-10-02 12:27:44 -04:00
ShizCalev d83812192c Update code/game/objects/structures/tank_holder.dm 2020-10-02 12:24:03 -04:00
Nicolas Nattis 0e3400fd40 Komponemts 2020-10-01 20:37:57 -03:00
Nicolas Nattis a9bc0b0fbe Code improvement v1 2020-10-01 17:15:26 -03:00
Nicolas Nattis 118349e362 Merge branch 'master' of https://github.com/tgstation/tgstation into tank-frames 2020-09-30 12:34:32 -03:00
Timberpoes ff92111c96 You can now throw things over raillings. (#54062)
Any movable atom with an attached thrownthing datum can now pass harmlessly over railings, and potentially fall safe down to the z-level below.
2020-09-30 01:26:17 -03:00
Qustinnus eca964db35 Ports soup, snacks, icecream, salads and meat to newfood (#54028)
Ports soup, snacks, icecream, salads and meat to newfood
2020-09-29 20:36:27 -07:00
nemvar 963779471a Merge pull request #53906 from Rohesie/smoothing
[READY] Refactor icon smoothing to use 8-bit bitmasking
2020-09-29 17:07:12 +02:00
L 3f9244752e nemvar more like nemnerd 2020-09-29 08:47:47 -03:00
Rohesie 3cc7733f34 Moblity refactor: hands blocked and restrained edition. (#53981)
Splits the restrained() proc into component traits: TRAIT_HANDS_BLOCKED for the general inability to use hands and TRAIT_RESTRAINED for the more specific condition that permits arrests.
    Code moved away from the update_mobility() proc so it doesn't have to wait for an update, instead changing based on events. The idea is to eventually kill that proc.
    Wrapper proc added for setting the handcuffed value so we can react to the event of it changing.
    Kills the RestrainedClickOn() proc. That is now just an UnarmedAttack(), in where the ability to use hands can be checked. Monkeys keep their bite attack and humans their self-examine.
2020-09-29 11:23:43 +01:00
AnturK 5acc1a2bcd Duplicating statues sanity (#54018) 2020-09-28 19:02:05 -03:00
Nicolas Nattis a7b2f754b4 Fixes 2020-09-28 16:01:56 -03:00
Nicolas Nattis d46613fa9a Allows to throw things over tank holders 2020-09-28 15:59:01 -03:00
Nicolas Nattis 1285bfd9d0 Code improvement and small fix 2020-09-28 15:54:23 -03:00
Nicolas Nattis 735e4ae373 More fixes 2020-09-28 15:32:53 -03:00
Nicolas Nattis 7a70c4bf5d Fix 2020-09-28 15:18:00 -03:00
Nicolas Nattis 5848ee5fc7 Merge branch 'master' of https://github.com/tgstation/tgstation into tank-frames 2020-09-28 15:06:44 -03:00
Nicolas Nattis c53841c1df Adds the tank holder 2020-09-28 15:04:55 -03:00
antropod 7a32cbebe9 Fixes for Syndicate Forgotten Ship (#53832)
* Fixes missing implant on Syndicate Ship Captain:
  Syndicate Ship Crew Members have their implants. There are 2 boxes of syndicate firing pins in captains locker, but captain can't use them. This change fixes that. Captain had implant initially, but it was removed accidentally in #50597

Fixes spare magazines spawned in lockers:
  Captain has 2 mags for APS instead of 9mm mags in their locker.
  Crewmembers have 9mm mags instead of 10mm mags.
  10mm ammoboxes replaced with 9mm.
  Why do we even have 10mm mags, if crew spawns with makarov and captain spawns with APS.
2020-09-28 12:05:24 -03:00
L fb38066f09 bitmask 2020-09-26 12:14:27 -03:00
L 5a21a0d92f objs 2020-09-26 12:14:26 -03:00
L bf1878713f nodiag 2020-09-26 12:14:25 -03:00
L 37fc1b235a diagonal corners 2020-09-26 12:14:25 -03:00
L e461d7b777 icons 2020-09-26 12:14:25 -03:00
Timberpoes 1f23cc281d Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
2020-09-26 11:52:39 -03:00
tralezab 79457e4b0d Gives Public Mining on Icebox an Elevator, and just a TON of lift fixes so they're viable to map with. [MULTI-BEE] [:pslime: in the chat] (#53728)
add: Icebox now has an elevator! I just took the trousers of every shaft miner to batter town, word.
2020-09-26 01:05:13 +01:00
TheBonded 023e0e0ccb Balances plastanium window integrity (#53918)
Changes plastanium windows integrity to 1200 instead of 200, which leaves it with 200 more integrity than reinforced plasma windows. Also increases damage_deflection to 21 to match reinforced plasma windows
2020-09-25 08:50:07 -03:00
skoglol c6e3401f2e Merge pull request #53847 from Iatots/paperdoor-fixes-redux
Paper walls have no duplicate knock sounds anymore, paper doors don't appear rotated, adds glass bashing
2020-09-25 02:18:54 +02:00
KathrinBailey 3edffc9606 Chess, Sofas & Shutters - Furniture Update (#53861)
About The Pull Request
A series of changes bulked together to give players and mappers a little more freedom in their builds to make things look nicer.

Chess:
• Introduces a bunch of jumbo chess pieces that are craftable in-game. Sprites are my own.

Shutters
• Defines 100 integrity for the shutters and gives them an armor block so they don't inherit their stats from blast doors. This means shutters will no longer be just a reskinned blast door.
• Redid the sprites for the shutters. They now animate much smoother and look like normal slanted shutters. Their blinking light once animating is also easier to see.
• Added the window shutter; this is a normal shutter with a window so you can always see past it. I've used it in prisons and on armouries in the codebase I'm from to allow officers to see into the areas shutters are protecting, giving the area additional protection of having someone being able to look into it.
• Added radiation shutters. Maintainers feel free to question this. Through extensive experimentation, any rad insulation value between 0 and 1 does pretty much nothing to radiation. Numbers higher than 1 start multiplying it, negative numbers start reducing it. This will stop the radiation from a supermatter irradiating you only if you stand behind it. If you're not covered by the shutters or the shutters are open, they won't protect you at all. They also have their own sprite with a radioactive hazard symbol.
• Added the rad shutters to in-rotation maps on their supermatter engines and the windowed shutters to Metastation armoury.

Sofas
• Introduces the corporate sofa. A sleek grey sofa. The original sprite I ported from Hyperstation's files. I'm not sure where they got the sofa but I was told it was Eris. I didn't see it there but I didn't look super hard. I've updated the sprites on it to work with armrest sprite overlays.
• Ports the sofa sprites from Cit and the armrest sprite overlays. They look nicer than awkwardly floating over the sofa. The sofas are the same, they're just moved a little for the armrest to work.
• Makes the new corporate sofa craftable.
2020-09-24 05:24:06 -04:00
Ryll Ryll 80cefef747 Fixes projectile impacts + messages, embedding, adds deployable landmines (#53436)
* icon and alert anim

* hmm

* projectile and embed fixes

* cap mine

* clean up, fix some issues with projectile embeds

* light

* doc

* icon

* awkward

* icon again
2020-09-23 07:53:55 +02:00
AnturK 61e5c556df Custom statues and sculpting changes. (#53154)
### Gameplay changes:
- Spacemen lose their ability to sculpt all minerals into statues barehanded, you need a chisel now.
- You can now create carving blocks out of 5 sheets of most materials.
- Using a chisel on the blocks you can designate what to carve in it (including the preset statues from before).
- Chisels can be printed at autolathe, there's also one in art storage.
### Code changes:
- Squeak component now squeaks on attack_hand for structures.
- Radials now accept atom paths automatically extracting the name with initial.
- Base and rigid stack recipes renamed appropriately.
- Statues now use custom materials.
2020-09-23 02:46:01 -03:00
TiviPlus ff1631b7b9 Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
2020-09-23 00:46:21 +01:00
Iatots 24015744e4 fixes duplicate sounds, hitting windows on harm intent is now something different 2020-09-19 16:34:46 +02:00
TiviPlus 456723c4df Silicon deletion cleanup (#53680)
Law datums were referencing owner
Law datums were not being delled
Some MMI code was organized strangely
2020-09-16 23:48:25 -03:00
ArcaneMusic d836946e8e Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#53305) 2020-09-16 16:11:23 -03:00
William Wallace d56df21c2c sinks now refill properly (#53579)
Fixes #53343
Also fixes an issue where sinks wouldn't refill after a mop was used on them.
2020-09-11 19:40:38 +01:00
LemonInTheDark 9e25e97370 Merge pull request #53013 from Ghilker/reactions-go-BRRRR
The scope of this PR is to add new and interesting stuff to the atmos crew and to bring more people to it both old and new.
This PR adds 5 new gases, a bunch of reactions (i'm still working on this but suggestions are useful), new recipes and items to the atmosians arsenal. These gases have high utility for everyone, atmosians will find them useful to do their job both as firefighters and air maintenance.
FINAL GAS NAMES (will change only if a maintainer ask about it)

Healium
Proto Nitrate
Cyrion B
Halon
Hexane

reactions avaiable in this PR: https://drive.google.com/file/d/1e6DZlBaKSCNdCADKnrH3F3aDWvl0iZr4/view

What the PR add:
-Healium: a red gas, stronger than n2o if breathed, with healing properties
-Proto Nitrate: a green inert gas if breathed but with different reactions with various gases at high temperatures
-Cyrion B: a black deadly gas if breathed that decompones very fast if exposed to N2 even at minimal amounts
-Halon: a light blue gas that when used in a fire it will suck up the O2 and will help cool the room, helping fighting the fire
-Hexane: a purple gas that has the ability to filter from the air plasma and n2o, useful to clean distro from the harmful gases quickly
-Healium Crystal: a reddish crystal that when broken will explode cooling the room and removing the plasma from the air (act like a grenade)
-Proto Nitrate Crystal: a greenish crystal that when broken will explode refilling a space with O2 and N2
-Cyrion B Crystal: a blackish crystal that when broken will explode dealing damage around it
-Metallic hydrogen recipe addition (atmosian armor and fireaxe)
-Statue of an elder atmosian (for bragging rights)
-Supermatter Interactions
-More gas interactions (Roinnel have multiple and different interactions)
-New RPD device: the pressure valve, a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure it's getting atomized
-Fusion is a bit "easier" to start (minor changes to the math so that the instability is more reasonable)
-pluox can be also made without using rads
-cyrion-b bounty
-all 5 gases can be sold to cargo

More stuff needs to be added (like the SM interactions(added) and probably more reactions and breathe reactions)
Please leave suggestions and feedbacks as it helps improve the PR

Atmos desperately need more content and need to be proactive in the making of its tools, with this PR is a start to more atmos content

🆑
add: hydrogen + rads = trit
add: 5 new gases
add: Healium : made from Bz + Freon + cold, it knocks people down but have healing properties
add: Proto Nitrate : made from pluox and H2 + heat, it has different reaction with a bunch of other gases
add: Cyrion B : made from hypernoblium + stimulum around 0°C, it has heavy damage if breathed but is decomposed rapidly by N2
add: Halon : made from bz + trit + cold, it reacts with O2 at high temperature removing it and cooling the air, helping putting out fires
add: Hexane : made from bz + H2 + cold, it reacts with plasma and n2o and removes them from the air mix, filtering them.
tweak: stimulum no longer require plasma
add: canister sprites, gas sprites
add: crystal from gases formation and reaction
add: new metallic hydrogen recipes
add: elder atmosian statue
add: supermatter interactions
tweak: minor changes to fusion math to make it "easier" to start
add : pluoxium can be also made without using rads (not removing the rad production one) (this also produces a minimal amount of h2)
tweak: lowered hypernoblium min temperature of reaction
tweak: metallic hydrogen production more common
add: cyrion-b bounty
add: all 5 gases are up to selling
/🆑
2020-09-10 03:00:51 -07:00
Rohesie 7c7faa5c64 Pods eject things without a client on arrival (#53386)
* pod

* unconscious check
2020-09-08 20:18:57 -07:00
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
ArcaneMusic 014c802f2d Merge remote-tracking branch 'upstream/master' into plumbingfixesrev2 2020-09-06 11:18:10 -04:00