hedgewars/uGears.pas
changeset 2057 cf0d84479251
parent 2053 9a8a4add3eff
child 2067 7524a783bd8c
equal deleted inserted replaced
2056:ed8c83f1e4b0 2057:cf0d84479251
   663 
   663 
   664 procedure ApplyDamage(Gear: PGear; Damage: Longword);
   664 procedure ApplyDamage(Gear: PGear; Damage: Longword);
   665 var s: shortstring;
   665 var s: shortstring;
   666     vampDmg: Longword;
   666     vampDmg: Longword;
   667 begin
   667 begin
   668 	inc(Gear^.Damage, Damage);
       
   669 	if Gear^.Kind = gtHedgehog then
   668 	if Gear^.Kind = gtHedgehog then
   670     begin
   669     begin
   671 	AddDamageTag(hwRound(Gear^.X), hwRound(Gear^.Y), Damage, PHedgehog(Gear^.Hedgehog)^.Team^.Clan^.Color);
   670 	AddDamageTag(hwRound(Gear^.X), hwRound(Gear^.Y), Damage, PHedgehog(Gear^.Hedgehog)^.Team^.Clan^.Color);
   672     Damage:= min(Damage, Gear^.Health);
   671     Damage:= min(Damage, max(0,Gear^.Health-Gear^.Damage));
   673     if (Gear <> CurrentHedgehog^.Gear) and (CurrentHedgehog^.Gear <> nil) and (Damage >= 1) then
   672     if (Gear <> CurrentHedgehog^.Gear) and (CurrentHedgehog^.Gear <> nil) and (Damage >= 1) then
   674         begin
   673         begin
   675         if cVampiric then
   674         if cVampiric then
   676             begin
   675             begin
   677             vampDmg:= hwRound(int2hwFloat(Damage)*_0_8);
   676             vampDmg:= hwRound(int2hwFloat(Damage)*_0_8);
   702            RenderHealth(CurrentHedgehog^);
   701            RenderHealth(CurrentHedgehog^);
   703            RecountTeamHealth(CurrentHedgehog^.Team);
   702            RecountTeamHealth(CurrentHedgehog^.Team);
   704            end;
   703            end;
   705         end;
   704         end;
   706     end;
   705     end;
       
   706 	inc(Gear^.Damage, Damage);
   707 end;
   707 end;
   708 
   708 
   709 procedure SetAllToActive;
   709 procedure SetAllToActive;
   710 var t: PGear;
   710 var t: PGear;
   711 begin
   711 begin