Alternative LoS (instead of base game's 20)?
Re: Alternative LoS (instead of base game's 20)?
Have had a report of a problem with the 9 tile LOS mod in a medieval game.
My opponent said he could see the whole of my army when my LC were moved, even though none of them were within 9 tiles. Clearly this has happened because he told me correctly about the movements of my army while it was out of visibility range, it seems to have been a momentary fault, I am playing several games with the mod in Ancients and Medieval and have not seen this happen. However even if it happens just once it could have a significant impact on a game.
My opponent said he could see the whole of my army when my LC were moved, even though none of them were within 9 tiles. Clearly this has happened because he told me correctly about the movements of my army while it was out of visibility range, it seems to have been a momentary fault, I am playing several games with the mod in Ancients and Medieval and have not seen this happen. However even if it happens just once it could have a significant impact on a game.
-
Karvon
- Major-General - Elite Tiger I

- Posts: 2586
- Joined: Fri Jan 27, 2012 12:36 pm
- Location: Osaka, Japan
Re: Alternative LoS (instead of base game's 20)?
That is an issue with the original release, fixed in V2 which was posted about 2 weeks ago.tyronec wrote: ↑Tue Apr 28, 2026 7:21 am Have had a report of a problem with the 9 tile LOS mod in a medieval game.
My opponent said he could see the whole of my army when my LC were moved, even though none of them were within 9 tiles. Clearly this has happened because he told me correctly about the movements of my army while it was out of visibility range, it seems to have been a momentary fault, I am playing several games with the mod in Ancients and Medieval and have not seen this happen. However even if it happens just once it could have a significant impact on a game.
The problems are on the initial turn of the game the LOS isn't limited and troops normally hidden in woods and marsh are also visible. I think after the first turn, it works
I have been using V2 in my games for HOML and it's working fine.
Regards
Karvon
Chaos Tourney and Little Wars Organizer, TDC IX Dark Ages Coordinator. WTC US Team Hell on Wheels Captain.
Re: Alternative LoS (instead of base game's 20)?
I have just checked it and we are on V2 on the multiplayer screen.That is an issue with the original release, fixed in V2 which was posted about 2 weeks ago.
The problems are on the initial turn of the game the LOS isn't limited and troops normally hidden in woods and marsh are also visible. I think after the first turn, it works
I have been using V2 in my games for HOML and it's working fine.
Regards
Karvon
-
Karvon
- Major-General - Elite Tiger I

- Posts: 2586
- Joined: Fri Jan 27, 2012 12:36 pm
- Location: Osaka, Japan
Re: Alternative LoS (instead of base game's 20)?
Hmm, that is strange. I've not had any reports of issues with V2 so far in CT nor in any of my HOLM games.
Karvon
Karvon
Chaos Tourney and Little Wars Organizer, TDC IX Dark Ages Coordinator. WTC US Team Hell on Wheels Captain.
-
kronenblatt
- General - Carrier

- Posts: 4831
- Joined: Mon Jun 03, 2019 4:17 pm
- Location: Stockholm, SWEDEN
Re: Alternative LoS (instead of base game's 20)?
Only happened in Medieval games?
How many Medieval games are there in CT? The majority being Timewarp or regular?
kronenblatt's campaign and tournament thread hub:
https://www.slitherine.com/forum/viewtopic.php?t=108643
https://www.slitherine.com/forum/viewtopic.php?t=108643
Re: Alternative LoS (instead of base game's 20)?
Yes, only happened once in my 4 games and no reports from any others playing the HOML.Only happened in Medieval games?
-
Karvon
- Major-General - Elite Tiger I

- Posts: 2586
- Joined: Fri Jan 27, 2012 12:36 pm
- Location: Osaka, Japan
Re: Alternative LoS (instead of base game's 20)?
Five of my games in CT have been time warp.
I have not sat down and counted how many in total are in each category. I'll take a look tomorrow.
So far, I have not received any negative feedback since we updated to V2.
Karvon
I have not sat down and counted how many in total are in each category. I'll take a look tomorrow.
So far, I have not received any negative feedback since we updated to V2.
Karvon
Chaos Tourney and Little Wars Organizer, TDC IX Dark Ages Coordinator. WTC US Team Hell on Wheels Captain.
Re: Alternative LoS (instead of base game's 20)?
Another report of the same problem, at the first move can see the whole of both armies.
Medieval again.
Medieval again.
-
kronenblatt
- General - Carrier

- Posts: 4831
- Joined: Mon Jun 03, 2019 4:17 pm
- Location: Stockholm, SWEDEN
Re: Alternative LoS (instead of base game's 20)?
How many tiles is the LoS lit up on the map?
kronenblatt's campaign and tournament thread hub:
https://www.slitherine.com/forum/viewtopic.php?t=108643
https://www.slitherine.com/forum/viewtopic.php?t=108643
-
kronenblatt
- General - Carrier

- Posts: 4831
- Joined: Mon Jun 03, 2019 4:17 pm
- Location: Stockholm, SWEDEN
Re: Alternative LoS (instead of base game's 20)?
And the problem applied for both sides? If not, which side (A or B)?
kronenblatt's campaign and tournament thread hub:
https://www.slitherine.com/forum/viewtopic.php?t=108643
https://www.slitherine.com/forum/viewtopic.php?t=108643
-
Karvon
- Major-General - Elite Tiger I

- Posts: 2586
- Joined: Fri Jan 27, 2012 12:36 pm
- Location: Osaka, Japan
Re: Alternative LoS (instead of base game's 20)?
I have played about a dozen games of Medieval using Low LOS V2 and not had any problems so far, so clearly this isn't a common issue. Some of the screenshots I've seen are clearly not the whole board, but more than 9 squares. At 9 squares, you should be able to see from your most forward deployed lights to the enemy's most forward deployed lights.
Karvon
Karvon
Chaos Tourney and Little Wars Organizer, TDC IX Dark Ages Coordinator. WTC US Team Hell on Wheels Captain.
Re: Alternative LoS (instead of base game's 20)?
It is not my screenshot so I don't have any more information.
However two players have reported the same problem so I accept what they say that there is an occasional issue.
However two players have reported the same problem so I accept what they say that there is an occasional issue.
-
Karvon
- Major-General - Elite Tiger I

- Posts: 2586
- Joined: Fri Jan 27, 2012 12:36 pm
- Location: Osaka, Japan
Re: Alternative LoS (instead of base game's 20)?
I checked the current script with a couple of AI, ChatGTP and Claude. Both of them pointed out potential issues. Claude corrected a suggested fix by ChatGTP, so I'm going with it. Here's what Claude reported:
The Bug: IsAITurn() Returns Wrong Value on Turn 1
The problem is in the ResetViewDistance function's condition on line 50:
bsfif (IsMultiplayer() == 1 || IsAITurn() == 0) // MODDED: HUMAN PLAYERS
{
SetAttrib(me, "LOS", MODDED_LOS); // 9 tiles
}
else // AI
{
SetAttrib(me, "LOS", MODDED_LOS_AI); // 20 tiles (vanilla)
}
The intent is:
Human player turn → restrict LOS to 9 tiles (MODDED_LOS = 90)
AI turn → give full LOS (MODDED_LOS_AI = 200)
The condition uses IsAITurn() == 0 to detect a human turn. On Turn 1, before any turn has fully "started" from the engine's perspective, IsAITurn() may not yet return a reliable value — it can return 1 (or a truthy non-zero value) even during the human player's setup/deployment phase, because the engine may internally consider the initial state to be "AI's turn hasn't been handed over yet," or the turn flag simply hasn't been set.
The result: on Turn 1, the else branch fires for the human player, assigning MODDED_LOS_AI = 200 (20 tiles, full vanilla range) instead of MODDED_LOS = 90 (9 tiles). The LOS limit appears to not work.
Also worth noting: IsDeploying() is used elsewhere in the script (e.g. in BonusTimerCheck at line 104 and CanUnitEverGoHere at line 274) to guard against the pre-game deployment phase. ResetViewDistance has no such guard. If it is called during the deployment/setup phase when IsAITurn() is unreliable, it silently applies the wrong LOS value, and that value then persists into Turn 1's opening state.
The Fix
Add a check for IsDeploying() and/or use GetCurrentSide() as a more reliable indicator of whose turn it is:
bsfFUNCTION ResetViewDistance(me)
{
if (IsDeploying() != 1) // Only apply LOS limits after deployment
{
if (IsMultiplayer() == 1 || IsAITurn() == 0) // Human players
{
SetAttrib(me, "LOS", MODDED_LOS);
}
else // AI
{
SetAttrib(me, "LOS", MODDED_LOS_AI);
}
}
else
{
// During deployment, reset to base/vanilla LOS so nothing is broken early
SetAttrib(me, "LOS", MODDED_LOS_AI);
}
SetAttrib(me, "CoverLOS", GetBaseAttrib(me, "CoverLOS"));
}
Or alternatively, replace IsAITurn() == 0 with GetCurrentSide() == 0 (the player side), which should be more reliably set from the very start of the game:
bsfif (IsMultiplayer() == 1 || GetCurrentSide() == 0) // Human player's side
Summary
IssueDetailRoot causeIsAITurn() is unreliable at game start / during deployment phaseEffectResetViewDistance branches into the AI path for human players on Turn 1, giving them full (unrestricted) vanilla LOSSecondary issueNo IsDeploying() guard, unlike many other functions in the scriptFixAdd IsDeploying() guard and/or switch to GetCurrentSide() == 0 for the human player check
Claude gave me a copy of the script, including its suggested changes. I'm going to do some testing with it, and if it seems OK, will update the various mods to V3 and send them to RBS.
Karvon
The Bug: IsAITurn() Returns Wrong Value on Turn 1
The problem is in the ResetViewDistance function's condition on line 50:
bsfif (IsMultiplayer() == 1 || IsAITurn() == 0) // MODDED: HUMAN PLAYERS
{
SetAttrib(me, "LOS", MODDED_LOS); // 9 tiles
}
else // AI
{
SetAttrib(me, "LOS", MODDED_LOS_AI); // 20 tiles (vanilla)
}
The intent is:
Human player turn → restrict LOS to 9 tiles (MODDED_LOS = 90)
AI turn → give full LOS (MODDED_LOS_AI = 200)
The condition uses IsAITurn() == 0 to detect a human turn. On Turn 1, before any turn has fully "started" from the engine's perspective, IsAITurn() may not yet return a reliable value — it can return 1 (or a truthy non-zero value) even during the human player's setup/deployment phase, because the engine may internally consider the initial state to be "AI's turn hasn't been handed over yet," or the turn flag simply hasn't been set.
The result: on Turn 1, the else branch fires for the human player, assigning MODDED_LOS_AI = 200 (20 tiles, full vanilla range) instead of MODDED_LOS = 90 (9 tiles). The LOS limit appears to not work.
Also worth noting: IsDeploying() is used elsewhere in the script (e.g. in BonusTimerCheck at line 104 and CanUnitEverGoHere at line 274) to guard against the pre-game deployment phase. ResetViewDistance has no such guard. If it is called during the deployment/setup phase when IsAITurn() is unreliable, it silently applies the wrong LOS value, and that value then persists into Turn 1's opening state.
The Fix
Add a check for IsDeploying() and/or use GetCurrentSide() as a more reliable indicator of whose turn it is:
bsfFUNCTION ResetViewDistance(me)
{
if (IsDeploying() != 1) // Only apply LOS limits after deployment
{
if (IsMultiplayer() == 1 || IsAITurn() == 0) // Human players
{
SetAttrib(me, "LOS", MODDED_LOS);
}
else // AI
{
SetAttrib(me, "LOS", MODDED_LOS_AI);
}
}
else
{
// During deployment, reset to base/vanilla LOS so nothing is broken early
SetAttrib(me, "LOS", MODDED_LOS_AI);
}
SetAttrib(me, "CoverLOS", GetBaseAttrib(me, "CoverLOS"));
}
Or alternatively, replace IsAITurn() == 0 with GetCurrentSide() == 0 (the player side), which should be more reliably set from the very start of the game:
bsfif (IsMultiplayer() == 1 || GetCurrentSide() == 0) // Human player's side
Summary
IssueDetailRoot causeIsAITurn() is unreliable at game start / during deployment phaseEffectResetViewDistance branches into the AI path for human players on Turn 1, giving them full (unrestricted) vanilla LOSSecondary issueNo IsDeploying() guard, unlike many other functions in the scriptFixAdd IsDeploying() guard and/or switch to GetCurrentSide() == 0 for the human player check
Claude gave me a copy of the script, including its suggested changes. I'm going to do some testing with it, and if it seems OK, will update the various mods to V3 and send them to RBS.
Karvon
Chaos Tourney and Little Wars Organizer, TDC IX Dark Ages Coordinator. WTC US Team Hell on Wheels Captain.
-
Karvon
- Major-General - Elite Tiger I

- Posts: 2586
- Joined: Fri Jan 27, 2012 12:36 pm
- Location: Osaka, Japan
Re: Alternative LoS (instead of base game's 20)?
I have updated both Medieval and Ancients to V3, incorporating the suggested fixes. Initial testing shows the mods are working, so nothing's been broken. As the bug is an occasional one, I guess we'll have to wait and see whether the patch actually has taken care of the issue or not. In any case, I've sent copies to Richard, so hopefully these will be available ingame soon.
Karvon
Karvon
Chaos Tourney and Little Wars Organizer, TDC IX Dark Ages Coordinator. WTC US Team Hell on Wheels Captain.
-
rbodleyscott
- Field of Glory 2

- Posts: 28413
- Joined: Sun Dec 04, 2005 6:25 pm
Re: Alternative LoS (instead of base game's 20)?
These are now available for in-game download.Karvon wrote: ↑Sun May 03, 2026 2:21 am I have updated both Medieval and Ancients to V3, incorporating the suggested fixes. Initial testing shows the mods are working, so nothing's been broken. As the bug is an occasional one, I guess we'll have to wait and see whether the patch actually has taken care of the issue or not. In any case, I've sent copies to Richard, so hopefully these will be available ingame soon.
Karvon
Richard Bodley Scott


