… | |
… | |
271 | } |
271 | } |
272 | } |
272 | } |
273 | |
273 | |
274 | any_down = any_down || tmp->value; |
274 | any_down = any_down || tmp->value; |
275 | } |
275 | } |
|
|
276 | else if (tmp->type == T_MATCH) |
|
|
277 | { |
|
|
278 | tmp->value = 0; |
|
|
279 | |
|
|
280 | for (object *ab = tmp->above; ab; ab = ab->above) |
|
|
281 | { |
|
|
282 | object *head = ab->head_ (); |
|
|
283 | |
|
|
284 | /* Same note regarding move_type for buttons above apply here. */ |
|
|
285 | if (((ab->move_type & tmp->move_on) || ab->move_type == 0)) |
|
|
286 | if (match (tmp->slaying, head, tmp, originator)) |
|
|
287 | { |
|
|
288 | tmp->value = 1; |
|
|
289 | break; |
|
|
290 | } |
|
|
291 | } |
|
|
292 | |
|
|
293 | any_down = any_down || tmp->value; |
|
|
294 | } |
276 | } |
295 | } |
277 | |
296 | |
278 | if (any_down) /* If any other buttons were down, force this to remain down */ |
297 | if (any_down) /* If any other buttons were down, force this to remain down */ |
279 | op->value = 1; |
298 | op->value = 1; |
280 | |
299 | |