# HG changeset patch # User unc0rr # Date 1208796674 0 # Node ID fef7f2d908bfba4e4f5ce1579c5f0afeb8bfd4f4 # Parent 0b4a23795530c1e48b7093cc7012e995e35db835 Animate baseball bat attack diff -r 0b4a23795530 -r fef7f2d908bf hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sun Apr 20 10:39:08 2008 +0000 +++ b/hedgewars/GSHandlers.inc Mon Apr 21 16:51:14 2008 +0000 @@ -935,6 +935,17 @@ end; //////////////////////////////////////////////////////////////////////////////// +procedure doStepIdle(Gear: PGear); +begin +AllInactive:= false; +dec(Gear^.Timer);addfilelog(inttostr(Gear^.Timer)); +if Gear^.Timer = 0 then + begin + DeleteGear(Gear); + AfterAttack + end +end; + procedure doStepShover(Gear: PGear); var HHGear: PGear; begin @@ -942,7 +953,8 @@ HHGear^.State:= HHGear^.State or gstNoDamage; AmmoShove(Gear, 30, 115); HHGear^.State:= HHGear^.State and not gstNoDamage; -DeleteGear(Gear) +Gear^.Timer:= 250; +Gear^.doStep:= @doStepIdle end; //////////////////////////////////////////////////////////////////////////////// diff -r 0b4a23795530 -r fef7f2d908bf hedgewars/HHHandlers.inc --- a/hedgewars/HHHandlers.inc Sun Apr 20 10:39:08 2008 +0000 +++ b/hedgewars/HHHandlers.inc Mon Apr 21 16:51:14 2008 +0000 @@ -115,7 +115,7 @@ end; amDEagle: AddGear(hwRound(X + xx * cHHRadius), hwRound(Y + yy * cHHRadius), gtDEagleShot, 0, xx * _0_5, yy * _0_5, 0); amDynamite: AddGear(hwRound(X) + hwSign(dX) * 7, hwRound(Y), gtDynamite, 0, SignAs(_0_03, dX), _0, 5000); - amBaseballBat: AddGear(hwRound(X) + hwSign(dX) * 10, hwRound(Y), gtShover, 0, xx * _0_5, yy * _0_5, 0)^.Radius:= 20; + amBaseballBat: CurAmmoGear:= AddGear(hwRound(X) + hwSign(dX) * 10, hwRound(Y), gtShover, 0, xx * _0_5, yy * _0_5, 0); amFirePunch: CurAmmoGear:= AddGear(hwRound(X) + hwSign(dX) * 10, hwRound(Y), gtFirePunch, 0, _0, _0, 0); amParachute: CurAmmoGear:= AddGear(hwRound(X), hwRound(Y), gtParachute, 0, _0, _0, 0); amAirAttack: AddGear(Ammo^[CurSlot, CurAmmo].Pos, 0, gtAirAttack, 0, _0, _0, 0); diff -r 0b4a23795530 -r fef7f2d908bf hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sun Apr 20 10:39:08 2008 +0000 +++ b/hedgewars/uGears.pas Mon Apr 21 16:51:14 2008 +0000 @@ -503,6 +503,7 @@ 3, 0); end; + gtShover: DrawRotated(sprHandBaseball, hx, hy, hwSign(Gear^.dX), aangle + 180); gtPickHammer, gtTeleport: defaultPos:= false; end