… | |
… | |
315 | */ |
315 | */ |
316 | |
316 | |
317 | int |
317 | int |
318 | check_altar_sacrifice (const object *altar, const object *sacrifice) |
318 | check_altar_sacrifice (const object *altar, const object *sacrifice) |
319 | { |
319 | { |
320 | if (!QUERY_FLAG (sacrifice, FLAG_ALIVE) && !QUERY_FLAG (sacrifice, FLAG_IS_LINKED) && sacrifice->type != PLAYER) |
320 | if (!QUERY_FLAG (sacrifice, FLAG_ALIVE) |
|
|
321 | && !QUERY_FLAG (sacrifice, FLAG_IS_LINKED) |
|
|
322 | && sacrifice->type != PLAYER) |
321 | { |
323 | { |
|
|
324 | if (strcmp (ARCH_SACRIFICE (altar), "money") == 0 |
|
|
325 | && sacrifice->type == MONEY |
|
|
326 | && sacrifice->nrof * sacrifice->value >= NROF_SACRIFICE (altar)) |
|
|
327 | return 1; |
|
|
328 | |
322 | if ((ARCH_SACRIFICE (altar) == sacrifice->arch->archname |
329 | if ((ARCH_SACRIFICE (altar) == sacrifice->arch->archname |
323 | || ARCH_SACRIFICE (altar) == sacrifice->name |
330 | || ARCH_SACRIFICE (altar) == sacrifice->name |
324 | || ARCH_SACRIFICE (altar) == sacrifice->slaying |
331 | || ARCH_SACRIFICE (altar) == sacrifice->slaying |
325 | || (!strcmp (ARCH_SACRIFICE (altar), query_base_name (sacrifice, 0)))) |
332 | || strstr (query_base_name (sacrifice, 0), ARCH_SACRIFICE (altar))) |
326 | && NROF_SACRIFICE (altar) <= (sacrifice->nrof ? sacrifice->nrof : 1)) |
333 | && NROF_SACRIFICE (altar) <= (sacrifice->nrof ? sacrifice->nrof : 1)) |
327 | return 1; |
|
|
328 | |
|
|
329 | if (strcmp (ARCH_SACRIFICE (altar), "money") == 0 |
|
|
330 | && sacrifice->type == MONEY && sacrifice->nrof * sacrifice->value >= NROF_SACRIFICE (altar)) |
|
|
331 | return 1; |
334 | return 1; |
332 | } |
335 | } |
333 | |
336 | |
334 | return 0; |
337 | return 0; |
335 | } |
338 | } |