ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/button.C
(Generate patch)

Comparing deliantra/server/common/button.C (file contents):
Revision 1.36 by root, Sun Jul 1 05:00:17 2007 UTC vs.
Revision 1.38 by elmex, Tue Jul 31 18:28:46 2007 UTC

59 object *tmp = ol->ob; 59 object *tmp = ol->ob;
60 60
61 /* if the criteria isn't appropriate, don't do anything */ 61 /* if the criteria isn't appropriate, don't do anything */
62 if (state && !QUERY_FLAG (tmp, FLAG_ACTIVATE_ON_PUSH)) 62 if (state && !QUERY_FLAG (tmp, FLAG_ACTIVATE_ON_PUSH))
63 continue; 63 continue;
64
64 if (!state && !QUERY_FLAG (tmp, FLAG_ACTIVATE_ON_RELEASE)) 65 if (!state && !QUERY_FLAG (tmp, FLAG_ACTIVATE_ON_RELEASE))
65 continue; 66 continue;
66 67
67 switch (tmp->type) 68 switch (tmp->type)
68 { 69 {
78 break; 79 break;
79 80
80 case SIGN: 81 case SIGN:
81 if (!tmp->stats.food || tmp->last_eat < tmp->stats.food) 82 if (!tmp->stats.food || tmp->last_eat < tmp->stats.food)
82 { 83 {
84 tmp->play_sound (tmp->sound);
83 new_info_map (NDI_UNIQUE | NDI_NAVY, tmp->map, tmp->msg); 85 new_info_map (NDI_UNIQUE | NDI_NAVY, tmp->map, tmp->msg);
84 if (tmp->stats.food) 86 if (tmp->stats.food)
85 tmp->last_eat++; 87 tmp->last_eat++;
86 } 88 }
87 break; 89 break;
313 */ 315 */
314 316
315int 317int
316check_altar_sacrifice (const object *altar, const object *sacrifice) 318check_altar_sacrifice (const object *altar, const object *sacrifice)
317{ 319{
318 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)
319 { 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
320 if ((ARCH_SACRIFICE (altar) == sacrifice->arch->archname 329 if ((ARCH_SACRIFICE (altar) == sacrifice->arch->archname
321 || ARCH_SACRIFICE (altar) == sacrifice->name 330 || ARCH_SACRIFICE (altar) == sacrifice->name
322 || ARCH_SACRIFICE (altar) == sacrifice->slaying 331 || ARCH_SACRIFICE (altar) == sacrifice->slaying
323 || (!strcmp (ARCH_SACRIFICE (altar), query_base_name (sacrifice, 0)))) 332 || strstr (query_base_name (sacrifice, 0), ARCH_SACRIFICE (altar)))
324 && NROF_SACRIFICE (altar) <= (sacrifice->nrof ? sacrifice->nrof : 1)) 333 && NROF_SACRIFICE (altar) <= (sacrifice->nrof ? sacrifice->nrof : 1))
325 return 1;
326
327 if (strcmp (ARCH_SACRIFICE (altar), "money") == 0
328 && sacrifice->type == MONEY && sacrifice->nrof * sacrifice->value >= NROF_SACRIFICE (altar))
329 return 1; 334 return 1;
330 } 335 }
331 336
332 return 0; 337 return 0;
333} 338}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines