… | |
… | |
1901 | else if (mine_obj->flag [FLAG_IS_QUAD]) |
1901 | else if (mine_obj->flag [FLAG_IS_QUAD]) |
1902 | { |
1902 | { |
1903 | if (mine_obj->flag [FLAG_IS_FLOOR]) |
1903 | if (mine_obj->flag [FLAG_IS_FLOOR]) |
1904 | { |
1904 | { |
1905 | maptile *lower_floor = pos.m->tile_available (TILE_DOWN); |
1905 | maptile *lower_floor = pos.m->tile_available (TILE_DOWN); |
|
|
1906 | |
1906 | if (!lower_floor) |
1907 | if (!lower_floor) |
1907 | { |
1908 | { |
1908 | who->failmsgf ( |
1909 | who->failmsgf ( |
1909 | "Whoops, you failed to remove the %s. H<You may try again.>", |
1910 | "Whoops, you failed to remove the %s. H<You may try again.>", |
1910 | &mine_obj->name |
1911 | &mine_obj->name |
1911 | ); |
1912 | ); |
1912 | return false; |
1913 | return false; |
1913 | } |
1914 | } |
1914 | |
1915 | |
1915 | mapxy below_pos (lower_floor, pos.x, pos.y); |
1916 | mapxy below_pos (lower_floor, pos.x, pos.y); |
|
|
1917 | |
1916 | if (!below_pos.normalise ()) |
1918 | if (!below_pos.normalise ()) |
1917 | { |
1919 | { |
1918 | who->failmsgf ( |
1920 | who->failmsgf ( |
1919 | "Whoops, you failed to remove the %s. H<You may try again.>", |
1921 | "Whoops, you failed to remove the %s. H<You may try again.>", |
1920 | &mine_obj->name |
1922 | &mine_obj->name |
… | |
… | |
1935 | if (quad_obj->flag [FLAG_IS_FLOOR]) |
1937 | if (quad_obj->flag [FLAG_IS_FLOOR]) |
1936 | break; |
1938 | break; |
1937 | |
1939 | |
1938 | if (quad_obj->flag [FLAG_IS_QUAD]) |
1940 | if (quad_obj->flag [FLAG_IS_QUAD]) |
1939 | { |
1941 | { |
|
|
1942 | quad_obj->map->queue_physics_at (quad_obj->x, quad_obj->y); |
1940 | quad_obj->remove (); |
1943 | quad_obj->remove (); |
1941 | who->insert (quad_obj); |
1944 | who->insert (quad_obj); |
1942 | break; |
1945 | break; |
1943 | } |
1946 | } |
1944 | } |
1947 | } |
1945 | } |
1948 | } |
1946 | |
1949 | |
|
|
1950 | mine_obj->map->queue_physics_at (mine_obj->x, mine_obj->y); |
|
|
1951 | |
1947 | // FIXME: there should be chance assigned, like above with veins! |
1952 | // FIXME: there should be chance assigned, like above with veins! |
1948 | who->play_sound (tool->sound); |
1953 | who->play_sound (tool->sound); |
1949 | who->insert (mine_obj); |
1954 | who->insert (mine_obj); |
1950 | who->contr->fire_on = 0; // TODO: stopgap, do not remove more than one per keypress |
1955 | who->contr->fire_on = 0; // TODO: stopgap, do not remove more than one per keypress |
1951 | return true; |
1956 | return true; |