From ae53eb09e7bb6d33cd0612c38142243dd031f944 Mon Sep 17 00:00:00 2001 From: John Doe Date: Wed, 7 Jun 2023 11:59:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/component_templates/RG_ship_parts.txt | 51 +++++++++++++++++++ common/on_actions/RG_on_actions.txt | 13 +++++ .../RG_scripted_triggers_planet_killers.txt | 40 +++++++++++++++ events/RG_wsg_story_event.txt | 2 + 4 files changed, 106 insertions(+) diff --git a/common/component_templates/RG_ship_parts.txt b/common/component_templates/RG_ship_parts.txt index 548be7c..84106d3 100644 --- a/common/component_templates/RG_ship_parts.txt +++ b/common/component_templates/RG_ship_parts.txt @@ -299,6 +299,57 @@ weapon_component_template = { } } +#歼星武器 +weapon_component_template = { + key = "RG_PLANET_KILLER_SMALL" + size = planet_killer + type = planet_killer + + icon = GFX_ship_part_devolution_beam + icon_frame = 1 + + projectile_gfx = "gatebuilder_planet_weapon_ex" + planet_destruction_gfx = "neutron_planet_gfx" + total_fire_time = 60 #开火时间 + firing_arc = 25.0 + + resources = { + category = ship_components + cost = { + alloys = 2000 + nanites = 50 + } + } + + power = -1000 + damage = { min = 3500 max = 35000 } #伤害 + windup = { min = 32 max = 64 } #冷却 + size_damage_factor = 10.0 + hull_damage = 10.0 #船体伤害 + shield_damage = 10.0 #护盾伤害 + armor_damage = 10.0 #装甲伤害 + shield_penetration = 10.0 #护盾穿透 + armor_penetration = 10.0 #装甲穿透 + tracking = 1.00 #追踪 + range = 800.00 #范围 + accuracy = 1.00 #命中 + + ship_modifier = { + custom_tooltip = RG_PLANET_KILLER_tool_tip + } + + tags = { weapon_type_rg_main weapon_type_energy } + size_restriction = { RG_graygoo_capitalship RG_graygoo_mothership } + component_set = "RG_PLANET_KILLER" + prerequisites = { "tech_object_gray_6"} + hidden = yes + ship_limit = 1 + + ai_weight = { + weight = 0 + } +} + #T槽光矛 weapon_component_template = { key = "GRAY_BEAM_STATIC_EX" diff --git a/common/on_actions/RG_on_actions.txt b/common/on_actions/RG_on_actions.txt index c006763..4774f0b 100644 --- a/common/on_actions/RG_on_actions.txt +++ b/common/on_actions/RG_on_actions.txt @@ -128,6 +128,19 @@ on_destroy_planet_with_RG_PLANET_KILLER_queued = { on_destroy_planet_with_RG_PLANET_KILLER_unqueued = { } +on_destroy_planet_with_RG_PLANET_KILLER_SMALL = { + events = { + RG_planet_killer.2 + origin.3245 + } +} + +on_destroy_planet_with_RG_PLANET_KILLER_SMALL_queued = { +} + +on_destroy_planet_with_RG_PLANET_KILLER_SMALL_unqueued = { +} + on_destroy_planet_with_RG_PLANET_KILLER_SP = { events = { RG_planet_killer.3 diff --git a/common/scripted_triggers/RG_scripted_triggers_planet_killers.txt b/common/scripted_triggers/RG_scripted_triggers_planet_killers.txt index 9569cd4..280ee55 100644 --- a/common/scripted_triggers/RG_scripted_triggers_planet_killers.txt +++ b/common/scripted_triggers/RG_scripted_triggers_planet_killers.txt @@ -46,6 +46,46 @@ can_destroy_planet_with_RG_PLANET_KILLER = { } } +can_destroy_planet_with_RG_PLANET_KILLER_SMALL = { + custom_tooltip = { + fail_text = "RG_requires_a_star_star_killer" + NOR = { + is_star = yes + is_planet_class = pc_ag_void_star + is_planet_class = pc_ag_void_planet + } + } + custom_tooltip = { + fail_text = "RG_requires_outside_border_star_killer" + NOR = { + AND = { + is_inside_border = from.owner + solar_system = { + any_system_planet = { + OR = { + is_colony = yes + is_under_colonization = yes + } + } + } + } + AND = { + exists = owner + owner = { is_same_value = from.owner } + } + } + } + custom_tooltip = { + fail_text = "RG_requires_no_pacifist_star_killer" + from.owner = { + NOR = { + has_ethic = ethic_fanatic_pacifist + has_ethic = ethic_pacifist + } + } + } +} + can_destroy_planet_with_RG_PLANET_KILLER_SP = { custom_tooltip = { fail_text = "RG_requires_a_star_star_killer" diff --git a/events/RG_wsg_story_event.txt b/events/RG_wsg_story_event.txt index 1d21b77..38f5b48 100644 --- a/events/RG_wsg_story_event.txt +++ b/events/RG_wsg_story_event.txt @@ -1,3 +1,5 @@ +# 这里的事件暂时用不上 + namespace = rg_wsg_story country_event = {