OpenRA/OpenRA — pull request #6224 by cjshmyr (2014-08-10 00:04:57+00:00)
Title: RenderInfantry refactoring

Removes `RenderInfantryProne` and `RenderInfantryPanic` traits, and moves that "react when attacked" behavior into `RenderInfantry` itself. An interface called `IReactOnAttack` was added and both `TakeCover` and `ScaredyCat` traits implement it. Those classes were also cleaned up as well.

I think there's 5 upgrade scenarios in total and rules were created. Needed to be careful not to mess with Spy though.
```
Rules:
ProneActor:
-RenderInfantry:
RenderInfantryProne:
IdleAnimations: idle1, idle2
PanicActor:
-RenderInfantry:
RenderInfantryPanic:
IdleAnminations: idle1, idle2
NewProneActor:
RenderInfantryProne:
IdleAnminations: idle1, idle2
NewPanicActor:
RenderInfantryPanic:
IdleAnminations: idle1, idle2
LeaveThisSpyAlone:
-RenderInfantry:
RenderDisguise:
IdleAnimations: idle1, idle2
```

becomes

```
ProneActor:
RenderInfantry:
IdleAnimations: idle1, idle2
PanicActor:
RenderInfantry:
IdleAnminations: idle1, idle2
NewProneActor:
RenderInfantry:
IdleAnminations: idle1, idle2
NewPanicActor:
RenderInfantry:
IdleAnminations: idle1, idle2
LeaveThisSpyAlone:
-RenderInfantry:
RenderDisguise:
IdleAnimations: idle1, idle2
```