removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)
this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.
also applies materials to everything, with fixes, which can close#46299
* Doubtful improvement
* Switches out all the magic numbers with defines
* Thanks travis for finally finding a real error
* properly resolves some left over conflict
About The Pull Request
All mobs in GLOB.player_list have clients attached and there is in fact a fair amount of code that is working fine without checking client on things in player_list. This pr just removes a bunch of checks for client when iterating over player_list.
About The Pull Request
Makes it so pAIs either stutter, slur, or talk like a brainlet when they're EMPed. This can be fixed by someone pressing the "Reset speech synthesis module" button on the pAI card. Additionally, adds a 40% chance for their default language to be swapped.
Readded the mute, albeit a bit shorter, due to feedback.
Idea courtesy of Rogus.
image
Why It's Good For The Game
Mutes are boring. This adds a debuff that while less severe, persists for longer and requires the help of another player to fix.
Changelog
cl
tweak: pAI speech modules have been upgraded to be more EMP resistant, but they can now malfunction on EMP.
/cl
* Reverts italics-span back to no color.
* Cleans up many extra spaces and indents.
* Adds 'hear' span class.
* Replaces all 'italics' used in heard messages with 'hear'.
About The Pull Request
Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls
This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE
I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game
Code usability
About The Pull Request
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
Ports new medical scanner sprites from Polaris (PolarisSS13/Polaris#6357) that animate when they scan. They have more tiers of scanner than we do, so I specifically ported Basic for regular and Improved for advanced:
polaris scanners
The traitor scanner doesn't have an animation currently, but it does have the same subtle visual difference (all red pixels up top instead of red-yellow-green) as our old sprite.
Why It's Good For The Game
Because I like these sprites.
Changelog
cl bandit
imageadd: Medical scanners now have animated sprites. Thanks Michiyamenotehifunana of Polaris.
/cl
* HEY RACISM GOT A SPRITE ACCESSORY FOR YA
* angel + dragonborn > givespeciesflight
* more review stuff
* last of the review stuff
* compile
* readds my fix
* Boolean numero uno
* Boolean numero dos
About The Pull Request
Adds cancel buttons to input boxes that didn't have them before.
Why It's Good For The Game
Good UX.
Changelog
cl
add: More cancel buttons.
/cl
* megumin is best girl fucking fight me
* what kind of smoothbrain capizalized these
* uses explosion defines
* more explosion defines
* Removes reagent explosion code for <1 amounts
* Scales explosion knockdown off bomb_armor
* adds "you" to some combat visible_messages.
* more you-messages and attack verbs to present tense.
* small fixes
* more additions and small fixes
* few message tweaks
* Fixes a typo and few other wordings.
* Adds a GPS component. Megafauna no longer needs gps implants.
* Removes commented out code.
* Removes the last internal radio
* I was already wondering why the diff was so small
* Removes/Moves some weirdly placed variables in martial arts. Splits NO_GUNS and CHUNCKY_FINGERS traits.
* Maybe this should actually compile
* c begone
* Brain damage works on organ damage procs, some defib reworks
* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again
* Cleans up reused global
* Organ damage procs on living and living/carbon
* Changes brain damage procs again
* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.
* Damage and failure effects for the appendix, ears, and some touchups on the stomach
* Committing changes so I don't lose them
* Organs now cease decaying in the proper containers
* Organ Fridges
* Reverts map changes
* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime
* Actually fixes merge conflict
* Smartfridge tweaks
* Think I figured out map merger
* Evidently not
* Still runtiming with glass shards even after I remove the map changes?
* Fixes runtime error with brain_item
* Runtime fix on living/carbon/life
* Cleaning up old PR code
* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were
* Wrong math operation used
* Brains in MMIs no longer decay
* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts
* Removes misleading comment
* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss
* Removes random spaces, scanners check brain damage severity now
* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it
* List change
* Runs off of an index instead of using cut
* Brains can be put into organ fridges
* Fixes minor type, hotfix for cloning problem
* Removes pointless check
* Demon hearts no longer decay
* Nightmare hearts no longer decay
* Removes istype() check on process, sets can_decompose instead
* Condenses organ damage report
* Removes organ failure messages
* Less organ damage spam, implements organ threshold messages instead
* Brain damage messages go to owner, not source
* Self-examine shows damaged organs
* Minor code cleanup, adds autodoc comments to the new procs
* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.
* Merged the booleans into a set of flags
* Healthy living improves organ healing rates
* dunno why this didn't update
* my actions have consequences
* Sets ORGAN_SYNTHETIC for overlooked robotics organs
* Doubles heart decay time
* 3 minute heart decay
* Lobectomy/Coronary_Bypass heal more
* removes hivemind spells from the changes
Adds the Quantum Spin Inverter device to the science protolathe under
the Miniaturized Bluespace node. Basically a remote that swaps the
user with its connected twin, along with any movable containers, like
lockers.
Another fancy teleportation gadget to use in some creative way. An
important element it has is that it teleports its containers as well,
meaning that for example you can hide it in a box inside a bag
somewhere, and trigger its twin when someone picks it up for an easy
kidnapping.
About The Pull Request
So organ damage is a thing now associated with general object of organ, meaning all organs inherit a damage variable, failing boolean, healing variable, and maxHealth variable. The proc applyOrganDamage takes in the damage and organ path, applying damage/healing to said organ. While an organ is in use, it heals a small amount over time (granted the organ is not failing), with this fraction being set by the healing variable.
This also reworks preexisting organ damage systems to function more so on the universal organ damage system, the liver specifically. So much code exists in regards to eyes/blindness and ears/deafness that I'll need to go ahead and take a longer time combing through the code to get everything that can reasonably be tied to those two organs and their level of damage reworked to function off of the organ damage system, as opposed to just a trait add/remove system.
Lastly, this slightly reworks scanners, since now you need to check for every organ in the body. Since organs are stored as "the [organ]" with the method I used to get them, the phrasing on the medical scanner was changed to make more sense given it now has to say something along the lines of "severe/minor damage detected within [the organ]". I'll likely add another proc if I cannot find a way to get the organ's max health during this operation, since a static number determining minor/severe damage does not work when an organ's max health is less than the typical 100 points (as is the case with eyes).
Why It's Good For The Game
Every organ can be damaged, though not every damaged organ does anything right now. Damaged livers do the same thing as they did previously, and damaged eyes develop varying levels of vision impairments. The benefits to this PR are more for future coding projects than it is for the game currently, with no foreseeable changes to the way it's played currently.
Changelog
cl
code: Universal Organ Damage variables and procs
/cl
* Citations Step 1 - New Datacore Stuff
* Committing before merging with master
* Initial work on PDA messaging
* Adds support for automated PDA messages
This is just a flag that, when set, replaces the standard (Reply) href with a static "automated message" message
* Citations now generate PDA messages
The target of a citation will be notified via PDA message
* Escaping some non-optimal characters in PDA messages
* Creates a public warrant computer
Initial framework. Computer machine and circuit. Adds it to the DME.
* We're gonna flipflop on this for a while
* Removing unneeded functions
This is a read-only terminal, so we don't need to have all this code for managing entries and updating fields
* Whoops
So this is why byond was warning me about unused vars
* Need some help
Pushing this commit because I got this into a state where it doesn't work right
* Adds support to pay fines!
* Map changes. Adds a warrant console to the hallway outside the brig and law office on Box.
* Adds some checks to fine creation
* Aaaaand more work on paying citations
* Paying citations works! The money goes into the defense budget!
* More functionality and usability changes
* Adds warrant consoles to the rest of the maps
* Cleaning up text
* Rewrote warrant computer to be more up to date.
* Fines are capped to 1000 credits
* Requested changes
* Citations can now be paid with holochips and warrant consoles don't require your ID to be inserted.
* Fines can be paid from security record consoles, and more feedback messages
* Citation payments now actually go into the defense budget for real
* Removing even more unused code!
* Removes unused code (emp_act and ID handling)
* More unused code for the unused code gods
* ID card reference is now just fetching attached name.
* remove simple mob typepath kthx for the remove simple mob typepath kthx gods
* one usr, many M
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.
Some lists, including global lists, are given types so that L[i].foo expressions can be checked.
Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.
Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.
Return type syntax is currently roughly:
<typepath> | <paramname>([_])*(.type)?