diff options
Diffstat (limited to 'src/game/server/entities')
| -rw-r--r-- | src/game/server/entities/character.cpp | 2 | ||||
| -rw-r--r-- | src/game/server/entities/laser.cpp | 2 | ||||
| -rw-r--r-- | src/game/server/entities/projectile.cpp | 4 |
3 files changed, 3 insertions, 5 deletions
diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index 071407b1..0516ddc5 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -828,7 +828,7 @@ bool CHARACTER::take_damage(vec2 force, int dmg, int from, int weapon) void CHARACTER::snap(int snaping_client) { - if(distance(game.players[snaping_client]->view_pos, pos) > 1000.0f) + if(networkclipped(snaping_client)) return; NETOBJ_CHARACTER *character = (NETOBJ_CHARACTER *)snap_new_item(NETOBJTYPE_CHARACTER, player->client_id, sizeof(NETOBJ_CHARACTER)); diff --git a/src/game/server/entities/laser.cpp b/src/game/server/entities/laser.cpp index 4e9909ba..8b512d82 100644 --- a/src/game/server/entities/laser.cpp +++ b/src/game/server/entities/laser.cpp @@ -100,7 +100,7 @@ void LASER::tick() void LASER::snap(int snapping_client) { - if(distance(game.players[snapping_client]->view_pos, pos) > 1000.0f) + if(networkclipped(snapping_client)) return; NETOBJ_LASER *obj = (NETOBJ_LASER *)snap_new_item(NETOBJTYPE_LASER, id, sizeof(NETOBJ_LASER)); diff --git a/src/game/server/entities/projectile.cpp b/src/game/server/entities/projectile.cpp index a2e10437..cd15ba10 100644 --- a/src/game/server/entities/projectile.cpp +++ b/src/game/server/entities/projectile.cpp @@ -78,9 +78,7 @@ void PROJECTILE::tick() if(flags & PROJECTILE_FLAGS_EXPLODE) game.create_explosion(curpos, owner, weapon, false); else if(targetchr) - { targetchr->take_damage(direction * max(0.001f, force), damage, owner, weapon); - } game.world.destroy_entity(this); } @@ -100,7 +98,7 @@ void PROJECTILE::snap(int snapping_client) { float ct = (server_tick()-start_tick)/(float)server_tickspeed(); - if(distance(game.players[snapping_client]->view_pos, get_pos(ct)) > 1000.0f) + if(networkclipped(snapping_client, get_pos(ct))) return; NETOBJ_PROJECTILE *proj = (NETOBJ_PROJECTILE *)snap_new_item(NETOBJTYPE_PROJECTILE, id, sizeof(NETOBJ_PROJECTILE)); |