XRWS           (H   Ê  '~ext_01.cat ext_01.dat md/chillmissiles.xml 6689 1693845508 165333a02b631813778611fc508c5d5e
md/chillmissilesopts.xml 3194 1693845494 0d70d329b9cb58305317bd0347c7a004
md/md.xsd 227 1685906798 65903521e4b710fa13ef8318218cbc30
<?xml version="1.0" encoding="utf-8"?>
<mdscript name="ChillMissiles" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="md.xsd">
    <cues>
        <cue name="Init">
            <conditions>
                <event_universe_generated />
            </conditions>
        <actions>
            <debug_text text="'Replenish Missiles: 2 Legit 2 Init'" filter="scripts" />
            <do_if value="(not $PlayerOwnedShips?) or (not $PlayerStations?)">
                <create_group groupname="$PlayerOwnedShips" />
                <create_group groupname="$PlayerStations" />
            </do_if>
            <find_ship_by_true_owner groupname="$PlayerOwnedShips" faction="faction.player" space="player.galaxy" class="[class.ship_s,class.ship_m,class.ship_l,class.ship_xl]" functional="true" multiple="true" >
                <match shiptype="shiptype.xsdrone" negate="true" />
                <match shiptype="shiptype.escapepod" negate="true" />
                <match shiptype="shiptype.distressdrone" negate="true" />
                <match shiptype="shiptype.lasertower" negate="true" />
                <match shiptype="shiptype.smalldrone" negate="true" />
            </find_ship_by_true_owner>
            <find_station space="player.galaxy" multiple="true" owner="faction.player" groupname="$PlayerStations" append="true" />
        </actions>
        <cues>
            <cue name="GatherStations" checkinterval="15s" checktime="player.age + 15s">
                <actions>
                    <find_station space="player.galaxy" multiple="true" owner="faction.player" groupname="parent.$PlayerStations" />
                    <do_for_each name="$station" in="parent.$PlayerStations" >
                        <debug_text text="'chillmissiles station %s'.[$station.knownname]" filter="scripts" chance="0" />
                    </do_for_each>
                </actions>
            </cue>
            <cue name="MagicMissile" instantiate="true" namespace="this">
                <conditions>
                    <check_any>
                        <event_object_launched_missile group="parent.$PlayerOwnedShips"/>
                        <event_object_launched_missile group="parent.$PlayerStations"/>
                    </check_any>
                </conditions>
                <actions>
                    <set_value name="$missilemacro" exact="event.param2.macro" />
                    <add_effect object="event.param2" effect="'ship_blowout_size_s'"/>
                </actions>
                <delay exact="(global.$ChillMissilesDelay)s" />
                <actions>
                    <do_if value="event.object.exists">
                        <add_ammo object="event.object" macro="$missilemacro" amount="1" />
                        <debug_text text="'chillmissiles: IS: Adding %s %s to %s'.[$missilemacro,event.object.idcode,event.object.knownname]" chance="0"/>
                    </do_if>
                </actions>
            </cue>
            <cue name="OOSMagicMissile" instantiate="true" checkinterval="60s" namespace="this">
                <actions>
                    <do_for_each name="$ship" in="parent.$PlayerOwnedShips">
                        <do_if value="$ship.attention lt attention.visible and $ship.ammostorage.missile.count gt 0">
                            <!--<debug_text text="'chillmissiles: checking %s'.[$ship.knownname]" />
                            <debug_text text="'chillmissiles: Amount of missile free space: %s'.[$ship.ammostorage.missile.free]" />
                            <debug_text text="'chillmissiles: Different types of missiles: %s'.[$ship.ammostorage.missile.table.keys.count]" />-->
                            <set_value name="$split" exact="$ship.ammostorage.missile.free/$ship.ammostorage.missile.table.keys.count" />
                            <do_for_each name="$missile" in="$ship.ammostorage.missile.table">
                                <debug_text text="'chillmissiles: OOS Adding %s %s to %s'.[$split,$missile,$ship.knownname]" chance="0"/>
                                <add_ammo object="$ship" macro="$missile" amount="$split" />
                            </do_for_each>
                        </do_if>
                    </do_for_each>
                </actions>
            </cue>
            <cue name="OOSMagicMissileStations" instantiate="true" checkinterval="60s" namespace="this">
                <actions>
                    <do_for_each name="$station" in="parent.$PlayerStations">
                        <do_if value="$station.attention lt attention.visible and $station.ammostorage.missile.count gt 0">
                            <!--<debug_text text="'chillmissiles: checking %s'.[$station.knownname]" />
                            <debug_text text="'chillmissiles: Amount of missile free space: %s'.[$station.ammostorage.missile.free]" />
                            <debug_text text="'chillmissiles: Different types of missiles: %s'.[$station.ammostorage.missile.table.keys.count]" />-->
                            <set_value name="$split" exact="$station.ammostorage.missile.free/$station.ammostorage.missile.table.keys.count" />
                            <do_for_each name="$missile" in="$station.ammostorage.missile.table">
                                <debug_text text="'chillmissiles: Adding %s %s to %s'.[$split,$missile,$station.knownname]" chance="0" />
                                <add_ammo object="$station" macro="$missile" amount="$split" />
                            </do_for_each>
                        </do_if>
                    </do_for_each>
                </actions>
            </cue>
            <cue name="UpdatePlayerShips" instantiate="true" comment="Keep the group fresh">
                <conditions>
                    <event_player_built_ship />
                </conditions>
                <actions>
                    <add_to_group groupname="parent.$PlayerOwnedShips" object="event.param" />
                </actions>
            </cue>
            <cue name="UpdatePlayerStations" instantiate="true" comment="Keep the group fresh">
                <conditions>
                    <event_player_built_station />
                </conditions>
                <actions>
                    <do_if value="not parent.$PlayerStations.indexof.{event.param}">
                        <add_to_group groupname="parent.$PlayerStations" object="event.param" />
                    </do_if>
                </actions>
            </cue>
        </cues>
        </cue>
    </cues>
</mdscript><?xml version="1.0" encoding="utf-8"?>
<mdscript name="ChillMissilesOpts" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="md.xsd">
    <cues>
        <cue name="Init">
			<conditions>
				<event_universe_generated/>
			</conditions>
			<actions>
                <set_value name="$ChillDebug" exact="0" />
				<do_if value="not global.$ChillMissilesDelay?">
					<set_value name="global.$ChillMissilesDelay" exact="0" />
                    <debug_text text="'ChillMissiles: initial variables loaded.'" filter="scripts" chance="$ChillDebug" />
				</do_if>
                <show_help color="[179,102,255,255]" duration="10s" halign="'center'" position="1" custom="'Replenish Missiles Mod Installed. Default refresh is 0 seconds.'" allowclose="true" />
			</actions>
		</cue>
        <cue name="CinOptsInit" instantiate="false">
            <cues>
                <cue name="CinRegisterOpts" instantiate="true">
                    <conditions>
                        <event_cue_signalled cue="md.Simple_Menu_API.Reloaded" />
                    </conditions>
                    <actions>
                        <signal_cue_instantly
                            cue="md.Simple_Menu_API.Register_Options_Menu"
                            param="table[
                    $id = 'ChillMissilesOptions',
                    $columns = 3, 
                    $title = 'Replenish Missiles Settings',
                    $onOpen = MissileOptsMenu
                    ]" />
                    </actions>
                </cue>
                <cue name="MissileOptsMenu" instantiate="true">
                    <conditions>
                        <event_cue_signalled />
                    </conditions>
                    <actions>
                        <signal_cue_instantly cue="md.Simple_Menu_API.Add_Row" />
                        <signal_cue_instantly cue="md.Simple_Menu_API.Make_Text"
                            param="table[
								$col = 1,
								$colSpan = 1,
								$text = 'Missile Refresh Delay',
							]" />
                            <signal_cue_instantly cue="md.Simple_Menu_API.Make_Slider" 
                            param="table[
                                $col = 2,
                                $colSpan=2,
                                $start = if global.$ChillMissilesDelay != null then global.$ChillMissilesDelay else 0 ,
                                $suffix = 'Seconds',
                                $min = 0,
                                $max = 60,
                                $step = 1,
                                $onSliderCellConfirm = MissileDelayConfirm,
                            ]" />
                    </actions>
                </cue>
                <cue name="MissileDelayConfirm" instantiate="true">
                    <conditions><event_cue_signalled /></conditions>
                    <actions>
                        <set_value name="global.$ChillMissilesDelay" exact="event.param.$value" />
                    </actions>
                </cue>
            </cues>
        </cue>
    </cues>
</mdscript><?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

  <xs:include schemaLocation="D:\X4 Modding\Core X4 Files\libraries\md.xsd" />

</xs:schema>
<?xml version="1.0" encoding="utf-8"?>
<content id="" name="" description="" author="Chillmatica" version="150" date="2023-09-04" save="0" lastupdate="">
  <text language="7" name="Replenish Missiles" description="Ð Ð°ÐºÐµÑ‚Ñ‹ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸ Ð¿Ð¾Ð¿Ð¾Ð»Ð½ÑÑŽÑ‚ÑÑ Ð¿Ð¾ÑÐ»Ðµ Ð²Ñ‹ÑÑ‚Ñ€ÐµÐ»Ð°" author="Chillmatica"/>
  <text language="33" name="Replenish Missiles" description="Les missiles sont automatiquement rÃ©approvisionnÃ©s aprÃ¨s le tir" author="Chillmatica"/>
  <text language="34" name="Replenish Missiles" description="Los misiles se reponen automÃ¡ticamente despuÃ©s de disparar" author="Chillmatica"/>
  <text language="44" name="Replenish Missiles" description="Missiles are automatically replenished after firing" author="Chillmatica"/>
  <text language="49" name="Replenish Missiles" description="Raketen werden nach dem Abfeuern automatisch wieder aufgefÃ¼llt" author="Chillmatica"/>
  <text language="86" name="Replenish Missiles" description="å¯¼å¼¹å‘å°„åŽè‡ªåŠ¨è¡¥å……" author="Chillmatica"/>
</content>
