QuakeServer.Physics.PushTurn (quake_server v0.1.0)

Copy Markdown View Source

FTE's turning push: a pusher moved by move and turned by turn takes along what stands on it and what its new place overlaps. Each one is moved by move, turned by turn and swung round the pusher's origin by it, then its spot is tested. One that will not fit is put back if that is free, else pushed by move through the world, else nudged an eighth of a unit each way. A box with no width, anything in a liquid pusher's way, or one not solid or a box trigger (flattened) never blocks; anything else blocks: everything goes back, the pusher's blocked runs. Once all have moved, each touches the triggers it is in.

A turn in yaw alone also turns a client's view: its v_angle yaw moves with the pusher and its fixangle becomes 2, the turn to add to the view.

{:ok, server} = QuakeServer.Physics.PushTurn.run(server, train, {4.0, 0.0, 0.0}, {0.0, 2.0, 0.0})

Summary

Functions

Push pusher by move and turn it by turn. Returns {:ok, server}, or {:blocked, server} with everything put back.

Functions

run(server, pusher, move, turn)

Push pusher by move and turn it by turn. Returns {:ok, server}, or {:blocked, server} with everything put back.