From 21d32b4da1515a870e04d92b2f1a0983d4297a09 Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 25 Jan 2017 00:40:17 +1000 Subject: [PATCH] Fix being able to push boulders through walls --- qcsrc/common/minigames/minigame/bd.qc | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/qcsrc/common/minigames/minigame/bd.qc b/qcsrc/common/minigames/minigame/bd.qc index d4e1eebe8..904b7772e 100644 --- a/qcsrc/common/minigames/minigame/bd.qc +++ b/qcsrc/common/minigames/minigame/bd.qc @@ -289,11 +289,26 @@ bool bd_move_dozer(entity minigame, entity dozer) ty += dir.y; testpos = minigame_tile_buildname(tx, ty); + if(!bd_valid_tile(testpos)) + return false; entity testhit = bd_find_piece(minigame, testpos, false); - - if(!bd_valid_tile(testpos) || testhit) + if(testhit) return false; + entity controller = bd_find_controller(minigame, minigame_tile_letter(testpos)); + int tnum = minigame_tile_number(testpos); + switch(controller.bd_tiletypes[tnum]) + { + case BD_TILE_BRICK8: + case BD_TILE_BRICK7: + case BD_TILE_BRICK6: + case BD_TILE_BRICK5: + case BD_TILE_BRICK4: + case BD_TILE_BRICK3: + case BD_TILE_BRICK2: + case BD_TILE_BRICK1: return false; + } + if(hit.netname) { strunzone(hit.netname); } hit.netname = strzone(testpos); minigame_server_sendflags(hit,MINIG_SF_UPDATE); -- 2.39.2