diff --git a/source/src/physics.cpp b/source/src/physics.cpp index 99638621..c0cfd04f 100644 --- a/source/src/physics.cpp +++ b/source/src/physics.cpp @@ -251,14 +251,16 @@ void moveplayer(physent *pl, int moveres, bool local, int curtime) d = bounce->vel; d.mul(speed); + if(water) { d.x /= 6; d.y /= 6; } + // rotate float rotspeed = bounce->rotspeed*d.magnitude(); pl->pitch = fmod(pl->pitch+rotspeed, 360.0f); pl->yaw = fmod(pl->yaw+rotspeed, 360.0f); } - else // fake physics for player ents to create the great cube movement(TM) + else // fake physics for player ents to create _the_ cube movement (tm) { - int move = pl->onladder && !pl->onfloor && pl->move == -1 ? 0 : pl->move; // fix movement on ladder + int move = pl->onladder && !pl->onfloor && pl->move == -1 ? 0 : pl->move; // movement on ladder d.x = (float)(move*cosf(RAD*(pl->yaw-90))); d.y = (float)(move*sinf(RAD*(pl->yaw-90))); diff --git a/source/src/weapon.cpp b/source/src/weapon.cpp index f03e2817..316a6a22 100644 --- a/source/src/weapon.cpp +++ b/source/src/weapon.cpp @@ -458,8 +458,10 @@ void throw_nade(playerent *d, const vec &vel, bounceent *p) throwvel.mul(2*d->radius); p->vel = vel; - p->o = d->o; + //p->o = d->o; p->o.add(throwvel); + p->o.mul(1.5f); + p->o.add(d->o); p->bouncestate = NADE_THROWED; d->thrownademillis = lastmillis;