projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
moved code to set changed player name to separate function
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index 8b77ddef674f65d232e0c968c5e4c5ef9529870f..c6a7ef73146a7cf1bd90b59121cbf0856b802189 100644
(file)
--- a/
src/game.c
+++ b/
src/game.c
@@
-13997,6
+13997,10
@@
static int DigField(struct PlayerInfo *player,
CheckTriggeredElementChangeByPlayer(x, y, element, CE_PLAYER_DIGS_X,
player->index_bit, dig_side);
CheckTriggeredElementChangeByPlayer(x, y, element, CE_PLAYER_DIGS_X,
player->index_bit, dig_side);
+ // if digging triggered player relocation, finish digging tile
+ if (mode == DF_DIG && (player->jx != jx || player->jy != jy))
+ setFieldForSnapping(x, y, element, move_direction);
+
if (mode == DF_SNAP)
{
if (level.block_snap_field)
if (mode == DF_SNAP)
{
if (level.block_snap_field)
@@
-14118,9
+14122,15
@@
static int DigField(struct PlayerInfo *player,
PlayLevelSoundElementAction(x, y, element, ACTION_COLLECTING);
if (is_player)
PlayLevelSoundElementAction(x, y, element, ACTION_COLLECTING);
if (is_player)
+ {
CheckTriggeredElementChangeByPlayer(x, y, element, CE_PLAYER_COLLECTS_X,
player->index_bit, dig_side);
CheckTriggeredElementChangeByPlayer(x, y, element, CE_PLAYER_COLLECTS_X,
player->index_bit, dig_side);
+ // if collecting triggered player relocation, finish collecting tile
+ if (mode == DF_DIG && (player->jx != jx || player->jy != jy))
+ setFieldForSnapping(x, y, element, move_direction);
+ }
+
if (mode == DF_SNAP)
{
if (level.block_snap_field)
if (mode == DF_SNAP)
{
if (level.block_snap_field)