if (i_ex(obj_flowery_towery)) { if (front) depth = 25000; else depth = obj_flowery_towery.depth + 2; } var cy = cameray(); if (!surface_exists(surface)) surface = surface_create(640 * surface_scale, 840 * surface_scale); var _dark_col = 3150105; var _dark2_col = 2230537; var _light_col = 8138558; var _dist_min = 175; var _dist_max = 300; var _dist = front ? _dist_min : _dist_max; var _sign = front ? 1 : -1; var _cnum = array_length(obj_cloud_controller_new.clouds); var _hero_obj = 1198; if (i_ex(obj_climb_kris)) _hero_obj = 1164; surface_set_target(surface); draw_clear_alpha(c_black, 0); var _col, _draw_scale; while (_dist >= _dist_min && _dist <= _dist_max) { var _dist_scale = (_dist - _dist_min) / (_dist_max - _dist_min); switch (style) { case 0: _col = 16777215; break; case 1: _col_factor = ((front ? (_dist_scale * 0.5) : (-_dist_scale * 0.5)) * 0.5) + 0.5; _col = merge_color(_dark_col, _light_col, _col_factor); break; } _col = front ? 16777215 : 8421504; for (var _c = 0; _c < _cnum; _c++) { var _cloud = obj_cloud_controller_new.clouds[_c]; if (_cloud.z_depth < 0) { if (!other.front) continue; } else if (other.front) { continue; } if (_cloud.dist != _dist) continue; var _x_offset = sin((current_time / 500) + _cloud.base_angle) * 4 * surface_scale; var _y_offset = (sin((current_time / 250) + (_cloud.base_angle * 0.05)) * 4 * surface_scale) + (surface_y_offset * surface_scale); var _img_scale = 1; switch (style) { case 0: _col = 16777215; break; case 1: _col_factor = ((_cloud.z_depth / _dist_max) * -0.5) + 0.5; _col = merge_color(_dark_col, _light_col, _col_factor); break; } _col = merge_color(c_black, c_white, 0.85 - (0.15 * sin(degtorad(_cloud.angle)))); var t = sin((current_time * 0.01) + (_cloud.__id * 0.2)); var idx = (current_time * 0.01) + (_cloud.__id * 0.2 * (1 + (_cloud.__id % 2))); if ((_cloud.__id % 2) == 1) draw_sprite_ext(spr_rising_thorns_b, idx, floor((_cloud.x * surface_scale) + _x_offset), floor((_cloud.y * surface_scale) + _y_offset + 20), 2 * _img_scale * surface_scale, (2 * _img_scale * surface_scale) + (0 * t), 0, _col, 1); else draw_sprite_ext(spr_rising_thorns_a, idx, floor((_cloud.x * surface_scale) + _x_offset), floor((_cloud.y * surface_scale) + _y_offset), 2 * _img_scale * surface_scale, (2 * _img_scale * surface_scale) + (0 * t), 0, _col, 1); } _draw_scale = 1 / surface_scale; var _col_factor = 0.5 + (_dist_scale * 0.5 * _sign); if (followcamera) xoffset = camerax(); switch (style) { case 0: _col = merge_color(_dark_col, _light_col, _col_factor); break; case 1: _col = 16777215; break; } _col = 16777215; _dist += (front ? 125 : -125); } surface_reset_target(); if (front) { for (var i = 0; i < 6; i++) { var flip = sign((i % 2) - 0.5); var blend = merge_color(#3F3F3F, _col, i / 5); draw_surface_ext(surface, xoffset, ((cy + 420) - (420 * flip) - (40 * i)) + distance_from_kris + 2, _draw_scale, _draw_scale * flip, 0, blend, image_alpha); } } else { for (var i = 0; i < 6; i++) { var flip = sign((i % 2) - 0.5); var blend = merge_color(#3F3F3F, _col, i / 5); draw_surface_ext(surface, xoffset, ((cy + 420) - (420 * flip) - (40 * i)) + distance_from_kris + 2, _draw_scale, _draw_scale * flip, 0, blend, image_alpha); } } distance_from_kris += (verticalspeed * caminfluence); if (i_ex(obj_rotating_tower_controller_new)) tower_y_prev = obj_rotating_tower_controller_new.tower_y; if (last_hero_y != 0) distance_from_kris -= ((cy - last_hero_y) * caminfluence); last_hero_y = cy;