# HG changeset patch # User unc0rr # Date 1222121641 0 # Node ID 21916b5de2181b5af6073a98f30643379fe1a968 # Parent a1e99d1e4fd3352f4e199ce9a160b30957e4c535 - Update Italian translation - Almost finished seduction weapon diff -r a1e99d1e4fd3 -r 21916b5de218 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sat Sep 20 04:51:06 2008 +0000 +++ b/hedgewars/GSHandlers.inc Mon Sep 22 22:14:01 2008 +0000 @@ -1696,9 +1696,34 @@ end; //////////////////////////////////////////////////////////////////////////////// -procedure doStepSeduction(Gear: PGear); +procedure doStepSeductionWork(Gear: PGear); +var x, y: LongInt; begin AllInactive:= false; -DeleteGear(Gear); + +Gear^.X:= Gear^.X + Gear^.dX; +Gear^.Y:= Gear^.Y + Gear^.dY; +x:= hwRound(Gear^.X); +y:= hwRound(Gear^.Y); +if ((y and $FFFFFC00) = 0) and ((x and $FFFFF800) = 0) then + if (Land[y, x] <> 0) then + begin + Gear^.dX.isNegative:= not Gear^.dX.isNegative; + Gear^.dY.isNegative:= not Gear^.dY.isNegative; + Gear^.dY:= Gear^.dY - _0_2; + AmmoShove(Gear, 0, 40); + DeleteGear(Gear) + end + else +else + DeleteGear(Gear) end; + +procedure doStepSeduction(Gear: PGear); +var x, y: LongInt; +begin +AllInactive:= false; +DeleteCI(PHedgehog(Gear^.Hedgehog)^.Gear); +Gear^.doStep:= @doStepSeductionWork +end; diff -r a1e99d1e4fd3 -r 21916b5de218 hedgewars/HHHandlers.inc --- a/hedgewars/HHHandlers.inc Sat Sep 20 04:51:06 2008 +0000 +++ b/hedgewars/HHHandlers.inc Mon Sep 22 22:14:01 2008 +0000 @@ -166,7 +166,7 @@ CurAmmoGear:= AddGear(hwRound(X) + hwSign(dX) * 3, hwRound(Y), gtCake, 0, xx, _0, 0); PlaySound(sndLaugh, false) end; - amSeduction: FollowGear:= AddGear(hwRound(X), hwRound(Y), gtSeduction, 0, xx, yy, 0); + amSeduction: FollowGear:= AddGear(hwRound(X + xx * cHHRadius * 2), hwRound(Y + yy * cHHRadius * 2), gtSeduction, 0, xx * _0_5, yy * _0_5, 0); amWatermelon: FollowGear:= AddGear(hwRound(X), hwRound(Y), gtWatermelon, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor, Ammo^[CurSlot, CurAmmo].Timer); amHellishBomb: FollowGear:= AddGear(hwRound(X), hwRound(Y), gtHellishBomb, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor, 5000); end; diff -r a1e99d1e4fd3 -r 21916b5de218 hedgewars/uConsts.pas --- a/hedgewars/uConsts.pas Sat Sep 20 04:51:06 2008 +0000 +++ b/hedgewars/uConsts.pas Mon Sep 22 22:14:01 2008 +0000 @@ -48,7 +48,7 @@ sprKamikaze, sprWhip, sprKowtow, sprSad, sprWave, sprHurrah, sprLemonade, sprExplPart, sprExplPart2, sprCakeWalk, sprCakeDown, sprAMAmmosBW, sprWatermelon, - sprEvilTrace, sprHellishBomb); + sprEvilTrace, sprHellishBomb, sprSeduction); TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag, gtGrave, gtUFO, gtShotgunShot, gtPickHammer, gtRope, @@ -435,7 +435,9 @@ (FileName: 'EvilTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; Width: 32; Height: 32; saveSurf: false),// sprEvilTrace (FileName:'HellishBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; saveSurf: false) // sprHellishBomb + Width: 16; Height: 16; saveSurf: false),// sprHellishBomb + (FileName: 'Seduction'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; saveSurf: false) // sprSeduction ); Wavez: array [TWave] of record @@ -995,9 +997,7 @@ NameTex: nil; Probability: 100; NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs or - ammoprop_NoCrosshair or - ammoprop_DontHold; + Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; Count: 1; NumPerTurn: 0; Timer: 0; diff -r a1e99d1e4fd3 -r 21916b5de218 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sat Sep 20 04:51:06 2008 +0000 +++ b/hedgewars/uGears.pas Mon Sep 22 22:14:01 2008 +0000 @@ -1096,6 +1096,7 @@ DrawRotatedf(sprCakeWalk, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, (GameTicks div 40) mod 6, hwSign(Gear^.dX), Gear^.DirAngle + hwSign(Gear^.dX) * 90) else DrawRotatedf(sprCakeDown, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 5 - Gear^.Pos, hwSign(Gear^.dX), 0); + gtSeduction: DrawSprite(sprSeduction, hwRound(Gear^.X) - 8 + WorldDx, hwRound(Gear^.Y) - 8 + WorldDy, 0); gtWatermelon: DrawRotatedf(sprWatermelon, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 0, Gear^.DirAngle); gtMelonPiece: DrawRotatedf(sprWatermelon, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 1, 0, Gear^.DirAngle); gtHellishBomb: DrawRotated(sprHellishBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle); @@ -1237,7 +1238,7 @@ gtCase: begin inc(t^.ar[i]^.Damage, Damage); - if t^.ar[i]^.Kind = gtHedgehog then + if (t^.ar[i]^.Kind = gtHedgehog) and (Damage > 0) then AddDamageTag(hwRound(t^.ar[i]^.X), hwRound(t^.ar[i]^.Y), Damage, t^.ar[i]); DeleteCI(t^.ar[i]); diff -r a1e99d1e4fd3 -r 21916b5de218 share/hedgewars/Data/Graphics/Seduction.png Binary file share/hedgewars/Data/Graphics/Seduction.png has changed diff -r a1e99d1e4fd3 -r 21916b5de218 share/hedgewars/Data/Locale/it.txt --- a/share/hedgewars/Data/Locale/it.txt Sat Sep 20 04:51:06 2008 +0000 +++ b/share/hedgewars/Data/Locale/it.txt Mon Sep 22 22:14:01 2008 +0000 @@ -27,7 +27,7 @@ 00:24=Torta 00:25=Seduzione 00:26=Bomba anguria -00:27=Granata a mano infernale +00:27=Granata infernale 01:00=Combattiamo! 01:01=Round in parità @@ -40,3 +40,4 @@ +