static void riftWait() { int x, y; self->thinkTime--; if (self->thinkTime <= 0 || self->head->health <= 0) { stopSound(self->health); self->action = &riftClose; self->thinkTime = 20; } else { x = self->x + self->w / 2; y = self->y + self->h / 2; if (collision(x - self->speed, y - self->speed, self->speed * 2, self->speed * 2, player.x, player.y, player.w, player.h) == 1) { setCustomAction(&player, &attract, 5, 0, (player.x < (self->x + self->w / 2) ? player.speed - 0.25 : -(player.speed - 0.25))); } if (prand() % 3 == 0) { addRiftEnergy(self->x + self->w / 2, self->y + self->h / 2); } } checkToMap(self); }
static void riftWait() { self->thinkTime--; if (self->thinkTime <= 0) { stopSound(self->health); self->action = &riftClose; self->thinkTime = 20; } else { if (collision(self->x - self->mental, self->y - self->mental, self->mental * 2, self->mental * 2, player.x, player.y, player.w, player.h) == 1) { setCustomAction(&player, &attract, 5, 0, (player.x < (self->x + self->w / 2) ? 2 : -2)); } if (prand() % 3 == 0) { addRiftEnergy(self->x + self->w / 2, self->y + self->h / 2); } } }
static void riftDestroyWait() { checkToMap(self); if (self->mental <= 0) { stopSound(self->health); self->thinkTime = 20; self->action = &riftClose; } if (prand() % 3 == 0) { addRiftEnergy(self->x + self->w / 2, self->y + self->h / 2); } }
static void entityWait() { EntityList *el, *entities; entities = getEntities(); setEntityAnimation(self, self->active == FALSE ? "STAND" : "WALK"); if (self->active == TRUE) { if (self->health == -1) { self->health = playSoundToMap("sound/item/rift", -1, self->x, self->y, -1); } self->thinkTime--; if (self->thinkTime <= 0) { for (el=entities->next;el!=NULL;el=el->next) { if (el->entity->inUse == TRUE && el->entity->type == ENEMY && collision(self->x - self->mental, self->y, self->mental * 2, self->mental * 2, el->entity->x, el->entity->y, el->entity->w, el->entity->h) == 1) { setCustomAction(el->entity, &attract, self->maxThinkTime, 0, (el->entity->x < (self->x + self->w / 2) ? self->speed : -self->speed)); } } self->thinkTime = self->maxThinkTime; if (collision(self->x - self->mental, self->y, self->mental * 2, self->mental * 2, player.x, player.y, player.w, player.h) == 1) { setCustomAction(&player, &attract, self->maxThinkTime, 0, (player.x < (self->x + self->w / 2) ? self->speed : -self->speed)); } stopSound(self->health); } if (prand() % 3 == 0) { addRiftEnergy(self->x + self->w / 2, self->y + self->h / 2); } } }
static void riftWait() { self->thinkTime--; if (self->thinkTime <= 0) { stopSound(self->health); self->action = &riftClose; self->thinkTime = 20; } else { setCustomAction(&player, &attract, 5, 0, (player.x < (self->x + self->w / 2) ? 2 : -2)); if (prand() % 3 == 0) { addRiftEnergy(self->x + self->w / 2, self->y + self->h / 2); } } }