… | |
… | |
84 | break; |
84 | break; |
85 | |
85 | |
86 | case SIGN: |
86 | case SIGN: |
87 | if (!tmp->stats.food || tmp->last_eat < tmp->stats.food) |
87 | if (!tmp->stats.food || tmp->last_eat < tmp->stats.food) |
88 | { |
88 | { |
89 | tmp->play_sound (tmp->sound ? tmp->sound : sound_find ("trigger_sign")); |
89 | tmp->play_sound (tmp->sound ? tmp->sound : sound_find ("msg_voice")); |
|
|
90 | |
|
|
91 | if (originator && originator->contr) |
|
|
92 | originator->contr->infobox (MSG_CHANNEL ("examine"), format ("T<%s>\n\n%s", &tmp->name, &tmp->msg)); |
|
|
93 | |
90 | new_info_map (NDI_UNIQUE | NDI_NAVY, tmp->map, tmp->msg); |
94 | new_info_map_except (NDI_UNIQUE | NDI_NAVY, tmp->map, originator, tmp->msg); |
|
|
95 | |
91 | if (tmp->stats.food) |
96 | if (tmp->stats.food) |
92 | tmp->last_eat++; |
97 | tmp->last_eat++; |
93 | } |
98 | } |
94 | break; |
99 | break; |
95 | |
100 | |
… | |
… | |
263 | if (is_match |
268 | if (is_match |
264 | ? match (tmp->slaying, head, tmp, originator) |
269 | ? match (tmp->slaying, head, tmp, originator) |
265 | : (head->race == tmp->slaying |
270 | : (head->race == tmp->slaying |
266 | || (head->type == SPECIAL_KEY && head->slaying == tmp->slaying) |
271 | || (head->type == SPECIAL_KEY && head->slaying == tmp->slaying) |
267 | || (tmp->slaying == shstr_player && head->type == PLAYER))) |
272 | || (tmp->slaying == shstr_player && head->type == PLAYER))) |
|
|
273 | { |
|
|
274 | tmp->value = 1; |
|
|
275 | break; |
|
|
276 | } |
|
|
277 | } |
|
|
278 | |
|
|
279 | any_down = any_down || tmp->value; |
|
|
280 | } |
|
|
281 | else if (tmp->type == T_MATCH) |
|
|
282 | { |
|
|
283 | tmp->value = 0; |
|
|
284 | |
|
|
285 | for (object *ab = tmp->above; ab; ab = ab->above) |
|
|
286 | { |
|
|
287 | object *head = ab->head_ (); |
|
|
288 | |
|
|
289 | /* Same note regarding move_type for buttons above apply here. */ |
|
|
290 | if (((ab->move_type & tmp->move_on) || ab->move_type == 0)) |
|
|
291 | if (match (tmp->slaying, head, tmp, originator)) |
268 | { |
292 | { |
269 | tmp->value = 1; |
293 | tmp->value = 1; |
270 | break; |
294 | break; |
271 | } |
295 | } |
272 | } |
296 | } |