Commit Graph

54270 Commits

Author SHA1 Message Date
Fikou c48c3d9716 shuttle catastrophe now cant trigger if it already happened (#55114)
Shuttle catastrophe now cant trigger if it already happened
2020-11-23 14:08:39 -08:00
Qustinnus 41157f5d6b Moves grown food to newfood (#55040)
Moves grown food to newfood
Gives trash element support for callbacks for item creation override
2020-11-23 14:00:23 -08:00
Jared-Fogle 22b05cc3d1 Reload verbs when the client goes into a new mob (#55106)
Try this experiment at home:

    1.Ctrl shift click your ghost
    2.Notice that you still have the Ghost tabs, and you don't see OOC > Ghost, uh oh.

This happens for more than ctrl-shift-clicking, it happens a lot with event mobs.

This reloads verbs on /mob/Login, aka when the client goes into a new mob (or when they reconnect).
2020-11-23 13:47:53 -08:00
ArcaneMusic b29a686f92 Hygienebots de/construct and behave like the other simplebots. (#55089)
Adds simple deconstruct steps to the hygiene bot assembly, as well as adds a simple crafting menu option to craft one.
Also, corrects an issue with hygienebots not needing to be opened in order to be emagged. They now need to be emagged to be opened with a screwdriver, then emag the open panel in order to emag the robot, just like every other robot.
2020-11-23 13:44:18 -08:00
Maurukas a5c2bd12f7 Fixes cryogenics infinite gas deletion (#55068)
* cryo fixes and cleanup

Move magic numbers to defines
Fixes cryo deleting 100L of gas each time it transfers
Remove unneeded/unused variables
Moves gas all gas consumption to process_atmos
delta_time in process_atmos

* simplify consume_gas
2020-11-23 13:40:57 -08:00
ArcaneMusic 72aafb5f72 Makes it so living crate creatures can pass plastic flaps as god intended. (#55088) 2020-11-23 11:43:26 -08:00
Ghom 2bd9aca8b6 Removed effect/dummy/phased_mob copypasta. Fixed squeak component triggering from abstract effects & co. (#54783) 2020-11-23 13:27:18 -03:00
zxaber d8c382a0ed Cell chargers now pull from the grid's surplus rather than their room's APC cell (#54989)
About The Pull Request

As the title says.

    Creates a new proc, use_power_from_net() that attempts to pull power from the grid (by adding the amount needed to the APC's powernet load), and returns the amount gathered if there was enough surplus to do so. This bypasses the APC's internal cell for power drawn this way.

    Changes cell chargers to use this new proc for charging a cell. The charger machine still uses some power from the APC, set to 1% of it's max cell charging rate, for machine-related power costs. I'm not deadset on that number, I just needed to start with something. To be clear, this 1% is to simulate running the cell charger's circuitry; all of the power for the cell it's charging is 1-to-1 coming from the powernet.

    This does not subvert the original PR's purpose; cells are still drawing as much power from the grid as they charge with.

Why It's Good For The Game

Fixes cell chargers breaking rooms after the prior cell charger fix. The load is now on the grid, and it being surplus means that it (probably) won't actually powersink anything.

Fixes #54919 by taking a different approach that entirely avoids the issue.
2020-11-23 11:35:58 +01:00
Mickyan 029eab1f58 Fixes photo frames appearing empty (#55083) 2020-11-22 20:06:51 -08:00
ArcaneMusic be611e4917 Salt the earth of these god damn gym lockers (#55081) 2020-11-22 20:06:09 -08:00
ArcaneMusic f3d28c2d89 Fixes paystands sending signals when attached with a signaler. (#55092)
Corrects how paystand's interact with their signalers by actually using the correct proc, and signaling out of the machine.
Not much else to say here.
2020-11-22 18:16:36 -05:00
spookydonut 0383c19ac2 Minor refactor to signal handlers to remove potential sleeps (#54649)
About The Pull Request

These are legacy sleepers, the remaining 12 are non-trivial to fix.
2020-11-23 09:49:12 +13: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
tattlemothe 1e3fdc9f5b ghosts can no longer empty the gibber (#55021)
Ghosts could use the right click menu to empty a gibber. This removes that.
2020-11-22 10:01:41 -08:00
Ghom ed339e295b Fixing the arena shuttle being unbuyable if medals are disabled. (#55066)
Fixed the arena shuttle not being unlockable if medals are disabled.
2020-11-22 10:01:10 -08:00
Jared-Fogle a16d1c60f5 Fix 'your mind won't reach that far' message when clicking moodlet with TK (#55070)
The mood /atom/movable/screen, instead of having a Click() override, instead has its COMSIG_ATOM_CLICK registered in the mood component. This has the side effect of normal attack chain protocol being ran on it, meaning that if you click it with TK you will get a message saying "Your mind won't reach that far". This fixes that by overriding attack_tk into a noop.
2020-11-22 09:59:16 -08:00
Jared-Fogle ac68b14018 Fix nearsighted glasses being able to be neutered with quick swap (#54916)
You can no longer quick swap another pair of glasses with nearsighted to see perfectly.

Currently you can:

    Choose nearsighted
    Quick swap to another pair of glasses
    See perfectly

This wasn't fixed by Shaps' changes since those call dropped, which do not run through unequip code.
I know one of you is abusing this, show yourself!
2020-11-22 09:54:02 -08:00
Jared-Fogle 2cec1acfbd Cache values in TEST_ASSERT_EQUAL and TEST_ASSERT_NOTEQUAL (#55074)
Previously if a comparison assertion failed, it would re-evaluate the a and b parameters, which could lead to confusing output if the values passed are not fixed or are impure.
2020-11-22 09:52:20 -08:00
ArcaneMusic 961fdeaaea Typo fix and bug fix (#55075)
Replica pods were calling CanUse as opposed to canUseTopic when harvesting seeds, and since CanUse hinges on the machinery being usable and powered, it was preventing the harvesting of replica pods when depowered as expected. The only thing that should be needed for harvesting trays should pretty exclusively be the standard level of adjacency.
also corrects a line of spelling.

Fixes a bug, corrects some grammar. Makes the world a better place.
2020-11-22 09:50:57 -08:00
ArcaneMusic 8276f4140f Graveyard graves now sound like they're being dug open/closed. (#55080) 2020-11-22 02:43:07 -08:00
ArcaneDefence 1c25c6f92f Makes the foodcart actually become full (#55041)
The chef's food cart can no longer store an infinite amount of food stuff.

Oh also foodcarts support newfood now
2020-11-22 02:04:00 -08:00
Fikou 17d7d2d0df moves dough to newfood (#55039)
* moves dough to newfood
2020-11-22 02:01:58 -08:00
Ghom 617141ba83 Web edit fixing pocket spaghetti. (#55033) 2020-11-22 00:16:13 -08:00
XDTM 027aa228d5 Adds 'off' icons for nanite machinery (#54902)
* Adds 'off' icons for nanite machinery

* overlays

* overlays II
2020-11-21 17:29:20 -08:00
Jordan Brown f84020850c Fix comment on non-charging defibrilator mounts (#54982) 2020-11-20 23:47:40 -08:00
Ghom 35b8476162 Fixing addictions not going away on no-metabolism trait gain. (#54797)
Also addiction_list is null by default, considering the wide majority of reagent holders don't even get addicted to stuff.
2020-11-21 04:43:30 -03:00
Ghom 27d0e32b47 minor material_container args/vars refactor and Mk-honk shoes peeve. (#54863)
My original intention was just fixing an issue with the Mk-honk banana shoes but, considering I didn't want to add two new variables to a component with already lot of args and lengthy AddComponent() calls in term of text, I had to merge some TRUE/FALSE variable/args into the breakdown_flags bitfield (now named mat_container_flags) in the process.
2020-11-21 04:37:07 -03: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
EdgeLordExe b2cc771ba9 Fixes Crucible Soul potion making you permanently phase through all matter and Void storm breaking after dying. (#55050)
Someone changed /obj/screen/alert to be /atom/movable/screen/alert and it caused this problem.
Also fixes the issue with void storm breaking if someone dies and gets revived.
2020-11-21 04:53:31 +00:00
Timberpoes 0785f2b6d9 Fix Xenomorphs not being able to generate plasma for their abilities. (#55051)
Fixes #55006

#54632 added some code to handle organ processing, including a big ol' global list which defines the organ processing order.

Downside to this is that it didn't take account of 5 year old Xenomorph code where the organ slots weren't defines. As a result, `/mob/living/carbon/proc/handle_organs()` would never call the `on_life()` for Xeno organs as they weren't in the big ol' global list.

I created defines for Xeno organs, added them to the global list and updated the organs with the new defines. As a result, Xeno plasma vessels now have their `on_life()` proc fired once again and generate plasma.

In local testing I was generating the expected amount of plasma on and off weeds and was able to successfully evolve up to a Queen.
2020-11-20 21:43:30 -05:00
EdgeLordExe 915204167d Unit tests for heretic knowledge (#55022) 2020-11-20 15:53:56 -08:00
XDTM 03de3dfb07 Adds a set of nanite storage protocols as a Bepis research, plus small nanite adjustments (#54710)
Adds a new set of nanite protocol programs as a researchable Bepis tech.
Protocol programs are programs that are mutually exclusive within their time, so remember that only one of the following can be active at once in the same host.

    Hive Protocol: Makes nanites use space more efficiently, increasing maximum volume by 250 (500 -> 750)
    Zip Protocol: Makes nanites use a compression routine when not in use, increasing maximum volume by 500 (500 -> 1000) but consuming 0.2 nanites per tick to perform the zipping/unzipping
    Free-Range Protocol: Makes nanite use looser storage routines, reducing the maximum volume by 250 (500 -> 250) but gaining 0.5 nanite replication rate
    S.L.O.P. (Safety Level Override Protocol): Removes nanite storage safety measures, allowing them to reach up to 2000 volume. However, when the volume surpasses the maximum recommended volume (500) the host will start to suffer from side effects, manifesting in slow organ damage. The more the nanite volume approaches the physical limit, the more harmful it becomes.

Replaced the Tinker Nanite Replication Protocol with the Pyramid Protocol, which gives an extra 1.2 regeneration rate, but only while the nanites are at 80% volume or above.
Renamed the Offline Production Protocol to Eclipse Protocol.

Chain detonation now uses dyn_explosion(), at a rate of 1 power per 50 nanite volume. The power level should be similar to how it was for normal nanite volumes, but it should scale more linearly when going above the limit with the new programs.

If nanite volume is suddenly significantly higher than the maximum allowed (likely caused by deleting an active storage protocol) the extra nanites will be forcefully expelled from the host's body, which can range from minor oozing, to vomiting puddles of nanites, to nanites rapidly bursting from eyes, ears, and skin pores.
Despite how it looks, this process causes no lasting damage, since it's a security feature made to prevent acute nanite poisoning.

Added some comments on a few nanite functions.
Refactored vomit code to make it a bit more customizable. The toxic arg (supposedly used to choose an alternate vomit icon, but in fact not functional) is now vomit_type, and purge (which determined vomit would remove 10% of reagents or 67% of reagents) is now purge_ratio, which accepts custom values. Made the refactor mostly to allow a 0% ratio, but it can be handy in other future uses.

Adds extra content to Bepis research, giving a little more reason to invest money into it.
Creates more options to customize a previously rigid parameter in nanites, maximum nanite volume. This opens up strategies that involve storing up large amounts of nanites for special occasions, or viceversa reducing the maximum rate to get more constant replication rate to sustain continued programs.
2020-11-20 12:07:20 -08:00
Ghom c5ab5b4882 Webedit fixing "you cant put stuff in someone's hand with stripping menu" (#55029) 2020-11-20 19:02:47 +08:00
Ghom 7d64a94ec9 Fixing a 18.18% chance of gibs streaking 50 tiles away. (#55035)
* Fixing a 18.18% chance of gibs streaking too far away.

* ascended bug, not a new feature. :rolleyes:
2020-11-20 19:01:20 +08:00
Ghom a83f2abdc1 You can't defy lack of gravity through the power of love. (#55037)
About The Pull Request

Title. Law of conservation of energy, not handholding.
Why It's Good For The Game

This will close #53192.
Changelog

🆑
fix: You can't defy lack of gravity through the power of love.
/🆑
2020-11-20 09:41:22 +01:00
EdgeLordExe f331ed29c8 Fixes 2 last heretic bugs that are on issue tracker (#54967)
About The Pull Request

Fixes the cursed heart being unable to track targets in containers.

Fixes the shitcode that was reality_smash_tracker, now it is only responsible for generating influences.

closes #53583

closes #52554
Changelog

🆑
fix: fixes the cursed heart being unable to track people inside containers.
fix: fixes influence vision getting broken by replacing someone's eyes.
/🆑
2020-11-20 09:38:41 +01:00
Ghom 7470e5766f Web edit fixing "Admins can't give spiders, and xenos common" (#55034)
About The Pull Request

See changelog.
Why It's Good For The Game

This will close #54987, close #50204.
Changelog

🆑
admin: Admins now have the option to remove a language from the blocked_languages list when granting it to a mob through the language menu.
/🆑
2020-11-20 09:12:17 +01:00
tralezab 3c1f235e9f AIs can now select portraits as their display (#53994)
A new option has been added to the AI display radial menu alongside random, "Portrait"

It opens a small menu that lets you peruse all of the portraits and select one as your display.

This can let avid artists draw exactly what they want their AI to be like, and not-so-avid artists to bring tears to my eyes.
2020-11-20 05:37:08 +02:00
ThePotato 23806ad6fb Rotation for stamps and some other stuff for paper (#55028)
* rotation, better mouse tracking, fixed chat output for tgui paper

* revert this stuff

* made mousemove only change states

* rebuild

* fix wrapping and move all sanitization to sanitizeText
2020-11-20 04:27:08 +02:00
wesoda25 23197a58ab Makes ladders craftable (#54485) 2020-11-19 15:11:15 -08:00
ArcaneMusic 05f7634c9e Hardsuit Thermal regulators have proper chat feedback. (#54930)
Thermal regulators now have a few to_chat messages letting you know if your hardsuit's thermal regulator is on or not, as well as letting you know when the cell has run out of charge, or when the cell is dead when attempting to toggle it on.

Improves feedback for using hardsuits, as not being able to tell when the suit is keeping you warm or not can be deadly, especially if the icon toggle stops working for any reason.
2020-11-19 12:25:16 -08:00
Qustinnus 5fb9506de9 mmmhhh (#55032) 2020-11-19 21:02:56 +01:00
Caldony ded1be52a1 new chaplain sect, the Ever-Burning Candle sect (#54618)
* Adds the sect of the Ever Burning candle

* make the burning sacrifice 20 seconds instead of 10

only made it 10 seconds for testing purposes, also make the "unmelting" clothing red instead of blue to be more red candle-ish

* make another check at the end of the candle fuel rite

The candle fuel rite will now check if the sacrifice is still on fire and dead at the end of the rite, you can technically extinguish them and only light them on fire at the last moment but it's fine god won't notice

* make the unmelting wax rite actually fireproof clothing hood/helmets

so yes you can supposedly get 2 fireproof for the price of one, but since hardsuit and hoodie are allegedly just one big connected suit it sort of make sense.
I also took away the forced color from the fireproofed clothing as making it mesh well with most clothing ended badly so now you can only tell its unmelting by the name.

* few improvements to rites

makes a tighter if check for the unmelting was helmet thing. adds a sound effect at the end of each rite, gives the sect a max favor of 10 000 instead of 1000 which I could've sworn was originally the case but apparently not.

* change the for loop

* Do the thing that cobby asks

I still kept the for loop for the candle fuel for reasons cited above. In other news I just learned that the word SPAM came from a Monty python skit

* WHY CAN IAN BE SET ON FIRE AAAAA

* what if we kissed on the burning altar

* change the for loop to an if check for the sacrifice

also added a bunch of early returns which forces me to set chosen sacrifice to null a whole lot more

* updqte sect description
2020-11-19 14:28:10 -05:00
Ryll Ryll 0eea109ed6 Gulag teleporter now gives plasprisoners with nonstandard gloves a free pair (#54993)
* in memory of pax

* account for failure to equip

* adds qdel on fail to proc
2020-11-19 14:39:04 +01:00
LemonInTheDark 86d273b63e Logs pockets, updates some shitty stripping verbage (#55027)
Two things at hand here.
A: Pockets were not logged at all. I hate god.
B: I'm using log_message here because it gives me the freedom to be more grammatically correct. Please attack my spelling and offer suggestions of other mob strip panel things to log in the comments
B.5: I updated stripping to use log_message for the same reasons.
2020-11-19 10:18:18 +00:00
Ghilker 9fd3f5a0dd fix proto nitrate negative temperature + temperature fix for other reactions (#54945)
Fixed negative energy that allowed proto nitrate to go negative temperature,
fixed other reactions from possible negative temperature
2020-11-19 00:33:18 -08:00
Qustinnus 3f118f4f77 damn man i just want grill and they took it away, damn them all!!! (#55024)
Whoever the damn bastard is who tried to take our grills. know this: we will not bend over while you take the only thing that still makes us happy. We just want to drink energy drinks and grill some hamburgers in peace. This is your final warning, try doing this again and we will assemble a lawn mower squad outside of your house at the early hours of 6AM to make sure you cannot enjoy your sunday morning in peace.

Newfood compatibility is now included by checking IS_EDIBLE() and removing the shitty foodtype that was there before
2020-11-19 00:07:47 -08:00
EdgeLordExe f3a4d8c061 Im fucking r-tarded (#55020)
Makes void actually accessible
2020-11-18 13:50:37 -08: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
Null eb262b15f0 Scalpel can now cut pizza. (#55012)
Enables scalpel tools to cut pizza. Consolidated a bunch of pizza-specific `MakeProcessable` proc defines that were just copy+pastes of each other.
2020-11-18 13:11:20 -05:00