1265 |
if (state == EXPLODING) |
if (state == EXPLODING) |
1266 |
return; |
return; |
1267 |
|
|
1268 |
bool compatible = oxyd1_compatible(); |
bool oxyd1style = oxyd1_compatible(); |
1269 |
|
|
1270 |
if (compatible || wielded_item_is(sc.actor, "it-magicwand")) { |
if (oxyd1style || wielded_item_is(sc.actor, "it-magicwand")) { |
1271 |
// check whether to explode cluster |
// check whether to explode cluster |
1272 |
if (explode_complete_cluster()) |
if (explode_complete_cluster()) |
1273 |
return; |
return; |
1276 |
if (face != NODIR) { // not touching a corner |
if (face != NODIR) { // not touching a corner |
1277 |
Direction move_dir = reverse(face); |
Direction move_dir = reverse(face); |
1278 |
Cluster c; |
Cluster c; |
1279 |
find_row_or_column_cluster(c, get_pos(), move_dir, int(compatible)); |
find_row_or_column_cluster(c, get_pos(), move_dir, int(oxyd1style)); |
1280 |
|
|
1281 |
if (c.size() == 1) { |
if (c.size() == 1) { |
1282 |
if (!compatible) { |
if (!oxyd1style) { |
1283 |
// if cluster contains single stone |
// if cluster contains single stone |
1284 |
// -> move it if dest pos is free |
// -> move it if dest pos is free |
1285 |
GridPos dest = move(c[0], move_dir); |
GridPos dest = move(c[0], move_dir); |