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.
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
* Initial Commit ya dig
* I had no idea you could do this. This feels illegal, is this illegal?
* Suggestions made, plus comments and prepare result cleanup
* Fixes conflict
* Adds more documentation
* :Lenny:
* Initial commit and god help me if there are any botany mains left they're probably finding my address right now god save my soul
* Cobby's changes and Shadark was right about my formula being slightly wack
* Adjusts the examine message to suck a bit less.
* Densified Chemicals now halves yield for double-power plants.
* EVERYTHING. Check the changelog.
* Minor species change, spade fits on plant belt.
* Local man blind, news at 11.
* Longrange pollenation, and fixes pill composting.
* adds pruno; adds garbage bags to all map permas for pruno; adds moldy bread for pruno
* tells travis to eat shit
* ups time to make pruno; tweaks recipe
* changes moodlet, breaks mold into separate reagent, slightly tweaks recipe display
* travis please eat every dick in existence except for one and then continuously clone-a-willy that dick so you can continue this task for all eternity
* changes disgust, adjusts comments
* does this fix the shit
* does THIS work
* spooky's edits
* 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'.
* bungo
* Adds galaxy thistle and spaceman's trumpet.
* Traits update + new mushroom.
Adds new traits and mutability variable.
* Fixes bungo pit contents
* Bungotoxin lethality is now more in line with other good toxins.
* Adds hair dyeing functionality + lowers enzyme
* flags, plant stat adjustments, runtime fix, spelling and mutations.
* Nerfs toxin content of bungo pits to reduce hypodermic induced lethality
* Name getter fix, adds rarity, better documentation, carnivory tweak
* Bungotoxin has more tells.
* fixies
This was using the wrong inventory proc, trying to remove the grown
from the user before it was ever in them, meaning the grown trash item
had the wrong loc and causing a runtime.
I also took the opportunity to autodoc.
* 1/4 done? maybe?
* more
* stuff
* incremental stuff
* stuff
* stuff & things
* mostly done but not yet
* stuffing
* stuffing 2: electric boogaloo
* Git Commit and the Kingdom of the Crystal Skull
* make it actually compile
* found more stuff
* fixes
* fix AI laws appearing out of order
* fix windows
* should be the remaining stuff
* this time for real
* i guess it should compile too
* fix sechuds
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
Squashed plants now react on the turf they are squashed.
Currently they react on the turf before if they hit a person because they don't
move through the dense object.
* Passes thrownthing to hitby
* Items now also pass thrownthing
* No longer uses default arguments
Also fixes bananium shield
* Adds more arguments to hitby calls
* Standardises throw_impact
* Clears up some loose ends
* Adds back wacky comment
* Reinstates can_push=FALSE on bananium shield
🆑 coiax
add: Centcom now reports that thanks to extensive bioengineering, apples
and oranges now taste of apples and oranges, rather than nothing as they
did before.
/🆑
Basically, my hack to give hydroponic grown things flavour when I
finished my taste PR never worked, and since I've started being a chef
of recent, this has been bugging me.
I think I changed some descriptions of some foods a bit.
I had some time free, and noticed how awful the reagent grinder code was - it used huge static lists containing types and their associated reagents from grinding.
This is now split into two new vars on /obj/item - var/list/grind_results and var/list/juice_results, as well as two new helper procs, on_grind() and on_juice() to allow those to change based on conditions like plant potency. Such checks and the like have been moved to that. If any of these procs return -1, the operation is canceled.
I also fixed some of the recipes that didn't work. The reagent IDs for them didn't exist, leading me to believe that they weren't tested. I corrected that! (I've tested every single recipe in this PR, with the exception of a few juicing-related ones.)
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
* Add the system for managed global variables
* Travis ban old globals
* So you CAN inline proccall, that's neat
* Fix that
* master.dm
* Remove the hack procs
* Move InitGlobals to the proper spot
* configuration.dm
* Fix the missing pre-slash
* clockcult.dm
* This is probably for the best
* Doy
* Fix shit
* Rest of the DEFINES tree
* Fix
* Use global. for access
* Update find_references_in_globals
Always hated that proc
Whoever made it must've bee a r e a l idiot...
* __HELPERS tree
* Move global initialization to master.
Fix the declaration
* database.dm
* Dat newline
* I said DECLARATIVE order!
* Here's something you can chew on @Iamgoofball
* game_modes.dm
* Fix this
* genetics.dm
* flavor_misc.dm
* More stuff
* Do it mso's way. Keep the controllers as global
* Make master actually see it
* Fix
* Finish _globalvars/lists
* Finish the rest of the _globalvars tree
* This is weird
* Migrate the controllers
* SLOTH -> GLOB
* Lighting globals
* round_start_time -> ticker
* PAI card list -> pai SS
* record_id_num -> static
* Diseases list -> SSdisease
* More disease globals to the SS
* More disease stuff
* Emote list
* Better and better
* Bluh
* So much stuff
* Ahh
* Wires
* dview
* station_areas
* Teleportlocs
* blood_splatter_icons
* Stuff and such
* More stuff
* RAD IO
* More stuff and such
* Blob shit
* Changeling stuff
* Add "Balance" to changelogs
* Balance for changelog compiler + Auto Tagging
* Update the PR template
* hivemind_bank
* Bip
* sacrificed
* Good shit
* Better define
* More cult shit
* Devil shit
* Gang shit
* > borers
Fix shit
* Rename the define
* Nuke
* Objectives
* Sandbox
* Multiverse sword
* Announce systems
* Stuff and such
* TC con
* Airlock
* doppllllerrrrrr
* holopads
* Shut up byond you inconsistent fuck
* Sneaky fuck
* Burp
* Bip
* Fixnshit
* Port without regard
* askdlfjs;
* asdfjasoidojfi
* Protected globals and more
* SO MANY
* ajsimkvahsaoisd
* akfdsiaopwimfeoiwafaw
* gsdfigjosidjfgiosdg
* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!
* facerolll
* ASDFASDFASDF
* Removes the unused parts of dmm_suite
* WIP
* Fix quote
* asdfjauwfnkjs
* afwlunhskjfda
* asfjlaiwuefhaf
* SO CLOSE
* wwwweeeeeewwwww
* agdgmoewranwg
* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?
* Fix syntax errors
* 100 errors
* Another 100
* So many...
* Ugh
* More shit
* kilme
* Stuuuuuufffff
* ajrgmrlshio;djfa;sdkl
* jkbhkhjbmjvjmh
* soi soi soi
* butt
* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING
* lllllllllllllllllllllllllllllllllllllllllll
* afsdijfiawhnflnjhnwsdfs
* yugykihlugk,kj
* time to go
* STUFFF!!!
* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!
* ngoaijdjlfkamsdlkf
* Break time
* aufjsdklfalsjfi
* CONTROL KAY AND PRAY
* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* Goteem
* Fix testing mode
* This does not belong in this PR
* Convert it to a controller
* Eh, fuck this option
* Revert controllerization Ill do it some other time
* Fix
* Working controllerization
* FOR THE LOVE OF CHRIST PROTECT THE LOGS
* Protect admins and deadmins
* Use the inbuilt proc
* Adding taste to reagents
* Toxins mostly taste bitter.
* The taste of medicine is mostly bitterness
* Drugs taste bitter too
* It turns out pyrotechnics mostly taste like burning
* Alcohol and blob tastes
* Drinks taste mostly of drinks
* And the food reagents are the last, but not least
* Actual taste code
* You can now taste freshly spawned carrot cake
* Bread, burgers
* Debugging tasting
* Always add the reagents properly, I guess
* Finally got nutriment scaling working
* Finally got all the stuff working and mixing
* PEOPLE CAN NOW TASTE THINGS
* Mouthful only has one L
* Meat n dough
* Eggs and cakes
* Meat dishes taste of meat
* Others...
* Pastry... there is no end to the food
* PIE AND PIZZA
* SANWHICHES, SALAD, SOUP
* THE LAST OF THE FOODS ARE COMPLETE
* Weird indentation issues fixed
* Remove dat debug code
* Hydroponics and sugar is less strong
* Replaces carrot cake reagents
* Code review
* Fixes bad flavours