hedgewars/GSHandlers.inc
changeset 2848 8a1725b4f724
parent 2840 bb9117753fe4
child 2857 768dfbe276a5
equal deleted inserted replaced
2847:cde320fd3122 2848:8a1725b4f724
    86 	then Gear^.State:= Gear^.State or      gstCollision
    86 	then Gear^.State:= Gear^.State or      gstCollision
    87 	else Gear^.State:= Gear^.State and not gstCollision
    87 	else Gear^.State:= Gear^.State and not gstCollision
    88 end;
    88 end;
    89 
    89 
    90 procedure CheckHHDamage(Gear: PGear);
    90 procedure CheckHHDamage(Gear: PGear);
    91 var dmg: Longword;
    91 var 
       
    92 	dmg: Longword;
       
    93 	i: LongInt;
       
    94 	particle: PVisualGear;
    92 begin
    95 begin
    93 if(Gear^.Invulnerable) then exit;
    96 if(Gear^.Invulnerable) then exit;
    94 if _0_4 < Gear^.dY then
    97 if _0_4 < Gear^.dY then
    95 	begin
    98 	begin
    96 	dmg:= ModifyDamage(1 + hwRound((hwAbs(Gear^.dY) - _0_4) * 70), Gear);
    99 	dmg:= ModifyDamage(1 + hwRound((hwAbs(Gear^.dY) - _0_4) * 70), Gear);
    99 	if _0_6 < Gear^.dY then
   102 	if _0_6 < Gear^.dY then
   100 		PlaySound(sndOw4, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack)
   103 		PlaySound(sndOw4, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack)
   101 	else
   104 	else
   102 		PlaySound(sndOw1, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack);
   105 		PlaySound(sndOw1, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack);
   103 
   106 
   104     ApplyDamage(Gear, dmg);
   107 	for i:= min(12, (3 + dmg div 10)) downto 0 do begin
       
   108 		particle := AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust);
       
   109 		particle^.dX := particle^.dX + (Gear^.dX / 5);
       
   110 		end;
       
   111 		
       
   112   ApplyDamage(Gear, dmg);
   105 	end
   113 	end
   106 end;
   114 end;
   107 
   115 
   108 ////////////////////////////////////////////////////////////////////////////////
   116 ////////////////////////////////////////////////////////////////////////////////
   109 ////////////////////////////////////////////////////////////////////////////////
   117 ////////////////////////////////////////////////////////////////////////////////