# HG changeset patch # User nemo # Date 1289272306 18000 # Node ID 99c6d87df1310f22b46a0984e2e36e44dead41c3 # Parent c802849e94aaea172d74e4460b9b63ae14636f0b No point in leaving hogs at 0, since shotgun triggers death anyway. Also, add some audio cues to extra damage / time diff -r c802849e94aa -r 99c6d87df131 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Tue Nov 09 01:56:22 2010 +0100 +++ b/hedgewars/GSHandlers.inc Mon Nov 08 22:11:46 2010 -0500 @@ -1441,35 +1441,35 @@ if ((Gear^.State and gsttmpFlag) <> 0) and (Gear^.Health <> 0) then if ((Gear^.State and gstAttacking) = 0) then - begin + begin if ((GameTicks and $1F) = 0) then if CheckGearNear(Gear, gtHedgehog, 46, 32) <> nil then Gear^.State := Gear^.State or gstAttacking - end - else // gstAttacking <> 0 - begin - AllInactive := false; - if (Gear^.Timer and $FF) = 0 then PlaySound(sndMineTick); - if Gear^.Timer = 0 then - begin - if ((Gear^.State and gstWait) <> 0) or - (cMineDudPercent = 0) or - (getRandom(100) > cMineDudPercent) then + end + else // gstAttacking <> 0 begin - doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); - DeleteGear(Gear) + AllInactive := false; + if (Gear^.Timer and $FF) = 0 then PlaySound(sndMineTick); + if Gear^.Timer = 0 then + begin + if ((Gear^.State and gstWait) <> 0) or + (cMineDudPercent = 0) or + (getRandom(100) > cMineDudPercent) then + begin + doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); + DeleteGear(Gear) + end + else + begin + AddVisualGear(hwRound(Gear^.X) - 4 + Random(8), hwRound(Gear^.Y) - 4 - Random(4), + vgtSmoke); + PlaySound(sndVaporize); + Gear^.Health := 0; + end; + exit + end; + dec(Gear^.Timer); end - else - begin - AddVisualGear(hwRound(Gear^.X) - 4 + Random(8), hwRound(Gear^.Y) - 4 - Random(4), - vgtSmoke); - PlaySound(sndVaporize); - Gear^.Health := 0; - end; - exit - end; - dec(Gear^.Timer); - end else // gsttmpFlag = 0 if (TurnTimeLeft = 0) or ((GameFlags and gfInfAttack) <> 0) then Gear^.State := Gear^.State or gsttmpFlag; end; diff -r c802849e94aa -r 99c6d87df131 hedgewars/HHHandlers.inc --- a/hedgewars/HHHandlers.inc Tue Nov 09 01:56:22 2010 +0100 +++ b/hedgewars/HHHandlers.inc Mon Nov 08 22:11:46 2010 -0500 @@ -255,9 +255,15 @@ PlaySound(sndLowGravity); cGravity:= cMaxWindSpeed end; - amExtraDamage: cDamageModifier:= _1_5; + amExtraDamage:begin + PlaySound(sndHellishImpact4); + cDamageModifier:= _1_5 + end; amInvulnerable: Invulnerable:= true; - amExtraTime: TurnTimeLeft:= TurnTimeLeft + 30000; + amExtraTime: begin + PlaySound(sndSwitchHog); + TurnTimeLeft:= TurnTimeLeft + 30000 + end; amLaserSight: cLaserSighting:= true; amVampiric: begin PlaySound(sndOw1, Team^.voicepack); @@ -871,7 +877,7 @@ if (Gear^.Health = 0) then begin - if PrvInactive then + if PrvInactive or ((GameFlags and gfInfAttack) <> 0) then begin Gear^.Timer:= 0; FollowGear:= Gear;