if (i_ex(obj_growtangle)) { timer++; if (timer < 14) x = lerp(x, scr_get_box(0) + 122, 0.16); if (timer == 14) { sprite_index = spr_shadowman_idle_fox; image_speed = 1; } } if (global.turntimer < 13) { if (global.turntimer < 1) { instance_destroy(); exit; } x = lerp(x, creatorid.x, (12 - global.turntimer) / 12); y = lerp(y, creatorid.y, (12 - global.turntimer) / 12); } if (paused || timer < 14 || (global.turntimer < 29 && bullet_counter == 0)) exit; if (bullet_timer > 0) { bullet_timer--; } else { snd_stop(snd_gunshot_b); snd = audio_play_sound(snd_gunshot_b, 0, 0); snd_pitch(snd_gunshot_b, 0.95 + (random(10) / 100)); snd_volume(snd_gunshot_b, 0.7, 0); sprite_index = spr_shadowman_firing; shootsfx = 6; firefx = 2; gunshake = 6; var rep = 1; if (type == 1) rep = 5; var bullet_speed = 4 + random(3); repeat (rep) { var ang = (point_direction(x + 6 + lengthdir_x(gunshake, gun_angle), y + 63 + lengthdir_y(gunshake, gun_angle), obj_growtangle.x, obj_growtangle.y) - 30) + irandom(60); if (type == 1) ang = 120 + irandom(90); count++; if (count == 5 && instance_number(obj_dbulletcontroller) != 3) { count = -10; ang = (point_direction(x + 6 + lengthdir_x(gunshake, gun_angle), y + 63 + lengthdir_y(gunshake, gun_angle), obj_heart.x + 10, obj_heart.y + 10) + 6) - irandom(12); } netskie_count++; if (netskie_count == 2 || netskie_count == 5 || netskie_count == 8 || netskie_count == 11 || netskie_count == 14 || netskie_count == 17 || netskie_count == 20) ang = 158 + random(31); gun_angle = ang; depth = -9999; var tommybullet = scr_fire_bullet(x + 6 + lengthdir_x(60, gun_angle), y + 64 + lengthdir_y(60, gun_angle), obj_tommygun_bullet, 180, bullet_speed, spr_tommygun_bullet); tommybullet.direction = ang; tommybullet.damage = 55; tommybullet.grazepoints = 9; tommybullet.target = target; tommybullet.image_angle = tommybullet.direction; tommybullet.depth = depth + 1; if (netskie_count == 2 || netskie_count == 5 || netskie_count == 8 || netskie_count == 11 || netskie_count == 14 || netskie_count == 17 || netskie_count == 20) { tommybullet.netskie = true; tommybullet.sprite_index = spr_tommygun_bullet_netskie; } else { with (tommybullet) scr_script_delayed(scr_lerpvar_instance, abs(x - scr_get_box(2)) / abs(hspeed), id, "image_alpha", 1, 0, 10); } depth = -9999; } bullet_timer = 4; bullet_counter++; if (bullet_counter == 12) { sprite_index = spr_shadowman_reload; image_speed = 0.13333333333333333; bullet_counter = 0; bullet_timer += (10 + (irandom(1) * 5) + (4 * sameattack)); gun_angle = 180; } }