• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Added these, with the following exceptions
* set_name: This already seems to be there; can you post exact error message?
* cuckoo_impregnate: So this is not "impregnate_cuckoo" which I have in there for some reason?
* using_cb: This already seems to be in there, can you post exact?
The command actually used in events is impregnate_cuckoo.
 
Ok, so I'm having problems even under Windows. I made a fresh 32-bit XP SP2 install, installed .NET 4.0 from the link in README, rebooted, and it still says: "Unable to find a version of the runtime to run this application."

Edit: Oh, I was trying to run the Validator.exe in the base folder, the one under App/ seems to run fine... What's the other one for?

It's a stub that uses .NET v2.0 and checks that .NET 4.0 is installed, and if not, then errors out. Perhaps you don't have .NET 2.0 installed? (and of course, this means that the stub may have served its purpose if people are starting to not have 2.0 installed, but 4.0 instead)
 
One thing I'd recommend detecting:
The game will simply freeze if at campaign start if there's any patrician vassalized by someone who isn't a merchant republic. The issue is very difficult to track down without knowledge of it, so if the Validator could detect it it'd be fantastic.

Can you give more details? I'm not sure exactly how these files should be working and stuff.
 
But that's hard to detect in the game files.
 
Anyone for whom is_patrician = yes is valid must have someone as their liege for whom is_merchant_republic = yes is valid, or be this second person himself (ruler of a merchant republic can be/usually is a patrician).

Hmm, and which files should these be being verified in? (Wow, I must sound stupid right now)
 
It's not an easy check since Patrician and Merchant Republic are government forms which are not explicitly set.

Patricians are people who hold a barony title with holding_dynasty set to their dynasty (history\titles), so you'd need to check that any such barony title has a liege. If they have a liege, check if this liege is a republic by seeing if this liege owns any baronies, and these must be of type city. That can only be checked in history\provinces for the province corresponding to their capital county title, either the first listed barony or that set as capital for the date being checked must be of type = city.
 
It's not an easy check since Patrician and Merchant Republic are government forms which are not explicitly set.

Patricians are people who hold a barony title with holding_dynasty set to their dynasty (history\titles), so you'd need to check that any such barony title has a liege. If they have a liege, check if this liege is a republic by seeing if this liege owns any baronies, and these must be of type city. That can only be checked in history\provinces for the province corresponding to their capital county title, either the first listed barony or that set as capital for the date being checked must be of type = city.

Thanks, that does sound too complicated :/

Though if the Validator ever starts reading in and processing the title/province history, then it would become feasible, so I'll keep it in mind.
 
Added these, with the following exceptions
* set_name: This already seems to be there; can you post exact error message?
set_name:
Code:
At <mod>\history\characters\crownlands ancestors.txt [77000\8001.1.1\effect\c_kings_landing\location] (Line 487, Column 5):
Invalid node "set_name" in scope ProvCommand (value is: King's Landing)

At <mod>\history\characters\crownlands ancestors.txt [77000\7973.1.15\effect\c_kings_landing\location] (Line 316, Column 5):
Invalid node "set_name" in scope ProvCommand (value is: Blackwater Bay)
the relevant code (inside an "effect" clause in the character history files):
Code:
c_kings_landing = { 
    set_name = "King's Landing" 
    location = { set_name = "King's Landing"  }
}

Now that you mention it, it appears to accept it when it's in a barony scope, or duchy and above. It's only county-level titles which give trouble, I assume because they get interpreted as province scopes.
* cuckoo_impregnate: So this is not "impregnate_cuckoo" which I have in there for some reason?
"cuckoo_impregnate" seemed to work for us, but after checking the .exe, it seems that you might be right and it's "impregnate_cuckoo" after all. I'll check with the guy who made the relevant code to make sure, but it's possible that it's an actual bug in our code. Sorry about that!

* using_cb: This already seems to be in there, can you post exact?
for instance:

Code:
--- Error 1 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: claim_iron_throne_ACOK)
--- Error 2 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[1]] (Line 11245, Column 11):
Invalid node "using_cb" in scope CharTrigger (value is: claim_on_liege)
--- Error 3 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[1]] (Line 11245, Column 11):
Invalid node "attacker" in scope CharTrigger (value is: <a complex type>)
--- Error 4 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[2]] (Line 11249, Column 11):
Invalid node "using_cb" in scope CharTrigger (value is: claim_on_liege_plot)
--- Error 5 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[2]] (Line 11249, Column 11):
Invalid node "attacker" in scope CharTrigger (value is: <a complex type>)
--- Error 6 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[3]] (Line 11253, Column 11):
Invalid node "using_cb" in scope CharTrigger (value is: claim_all)
--- Error 7 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[3]] (Line 11253, Column 11):
Invalid node "attacker" in scope CharTrigger (value is: <a complex type>)
--- Error 8 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: claim_on_vassal_plot)
--- Error 9 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: excommunicated_ruler)
--- Error 10 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: depose_liege)
--- Error 11 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: overthrow_ruler)
--- Error 12 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: overthrow_ruler_no_calls)
--- Error 13 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: succession_on_liege)
--- Error 14 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: other_succession)
--- Error 15 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: other_succession_on_liege)
--- Error 16 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: weaken_vassal_plot)

relevant code:
Code:
any_war = {
	OR = {
		attacker = { character = PREVPREV }
		defender = { character = PREVPREV }
	}	
	attacker = { 
		has_character_flag = rebel_leader 
		reverse_has_opinion_modifier = { who = ROOT modifier = opinion_deciding_rebel_leader }
		PREV = {
			OR = {
				AND = {
					using_cb = claim_on_liege
					attacker = { any_claim = { title = e_iron_throne } }
				}	
				AND = {
					using_cb = claim_on_liege_plot
					attacker = { any_claim = { title = e_iron_throne } }
				}
				AND = {
					using_cb = claim_all
					attacker = { any_claim = { title = e_iron_throne } }
				}	
				using_cb = claim_on_vassal_plot		
				using_cb = excommunicated_ruler		
				using_cb = depose_liege	
				using_cb = overthrow_ruler	
				using_cb = overthrow_ruler_no_calls	
				using_cb = succession_on_liege	
				using_cb = other_succession	
				using_cb = other_succession_on_liege	
				using_cb = weaken_vassal_plot		
				using_cb = claim_iron_throne_ACOK	
			}
		}
	}						
}

Could it be that the code thinks it's in a character scope when in fact it's a war scope (because of the PREV = {})?

Thanks!
 
set_name:
Code:
At <mod>\history\characters\crownlands ancestors.txt [77000\8001.1.1\effect\c_kings_landing\location] (Line 487, Column 5):
Invalid node "set_name" in scope ProvCommand (value is: King's Landing)

At <mod>\history\characters\crownlands ancestors.txt [77000\7973.1.15\effect\c_kings_landing\location] (Line 316, Column 5):
Invalid node "set_name" in scope ProvCommand (value is: Blackwater Bay)
the relevant code (inside an "effect" clause in the character history files):
Code:
c_kings_landing = { 
    set_name = "King's Landing" 
    location = { set_name = "King's Landing"  }
}

Now that you mention it, it appears to accept it when it's in a barony scope, or duchy and above. It's only county-level titles which give trouble, I assume because they get interpreted as province scopes.

"cuckoo_impregnate" seemed to work for us, but after checking the .exe, it seems that you might be right and it's "impregnate_cuckoo" after all. I'll check with the guy who made the relevant code to make sure, but it's possible that it's an actual bug in our code. Sorry about that!


for instance:

Code:
--- Error 1 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: claim_iron_throne_ACOK)
--- Error 2 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[1]] (Line 11245, Column 11):
Invalid node "using_cb" in scope CharTrigger (value is: claim_on_liege)
--- Error 3 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[1]] (Line 11245, Column 11):
Invalid node "attacker" in scope CharTrigger (value is: <a complex type>)
--- Error 4 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[2]] (Line 11249, Column 11):
Invalid node "using_cb" in scope CharTrigger (value is: claim_on_liege_plot)
--- Error 5 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[2]] (Line 11249, Column 11):
Invalid node "attacker" in scope CharTrigger (value is: <a complex type>)
--- Error 6 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[3]] (Line 11253, Column 11):
Invalid node "using_cb" in scope CharTrigger (value is: claim_all)
--- Error 7 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR\AND[3]] (Line 11253, Column 11):
Invalid node "attacker" in scope CharTrigger (value is: <a complex type>)
--- Error 8 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: claim_on_vassal_plot)
--- Error 9 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: excommunicated_ruler)
--- Error 10 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: depose_liege)
--- Error 11 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: overthrow_ruler)
--- Error 12 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: overthrow_ruler_no_calls)
--- Error 13 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: succession_on_liege)
--- Error 14 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: other_succession)
--- Error 15 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: other_succession_on_liege)
--- Error 16 of 16 ---
At <mod>\events\westeros_civil_war_events.txt [character_event[32]\option[3]\trigger\OR\e_iron_throne\holder_scope\any_war\attacker\PREV\OR] (Line 11244, Column 10):
Invalid node "using_cb" in scope CharTrigger (value is: weaken_vassal_plot)

relevant code:
Code:
any_war = {
	OR = {
		attacker = { character = PREVPREV }
		defender = { character = PREVPREV }
	}	
	attacker = { 
		has_character_flag = rebel_leader 
		reverse_has_opinion_modifier = { who = ROOT modifier = opinion_deciding_rebel_leader }
		PREV = {
			OR = {
				AND = {
					using_cb = claim_on_liege
					attacker = { any_claim = { title = e_iron_throne } }
				}	
				AND = {
					using_cb = claim_on_liege_plot
					attacker = { any_claim = { title = e_iron_throne } }
				}
				AND = {
					using_cb = claim_all
					attacker = { any_claim = { title = e_iron_throne } }
				}	
				using_cb = claim_on_vassal_plot		
				using_cb = excommunicated_ruler		
				using_cb = depose_liege	
				using_cb = overthrow_ruler	
				using_cb = overthrow_ruler_no_calls	
				using_cb = succession_on_liege	
				using_cb = other_succession	
				using_cb = other_succession_on_liege	
				using_cb = weaken_vassal_plot		
				using_cb = claim_iron_throne_ACOK	
			}
		}
	}						
}

Could it be that the code thinks it's in a character scope when in fact it's a war scope (because of the PREV = {})?

Thanks!

Okay, so set_name works in province scope as well, not just title scope?

Yes, it seems like the PREV isn't working right. Will look into it.
EDIT: Found the culprit, but it seems intentional. Can you definitely confirm that the PREV stuff works as expected?
 
Last edited:
Okay, so set_name works in province scope as well, not just title scope?

Yes, it seems like the PREV isn't working right. Will look into it.
EDIT: Found the culprit, but it seems intentional. Can you definitely confirm that the PREV stuff works as expected?
Name works in province scope indeed, just confirmed it. About PREV, I'm pretty sure it should work, we use it like that quite often and this code has been there for a long time. Unfortunately we use it in the most twisted and complex piece of the mod, so I'll try to get a hold of the author before saying anything for sure.
 
Name works in province scope indeed, just confirmed it. About PREV, I'm pretty sure it should work, we use it like that quite often and this code has been there for a long time. Unfortunately we use it in the most twisted and complex piece of the mod, so I'll try to get a hold of the author before saying anything for sure.

Both added. I expect a bunch of new bug reports since the PREV fix breaks other things, so hopefully things will be figured out. New update soon.
 
I don't know if this is a false positive or not:

--- Error 1 of 1 ---
At <mod>\events\skeleton_invasion.txt [province_event\trigger\k_skeletons\holder_scope\NOT\any_realm_character] (Line 251, Column 6):
Invalid node "limit" in scope CharTrigger (value is: <a complex type>)

The code in question
Code:
any_realm_character = {
	limit = { at_location = ROOT }
	OR = {
		NOT = { has_character_flag = skeleton }
		NOT = { has_character_flag = evil }
	}
}

I've tried variations. It's not accepting any_realm_character as a limitable scope.
 
I don't know if this is a false positive or not:



The code in question
Code:
any_realm_character = {
    limit = { at_location = ROOT }
    OR = {
        NOT = { has_character_flag = skeleton }
        NOT = { has_character_flag = evil }
    }
}

I've tried variations. It's not accepting any_realm_character as a limitable scope.
Scopes are only limitable in command sections, E.G., effect, option, things like that. For conditions it makes no sense, as every condition is a limit.
 
Scopes are only limitable in command sections, E.G., effect, option, things like that. For conditions it makes no sense, as every condition is a limit.
Oh man. That was stupid. I shouldn't code when I'm tired.
 
I can confirm that max_wives = 0 works to prevent marriages, but it won't stop random-gens from starting as married (this happens a lot on the barony tier and with some courtiers).

*edit*
--- Error 1 of 1 ---
At <mod>\events\skeleton_invasion.txt [character_event[5]\immediate\FROM[1]] (Line 996, Column 3):
Invalid use of 'FROM': This scope has no FROM due to the fact that [<mod>\common\on_actions\magic_onactions.txt] (9, 3): on_siege_over\events\skeleton.010 has no scope.

Vanilla file states that FROM in on_siege_over is the holding scope.
 
Last edited:
I started getting fatal error on startup or starting validation. Re-extracting the validator didn't help.

Code:
Log of Audax.Validator, version 1.2 [1.2.11.0]

Current Time: 1/29/2013 8:05:05 AM
.NET Version: 4.0.30319.1
OS Version: Microsoft Windows NT 5.1.2600 Service Pack 3
Current Culture: en-US
Current UI Culture: en-US
Command Line: "C:\Documents and Settings\Anon Ymous\Desktop\Audax.Validator v1.2 (1)\Audax.Validator\App\Audax.Validator.exe" 
Processor Count: 1
Current Directory: C:\Documents and Settings\Anon Ymous\Desktop\Audax.Validator v1.2 (1)\Audax.Validator\App
Machine Name: ANONYMOUS
System Directory: C:\WINDOWS\system32
User Name: Anon Ymous
User Domain Name: ANONYMOUS
User Interactive: True
Tick Count: 00:03:44.9030000
Shutdown Started: False

ENVIRONMENT VARIABLES
Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
TEMP: C:\DOCUME~1\AnonYm~1\LOCALS~1\Temp
SESSIONNAME: Console
PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
USERDOMAIN: ANONYMOUS
PROCESSOR_ARCHITECTURE: x86
SystemDrive: C:
APPDATA: C:\Documents and Settings\Anon Ymous\Application Data
windir: C:\WINDOWS
TMP: C:\DOCUME~1\AnonYm~1\LOCALS~1\Temp
USERPROFILE: C:\Documents and Settings\Anon Ymous
ProgramFiles: C:\Program Files
FP_NO_HOST_CHECK: NO
HOMEPATH: \Documents and Settings\Anon Ymous
COMPUTERNAME: ANONYMOUS
USERNAME: Anon Ymous
NUMBER_OF_PROCESSORS: 1
PROCESSOR_IDENTIFIER: x86 Family 16 Model 5 Stepping 2, AuthenticAMD
SystemRoot: C:\WINDOWS
ComSpec: C:\WINDOWS\system32\cmd.exe
LOGONSERVER: \\ANONYMOUS
CommonProgramFiles: C:\Program Files\Common Files
PROCESSOR_LEVEL: 16
PROCESSOR_REVISION: 0502
CLIENTNAME: Console
ALLUSERSPROFILE: C:\Documents and Settings\All Users
OS: Windows_NT
HOMEDRIVE: C:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

StatusLog > Beginning initialization...
StatusLog > Initialization complete!
StatusLog > Beginning validation...
StatusLog > Beginning Bookmarks validation...

A FATAL ERROR HAS OCCURRED
Time: 1/29/2013 8:05:29 AM
Validator Version: 1.2 [1.2.11.0]
System.Exception: Exception of type 'System.Exception' was thrown.
   at Audax.Validator.Context.PopPath(CFilePath path)
   at Audax.Validator.FileSystem.LoadDocument(Context c, DocumentInterpreter interpreter, CFilePath path, Encoding encoding)
   at Audax.Validator.FileSystem.LoadDocument(Context c, DocumentInterpreter interpreter, CFilePath path)
   at Audax.Validator.FileSystem.LoadPdoxDocument(Context c, CFilePath path)
   at Audax.Validator.Module..ctor(Context c, Scope scope)
   at Audax.Validator.Module.Create(Context c, Scope scope)
   at Audax.Validator.IncludesSystem.IncludesTask.ProcessNode(Context c, ElementNode node, Scope scope)
   at Audax.Validator.Common.ProcessModuleBody(Context c, ElementNode module, Scope scope)
   at Audax.Validator.Module..ctor(Context c, Scope scope)
   at Audax.Validator.Module.Create(Context c, Scope scope)
   at Audax.Validator.IncludesSystem.IncludesTask.ProcessNode(Context c, ElementNode node, Scope scope)
   at Audax.Validator.Common.ProcessModuleBody(Context c, ElementNode module, Scope scope)
   at Audax.Validator.Module..ctor(Context c, Scope scope)
   at Audax.Validator.Module.Create(Context c, Scope scope)
   at Audax.Validator.GameValidator..ctor(CFilePath path, Boolean gamePathSet)
   at Audax.Validator.GameValidator.Clone(Boolean gamePathSet)
   at Audax.Validator.ValidationManager.CleanUp()
   at Audax.Validator.ValidationManager.Abort()
   at Audax.Validator.MainWindow.CancelClick(Object sender, RoutedEventArgs e)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
 
I can confirm that max_wives = 0 works to prevent marriages, but it won't stop random-gens from starting as married (this happens a lot on the barony tier and with some courtiers).

*edit*


Vanilla file states that FROM in on_siege_over is the holding scope.

Both fixed.

I started getting fatal error on startup or starting validation. Re-extracting the validator didn't help.

Code:
Log of Audax.Validator, version 1.2 [1.2.11.0]

Current Time: 1/29/2013 8:05:05 AM
.NET Version: 4.0.30319.1
OS Version: Microsoft Windows NT 5.1.2600 Service Pack 3
Current Culture: en-US
Current UI Culture: en-US
Command Line: "C:\Documents and Settings\Anon Ymous\Desktop\Audax.Validator v1.2 (1)\Audax.Validator\App\Audax.Validator.exe" 
Processor Count: 1
Current Directory: C:\Documents and Settings\Anon Ymous\Desktop\Audax.Validator v1.2 (1)\Audax.Validator\App
Machine Name: ANONYMOUS
System Directory: C:\WINDOWS\system32
User Name: Anon Ymous
User Domain Name: ANONYMOUS
User Interactive: True
Tick Count: 00:03:44.9030000
Shutdown Started: False

ENVIRONMENT VARIABLES
Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
TEMP: C:\DOCUME~1\AnonYm~1\LOCALS~1\Temp
SESSIONNAME: Console
PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
USERDOMAIN: ANONYMOUS
PROCESSOR_ARCHITECTURE: x86
SystemDrive: C:
APPDATA: C:\Documents and Settings\Anon Ymous\Application Data
windir: C:\WINDOWS
TMP: C:\DOCUME~1\AnonYm~1\LOCALS~1\Temp
USERPROFILE: C:\Documents and Settings\Anon Ymous
ProgramFiles: C:\Program Files
FP_NO_HOST_CHECK: NO
HOMEPATH: \Documents and Settings\Anon Ymous
COMPUTERNAME: ANONYMOUS
USERNAME: Anon Ymous
NUMBER_OF_PROCESSORS: 1
PROCESSOR_IDENTIFIER: x86 Family 16 Model 5 Stepping 2, AuthenticAMD
SystemRoot: C:\WINDOWS
ComSpec: C:\WINDOWS\system32\cmd.exe
LOGONSERVER: \\ANONYMOUS
CommonProgramFiles: C:\Program Files\Common Files
PROCESSOR_LEVEL: 16
PROCESSOR_REVISION: 0502
CLIENTNAME: Console
ALLUSERSPROFILE: C:\Documents and Settings\All Users
OS: Windows_NT
HOMEDRIVE: C:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

StatusLog > Beginning initialization...
StatusLog > Initialization complete!
StatusLog > Beginning validation...
StatusLog > Beginning Bookmarks validation...

A FATAL ERROR HAS OCCURRED
Time: 1/29/2013 8:05:29 AM
Validator Version: 1.2 [1.2.11.0]
System.Exception: Exception of type 'System.Exception' was thrown.
   at Audax.Validator.Context.PopPath(CFilePath path)
   at Audax.Validator.FileSystem.LoadDocument(Context c, DocumentInterpreter interpreter, CFilePath path, Encoding encoding)
   at Audax.Validator.FileSystem.LoadDocument(Context c, DocumentInterpreter interpreter, CFilePath path)
   at Audax.Validator.FileSystem.LoadPdoxDocument(Context c, CFilePath path)
   at Audax.Validator.Module..ctor(Context c, Scope scope)
   at Audax.Validator.Module.Create(Context c, Scope scope)
   at Audax.Validator.IncludesSystem.IncludesTask.ProcessNode(Context c, ElementNode node, Scope scope)
   at Audax.Validator.Common.ProcessModuleBody(Context c, ElementNode module, Scope scope)
   at Audax.Validator.Module..ctor(Context c, Scope scope)
   at Audax.Validator.Module.Create(Context c, Scope scope)
   at Audax.Validator.IncludesSystem.IncludesTask.ProcessNode(Context c, ElementNode node, Scope scope)
   at Audax.Validator.Common.ProcessModuleBody(Context c, ElementNode module, Scope scope)
   at Audax.Validator.Module..ctor(Context c, Scope scope)
   at Audax.Validator.Module.Create(Context c, Scope scope)
   at Audax.Validator.GameValidator..ctor(CFilePath path, Boolean gamePathSet)
   at Audax.Validator.GameValidator.Clone(Boolean gamePathSet)
   at Audax.Validator.ValidationManager.CleanUp()
   at Audax.Validator.ValidationManager.Abort()
   at Audax.Validator.MainWindow.CancelClick(Object sender, RoutedEventArgs e)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Hmm, so it sometimes happens on startup and the rest of the time happens when running validation, but always happens?