L-Cluster L-Gate
Description
[3.0.3][Event] Suspected cause for L-Gate event chain never ending
Game Version
(3.0.3)
What version do you use?
Steam
What expansions do you have installed?
Synthetic Dawn, Leviathans Story Pack, Distant Stars, Ancient Relics
Do you have mods enabled?
No
Please explain your issue is in as much detail as possible.
Steps to reproduce the issue.
Issue:
In my game, another empire opened thz first L-Gate and triggered a dragon season. Since then, I'm still stuck at 5/7 clues in my log and the L-Gate event chain never ended (I wasn't notified about loosing the race, only about another empire accessing the L-Cluster, the gates activating, and the dragons spawning). I had two L-Gates within borders.
I remember that this not the first time this bug shows, but it never show when my empire is the first opener. Only outcomes I 've had so far are the Empire and L-Drakes.
You can see on the screenshot that I own 5 L-Drakes, and yet the event chain is not ended and the clues are not cleared.
Suspected cause:
1/ Context:
In /events/distar_events.txt, it looks like: (distar.10901, distar.10905, distar.10953)
- the L-Gate event chain is ended whenever the special project becomes available, or you are informed that another empire opened the first gate;
- clues (insights) are liquidated if you choose to abandon the whole thing (because no L-Gate is within borders), or you are informed that another empire opened the first gate.
distar.10953 presents this script bit:
I don't know which one line is really needed to make the chain disappear from the log, but let's just assume both (one to clear the insights, one to halt the country event chain).
Now, distar.10953 is called from distar.10951, when the cluster is found abandoned by any first opener empire.
And distar.10951 is called from distar.10950, when the special project about activating a L-Gate has been successful.
In distar.10950:
we can see that distar.10951, hence distar.10953, are only called if the L-Cluster is found abandoned.
The question is now why the player doesn't get any ending when another empire triggers the L-Drakes.
It looks like only graygoo.1 in /events/gray_goo_events.txt presents a similar bit as distar.10953:
At first glance, one could say that both L-Drakes (distar.13000) and Dessanu (gragoo.100) outcomes lack the proper ending bit, but it would be rather big an oversight.
Instead, what if the whole mess is caused by a mere branching "typo" in distar.10950, the last 'ELSE' being the issue, when controls returns to this script after anyone above (graygoo.1, distar.13000, graygoo.100) got executed?
What if:
A Dev or a modder should check what happens in the last part of distar.10950 script if the final ELSE is removed. I didn't make the effort to check in parallel what should happen in all possible cases.
Upload Attachment
File(s) attached
[3.0.3][Event] Suspected cause for L-Gate event chain never ending
Game Version
(3.0.3)
What version do you use?
Steam
What expansions do you have installed?
Synthetic Dawn, Leviathans Story Pack, Distant Stars, Ancient Relics
Do you have mods enabled?
No
Please explain your issue is in as much detail as possible.
Steps to reproduce the issue.
Issue:
In my game, another empire opened thz first L-Gate and triggered a dragon season. Since then, I'm still stuck at 5/7 clues in my log and the L-Gate event chain never ended (I wasn't notified about loosing the race, only about another empire accessing the L-Cluster, the gates activating, and the dragons spawning). I had two L-Gates within borders.
I remember that this not the first time this bug shows, but it never show when my empire is the first opener. Only outcomes I 've had so far are the Empire and L-Drakes.
You can see on the screenshot that I own 5 L-Drakes, and yet the event chain is not ended and the clues are not cleared.
Suspected cause:
1/ Context:
In /events/distar_events.txt, it looks like: (distar.10901, distar.10905, distar.10953)
- the L-Gate event chain is ended whenever the special project becomes available, or you are informed that another empire opened the first gate;
- clues (insights) are liquidated if you choose to abandon the whole thing (because no L-Gate is within borders), or you are informed that another empire opened the first gate.
distar.10953 presents this script bit:
Code:
# Other Country Informed (has chain)
country_event = {
id = distar.10953
title = "distar.10953.name"
desc = "distar.10953.desc"
picture = GFX_evt_surreal_visions
show_sound = event_alien_signal
is_triggered_only = yes
immediate = {
liquidate_clues = yes <<<<<<<<<<<<<<<<<<<<<
end_event_chain = "l_cluster_chain" <<<<<<<<<<<<<<<<<<<<<
}
option = {
name = "distar.10953.a"
}
}
Now, distar.10953 is called from distar.10951, when the cluster is found abandoned by any first opener empire.
And distar.10951 is called from distar.10950, when the special project about activating a L-Gate has been successful.
In distar.10950:
Code:
# outcome, to be determined at game start
if = {
limit = { has_global_flag = gray_goo_crisis_set }
country_event = { id = graygoo.1 } >>>>>>>>>>>>>>>>>>> Gray Tempest
}
else_if = {
limit = { has_global_flag = dragon_season }
country_event = { id = distar.13000 } >>>>>>>>>>>>>>>>>>> L-Drakes
}
else_if = {
limit = { has_global_flag = gray_goo_empire_set }
country_event = { id = graygoo.100 } >>>>>>>>>>>>>>>>>>> the Dessanu
}
else = {
country_event = { id = distar.10951 } >>>>>>>>>>>>>>>>>>> other incomes ??!
# enable other L-Gates over time
random_country = {
limit = { is_country_type = global_event }
country_event = { id = distar.10960 days = 200 random = 500 }
}
}
# activated terminal egress l-gate
event_target:lcluster1 = {
random_system_megastructure = {
activate_gateway = this
set_megastructure_flag = lgate_activated
}
}
set_global_flag = lgates_activated_globally
}
}
The question is now why the player doesn't get any ending when another empire triggers the L-Drakes.
It looks like only graygoo.1 in /events/gray_goo_events.txt presents a similar bit as distar.10953:
Code:
every_playable_country = {
limit = {
OR = {
has_event_chain = l_cluster_chain
has_special_project = LCLUSTER_PROJECT
}
NOT = { is_same_value = root }
}
liquidate_clues = yes <<<<<<<<<<<<<<<<<< chain is ended already if LCLUSTER_PROJECT
country_event = { id = graygoo.11 }
}
At first glance, one could say that both L-Drakes (distar.13000) and Dessanu (gragoo.100) outcomes lack the proper ending bit, but it would be rather big an oversight.
Instead, what if the whole mess is caused by a mere branching "typo" in distar.10950, the last 'ELSE' being the issue, when controls returns to this script after anyone above (graygoo.1, distar.13000, graygoo.100) got executed?
What if:
Code:
# outcome, to be determined at game start
if = {
limit = { has_global_flag = gray_goo_crisis_set }
country_event = { id = graygoo.1 } >>>>>>>>>>>>>>>>>>> Gray Tempest
}
else_if = {
limit = { has_global_flag = dragon_season }
country_event = { id = distar.13000 } >>>>>>>>>>>>>>>>>>> L-Drakes
}
else_if = {
limit = { has_global_flag = gray_goo_empire_set }
country_event = { id = graygoo.100 } >>>>>>>>>>>>>>>>>>> the Dessanu
}
country_event = { id = distar.10951 } >>>>>>>>>>>>>>>>>>> IN ANY CASE
# ???
# enable other L-Gates over time
random_country = {
limit = { is_country_type = global_event }
country_event = { id = distar.10960 days = 200 random = 500 }
}
# activated terminal egress l-gate
event_target:lcluster1 = {
random_system_megastructure = {
activate_gateway = this
set_megastructure_flag = lgate_activated
}
}
set_global_flag = lgates_activated_globally
}
}
Upload Attachment
File(s) attached
Attachments
- 1