Commit Graph

55270 Commits

Author SHA1 Message Date
Ryll Ryll
83ec7a698f Adds pulling rabbits from top-hats (#56773)
This PR makes it so using a wand on a top-hat makes a rabbit appear in
your hand! Fun! There's a 10% chance that instead of a cute bun you get
angry bees though, but a true performer will soldier on anyway. You can
now also scoop up rabbits in your hands, and scooping animals only
requires one free hand to do so instead of all your hands being free.
2021-02-22 10:16:12 +00:00
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
necromanceranne
9f876fefac Various cult equipment rebalances to address energy weapon immunities being too common (#57091)
* Removes mirror shield and shielded robe from forge, removes eldritch longsword from equipment and moves it to the forge, adds the nar'sian hardsuit to the forge with no slowdown and comparable stats to the shielded robe, gives eldritch longswords and cult daggers block chance
2021-02-22 01:49:23 -08:00
vincentiusvin
1f97c96507 Atmos machineries can connect to a single pipeline in more than one nodes (#56856)
Some devices break when they are connected with a single pipeline in more than one nodes. This happens because returnPipenetAir uses a Find proc that only returns the first element in the list, making other_airs miss out on several gas_mixtures. This attempts to solve that and other related issues with assuming only one node can be connected to any pipeline.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-21 20:20:56 -08:00
Ryll Ryll
9d45916ee8 Implements JPS (Jump Point Search) Pathfinding (#56780)
So a month or so ago I wanted to make it so dogs in my dog AI PR could path through doors if they had access, and was told I'd need to improve our pathfinding efficiency if I wanted to use full pathfinding for them. Thus, enter JPS, a pathfinding algorithm that allows for massive timesavings in systems with uniform cost grids like ours. This code is still fairly rough and needs polishing, but it's fully functional and already shows massive savings over traditional A*! I plan for this to replace A* as our default pathing method, but I'll leave the A* code in place in case someone ever needs it for whatever reason, like if a specific case needs variable cost pathing.

Note that this allows for diagonal pathing instead of the cardinal pathing our A* uses right now, and the current version of the code costs the same to move diagonally as it does to move laterally, which may change later. There's also a lot of dummy/test code in right now in general, but you should still be able to test it out for yourself by spawning a bot like a medibot and using your PDA to summon it.
Preliminary Profile Results

A preliminary profile is available here. Using one medibot by itself on Metastation, I generated a list of 500 random blob spawn points around the station, gave the medibot all access, then let each algorithm tackle the list. The old A* algorithm took a total of 86 seconds to complete the list and processed 978065 nodes, while JPS took a total of 46 seconds and processed only 100062 nodes, for a 47% decrease in total time and an almost 90% decrease in nodes processed!
Why It's Good For The Game

Significantly cheaper pathing, which will very much come in handy for the AI datums I'm looking to dig into, what's not to like?
2021-02-22 15:14:33 +13:00
necromanceranne
b73cf97a3d Fixes the halberds inhand sprites (#57090) 2021-02-21 17:40:19 -08:00
Thalpy
5c0ba642bc Fixes cold reactions bugging out with imaginaries (#57070) 2021-02-21 17:39:33 -08:00
Jordan Brown
3299c47e34 Update TGS DMAPI (#56948)
Co-authored-by: tgstation-server <tgstation-server@users.noreply.github.com>
2021-02-21 17:37:26 -08:00
itseasytosee
f5819cb273 Fixes slime heretics being hurt by rust (#57041) 2021-02-21 14:42:48 -08:00
Sza'Thi
1722da0d29 Improved visual clarity for health scanner text (#57076) 2021-02-21 14:42:12 -08:00
Fikou
eea0599511 moves gun related icons to guns folder (#57077)
moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd
2021-02-21 13:58:33 -05:00
Cimika/Lessie/KathyRyals
5c45a259e0 Buffed atmos holofans. Added to CE locker. (#57074)
Atmos holofans can now make six holos instead of three. Swapped the (useless) engineering holo with the atmos holo in the CE locker.
2021-02-21 13:55:23 -05:00
necromanceranne
6f30694639 Gives the rune carver a turf check, makes it's name more consistent (#57073)
Atomized out of that rune carving pr, this just fixes the lack of a turf check on the rune carver and makes it's name more consistent.
2021-02-21 13:54:37 -05:00
MrMelbert
466a54383d Updates the lifebringer flavor text to be less ambivalent about their goals (#57059) 2021-02-21 04:23:55 -08:00
Mothblocks
3502284268 Fix multiple high impact rulesets being chosen (#57036)
About The Pull Request

This was code I didn't touch but just never worked. I'm pretty sure this is the fix.
Changelog

🆑
fix: Fixed multiple high impact rulesets being chosen on Dynamic.
/🆑
2021-02-21 13:14:59 +01:00
Tlaltecuhtli
152fd762a1 improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates (#57004) 2021-02-21 03:31:51 -08:00
Dax Dupont
556f250c68 Fixed a type in gauze falling off message (#57047)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-20 23:45:52 -08:00
TemporalOroboros
3f8c703865 Makes overlay lighting flags actually respond to attaching/detaching lights (#57058)
Fixes overlay lighting components not handling attaching/detaching lights.
2021-02-20 23:01:42 -05:00
Fikou
98c3a4ff0b cult construct stuff (#57027)
edits sprites for wizard cult constructs to have more sheen
fixes wizard cult constructs not working
makes soulstone code a bit cleaner i think
makes cult spells use second defines
fixes wraith jaunts being invisible
2021-02-20 23:16:35 -03:00
tralezab
7ed64d1f19 small grammar fix on shuttle catastrophe (#57052) 2021-02-20 15:07:58 -08:00
Arkatos1
0e5c7041e2 Auxiliary Base construction fixes (#56969)
* Base construction fixes
2021-02-20 22:39:17 +01:00
Time-Green
ad358635a1 Fixes chemscan runtiming on mindless (#57046) 2021-02-20 20:53:52 +00:00
Time-Green
5f22a97de7 Fixes reagent chamber and other similair machinery breaking (#57050)
* fixes reagent chamber and other similair machinery breaking

* Removes pointless src. and changes R into holder

* Updates var to be more reflective of what it is
2021-02-20 20:43:23 +01:00
Time-Green
96df5a581c fixes roundstart addiction runtime (#57051) 2021-02-20 18:52:00 +00:00
c420-o
08b9927aa4 Add a new admin weapon: foam finger that shoots missiles (#57013)
An admin only rocket firing foam finger has been added. There is also
a toy version available from arcades that is just a giant foam finger.
2021-02-20 15:08:53 +00:00
tralezab
4dc5d1361a Secret panel once again improved (#56766)
Much easier to add to this panel, before with flexboxes it was nearly impossible but stacks are a lot more friendly.

Miscellaneous old garbage I caught:

For some reason, monkey and only monkey button sent a to_chat to the world of your sins. I cut that, that's unacceptable

I accidentally left out species change from my last pr, it's back in.
2021-02-20 15:50:11 +02:00
Timberpoes
6d8d0a415e Fixes restraint alerts doing nothing when clicked. (#57034) 2021-02-20 00:36:59 -08:00
Thalpy
6c1be7abfd Fixes overdose_start() not being called on reagents (#57037)
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-02-20 00:36:17 -08:00
ArcaneDefence
c47ea136a9 Fixes plasma lava limb conversion bug (#57031) 2021-02-19 23:18:18 -08:00
RaveRadbury
e82efbfd38 pAI's with Binary Encryption keys installed can use them (#57033) 2021-02-20 01:45:37 -03:00
TemporalOroboros
ab368bba1a Miasma SM (#54487)
Makes the supermatter crystal consume miasma in the air to power itself. The rate at which it consumes miasma scales with the partial pressure of the miasma and the gas mix of the surrounding air.

Miasma also increases gasmix_power_ratio, but by half as much as is normally standard
2021-02-19 19:01:17 -08:00
Ghilker
bffd8def5f atmos binary devices code cleanup + docs (#57019) 2021-02-19 21:20:07 -03: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
necromanceranne
a7a53d423d Regal pipeguns, being flawless, no longer jam (#57017)
Atomized out of the pipegun PR, this fixes specifically regal pipeguns jamming when they're meant to not carry any of the detriments of their parent gun.
2021-02-19 21:17:28 -03:00
Ghilker
8ab2d7ee7a components_base.dm code cleanup + docs (#57018) 2021-02-19 21:16:55 -03:00
itseasytosee
d36128c508 Re-simplifies corpse examination messages. (#57026)
Dead examination messages are just like they were before. If they are revivable, they are simply dead and lifeless. If they are not, their soul is departed. No needless text.
2021-02-19 21:03:19 -03:00
cacogen
d379fb9555 Crafting menu tells you which colour of crayon is needed (#56950)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-19 15:10:06 -08:00
Thalpy
864d6ca09b Fermichem part 2.1: Adds a reaction/reagent lookup GUI! (#56868)
Adds a new GUI that can be opened from the chem dispenser that will let you look up all reactions and reagents presently in the game (except secret recipes).

For the colours:
purple - clicking this will give you a recipe
blue - clicking this will give you a reagent
green - clicking this will turn it off (or it's also green if the reagent is present in the associated beaker the UI is linked to)
red - clicking this will turn it on

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-02-19 20:41:59 +02:00
Thalpy
fa575db934 Fermichem part 2.2 Adds new tools, crafts and methods for ghetto chemists to handle the new reaction mechanics. (#56871)
Since reactions now require a bit more involvement from chemists, ghetto chemistry is a bit harder. This seeks to help some of those problems by providing new tools for those without a chem heater/reaction chamber.

Also some of these might be useful for chemists in the lab too!

Here's what you can make:
image
the burners are similar to candles - except they burn their internal reagents. The temperature they heat by is dependant on the flame, fuel and oil burn for a lower amount, ethanol for a higher amount and plasma for the highest amount. They can be put on tables and bonked with beakers for a quick way to heat them (similar to lighters). You'll need to light them with a match or lighter too, though, and can be put out by use in hand.

The thermometer looks like this and gives you temperature readings!
thermom

The pH booklets are the same as before - but you can now craft them by making universal indicator. These are the best way for a ghetto chemist to check their pH, and multiple sheets should be used over a reaction.

The improvised chem heater looks like this, and is a reconfigured space heater, it requires more materials and tools lending itself to a static drug den, but has the best method of adjusting temperature and fighting against exo/endo thermic reactions:
Improv_heater

Finally, the cooling spray lets chemists do the oposite of a lighter on their beaker - cooling the reagents within. In addition, fire extinquishers perform the same function.

In addition ice and universal indicator have been added as reactions.

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-02-19 20:28:48 +02:00
necromanceranne
1c14ac771f Fixes projectile damage multiplier not applying to stamina damage dealt by projectiles. (#57016) 2021-02-19 13:40:48 -03:00
TemporalOroboros
e2e7ccdbdc /mob/living/proc/Life(delta_time) (#55534)
- Makes `/mob/living/proc/Life` and most related procs use `delta_time`
- Procs that had snowflaked timing systems, such as breathing, addiction, and advanced diseases were left unchanged.
2021-02-19 10:24:20 -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
Tim
e092545282 Fixes Cigarettes being lit in no-oxygen environments (#56911)
This closes #26487 (Issue about cigs working fine in non-oxygenated enviroments) which has been a known bug for years. Everyone knows how EXTREMELY CRITICAL cigarettes are to game balance. Plasmamen being able to smoke in a room with no oxygen? Spessmen smoking in the hard vacuum of space? What is this madness?!?

I must put an end to these OP tactics.

My changes make it so that if a cigarette has either one mole of oxygen in the current atmosphere or is injected with oxygen reagents, then it can be smoked.

I've also made it so "Space" cigarettes can be smoked in space by changing the default starting reagents to include oxygen. The description was also updated to hint that they can be smoked anywhere.

Also I added a has_gas proc to gasmixtures. I have seen a few places in the code where this can be used and once this gets merged, I will be doing a refactor to clean some code involving it. (bonfires, plasmamen code, etc.)

(Note from lemon, if you use this in the supermatter I will eat you)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-19 01:02:47 -08:00
tralezab
c0e1f63aff Shuttle Insurance! (#57025)
Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-19 00:42:22 -08:00
necromanceranne
e0f6481957 Cleans up living duffel bag code to meet guidelines (#57014) 2021-02-19 00:13:40 -08:00
dragomagol
27eb87dea6 Build mode fill tool asks for confirmation if filling area is large (#57007)
Prompts admins to confirm their selection with the build mode fill tool if the selected area is over 150 tiles.

I've seen this happen a few times now (to both myself and others), accidentally filling a massive area because they either forgot that the tool was still on or were moved unexpectedly. This should prevent these kinds of mistakes from happening easily.
2021-02-18 18:54:05 -03:00
Thalpy
af595a560c Holder.dm code refactor and cleanup (#57001)
Cleans up holder.dm to work to use as anything in it's for loops and changes the var names in said for loops to be more verbose and accurate.
Hopefully this speeds up reactions marginally too!
2021-02-18 18:32:40 -03:00
NotRanged
0427c0c1ba Fixes reflection of hitscan beams against tiles (#56881)
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-02-18 12:56:43 -08:00
Thalpy
29014ac784 Minor fermichem fix (#57000)
This fixes the surprise oversight that I didn't realise was in. Since syringes can hold explosive chemicals when below 100K you can inject the contents into a person, which will then heat up the reagents from bodytemp.
2021-02-18 17:44:39 -03:00
Funce
6cf834f375 Fix small oversight with a query deletion (#56997)
Just a tiny bug that can make a lot of screaming! "Undeleted SQL Query"
2021-02-18 18:12:59 +00:00