{$CLEO .cs}
thread 'PSD'
0000: NOP  

:START
wait 0 
if and
   Player.Defined($PLAYER_CHAR)
   Actor.DrivingVehicleType($PLAYER_ACTOR, #PONY)
else_jump @START 
03C0: 0@ = actor $PLAYER_ACTOR car 
wait 100

//---

:MANAGER1
wait 0 
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #PONY)
else_jump @START 

wait 0
if
00E1:   player 0 pressed_key 4 // Secondary fire
else_jump @MANAGER1
073C: car 0@ damage_component 1
wait 50

//---

:MANAGER2
wait 0 
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #PONY)
else_jump @START 

wait 0
if
00E1:   player 0 pressed_key 4 // Secondary fire
else_jump @MANAGER2
068A: set_car 0@ repair_componentA 1
wait 50
jump @MANAGER1
//---

0A93: end_custom_thread