May I suggest that instead of having a Consul trait and a notConsul(ExConsul) one, you have a structure with 3 traits?
I used the three trait structure that I outlined in my previous post with a "ConsulAgain" trait that doesn't cancel out "notConsul"(consular trait) and it works; second consulship kicks in right on time (when I remember to get the guy back to Rome). Your suggestion of 2 notConsul traits (one explicitly for consular and the other to toggle consul/consular) sounds like a more elegant setup, but now that it ain't broke, don't think I'll be fixin' it unless I decide to rehaul the whole Cursus Honorum.
Still having the reset problem with "ConsulAgain" just like I did with second instance of "Consul" before.
The problem with TurnsOutOfOffice is (I think) that, exactly because TurnsINOfOffice and TurnsOUTOfOffice are mutual antitraits, the very first point given to OUT actually simply removes IN (so after the first points both traits are at 0). Then the second point actually increases OUT to 1, etc.
This would be my problem if the second point actually reestablished IN. What I don't get about this is that the first consulship does reset, but the second will not, and it doesn't matter that the second is now a new trait. Somehow TurnsInOffice reaches 4 the 1st time, triggering a successful consul reset with
Code:
Trigger Reset_Consul_after_Term_Expires
WhenToTest CharacterTurnEnd
Condition AgentType = family
and Trait TurnsInOffice = 2
and Trait Consul > 0
Affects notConsul 2 Chance 100
Affects TurnsOutOfOffice 4 Chance 100
;------------------------------------------
but did not reset when the second consulship activated before, nor does the first instance of ConsulAgain reset now with
Code:
Trigger Reset_Consul_Again_after_Term_Expires
WhenToTest CharacterTurnEnd
Condition AgentType = family
and Trait TurnsInOffice = 2
and Trait ConsulAgain > 0
Affects ConsulAgain -1 Chance 100
Affects TurnsOutOfOffice 4 Chance 100
;------------------------------------------
No faction announcement at the start of first turn character should no longer be consul, so it's not a reacquisition of the trait; Trait TurnsInOffice is not reaching its threshold of 4(a year in office, TurnsInOffice = 2) this time. It does reach that threshold the first time, so I'm flummoxed. Count_Consul_TurnsOutOfOffice also seems to work(after I adjusted the threshold---smoking gun there?) because FMs successfully become EligibleForConsul again, so I am additionally flummoxed.
Here's the dilemna: on the second go-around in winter, Trigger Stands_For_Consul_Again gives Trait ConsulAgain, which doesn't(and shouldn't) trigger
Code:
Trigger Reset_Consul_Again_after_Term_Expires
WhenToTest CharacterTurnEnd
Condition AgentType = family
and Trait TurnsInOffice = 2
and Trait ConsulAgain > 0
Affects ConsulAgain -1 Chance 100
Affects TurnsOutOfOffice 4 Chance 100
;------------------------------------------
because TurnsInOffice = 0; due to trigger order TurnsInOffice doesn't activate until the end of the next turn.
Code:
Trigger Count_Consul_TurnsOutOfOffice_after_Term_Expires
WhenToTest CharacterTurnEnd
Condition AgentType = family
and Trait notConsul > 0
and Trait ConsulAgain < 1
and Trait Censor < 1
and TurnsOutOfOffice < 2
Affects TurnsOutOfOffice 1 Chance 100
;Mod: EBMod816 - 01/02/05 : fixed issue with former Consul, now Censor, never losing the office of Censor.
;------------------------------------------
doesn't(and shouldn't) trigger because ConsulAgain "= 1" and is not "< 1".
On the next turn(now spring),
Code:
Trigger Eligible_For_Consul_Again
WhenToTest CharacterTurnStart
Condition AgentType = family
and Trait EligibleForConsul < 1
and Attribute Influence > 2
and Trait Censor < 1
and Trait Consul < 1
and Trait ConsulAgain < 1
and Trait notConsul > 0
and Trait TurnsOutOfOffice = 2
Affects EligibleForConsul 1 Chance 100
;^ObsidianMod - consulship rehaul
;------------------------------------------
doesn't(and shouldn't) trigger because ConsulAgain "= 1" and is not "< 1". Now we move on to the end of the spring turn where
Code:
Trigger Count_Consul_Again_Turns_in_Office
WhenToTest CharacterTurnEnd
Condition AgentType = family
and Trait ConsulAgain > 0
Affects TurnsInOffice 1 Chance 100
;------------------------------------------
does trigger(as it should) because ConsulAgain = 1. As an antitrait, this should set TurnsOutOfOffice = 0? and TurnsInOffice doesn't +1 until next(summer) turn? If so then why does it work for the 1st consulship, which has the exact same setup(TurnsOutOfOffice > 0 courtesy of the Praetor reset), and why doesn't the ConsulAgain reset simply come a season late? Moving on
Code:
Trigger Reset_Consul_after_Term_Expires
WhenToTest CharacterTurnEnd
Condition AgentType = family
and Trait TurnsInOffice = 2
and Trait Consul > 0
Affects notConsul 2 Chance 100
Affects TurnsOutOfOffice 4 Chance 100
;------------------------------------------
doesn't(and shouldn't) trigger until 4 turns have passed, then TurnsInOffice will "= 2" and this second consulship should then come to an end... but it doesn't. (Now imagine me doing Hubert Farnsworth's crazy, mad scientist laugh from Futurama.)
Apologize for the long, over-technical posts. Thanks for taking a look.