equal
deleted
inserted
replaced
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 //////////////////////////////////////////////////////////////////////////////// |