void special_award (void) { callset_invoke (special_award); switch (system_config.special_award) { case FREE_AWARD_CREDIT: add_credit (); break; case FREE_AWARD_EB: increment_extra_balls (); break; case FREE_AWARD_OFF: break; } #ifdef DEFF_SPECIAL deff_start (DEFF_SPECIAL); #endif #ifdef LEFF_SPECIAL leff_start (LEFF_SPECIAL); #endif knocker_fire (); audit_increment (&system_audits.specials); }
void pitstop_award_task(void) { deff_start_sync(DEFF_PITSTOP_AWARD); switch (pitstop_award) { case AWARD_SCORE_50M: score(SC_50M); break; case AWARD_SCORE_5M: score(SC_5M); break; case AWARD_CAR: award_car(); break; case AWARD_EXTRA_BALL: increment_extra_balls(); break; case AWARD_LITE_LOCK: zr1_mb_award_lite_lock(); break; case AWARD_LITE_DRAGRACE: award_lite_dragrace(); break; case AWARD_LITE_KICKBACK: award_kickback (); break; default: // TODO handle remaining awards break; } task_exit(); }
//sw_top_popper CALLSET_ENTRY (top_popper, dev_top_sol_enter) { ball_search_monitor_stop (); //BACK IN FRIDGE WIZARD MODE if (flag_test(FLAG_BACK_IN_THE_FRIDGE_ACTIVATED)) { start_back_in_the_fridge (); task_sleep_sec(1); leff_start (LEFF_TOP_POPPER); sol_request_async(SOL_TOP_POPPER); } //EXTRABALL AWARD OR MULTIBALL START OR BOTH else if (flag_test(FLAG_IS_EXTRABALL_LIT) || (!flag_test(FLAG_BACK_IN_THE_FRIDGE_RUNNING) && flag_test (FLAG_IS_MULTIBALL_ENABLED) )) { //EXTRABALL AWARD if (flag_test(FLAG_IS_EXTRABALL_LIT) ) { increment_extra_balls(); end_extraball(); leff_start (LEFF_EXTRABALL); deff_start_sync (DEFF_EXTRA_BALL_EFFECT); task_sleep_sec(1); }//end of EB //START MULTIBALL if ( !flag_test(FLAG_BACK_IN_THE_FRIDGE_RUNNING) && flag_test (FLAG_IS_MULTIBALL_ENABLED) ) { multiball_start(); task_sleep_sec(1); }//end of multiball start //do for both leff_start (LEFF_TOP_POPPER); sol_request_async(SOL_TOP_POPPER); }//END of EB or MB //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) )//this is set at combos start_video_mode(1); //NOTHING SPECIAL else { score (TOP_POP_SCORE);//located in kernal/score.c //LIGHTING EFFECTS // leff_start (LEFF_UNDERGROUND_KICKOUT); deff_start_sync (DEFF_TOP_POPPER_EFFECT); //if nothing special, do normal display effects leff_start (LEFF_TOP_POPPER); sol_request_async(SOL_TOP_POPPER); }//end of else NOTHING SPECIAL ball_search_monitor_start (); }//end of function
void score_extraball(void) { ball_search_monitor_stop (); flag_off(FLAG_IS_EXTRABALL_LIT); extraball_light_off (); task_kill_gid(GID_EXTRA_BALL_REMINDER); increment_extra_balls(); leff_start (LEFF_EXTRABALL); deff_start (DEFF_EXTRA_BALL_EFFECT); ball_search_monitor_start (); }//end of function