Commit Graph

309 Commits

Author SHA1 Message Date
EOBGames
603aa7390a Add Wiz-Off: An Arcane Battle for the Fate of the Universe! (#56980)
Adds Wiz-Off, a new and extremely simple card game to the Fun Vendor.
2021-02-22 10:13:55 +00:00
Imaginos16
7d96e5a94d Adds New CentCom Clothing Sprites! (#57023)
NanoTrasen has now graciously created new outfits for their esteemed members of Central Command! These include new turtlenecks, a fancy coat, a new cap, and a skirt edition of the current Official jumpsuit.
2021-02-19 19:18:12 -05:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
necromanceranne
efa1f8088f Sprite fixes: Suppressed Sniper Rifles and Donksoft Pistols (#56754)
* Gives the sniper rifle a suppressor overlay so that it no longer shows up as missing a sprite, also fixes donksoft pistols by repathing them from pistols over repathing them from toy saber smgs. Creates a flag for checking if a gun needs a toy overlay, so it is handled in the parent.
2021-02-14 21:33:48 -08:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
Tom
5b9d42c289 Winter coats (#56854)
add: Thirteen more winter coats covering all departments and most jobs.
2021-02-12 08:30:33 -05:00
Thalpy
56f7ac0c0a Reaction rates, pH, purity and more! Brings a heavily improved, less explosive and optimised fermichem to tg. (#56019)
Brings a heavily improved, rewritten, and optimised fermichem to tg. I saw that tg seemed receptive to it, so I thought I’d do it myself. If you know of fermichem – there’s a lot changed and improved, so looking at other documents regarding it will not be accurate.

Revamps the main chemistry reaction handler to allow for over time reactions instead of instant reactions. This revamp allows for simultaneous reactions, exo/endothermic reactions and pH consuming/producing behaviours. Most of the reactions in game will now inherit an easy one size fits all reaction.

Temperature mechanics

    Temperature affects reaction rate
    The higher it is, the faster it is, but be careful, as chem reactions will perform special functions when overheated (presently it DOESN’T explode)
    Temperature will increase or decrease depending on the exo/endothermic nature of the reaction

pH mechanics

    Each reaction requires the pH of a beaker to be within a certain range.
    If you are outside of the optimal, you'll incur impurity, which has a negative effect on the resultant chem
    pH of a beaker will change during a reaction
    Reacting Impure chem effects can vary from chem to chem, but for default will reduce the purity of other reagents in the beaker
    Consuming an impure chem will either cause liver or tox damage dependant on how impure it is as well as reducing consumed volume
    Purity can (presently) only be seen with a chemical analyser
    Impure chems can purposely be made by making the reagent with a low, but not explosive, purity.
    A chem made under the PurityMin will convert into the reagent’s failed chem in the beaker.

Optional catalysts

    Reactions can use an optional catalyst to influence the reaction - at the more framework exists from tmeprature, reaction rate and pH changes as a result of a catalyst. Catalysts can be set to only work on a specific reagent subtype. It is preferable to those building upon this code that optional catalysts only affect a subsection of reagents.
    Presently the only catalyst that uses this is Palladium synthate catalyst - a catalyst that increases the reaction speed of medicines.

Reaction agents

    These are reagents that will consume themselves when added to a beaker - even a full one, and apply effects to the total solution. One example being Tempomyocin which will speed up a reaction, or the buffer reagents which change the pH.

Competitive reactions

These reactions will go towards a certain product depending on the conditions of the holder. The example one given is a little tricky and requires a lot of temperature to push it towards one end.
New and charged reactions

(see the wiki for details)

Acidic /basic buffer - These reagents will adjust the pH of a beaker/solution when added to one. If the beaker is empty it will fill it instead.

Tempomyocin - This will instantly speed up any reaction added it is added to, giving it a short burst of speed. Adding this reagent to a reaction will give it a suddent speed boost up to 3x times - with the output purity of the boost modified by the Tempomyocin's purity.5u per 100u will give you 2x, 10 u per 100u will give you 3x. IIt caps at 3x for a single addition, but there is nothing preventing you from adding multiple doses for multiple boosts.

Purit tester - this will fizzle if the solution it is added to has an inverse purity reagent present.

A few other reactions have been tweaked to make sure they work too. An example being meth - see the wikipage linked above.
A note on all reactions

    The one size fits all reaction for all chems generally won’t create impure chems – it is very forgiving. The only thing to remember is to avoid heating reactions over 900 or you’ll reduce your yield, and try to keep your pH between 5 -9.

This PR doesn’t have specific example chems included (except for the buffers) – they will be atomised out and they use the mechanics in more depth
A note on plumbing

I reached out to Time Green and we worked together to make sure plumbing was fine. Time Green did some of his own tests too, and surprisingly it doesn't look like much needs to be changed.
2021-02-11 17:09:07 -03:00
Fikou
8d586a7cb0 Rename metal sheets to iron sheets (#56643)
It's a specific type of metal, it shouldnt just be called generic "metal".
The reagent, ore and material datum are already called iron.
2021-02-05 15:48:00 +00:00
Tlaltecuhtli
8a88ca0224 disables godmode for some vendors and adds missing refills (#56570) 2021-02-05 01:21:59 -08:00
MrMelbert
9b0c2e771e A Big Hydroponics Update: A Rose by any other name (2 new plants, 4 new traits, new genes, and more!) (#56024) 2021-02-04 18:36:10 -08:00
Qustinnus
707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
LemonInTheDark
20d2fb6787 reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)
It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis
2021-02-03 06:27:53 +00:00
Tristrian
a4a7cf03bf Adds missing duffelbags for some jobs and update their respective vendors and closets. (#56505)
add: Added duffelbags for Science, Botany, Virology, Genetics, Mining and Chemistry.
2021-01-30 19:36:00 -05:00
c420-o
7e0bb2783b Swag outfit added (#56491)
Swag outfit added
2021-01-29 19:55:23 -08:00
TemporalOroboros
1f1b58bb26 Adds Neon Carpet (#55782)
* Adds emissive carpet, adds plane support to decal element

- Adds a basic abstract/debugging emissive carpet
- Makes decals capable of supporting plane
- Adds auto-smoothing decals

* Adds simple neon carpet variations

* Adds neon carpet reagents and recipes

* Refactors emissive blockers to allow multiple layers of emissive / emissive blocking objects

- Splits the emissive and emissive blocker plane masters into several plane masters which handle different layers of emissiveness.

* Makes neon carpet tile stacks emissive

* Rearranges and docs some emissive plane masters

- Folds the overlay lighting plane master into the emissive planes since it is also used to mask the lighting plane

* Fixes null mats_per_unit stack recombining after splitting

- I think I broke this a while ago when I reworked how stacks handle materials. Whoops.
- This basically only effects carpet at the moment. Good thing I did this when I did!

* Adds neon carpets to cargo

- Adds a cargo supply crate containing a _lot_ of neon carpets for 3000 credits

* Fixes neon carpet highlights leaking through vending machines and such

- Turns out vending machines axed their own emissive blockers whenever they updated their icon because they cleared their managed_vis_overlays...
- Generic emissive blocking has been elementized and some update_overlays procs have been straightened out.

* Fixes id_arg_index for the emissive blocker element

* Commits @Rohsie's suggestions
2021-01-25 01:55:04 -08:00
Kyle Spier-Swenson
8b4ca7a130 Vending machines use slow throws (#56003)
quickstart acts by ticking the first throw right away, but this can lead to stack overflows if this throw happens to trigger another throw. it should really be moved to a default off argument, as only user initiated throws should use it, but throws that themselves can be triggered by throws (like this) should definitely not use it.
2021-01-07 22:08:00 -03:00
Qustinnus
79ed05edb4 Reworks the brand intelligence event with AI controller datums (#55778)
These felt like another good test-case for ai controllers that someone could easily grasp, this makes it so that we can use the actual vending machine instead of a fake mimic mob. In theory you could even still use the vending machine, if you like living on the edge ofcourse.

The vendors now try to move towards you, and try to dive on top of you to squish you.
2021-01-07 14:04:22 -08:00
Maurukas
4e48744870 More Kilo fixes and Pubby cleanup (#55516)
* Pubby cleanup and Kilo Fixes

Remove pubbystation subtypes of boozeomat
Remove pubby specific subtype of wallmed
Replaces pubby wallmed subtypes in use elsewhere with standard wallmeds
Added some missing solar panel wires
Adds Centcomm access to ERT dock to allow Centcomm guests to board the station
Tweaks some siding decals

* Supposed to be in the first commit

* Gets rid of some stray scaffolding

Gets rid of some stray scaffolding

* Missing grille

* Remove spawn points from solars

Remove xeno spawn points from Kilo solars - spiders use this spawn locations and are not vacuum proof
2020-12-29 03:15:52 +01:00
Gamer025
87eda56558 Thrown vending machines crush mobs + move circuitboard define (#55723)
* Thrown vending machines crush you

Also moves circuitboard define

* Remove extra empty line

* Move code to fitting place
2020-12-26 19:53:52 -08:00
TemporalOroboros
1714a98b47 Gives spoons TOOL_MINING, adds spoons to autolathe and prison vending machines (#55461) 2020-12-14 00:22:15 -08:00
Maurukas
ceb009f921 Assign correct payment department to the NanoDrug (#55406)
## About The Pull Request

The NanoDrug was created by splitting the drugs off from the tools in the NanoMed in #55069. When this was done a payment_dept variable was not given to the new machine. The default value for this is the engineering department, so payments taken in by the machine went to the engineering budget, not medical. This also resulted in engineering getting a discount at medical's vendors, while medical staff were charged full price.

## Why It's Good For The Game
The NanoDrug belongs to the medical department, not engineering.
2020-12-09 20:01:55 -05:00
Tom
763a4d5710 fixes nanodrug unused sprite (#55300)
NanoDrug Plus has a distinct sprite to NanoMed Plus. It isn't used. This uses it.
2020-12-03 19:35:53 -08:00
TiviPlus
de7994c0f7 Init sanity unit test (#55147)
https://github.com/tgstation/TerraGov-Marine-Corps/pull/5326
Stemming from 
https://github.com/ParadiseSS13/Paradise/pull/14770

Basically it just checks for bad initialize calls
2020-11-30 17:15:11 -05:00
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Ryll Ryll
1b9777df1f Changes grenade proc names to be more clear (#55181)
Grenades have, for the longest time, used the proc name preprime() to refer to arming a timed grenade so that it will boom in a few seconds, and prime() to refer to the grenade actually going boom (or releasing foam or anything else grenades do when they go off). This was very confusing, so now these two procs are called arm_grenade() and detonate().
2020-11-28 07:44:28 -03:00
ArcaneMusic
bf39caca6a Refactors Pastries into newfood. (#54996)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Floyd <Floydje123@hotmail.com>
2020-11-24 16:18:10 -08:00
ArcaneMusic
245b29599a Properly differentiates the nanodrug and nanomed vending machines. (#55069)
This repaths the nanodrug and nanomed vending machines, as well as visually tweaks the nanodrug vending machine from the nanomed vending machine, in order to
A) Fix the correct vending refills working on the correct vending machines.
B) Not make 2 different vending machines with different contents sell look identical.

Allows for visual clarity between 2 distinct, different vending machines. I got lazy and didn't do it the first time, and now they've been confusing players, apparently.
Additionally, makes them actually deconstruct able and constructible as a result of the fix to the circuit board.
2020-11-22 10:25:24 -08:00
Timberpoes
5ef585b77c Machines no longer dump out their component_parts when qdel'd. (#55026)
Machines no longer vomit out their component parts when qdel'd and instead only vomit out their actual inventory contents.

Doing this uncovered another issue - Random vending machines will return INITIALIZE_HINT_QDEL and then attempt to qdel their circuits, which are still type paths and not initialised atoms yet (circuit was previously nulled by dump_contents, but this no longer happens in dump_inventory_contents). These circuits have been set to null appropriately.
2020-11-21 04:28:41 -03:00
Qustinnus
b713fa1bc3 moves misc food to newfood code (#54788)
misc food is now using newfood code
2020-11-18 12:20:47 -08:00
ArcaneMusic
555302515a Market crash and inflation works uniformly. (#54966)
The market crash event, and by proxy just regular inflation values were being applied to objects with custom prices and custom premium prices. Makes sense, this was a pain in the ass to get working originally across the top of the base prices.
...However, it seems that I forgot to apply that to the uh... base prices of vending, meaning that you had hilariously overpriced vendors on top of completely base prices.
2020-11-15 12:21:58 -08:00
ArcaneMusic
816fe2e1e3 Arconomy: Amputating the Invisible Hand of Income. (#54161)
* Final Stage Capitalism.

* tweaks.

* Got overzelous in my fervor for blood

* well, this now has my full attention.

* Whoops missed a <<

* fixes issue because there were changes I missed

* Cobby: Departmental income is static.

* Whoops

* Various high cost premium prices and a few custom_prices have been adjusted to better suit the lack of income. Code cleanup on income so they're all in-line with cargo.

* First, this has been atomized out.

* UI is now fixed as god intended.

* Actually no, this is dynamic now. No more confusion.

* Conflicts fixed.

* Apply suggestions from code review

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>

* tgui recompile.

* Hopefully aquires that green checkmark.

* --fixes the spacing.

* var cleanup and departmental budget assignment cleanup.

* merge conflict fix

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-11-13 16:32:09 -05:00
ArcaneMusic
5338ad1696 Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#54715)
* The Re-pricening

* Rewritten and adjusted for paycheck defines.

* I made the map changes finally.

* And the refills too.

* "OH YEAH REPLACING IT ALL WITH DEFINES AND SCALING IT THE EXCEL DOCUMENT WILL BE EASY, ARCANE!!!"

* And the premium ones too.

* Accidently spoiled a future pr due to dme bleedover
2020-11-13 16:17:22 -05:00
Qustinnus
51466a6c4a The clown PDA now has in-built comedy detection for when something happens to the clown and plays a fitting sound. (#54695)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-11-08 16:45:30 -08:00
Ghommie
ec50fbd5f5 Merge branch 'master' of https://github.com/tgstation/tgstation into Ghommie-tg27 2020-11-01 14:38:30 +01:00
Ghommie
a74714c2ab Moved these getters toward the upper end. 2020-10-29 16:02:13 +01:00
necromanceranne
6ae9d3856b Labcoats: Roboticist unique labcoat, updated remaining labcoats (#54644)
Gives the roboticists unique labcoats. Because why are geneticists allowed a unique labcoat but roboticists get a generic one?

So now, roboticists have the most extra of the labcoats to go with their jumpsuits. It even has shoulder pads!

The rest of the labcoats have had a very mild tweak, and their icons now no longer use the ancient, janky labcoat sprites. You know, the ones with the fucked up outlining.

Oh also the virologist labcoat suggested it was somehow more protective against biological things. This is not true, so the labcoat has had it's description fixed.

(While I was here I fixed up some suit storage sprites related to the stuff that goes in labcoats, hehehe)
2020-10-29 00:22:18 -03:00
Ghommie
c9f0966156 Non-human mobs can now benefit from held id cards and economy. 2020-10-27 15:59:28 +01:00
TheObserver-sys
a5e6db8f99 Finally, peas for the whole station. (#54573)
This PR brings three new plants, and 6 new food recipes into being. This is a combined port of Citadel-Station-13/Citadel-Station-13#12211 and Citadel-Station-13/Citadel-Station-13#12510, along with the fixes made along the way.

Laugh Peas contains 7% Laughter.
World Peas contains 10% Pax and Happiness, but takes at least 21 cycles to bear a harvest, by having a maturation time of 20.
Salad of Eden contains 3 units of Earthsblood, 5 units of Omnizine, and 2 units of Happiness, but requires one of every ambrosia leaf, as well as a world pea.

Credits to TripleZeta for the base peas sprite, and Stewydeadmike for the Laugh, World, and food sprites. Without them, the peas would have remained an ideasguy sort of deal.
2020-10-25 00:29:00 -03:00
Gandalf
f5e3dda4f6 Vended items now go into hand (#54463)
Items that you buy or vend from a vending machine will now be transferred straight into your hand, provided certain conditions are met.
2020-10-22 17:44:04 -03:00
carshalash
43f1e8ec58 Introduction of sweet Italian Liqueur, Amaretto (#54466)
About The Pull Request
New Alcohol Amaretto and various cocktails
2020-10-21 16:48:21 -04:00
ShizCalev
b720bcd63d adds more cursed animal masks (#53539)
Animal masks refactor
2020-10-15 22:16:00 +02:00
Cimika/Lessie/KathyRyals
2557727e43 Added science berets. (#54255) 2020-10-09 19:36:46 -03:00
Timberpoes
96debc2112 Feex (#54116) 2020-10-02 11:50:32 -04:00
ArcaneMusic
d65714e9f1 Nice, Corgi Pinning Action for the whole family. (#53913)
Adds pin the tail on the corgi, a basic party game last seen at the summer ball, that I had lying around on one of my branches since then. The corgi is a poster that functions like most other posters, but has an interaction with the fake "Corgi tail" object, which can be pinned onto the poster to visually place the tail onto the poster.

Are you a bad enough dude to pin the tail on the corgi blindfolded?

Fun, cheap entertainment. Might make for a cheap thrill, or help set the scene of a birthday party. Works as a very player driven basic activity.

Also, the tail pins are harmless embeds. I'll leave that here for you to think about.
2020-09-29 23:18:54 -07: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
Mickyan
ce2e9aea10 Adds sound selection to certain instruments (#53690)
This gives instruments a selection of fitting instrument sounds, since we have a bunch that have been exclusive to the synth piano until now. For example, the harmonica can pick between the hardcoded and synthetized versions.

It might also add a new special and rare instrument
2020-09-26 09:22:38 -03:00
Timberpoes
c2b8b5c0ce Machines now store their components in their contents. (#52970)
Machine parts are now located in the machine instead of nullspace.
2020-09-24 13:51:40 +02:00
Mickyan
7e4e9d432d Adds rollerskates, wheely can do tricks (#53497)
This turns wheelys into a skateboard subtype so they are no longer a copy paste of old skateboard code. They have lower stability compared to skateboards.
I've also made a whole bunch of small adjustments in the process to make skateboard code cleaner and more modular, such as turning the improvised skateboard to its own subtype so that construction steps don't need to be overwritten for all subtypes

Adds two subtypes of wheelys:
-Rollerskates: more stable than wheelys but slow you down when the wheels are retracted
-Skishoes: For skiing! Only work on snow, obviously

I wanted to add some fun alternatives to skateboards with their own drawbacks, and the ski shoes were an opportunity to do something fun for icemoon maps
2020-09-11 04:14:00 +01: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
Qustinnus
75415d3eb5 Refactors burgers to use components & auto-eating (#53224) 2020-08-29 03:11:37 -07:00