163 FrameTicks:= random(vobFrameTicks); |
163 FrameTicks:= random(vobFrameTicks); |
164 Frame:= random(vobFramesCount); |
164 Frame:= random(vobFramesCount); |
165 Angle:= random * 360; |
165 Angle:= random * 360; |
166 dx:= 0.0000038654705 * random(10000); |
166 dx:= 0.0000038654705 * random(10000); |
167 dy:= 0.000003506096 * random(7000); |
167 dy:= 0.000003506096 * random(7000); |
168 if random(2) = 0 then dx*=-1; |
168 if random(2) = 0 then dx := -dx; |
169 dAngle:= (random(2) * 2 - 1) * (1 + random) * vobVelocity / 1000 |
169 dAngle:= (random(2) * 2 - 1) * (1 + random) * vobVelocity / 1000 |
170 end; |
170 end; |
171 vgtCloud: begin |
171 vgtCloud: begin |
172 Frame:= random(4); |
172 Frame:= random(4); |
173 dx:= 0.000005 * random(10000); |
173 dx:= 0.000005 * random(10000); |
174 if random(2) = 0 then dx*=-1; |
174 if random(2) = 0 then dx := -dx; |
175 timer:= random(4096); |
175 timer:= random(4096); |
176 end; |
176 end; |
177 vgtExplPart, |
177 vgtExplPart, |
178 vgtExplPart2: begin |
178 vgtExplPart2: begin |
179 t:= random(1024); |
179 t:= random(1024); |
180 sp:= 0.001 * (random(95) + 70); |
180 sp:= 0.001 * (random(95) + 70); |
181 dx:= AngleSin(t).QWordValue/4294967296 * sp; |
181 dx:= AngleSin(t).QWordValue/4294967296 * sp; |
182 dy:= AngleCos(t).QWordValue/4294967296 * sp; |
182 dy:= AngleCos(t).QWordValue/4294967296 * sp; |
183 if random(2) = 0 then dx*=-1; |
183 if random(2) = 0 then dx := -dx; |
184 if random(2) = 0 then dy*=-1; |
184 if random(2) = 0 then dy := -dy; |
185 Frame:= 7 - random(3); |
185 Frame:= 7 - random(3); |
186 FrameTicks:= cExplFrameTicks |
186 FrameTicks:= cExplFrameTicks |
187 end; |
187 end; |
188 vgtFire: begin |
188 vgtFire: begin |
189 t:= random(1024); |
189 t:= random(1024); |
190 sp:= 0.001 * (random(85) + 95); |
190 sp:= 0.001 * (random(85) + 95); |
191 dx:= AngleSin(t).QWordValue/4294967296 * sp; |
191 dx:= AngleSin(t).QWordValue/4294967296 * sp; |
192 dy:= AngleCos(t).QWordValue/4294967296 * sp; |
192 dy:= AngleCos(t).QWordValue/4294967296 * sp; |
193 if random(2) = 0 then dx*=-1; |
193 if random(2) = 0 then dx := -dx; |
194 if random(2) = 0 then dy*=-1; |
194 if random(2) = 0 then dy := -dy; |
195 FrameTicks:= 650 + random(250); |
195 FrameTicks:= 650 + random(250); |
196 Frame:= random(8) |
196 Frame:= random(8) |
197 end; |
197 end; |
198 vgtEgg: begin |
198 vgtEgg: begin |
199 t:= random(1024); |
199 t:= random(1024); |
200 sp:= 0.001 * (random(85) + 95); |
200 sp:= 0.001 * (random(85) + 95); |
201 dx:= AngleSin(t).QWordValue/4294967296 * sp; |
201 dx:= AngleSin(t).QWordValue/4294967296 * sp; |
202 dy:= AngleCos(t).QWordValue/4294967296 * sp; |
202 dy:= AngleCos(t).QWordValue/4294967296 * sp; |
203 if random(2) = 0 then dx*=-1; |
203 if random(2) = 0 then dx := -dx; |
204 if random(2) = 0 then dy*=-1; |
204 if random(2) = 0 then dy := -dy; |
205 FrameTicks:= 650 + random(250); |
205 FrameTicks:= 650 + random(250); |
206 Frame:= 1 |
206 Frame:= 1 |
207 end; |
207 end; |
208 vgtShell: FrameTicks:= 500; |
208 vgtShell: FrameTicks:= 500; |
209 vgtSmallDamageTag: begin |
209 vgtSmallDamageTag: begin |
210 gear^.FrameTicks:= 1100 |
210 gear^.FrameTicks:= 1100 |
211 end; |
211 end; |
212 vgtBubble: begin |
212 vgtBubble: begin |
213 dx:= 0.0000038654705 * random(10000); |
213 dx:= 0.0000038654705 * random(10000); |
214 dy:= 0.001 * (random(85) + 95); |
214 dy:= 0.001 * (random(85) + 95); |
215 if random(2) = 0 then dx*=-1; |
215 if random(2) = 0 then dx := -dx; |
216 FrameTicks:= 250 + random(1751); |
216 FrameTicks:= 250 + random(1751); |
217 Frame:= random(5) |
217 Frame:= random(5) |
218 end; |
218 end; |
219 vgtSteam: begin |
219 vgtSteam: begin |
220 dx:= 0.0000038654705 * random(10000); |
220 dx:= 0.0000038654705 * random(10000); |
221 dy:= 0.001 * (random(85) + 95); |
221 dy:= 0.001 * (random(85) + 95); |
222 if random(2) = 0 then dx*=-1; |
222 if random(2) = 0 then dx := -dx; |
223 Frame:= 7 - random(3); |
223 Frame:= 7 - random(3); |
224 FrameTicks:= cExplFrameTicks * 2; |
224 FrameTicks:= cExplFrameTicks * 2; |
225 end; |
225 end; |
226 vgtAmmo: begin |
226 vgtAmmo: begin |
227 alpha:= 1.0; |
227 alpha:= 1.0; |
229 end; |
229 end; |
230 vgtSmokeWhite, |
230 vgtSmokeWhite, |
231 vgtSmoke: begin |
231 vgtSmoke: begin |
232 dx:= 0.0002 * (random(45) + 10); |
232 dx:= 0.0002 * (random(45) + 10); |
233 dy:= 0.0002 * (random(45) + 10); |
233 dy:= 0.0002 * (random(45) + 10); |
234 if random(2) = 0 then dx*=-1; |
234 if random(2) = 0 then dx := -dx; |
235 Frame:= 7 - random(2); |
235 Frame:= 7 - random(2); |
236 FrameTicks:= cExplFrameTicks * 2; |
236 FrameTicks:= cExplFrameTicks * 2; |
237 end; |
237 end; |
238 vgtHealth: begin |
238 vgtHealth: begin |
239 dx:= 0.001 * random(45); |
239 dx:= 0.001 * random(45); |
240 dy:= 0.001 * (random(20) + 25); |
240 dy:= 0.001 * (random(20) + 25); |
241 if random(2) = 0 then dx*=-1; |
241 if random(2) = 0 then dx := -dx; |
242 Frame:= 0; |
242 Frame:= 0; |
243 FrameTicks:= random(750) + 1250; |
243 FrameTicks:= random(750) + 1250; |
244 end; |
244 end; |
245 vgtDust: begin |
245 vgtDust: begin |
246 dx:= 0.005 * (random(15) + 10); |
246 dx:= 0.005 * (random(15) + 10); |
247 dy:= 0.001 * (random(40) + 20); |
247 dy:= 0.001 * (random(40) + 20); |
248 if random(2) = 0 then dx*=-1; |
248 if random(2) = 0 then dx := -dx; |
249 Frame:= 7 - random(2); |
249 Frame:= 7 - random(2); |
250 FrameTicks:= random(20) + 15; |
250 FrameTicks:= random(20) + 15; |
251 end; |
251 end; |
252 vgtSplash: begin |
252 vgtSplash: begin |
253 dx:= 0; |
253 dx:= 0; |