One line summary of your issue
[3.2.1] [AZCE] Fourth Crusade - Crete & Cyprus **always** given to Crusaders
Game Version
[3.2.1] [AZCE]
What expansions do you have installed?
All of the above
Do you have mods enabled?
No
Please explain your issue is in as much detail as possible.
As noted in these posts, there appears to be a bug in the Fourth Crusade coding: Cyprus and Crete are always given to the Crusaders, even they aren't owned by the Byzantine Empire.
The issue appears to be caused by the fact that the two relevant blocks of code in ...\common\cb_types\00_cb_types.txt don't check that Crete/Cyprus are owned by Byzantium before forcibly giving them to Crusaders. (Unlike, for example, the code that creates the Kingdom of Trebizond.)
Here's the relevant code for Cyprus:
...and for Crete:
...and, for comparison, the code for Trebizond, which is coded so that it only fires if Trebizond is owned by Byzantium:
Note that the code for Trebizond will only fire if one of the relevant duchies is owned by a vassal of e_byzantium, whereas there is no similar check for Crete/Cyprus.
Steps to reproduce the issue.
Unfortunately, I can't easily reproduce this issue: there is no easy way to trigger the Fourth Crusade using the console; the Fourth Crusade is not "in progress" at any date in the history files; and I don't have a relevant save.
However, I think it's pretty clear from the code above that this bug can happen - and we have the anecdotal description in this post.
Upload Attachment
[3.2.1] [AZCE] Fourth Crusade - Crete & Cyprus **always** given to Crusaders
Game Version
[3.2.1] [AZCE]
What expansions do you have installed?
All of the above
Do you have mods enabled?
No
Please explain your issue is in as much detail as possible.
As noted in these posts, there appears to be a bug in the Fourth Crusade coding: Cyprus and Crete are always given to the Crusaders, even they aren't owned by the Byzantine Empire.
The issue appears to be caused by the fact that the two relevant blocks of code in ...\common\cb_types\00_cb_types.txt don't check that Crete/Cyprus are owned by Byzantium before forcibly giving them to Crusaders. (Unlike, for example, the code that creates the Kingdom of Trebizond.)
Here's the relevant code for Cyprus:
Code:
# Find a Catholic/Fraticelli lord for Cyprus
if = {
limit = {
c_famagusta = {
owner = {
religion = FROM
culture = FROM
ai = yes
}
}
c_limisol = {
owner = {
religion = FROM
culture = FROM
ai = yes
}
}
k_cyprus = {
has_holder = no
}
}
any_crusade_participant = {
limit = {
ai = yes
NOT = {
most_participating_crusader = {
character = PREV
}
}
}
crusade_beneficiary = {
grant_title_no_opinion = c_famagusta
grant_title_no_opinion = c_limisol
grant_title_no_opinion = d_cyprus
grant_title_no_opinion = k_cyprus
d_cyprus = {
de_jure_liege = k_cyprus
}
set_defacto_liege = THIS
character_event = { id = HFP.41090 days = 1 }
if = {
limit = {
NOR = {
trait = crusader
trait = crusader_king
trait = crusader_queen
}
}
add_trait = crusader
}
}
character_event = { id = HFP.41007 }
}
}
...and for Crete:
Code:
# Crete is taken by a Merchant Lord
if = {
limit = {
c_kaneia = {
owner = {
ai = yes
}
}
c_chandax = {
owner = {
ai = yes
}
}
any_crusade_participant = {
is_patrician = yes
higher_tier_than = COUNT
}
}
random_crusade_participant = {
limit = {
is_patrician = yes
higher_tier_than = COUNT
}
preferred_limit = {
has_landed_title = k_venice
}
preferred_limit = {
has_landed_title = d_venice
}
preferred_limit = {
tier = EMPEROR
}
preferred_limit = {
tier = KING
}
grant_title_no_opinion = d_krete
grant_title_no_opinion = c_kaneia
grant_title_no_opinion = c_chandax
}
}
...and, for comparison, the code for Trebizond, which is coded so that it only fires if Trebizond is owned by Byzantium:
Code:
# Find a King for Trebizond
e_byzantium = {
owner = {
if = {
limit = {
NOT = {
any_playable_ruler = {
has_landed_title = k_trebizond
}
}
}
random_vassal = {
limit = {
OR = {
has_landed_title = d_trebizond
has_landed_title = d_armeniacon
}
}
preferred_limit = {
has_landed_title = d_trebizond
}
grant_title_no_opinion = k_trebizond
}
}
}
}
# Set vassals for Trebizond
k_trebizond = {
owner = {
e_byzantium = {
owner = {
any_vassal = {
limit = {
de_jure_liege = k_trebizond
}
set_defacto_liege = PREVPREVPREV
}
}
}
}
}
Note that the code for Trebizond will only fire if one of the relevant duchies is owned by a vassal of e_byzantium, whereas there is no similar check for Crete/Cyprus.
Steps to reproduce the issue.
Unfortunately, I can't easily reproduce this issue: there is no easy way to trigger the Fourth Crusade using the console; the Fourth Crusade is not "in progress" at any date in the history files; and I don't have a relevant save.
However, I think it's pretty clear from the code above that this bug can happen - and we have the anecdotal description in this post.
Upload Attachment
Upvote
0