summaryrefslogtreecommitdiff
path: root/assets/javascripts/mx/extensions/mx.movements.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-04-25 12:12:21 -0400
committerJules Laplace <jules@okfoc.us>2014-04-25 12:12:21 -0400
commit0772bb5e55d0d00c925620a27b59a7f52aaa4199 (patch)
tree780b8b7685976014df8b5741b56ba96eecd67a82 /assets/javascripts/mx/extensions/mx.movements.js
parent6a39854726c511f3df0b4aff619ecac1943c993c (diff)
ceiling
Diffstat (limited to 'assets/javascripts/mx/extensions/mx.movements.js')
-rw-r--r--assets/javascripts/mx/extensions/mx.movements.js28
1 files changed, 18 insertions, 10 deletions
diff --git a/assets/javascripts/mx/extensions/mx.movements.js b/assets/javascripts/mx/extensions/mx.movements.js
index 4f39f66..164d747 100644
--- a/assets/javascripts/mx/extensions/mx.movements.js
+++ b/assets/javascripts/mx/extensions/mx.movements.js
@@ -198,14 +198,13 @@ MX.Movements = function (cam, viewHeight) {
var s = creeping ? scale * creepFactor : scale
var vrrrr = creeping ? vr * creepFactor * 5 : vr
+ vx = vz = 0
+
pos.x = cam.x
- pos.y = cam.y
pos.z = cam.z
if (moveForward || moveBackward || moveRight || moveLeft || moveUp || moveDown || turnLeft || turnRight || turnUp || turnDown) {
- vx = vy = vz = 0
-
if (moveForward) {
vx += v * Math.cos(ry + Math.PI / 2) * s
vz += v * Math.sin(ry + Math.PI / 2) * s
@@ -245,24 +244,33 @@ MX.Movements = function (cam, viewHeight) {
pos.x += vx
pos.y += vy
pos.z += vz
-
- if (vx || vz) {
- app.tube("move", pos)
- }
}
if (gravity) {
vy -= 1 * scale
- cam.y += vy
+ pos.y += vy
- if (cam.y <= viewHeight * scale) {
- cam.y = viewHeight * scale
+ if (pos.y <= viewHeight) {
+ pos.y = viewHeight
vy = 0
jumping = false
+ vz = vz || 1
}
+
+ var ceiling = (mover.room ? mover.room.height : 5000)
+
+ if (pos.y >= ceiling) {
+ vy = 0
+ pos.y = ceiling
+ vz = vz || 1
+ }
+
}
+ if (vx || vy || vz) {
+ app.tube("move", pos)
+ }
},
lock: function(){ locked = true },