91 var |
91 var |
92 dmg: Longword; |
92 dmg: Longword; |
93 i: LongInt; |
93 i: LongInt; |
94 particle: PVisualGear; |
94 particle: PVisualGear; |
95 begin |
95 begin |
96 if(Gear^.Invulnerable) then exit; |
|
97 if _0_4 < Gear^.dY then |
96 if _0_4 < Gear^.dY then |
98 begin |
97 begin |
99 dmg:= ModifyDamage(1 + hwRound((hwAbs(Gear^.dY) - _0_4) * 70), Gear); |
98 dmg:= ModifyDamage(1 + hwRound((hwAbs(Gear^.dY) - _0_4) * 70), Gear); |
100 if dmg < 1 then exit; |
99 if dmg < 1 then exit; |
|
100 |
|
101 for i:= min(12, (3 + dmg div 10)) downto 0 do begin |
|
102 particle := AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust); |
|
103 if particle <> nil then particle^.dX := particle^.dX + (Gear^.dX / 5); |
|
104 end; |
|
105 |
|
106 if(Gear^.Invulnerable) then exit; |
101 |
107 |
102 if _0_6 < Gear^.dY then |
108 if _0_6 < Gear^.dY then |
103 PlaySound(sndOw4, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack) |
109 PlaySound(sndOw4, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack) |
104 else |
110 else |
105 PlaySound(sndOw1, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack); |
111 PlaySound(sndOw1, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack); |
106 |
112 |
107 for i:= min(12, (3 + dmg div 10)) downto 0 do begin |
113 ApplyDamage(Gear, dmg); |
108 particle := AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust); |
|
109 if particle <> nil then particle^.dX := particle^.dX + (Gear^.dX / 5); |
|
110 end; |
|
111 |
|
112 ApplyDamage(Gear, dmg); |
|
113 end |
114 end |
114 end; |
115 end; |
115 |
116 |
116 //////////////////////////////////////////////////////////////////////////////// |
117 //////////////////////////////////////////////////////////////////////////////// |
117 //////////////////////////////////////////////////////////////////////////////// |
118 //////////////////////////////////////////////////////////////////////////////// |