var names = ["mauswheel", "winglade", "poppup"]; var sprites = [294, 6778, 5711]; var speed_range = [new Vector2(6, 11), new Vector2(5, 9), new Vector2(3, 7)]; if (scr_flag_get(462) < 3 && scr_flag_get(465) == 1) { array_insert(names, 2, "car"); array_insert(sprites, 2, 5609); array_insert(speed_range, 2, new Vector2(4, 13)); } var bg = scr_dark_marker(208, 329, spr_castle_front_racetrack); bg.depth = 989990; con = -1; _racers = []; _winner = -4; _pippins_marker = -4; for (var i = 0; i < array_length(sprites); i += 1) { var racer = instance_create(560, 500, obj_room_castle_front_racer); var racer_speed = speed_range[i]; var racer_name = names[i]; racer.init(sprites[i], i * 20, id, racer_speed, racer_name); _racers[array_length(_racers)] = racer; racer.start_race(); } if (scr_enemyrecruitcheck("sha")) { _shadowmen_state = "default"; _shadowguy_marker_left = scr_dark_marker(200, 506, spr_shadowman_cheer); with (_shadowguy_marker_left) { scr_depth(); image_speed = 0.2; } _shadowguy_marker_right = scr_dark_marker(_shadowguy_marker_left.x + 60, _shadowguy_marker_left.y, spr_shadowman_idle_a_right); _shadowguy_marker_right.depth = _shadowguy_marker_left.depth - 10; with (_shadowguy_marker_right) image_speed = 0.2; _shadowmen_readable = instance_create(_shadowguy_marker_left.x + 20, _shadowguy_marker_left.y + 50, obj_readable_room1); with (_shadowmen_readable) { extflag = "shadowmen"; image_xscale = 6; image_yscale = 3; } _shadowmen_block = instance_create(_shadowguy_marker_left.x + 20, _shadowguy_marker_left.y + 64, obj_solidblockDark); with (_shadowmen_block) { image_xscale = 3.4; image_yscale = 1; } } if (scr_enemyrecruitcheck("pippins")) { _pippins_con = []; _pippins_con[0] = 0; _pippins_con[1] = 0; _pippins_marker = scr_dark_marker(750, 530, spr_npc_pippins_jump_cool); with (_pippins_marker) scr_depth(); _pippins_readable = instance_create(_pippins_marker.x + 16, _pippins_marker.y + 40, obj_readable_room1); with (_pippins_readable) { extflag = "pippins"; image_xscale = 2; image_yscale = 2; } _pippins_solid = instance_create(_pippins_marker.x + 8, _pippins_marker.y + 50, obj_solidblockDark); with (_pippins_solid) image_xscale = 1.5; } if (scr_enemyrecruitcheck("wicabel")) { _wicabell_marker = scr_dark_marker(660, 520, spr_npc_wicabel); with (_wicabell_marker) scr_depth(); _wicabell_readable = instance_create(_wicabell_marker.x + 16, _wicabell_marker.y + 40, obj_readable_room1); with (_wicabell_readable) { extflag = "wicabell"; image_xscale = 2; image_yscale = 2; } _wicabell_solid = instance_create(_wicabell_marker.x + 8, _wicabell_marker.y + 60, obj_solidblockDark); with (_wicabell_solid) { image_xscale = 1.5; image_yscale = 1; } } reset_shadowmen = function() { if (!scr_enemyrecruitcheck("sha")) exit; _shadowmen_state = "default"; with (_shadowguy_marker_left) { sprite_index = spr_shadowman_cheer; image_speed = 0.2; } with (_shadowguy_marker_right) { sprite_index = spr_shadowman_wave_money; visible = 1; } }; trigger_event = function(arg0, arg1) { switch (arg0) { case "stopped": var racer_name = arg1[0]; var all_stopped = true; for (var i = 0; i < array_length(_racers); i++) { var racer = _racers[i]; if (!racer.is_stopped()) { if (all_stopped) all_stopped = false; } else if (_winner == -4) { _winner = racer; racer.win(); if (scr_enemyrecruitcheck("sha")) { if (racer_name == "poppup") { _shadowmen_state = "happy"; with (_shadowguy_marker_left) sprite_index = spr_shadowman_celebrate; with (_shadowguy_marker_right) visible = 0; } else { _shadowmen_state = "sad"; with (_shadowguy_marker_left) { sprite_index = spr_shadowman_consoling; image_speed = 0.1; scr_shakeobj(); } with (_shadowguy_marker_right) { sprite_index = spr_shadowman_sad; scr_shakeobj(); } } } } } if (all_stopped) { for (var i = 0; i < array_length(_racers); i++) { var racer = _racers[i]; racer.restart(); } _winner = -4; scr_script_delayed(reset_shadowmen, 60); } break; } }; show_convo = function(arg0, arg1 = 0) { npc_animate = false; npc_animate_target = -4; times_talked = arg1; switch (arg0) { case "pippins": con = 10; npc_animate = true; npc_animate_target = _pippins_marker; break; case "wicabell": con = 30; if (times_talked > 0) con = 35; break; case "shadowmen": var sound = choose(7, 21, 45); var pitch = 1; var volume = 0.5; if (_shadowmen_state == "sad") { sound = 716; pitch = 0.5; volume = 0.7; } else if (_shadowmen_state == "happy") { pitch = 2; } snd_play_x(sound, volume, pitch); break; } };