4116 Gear^.Timer := 250; |
4116 Gear^.Timer := 250; |
4117 Gear^.doStep := @doStepIdle; |
4117 Gear^.doStep := @doStepIdle; |
4118 exit; |
4118 exit; |
4119 end; |
4119 end; |
4120 |
4120 |
4121 if ((Gear^.Message and gmAttack) <> 0) and (hh^.Gear^.Health > 0) then |
4121 if ((Gear^.Message and gmAttack) <> 0) and (hh^.Gear^.Health > 0) then begin |
4122 begin |
|
4123 i := getRandom(Length(graves)); |
4122 i := getRandom(Length(graves)); |
4124 dec(hh^.Gear^.Health); |
4123 dec(hh^.Gear^.Health); |
4125 if (hh^.Gear^.Health = 0) and (hh^.Gear^.Damage = 0) then |
4124 if (hh^.Gear^.Health = 0) and (hh^.Gear^.Damage = 0) then |
4126 hh^.Gear^.Damage:= 1; |
4125 hh^.Gear^.Damage:= 1; |
4127 RenderHealth(hh^); |
4126 RenderHealth(hh^); |
4130 if hh^.Gear^.Health > 0 then begin |
4129 if hh^.Gear^.Health > 0 then begin |
4131 dec(hh^.Gear^.Health); |
4130 dec(hh^.Gear^.Health); |
4132 inc(graves[i]^.Health); |
4131 inc(graves[i]^.Health); |
4133 end; |
4132 end; |
4134 end; -} |
4133 end; -} |
4135 end |
4134 end else begin |
4136 else |
|
4137 begin |
|
4138 // now really resurrect the hogs with the hp saved in the graves |
4135 // now really resurrect the hogs with the hp saved in the graves |
4139 for i:= 0 to High(graves) do |
4136 for i:= 0 to High(graves) do |
4140 if graves[i]^.Health > 0 then |
4137 if graves[i]^.Health > 0 then begin |
4141 begin |
|
4142 resgear := AddGear(hwRound(graves[i]^.X), hwRound(graves[i]^.Y), |
4138 resgear := AddGear(hwRound(graves[i]^.X), hwRound(graves[i]^.Y), |
4143 gtHedgehog, gstWait, _0, _0, 0); |
4139 gtHedgehog, gstWait, _0, _0, 0); |
4144 resgear^.Hedgehog := graves[i]^.Hedgehog; |
4140 resgear^.Hedgehog := graves[i]^.Hedgehog; |
4145 resgear^.Health := graves[i]^.Health; |
4141 resgear^.Health := graves[i]^.Health; |
4146 PHedgehog(graves[i]^.Hedgehog)^.Gear := resgear; |
4142 PHedgehog(graves[i]^.Hedgehog)^.Gear := resgear; |
4147 DeleteGear(graves[i]); |
4143 DeleteGear(graves[i]); |
4148 RenderHealth(PHedgehog(resgear^.Hedgehog)^); |
4144 RenderHealth(PHedgehog(resgear^.Hedgehog)^); |
4149 RecountTeamHealth(Phedgehog(resgear^.Hedgehog)^.Team); |
4145 RecountTeamHealth(Phedgehog(resgear^.Hedgehog)^.Team); |
4150 end; |
4146 FreeTexture(PHedgehog(resgear^.Hedgehog)^.HatTex); |
|
4147 PHedgehog(resgear^.Hedgehog)^.HatTex := Surface2Tex( |
|
4148 LoadImage(Pathz[ptHats] + '/Reserved/Zombie', ifNone), |
|
4149 True); |
|
4150 end; |
4151 StopSound(Gear^.SoundChannel); |
4151 StopSound(Gear^.SoundChannel); |
4152 Gear^.Timer := 250; |
4152 Gear^.Timer := 250; |
4153 Gear^.doStep := @doStepIdle; |
4153 Gear^.doStep := @doStepIdle; |
4154 end; |
4154 end; |
4155 //if hh^.Gear^.Health = 0 then doStepHedgehogFree(hh^.Gear); |
4155 //if hh^.Gear^.Health = 0 then doStepHedgehogFree(hh^.Gear); |
4156 end; |
4156 end; |
4157 |
4157 |
4158 procedure doStepResurrector(Gear: PGear); |
4158 procedure doStepResurrector(Gear: PGear); |
4159 var |
4159 var |