--- a/hedgewars/uGearsList.pas Sun Jun 10 18:56:51 2018 +0200
+++ b/hedgewars/uGearsList.pas Sun Jun 10 19:12:26 2018 +0200
@@ -106,6 +106,8 @@
(* gtGenericFaller *) , amNothing
(* gtKnife *) , amKnife
(* gtDuck *) , amDuck
+(* gtMinigun *) , amMinigun
+(* gtMinigunBullet *) , amMinigun
);
@@ -222,7 +224,7 @@
gtHedgehog: Gear^.Boom := 30;
gtMine: Gear^.Boom := 50;
gtCase: Gear^.Boom := 25;
- gtAirMine: Gear^.Boom := 25;
+ gtAirMine: Gear^.Boom := 30;
gtExplosives: Gear^.Boom := 75;
gtGrenade: Gear^.Boom := 50;
gtShell: Gear^.Boom := 50;
@@ -265,6 +267,7 @@
gtPoisonCloud: Gear^.Boom := 20;
gtKnife: Gear^.Boom := 40000; // arbitrary scaling factor since impact-based
gtDuck: Gear^.Boom := 40;
+ gtMinigunBullet: Gear^.Boom := 2;
end;
case Kind of
@@ -312,6 +315,8 @@
if (GameFlags and gfAISurvival) <> 0 then
if gear^.Hedgehog^.BotLevel > 0 then
gear^.Hedgehog^.Effects[heResurrectable] := 1;
+ if (GameFlags and gfArtillery) <> 0 then
+ gear^.Hedgehog^.Effects[heArtillery] := 1;
// this would presumably be set in the frontend
// if we weren't going to do that yet, would need to reinit GetRandom
// oh, and, randomising slightly R and B might be nice too.
@@ -429,6 +434,7 @@
end
end;
gtAirMine: begin
+ gear^.AdvBounce:= 1;
gear^.ImpactSound:= sndAirMineImpact;
gear^.nImpactSounds:= 1;
gear^.Health:= 30;
@@ -440,7 +446,6 @@
gear^.Angle:= 175; // Radius at which air bombs will start "seeking". $FFFFFFFF = unlimited. check is skipped.
gear^.Power:= cMaxWindSpeed.QWordValue div 2; // hwFloat converted. 1/2 g default. defines the "seek" speed when a gear is in range.
gear^.Pos:= cMaxWindSpeed.QWordValue * 3 div 2; // air friction. slows it down when not hitting stuff
- gear^.Karma:= 30; // damage
if gear^.Timer = 0 then
begin
if cMinesTime < 0 then
@@ -741,6 +746,17 @@
gear^.Density:= _0_5;
gear^.AdvBounce:= 1;
end;
+ gtMinigun: begin
+ // Timer. First, it's the timer before shooting. Then it will become the shooting timer and is set to Karma
+ if gear^.Timer = 0 then
+ gear^.Timer:= 601;
+ // minigun shooting time. 1 bullet is fired every 50ms
+ gear^.Karma:= 3451;
+ end;
+ gtMinigunBullet: begin
+ gear^.Radius:= 1;
+ gear^.Health:= 2;
+ end;
gtGenericFaller:begin
gear^.AdvBounce:= 1;
gear^.Radius:= 1;