hedgewars/uAIMisc.pas
changeset 5244 1b408b965c01
parent 4977 c89cca0a8785
child 5422 0daf3d8e4b70
equal deleted inserted replaced
5243:f2e31a7f953a 5244:1b408b965c01
   132 bonuses.Count:= 0;
   132 bonuses.Count:= 0;
   133 MyClan:= ThinkingHH^.Hedgehog^.Team^.Clan;
   133 MyClan:= ThinkingHH^.Hedgehog^.Team^.Clan;
   134 Gear:= GearsList;
   134 Gear:= GearsList;
   135 while Gear <> nil do
   135 while Gear <> nil do
   136     begin
   136     begin
   137 	if (filter = []) or (Gear^.Kind in filter) then
   137     if (filter = []) or (Gear^.Kind in filter) then
   138       case Gear^.Kind of
   138       case Gear^.Kind of
   139           gtCase: AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 33, 25);
   139           gtCase: AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 33, 25);
   140           gtFlame: if (Gear^.State and gsttmpFlag) <> 0 then
   140           gtFlame: if (Gear^.State and gsttmpFlag) <> 0 then
   141                   AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 20, -50);
   141                   AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 20, -50);
   142 // avoid mines unless they are very likely to be duds, or are duds. also avoid if they are about to blow 
   142 // avoid mines unless they are very likely to be duds, or are duds. also avoid if they are about to blow 
   150           gtHedgehog: begin
   150           gtHedgehog: begin
   151                       if Gear^.Damage >= Gear^.Health then
   151                       if Gear^.Damage >= Gear^.Health then
   152                           AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 60, -25)
   152                           AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 60, -25)
   153                       else
   153                       else
   154                           if isAfterAttack and (ThinkingHH^.Hedgehog <> Gear^.Hedgehog) then
   154                           if isAfterAttack and (ThinkingHH^.Hedgehog <> Gear^.Hedgehog) then
   155                               if (MyClan = Gear^.Hedgehog^.Team^.Clan) then
   155                               if (ClansCount > 2) or (MyClan = Gear^.Hedgehog^.Team^.Clan) then
   156                                   AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 150, -3) // hedgehog-friend
   156                                   AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 150, -3) // hedgehog-friend
   157                               else
   157                               else
   158                                   AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 100, 3)
   158                                   AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 100, 3)
   159                       end;
   159                       end;
   160           end;
   160           end;