equal
deleted
inserted
replaced
496 |
496 |
497 if (Gear^.Kind = gtMelonPiece) |
497 if (Gear^.Kind = gtMelonPiece) |
498 or (Gear^.Kind = gtBall) then |
498 or (Gear^.Kind = gtBall) then |
499 CalcRotationDirAngle(Gear) |
499 CalcRotationDirAngle(Gear) |
500 else if (GameTicks and $1F) = 0 then |
500 else if (GameTicks and $1F) = 0 then |
501 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace) |
501 begin |
|
502 if hwRound(Gear^.Y) > cWaterLine then |
|
503 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble) |
|
504 else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace) |
|
505 end |
502 end; |
506 end; |
503 |
507 |
504 //////////////////////////////////////////////////////////////////////////////// |
508 //////////////////////////////////////////////////////////////////////////////// |
505 procedure doStepShell(Gear: PGear); |
509 procedure doStepShell(Gear: PGear); |
506 begin |
510 begin |
513 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound); |
517 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound); |
514 DeleteGear(Gear); |
518 DeleteGear(Gear); |
515 exit |
519 exit |
516 end; |
520 end; |
517 if (GameTicks and $3F) = 0 then |
521 if (GameTicks and $3F) = 0 then |
518 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace); |
522 begin |
|
523 if hwRound(Gear^.Y) > cWaterLine then |
|
524 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble) |
|
525 else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace) |
|
526 end |
519 end; |
527 end; |
520 |
528 |
521 //////////////////////////////////////////////////////////////////////////////// |
529 //////////////////////////////////////////////////////////////////////////////// |
522 procedure doStepSnowball(Gear: PGear); |
530 procedure doStepSnowball(Gear: PGear); |
523 var kick, i: LongInt; |
531 var kick, i: LongInt; |
2436 DeleteGear(Gear); |
2444 DeleteGear(Gear); |
2437 exit |
2445 exit |
2438 end; |
2446 end; |
2439 |
2447 |
2440 if (GameTicks and $3F) = 0 then |
2448 if (GameTicks and $3F) = 0 then |
2441 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace) |
2449 begin |
|
2450 if hwRound(Gear^.Y) > cWaterLine then |
|
2451 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble) |
|
2452 else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace) |
|
2453 end |
2442 end; |
2454 end; |
2443 |
2455 |
2444 //////////////////////////////////////////////////////////////////////////////// |
2456 //////////////////////////////////////////////////////////////////////////////// |
2445 procedure doStepKamikazeWork(Gear: PGear); |
2457 procedure doStepKamikazeWork(Gear: PGear); |
2446 var |
2458 var |
2936 oldDy := Gear^.dY; |
2948 oldDy := Gear^.dY; |
2937 |
2949 |
2938 doStepFallingGear(Gear); |
2950 doStepFallingGear(Gear); |
2939 |
2951 |
2940 if (GameTicks and $3F) = 0 then |
2952 if (GameTicks and $3F) = 0 then |
2941 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace); |
2953 begin |
|
2954 if hwRound(Gear^.Y) > cWaterLine then |
|
2955 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble) |
|
2956 else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace) |
|
2957 end; |
2942 |
2958 |
2943 if ((Gear^.State and gstCollision) <> 0) then |
2959 if ((Gear^.State and gstCollision) <> 0) then |
2944 begin |
2960 begin |
2945 //hit |
2961 //hit |
2946 Gear^.dX := oldDx; |
2962 Gear^.dX := oldDx; |