equal
deleted
inserted
replaced
160 end |
160 end |
161 end; |
161 end; |
162 |
162 |
163 //////////////////////////////////////////////////////////////////////////////// |
163 //////////////////////////////////////////////////////////////////////////////// |
164 procedure doStepHedgehogDead(Gear: PGear); |
164 procedure doStepHedgehogDead(Gear: PGear); |
|
165 const frametime = 200; |
|
166 timertime = frametime * 6; |
165 begin |
167 begin |
166 if Gear^.Timer > 1 then |
168 if Gear^.Timer > 1 then |
167 begin |
169 begin |
168 AllInactive:= false; |
170 AllInactive:= false; |
169 dec(Gear^.Timer) |
171 dec(Gear^.Timer); |
|
172 if (Gear^.Timer mod frametime) = 0 then inc(Gear^.Pos) |
170 end else |
173 end else |
171 if Gear^.Timer = 1 then |
174 if Gear^.Timer = 1 then |
172 begin |
175 begin |
173 Gear^.State:= Gear^.State or gstNoDamage; |
176 Gear^.State:= Gear^.State or gstNoDamage; |
174 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, EXPLAutoSound); |
177 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, EXPLAutoSound); |
176 DeleteGear(Gear); |
179 DeleteGear(Gear); |
177 SetAllToActive |
180 SetAllToActive |
178 end else // Gear^.Timer = 0 |
181 end else // Gear^.Timer = 0 |
179 begin |
182 begin |
180 AllInactive:= false; |
183 AllInactive:= false; |
|
184 Gear^.Z:= cCurrHHZ; |
|
185 RemoveGearFromList(Gear); |
|
186 InsertGearToList(Gear); |
181 PlaySound(sndByeBye, false); |
187 PlaySound(sndByeBye, false); |
182 Gear^.Timer:= 1100 |
188 Gear^.Pos:= 0; |
|
189 Gear^.Timer:= timertime |
183 end |
190 end |
184 end; |
191 end; |
185 |
192 |
186 //////////////////////////////////////////////////////////////////////////////// |
193 //////////////////////////////////////////////////////////////////////////////// |
187 procedure PickUp(HH, Gear: PGear); |
194 procedure PickUp(HH, Gear: PGear); |
508 exit |
515 exit |
509 end; |
516 end; |
510 |
517 |
511 if (Gear^.Health = 0) then |
518 if (Gear^.Health = 0) then |
512 begin |
519 begin |
513 if AllInactive then |
520 if PrvInactive then |
514 begin |
521 begin |
515 Gear^.Timer:= 0; |
522 Gear^.Timer:= 0; |
516 Gear^.doStep:= @doStepHedgehogDead |
523 Gear^.State:= Gear^.State or gstHHDeath; |
|
524 Gear^.doStep:= @doStepHedgehogDead; |
|
525 PrvInactive:= false; |
|
526 AllInactive:= false |
517 end; |
527 end; |
518 AllInactive:= false; |
|
519 exit |
528 exit |
520 end; |
529 end; |
521 |
530 |
522 if ((Gear^.State and gstAnimation) = 0) and |
531 if ((Gear^.State and gstAnimation) = 0) and |
523 (prevState <> Gear^.State) then |
532 (prevState <> Gear^.State) then |