In this paper we are concerned with modelling the reliability of a system subject to external shocks. In a run shock model, the system fails when a sequence of shocks above a threshold arrive in succession. Nevertheless, using a single threshold to measure the severity of a shock is too critical in real practice. To this end, we develop a generalized run shock model with two thresholds. We employ a phase-type distribution to model the damage size and the inter-arrival time of shocks, which is highly versatile and may be used to model many quantitative features of random phenomenon. Furthermore, we use the Markovian property to construct a multi-state system which degrades with the arrival of shocks. We also provide a numerical example to illustrate our results.