realgray-stellaris-mod/events/RG_combat_skill_events.txt

743 lines
13 KiB
Plaintext

namespace = rg_skill
# fleet_event = {
# id = rg_skill.1
# hide_window = yes
# is_triggered_only = yes
#
# trigger = {
# NOT = { has_global_flag = rg_grayskill_cooldown }
# any_owned_fleet = {
# exists = leader
# leader = { has_leader_flag = gray_leader_admiral }
# is_in_combat = yes
# }
# }
#
# immediate = {
# if = {
# limit = {
# any_owned_fleet = {
# exists = leader
# leader = { has_leader_flag = gray_leader_admiral }
# is_in_combat = yes
# }
# }
# random_owned_fleet = {
# if = {
# limit = { leader = { has_leader_flag = gray_leader_admiral }}
# save_event_target_as = gray_warship_location
# }
# }
# create_fleet = {
# name = "NAME_RG_carrier"
# settings = {
# can_disband = yes
# can_upgrade = no
# can_change_composition = yes
# can_change_leader = no
# uses_naval_capacity = no
# spawn_debris = no
# }
# effect = {
# set_owner = event_target:gray_owner
# while = {
# count = 4
# create_ship = {
# name = random
# design = "RG_carrier_Interdictor"
# graphical_culture = "pirate_01"
# prefix = no
# upgradable = no
# }
# }
# set_location = {
# target = event_target:gray_warship_location
# distance = 55
# angle = 270
# }
# set_fleet_flag = RG_carrier_fleet
# save_global_event_target_as = RG_carrier_fleet
# }
# }
#
# set_timed_global_flag = {
# flag = rg_grayskill_cooldown days = 120
# }
# }
# }
# }
# fleet_event = {
# id = rg_skill.2
# hide_window = yes
# is_triggered_only = yes
#
# trigger = {
# any_owned_fleet = {
# has_fleet_flag = RG_carrier_fleet
# is_in_combat = no
# }
# }
#
# immediate = {
# if = {
# limit = {
# any_owned_fleet = {
# has_fleet_flag = RG_carrier_fleet
# is_in_combat = no
# }
# }
# event_target:RG_carrier_fleet = { delete_ship = this }
# }
# }
# }
ship_event = {
id = rg_skill.3
hide_window = yes
is_triggered_only = yes
trigger = {
is_ship_size = RG_armed_science_ship
has_component = RG_AUTOCONST_HANGER
solar_system = {
OR = {
NOT = {
exists = space_owner
}
AND = {
space_owner = {
is_same_empire = root.controller
}
any_system_planet = {
RG_planet_can_auto_build = yes
}
}
}
NOT = {
any_neighbor_system = {
has_owner = yes
owner = {
OR = {
is_fallen_empire_xenophobe = yes
has_ai_personality = fallen_empire_xenophobe
has_ai_personality = awakened_fallen_empire_xenophobe
}
}
}
}
}
}
immediate = {
if = {
limit = {
solar_system = {
NOT = {
any_fleet_in_system = {
exists = controller
controller = {
is_hostile = root.controller
}
}
}
}
}
RG_const_auto_build_effect_event = yes
}
ship_event = {
id = rg_skill.3
days = 30
}
}
}
# Gray Breeds(?
fleet_event = {
id = rg_skill.4
hide_window = yes
mean_time_to_happen = {
years = 1
}
trigger = {
any_controlled_ship = {
has_ship_flag = rg_mothership
}
num_ships < 20
is_ship_size = RG_graygoo_mothership
}
immediate = {
random_list = {
14 = {
create_ship = {
name = random
design = "RG_aircruiser_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_carrier_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_battleship_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_titan_interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_torpedo_interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_AA_interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_Arsenal_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_torpedocruiser_interdictor"
upgradable = yes
}
}
}
}
}
#Tempest Breeds(?
fleet_event = {
id = rg_skill.5
hide_window = yes
mean_time_to_happen = {
months = 5
}
trigger = {
any_controlled_ship = {
OR = {
OR = {
is_ship_size = RG_graygoo_mothership
is_ship_size = graygoo_mothership
}
has_ship_flag = rg_nanite_mothership
}
owner = {
is_country_type = gray_goo
}
}
num_ships < 40
}
immediate = {
random_list = {
14 = {
create_ship = {
name = random
design = "RG_aircruiser_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_carrier_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_battleship_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_titan_interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_torpedo_interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_AA_interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_Arsenal_Interdictor"
upgradable = yes
}
}
12 = {
create_ship = {
name = random
design = "RG_icebreaker_interdictor"
upgradable = yes
}
}
}
}
}
# Tempest incoming traits
# Recursive check every X days
# This = planet
# From = country attacking
planet_event = {
id = rg_skill.6
hide_window = yes
is_triggered_only = yes
immediate = {
save_event_target_as = tempest_incoming_battlefield_planet
if = {
# planet
limit = {
has_ground_combat = no
}
remove_planet_flag = checking_tempest_incoming
}
else = {
if = {
limit = {
#planet
any_ground_combat_attacker = {
#army
exists = leader
leader = {
#leader
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
}
from = {
#country
save_event_target_as = attacking_general_country
}
}
from = {
# Do the same check again in X days
country_event = {
id = rg_skill.10
}
# NOTE: Update custom loc for effect when changing days
}
}
}
}
# tempest incoming traits
# Inital event started by on_ground_combat_started
# to kick of the recursive check in X days
# This = planet
# From = country attacking
planet_event = {
id = rg_skill.7
hide_window = yes
is_triggered_only = yes
# Prevent duplicate events
trigger = {
not = {
has_planet_flag = checking_tempest_incoming
}
}
immediate = {
set_planet_flag = checking_tempest_incoming # Prevent duplicate events
planet_event = {
id = rg_skill.6
days = 1
}
}
}
# On army killed in combat.
# This = owner
# From = army
# FromFrom = opponent
# FromFromFrom = planet
country_event = {
id = rg_skill.8
hide_window = yes
is_triggered_only = yes
immediate = {
FROMFROMFROM = {
# Planet where ground combat is taking place.
# Check if dead army is a defensive army.
if = {
limit = {
any_ground_combat_defender = {
is_same_value = ROOT.FROM
}
}
# Check if attacking army has general with Crusader trait.
random_ground_combat_attacker = {
limit = {
exists = leader
leader = {
OR = {
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
}
leader = {
save_event_target_as = attacking_general
owner = {
save_event_target_as = attacking_general_country
}
}
}
}
if = {
# planet where ground combat is taking place.
limit = {
exists = event_target:attacking_general
}
if = {
limit = {
event_target:attacking_general_country = {
# attacking general country
NOT = {
check_variable = {
which = rg_general_skill_combat_killed_variable
value = 100
}
}
}
}
event_target:attacking_general_country = {
change_variable = {
which = rg_general_skill_combat_killed_variable
value = 1
}
change_variable = {
which = rg_general_skill_combat_daypassed_variable
value = 1
}
}
}
# Handle both sides of the ground combat
RG_leader_trait_tempest_incoming_random_kill_effect = {
SIDE_A = attacker
SIDE_B = defender
}
RG_leader_trait_tempest_incoming_random_kill_effect = {
SIDE_A = defender
SIDE_B = attacker
}
}
}
}
}
country_event = {
id = rg_skill.9
hide_window = yes
is_triggered_only = yes
trigger = {
any_owned_army = {
army_type = gray_army
if = {
limit = {
exists = planet
}
planet = {
has_ground_combat = no
}
}
}
}
immediate = {
set_variable = {
# country
which = rg_general_skill_combat_daypassed_variable
value = 1
}
set_variable = {
# country
which = rg_general_skill_combat_killed_variable
value = 0
}
}
}
country_event = {
id = rg_skill.10
hide_window = yes
is_triggered_only = yes
trigger = {
any_owned_army = {
army_type = gray_army
exists = leader
leader = {
OR = {
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
if = {
limit = {
exists = planet
}
planet = {
has_ground_combat = yes
}
}
}
}
immediate = {
event_target:attacking_general_country = {
change_variable = {
which = rg_general_skill_combat_daypassed_variable
value = 1
}
}
country_event = {
id = rg_skill.10
days = 1
}
}
}
# 重组仪
country_event = {
id = rg_skill.11
hide_window = yes
is_triggered_only = yes
trigger = {
FromFromFrom = {
is_in_combat = yes
has_component = RG_revive_component
}
}
immediate = {
FromFromFrom = {
save_event_target_as = event_ship
}
FromFromFrom.fleet = {
create_ship = {
name = event_target:event_ship
design = event_target:event_ship
}
}
}
}
# 纳米重塑
# This = owner of ship 1 (combatant)
# From = owner of ship 2 (destroyed)
# FromFrom = ship 1
# FromFromFrom = ship 2
country_event = {
id = rg_skill.12
hide_window = yes
is_triggered_only = yes
trigger = {
FromFromFrom = {
is_in_combat = yes
NOT = {
is_same_value = event_target:gray_warship_ship
}
exists = fleet.leader
}
FromFromFrom.fleet.leader = {
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
immediate = {
if = {
limit = {
From = {
check_variable = {
which = rg_nanorebuild_counter
value >= 1
}
}
}
FromFromFrom = {
save_event_target_as = event_ship
}
FromFromFrom.fleet = {
create_ship = {
name = event_target:event_ship
design = event_target:event_ship
}
}
From = {
change_variable = {
which = rg_nanorebuild_counter
value = -1
}
}
}
}
}
# country_event = {
# id = rg_skill.13
# hide_window = yes
# is_triggered_only = yes
# trigger = {
# FromFromFrom = {
# is_in_combat = yes
# }
# FromFrom.solar_system = {
# any_fleet_in_system = {
# leader = {
# has_trait = RG_leader_trait_admiral_nanorebuild_gray
# }
# }
# }
# this = {
# NOT = {
# is_same_value = event_target:gray_owner
# is_in_federation_with = event_target:gray_owner
# }
# }
# }
# immediate = {
# event_target:gray_owner = {
# change_variable = {
# which = rg_nanorebuild_counter
# value = 1
# }
# }
# }
# }
# On destroying enemy ship.
country_event = {
id = rg_skill.13
hide_window = yes
is_triggered_only = yes
trigger = {
FromFrom = {
is_in_combat = yes
exists = fleet.leader
}
FromFrom.fleet.leader = {
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
immediate = {
FROMFROM = {
# Winning ship.
if = {
limit = {
exists = fleet.leader
}
fleet.leader = {
if = {
limit = {
OR = {
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
ROOT = {
change_variable = {
which = rg_nanorebuild_counter
value = 1
}
}
}
}
}
}
}
}
# This = owner of fleet 1 (winner)
# From = owner of fleet 2 (loser)
# FromFrom = fleet 1
# FromFromFrom = fleet 2
country_event = {
id = rg_skill.14
hide_window = yes
is_triggered_only = yes
trigger = {
OR = {
fromfrom.leader = {
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
NOT = {
This = {
check_variable = {
which = rg_nanorebuild_counter
value = 0
}
}
}
}
immediate = {
This = {
set_variable = {
which = rg_nanorebuild_counter
value = 0
}
}
}
}
# This = owner of fleet 1 (loser)
# From = owner of fleet 2 (winner)
# FromFrom = fleet 1
# FromFromFrom = fleet 2
country_event = {
id = rg_skill.15
hide_window = yes
is_triggered_only = yes
trigger = {
OR = {
fromfrom.leader = {
has_trait = RG_leader_trait_admiral_nanorebuild_gray
}
}
NOT = {
This = {
check_variable = {
which = rg_nanorebuild_counter
value = 0
}
}
}
}
immediate = {
This = {
set_variable = {
which = rg_nanorebuild_counter
value = 0
}
}
}
}