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.
Alright, this is a functional rework for civilian bounties, which should serve a few purposes:
Cargo has a reason to actually keep working and stay within cargo.
Makes cargo bounties far more integrated into the round as opposed to being a static list of soft goals, being personalized to those who would actually do a bounty for the station.
Still make civilian bounties the prime, sirloin steak method for regular crew to make money.
So here's the 4-11:
Static cargo bounties have been removed, in favor of the new system of civilian bounties. That means that both the bounties app and the bounty console have been removed.
Civilian bounties have been buffed. They are no longer affected by inflation, but when your bounty is completed, you will recieve a "bounty cube". To receive the cash you would have received for the bounty (10% of the civilian bounty), that bounty cube must be shipped off the cargo shuttle, and using the magic of the price tag component, you make your cut, and cargo makes their 90%, ensuring that you'll actually see your money (for once!).
Civilian bounties are now independent of department budgets, in preparation for departmental purchases, so now you can more freely benefit from doing civilian bounties to buy things! (See #53881)
Non-mining cargo department crew now have fully randomized bounties, to give them stationwide goals for bounty hunting.
As an added benefit, the icon for bounty cubes basically screams value, so hopefully crewmembers will see it and instantly think to sell it.
This makes the PDA play all sorts of nice sounds, aswell as sounds for ejecting or inserting the ID/pen/cartridge.
The noises for pressing buttons will need for your ringer to be ON, the other noises get played either way.
The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.
In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.
Additionally, fixed a tk bug reported by @Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack
Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.
Also cleaned some code here and there.
imo; the ss13 audio-scape is quite barren, you can only hear most things if you can see them, which in my opinion doesn't make much sense. This changes that so you can hear further away, but falloff is much higher, so in reality you will only hear things relatively quietly when they're out of sight.
This PR increases the hearing distance of most sound by 9, excluding sounds such as antag items that are meant to be used stealthily
This PR also replaces Byond's inbuilt falloff system with something I made, (And thanks to potato for helping me throw together a formula for it). This fall-off system makes sound fall off more naturally, with sounds being full volume within a certain range, and then softly falling off until they are completely quiet. This makes for a smoother transition between "This sound is full volume" and "I dont hear this sound".
Co-authored-by: ff <ff>
Adds support for radio's that anonimize the user, and adds one to every chapel.
It adds a new layer of immersion, and the option to anonizmie the speaker adds new options for mappers.
* Refactors tile reskinning
* revert maxhealth changes
* what's with the extra spaces
* Include floors in the name changes
* tile fix and delete and create instead of change
* damn you github auto-resolve
* more atomization
Originally I wanted to fix an issue where the `get_up()` `do_after()` would ignore the callback checks, because it was `uninterruptible`, so that made me refactor these procs to allow for higher granularity on checks and standardize behavior a bit more.
There's more work to be done for them, but one thing at a time.
* Removes the `uninterruptible` check in favor of the more granular `timed_action_flags`
* Cleans code on the `do_atom`, `do_after_mob`, `do_mob` and `do_after` procs to standardize them a little better.
removes hexane gas from video game
(the ability to hear dchat got removed like half a day ago) (Lemons note, it's been more then half a day)
it will speed up atmos a bit with less reactions, the reagent from the gas does the same things as halon + bz and the reaction from it is pretty similar to halon, they are both gases that exist to stop fires, i dont think we need both
Title. Also added some precautions to bank_account/new() and the crab17 gear.
The fact the majority of functions pertinent to the bank_accounts list was O(n) disquieted me.
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Start of work
* More work
* Finish visuals for main page for AIs, start work on behavior
* More functionality--authenticating and calling shuttle
* Set security level
* Message list
* Purchasing shuttles
* Emagging, messaing associates, nuke codes, permission fixes
* Sending message to allied sectors (done?)
* CentComm -> CentCom
* Resolve part of feedback
* Remove now unused pageComponent variable
* Change children to not use array
* Split lines
* Flex box allied stations
* Don't use ternary
* Fix lints
* Rebuild tgui
* Change icon to biohazard
* Clean up color property
* Rebuild tgui
Put null rod in active hand > Bring up radial menu to select new skin > Swap active hands to hand that is full > Select new skin > Nullrod spawns in nullspace, can't be put in active hand, stays in nullspace, old rod deleted > Chaplain has no null rod.
Now we (redundantly) spawn the new null rod at the holder's drop_location instead of nullspace.
We use put_in_hands which will attempt to put it in the active hand, followed by any free hand, followed by the drop_location if all else failed (told you the above was redundant, probably good practice to do though)
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.
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.
Adds and implements alloy materials
Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.
Materials added:
Plasteel
Plastitanium
Plasmaglass
Titaniumglass
Plastitanium Glass
Alien Alloy
Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.
Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.
(Lemons note: Adds a regeneration component, used for alien alloy)
overrides weren't detected by should not sleep, i think i've mostly
fixed that with SpaceManiac/SpacemanDMM#214
Some of these are wacky but overall this pr is harmless
signals shouldnt sleep even in weird 1 in a million situations or due
to other people adding bad code
overrides of changeling can_sting() use alert() and input() and that's
just too fucked for me to fix in this pr
Added an abstract proc for circuits intended to be used to allow a circuit to configure a machine.
Overrode this proc for supply console boards (behaviour inherited by express boards)
Call this proc in supply console on_construction (behaviour inherited by express supply consoles)
Allows all supply consoles to inherit their circuit's emag and contraband status.
Doesn't look like any other circuits use this sort of functionality, but if they do I'll fix 'em up too.
* Most OP atmos tool. RPD that can unwrench pipes.
Adds reverse wrench mode upgrade to the RPD.
Attention, due to budget cuts, the mode is hard linked to the destroy mode control button.
Now /obj/machinery/atmospherics/deconstruct(disassembled = TRUE) return created obj/item/pipe
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
If your hands are full, you make a visual attempt to sign, so others know you at least tried. If you have no hands, you simply cannot sign at all.
Having one arm gone and the other full properly makes one unable to sign
Runechat!
Uses TRAIT_HANDS_BLOCKED now
Any organ with ORGAN_UNREMOVABLE as a flag is no longer removed by aheals or full heals. Currently this only affects tied tongues, as no other organ really has that flag yet.
If you can't sign from your hands being full, you won't stand there silently staring at whoever you try to talk to.
People will actually see that you can't sign thanks to runechat
I finally fixed sign language for lings & xenobio mains
Co-authored-by: Rohesie <rohesie@gmail.com>