Commit Graph

13 Commits

Author SHA1 Message Date
vuonojenmustaturska
823c722d0f Fix orbit-causing verbs breaking sounds for ghosts that jump between z-levels as a result of an orbit update (#40172)
fix: ghosts will no longer lose their hearing from jumping between z-levels via orbiting
2018-09-09 20:33:58 +12:00
oranges
6ca4ac871d Prevent infinite loops in orbit checks
We bookkeep the list of orbiters we've already checked, so if there is a
chain of orbiters orbiting each other we don't keep checking infinitely.

There is an argument that we should prevent this situation arising at
all, but the list should never grow that large so this should be fine
2017-12-28 22:38:11 +00:00
Jordan Brown
ac665354a7 Fixes ghost light not moving while orbiting (#33878) 2017-12-28 10:03:39 -05:00
AnturK
39394d88d1 Transfers orbiting ghosts on most common transforms 2017-11-18 22:36:01 +01:00
AnturK
414586c299 Fixes orbit (#32536) 2017-11-08 14:49:26 -05:00
AnturK
0282a0d310 Fixes orbit stack overflow (again) (#32491)
* Fixes indirect infinite loop.

* Let's also prevent starting these at all

* Yes
2017-11-08 11:55:40 -05:00
AnturK
b9edf48350 Kevinz you meme 2017-10-19 13:19:18 +02:00
kevinz000
2a43a4f657 Fixes a bunch of bugs (#31687)
Fixes #13784 by forcing all orbits to update if the lowest stacked one updates
Fixes #21573 by making singularity try to move if it can't expand
Fixes #23306 by making simple bots that are off not able to move
Fixes #28274, fixes #26515 by actually making snipers zoom out
2017-10-16 21:12:32 +13:00
Cyberboss
9ba3f5662e Fix some missing qdel hints 2017-01-31 16:50:54 -05:00
Cyberboss
9de9ade667 Fixes Orbit's atom/Destroy overrides not returning (#23186)
* HEAVY BREATHING!!!!

* BREATHING INTENSIFIES!!!!!!!!!!!!!!!
2017-01-21 21:04:32 -05:00
Kyle Spier-Swenson
280dbe20c3 [Ready] SSthrowing + callbacks! (#22476)
* 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.
2017-01-02 20:08:03 +11:00
Kyle Spier-Swenson
2243ab6036 [READY]Parallax (#22315)
* Ports Space Parallax from vg/yogs

* KILL ME

* fuck shit

* fixes

* rgfkbjhkefrhjkfrejhkfds

* Parallax, part 2.

* Gotta get these defines in before remie notices!

* DAMN IT! SHE FOUND ONE!

* fixes orbits

* fix orbits take 2

* Fixes some things with parallax

* Refactors parallax shuttle animations.
2016-12-20 21:55:10 -06:00
Kyle Spier-Swenson
f71dc2c9a3 Orbits are now a subsystem (#20632)
* Sleepless perfect orbits #MOGA
We bind to Moved() and use datums and lists to track the orbits, no more sleeps, no more delay.

* Adds some null checks to orbit checks

* Forget to set orbiting.
Also sets orbiters before orbiting, to avoid edge cases of deleting a list then recreating it.

* Improves orbit, adds subsystem for orbits.
Most orbit loc changes will happen on move, subsystem runs every 2 ticks to make up for when that isn't the case.
2016-09-24 19:52:49 +12:00