[Crusader Kings 2] Kriegsgründe modden

Modvorstellungen und weiteres

Moderator: Moderatoren

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

[Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 17. Oktober 2014 16:33

Ich habe versucht die Kriegsgründe etwas abzuändern. Als erstes wollte ich den Unterwerfungskriegsgrund der Heiden so ändern, dass man damit Herrscher jeglicher Religionen unterwerfen kann. Leider klappte das nicht. Im untenstehenden Teil der Datei 00_cb_types.txt habe ich versucht es zu ändern. Beim ersten Versuch habe ich im rot eingefärbten Bereich die ersten drei Zeilen gelöscht. Daraufhin konnte ich im Spiel überhaupt keine Änderung feststellen (irgendwas muss sich ja verändert haben, aber ich weiss nicht was). Beim zweiten Versuch habe ich im grün eingefärbten Bereich die ersten vier Zeilen gelöscht. Daraufhin konnte ich zwar dem christlichen schottischen König diesen Krieg erklären, aber erstens hatte der Kriegsgrund nur noch eine unvollständige Beschreibung, zweitens war bei den Friedensangeboten gar keine Beschreibung mehr (und die Kapitulationsaufforderung an den Schottischen König enthielt keine Kapitulationsbedingen) und drittens war nach, dank Cheat, gewonnenem Krieg alles beim Alten. Keine Titel oder Ländereien haben den Besitzer gewechselt. Danach versuchte ich noch, mal im einen, mal im anderen, der beiden Bereiche einfach weitere Religionsgruppen einzufügen, im zweiten Bereich löschte ich auch die dritte und vierte Zeile. Daraufhin konnte ich den Kriegsgrund gar nicht mehr nutzen. Weiss jemand was ich anders machen müsste ?
can_use = {
ROOT = {
religion_group = pagan_group
is_reformed_religion = no
NOT = { religion = aztec }
NOT = { same_realm = FROM }
NOT = { is_liege_or_above = FROM }
has_horde_culture = no # Should use tribal invasion instead
}
FROM = {
religion_group = pagan_group
OR = {
is_reformed_religion = no
is_reformed_religion = ROOT
}
NOT = {
any_war = {
AND = {
defender = { character = FROM }
using_cb = pagan_subjugation
}

Benutzeravatar
flogi
Tribunus Angusticlavius
Tribunus Angusticlavius
Beiträge: 3076
Registriert: 20. August 2012 20:19
:
Teilnahme an einem Contest Modder Gewinner Userwahl
Kontaktdaten:

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon flogi » 18. Oktober 2014 13:20

Poste nochmal bitte den ganzen Kriegsgrund, das ganze könnte auch probleme machen mit der Umbennennung von Namen.
Z.B. hast du da unten "using_cb = pagan_subjugation", das darf so aber vmtl nicht mehr heißen, weil das ein anderer Kriegsgrund ist, als der den du gearde erstellt hast.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 18. Oktober 2014 15:02

Erstmal danke für die Antwort. Momentan kann ich gerade nicht den ganzen Kriegsgrund reinkopieren, ich habe gerade keinen Zugang zur Datei. Aber es ist kein neuer Kriegsgrund. Ich habe nur den bestehenden verändert. Ich will in diesem Fall ja keinen neuen, sondern nur den Bestehenden anpassen. Deshalb kannst du im Prinzip auch selbst nachschauen.

Benutzeravatar
flogi
Tribunus Angusticlavius
Tribunus Angusticlavius
Beiträge: 3076
Registriert: 20. August 2012 20:19
:
Teilnahme an einem Contest Modder Gewinner Userwahl
Kontaktdaten:

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon flogi » 18. Oktober 2014 23:25

Also zunächst einmal ist es kein Wunder, das es nicht funktioniert. Du hast ja nur die Startbedingungen für den Krieg verändert und auch nur für den speziellen Charakter, der ihn nutzen soll.
Vermutlich ist es auch viel einfacher den Tengri Invasionskriegsgrund für deine Bedürfnisse zu verändern, als diesen hier, weil man bei den Tengri vermutlich nur ändern muss, dass ihn alle nutzen können und eben nicht nur die Tengri.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 21. Oktober 2014 16:06

Nun ich wollte erreichen, dass man als Heide diesen Kriegsgrund gegen alle anderen Herrscher, unabhängig von Kultur und Religion, nutzen kann. Den Kriegsgrund der Tengri will ich ihnen nicht geben, da das zumindest die Nordischen Heiden übermächtig machen würde. Neben dem Ändern dieses Kriegsgrundes würde ich gerne den Königreich erobern Kriegsgrund der Inder so anpassen, dass er ebenfalls gegen alle Herrscher genutzt werden kann. Und ich möchte ihn zusätzlich den Muslimen geben (und den Juden). Für die Christen würde ich am liebsten einen Neuen machen, der gleich ist wie der Königreich erobern Kriegsgrund der Inder nur, dass sie ihn nur gegen nicht-Christen nutzen können sollen. Aber da ich offensichtlich nicht begreife, wie das geht ist das wohl aussichtslos.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 22. Oktober 2014 16:36

Ich hoffe, es ist in Ordnung, wenn ich einen neuen Beitrag schreibe, statt den Alten zu editieren. Ich habe nun gesehen, dass ich noch weitere Dinge ändern möchte, aber da ich nicht weiss wie... Aber einer der beiden Einträge in der Datei müsste doch regeln, wem man den Krieg erklären kann. Oder ?

Benutzeravatar
flogi
Tribunus Angusticlavius
Tribunus Angusticlavius
Beiträge: 3076
Registriert: 20. August 2012 20:19
:
Teilnahme an einem Contest Modder Gewinner Userwahl
Kontaktdaten:

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon flogi » 24. Oktober 2014 16:57

Zunächst einmal musst du verstehen, wie überhaupt der Kriegsgrund aufgebaut ist. Ich bin mir nicht sicher, dass das schon der Fall ist.

pagan_subjugation = {
name = CB_NAME_PAGAN_SUBJUGATION
war_name = WAR_NAME_PAGAN_SUBJUGATION
sprite = 8
truce_days = 365
hostile_against_others = yes
is_permanent = yes
can_ask_to_join_war = yes
check_de_jure_tier = KING # this scans all de jure kingdoms for the counties which are held by or vassals(or below) of selected character. Only valid if is_permanent = yes

can_use = {
ROOT = {
religion_group = pagan_group
is_reformed_religion = no
NOT = { religion = aztec }
NOT = { same_realm = FROM }
NOT = { is_liege_or_above = FROM }
has_horde_culture = no # Should use tribal invasion instead
}
FROM = {
}
NOT = {
any_war = {
AND = {
defender = { character = FROM }
using_cb = pagan_subjugation
}
}
}
}
}

can_use_title = {
ROOT = {
OR = {
NOT = { has_character_modifier = launched_subjugation }
AND = {
has_ambition = obj_become_king
capital_scope = {
kingdom = {
title = PREVPREVPREV
}
}
}
}
}

FROM = {
any_realm_title = {
de_jure_liege_or_above = PREVPREV
}
}
}

is_valid_title = {
FROM = {
any_realm_title = {
de_jure_liege_or_above = PREVPREV
}
}
}

on_add_title = {
ROOT = {
if = {
limit = {
OR = {
NOT = { has_ambition = obj_become_king }
capital_scope = {
kingdom = {
NOT = { title = PREVPREVPREV }
}
}
}
}
add_character_modifier = {
name = launched_subjugation
days = -1
hidden = yes
}
}
}
}

on_success = {
ROOT = {
piety = 100
}
any_attacker = {
limit = { character = ROOT }
participation_scaled_prestige = 100
}
any_attacker = {
limit = { NOT = { character = ROOT } }
hidden_tooltip = { participation_scaled_prestige = 100 }
}
FROM = {
piety = -100
prestige = -100

if = {
limit = {
is_reformed_religion = ROOT
controls_religion = no
}
religion = ROOT # Reformed pagans are forced to convert back
}
}
}

on_success_title = {
# Usurp the target kingdom itself, if the enemy holds it
if = {
limit = {
holder_scope = {
character = FROM
}
NOT = { ROOT = { tier = EMPEROR } }
}
ROOT = { usurp_title = PREV }
}

if = {
# Take the enemy's duchies within the target kingdom, if we are the same or lower tier
limit = {
ROOT = {
NOT = { higher_tier_than = FROM }
}
}
FROM = {
any_demesne_title = {
limit = {
tier = DUKE
OR = {
title = PREVPREV
de_jure_liege_or_above = PREVPREV
}
}
ROOT = { usurp_title = PREV }
}
}
}

# Have I become the vassal of the loser due to taking a duchy or kingdom?
if = {
limit = {
ROOT = {
is_liege_or_above = FROM
}
}
ROOT = {
set_defacto_liege = ROOT
}
}

# Vassalize the rest
custom_tooltip = {
text = pagan_subjugation_tip
hidden_tooltip = {
ROOT = {
subjugate_or_take_under_title = { # If the target only has territory within the kingdom, he is simply vassalized
title = PREV
enemy = FROM
}
}
}
}
}

on_fail = {
FROM = {
piety = 50
}
any_defender = {
limit = { character = FROM }
participation_scaled_prestige = 50
}
any_defender = {
limit = { NOT = { character = FROM } }
hidden_tooltip = { participation_scaled_prestige = 50 }
}
ROOT = {
piety = -100
}
}

on_reverse_demand = {
ROOT = {
piety = -200
transfer_scaled_wealth = {
to = FROM
value = 2.0
}
}
FROM = {
piety = 100
}
FROM = {
if = {
limit = {
has_dlc = "Legacy of Rome"
OR = {
has_landed_title = e_byzantium
has_landed_title = e_roman_empire
}
religion_group = christian
}
hidden_tooltip = { character_event = { id = LoR.30 days = 12 } }
}
}
any_defender = {
limit = { character = FROM }
participation_scaled_prestige = 100
}
any_defender = {
limit = { NOT = { character = FROM } }
hidden_tooltip = { participation_scaled_prestige = 100 }
}
}

attacker_ai_victory_worth = {
factor = 200
}

attacker_ai_defeat_worth = {
factor = 100
}

defender_ai_victory_worth = {
factor = -1 # always accept
}

defender_ai_defeat_worth = {
factor = 100
}

ai_will_do = {
factor = 1

# Try to guide the Hordes in the right direction
modifier = {
factor = 0.1
ROOT = {
OR = {
dynasty = 613 # Seljuks
dynasty = 800 # Timurids
primary_title = { title = e_il-khanate }
}
}
OR = {
empire = {
NOT = {
OR = {
title = e_persia
title = e_byzantium
title = e_arabia
}
}
}
FROM = {
primary_title = { title = e_golden_horde }
NOT = { year = 1300 }
}
}
}
modifier = {
factor = 0.1
ROOT = {
primary_title = { title = e_golden_horde }
}
OR = {
empire = {
OR = {
title = e_persia
title = e_byzantium
title = e_arabia
}
}
FROM = {
primary_title = { title = e_il-khanate }
NOT = { year = 1300 }
}
}
}
modifier = {
factor = 0.1
ROOT = {
culture = hungarian
primary_title = {
OR = {
title = k_hungary
title = e_carpathia
}
}
}
empire = {
OR = {
title = e_tartaria
title = e_russia
}
}
}
}
}



Der can_use Komplex legt fest welcher Charakter den Kriegsgrund nutzen kann, bzw. welche besonderen Merkmale der haben haben muss.
Der can_use_title Komplex legt fest welche Voraussetzungen in Verbindung mit dem Titel des Charakters nötig sind. (z.B. wenn man die Königreichsambition hat, kann man gegen alle in dem Königreich den Kriegsrund verwenden.
on_success: Was passiert wenn man gewinnt usw. Da spielen die verschiedenen scopes natürlich auch eine Rolle, also ob character oder title.
Hier sind die einzelnen Abschnitte nochmal erklärt: http://www.ckiiwiki.com/Casus_Belli_modding.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 24. Oktober 2014 18:19

Danke für die Antwort. Nein, ich verstehe den Aufbau des Kriegsgrundes definitiv nicht. Den Text, zu dem dein Link führt, habe ich schon einmal angeschaut, allerdings nicht verstanden. Das Problem ist dabei wohl eine Mischung aus mangelnder Moddingerfahrung und nicht so guten Englischkenntnissen. In welchem Teil der Datei ist den festgelegt, gegen wenn man den Kriegsgrund nutzen kann ?

Benutzeravatar
flogi
Tribunus Angusticlavius
Tribunus Angusticlavius
Beiträge: 3076
Registriert: 20. August 2012 20:19
:
Teilnahme an einem Contest Modder Gewinner Userwahl
Kontaktdaten:

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon flogi » 24. Oktober 2014 18:36

Die "Root" Scopes in der Datei weisen immer auf den Angreifer hin und die "From" Scopes auf den Verteidiger.
Dabei sollten dann die Einträge in Verbindung mit "From" in den can_use Bereichen relevant sein.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 25. Oktober 2014 09:47

Danke. Ich werde bei Gelegenheit (wahrscheinlich nächste Woche) noch einmal schauen, ob ich jetzt, mit den neuen Informationen, etwas erreiche.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 7. November 2014 11:27

Ich habe unten den kompletten Kriegsgrundcode hineinkopiert. (Den Originalen) Um etwas mehr Übersicht zu haben, habe ich einzelne Teile verschieden eingefärbt. Um zu ändern, wer den Kriegsgrund nutzen kann, müsste ich also im Codeteil can_use (Also dem ersten, dunkelrot eingefärbten, Teil des Codes), den Teil From bearbeiten. Habe ich das jetzt richtig verstanden ? Wobei ich eigentlich meinte, in einem meiner Versuche hätte ich genau das getan.
Spoiler (Öffnen)
# Pagans can subjugate other pagans
pagan_subjugation = {
name = CB_NAME_PAGAN_SUBJUGATION
war_name = WAR_NAME_PAGAN_SUBJUGATION
sprite = 8
truce_days = 365
hostile_against_others = yes
is_permanent = yes
can_ask_to_join_war = yes
check_de_jure_tier = KING # this scans all de jure kingdoms for the counties which are held by or vassals(or below) of selected character. Only valid if is_permanent = yes

can_use = {
ROOT = {
religion_group = pagan_group
is_reformed_religion = no
NOT = { religion = aztec }
NOT = { same_realm = FROM }
NOT = { is_liege_or_above = FROM }
has_horde_culture = no # Should use tribal invasion instead
}
FROM = {
religion_group = pagan_group
OR = {
is_reformed_religion = no
is_reformed_religion = ROOT
}
NOT = {
any_war = {
AND = {
defender = { character = FROM }
using_cb = pagan_subjugation

}
}
}
}
}

can_use_title = {
ROOT = {
OR = {
NOT = { has_character_modifier = launched_subjugation }
AND = {
has_ambition = obj_become_king
capital_scope = {
kingdom = {
title = PREVPREVPREV
}
}
}
}
}

FROM = {
any_realm_title = {
de_jure_liege_or_above = PREVPREV
}
}
}

is_valid_title = {
FROM = {
any_realm_title = {
de_jure_liege_or_above = PREVPREV
}
}
}

on_add_title = {
ROOT = {
if = {
limit = {
OR = {
NOT = { has_ambition = obj_become_king }
capital_scope = {
kingdom = {
NOT = { title = PREVPREVPREV }
}
}
}
}
add_character_modifier = {
name = launched_subjugation
days = -1
hidden = yes
}
}
}
}

on_success = {
ROOT = {
piety = 100
}
any_attacker = {
limit = { character = ROOT }
participation_scaled_prestige = 100
}
any_attacker = {
limit = { NOT = { character = ROOT } }
hidden_tooltip = { participation_scaled_prestige = 100 }
}
FROM = {
piety = -100
prestige = -100

if = {
limit = {
is_reformed_religion = ROOT
controls_religion = no
}
religion = ROOT # Reformed pagans are forced to convert back
}
}
}

on_success_title = {
# Usurp the target kingdom itself, if the enemy holds it
if = {
limit = {
holder_scope = {
character = FROM
}
NOT = { ROOT = { tier = EMPEROR } }
}
ROOT = { usurp_title = PREV }
}

if = {
# Take the enemy's duchies within the target kingdom, if we are the same or lower tier
limit = {
ROOT = {
NOT = { higher_tier_than = FROM }
}
}
FROM = {
any_demesne_title = {
limit = {
tier = DUKE
OR = {
title = PREVPREV
de_jure_liege_or_above = PREVPREV
}
}
ROOT = { usurp_title = PREV }
}
}
}

# Have I become the vassal of the loser due to taking a duchy or kingdom?
if = {
limit = {
ROOT = {
is_liege_or_above = FROM
}
}
ROOT = {
set_defacto_liege = ROOT
}
}

# Vassalize the rest
custom_tooltip = {
text = pagan_subjugation_tip
hidden_tooltip = {
ROOT = {
subjugate_or_take_under_title = { # If the target only has territory within the kingdom, he is simply vassalized
title = PREV
enemy = FROM
}
}
}
}
}

on_fail = {
FROM = {
piety = 50
}
any_defender = {
limit = { character = FROM }
participation_scaled_prestige = 50
}
any_defender = {
limit = { NOT = { character = FROM } }
hidden_tooltip = { participation_scaled_prestige = 50 }
}
ROOT = {
piety = -100
}
}

on_reverse_demand = {
ROOT = {
piety = -200
transfer_scaled_wealth = {
to = FROM
value = 2.0
}
}
FROM = {
piety = 100
}
FROM = {
if = {
limit = {
has_dlc = "Legacy of Rome"
OR = {
has_landed_title = e_byzantium
has_landed_title = e_roman_empire
}
religion_group = christian
}
hidden_tooltip = { character_event = { id = LoR.30 days = 12 } }
}
}
any_defender = {
limit = { character = FROM }
participation_scaled_prestige = 100
}
any_defender = {
limit = { NOT = { character = FROM } }
hidden_tooltip = { participation_scaled_prestige = 100 }
}
}

attacker_ai_victory_worth = {
factor = 200
}

attacker_ai_defeat_worth = {
factor = 100
}

defender_ai_victory_worth = {
factor = -1 # always accept
}

defender_ai_defeat_worth = {
factor = 100
}

ai_will_do = {
factor = 1

# Try to guide the Hordes in the right direction
modifier = {
factor = 0.1
ROOT = {
OR = {
dynasty = 613 # Seljuks
dynasty = 800 # Timurids
primary_title = { title = e_il-khanate }
}
}
OR = {
empire = {
NOT = {
OR = {
title = e_persia
title = e_byzantium
title = e_arabia
}
}
}
FROM = {
primary_title = { title = e_golden_horde }
NOT = { year = 1300 }
}
}
}
modifier = {
factor = 0.1
ROOT = {
primary_title = { title = e_golden_horde }
}
OR = {
empire = {
OR = {
title = e_persia
title = e_byzantium
title = e_arabia
}
}
FROM = {
primary_title = { title = e_il-khanate }
NOT = { year = 1300 }
}
}
}
modifier = {
factor = 0.1
ROOT = {
culture = hungarian
primary_title = {
OR = {
title = k_hungary
title = e_carpathia
}
}
}
empire = {
OR = {
title = e_tartaria
title = e_russia
}
}
}
}
}

Benutzeravatar
flogi
Tribunus Angusticlavius
Tribunus Angusticlavius
Beiträge: 3076
Registriert: 20. August 2012 20:19
:
Teilnahme an einem Contest Modder Gewinner Userwahl
Kontaktdaten:

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon flogi » 14. November 2014 18:04

Sorry für die späte Antwort. Ich habs erst jetzt gesehen. Ja, meiner Ansicht nach ist deine Hypothese korrekt.
Und noch ein Tipp: Es kann helfen auch andere Kriegsgründe mit dem zu vergleichen, was du erreichen willst. Vielleicht geht dir dann ja ein Licht auf.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 18. November 2014 14:10

Kein Problem. Ich hatte in letzter Zeit auch nicht viel Zeit für CKII, also spielt das keine grosse Rolle. Danke. Ich werde irgendwann in der nächsten Zeit mal versuchen, ob es jetzt irgendwie geht. Gibt es eigentlich noch eine andere Datei (müsste es eigentlich) in der die Texte zu den Kriegsgründen, zum Beispiel die Beschreibung stehen ? Denn falls es klappt müsste die Beschreibung wohl auch geändert werden.

Benutzeravatar
Tatanka Yotanka
Optio
Optio
Beiträge: 630
Registriert: 7. Januar 2014 15:56
:
Teilnahme an einem Contest

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon Tatanka Yotanka » 28. November 2014 17:11

Ich habe es nun noch einmal probiert. Ich habe in diesem Teil des Kriegsgrundes:
can_use = {
ROOT = {
religion_group = pagan_group
is_reformed_religion = no
NOT = { religion = aztec }
NOT = { same_realm = FROM }
NOT = { is_liege_or_above = FROM }
has_horde_culture = no # Should use tribal invasion instead
}
FROM = {
religion_group = pagan_group
OR = {
is_reformed_religion = no
is_reformed_religion = ROOT
}
NOT = {
any_war = {
AND = {
defender = { character = FROM }
using_cb = pagan_subjugation

unterhalb des grün hervorgehobenen Codes diesen mehrmals kopiert und das Pagan darin jeweils durch eine andere Religionsgruppe ersetzt. Also zum Beispiel: religion_group = indian_group
Leider klappt das nicht. Ich kann den Kriegsgrund nun gar nicht mehr nutzen. Welches ist eigentlich der Kriegsgrund der Tengri ? (in der Datei ?) Vielleicht könnte der noch einen Hinweis geben, da er auch nur von einer bestimmten Religion verwendet werden kann, aber gegen jeden.

Benutzeravatar
flogi
Tribunus Angusticlavius
Tribunus Angusticlavius
Beiträge: 3076
Registriert: 20. August 2012 20:19
:
Teilnahme an einem Contest Modder Gewinner Userwahl
Kontaktdaten:

Re: [Crusader Kings 2] Kriegsgründe modden

Beitragvon flogi » 28. November 2014 22:57

Wie jetzt, du hast nur den Teil unterhalb des Grünen kopiert? Dann kann es ja nicht funktionieren, wenn die Hälfte fehlt...