SCRIPT SRGrdSig // Callon Shunt restricted extern float block_state(); extern float route_set(); extern float def_draw_state(); extern float state; extern float draw_state; extern float enabled; extern float TrainHasCallOn_Restricted(); if (!enabled || // Not enabled/cleared to show natural state? block_state() != BLOCK_CLEAR || // Block ahead not clear? !route_set()) // Switch not set as per link? { state = SIGASP_STOP; } if (enabled && route_set() && TrainHasCallOn_Restricted() && block_state() == BLOCK_OCCUPIED ) // clear on CallOn { state = SIGASP_RESTRICTING; } else if (block_state == BLOCK_CLEAR) // normal clear { state = SIGASP_CLEAR_2; } // Get draw state draw_state = def_draw_state(state);