Post 04 Jul 2013, 11:57 by sado1
			
			
			Hello. I just wanted to share my Fog of War script. Currently, it works for fight maps only (buildings probably don't reveal the map, and I'm unsure whether it would work fast enough). The code is quite... lame, I would say, but I believe there's no better way to implement FOW at the moment.
-   Code:
 procedure RevealFog(Units: array of Integer; P: Integer);
var I, X, Y: Integer;
begin
   for I := 0 to (Length(Units)-1) do
   begin
      X := States.UnitPositionX(Units[I]);
      Y := States.UnitPositionY(Units[I]);
      Actions.FogRevealCircle(P, X, Y, 9);
   end;
end;
procedure OnMissionStart;
var P: Integer;
begin
for P := 0 to 7 do
Actions.FogCoverAll(P);
end;
procedure OnTick;
var P, R: Integer;
var Units, Units2: array of Integer;
begin
 for P := 0 to 7 do
   if ( (States.GameTime + P) mod 10 = 0) and (not(States.PlayerDefeated(P))) then
   begin
      Actions.FogCoverAll(P);
      Units  := States.PlayerGetAllUnits(P);
      RevealFog(Units, P);
      for R := 0 to 7 do
      begin
         if States.PlayerAllianceCheck(P,R) then
         begin
           Units2 := States.PlayerGetAllUnits(R);
           RevealFog(Units2, P);
         end; 
      end; 
   end; 
end; 
procedure OnPlayerDefeated(P: Integer);
var I: Integer;
begin
   Actions.FogRevealAll(P);
end;
Also, I uploaded an example of a map (I used Enter the Heat, with TDL's permission) that works with the mode. The only changes to the map were making it a special map and obviously adding the script - it should work on any fight map though.
 
			
			You do not have the required permissions to view the files attached to this post.