equal
deleted
inserted
replaced
399 if i mod 2 = 0 then Fire^.State := Fire^.State or gsttmpFlag; |
399 if i mod 2 = 0 then Fire^.State := Fire^.State or gsttmpFlag; |
400 Fire := AddGear(x, y, gtFlame, 0, dX, -dY, 0); |
400 Fire := AddGear(x, y, gtFlame, 0, dX, -dY, 0); |
401 if i mod 2 <> 0 then Fire^.State := Fire^.State or gsttmpFlag; |
401 if i mod 2 <> 0 then Fire^.State := Fire^.State or gsttmpFlag; |
402 end |
402 end |
403 end; |
403 end; |
404 gtGasBomb: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 20, EXPLAutoSound or EXPLPoisoned); |
404 gtGasBomb: |
|
405 begin |
|
406 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 20, EXPLAutoSound); |
|
407 for i:= 0 to 2 do |
|
408 AddGear(hwRound(Gear^.X) - 30 + GetRandom(60), hwRound(Gear^.Y) - 20 + GetRandom(40), gtPoisonCloud, 0, _0, _0, 0); |
|
409 end; |
405 end; |
410 end; |
406 DeleteGear(Gear); |
411 DeleteGear(Gear); |
407 exit |
412 exit |
408 end; |
413 end; |
409 |
414 |
3862 HHGear^.Message := HHGear^.Message and not (gm_Up or gm_Down or gm_Left or gm_Right); |
3867 HHGear^.Message := HHGear^.Message and not (gm_Up or gm_Down or gm_Left or gm_Right); |
3863 HHGear^.State := HHGear^.State or gstNotKickable; |
3868 HHGear^.State := HHGear^.State or gstNotKickable; |
3864 Gear^.doStep := @doStepFlamethrowerWork |
3869 Gear^.doStep := @doStepFlamethrowerWork |
3865 end; |
3870 end; |
3866 |
3871 |
3867 |
3872 procedure doStepPoisonCloud(Gear: PGear); |
|
3873 begin |
|
3874 if Gear^.Timer = 0 then |
|
3875 begin |
|
3876 DeleteGear(Gear); |
|
3877 exit |
|
3878 end; |
|
3879 dec(Gear^.Timer); |
|
3880 Gear^.X:= Gear^.X + Gear^.dX; |
|
3881 Gear^.Y:= Gear^.Y + Gear^.dY; |
|
3882 Gear^.dX := Gear^.dX + cWindSpeed / 2; |
|
3883 Gear^.dY := Gear^.dY + cGravity / 100; |
|
3884 if (GameTicks mod 250) = 0 then |
|
3885 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, EXPLDontDraw or EXPLNoGfx or EXPLNoDamage or EXPLDoNotTouchAny or EXPLPoisoned); |
|
3886 AllInactive:= false; |
|
3887 end; |