3 interface
4 const
8 var
42 implementation
44 const
52 var
55 //Skin
62 begin
67 begin
72 begin
77 begin
82 begin
87 begin
92 begin
97 begin
102 begin
107 begin
112 begin
117 begin
122 begin
125 else
130 var
133 begin
143 begin
149 begin
156 var
159 begin
161 begin
171 begin
173 begin
178 else
180 begin
182 begin
195 begin
197 begin
200 else
202 begin
208 var
210 begin
219 else
222 else
228 else
233 begin
238 begin
243 begin
251 //Player collision.
252 {function coll:boolean;
253 begin
254 coll:=CollObj(getX, getY, getW, getH);
255 end;
257 //Player collision by block id.
258 function coll_bl(id:integer):boolean;
259 begin
260 coll_bl:=CollObjBlock(getX, getY, getW, getH, id);
261 end;
263 //Player collision by XY.
264 function coll_xy(xx,yy:integer):boolean;
265 begin
266 coll_xy:=CollObjXY(getX, getY, getW, getH, xx, yy);
267 end;
269 //Controll jump velocity
270 procedure jmp_ctrl;
271 begin
272 if (coll_bl(49)) or (coll_bl(103)) or (coll_bl(108)) then
273 vely:=5;
274 if (coll_bl(50)) or (coll_bl(51)) then
275 vely:=4;
276 if (coll_bl(0)) and (coll_bl(50) or coll_bl(51)) then
277 vely:=7;
278 end;
280 //Controll fall velocity
281 procedure phy_ctrl;
282 begin
283 if (coll_bl(49)) or (coll_bl(103)) then
284 vely:=-5;
285 if (coll_bl(50)) or (coll_bl(51)) then
286 if vely<-4 then
287 vely:=-4;
288 end;}
291 var
294 begin
295 loadPhy;
297 storePhy;
299 {if fly=false then
300 begin
301 old_vely:=vely;
302 calcGravY(getX, getY, getW, getH, CONST_PHY_ACC, vely, CONST_PHY_MAXVEL, jmp);
303 setY(PhyGetY);
304 vely:=PhyGetVelY;
305 jmp:=PhyGetJump;
306 cl:=PhyGetColl;
308 if cl then
309 if old_vely<-10 then
310 hp:=(hp-(abs(old_vely)-10));
311 end;}
315 begin
318 else
319 begin
320 loadPhy;
322 storePhy;
327 begin
333 begin
343 begin
353 var
355 begin
360 begin
367 initialization