* 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.
* clickcode + silicons = paper plane folding ???
Fixes a bug where silicons could fold paper.
"but cobby, silicons aren't even in mob/living/carbon" - Yes, you are correct. Clickcode does not discriminate, however.
* Fixes usr, but not issilicon [yet]
* iscarbon check + feedback
* iscarbon to is_type
* C I T R U S
* only standard handcuffs can be used to make chained shoes
* cleaner
* actually we need this bit (washingmachines!)
* remove src
* If the sneekers change color because of a washingmachine or something. that's not our problem because they are still technically orange sneekers
* Added access level "Cloning Room", for the cloning room and cloning pod
* Changed BoxStation and MetaStation to require access to medical and cloning room
* Removed access_cloning from research region access
Added access_cloning to chemist and virologist with extended access
* purple doors of cloning rooms additionally require cloning room access
Destroy can cause the parent ball you're orbiting to also be destroyed,
which calls stop orbit on your ball, which then caused you to get
destroyed again, this fixes that while still guarding against the case
the original !loc qdel code was added for - see pr #15486
* Traitor discounted item system! Every uplink will have three random items on sale for between 25% and 75% off (strongly weighted towards smaller deals). All these items are single purchase only.
* Whoops, accidentally used a feature not in the travis build of dream maker.
* Featuring Remie from code optimization