Engine:
authorsmaxx
Fri, 06 Aug 2010 11:45:20 +0200
changeset 3728 9478d13b2f9b
parent 3727 1bee60236515
child 3729 c379a802302c
Engine: * Adjusted Piano Strike to a maximum of 5 bumps with longer flight time. * It's now possible to throw two sticky mines per ammo.
hedgewars/GSHandlers.inc
hedgewars/uConsts.pas
--- a/hedgewars/GSHandlers.inc	Wed Aug 04 17:30:24 2010 +0100
+++ b/hedgewars/GSHandlers.inc	Fri Aug 06 11:45:20 2010 +0200
@@ -1475,7 +1475,7 @@
         if (Gear^.Timer and $FF) = 0 then PlaySound(sndMineTick);
         if Gear^.Timer = 0 then
         begin
-            doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound);
+            doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, EXPLAutoSound);
             DeleteGear(Gear);
             exit
         end;
@@ -3581,6 +3581,7 @@
 procedure doStepPiano(Gear: PGear);
 var 
     r0, r1: LongInt;
+    odY: hwFloat;
 begin
     AllInactive := false;
     if (CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear <> nil) and ((CurrentHedgehog^.Gear^.
@@ -3602,10 +3603,10 @@
         CurrentHedgehog^.Gear^.Message := CurrentHedgehog^.Gear^.Message and not gm_Slot;
     end;
 
-    if ((Gear^.Pos = 3) and ((GameFlags and gfSolidLand) <> 0)) or (Gear^.Pos = 20) then
-        // bounce up to 20 times (3 times on gameflagged solid land) before dropping past landscape
+    if (*((Gear^.Pos = 3) and ((GameFlags and gfSolidLand) <> 0)) or*) (Gear^.Pos = 5) then
+        // bounce up to 10 times (3 times on gameflagged solid land) before dropping past landscape
     begin
-        Gear^.dY := Gear^.dY + cGravity * 3;
+        Gear^.dY := Gear^.dY + cGravity * 2;
         Gear^.Y := Gear^.Y + Gear^.dY;
         CheckGearDrowning(Gear);
         if (Gear^.State and gstDrowning) <> 0 then
@@ -3623,6 +3624,7 @@
         exit
     end;
 
+    odY:= Gear^.dY;
     doStepFallingGear(Gear);
 
     if (Gear^.State and gstDrowning) <> 0 then
@@ -3646,7 +3648,7 @@
             doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 80 + r0, EXPLAutoSound);
             for r0:= 0 to 4 do
                 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtNote);
-            Gear^.dY := -_1;
+            Gear^.dY := odY * -1 + cGravity * 2;
             Gear^.Pos := Gear^.Pos + 1;
         end
     else
--- a/hedgewars/uConsts.pas	Wed Aug 04 17:30:24 2010 +0100
+++ b/hedgewars/uConsts.pas	Fri Aug 06 11:45:20 2010 +0200
@@ -2164,9 +2164,9 @@
             Probability: 100;
             NumberInCase: 1;
             Ammo: (Propz: ammoprop_Power or ammoprop_AltUse;
-                Count: 2;
+                Count: 1;
                 InitialCount: 0;
-                NumPerTurn: 0;
+                NumPerTurn: 1;
                 Timer: 0;
                 Pos: 0;
                 AmmoType: amSMine;
@@ -2196,7 +2196,7 @@
                 AmmoType: amHammer;
                 AttackVoice: sndNone);
             Slot: 3;
-            TimeAfterTurn: 3000;
+            TimeAfterTurn: 1000;
             MinAngle: 0;
             maxAngle: 0;
             isDamaging: true;