So, this really changes the way the rocket pods work now. So now they're proper projectiles, which means they keep going until they hit something, then they go boom. Downside of this, the sprite looks really silly now, as rockets spin about like a discoball in flight. I have no idea how to fix that. When they hit a non living target, they explode with 0 1 2, if it hits a living target, it explodes with 0 0 2. and the projectile now does 30 brute damage as well, meaning direct hits on mobs do 60 brute damage, plus a 50% chance to knock out and 7% chance to sever a limb. Should actually buff that considering you can only fire a rocket once every 2 seconds it seems like. But, this is good for now.
🆑 vcordie
tweak: The SRM-8 Rocket Pods have been loaded with new explosives designed to do maximum damage to terrain. These explosives are less effective on people, however.
/🆑
* Adds regenerate_organs proc to carbon and adds it to relevant regeneration code
I simply took the bit from the admin heal and made it into a proc and
added it to the necessary regeneration-related bits of code.
* Adds regenerate organs back to fully heal
For some reason this didn't get included in the previous commit.
* moves regenerate_organs to organ_internal
As suggested. It fits better here, anyways.
* 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
* 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.
* CTF guns only hurt mobs with CTF armor
This is moving towards the possiblity of spawning CTF spawns and flag
spawns onto the station without people being caught in the crossfire.
* Debug messages are bad
* Speeds up world init.
* Armor is now new inited for obj and the first level of subpaths.
* Actions is now lazyinited and deleted with empty.
* Actiontypes is now only inited when actually used and deleted once it pre-fills actions with the action buttons.
* Pipes now prefill their node list(s) in new() using new /list/ (count) syntax to speed up the list initaliztions and remove the init proc.
* Pipes no longer store their item version, instead creating it on the fly when deconned
* Walls no longer store their metal stacks, instead creating it on the fly when deconned.
* obj, walls, floor, plating, item, machinery, structure, pipe, pipenet, atom, and movable no longer have an (init) proc. (along with a few other smaller examples)
* Atmos can pass checking is now a var with the ability to have a proc be call in advance cases.
* (as a side effect, I had to fix a few things that were calling atmosCanPass rather then using the pre-calculated list, this should speed up chemfoam and flame effects greatly)
* Reverts upload limit
(remind me one day to defuck this, it could easily be a config thats not editable by vv to make changes easier)
* Makes apc update icon a bit faster.
APC new is some what high on the profile of world init, still not sure why, but this stood out as a waste of cpu so i fixed it.
* Fixes runtime with atmos backpack water tanks.
* Makes smoothing faster (and fixes turfs smoothing twice at init)
* Makes apcs init faster by replacing some spawns with addtimer
* fix transit turfs.
* Diversifies golems
* Golems
* fixes a bug
* Glass golem + species bullet_act support
* Glass shatter
* More golems
* Final changes
* Added to xenobio
* update
* minor space
* Totally bananas
* silly me
* what Joan said
* Updated titanium, plastitanium, and alloy golems.