Compare commits

...

7 Commits

8 changed files with 1031 additions and 2495 deletions

View File

@ -234,10 +234,7 @@ def build_xml_code(data, config):
template0 = j2env.get_template("./source/filelist_template.xml")
template1 = j2env.get_template("./source/sunken_tapes_template.xml")
if config["use_ita"]:
template2 = j2env.get_template("./source/sunken_tapes_style_ita_template.xml")
else:
template2 = j2env.get_template("./source/sunken_tapes_style_template.xml")
template2 = j2env.get_template("./source/sunken_tapes_style_template.xml")
logging.info(f"rendering the xml files")
with open("./build/filelist.xml", "w+", encoding="utf8") as output_file:
@ -278,7 +275,7 @@ def deploy(config):
prepare_images(data, config)
build_xml_code(data, config)
mod_directory = f"/Mods/{config['name']}/"
mod_directory = f"/LocalMods/{config['name']}/"
logging.info(f"removing the old installed mod directory {config['installdir'] + mod_directory}")
rmfulldir(config["installdir"] + mod_directory)

22
main.py
View File

@ -108,11 +108,14 @@ def create_install_frame(container):
def find_barotrauma_directory():
first_guess = Path("C:/Program Files (x86)/Steam/steamapps/common/Barotrauma")
second_guess = Path("D:/Steam/steamapps/common/Barotrauma")
third_guess = Path("D:/SteamLibrary/steamapps/common/Barotrauma")
if first_guess.is_dir():
return first_guess.as_posix()
elif second_guess.is_dir():
return second_guess.as_posix()
elif third_guess.is_dir():
return third_guess.as_posix()
else:
return False
@ -141,15 +144,6 @@ def create_install_frame(container):
def create_options_frame(container):
frame = ttk.LabelFrame(container, text='Options')
# Use ITA checkbox
use_ita = tk.StringVar()
use_ita.set("0")
use_ita_check = ttk.Checkbutton(
frame,
variable=use_ita,
text='Use ITA mod',
command=lambda: print(use_ita.get()))
# Buffs checkbox
buffs = tk.StringVar()
buffs.set("1")
@ -159,10 +153,6 @@ def create_options_frame(container):
text='Buffs',
command=lambda: print(buffs.get()))
Hovertip(use_ita_check,
'Check this box if you use Into The Abyss mod.'
'\nITA and Sunken Tapes override the same style file.')
Hovertip(buffs_check,
'Check this box to enable some songs causing strange effects'
'\nThis is the intended default behaviour.')
@ -170,7 +160,7 @@ def create_options_frame(container):
for widget in frame.winfo_children():
widget.pack(side="top", padx=3, pady=3, fill="x")
return frame, use_ita, buffs
return frame, buffs
def create_resolution_frame(container):
@ -202,7 +192,6 @@ def create_resolution_frame(container):
def create_deploy_frame(container, config):
def deploy_action():
config_values = {"installdir": config["installdir"].get(),
"use_ita": config["use_ita"].get() == "1",
"buffs": config["buffs"].get() == "1",
"name": config["name"].get(),
"slug": config["slug"].get(),
@ -313,11 +302,10 @@ def create_main_window():
name_frame, name, slug = create_name_frame(root)
install_frame, install_dir = create_install_frame(root)
options_frame, use_ita, buffs = create_options_frame(middle_frame)
options_frame, buffs = create_options_frame(middle_frame)
resolution_frame, width, height = create_resolution_frame(middle_frame)
config = {"installdir": install_dir,
"use_ita": use_ita,
"buffs": buffs,
"name": name,
"slug": slug,

View File

@ -41,7 +41,7 @@ def main():
subprocess.call(archive)
shutil.copy("./barotrauma-sunken-tapes.zip",
"../Nextcloud/barotrauma-sunken-tapes/barotrauma-sunken-tapes.zip")
"../../obzorje/barotrauma-sunken-tapes/barotrauma-sunken-tapes.zip")
os.remove("./barotrauma-sunken-tapes.zip")
rmfulldir("./barotrauma-sunken-tapes")

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
{% if config['slug'] != "sunken_tapes" %}<!--This mod is based on Sunken Tapes. See https://git.kompot.si/jaka/barotrauma-sunken-tapes and https://steamcommunity.com/sharedfiles/filedetails/?id=2616577901 for the source material and code generator.-->{% else %}<!--Code licensed under GPLv3 and generated with a script available at https://git.kompot.si/jaka/barotrauma-sunken-tapes-->{% endif %}
<contentpackage name="{{ config['name'] }}" path="Mods/{{ config['name'] }}/filelist.xml" corepackage="false" gameversion="0.15.12.0" {% if config['slug'] == "Sunken Tapes" %}steamworkshopid="2616577901"{% endif %}>
<Item file="Mods/{{ config['name'] }}/{{ config['slug'] }}.xml" />
<UIStyle file="Mods/{{ config['name'] }}/{{ config['slug'] }}_style.xml" />
<None file="Mods/{{ config['name'] }}/PreviewImage.png" />
<None file="Mods/{{ config['name'] }}/icons.png" />
<None file="Mods/{{ config['name'] }}/covers.png" />
<None file="Mods/{{ config['name'] }}/sprites.png" />
<None file="Mods/{{ config['name'] }}/players_icons.png" />
<None file="Mods/{{ config['name'] }}/players_sprites.png" />{% for tape in tapes %}
<None file="Mods/{{ config['name'] }}/music/{{ tape["identifier"] }}.ogg" />
<None file="Mods/{{ config['name'] }}/music/{{ tape["identifier"] }}-walkman.ogg" />{% endfor %}
<None file="Mods/{{ config['name'] }}/sound_effects/boombox_insert_cassette.ogg" />
<None file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" />
<None file="Mods/{{ config['name'] }}/sound_effects/cassette_drop.ogg" />
<contentpackage name="{{ config['name'] }}" modversion="1.0.1" corepackage="false" gameversion="0.20.15.0" {% if config['slug'] == "Sunken Tapes" %}steamworkshopid="2616577901"{% endif %}>
<Item file="%ModDir%/{{ config['slug'] }}.xml" />
<UIStyle file="%ModDir%/{{ config['slug'] }}_style.xml" />
<None file="%ModDir%/PreviewImage.png" />
<None file="%ModDir%/icons.png" />
<None file="%ModDir%/covers.png" />
<None file="%ModDir%/sprites.png" />
<None file="%ModDir%/players_icons.png" />
<None file="%ModDir%/players_sprites.png" />{% for tape in tapes %}
<None file="%ModDir%/music/{{ tape["identifier"] }}.ogg" />
<None file="%ModDir%/music/{{ tape["identifier"] }}-walkman.ogg" />{% endfor %}
<None file="%ModDir%/sound_effects/boombox_insert_cassette.ogg" />
<None file="%ModDir%/sound_effects/boombox_play_cassette.ogg" />
<None file="%ModDir%/sound_effects/cassette_drop.ogg" />
</contentpackage>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,14 +2,14 @@
{% if config['slug'] != "sunken_tapes" %}<!--This mod is based on Sunken Tapes. See https://git.kompot.si/jaka/barotrauma-sunken-tapes and https://steamcommunity.com/sharedfiles/filedetails/?id=2616577901 for the source material and code generator.-->{% else %}<!--Code licensed under GPLv3 and generated with a script available at https://git.kompot.si/jaka/barotrauma-sunken-tapes-->{% endif %}
<Items>
<Item name="Boombox" cargocontaineridentifier="metalcrate" identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}boombox" category="Equipment" Tags="mediumitem,boombox,sunken-tapes-player" scale="0.5" description="" price="850" impactsoundtag="impact_metal_light" isshootable="true" HideConditionBar="true">
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1"/>
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1"/>
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1" />
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1" />
<Price baseprice="500" soldeverywhere="false">
<Price locationtype="outpost" multiplier="1" minavailable="1" />
<Price locationtype="city" multiplier="0.7" minavailable="1"/>
<Price locationtype="research" multiplier="1.5" sold="false"/>
<Price locationtype="military" multiplier="1.5" sold="false"/>
<Price locationtype="mine" multiplier="1.5" sold="false"/>
<Price locationtype="city" multiplier="0.7" minavailable="1" />
<Price locationtype="research" multiplier="1.5" sold="false" />
<Price locationtype="military" multiplier="1.5" sold="false" />
<Price locationtype="mine" multiplier="1.5" sold="false" />
</Price>
<Deconstruct time="20">
<Item identifier="aluminium" />
@ -24,21 +24,20 @@
<RequiredItem identifier="fpgacircuit" />
</Fabricate>
<Upgrade gameversion="0.9.2.0" scale="0.5" />
<InventoryIcon texture="Mods/{{ config['name'] }}/players_icons.png" sourcerect="0,0,64,42" origin="0.5,0.5" />
<Sprite texture="Mods/{{ config['name'] }}/players_sprites.png" sourcerect="0,0,117,76" depth="0.55" origin="0.5,0.5" />
<InventoryIcon texture="%ModDir%/players_icons.png" sourcerect="0,0,64,42" origin="0.5,0.5" />
<Sprite texture="%ModDir%/players_sprites.png" sourcerect="0,0,117,76" depth="0.55" origin="0.5,0.5" />
<Body width="117" height="76" />
<LightComponent LightColor="0.0,0.85,0.0,0.7" range="4" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false">
</LightComponent>
<LightComponent LightColor="0.0,0.85,0.0,0.7" range="4" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false"></LightComponent>
<CustomInterface canbeselected="true" drawhudwhenequipped="true" allowuioverlap="true" msg="Equip to control">
<GuiFrame relativesize="0.10,0.07" anchor="CenterLeft" pivot="BottomLeft" relativeoffset="0.006,-0.05" style="ItemUI" />
<TickBox text="Play">
<StatusEffect type="OnUse" targettype="This" IsOn="true">
<Conditional IsOn="false" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
</StatusEffect>
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false" >
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false">
<Conditional IsOn="true" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<Use />
</StatusEffect>
</TickBox>
@ -48,8 +47,8 @@
<Remove />
</StatusEffect>
</Holdable>
<ItemContainer hideitems="true" drawinventory="true" capacity="1" maxstacksize="1" slotsperrow="6" itempos="0,0" iteminterval="0,0" itemrotation="0" canbeselected="false" containedspritedepth="0.79" >
<StatusEffect type="OnUse" targettype="Contained" >
<ItemContainer hideitems="true" drawinventory="true" capacity="1" maxstacksize="1" slotsperrow="6" itempos="0,0" iteminterval="0,0" itemrotation="0" canbeselected="false" containedspritedepth="0.79">
<StatusEffect type="OnUse" targettype="Contained">
<Use />
</StatusEffect>
<Containable items="cassette">
@ -58,17 +57,16 @@
</Item>
<Item name="Walkman BARO Brown" cargocontaineridentifier="metalcrate" identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}walkman-brown" category="Equipment" Tags="smallitem,walkman,sunken-tapes-player" scale="0.5" description="" price="350" impactsoundtag="impact_metal_light" isshootable="true" HideConditionBar="true">
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1"/>
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1"/>
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1" />
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1" />
<Price baseprice="300" soldeverywhere="false">
<Price locationtype="outpost" multiplier="1" minavailable="1" />
<Price locationtype="city" multiplier="0.7" minavailable="1"/>
<Price locationtype="research" multiplier="1.1" sold="false"/>
<Price locationtype="military" multiplier="1.1" sold="false"/>
<Price locationtype="mine" multiplier="1.1" sold="false"/>
<Price locationtype="city" multiplier="0.7" minavailable="1" />
<Price locationtype="research" multiplier="1.1" sold="false" />
<Price locationtype="military" multiplier="1.1" sold="false" />
<Price locationtype="mine" multiplier="1.1" sold="false" />
</Price>
<Deconstruct time="20">
</Deconstruct>
<Deconstruct time="20"></Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="45" />
<RequiredSkill identifier="electrical" level="55" />
@ -78,21 +76,20 @@
<RequiredItem identifier="fpgacircuit" />
</Fabricate>
<Upgrade gameversion="0.9.2.0" scale="0.5" />
<InventoryIcon texture="Mods/{{ config['name'] }}/players_icons.png" sourcerect="64,0,64,40" origin="0.5,0.5" />
<Sprite texture="Mods/{{ config['name'] }}/players_sprites.png" sourcerect="117,0,51,33" depth="0.55" origin="0.5,0.5" />
<InventoryIcon texture="%ModDir%/players_icons.png" sourcerect="64,0,64,40" origin="0.5,0.5" />
<Sprite texture="%ModDir%/players_sprites.png" sourcerect="117,0,51,33" depth="0.55" origin="0.5,0.5" />
<Body width="51" height="33" />
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false">
</LightComponent>
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false"></LightComponent>
<CustomInterface canbeselected="true" drawhudwhenequipped="true" allowuioverlap="true" msg="Equip to control">
<GuiFrame relativesize="0.10,0.07" anchor="CenterLeft" pivot="BottomLeft" relativeoffset="0.006,-0.05" style="ItemUI" />
<TickBox text="Play">
<StatusEffect type="OnUse" targettype="This" IsOn="true">
<Conditional IsOn="false" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
</StatusEffect>
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false" >
<Conditional IsOn="true" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<Use />
</StatusEffect>
</TickBox>
@ -112,17 +109,16 @@
</Item>
<Item name="Walkman BARO Silver" cargocontaineridentifier="metalcrate" identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}walkman-silver" category="Equipment" Tags="smallitem,walkman,sunken-tapes-player" scale="0.5" description="" price="450" impactsoundtag="impact_metal_light" isshootable="true" HideConditionBar="true">
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1"/>
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1"/>
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1" />
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1" />
<Price baseprice="450" soldeverywhere="false">
<Price locationtype="outpost" multiplier="1" sold="false"/>
<Price locationtype="city" multiplier="0.7" sold="false"/>
<Price locationtype="research" multiplier="1.0" minavailable="1"/>
<Price locationtype="military" multiplier="1.1" sold="false"/>
<Price locationtype="mine" multiplier="1.1" sold="false"/>
<Price locationtype="outpost" multiplier="1" sold="false" />
<Price locationtype="city" multiplier="0.7" sold="false" />
<Price locationtype="research" multiplier="1.0" minavailable="1" />
<Price locationtype="military" multiplier="1.1" sold="false" />
<Price locationtype="mine" multiplier="1.1" sold="false" />
</Price>
<Deconstruct time="20">
</Deconstruct>
<Deconstruct time="20"></Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="45" />
<RequiredSkill identifier="electrical" level="55" />
@ -132,21 +128,20 @@
<RequiredItem identifier="fpgacircuit" />
</Fabricate>
<Upgrade gameversion="0.9.2.0" scale="0.5" />
<InventoryIcon texture="Mods/{{ config['name'] }}/players_icons.png" sourcerect="128,0,64,40" origin="0.5,0.5" />
<Sprite texture="Mods/{{ config['name'] }}/players_sprites.png" sourcerect="168,0,51,33" depth="0.55" origin="0.5,0.5" />
<InventoryIcon texture="%ModDir%/players_icons.png" sourcerect="128,0,64,40" origin="0.5,0.5" />
<Sprite texture="%ModDir%/players_sprites.png" sourcerect="168,0,51,33" depth="0.55" origin="0.5,0.5" />
<Body width="51" height="33" />
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false">
</LightComponent>
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false"></LightComponent>
<CustomInterface canbeselected="true" drawhudwhenequipped="true" allowuioverlap="true" msg="Equip to control">
<GuiFrame relativesize="0.10,0.07" anchor="CenterLeft" pivot="BottomLeft" relativeoffset="0.006,-0.05" style="ItemUI" />
<TickBox text="Play">
<StatusEffect type="OnUse" targettype="This" IsOn="true">
<Conditional IsOn="false" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
</StatusEffect>
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false" >
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false">
<Conditional IsOn="true" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<Use />
</StatusEffect>
</TickBox>
@ -157,7 +152,7 @@
</StatusEffect>
</Holdable>
<ItemContainer itempos="3,-3" hideitems="false" drawinventory="true" capacity="1" maxstacksize="1" slotsperrow="1" iteminterval="0,0" itemrotation="180" canbeselected="false" containedspritedepth="0.6">
<StatusEffect type="OnUse" targettype="Contained" >
<StatusEffect type="OnUse" targettype="Contained">
<Use />
</StatusEffect>
<Containable items="cassette">
@ -166,17 +161,16 @@
</Item>
<Item name="Walkman BARO Black" cargocontaineridentifier="metalcrate" identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}walkman-black" category="Equipment" Tags="smallitem,walkman,sunken-tapes-player" scale="0.5" description="" price="450" impactsoundtag="impact_metal_light" isshootable="true" HideConditionBar="true">
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1"/>
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1"/>
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1" />
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1" />
<Price baseprice="450" soldeverywhere="false">
<Price locationtype="outpost" multiplier="1" sold="false"/>
<Price locationtype="city" multiplier="0.7" sold="false"/>
<Price locationtype="research" multiplier="1.1" sold="false"/>
<Price locationtype="military" multiplier="1.1" sold="false"/>
<Price locationtype="mine" multiplier="1.0" minavailable="1"/>
<Price locationtype="outpost" multiplier="1" sold="false" />
<Price locationtype="city" multiplier="0.7" sold="false" />
<Price locationtype="research" multiplier="1.1" sold="false" />
<Price locationtype="military" multiplier="1.1" sold="false" />
<Price locationtype="mine" multiplier="1.0" minavailable="1" />
</Price>
<Deconstruct time="20">
</Deconstruct>
<Deconstruct time="20"></Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="45" />
<RequiredSkill identifier="electrical" level="55" />
@ -186,21 +180,20 @@
<RequiredItem identifier="fpgacircuit" />
</Fabricate>
<Upgrade gameversion="0.9.2.0" scale="0.5" />
<InventoryIcon texture="Mods/{{ config['name'] }}/players_icons.png" sourcerect="192,0,64,40" origin="0.5,0.5" />
<Sprite texture="Mods/{{ config['name'] }}/players_sprites.png" sourcerect="219,0,51,33" depth="0.55" origin="0.5,0.5" />
<InventoryIcon texture="%ModDir%/players_icons.png" sourcerect="192,0,64,40" origin="0.5,0.5" />
<Sprite texture="%ModDir%/players_sprites.png" sourcerect="219,0,51,33" depth="0.55" origin="0.5,0.5" />
<Body width="51" height="33" />
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false">
</LightComponent>
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false"></LightComponent>
<CustomInterface canbeselected="true" drawhudwhenequipped="true" allowuioverlap="true" msg="Equip to control">
<GuiFrame relativesize="0.10,0.07" anchor="CenterLeft" pivot="BottomLeft" relativeoffset="0.006,-0.05" style="ItemUI" />
<TickBox text="Play">
<StatusEffect type="OnUse" targettype="This" IsOn="true">
<Conditional IsOn="false" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
</StatusEffect>
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false" >
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false">
<Conditional IsOn="true" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<Use />
</StatusEffect>
</TickBox>
@ -211,7 +204,7 @@
</StatusEffect>
</Holdable>
<ItemContainer itempos="3,-3" hideitems="false" drawinventory="true" capacity="1" maxstacksize="1" slotsperrow="1" iteminterval="0,0" itemrotation="180" canbeselected="false" containedspritedepth="0.6">
<StatusEffect type="OnUse" targettype="Contained" >
<StatusEffect type="OnUse" targettype="Contained">
<Use />
</StatusEffect>
<Containable items="cassette">
@ -220,17 +213,16 @@
</Item>
<Item name="Walkman BARO Blue" cargocontaineridentifier="metalcrate" identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}walkman-blue" category="Equipment" Tags="smallitem,walkman,sunken-tapes-player" scale="0.5" description="" price="450" impactsoundtag="impact_metal_light" isshootable="true" HideConditionBar="true">
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1"/>
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1"/>
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.1" />
<PreferredContainer primary="outpostcrewcabinet" spawnprobability="0.1" />
<Price baseprice="450" soldeverywhere="false">
<Price locationtype="outpost" multiplier="1" sold="false"/>
<Price locationtype="city" multiplier="0.7" sold="false"/>
<Price locationtype="research" multiplier="1.1" sold="false"/>
<Price locationtype="military" multiplier="1.0" minavailable="1"/>
<Price locationtype="mine" multiplier="1.1" sold="false"/>
<Price locationtype="outpost" multiplier="1" sold="false" />
<Price locationtype="city" multiplier="0.7" sold="false" />
<Price locationtype="research" multiplier="1.1" sold="false" />
<Price locationtype="military" multiplier="1.0" minavailable="1" />
<Price locationtype="mine" multiplier="1.1" sold="false" />
</Price>
<Deconstruct time="20">
</Deconstruct>
<Deconstruct time="20"></Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="45" />
<RequiredSkill identifier="electrical" level="55" />
@ -240,21 +232,20 @@
<RequiredItem identifier="fpgacircuit" />
</Fabricate>
<Upgrade gameversion="0.9.2.0" scale="0.5" />
<InventoryIcon texture="Mods/{{ config['name'] }}/players_icons.png" sourcerect="256,0,64,40" origin="0.5,0.5" />
<Sprite texture="Mods/{{ config['name'] }}/players_sprites.png" sourcerect="270,0,51,33" depth="0.55" origin="0.5,0.5" />
<InventoryIcon texture="%ModDir%/players_icons.png" sourcerect="256,0,64,40" origin="0.5,0.5" />
<Sprite texture="%ModDir%/players_sprites.png" sourcerect="270,0,51,33" depth="0.55" origin="0.5,0.5" />
<Body width="51" height="33" />
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false">
</LightComponent>
<LightComponent LightColor="0.0,0.0,0.0,0.0" range="1" powerconsumption="0" blinkfrequency="0" IsOn="false" canbeselected="false"></LightComponent>
<CustomInterface canbeselected="true" drawhudwhenequipped="true" allowuioverlap="true" msg="Equip to control">
<GuiFrame relativesize="0.10,0.07" anchor="CenterLeft" pivot="BottomLeft" relativeoffset="0.006,-0.05" style="ItemUI" />
<TickBox text="Play">
<StatusEffect type="OnUse" targettype="This" IsOn="true">
<Conditional IsOn="false" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
</StatusEffect>
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false" >
<StatusEffect type="OnSecondaryUse" targettype="This" IsOn="false">
<Conditional IsOn="true" />
<sound file="Mods/{{ config['name'] }}/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<sound file="%ModDir%/sound_effects/boombox_play_cassette.ogg" type="OnUse" range="300" volume="1.0" />
<Use />
</StatusEffect>
</TickBox>
@ -265,7 +256,7 @@
</StatusEffect>
</Holdable>
<ItemContainer itempos="3,-3" hideitems="false" drawinventory="true" capacity="1" maxstacksize="1" slotsperrow="1" iteminterval="0,0" itemrotation="180" canbeselected="false" containedspritedepth="0.6">
<StatusEffect type="OnUse" targettype="Contained" >
<StatusEffect type="OnUse" targettype="Contained">
<Use />
</StatusEffect>
<Containable items="cassette">
@ -277,26 +268,25 @@
{% for tape in tapes %}
<Item name="Tape: {{ tape.name }}" identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}cassette-{{ tape.identifier }}" category="Equipment" maxstacksize="8" Tags="smallitem,cassette" cargocontaineridentifier="metalcrate" scale="0.5" isshootable="true" impacttolerance="1.4" >
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.05"/>
<PreferredContainer primary="outpostcrewcabinet" minamount="0" maxamount="1" spawnprobability="0.05"/>
<PreferredContainer primary="abandonedcrewcab" spawnprobability="0.05" />
<PreferredContainer primary="outpostcrewcabinet" minamount="0" maxamount="1" spawnprobability="0.05" />
<Price baseprice="{{ tape.price }}" soldeverywhere="false">{% for location in ["outpost", "city", "research", "military", "mine"] %}
<Price locationtype="{{ location }}" multiplier="{{ tape.multipliers[loop.index0] }}" sold="{{ tape.sold[loop.index0] }}" minavailable="1" />{% endfor %}
</Price>
<Deconstruct time="10">
</Deconstruct>
<Deconstruct time="10"></Deconstruct>
<Fabricate suitablefabricators="fabricator" displayname="recycleitem" requiredtime="{{ song_lengths[loop.index0]*0.5 }}">
<RequiredSkill identifier="mechanical" level="25" />
<RequiredSkill identifier="electrical" level="45" />
<RequiredItem identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}cassette-{{ tape.identifier }}" mincondition="0.25" usecondition="true"/>
<RequiredItem identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}cassette-{{ tape.identifier }}" mincondition="0.25" usecondition="true" />
<RequiredItem identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}cassette-blank" />
<RequiredItem identifier="fpgacircuit" />
</Fabricate>
<InventoryIcon texture="Mods/{{ config['name'] }}/icons.png" sourcerect="{{ 64 * positions[loop.index0]['column'] }},{{ 41 * positions[loop.index0]['row'] }},64,41" origin="0.5,0.5" />
<Sprite texture="Mods/{{ config['name'] }}/sprites.png" sourcerect="{{ 33 * positions[loop.index0]['column'] }},{{ 21 * positions[loop.index0]['row'] }},33,21" depth="0.6" origin="0.5,0.5" />
<InventoryIcon texture="%ModDir%/icons.png" sourcerect="{{ 64 * positions[loop.index0]['column'] }},{{ 41 * positions[loop.index0]['row'] }},64,41" origin="0.5,0.5" />
<Sprite texture="%ModDir%/sprites.png" sourcerect="{{ 33 * positions[loop.index0]['column'] }},{{ 21 * positions[loop.index0]['row'] }},33,21" depth="0.6" origin="0.5,0.5" />
<Body width="33" height="21" />
<Throwable slots="Any,RightHand,LeftHand" holdpos="5,-65" holdangle="0" handle1="0,1" throwforce="4.0" aimpos="35,-10" msg="Aim to throw">
<StatusEffect type="OnImpact" target="This" Condition="-5.0" disabledeltatime="true">
<sound file="Mods/{{ config['name'] }}/sound_effects/cassette_drop.ogg" range="500" volume="1.0" />
<sound file="%ModDir%/sound_effects/cassette_drop.ogg" range="500" volume="1.0" />
</StatusEffect>
</Throwable>
<CustomInterface canbeselected="true" drawhudwhenequipped="true" allowuioverlap="true" msg="Equip to inspect">
@ -325,7 +315,7 @@
</StatusEffect>
<Containable items="song" />
</ItemContainer>
<Holdable slots="Any,RightHand,LeftHand" msg="ItemMsgPickUpSelect" >
<Holdable slots="Any,RightHand,LeftHand" msg="ItemMsgPickUpSelect">
<StatusEffect type="OnBroken" target="This">
<Remove />
</StatusEffect>
@ -343,7 +333,7 @@
<InventoryIcon texture="Content/Items/Electricity/signalcomp.png" sourcerect="0,160,4,4" origin="0.5,0.5" />
<ItemComponent>
<StatusEffect type="Always" target="This">
<sound file="Mods/{{ config['name'] }}/music/{{ tape.identifier }}.ogg" type="OnUse" range="1000" loop="true" volume="1.0" />
<sound file="%ModDir%/music/{{ tape.identifier }}.ogg" type="OnUse" range="1000" loop="true" volume="1.0" />
</StatusEffect>{% if tape.buffs %}
<StatusEffect type="Always" target="NearbyCharacters" range="1000">{% for buff in tape.buffs %}
{% if buff == "psychosis" %}<Affliction identifier="{{ buff }}" strength= "{{ '%0.4f' % (tape.buff_multiplier*(delta + 0.1)) }}" />{% else %}<Affliction identifier="{{ buff }}" strength= "{{ '%0.4f' % (tape.buff_multiplier*(delta*4 + 1)) }}" />{% endif %}{% endfor %}
@ -363,7 +353,7 @@
<InventoryIcon texture="Content/Items/Electricity/signalcomp.png" sourcerect="0,160,4,4" origin="0.5,0.5" />
<ItemComponent>
<StatusEffect type="Always" target="This">
<sound file="Mods/{{ config['name'] }}/music/{{ tape.identifier }}-walkman.ogg" type="OnUse" range="200" loop="true" volume="1.0" />
<sound file="%ModDir%/music/{{ tape.identifier }}-walkman.ogg" type="OnUse" range="200" loop="true" volume="1.0" />
</StatusEffect>{% if tape.buffs %}
<StatusEffect type="Always" target="NearbyCharacters" range="200">{% for buff in tape.buffs %}
{% if buff == "psychosis" %}<Affliction identifier="{{ buff }}" strength= "{{ '%0.4f' % (tape.buff_multiplier*(delta + 0.1)*0.5) }}" />{% else %}<Affliction identifier="{{ buff }}" strength= "{{ '%0.4f' % (tape.buff_multiplier*(delta*4 + 1)*0.5) }}" />{% endif %}{% endfor %}
@ -383,8 +373,8 @@
<!-- tape box -->
<Item name="Cassette Tape Box" identifier="{% if config['slug'] != "sunken_tapes" %}{{ config["slug"] }}-{% endif %}cassette-tape-box" category="Equipment" tags="smallitem,mobilecontainer,tool" cargocontaineridentifier="" showcontentsintooltip="true" Scale="0.5" fireproof="true" description="" impactsoundtag="impact_metal_heavy">
<PreferredContainer secondary="wreckstoragecab" spawnprobability="0.06"/>
<PreferredContainer primary="outpostcrewcabinet" minamount="0" maxamount="1" spawnprobability="0.2"/>
<PreferredContainer secondary="wreckstoragecab" spawnprobability="0.06" />
<PreferredContainer primary="outpostcrewcabinet" minamount="0" maxamount="1" spawnprobability="0.2" />
<Deconstruct time="10">
<Item identifier="steel" />
</Deconstruct>

View File

@ -241,7 +241,7 @@
- identifier: vjeranpas
name: Termiti - Vjeran pas
source:
url: https://www.youtube.com/watch?v=EOAiYRxLpq0
url: https://www.youtube.com/watch?v=QO3fQvTF5Lo
start: 00:00:00
end: -1
volume: 3
@ -283,7 +283,7 @@
- identifier: shanty1
name: Doodle Let Me Go
source:
url: https://www.youtube.com/watch?v=rbAhU913SSk
url: https://www.youtube.com/watch?v=CNQt86A2Kow
start: 00:00:00
end: 00:02:45
volume: 0
@ -845,8 +845,8 @@
- identifier: diodiver
name: Dio - Holy Diver
source:
url: https://www.youtube.com/watch?v=EhGEGIBGLu8
start: 00:00:08
url: https://youtu.be/1Obtf6ftDc8
start: 00:00:00
end: -1
volume: 0
note: ""