55 for (; ol; ol = ol->
next) {
57 LOG(
llevError,
"Internal error in trigger_connect. No object associated with link id (%d) (cause='%s'.\n", ol->
id, (cause && cause->
name) ? cause->
name :
"");
131 for (tmp = tmp->
more; tmp != NULL; tmp = tmp->
more) {
179 object *ab, *tmp, *head;
180 int tot, any_down = 0, old_value = op->
value;
192 for (ab = tmp->
above, tot = 0; ab != NULL; ab = ab->
above)
214 for (ab = tmp->
above; ab != NULL; ab = ab->
above) {
231 if (op->
value != old_value) {
246 for (ol = obp->
link; ol; ol = ol->
next) {
248 LOG(
llevError,
"Internal error in update_button (%s (%dx%d):%d, connected %ld).\n",
250 ol->
ob ? ol->
ob->
x : -1,
251 ol->
ob ? ol->
ob->
y : -1,
291 #define ARCH_SACRIFICE(xyz) ((xyz)->slaying)
292 #define NROF_SACRIFICE(xyz) ((uint32)(xyz)->stats.food)
400 for (tmp = altar->
above; tmp != NULL && wanted > 0; tmp = tmp->
above) {
406 wanted -= (tmp->
nrof ? tmp->
nrof : 1);
417 *toremove = sacrifice->
nrof ? sacrifice->
nrof : 1;
423 for (tmp = altar->
above; tmp != NULL && rest > 0; tmp = above) {
433 wanted = rest/tmp->
value;
440 if (rest > (tmp->
nrof ? tmp->
nrof : 1)) {
441 rest -= (tmp->
nrof ? tmp->
nrof : 1);
450 LOG(
llevError,
"check_altar_sacrifice on %s: found objects to sacrifice, but couldn't remove them??\n", altar->
map->
path);
474 LOG(
llevError,
"BUG: operate_altar(): altar has no map\n");
527 int push = 0, tot = 0;
554 if (in_movement || !push)
563 for (tmp = op->
above; tmp; tmp = tmp->
above) {
564 object *head = tmp->
head ? tmp->
head : tmp;
580 if (in_movement || !push)
609 return cause == NULL;
668 LOG(
llevError,
"Tried to add button-link without map.\n");
686 obp->
value = connected;
704 if (op->
map == NULL) {
705 LOG(
llevError,
"remove_button_link() in object without map.\n");
709 LOG(
llevError,
"remove_button_linked() in unlinked object.\n");
714 for (olp = &obp->
link; (ol = *olp); olp = &ol->
next)
723 LOG(
llevError,
"remove_button_linked(): couldn't find object.\n");
742 for (ol = obp->
link; ol; ol = ol->
next)
743 if (ol->
ob == button && ol->
id == button->
count)
764 for (ol = obp->
link; ol; ol = ol->
next)
765 if (ol->
ob == button && ol->
id == button->
count)
789 object *tmp, *ret = NULL;
798 for (tmp = op->
inv; tmp; tmp = tmp->
below) {
839 }
else if (!match && !trig->
last_sp)
861 for (ol = obp->
link; ol; ol = ol->
next) {
#define SET_ANIMATION(ob, newanim)
void query_base_name(const object *op, int plural, char *buf, size_t size)
void update_object(object *op, int action)
#define MSG_TYPE_DIALOG_ALTAR
void free_objectlink(objectlink *ol)
objectlink * get_objectlink(void)
#define FLAG_ACTIVATE_ON_PUSH
void remove_ob(object *op)
#define QUERY_FLAG(xyz, p)
#define CLEAR_FLAG(xyz, p)
#define FLAG_ACTIVATE_ON_RELEASE
void move_firewall(object *op)
#define NUM_ANIMATIONS(ob)
object * decrease_ob_nr(object *op, uint32 i)
int execute_event(object *op, int eventcode, object *activator, object *third, const char *message, int fix)
oblinkpt * get_objectlinkpt(void)
void update_ob_speed(object *op)
void LOG(LogLevel logLevel, const char *format,...)
method_ret ob_trigger(object *op, object *cause, int state)
void push(String_Array *array, const char *string)
void ext_info_map(int color, const mapstruct *map, uint8 type, uint8 subtype, const char *str1, const char *str2)