If this works right, setting Angle (yeah, yeah) switches between an aura circle and a drawn circle. aura is scaled at size 100 being 100% - 200, 200% etc.
--- a/hedgewars/uVisualGears.pas Thu Dec 16 09:18:03 2010 +0100
+++ b/hedgewars/uVisualGears.pas Thu Dec 16 14:34:11 2010 -0500
@@ -497,7 +497,8 @@
vgtSmallDamageTag: DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex);
vgtSpeechBubble: if (Gear^.Tex <> nil) and (((Gear^.State = 0) and (Gear^.Hedgehog^.Team = CurrentTeam)) or (Gear^.State = 2)) then DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex);
vgtHealthTag: if Gear^.Tex <> nil then DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex);
- vgtCircle: DrawCircle(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.State, Gear^.Timer);
+ vgtCircle: if gear^.Angle = 1 then DrawTexture(round(Gear^.X), round(Gear^.Y), SpritesData[sprVampiric].Texture, Gear^.State / 100)
+ else DrawCircle(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.State, Gear^.Timer);
end;
if (Gear^.Tint <> $FFFFFFFF) or tinted then Tint($FF,$FF,$FF,$FF);
Gear:= Gear^.NextGear