Short summary of your issue
AI can declare artifact wars for personal artifact claims it can not receive on victory, causing fruitless artifact wars to cycle launch
Game Version
1.6
What OS are you playing on?
Windows
What platform are you using?
Steam
What DLC do you have installed?
Royal Court,
Do you have mods enabled?
No
Have you tried verifying your game files (Steam only)?
Yes
How much "pain" is this causing you?
8
Please explain the issue you experienced in the most condensed way possible
The artifact war casus belli allows the AI to declare an artifact war for any artifact the character has a personal claim on. However on_victory the AI will only receive artifacts that it has a personal claim on that are tier four rarity or above, not cursed, and able to be used by the character.
The AI will launch fruitless artifact wars over trinkets in can not receive on victory, and at the conclusion of the war, the same conditions of personal claim over trinket remains to relaunch the same fruitless artifact war over the same trinket again and again.
Please explain how to reproduce the issue
Easier to review the code below.
Alternatively start the game in console mode with a first character. Create a common tier one artifact or trinket with a second neighbouring character. In the console give your first character a personal claim on the common tier artifact/trinket held by the second neighbour, then declare an artifact war on the neighbour over the tier one artifact/trinket, noting the game allows you to go to war over this personal claim on the common artifact/trinket.
Now switch player to the second neighbouring common artifact/trinket holder and surrender. On conclusion of the war in a victory for the first character as an AI attacker, the common tier artifact/trinket the war was declared over will remain with the losing second character defender and will not be transferred to the first attacking AI character victor: the artifact war was fruitless.
This then sets the conditions for the same artifact war to cycle relaunch over and over with the same common artifacts/trinkets at the conclusion of the truce, with the same fruitless result repeating itself again and again.
Is there anything else you think could help us identify/replicate the issue?
The problem is a discordance in the conditions for declaring the artifact war over personal claims as compared to the conditions for the awarding of artifacts to the AI on victory in an artifact war over personal claims. The solution is to make the conditions for personal claims match, as they already do for house claims.
From the artifact_war casus belli, there are no limts to what artifact with a personal claim can be used to justify an artifact war:
However on_victory, only artifacts with personal claims that are tier four or above, are not cursed, and are able to be used by the AI character, are transferred to the victorious attacker.
The solution is to bring the on_victory conditions into the allowed_against_character block so that artifact wars can only be declared by the AI for artifacts it can actually be rewarded with on_victory. I do this in my Artifact Claims Nerf mod, the full modded casus belli file is attached:
This matches the rules for artifact wars over house claims and prevents fruitless AI artifact wars cycle launching on fixated targets without possibility of resolution.
I have attached a save game
No
Upload Attachment
File(s) attached
AI can declare artifact wars for personal artifact claims it can not receive on victory, causing fruitless artifact wars to cycle launch
Game Version
1.6
What OS are you playing on?
Windows
What platform are you using?
Steam
What DLC do you have installed?
Royal Court,
Do you have mods enabled?
No
Have you tried verifying your game files (Steam only)?
Yes
How much "pain" is this causing you?
8
Please explain the issue you experienced in the most condensed way possible
The artifact war casus belli allows the AI to declare an artifact war for any artifact the character has a personal claim on. However on_victory the AI will only receive artifacts that it has a personal claim on that are tier four rarity or above, not cursed, and able to be used by the character.
The AI will launch fruitless artifact wars over trinkets in can not receive on victory, and at the conclusion of the war, the same conditions of personal claim over trinket remains to relaunch the same fruitless artifact war over the same trinket again and again.
Please explain how to reproduce the issue
Easier to review the code below.
Alternatively start the game in console mode with a first character. Create a common tier one artifact or trinket with a second neighbouring character. In the console give your first character a personal claim on the common tier artifact/trinket held by the second neighbour, then declare an artifact war on the neighbour over the tier one artifact/trinket, noting the game allows you to go to war over this personal claim on the common artifact/trinket.
Now switch player to the second neighbouring common artifact/trinket holder and surrender. On conclusion of the war in a victory for the first character as an AI attacker, the common tier artifact/trinket the war was declared over will remain with the losing second character defender and will not be transferred to the first attacking AI character victor: the artifact war was fruitless.
This then sets the conditions for the same artifact war to cycle relaunch over and over with the same common artifacts/trinkets at the conclusion of the truce, with the same fruitless result repeating itself again and again.
Is there anything else you think could help us identify/replicate the issue?
The problem is a discordance in the conditions for declaring the artifact war over personal claims as compared to the conditions for the awarding of artifacts to the AI on victory in an artifact war over personal claims. The solution is to make the conditions for personal claims match, as they already do for house claims.
From the artifact_war casus belli, there are no limts to what artifact with a personal claim can be used to justify an artifact war:
Code:
#From \common\casus_belli_types\01_ep1_wars.txt
#Line 7
allowed_against_character = {
scope:attacker = {
OR = {
any_personal_claimed_artifact = {
artifact_owner = {
is_ruler = yes
target_is_same_character_or_above = scope:defender
}
}
#Continues with conditions for house claims
However on_victory, only artifacts with personal claims that are tier four or above, are not cursed, and are able to be used by the AI character, are transferred to the victorious attacker.
Code:
#From \common\casus_belli_types\01_ep1_wars.txt
#Line 82
on_victory = {
scope:attacker = { show_pow_release_message_effect = yes }
# transfer artifacts
scope:attacker = {
every_personal_claimed_artifact = {
limit = {
trigger_if ={
limit = {
scope:attacker = { is_ai = yes }
}
NOT = { has_variable = cursed_artifact }
artifact_rarity >= 4 #More than masterwork
scope:attacker = {
can_benefit_from_artifact = prev
}
}
artifact_owner = {
is_ruler = yes
target_is_same_character_or_above = scope:defender
}
}
set_owner = {
target = scope:attacker
history = {
type = conquest
actor = scope:defender
recipient = scope:attacker
}
}
if = {
limit = {
NOT = {
scope:defender = { has_personal_artifact_claim = prev }
}
}
scope:defender = { add_personal_artifact_claim = prev }
}
}
The solution is to bring the on_victory conditions into the allowed_against_character block so that artifact wars can only be declared by the AI for artifacts it can actually be rewarded with on_victory. I do this in my Artifact Claims Nerf mod, the full modded casus belli file is attached:
Code:
#From \common\casus_belli_types\house_claim_artifact_nerf_casus_belli.txt
#Line 7/9
allowed_against_character = {
scope:attacker = {
OR = {
any_personal_claimed_artifact = {
#Modded so AI can only declare war for illustrious or famed artifacts it can use
trigger_if = {
limit = {
scope:attacker = { is_ai = yes }
}
NOT = { has_variable = cursed_artifact }
artifact_rarity >= 4 #More than masterwork
scope:attacker = {
can_benefit_from_artifact = prev
}
}
artifact_owner = {
is_ruler = yes
target_is_same_character_or_above = scope:defender
}
}
This matches the rules for artifact wars over house claims and prevents fruitless AI artifact wars cycle launching on fixated targets without possibility of resolution.
I have attached a save game
No
Upload Attachment
File(s) attached
Attachments
- 3
- 2
- 1