hedgewars/uGearsHedgehog.pas
changeset 12174 869cf5f34700
parent 12053 475a1289f940
child 12189 50856782cdc4
equal deleted inserted replaced
12173:666e18b1ca32 12174:869cf5f34700
  1202 
  1202 
  1203 procedure doStepHedgehogDriven(HHGear: PGear);
  1203 procedure doStepHedgehogDriven(HHGear: PGear);
  1204 var t: PGear;
  1204 var t: PGear;
  1205     wasJumping: boolean;
  1205     wasJumping: boolean;
  1206     Hedgehog: PHedgehog;
  1206     Hedgehog: PHedgehog;
       
  1207     s: ansistring;
  1207 begin
  1208 begin
  1208 Hedgehog:= HHGear^.Hedgehog;
  1209 Hedgehog:= HHGear^.Hedgehog;
  1209 if not isInMultiShoot then
  1210 if not isInMultiShoot then
  1210     AllInactive:= false
  1211     AllInactive:= false
  1211 else if Hedgehog^.CurAmmoType in [amShotgun, amDEagle, amSniperRifle] then
  1212 else if Hedgehog^.CurAmmoType in [amShotgun, amDEagle, amSniperRifle] then
  1222        LoadHedgehogHat(Hedgehog^, Hedgehog^.Hat);
  1223        LoadHedgehogHat(Hedgehog^, Hedgehog^.Hat);
  1223     if TagTurnTimeLeft = 0 then
  1224     if TagTurnTimeLeft = 0 then
  1224         TagTurnTimeLeft:= TurnTimeLeft;
  1225         TagTurnTimeLeft:= TurnTimeLeft;
  1225     TurnTimeLeft:= 0;
  1226     TurnTimeLeft:= 0;
  1226     if ((HHGear^.State and gstAttacked) = 0) and (HHGear^.Damage = 0) then
  1227     if ((HHGear^.State and gstAttacked) = 0) and (HHGear^.Damage = 0) then
       
  1228         begin
  1227         AddVoice(sndBoring, Hedgehog^.Team^.voicepack);
  1229         AddVoice(sndBoring, Hedgehog^.Team^.voicepack);
       
  1230         if (GameFlags and gfInfAttack = 0) then
       
  1231             begin
       
  1232             s:= Hedgehog^.Name;
       
  1233             AddCaption(FormatA(GetEventString(eidTimeout), s), cWhiteColor, capgrpMessage);
       
  1234             end;
       
  1235         end;
  1228     isCursorVisible:= false;
  1236     isCursorVisible:= false;
  1229     HHGear^.State:= HHGear^.State and (not (gstHHDriven or gstAnimation or gstAttacking));
  1237     HHGear^.State:= HHGear^.State and (not (gstHHDriven or gstAnimation or gstAttacking));
  1230     AttackBar:= 0;
  1238     AttackBar:= 0;
  1231     if HHGear^.Damage > 0 then
  1239     if HHGear^.Damage > 0 then
  1232         HHGear^.State:= HHGear^.State and (not (gstHHJumping or gstHHHJump));
  1240         HHGear^.State:= HHGear^.State and (not (gstHHJumping or gstHHHJump));
  1385                 begin
  1393                 begin
  1386                 Gear^.State:= (Gear^.State or gstHHDeath) and (not gstAnimation);
  1394                 Gear^.State:= (Gear^.State or gstHHDeath) and (not gstAnimation);
  1387                 Gear^.doStep:= @doStepHedgehogDead;
  1395                 Gear^.doStep:= @doStepHedgehogDead;
  1388                 // Death message
  1396                 // Death message
  1389                 s:= ansistring(Gear^.Hedgehog^.Name);
  1397                 s:= ansistring(Gear^.Hedgehog^.Name);
  1390                 AddCaption(FormatA(GetEventString(eidDied), s), cWhiteColor, capgrpMessage);
  1398                 if Gear^.Hedgehog^.King then
       
  1399                     AddCaption(FormatA(GetEventString(eidKingDied), s), cWhiteColor, capgrpMessage)
       
  1400                 else
       
  1401                     AddCaption(FormatA(GetEventString(eidDied), s), cWhiteColor, capgrpMessage);
  1391                 end;
  1402                 end;
  1392             end
  1403             end
  1393         else
  1404         else
  1394             begin
  1405             begin
  1395             Gear^.State:= Gear^.State and (not gstAnimation);
  1406             Gear^.State:= Gear^.State and (not gstAnimation);