Weil Choceur gerade etwas rumzickt.
Mal wieder ein Tutorial.
Was mich an Vanilla immer etwas genervt hat, war daß man zwar mit einer anderen Seite ein Heiratsbündnis schließen konne, wenn man seinen Erben, Anführer oder eine Prinzessin mit einer Prinzessin bzw. einem Anführer oder Erben einer anderen Seite verheiratet hat, aber keinerlei "Gewinn" davon hatte.
Ich habe mir gedacht, es sollte doch möglich sein, wenn man schon einen unverheirateten Anführer hat und diesen mit einer Prinzessin verheiratet, dann auch die Reiche der beiden Seiten vereinigen können sollte.
Gesagt getan. Nach langer Zeit und einigen Fehlversuchen ist es gelungen ein entsprechendes Script zu schreiben.
Danke an gigantus und Amon für ihre Hilfe!
Benötigte Dateien:
campaign_script.txt im Ordner data/world/maps/campaign/imperial_campaign
historic_events im Ordner data/text
Für ein eigenes Bild (nicht notwendig da das Spiel einfach auf das Bild des historischen Ereignisses zurückgreift wenn keines hinterlegt ist) einfach eines im den Ordner eventpics in data/ui/southern_european hinterlegen.
Aber fangen wir an.
Hier am Bespiel von Aragon und Spain.
Zuerst muß einmal klar sein wer überhaupt heiratet.
declare_counter chef
monitor_event CharacterMarriesPrincess FactionType spain
and Trait Factionleader = 1
and FactionIsLocal
set_counter chef 1
end_monitor
monitor_event CharacterMarriesPrincess FactionType aragon
and Trait Factionleader = 1
and FactionIsLocal
set_counter chef 2
end_monitor
Alles anzeigen
Diese monitore werden aktiviert, wenn ein Charakter der eigenen Fraktion (and FactionIsLocal) spain (monitor 1) oder aragon (monitor 2) eine Prinzessin heiratet (CharacterMarriesPrincess FactionType spain) und dieser Charakter der Fraktionsführer ist (and Trait Factionleader = 1).
Auch muß die Fraktion des Fraktionsführers die eigene sein. Währe blöd wenn man verliert, nur weil die eigene Fraktion quasi weggeheiratet wird.
Durch das "set_counter chef" 1 oder 2 bestimmen wir dann für später wer es war. Bei 1 war es der Anführer von spain, bei 2 der von aragon.
Doch weiter.
Wir wissen zwar jetzt welcher Charakter welcher Fraktion geheiratet hat, aber noch nicht welches die andere Fraktion, also die der Prinzessin war.
Dies machen wir jetzt.
declare_counter vereinigung
monitor_event InterFactionMarriage FactionType spain
set_counter vereinigung 1
end_monitor
monitor_event InterFactionMarriage FactionType aragon
and I_CompareCounter vereinigung = 1
if I_CompareCounter chef = 1
set_counter vereinigung 2
historic_event spaniennimmtaragon true
terminate_monitor
end_if
if I_CompareCounter chef = 2
set_counter vereinigung 2
historic_event aragonnimmtspanien true
end_if
end_monitor
Alles anzeigen
Mit "InterFactionMarriage" können wir Fraktionen bestimmen, zwischen welchen es zu einer Hochzeit gekommen ist.
Im 1. Monitor fragen wir, ob eine der Fraktionen spain war. Ist dies der Fall setzten wir einen counter (set_counter vereinigung 1).
Im 2. Monitior fragen wir, ob für die Fraktion aragon eine Hochzeit mit einer anderen Fraktion zustande kam. Ist dies der Fall und durch den counter "vereinigung 1" ebenfalls für spain, geht es weiter.
Jetzt kommt der counter "chef" vom Anfang wieder zum Zug. Durch diesen wissen wir ja, welches der eigene Anführer war und für wen dann das folgende (historic_event spaniennimmtaragon true) erscheit muß. Dadurch kann man den Text des Entscheidungsfensters auch individuell an die jeweilige Fraktion anpassen.
Man muß sich nun entscheiden, ob man die Fraktion der Prinzessin übernehmen möchte.
monitor_event EventCounter EventCounterType spaniennimmtaragon_accepted
and I_EventCounter spaniennimmtaragon_accepted > 0
give_everything_to_faction aragon spain false
historic_event koenigreichspanien
terminate_monitor
end_monitor
Nimmt man an, erhält man alle Städte, Armeen, Flotten und Agenten der Fraktion der Prinzessinenseite (give_everything_to_faction aragon spain false).
Das kann man dann noch mit einem event untermauern (historic_event koenigreichspanien).
Kleine Einschränkung. Die Einheiten müssen dem Einheitenpool der eigenen Seite entsprechen, da sie sonst aufgelöst werden.
Auch muß aufgepasst werden, wenn man Fraktionen übernimmt, welche zur Horde werden können. Zwar übernimmt man alles, gleichzeitig wird aber eine Horde der übernommen Fraktion erschaffen, da die Letzte Siedlung ja verloren gegangen ist.
Natürlich könnte man auch ablehnen. Warum auch immer.
monitor_event EventCounter EventCounterType spaniennimmtaragon_declined
and I_EventCounter spaniennimmtaragon_declined > 0
historic_event keinkoenigreichspanien factions { spain, aragon, }
terminate_monitor
end_monitor
Das ganze muß man jetzt natürlich auch noch für die andere Seite machen. Eben hat spain aragon übernommen. Nun sollte aragon auch noch spain übernehmen können.
monitor_event EventCounter EventCounterType aragonnimmtspanien_accepted
and I_EventCounter aragonnimmtspanien_accepted > 0
give_everything_to_faction spain aragon false
historic_event koenigreichspanien
terminate_monitor
end_monitor
;abgelehnt
monitor_event EventCounter EventCounterType aragonnimmtspanien_declined
and I_EventCounter aragonnimmtspanien_declined > 0
historic_event keinkoenigreichspanien factions { spain, aragon, }
terminate_monitor
end_monitor
Alles anzeigen
Das ganze kann man auch noch mit der Möglichkeit aufpeppen indem man mit Hilfe des Kalmar-Scripts aus Teutonic das Fraktionsbanner wechselt ect.
Für den Fall, daß es zwar eine Heirat zwischen einer der beiden Fraktionen aber nicht mit der jeweils anderen gab, müssen die counter "chef" und "vereinigung" wieder auf 0 gesetzt werden.
Sonst käme es womöglich zu einer Vereinigung, obwohl dies nicht beabsichtigt war.
monitor_event FactionTurnEnd FactionIsLocal
if I_CompareCounter vereinigung = 1
set_counter vereinigung 0
end_if
if I_CompareCounter chef > 0
set_counter chef 0
end_if
if I_CompareCounter vereinigung = 2
terminate_monitor
end_if
end_monitor
Alles anzeigen
Zuletzt müssen dann noch die Texte für die events geschrieben werden:
{SPANIENNIMMTARAGON_BODY} Ihr habt eine Prinzessin des Königreiches Aragon geheiratet. Dies währe nun die Gelegenheit Euren Anstruch auf die legitime Herrschaft über ganz Spanien in einem einzigen Königreich durch eine Vereinigung der königlichen Familien der Reiche Kastilien und Aragon zu bestätigen und so ein geeintes Spanien zu erschaffen, wie es seit den Tagen des Römischen Reiches nicht mehr der Fall war. Die Verhandlungen wurden bereits geführt. Um den Übergang zu vereinfachen, werden sämtliche Städte, Burgen, Armeen, Flotten und Argenten Aragons Eurer Herrschaft unterstellt. Natürlich nur, wenn ihr dies auch wollt.
{SPANIENNIMMTARAGON_TITLE} Vereinigung Spaniens?
{ARAGONNIMMTSPANIEN_BODY} Ihr habt eine Prinzessin des Königreiches Kastilien geheiratet. Dies währe nun die Gelegenheit Euren Anstruch auf die legitime Herrschaft über ganz Spanien in einem einzigen Königreich durch eine Vereinigung der königlichen Familien der Reiche Aragon und Kastilien zu bestätigen und so ein geeintes Spanien zu erschaffen, wie es seit den Tagen des Römischen Reiches nicht mehr der Fall war. Die Verhandlungen wurden bereits geführt. Um den Übergang zu vereinfachen, werden sämtliche Städte, Burgen, Armeen, Flotten und Argenten Kastiliens Eurer Herrschaft unterstellt. Natürlich nur, wenn ihr dies auch wollt.
{ARAGONNIMMTSPANIEN_TITLE} Vereinigung Spaniens?
{KOENIGREICHSPANIEN_BODY} Aller Welt sein verkündet, daß am heutigen Tage, sich die Königreiche von Araron und Kastilien zu einem einzigen Königreich zusammengeschlossen haben. Dieses Königreich Spanien wie es einige nennen, erhebt Anspruch auf die Herrschaft über die ganze spanische Halbinsel, auf welche sie nach Geschichte und Abstammung anrecht hätten.
{KOENIGREICHSPANIEN_TITLE} Das Königreich Spanien
{KEINKOENIGREICHSPANIEN_BODY} Die Vereinigung der Königreiche wurde abgelehnt.
{KEINKOENIGREICHSPANIEN_TITLE} Keine Vereinigung der Reiche
Das Script sollte für kleinere Mods interessant sein, welche nicht so viele Fraktionen haben. Da währe mit Hilfe des Kalmar-Scripts bestimmt einiges möglich.
Selbstverständlich ist es durchaus möglich daß es noch einen anderen Weg gibt dasselbe Ergebnis zu erreichen.
Dies ist nur eine Möglichkeit.
Viel Spaß damit.