CALLSET_ENTRY (deadend, sw_dead_end) { // device_switch_can_follow (dead_end, slot, TIME_2S + TIME_500MS); // event_can_follow (dead_end, camera, TIME_2S); timer_restart_free (GID_DEADEND_TO_SLOT, TIME_4S); //event_can_follow (camera_or_piano, slot_prox, TIME_5S); if (lamp_test (LM_DEAD_END)) { leff_start (LEFF_RIGHT_LOOP); dead_end_count++; deff_start_sync (DEFF_DEAD_END); if (!flag_test (FLAG_SNAKE_READY) && single_ball_play ()) { flag_on (FLAG_SNAKE_READY); deff_start_sync (DEFF_SNAKE_READY); } switch (dead_end_count) { case 1: score (SC_250K); timed_game_extend (15); break; case 2: score (SC_500K); timed_game_extend (20); break; case 3: timed_game_extend (30); if (extra_ball_lit_from_deadend == FALSE && can_award_extra_ball ()) { score (SC_1M); light_easy_extra_ball (); extra_ball_lit_from_deadend = TRUE; } else { score (SC_10M); } dead_end_count = 0; break; default: score (SC_2M); timed_game_extend (30); break; } lamp_off (LM_DEAD_END); } else { deff_start (DEFF_INLANE_LIGHTS_DEAD_END); award_unlit_shot (SW_DEAD_END); score (SC_100K); sound_send (SND_TOWN_SQUARE_AWARD); timed_game_pause (TIME_3S); } }
void sslot_award (void) { sslot_award_index_stored = sslot_award_index; task_kill_gid (GID_SSLOT_AWARD_ROTATE); /* Don't allow awarding the eb if we can't do so */ if (!can_award_extra_ball ()) { /* Pick another until it's not an EB */ while (sslot_award_index_stored == 0) { sslot_award_index_stored = random_scaled(5); } } switch (sslot_award_index_stored) { case 0: sound_send (SND_GET_THE_EXTRA_BALL); light_easy_extra_ball (); break; case 1: sound_send (SND_THIS_IS_NO_ORDINARY_GUMBALL); gumball_enable_count++; break; case 2: sound_send (SND_ARE_YOU_READY_TO_BATTLE); mpf_enable_count++; break; case 3: sound_send (SND_MOST_UNUSUAL_CAMERA); cameras_lit++; break; case 4: sound_send (SND_TEN_MILLION_POINTS); score (SC_10M); if (!lamp_test (LM_PANEL_10M)) { lamp_on (LM_PANEL_10M); door_panels_started++; } break; case 5: sound_send (SND_SEE_WHAT_GREED); score (SC_5M); break; default: score (SC_5M); } deff_start (DEFF_SSLOT_AWARD); sound_send (SND_SLOT_PAYOUT); lamp_tristate_off (LM_SLOT_MACHINE); }
void award_left_ramp (void) { if (left_ramps == 3) cameras_lit++; else if (left_ramps == 6) gumball_enable_count++; else if (left_ramps == 10 && can_award_extra_ball ()) light_easy_extra_ball (); else if (left_ramps == 10 && !can_award_extra_ball ()) score (SC_10M); else if (left_ramps == 20) { score (SC_20M); left_ramps = 0; } else score (SC_250K); }
void rnd_eb_award (void) { flag_on (FLAG_RANDOM_EB_GIVEN); light_easy_extra_ball (); }