* Fixes instant summons and probably a few other edge cases
* woken in a fog don't sweat it
and reckon none of it had come from you
* echo
* no lesson in magic, just untimely dreams
* slapdash code queen
* 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.
🆑 coiax
add: Lich phylacteries are now in the "points of interest" for ghosts.
/🆑
Also, a phylactery just appends to the description of the item, rather
than clobbering it.
Balance consideration: if a lich summons magic and a crewmember get a
scrying orb, they'll be able to locate the phylactery immediately. So I
guess this is a lich nerf?
* Make energy guns able to use burst fire.
* Changed obj/item/weapon/gun/projectile to /gun/ballistic and the name of the folder from "projectile" to "ballistic" to avoid confusion between actually projectiles and guns.
Syringe gun, energy guns and magic guns can now use burst fire.
* fixing merge conflict shit
* fixing map conflicts
* more map conflict fix
* two tiny fixes.
* tiny tweak
* fixing merge conflicts.
Moving the practice mini egun to the gun module.
Renamed nuclear.dm to energy_gun.dm
* map conflict fixes
Guvax is now targeted; invoking it charges your slab to bind and start converting the next target attacked in melee within 10 seconds. This makes your slab visible in-hand.
tweak: Above 5 Servants, the invocation to charge your slab is not whispered, and the conversion time is increased for each Servant above 5.
Using Guvax on an already bound target will stun them. The bound target can resist out, which will prevent conversion.
Sentinel's Compromise is now targeted, like Guvax, but can select any target in vision range.
Sentinel's Compromise now also removes holy water from the target Servant.
Clicking your slab will cancel these scriptures.
Both of these will change your cursor, to make it obvious they're active and you can't do anything else.
Convert times are faster at very high servant amounts, but it's much easier for 1-on-1 conversions to go wrong and have the target escape. (Though the binding makes early conversions slightly easier.)
Resist time for the binding is a flat 4 seconds, and moving/being moved while chanting will break it immediately.
Formula for conversion time is 5 + (0.5 for each valid servant above 5) seconds up to a maximum of 10 seconds at 15 servants.
* Starts to add a new wizard spell, based on the LIGHTNING BOLT! LIGHTNING BOLT! LIGHTNING BOLT meme.
* Adds spell to spellbook, and makes it functional.
* Fixes compile error
* Casting the spell now automatically readies your throw.
* Pitchforks don't auto throw
Summon pitchfork no longer also auto throws.
The var will be used to store the various coloring that happen for the atom so that we can separate paint coloring from color that must be inherent to the atom (an initial color for example), or from certain coloring effect like revenant's blight, mob electrocution's black color, admin edit of the color var, green color from holding the greentext item, etc.
The list has four elements, used for four categories:
ADMIN_COLOUR_PRIORITY for admin varedits and very rate color effect like holding the greentext item (and other effects that should prime over any other potential source of coloring even temporary effects).
TEMPORARY_COLOUR_PRIORITY for short color effects like revenant blight on mob, mob electrocution making you all black for a couple seconds, effects that should be appearing above paint coloring.
WASHABLE_COLOUR_PRIORITY for pretty much all paint coloring like colorful reagent on mobs, coloring turfs with paint, etc.
FIXED_COLOUR_PRIORITY for color inherent to the atom, like a blob's color, any object with a color value given in its definition.
Fixes electocution animation on mob not making the mob all black (with the skeleton overlay blinking over it)
Spray cleaner and soap can now wash paint off mobs, turfs and objects.