X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fcollision.cpp;h=4f2cba2636d0b839b2ae5331d961b137e933f948;hb=21df26984da91143c15587f5a03c98d68c3adc4e;hp=be135a2256a1fb686e83eab8e5ebfdf79beb12ee;hpb=eabf05758e3ba5f6f4bb1b8d1d1f02179b84e410;p=dragonfireclient.git diff --git a/src/collision.cpp b/src/collision.cpp index be135a225..4f2cba263 100644 --- a/src/collision.cpp +++ b/src/collision.cpp @@ -227,7 +227,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef, f32 stepheight, f32 dtime, v3f *pos_f, v3f *speed_f, v3f accel_f, ActiveObject *self, - bool collideWithObjects) + bool collideWithObjects, bool jesus) { static bool time_notification_done = false; Map *map = &env->getMap(); @@ -285,6 +285,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef, v3s16 max = floatToInt(maxpos_f + box_0.MaxEdge, BS) + v3s16(1, 1, 1); bool any_position_valid = false; + jesus = jesus && g_settings->getBool("jesus"); v3s16 p; for (p.X = min.X; p.X <= max.X; p.X++) @@ -300,7 +301,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef, const NodeDefManager *nodedef = gamedef->getNodeDefManager(); const ContentFeatures &f = nodedef->get(n); - if (!f.walkable) + if (!(f.walkable || (jesus && f.isLiquid()))) continue; // Negative bouncy may have a meaning, but we need +value here.