void prison_break_made (void) { ++prison_break_mode_shots_made; score_add(prison_break_mode_score, prison_break_mode_last_score); score_add (prison_break_mode_score_total_score, prison_break_mode_last_score); score_long (prison_break_mode_last_score); deff_start (DEFF_PRISON_BREAK_HIT_EFFECT);//under /kernel/deff.c }//end of function
CALLSET_ENTRY (jets, jet_hit) { // task_recreate_gid (GID_JETS, jet_hit_task); //score_copy (temp_score, current_score); flasher_pulse (FLASH_RIGHT_HELMET); /* Make a sound, based on level */ if (!free_timer_test (timer_jets_level_up)) sound_send (jet_sounds[jets_level][jets_sound_index]); jets_sound_index++; if (jets_sound_index > 2) jets_sound_index = 0; if (timed_mode_running_p (&jets_frenzy_mode)) { score (SC_500K); } else if (score_compare (total_jets_score, score_table[SC_500K]) >= 0) { timed_mode_begin (&jets_frenzy_mode); score (SC_500K); score_add (jets_frenzy_total, score_table[SC_500K]); } else { /* Score the hit, based on level */ score_add (total_jets_score, score_table[jets_hit_scores[jets_level]]); score_long (score_table[jets_hit_scores[jets_level]]); bounded_increment (jets_hit, 255); /* Level up if needed */ if (jets_hit >= jets_needed[jets_level]) { bounded_increment (jets_level, 4); score_long (score_table[jets_level_up_scores[jets_level]]); jets_hit = 0; free_timer_restart (timer_jets_level_up, TIME_2S); sound_send (SND_WHOOSH_UP_1); } if ((score_compare (total_jets_score, score_table[SC_250K]) >= 0) && !flag_test (FLAG_250K_JETS)) callset_invoke (wheel_award_jets); deff_restart (DEFF_JET_HIT); } }
CALLSET_ENTRY (hurryup, trunk_hole_shot) { if (hurryup_is_running ()) { score_long (hurryup_value); fixed_ladder_advance (&hurryup_scoring); } }
CALLSET_ENTRY (eject, dev_eyeball_eject_enter) { if (!in_game) { sol_request (SOL_EJECT); task_sleep (TIME_1S); } else { //HUXLEY MADE if ( !get_back_in_the_fridge_running() && !get_back_in_the_fridge_ending() && task_kill_gid(GID_LEFT_INLANE_MADE) && !in_tilt) { is_normal_eject_killed = TRUE; huxley_made(); return; }//end of huxley made //START VIDEO MODE else if ( (system_config.disable_kaboom == NO || system_config.disable_simon_says == NO || system_config.disable_shooter == NO) && flag_test (FLAG_VIDEO_MODE_ENABLED) && !in_tilt && !get_back_in_the_fridge_running() && !get_back_in_the_fridge_ending() && !get_fortress_running () && !get_museum_running () && !get_cryoprison_running () && !get_wasteland_running () && !get_demotime_running () && !is_frenzy_running () ) { //this is here since starting frenzy dumps ball into eject hole switch (get_next_video_mode() ) { case 0: start_kaboom(); break; case 1: start_simon_says(); break; case 2: start_shooter(); break; }//end of switch combo_rehit_check (); //check to see if enough combos to relight video mode //we just returned from video mode so flash the lights before you fire the coil leff_start (LEFF_EJECT); task_sleep (TIME_500MS); sol_request (SOL_EJECT); //request to fire the eject sol task_create_gid1 (GID_EJECT_1, eject_switch_task); ball_search_monitor_start (); task_sleep (TIME_300MS); }//end of start video mode //NORMAL RETINA SCAN else if (!is_normal_eject_killed ) { if (!in_tilt) { score (EJECT_SCORE); //100k per jet hit here if (jet_shots_made > 0) { score_zero (temp_score);//zero out temp score score_add (temp_score, score_table[SC_100K]);//multiply 100K by jet count score_mul (temp_score, jet_shots_made);//multiply 100K by jet count score_long (temp_score); //add temp score to player's score }//end of if if (retina_scan_multiplier == 2) { sound_start(ST_SPEECH, SPCH_DOUBLE_RETINA_SCAN, SL_4S, PRI_GAME_QUICK4); score (EJECT_SCORE); score_long (temp_score); //add temp score to player's score } leff_start (LEFF_EJECT); sound_start (ST_SAMPLE, RETINA_SCAN_LONG, SL_4S, PRI_GAME_QUICK1); deff_start (DEFF_EJECT_EFFECT); task_sleep (TIME_300MS); }//end of not in tilt sol_request (SOL_EJECT); //request to fire the eject sol task_create_gid1 (GID_EJECT_1, eject_switch_task);//this is a 2 second ball save timer for eject coil }//end of else !is_normal_eject_killed = FALSE }//end of else in game }//end of function
CALLSET_ENTRY (eject, dev_eyeball_eject_enter) { //HUXLEY MADE if ( !flag_test(FLAG_BACK_IN_THE_FRIDGE_RUNNING) && task_kill_gid(GID_LEFT_INLANE_MADE) ) { // flag_on(FLAG_KILL_NORMAL_EJECT); huxley_made(); return; // task_sleep (TIME_300MS);//give time for huxley to catch up } //START VIDEO MODE else if ( !flag_test(FLAG_BACK_IN_THE_FRIDGE_RUNNING) && !flag_test(FLAG_IS_FORTRESS_MB_RUNNING) && !flag_test(FLAG_IS_MUSEUM_MB_RUNNING) && !flag_test(FLAG_IS_CRYOPRISON_MB_RUNNING) && !flag_test(FLAG_IS_WASTELAND_MB_RUNNING) && !flag_test(FLAG_IS_DEMOTIME_RUNNING) && flag_test (FLAG_VIDEO_MODE_ENABLED) ) { // flag_on(FLAG_KILL_NORMAL_EJECT); start_video_mode(3); sound_start (ST_ANY, SPCH_PLAYER_TWO, SL_1S, PRI_GAME_QUICK5); task_sleep (TIME_500MS); task_sleep (TIME_500MS); task_sleep (TIME_500MS); task_sleep (TIME_500MS); combo_rehit_check (); //check to see if enough combos to relight video mode sol_request (SOL_EJECT); //request to fire the eject sol ball_search_monitor_start (); // return; task_sleep (TIME_300MS); }//end of start video mode //NORMAL RETINA SCAN else //if (!flag_test(FLAG_KILL_NORMAL_EJECT) ) { leff_start (LEFF_EJECT); sound_start (ST_SAMPLE, RETINA_SCAN_LONG, SL_4S, PRI_GAME_QUICK1); score (EJECT_SCORE); //100k per jet hit here if (jet_shots_made > 0) { score_zero (temp_score);//zero out temp score score_add (temp_score, score_table[SC_100K]);//multiply 100K by jet count score_mul (temp_score, jet_shots_made);//multiply 100K by jet count score_long (temp_score); //add temp score to player's score }//end of if if (retina_scan_multiplier == 2) { sound_start(ST_SPEECH, SPCH_DOUBLE_RETINA_SCAN, SL_4S, PRI_GAME_QUICK5); score (EJECT_SCORE); score_long (temp_score); //add temp score to player's score } deff_start (DEFF_EJECT_EFFECT); task_sleep_sec (1); sol_request (SOL_EJECT); //request to fire the eject sol }//end of else !flag_test(FLAG_KILL_NORMAL_EJECT) }//end of function
CALLSET_ENTRY (multiball, score_super_jackpot) { score_long (super_jackpot_value); deff_start (DEFF_SUPER_JACKPOT); global_flag_off (GLOBAL_FLAG_SUPER_JACKPOT_LIT); }