* Allows syringes and droppers to show their reagents when examined.
* rearranges my logic
* replaces SEMIOPENCONTAINER with TRANSPARENT
* Silly spelling error fix.
* Moves the defines from flags to container_type to avoid issues with conflicting flags
* changes it back to obj/item/O
* Moves the OPENCONTAINER and TRANSPARENT defines to the reagents.dm
* Fixes missing materials upon retrieval
Fixes attempts to retrieve materials resulting in missing stacks if
there is more than one full stack of a material in the machine.
* Alternative Fix
This is what actually needed fixing. M.amount would always equal 0, so
round would always result in 0, thus sheet remainders would never get
outputted. This resolves that.
* Fixes sdql2 applying comparison operators to lists incorrectly
* Add a comment to prevent future reverts
Just in case
* Removes oranges comment
I'm fucking sick and tired of this shit where people touch code they don't understand.
By adding the comment, you imply that every bit of code thats the same without the same comment is safe to change, but thats not true.
These landmines are important for teaching new coders not to fuck with shit they don't understand.
When you see something and go "why is it doing it that way". the answer is not to go "fuck it, it seems to still work when i change it" the answer is to leave it the fuck alone until it doing it that way is actually an issue.
How many god damn bugs have we had this last year from non-changes like that. I'm sick of them.
* Remove this shit so fast
* Runes are now stored in a global list
* Readd this shit to properly work
* Refactor rune invisification into a proc
* Fixes#17426
* Use the blood decals
* Less garbage + removal
* COMPILE BEFORE PUSH YOU SPERGLORD
* Refactor into a datum
* Added to crayon runes
* Refactor AI's vision to a slightly lower level
* Actually make the shit invisible to ais
* Nevermind, fixed it
* Fixes it being on the wrong layer
* Adds key logging to abandoned crate explosions
Adds key logging to abandoned crate explosions in order to determine who
detonated an abandoned crate.
* Moves logging under user check
User logging only occurs if there's a user to log.
* Minor grammer update
The potential for 'has detonated a abandoned crate' bothered me.
* Splits the water flan away from the base and adds spellaftereffects
* updates the tomb
* fixes them dying in spess thanks joan
* slowly learning how procs work
now with 100% less trailing returns, fire flans extinguishing and 100%
more comments about varedits
* SSthrowing + callbacks!
Throwing is now a subsystem.
It's low priority, but is a ticker subsystem so is ran before most other subsystems.
To allow for shit to run after the throw finishes, throwing now supports a callback.
A callback datum system was created, conversion of addtimer is planned for another PR.
Throwing now has a limit of 2048 turfs (was 600)
Throwing now ticks every world.tick, and properly converts the speed arg from 1ds to what ever tick_lag is.
Throwing now properly accounts for missed ticks.
Throwing no longer uses sleep.
Throwing should no longer lag since it's not filling the sleep queue up
* Smoother tentacles
* Some improvements
* Missed a spot.
* Makes shit quicker.
Inlines the thrownthing.tick() proc.
Raises missed ticks value
Lowers max dist value
Inlines the two sister overrides for /atom/movable/Moved() because that just seemed like a waste
* >PRs open that use procs i'm removing.
* STOP THE PRESSES!
* throw_at now runs the first throw tick() immediately
This will help some with throwing while running.
* Item throwing now imparts the momentum of the user throwing.
(ie, running in the direction you are throwing makes you throw faster, running away from the direction you are throwing makes you throw the item slower)
* Moves throwing momentum from carbon/throw_item to movable/throw_at.
There are other things that cause a mob to "throw" an item, I figured we keep this universal since thrower is already an arg.
* Explosions throw shit faster.
This was stupid, "Hey, lets set the item's throw_speed to 4 so embedding works, but lets make it throw at the base 2 throw speed for no reason."
* Fixes explosion embedding.
This also acts as a nice example of how to override a callback in an override of throw_at properly.