hedgewars/uWorld.pas
branchexperimental3D
changeset 4343 19cbea33e4d2
parent 4004 b1c2c2f6fc5e
parent 4248 e127b3d26248
child 4345 2c93d6a10869
equal deleted inserted replaced
4006:45b63c2a694f 4343:19cbea33e4d2
   138 g:= AddGoal(g, gfKarma, gidKarma); // karma?
   138 g:= AddGoal(g, gfKarma, gidKarma); // karma?
   139 g:= AddGoal(g, gfPlaceHog, gidPlaceHog); // placement?
   139 g:= AddGoal(g, gfPlaceHog, gidPlaceHog); // placement?
   140 g:= AddGoal(g, gfArtillery, gidArtillery); // artillery?
   140 g:= AddGoal(g, gfArtillery, gidArtillery); // artillery?
   141 g:= AddGoal(g, gfSolidLand, gidSolidLand); // solid land?
   141 g:= AddGoal(g, gfSolidLand, gidSolidLand); // solid land?
   142 g:= AddGoal(g, gfSharedAmmo, gidSharedAmmo); // shared ammo?
   142 g:= AddGoal(g, gfSharedAmmo, gidSharedAmmo); // shared ammo?
       
   143 g:= AddGoal(g, gfResetHealth, gidResetHealth);
       
   144 g:= AddGoal(g, gfAISurvival, gidAISurvival);
       
   145 g:= AddGoal(g, gfInfAttack, gidInfAttack);
       
   146 g:= AddGoal(g, gfResetWeps, gidResetWeps);
       
   147 g:= AddGoal(g, gfPerHogAmmo, gidPerHogAmmo);
   143 
   148 
   144 // modified damage modificator?
   149 // modified damage modificator?
   145 if cDamagePercent <> 100 then
   150 if cDamagePercent <> 100 then
   146     g:= AddGoal(g, gfAny, gidDamageModifier, cDamagePercent);
   151     g:= AddGoal(g, gfAny, gidDamageModifier, cDamagePercent);
   147 
   152 
   149 ScreenFade:= sfFromBlack;
   154 ScreenFade:= sfFromBlack;
   150 ScreenFadeValue:= sfMax;
   155 ScreenFadeValue:= sfMax;
   151 ScreenFadeSpeed:= 1;
   156 ScreenFadeSpeed:= 1;
   152 
   157 
   153 // modified mine timers?
   158 // modified mine timers?
   154 if cMinesTime <> 3000 then
   159 if cMinesTime <> 3 then
   155     begin
   160     begin
   156     if cMinesTime = 0 then
   161     if cMinesTime = 0 then
   157         g:= AddGoal(g, gfMines, gidNoMineTimer)
   162         g:= AddGoal(g, gfAny, gidNoMineTimer)
   158     else if cMinesTime < 0 then
   163     else if cMinesTime < 0 then
   159         g:= AddGoal(g, gfMines, gidRandomMineTimer)
   164         g:= AddGoal(g, gfAny, gidRandomMineTimer)
   160     else
   165     else
   161         g:= AddGoal(g, gfMines, gidMineTimer, cMinesTime div 1000);
   166         g:= AddGoal(g, gfAny, gidMineTimer, cMinesTime);
   162     end;
   167     end;
   163 
   168 
   164 // if the string has been set, show it for (default timeframe) seconds
   169 // if the string has been set, show it for (default timeframe) seconds
   165 if g <> '' then ShowMission(trgoal[gidCaption], trgoal[gidSubCaption], g, 1, 0);
   170 if g <> '' then ShowMission(trgoal[gidCaption], trgoal[gidSubCaption], g, 1, 0);
   166 
   171 
   763                 begin
   768                 begin
   764                 tdx:= hwSign(Gear^.dX) * Sin(Gear^.Angle * Pi / cMaxAngle);
   769                 tdx:= hwSign(Gear^.dX) * Sin(Gear^.Angle * Pi / cMaxAngle);
   765                 tdy:= - Cos(Gear^.Angle * Pi / cMaxAngle);
   770                 tdy:= - Cos(Gear^.Angle * Pi / cMaxAngle);
   766                 for i:= (Gear^.Power * 24) div cPowerDivisor downto 0 do
   771                 for i:= (Gear^.Power * 24) div cPowerDivisor downto 0 do
   767                     DrawSprite(sprPower,
   772                     DrawSprite(sprPower,
   768                             int64(hwRound(Gear^.X)) + GetLaunchX(CurAmmoType, hwSign(Gear^.dX), Gear^.Angle) + round(WorldDx + tdx * (24 + i * 2)) - 16,
   773                             hwRound(Gear^.X) + GetLaunchX(CurAmmoType, hwSign(Gear^.dX), Gear^.Angle) + LongInt(round(WorldDx + tdx * (24 + i * 2))) - 16,
   769                             int64(hwRound(Gear^.Y)) + GetLaunchY(CurAmmoType, Gear^.Angle) + round(WorldDy + tdy * (24 + i * 2)) - 16,
   774                             hwRound(Gear^.Y) + GetLaunchY(CurAmmoType, Gear^.Angle) + LongInt(round(WorldDy + tdy * (24 + i * 2))) - 16,
   770                             i)
   775                             i)
   771                 end
   776                 end
   772         end;
   777         end;
   773 
   778 
   774     DrawVisualGears(1);
   779     DrawVisualGears(1);