hedgewars/uGears.pas
changeset 3440 dee31c5149e0
parent 3437 858105ae769c
child 3442 69898c6ede14
--- a/hedgewars/uGears.pas	Thu May 06 20:59:15 2010 +0000
+++ b/hedgewars/uGears.pas	Thu May 06 22:02:56 2010 +0000
@@ -134,14 +134,11 @@
             @doStepBomb,
             @doStepHedgehog,
             @doStepGrenade,
-            @doStepHealthTag,
             @doStepGrave,
             @doStepBee,
             @doStepShotgunShot,
             @doStepPickHammer,
             @doStepRope,
-            @doStepSmokeTrace,
-            @doStepExplosion,
             @doStepMine,
             @doStepCase,
             @doStepDEagleShot,
@@ -170,7 +167,6 @@
             @doStepWatermelon,
             @doStepCluster,
             @doStepBomb,
-            @doStepSmokeTrace,
             @doStepWaterUp,
             @doStepDrill,
             @doStepBallgun,
@@ -181,7 +177,6 @@
             @doStepMolotov,
             @doStepCase,
             @doStepBirdy,
-            @doStepBigExplosion,
             @doStepEggWork,
             @doStepPortalShot,
             @doStepPiano,
@@ -291,10 +286,6 @@
 gtAmmo_Grenade: begin // bazooka
                 gear^.Radius:= 4;
                 end;
-   gtHealthTag: begin
-                gear^.Timer:= 1500;
-                gear^.Z:= 2002;
-                end;
        gtGrave: begin
                 gear^.ImpactSound:= sndGraveImpact;
                 gear^.nImpactSounds:= 1;
@@ -316,13 +307,6 @@
                 gear^.Radius:= 10;
                 gear^.Timer:= 4000
                 end;
-  gtSmokeTrace,
-   gtEvilTrace: begin
-                gear^.X:= gear^.X - _16;
-                gear^.Y:= gear^.Y - _16;
-                gear^.State:= 8;
-                gear^.Z:= cSmokeZ
-                end;
         gtRope: begin
                 gear^.Radius:= 3;
                 gear^.Friction:= _450;
@@ -464,9 +448,6 @@
                 gear^.Health := 2000;
                 gear^.FlightTime := 2;
                 end;
-gtBigExplosion: begin
-                gear^.Angle:= random(360);
-                end;
          gtEgg: begin 
                 gear^.Radius:= 4;
                 gear^.Elasticity:= _0_6;
@@ -533,7 +514,7 @@
             t:= max(Gear^.Damage, Gear^.Health);
             Gear^.Damage:= t;
             if (cWaterOpacity < $FF) and (hwRound(Gear^.Y) < cWaterLine + 256) then
-                AddGear(hwRound(Gear^.X), min(hwRound(Gear^.Y),cWaterLine+cVisibleWater+32), gtHealthTag, t, _0, _0, 0)^.Hedgehog:= Gear^.Hedgehog;
+                AddVisualGear(hwRound(Gear^.X), min(hwRound(Gear^.Y),cWaterLine+cVisibleWater+32), vgtHealthTag, t)^.Hedgehog:= Gear^.Hedgehog;
             uStats.HedgehogDamaged(Gear)
             end;
 
@@ -594,8 +575,8 @@
                 not SuddenDeathDmg then
                 Gear^.State:= Gear^.State or gstLoser;
 
-            AddGear(hwRound(Gear^.X), hwRound(Gear^.Y) - cHHRadius - 12,
-                    gtHealthTag, dmg, _0, _0, 0)^.Hedgehog:= Gear^.Hedgehog;
+            AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y) - cHHRadius - 12,
+                    vgtHealthTag, dmg)^.Hedgehog:= Gear^.Hedgehog;
 
             RenderHealth(PHedgehog(Gear^.Hedgehog)^);
             RecountTeamHealth(PHedgehog(Gear^.Hedgehog)^.Team);
@@ -915,9 +896,9 @@
            not CurrentHedgehog^.Gear^.Invulnerable then
            begin // this cannot just use Damage or it interrupts shotgun and gets you called stupid
            inc(CurrentHedgehog^.Gear^.Karma, tmpDmg);
-           AddGear(hwRound(CurrentHedgehog^.Gear^.X),
+           AddVisualGear(hwRound(CurrentHedgehog^.Gear^.X),
                    hwRound(CurrentHedgehog^.Gear^.Y),
-                   gtHealthTag, tmpDmg, _0, _0, 0)^.Hedgehog:= CurrentHedgehog;
+                   vgtHealthTag, tmpDmg)^.Hedgehog:= CurrentHedgehog;
            end;
         end;
     end;
@@ -1169,8 +1150,8 @@
 
 if ((Mask and EXPLNoGfx) = 0) then
     begin
-    if Radius > 50 then AddGear(X, Y, gtBigExplosion, 0, _0, _0, 0)
-    else if Radius > 10 then AddGear(X, Y, gtExplosion, 0, _0, _0, 0);
+    if Radius > 50 then AddVisualGear(X, Y, vgtBigExplosion)
+    else if Radius > 10 then AddVIsualGear(X, Y, vgtExplosion);
     end;
 if (Mask and EXPLAutoSound) <> 0 then PlaySound(sndExplosion);