Hearts of Iron IV

Hearts of Iron IV

Byzantium
This topic has been locked
SirRobin  [developer] Jun 18, 2016 @ 12:05am
Events
Discussing and showing events.
< >
Showing 1-15 of 18 comments
SirRobin  [developer] Jun 18, 2016 @ 12:14am 
Well there goes another night rewriting events instead of working on the focus tree. Think I'm finally getting the the claims events where i want them thanks to help here and at paradox. Here is one claiming states in Bulgaria.

### RECLAIMING THRACIA country_event = { id = byzantium.1 title = byzantium.1.t desc = byzantium.1.d picture = GFX_report_event_second_vienna_award_pact is_triggered_only = yes option = { name = byzantium.1.a # Claim ai_chance = { factor = 85 } 211 = { OWNER = { country_event = { id = byzantium.2 days = 1 }} } 212 = { OWNER = { country_event = { id = byzantium.2 days = 1 }} } 48 = { OWNER = { country_event = { id = byzantium.2 days = 1 }} } } option = { name = byzantium.1.b # Decline ai_chance = { factor = 15 } } } country_event = { # Target id = byzantium.2 title = byzantium.2.t desc = byzantium.2.d picture = GFX_report_event_polish_tanks_01 is_triggered_only = yes option = { # Target Refuses name = byzantium.2.a ai_chance = { factor = 85 } effect_tooltip = { BYZ = { 211 = { add_claim_by = BYZ }} BYZ = { 212 = { add_claim_by = BYZ }} BYZ = { 48 = { add_claim_by = BYZ }} BYZ = { create_wargoal = { type = take_claimed_state target = ROOT } } } hidden_effect = { BYZ = { country_event = { id = byzantium.3 days = 1 } } } } option = { # Target Accepts name = byzantium.2.b ai_chance = { factor = 15 } BYZ = { transfer_state = 211 } BYZ = { transfer_state = 212 } BYZ = { transfer_state = 48 } if = { limit = { NOT = { any_state = { is_controlled_by = ROOT } } } BYZ = { annex_country = { target = ROOT transfer_troops = yes } } } } } country_event = { id = byzantium.3 title = byzantium.3.t desc = byzantium.3.d picture = GFX_report_event_polish_tanks_01 is_triggered_only = yes option = { name = byzantium.3.a create_wargoal = { type = take_claimed_state target = FROM generator = { 211 212 48 } } } }
Last edited by SirRobin; Jun 18, 2016 @ 12:19am
jagdtiger Jun 18, 2016 @ 12:44am 
By the way... effect_tooltip is just what it says on the tin: just tooltip text. It doesn't actually DO any of the stuff you put in there. It's strictly a tooltip, in case a player is playing Turkey there.

I say that because I notice that the adding claims is only in the effect_tooltip. Which is a strange place for it to be, I guess. Either they're already claimed by the time event 2 is sent, or event 3 doesn't actually claim them either, so the tooltip is kinda misleading either way.

Also, if they're not already claimed, since 3 doesn't claim them either, the wargoal to get claimed states in 3 is kinda weird. I mean, it probably works, but then it's more of a conquest than taking anything claimed, technically.

I suppose that if you want the claiming to happen in event 2, you could put it in an "immediate" block instead of an option.
Last edited by jagdtiger; Jun 18, 2016 @ 12:55am
jagdtiger Jun 18, 2016 @ 1:12am 
Also, you don't really need the construct:

BYZ = { 211 = { add_claim_by = BYZ }}

what that says is: In the scope of Byzantium, in the scope of 211, add a claim by Byzantium.

BUT... the moment you switched scope to 211, your being the the Byzantium scope before is irrelevant. So basically:

211 = { add_claim_by = BYZ }

does the exact same thing anyway.
SirRobin  [developer] Jun 18, 2016 @ 1:49am 
Originally posted by jagdtiger:
By the way... effect_tooltip is just what it says on the tin: just tooltip text. It doesn't actually DO any of the stuff you put in there. It's strictly a tooltip, in case a player is playing Turkey there.

I say that because I notice that the adding claims is only in the effect_tooltip. Which is a strange place for it to be, I guess. Either they're already claimed by the time event 2 is sent, or event 3 doesn't actually claim them either, so the tooltip is kinda misleading either way.

Also, if they're not already claimed, since 3 doesn't claim them either, the wargoal to get claimed states in 3 is kinda weird. I mean, it probably works, but then it's more of a conquest than taking anything claimed, technically.

I suppose that if you want the claiming to happen in event 2, you could put it in an "immediate" block instead of an option.
The claims are made as the completion reward in the focus.

I added them to the effect_tooltip because I noticed the event that popped in the target country didn't include the states that were being claimed in the first button's tooltip. I added a generator line to the wargoal but that didn't get them to show up. So the only way for a bulgaria player to know which states the byz were adding claims too for option byzantium.2a was to add the claims to the tooltip.

Originally posted by jagdtiger:
Also, you don't really need the construct:

BYZ = { 211 = { add_claim_by = BYZ }}

what that says is: In the scope of Byzantium, in the scope of 211, add a claim by Byzantium.

BUT... the moment you switched scope to 211, your being the the Byzantium scope before is irrelevant. So basically:

211 = { add_claim_by = BYZ }

does the exact same thing anyway.
That's true, I'll fix those tomorrow.
Last edited by SirRobin; Jun 18, 2016 @ 1:50am
jagdtiger Jun 20, 2016 @ 6:45pm 
As promised, here's how I'd do the wargoal event, or rather the claim adding option, so it fires only one event per country. I haven't actually tested it yet, though.

option = { name = byzantium.1.a # Claim ai_chance = { factor = 85 } all_country { limit = { OR = { owns_state = 48 owns_state = 211 owns_state = 212 } } country_event = { id = byzantium.2 days = 1 } } }

Or you could have just one event that handles any and all claims, instead of one per zone, like this:

option = { name = byzantium.1.a # Claim ai_chance = { factor = 85 } all_country { limit = { any_owned_state = { is_claimed_by = BYZ } } country_event = { id = byzantium.2 days = 1 } } }

The latter is kinda tricksy though, because if you don't take the claims as wargoal the first time around (e.g., went for peace after the claims in Anatolia) and then do the claims on another country (e.g., Bulgaria), the event will want to grab the first set of claims as war-goals too (i.e., your option now will be to go after Bulgaria AND Turkey.)

Oh also, you can use "all_neighbor_country" instead of "all_country" to limit your claims to countries you have a border to. But that would exclude stuff you can still take by naval invasion (e.g., Cyprus), so up to you.
Last edited by jagdtiger; Jun 20, 2016 @ 6:49pm
jagdtiger Jun 20, 2016 @ 6:49pm 
Whoops. I had forgotten the "limit = " keyword the first time around. Edited and fixed now.
SirRobin  [developer] Jun 20, 2016 @ 7:19pm 
I tried and got an error that all_country was an invalid effect.

Couldn't I just add an "fires_only_once" line to the target's event to keep it from firing multiple times? Of course if the provinces we are claiming are split between multiple countries then only one of them might get the event.

country_event = { # Target id = byzantium.2 title = byzantium.2.t desc = byzantium.2.d picture = GFX_report_event_polish_tanks_01 fire_only_once = yes is_triggered_only = yes option = { # Target Refuses name = byzantium.2.a ai_chance = { factor = 85 } effect_tooltip = { 211 = { add_claim_by = BYZ } 212 = { add_claim_by = BYZ } 48 = { add_claim_by = BYZ } BYZ = { create_wargoal = { type = take_claimed_state target = ROOT } } } hidden_effect = { BYZ = { country_event = { id = byzantium.3 days = 1 } } } } option = { # Target Accepts name = byzantium.2.b ai_chance = { factor = 15 } BYZ = { transfer_state = 211 } BYZ = { transfer_state = 212 } BYZ = { transfer_state = 48 } if = { limit = { NOT = { any_state = { is_controlled_by = ROOT } } } BYZ = { annex_country = { target = ROOT transfer_troops = yes } } } } }

Or maybe use any_country instead of all_country?
Last edited by SirRobin; Jun 20, 2016 @ 7:20pm
SirRobin  [developer] Jun 20, 2016 @ 7:40pm 
Uploaded an update with fire_only_once for the target side events. Some other minor things in there too.
jagdtiger Jun 20, 2016 @ 10:30pm 
It's a scope, not an effect.

Any country means one country, I think. I wanted to send events to all.

I guess I'll have to try and see what exactly I screwed up there.
jagdtiger Jun 20, 2016 @ 10:38pm 
Ah, there we go. Turns out the right scope to use there is "every_country" instead of "all_country".

It's kinda confusing that some scopes work in some contexts, and some in others, but such are the wonders of programming scripts :p
jagdtiger Jun 20, 2016 @ 10:43pm 
Yep, I just tried ploughing through at speed 5 with "every_country." Bulgaria got just one event, as expect. It works, basically.
Last edited by jagdtiger; Jun 20, 2016 @ 10:43pm
SirRobin  [developer] Jun 20, 2016 @ 11:06pm 
Cool, I just went through and changed a bunch of stuff so byzantium should get the greek effects firing from other countries as long as conditions are met. Looks like its working. I'll update the events with your changes and then upload.
Last edited by SirRobin; Jun 20, 2016 @ 11:06pm
jagdtiger Jun 20, 2016 @ 11:11pm 
Looking forward to the next update, then.
SirRobin  [developer] Jun 20, 2016 @ 11:16pm 
Now that I think about it this will mean that greece's own events will fire too if triggers are met. lol. Hope that doesn't make it all go sideways but I'll start looking at a replace on greece's own events, if needed, tomorrow night.
jagdtiger Jun 20, 2016 @ 11:55pm 
I don't remember Greece actually having much in the way of events of its own, other than what was triggered by stuff like Italy or Germany wanting to give it some surprise buttseks ;)
< >
Showing 1-15 of 18 comments
Per page: 1530 50