void Monster::make_plans() { Player *player = GAME.player; Map *map = GAME.map; // TODO: Support different senses // TODO: Support non-aggressive monsters bool senses_player = false; if (has_sense(SENSE_SIGHT) && can_sense(map, player->posx, player->posy)) { senses_player = true; } if (senses_player) { target = player; wander_target = Point(player->posx, player->posy); // TODO: Don't hard-code wander_duration. Make it a Monster_type stat? wander_duration = 15; } else { target = NULL; } }
bool Entity::can_sense(Map* map, Tripoint target) { return can_sense(map, target.x, target.y, target.z); }