patch by nemo
authorunc0rr
Sun, 08 Mar 2009 12:55:40 +0000
changeset 1869 490005509a7b
parent 1868 2fe8d045f6a1
child 1870 72af1c414345
patch by nemo
hedgewars/GSHandlers.inc
hedgewars/uGears.pas
hedgewars/uLandObjects.pas
hedgewars/uVisualGears.pas
--- a/hedgewars/GSHandlers.inc	Sat Mar 07 20:23:49 2009 +0000
+++ b/hedgewars/GSHandlers.inc	Sun Mar 08 12:55:40 2009 +0000
@@ -48,8 +48,6 @@
 	else
 		PlaySound(sndOw1, false, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack);
 
-    if (CurrentHedgehog^.Gear = Gear) and (not Gear^.Invulnerable) then
-	    Gear^.State:= Gear^.State or gstLoser;
 	dmg:= modifyDamage(1 + hwRound((hwAbs(Gear^.dY) - _0_4) * 70));
 	inc(Gear^.Damage, dmg);
 	AddDamageTag(hwRound(Gear^.X), hwRound(Gear^.Y) + cHHRadius, dmg, PHedgehog(Gear^.Hedgehog)^.Team^.Clan^.Color);
--- a/hedgewars/uGears.pas	Sat Mar 07 20:23:49 2009 +0000
+++ b/hedgewars/uGears.pas	Sun Mar 08 12:55:40 2009 +0000
@@ -434,7 +434,8 @@
 		if (Gear^.Damage <> 0) and
 		(not Gear^.Invulnerable) then
 			begin
-            if (PHedgehog(Gear^.Hedgehog)^.Team = CurrentTeam) then
+            if (PHedgehog(Gear^.Hedgehog)^.Team = CurrentTeam) and
+               (Gear^.Damage <> int(cHealthDecrease)) then
                 Gear^.State:= Gear^.State or gstLoser;
 			CheckNoDamage:= false;
 			uStats.HedgehogDamaged(Gear);
--- a/hedgewars/uLandObjects.pas	Sat Mar 07 20:23:49 2009 +0000
+++ b/hedgewars/uLandObjects.pas	Sun Mar 08 12:55:40 2009 +0000
@@ -425,7 +425,7 @@
    Readln(f, vobFramesCount, vobFrameTicks, vobVelocity, vobFallSpeed);
 
 for i:= 0 to Pred(vobCount) do
-    AddVisualGear( -cScreenWidth + random(cScreenWidth * 2 + LAND_WIDTH), random(LAND_HEIGHT+200) - 100, vgtFlake);
+    AddVisualGear( -cScreenWidth + random(cScreenWidth * 2 + LAND_WIDTH), random(1024+200) - 100 + LAND_HEIGHT, vgtFlake);
 
 Close(f);
 {$I+}
--- a/hedgewars/uVisualGears.pas	Sat Mar 07 20:23:49 2009 +0000
+++ b/hedgewars/uVisualGears.pas	Sun Mar 08 12:55:40 2009 +0000
@@ -91,7 +91,8 @@
 
 if hwRound(Gear^.X) < -cScreenWidth - 64 then Gear^.X:= int2hwFloat(cScreenWidth + LAND_WIDTH) else
 if hwRound(Gear^.X) > cScreenWidth + LAND_WIDTH then Gear^.X:= int2hwFloat(-cScreenWidth - 64);
-if hwRound(Gear^.Y) > (LAND_HEIGHT + 75) then Gear^.Y:= Gear^.Y - int2hwFloat(LAND_HEIGHT-1024+150) // TODO - configure in theme (jellies for example could use limited range)
+// if hwRound(Gear^.Y) < (LAND_HEIGHT - 1024 - 75) then Gear^.Y:= Gear^.Y + int2hwFloat(25); // For if flag is set for flakes rising upwards?
+if hwRound(Gear^.Y) > (LAND_HEIGHT + 75) then Gear^.Y:= Gear^.Y - int2hwFloat(1024 + 150) // TODO - configure in theme (jellies for example could use limited range)
 end;
 
 procedure doStepCloud(Gear: PVisualGear; Steps: Longword);