Fixed bullet decal rotation and VFX. Added explosion effect (partcles + sound). Fixed a typo in Player.gd

feature-rocketlauncher
unfa 2021-12-29 02:32:59 +01:00
parent 63702d4295
commit 7615a01823
79 changed files with 96434 additions and 30 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<instant>
<LastUsedSnapshot name="Explosion SFX"/>
<Main x="1920" y="0" w="1920" h="1051" current-tab="editor"/>
<Editor id="41" edit-horizontal-pane-pos="0.89999997615814209" notebook-shrunk="0" edit-vertical-pane-pos="0.89999997615814209" mixer-width="Wide" zoom-focus="ZoomFocusMouse" zoom="540" grid-type="GridTypeNone" snap-mode="SnapNormal" internal-grid-type="GridTypeBeat" internal-snap-mode="SnapMagnetic" pre-internal-grid-type="GridTypeNone" pre-internal-snap-mode="SnapNormal" edit-point="EditAtMouse" visible-track-count="-1" playhead="0" left-frame="0" y-origin="0" maximised="0" follow-playhead="1" stationary-playhead="0" mouse-mode="MouseObject" join-object-range="0" show-editor-mixer="1" show-editor-list="0" editor-list-page="0" show-marker-lines="0" show-touched-automation="0" nudge-clock-value="240000">
<Window name="Editor" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1" tabbed="1"/>
<Buttons>
<Press/>
<Release/>
</Buttons>
<Selection/>
<RegionList/>
<EditorLocations clock-mode="BBT"/>
</Editor>
<Mixer mixer-rhs-pane1-pos="0.60000002384185791" mixer-rhs_pane2-pos="0.69999998807907104" mixer-list-hpane-pos="0.20000000298023224" mixer-inner-pane-pos="0.80000001192092896" narrow-strips="0" show-mixer="0" maximised="0" show-mixer-list="1" monitor-section-visible="0" foldback-strip-visible="1" show-vca-pane="1">
<Window name="Mixer" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1" tabbed="1"/>
</Mixer>
<Preferences>
<Window name="Preferences" visible="0" x-off="0" y-off="0" x-size="787" y-size="682" tabbed="0"/>
</Preferences>
<Meterbridge show-meterbridge="0">
<geometry x-size="600" y-size="400" x-pos="1" y-pos="1"/>
</Meterbridge>
<Recorder recorder-vpane-pos="0.75">
<Window name="Recorder" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1" tabbed="1"/>
</Recorder>
</instant>

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <urn:distrho:vitalium> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <http://lsp-plug.in/plugins/lv2/mb_compressor_stereo> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

View File

@ -0,0 +1,17 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<>
a pset:Preset ;
lv2:appliesTo <http://lsp-plug.in/plugins/lv2/mb_compressor_stereo> ;
state:state [
<http://lsp-plug.in/plugins/lv2/mb_compressor_stereo/KVT> [
a <http://lsp-plug.in/types/lv2/types#KVT>
]
] .

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <http://lsp-plug.in/plugins/lv2/mb_compressor_stereo> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

View File

@ -0,0 +1,17 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<>
a pset:Preset ;
lv2:appliesTo <http://lsp-plug.in/plugins/lv2/mb_compressor_stereo> ;
state:state [
<http://lsp-plug.in/plugins/lv2/mb_compressor_stereo/KVT> [
a <http://lsp-plug.in/types/lv2/types#KVT>
]
] .

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <http://gareus.org/oss/lv2/dpl#stereo> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

View File

@ -0,0 +1,15 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<>
a pset:Preset ;
lv2:appliesTo <http://gareus.org/oss/lv2/dpl#stereo> ;
state:state [
<http://gareus.org/oss/lv2/dpl#uiscale> "1.0"^^xsd:float
] .

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <https://github.com/pdesaulniers/wolf-shaper> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

View File

@ -0,0 +1,15 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<>
a pset:Preset ;
lv2:appliesTo <https://github.com/pdesaulniers/wolf-shaper> ;
state:state [
<urn:distrho:graph> "0x0p+0,0x0p+0,-0x1.ep+2,0;0x1.e5a082p-2,0x1.df51b4p-1,-0x1.2p+4,0;0x1p+0,0x1p+0,0x0p+0,0;"
] .

View File

@ -0,0 +1,13 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<state.ttl>
lv2:appliesTo <https://github.com/pdesaulniers/wolf-shaper> ;
a pset:Preset ;
rdfs:seeAlso <state.ttl> .

View File

@ -0,0 +1,15 @@
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<>
a pset:Preset ;
lv2:appliesTo <https://github.com/pdesaulniers/wolf-shaper> ;
state:state [
<urn:distrho:graph> "0x0p+0,0x0p+0,-0x1p+3,0;0x1.e5a082p-2,0x1.df51b4p-1,-0x1.2p+4,0;0x1p+0,0x1p+0,0x0p+0,0;"
] .

View File

@ -354,7 +354,7 @@ func _process(delta):
attacker_node.rpc(&'damage_feedback', true) # let the attacker know he's got a kill
else:
attacker_node.rpc(&'damage_feedback', false) # let the attackr know he's got a hit
attacker_node.rpc(&'damage_feedback', false) # let the attacker know he's got a hit
main.update_hud()

View File

@ -1,8 +1,11 @@
extends Node3D
func _ready():
$Particles.emitting = true
self.look_at(get_viewport().get_camera_3d().global_transform.origin)
for i in get_children(): # activate all top-level particle systems secondary ones should be parented to the primary ones
if i is GPUParticles3D:
i.emitting = true
#print ("activating ", i)
#self.look_at(get_viewport().get_camera_3d().global_transform.origin)
#$MeshInstance3D.get_active_material(0).set("shader_params/o3007790_OFFSET", randf_range(0, 1))
func _on_Timer_timeout():

View File

@ -0,0 +1,431 @@
[gd_scene load_steps=29 format=3 uid="uid://wvxhewre31mo"]
[ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1_7cd22"]
[ext_resource type="Texture2D" uid="uid://pnh872qjk0oy" path="res://Assets/Effects/Flame.png" id="2_pyxv8"]
[ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="3_3wksr"]
[ext_resource type="AudioStream" uid="uid://ggnqjx0pm65u" path="res://Assets/SFX/Explosion.wav" id="4_ieunx"]
[ext_resource type="Texture2D" uid="uid://m8n52wtycvro" path="res://Assets/Effects/ScorchMark_albedo.png" id="5_tp0ly"]
[ext_resource type="Texture2D" uid="uid://b6ly38wgtbnfw" path="res://Assets/Effects/ScorchMark_orm.png" id="6_q3tta"]
[sub_resource type="Gradient" id="Gradient_npgj5"]
interpolation_mode = 2
offsets = PackedFloat32Array(0, 0.906977, 1)
colors = PackedColorArray(32, 32, 32, 1, 8, 8, 8, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_7sj32"]
gradient = SubResource( "Gradient_npgj5" )
use_hdr = true
[sub_resource type="ParticlesMaterial" id="ParticlesMaterial_bye5r"]
lifetime_randomness = 1.0
direction = Vector3(0, 0, -1)
spread = 120.0
initial_velocity_min = 3.0
initial_velocity_max = 8.0
damping_min = 1.25
damping_max = 1.7
angle_min = -180.0
angle_max = 180.0
scale_min = 0.3
scale_max = 0.7
color_ramp = SubResource( "GradientTexture1D_7sj32" )
hue_variation_min = -0.03
hue_variation_max = 0.07
anim_offset_max = 4.0
sub_emitter_mode = 1
sub_emitter_frequency = 30.0
sub_emitter_keep_velocity = true
collision_enabled = true
collision_friction = 0.18
collision_bounce = 0.53
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xa744"]
blend_mode = 1
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_color = Color(1, 0.890196, 0.239216, 1)
albedo_texture = ExtResource( "2_pyxv8" )
texture_filter = 1
disable_receive_shadows = true
billboard_mode = 3
particles_anim_h_frames = 2
particles_anim_v_frames = 2
particles_anim_loop = false
proximity_fade_distance = 0.1
[sub_resource type="QuadMesh" id="QuadMesh_aihhf"]
material = SubResource( "StandardMaterial3D_xa744" )
[sub_resource type="Gradient" id="Gradient_s4cup"]
interpolation_mode = 2
offsets = PackedFloat32Array(0, 0.0216998, 0.101266, 0.177215, 0.184448, 1)
colors = PackedColorArray(0, 0, 0, 1, 2, 1.66, 0.88, 1, 1, 0.510755, 0.116048, 1, 0.347656, 0.148293, 0.0503992, 1, 0.117188, 0.117188, 0.117188, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_1ongl"]
gradient = SubResource( "Gradient_s4cup" )
use_hdr = true
[sub_resource type="Curve" id="Curve_xub2l"]
_data = [Vector2(0, 0.154545), 0.0, 1.40979, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
[sub_resource type="CurveTexture" id="CurveTexture_n25a7"]
curve = SubResource( "Curve_xub2l" )
[sub_resource type="ParticlesMaterial" id="ParticlesMaterial_fp0kq"]
lifetime_randomness = 0.25
direction = Vector3(0, 0, -1)
spread = 120.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 5.0
initial_velocity_max = 10.0
angular_velocity_min = -5.0
angular_velocity_max = 5.0
damping_min = 20.0
damping_max = 26.0
angle_min = -180.0
angle_max = 180.0
scale_min = 1.5
scale_max = 2.0
scale_curve = SubResource( "CurveTexture_n25a7" )
color_ramp = SubResource( "GradientTexture1D_1ongl" )
hue_variation_min = -0.01
hue_variation_max = 0.01
anim_offset_max = 4.0
collision_enabled = true
collision_friction = 1.0
collision_use_scale = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eernl"]
blend_mode = 1
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_texture = ExtResource( "2_pyxv8" )
disable_receive_shadows = true
billboard_mode = 3
particles_anim_h_frames = 2
particles_anim_v_frames = 2
particles_anim_loop = false
proximity_fade_enable = true
proximity_fade_distance = 0.25
[sub_resource type="QuadMesh" id="QuadMesh_n7yo0"]
material = SubResource( "StandardMaterial3D_eernl" )
[sub_resource type="GradientTexture1D" id="GradientTexture1D_avcby"]
gradient = SubResource( "Gradient_s4cup" )
use_hdr = true
[sub_resource type="ParticlesMaterial" id="ParticlesMaterial_cknm1"]
direction = Vector3(0, 0, -1)
spread = 120.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 5.0
initial_velocity_max = 10.0
angular_velocity_min = -5.0
angular_velocity_max = 5.0
damping_min = 20.0
damping_max = 26.0
angle_min = -180.0
angle_max = 180.0
scale_min = 7.0
scale_max = 8.0
scale_curve = SubResource( "CurveTexture_n25a7" )
color_ramp = SubResource( "GradientTexture1D_avcby" )
hue_variation_min = -0.01
hue_variation_max = 0.01
anim_offset_max = 4.0
collision_enabled = true
collision_friction = 1.0
collision_use_scale = true
[sub_resource type="StandardMaterial3D" id="5"]
blend_mode = 1
shading_mode = 0
albedo_color = Color(1, 0, 0.00784314, 1)
albedo_texture = ExtResource( "2_pyxv8" )
uv1_scale = Vector3(0.5, 0.5, 1)
[sub_resource type="QuadMesh" id="6"]
material = SubResource( "5" )
size = Vector2(0.25, 0.25)
[sub_resource type="OpenSimplexNoise" id="OpenSimplexNoise_smcfq"]
persistence = 0.8
[sub_resource type="NoiseTexture" id="NoiseTexture_c4len"]
width = 256
height = 256
seamless = true
noise = SubResource( "OpenSimplexNoise_smcfq" )
[sub_resource type="Animation" id="7"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("OmniLight3D:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 0.929412, 0, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("OmniLight3D:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="8"]
resource_name = "anim"
length = 0.2
step = 0.05
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("OmniLight3D:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 0.905882, 0.34902, 1), Color(0.666667, 0.270588, 0, 1), Color(0, 0, 0, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("OmniLight3D:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(0.15932, 1),
"update": 0,
"values": [3.0, 0.0]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("OmniLight3D")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
[sub_resource type="Animation" id="Animation_itp5v"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Decal:distance_fade_begin")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [20.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Decal:distance_fade_length")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [10.0]
}
[sub_resource type="Animation" id="Animation_55he2"]
resource_name = "Splat"
length = 15.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MeshInstance3D")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Decal:distance_fade_begin")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(5, 15),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [10.0, -10.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Decal:distance_fade_length")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(5, 15),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [10.0, 0.0]
}
tracks/4/type = "method"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(15),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
[node name="Impact" type="Node3D"]
script = ExtResource( "1_7cd22" )
[node name="Tracers" type="GPUParticles3D" parent="."]
layers = 2
emitting = false
amount = 16
sub_emitter = NodePath("Smoke")
one_shot = true
speed_scale = 2.5
explosiveness = 1.0
randomness = 0.5
fixed_fps = 120
local_coords = false
trail_length_secs = 0.66
process_material = SubResource( "ParticlesMaterial_bye5r" )
draw_pass_1 = SubResource( "QuadMesh_aihhf" )
[node name="Smoke" type="GPUParticles3D" parent="Tracers"]
layers = 2
emitting = false
amount = 128
lifetime = 1.26
fixed_fps = 0
local_coords = false
trail_length_secs = 0.72
process_material = SubResource( "ParticlesMaterial_fp0kq" )
draw_pass_1 = SubResource( "QuadMesh_n7yo0" )
[node name="Explosion" type="GPUParticles3D" parent="."]
layers = 2
emitting = false
one_shot = true
explosiveness = 1.0
fixed_fps = 60
local_coords = false
trail_length_secs = 0.72
process_material = SubResource( "ParticlesMaterial_cknm1" )
draw_pass_1 = SubResource( "QuadMesh_n7yo0" )
[node name="Timer" type="Timer" parent="."]
wait_time = 15.0
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 1.06581e-14, 0, -1.06581e-14, 1, 0, 0.00379224, 0)
visible = false
mesh = SubResource( "6" )
surface_material_override/0 = null
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.369677, 0)
light_color = Color(1, 0.929412, 0, 1)
light_projector = SubResource( "NoiseTexture_c4len" )
light_size = 1.0
shadow_enabled = true
omni_range = 15.0
omni_attenuation = 2.63902
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "anim"
anims/RESET = SubResource( "7" )
anims/anim = SubResource( "8" )
[node name="SoundPlayer" parent="." instance=ExtResource( "3_3wksr" )]
SoundClip = "res://Assets/SFX/Weapons_BulletHitWall_01.wav"
AutoPlay = true
RandomizePitch = 0.1
[node name="AudioStreamPlayer3D" parent="SoundPlayer" index="0"]
stream = ExtResource( "4_ieunx" )
unit_size = 8.0
pitch_scale = 0.9
autoplay = true
[node name="AnimationPlayer2" type="AnimationPlayer" parent="."]
autoplay = "Splat"
anims/RESET = SubResource( "Animation_itp5v" )
anims/Splat = SubResource( "Animation_55he2" )
[node name="Decal" type="Decal" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
extents = Vector3(1.5, 1, 1.5)
texture_albedo = ExtResource( "5_tp0ly" )
texture_orm = ExtResource( "6_q3tta" )
upper_fade = 0.00618518
lower_fade = 0.023084
distance_fade_enabled = true
distance_fade_begin = 20.0
distance_fade_length = 10.0
cull_mask = 1
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
[editable path="SoundPlayer"]

View File

@ -1,33 +1,115 @@
[gd_scene load_steps=18 format=3 uid="uid://d1yx12uryxl26"]
[gd_scene load_steps=26 format=3 uid="uid://d1yx12uryxl26"]
[ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2"]
[ext_resource type="Texture2D" uid="uid://pnh872qjk0oy" path="res://Assets/Effects/Flame.png" id="2"]
[ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="3_oh3bk"]
[ext_resource type="Texture2D" uid="uid://cb584onhet4nd" path="res://Assets/Decals/BulletHits/BulletHitConcrete_albedo.png" id="4_6wvg3"]
[ext_resource type="AudioStream" uid="uid://c847pi2pieg25" path="res://Assets/SFX/Weapons_BulletHitWall_02.wav" id="4_hrtky"]
[ext_resource type="Texture2D" uid="uid://bs08bclmrvacp" path="res://Assets/Decals/BulletHits/BulletHitConcrete_normal.png" id="5_fr6k3"]
[ext_resource type="Texture2D" uid="uid://ddncj1g0e27m8" path="res://Assets/Decals/BulletHits/BulletHitConcrete_orm.png" id="6_0nm8w"]
[sub_resource type="StandardMaterial3D" id="1"]
[sub_resource type="Gradient" id="Gradient_npgj5"]
interpolation_mode = 2
offsets = PackedFloat32Array(0, 0.906977, 1)
colors = PackedColorArray(32, 32, 32, 1, 8, 8, 8, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_7sj32"]
gradient = SubResource( "Gradient_npgj5" )
use_hdr = true
[sub_resource type="ParticlesMaterial" id="ParticlesMaterial_kt8t6"]
lifetime_randomness = 1.0
direction = Vector3(0, 0, -1)
spread = 50.0
initial_velocity_min = 2.0
initial_velocity_max = 6.0
damping_min = 1.25
damping_max = 1.7
angle_min = -180.0
angle_max = 180.0
scale_min = 0.1
scale_max = 0.15
color_ramp = SubResource( "GradientTexture1D_7sj32" )
hue_variation_min = -0.03
hue_variation_max = 0.07
anim_offset_max = 4.0
sub_emitter_mode = 1
sub_emitter_frequency = 100.0
sub_emitter_keep_velocity = true
collision_enabled = true
collision_friction = 0.18
collision_bounce = 0.53
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xa744"]
blend_mode = 1
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_color = Color(1, 0.890196, 0.239216, 1)
albedo_texture = ExtResource( "2" )
texture_filter = 1
disable_receive_shadows = true
billboard_mode = 3
particles_anim_h_frames = 2
particles_anim_v_frames = 2
particles_anim_loop = false
proximity_fade_distance = 0.1
[sub_resource type="QuadMesh" id="2"]
material = SubResource( "1" )
size = Vector2(0.2, 0.2)
[sub_resource type="QuadMesh" id="QuadMesh_aihhf"]
material = SubResource( "StandardMaterial3D_xa744" )
[sub_resource type="Curve" id="3"]
_data = [Vector2(0, 0.981818), 0.0, -1.7826, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
[sub_resource type="Gradient" id="Gradient_s4cup"]
interpolation_mode = 2
offsets = PackedFloat32Array(0, 0.0216998, 0.101266, 0.177215, 0.184448, 1)
colors = PackedColorArray(0, 0, 0, 1, 2, 1.66, 0.88, 1, 1, 0.510755, 0.116048, 1, 0.347656, 0.148293, 0.0503992, 1, 0.117188, 0.117188, 0.117188, 1, 0, 0, 0, 1)
[sub_resource type="Gradient" id="4"]
offsets = PackedFloat32Array(0, 0.06, 0.14, 0.26, 0.675, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 0.96283, 0.660156, 1, 1, 0.827423, 0.238281, 1, 1, 0.509949, 0.152344, 1, 0.34375, 0.0725098, 0, 1, 0.035, 0.035, 0.035, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_avcby"]
gradient = SubResource( "Gradient_s4cup" )
use_hdr = true
[sub_resource type="Curve" id="Curve_xub2l"]
_data = [Vector2(0, 0.154545), 0.0, 1.40979, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
[sub_resource type="CurveTexture" id="CurveTexture_n25a7"]
curve = SubResource( "Curve_xub2l" )
[sub_resource type="ParticlesMaterial" id="ParticlesMaterial_cknm1"]
direction = Vector3(0, 0, -1)
spread = 120.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 5.0
initial_velocity_max = 10.0
angular_velocity_min = -5.0
angular_velocity_max = 5.0
damping_min = 20.0
damping_max = 26.0
angle_min = -180.0
angle_max = 180.0
scale_min = 7.0
scale_max = 8.0
scale_curve = SubResource( "CurveTexture_n25a7" )
color_ramp = SubResource( "GradientTexture1D_avcby" )
hue_variation_min = -0.01
hue_variation_max = 0.01
anim_offset_max = 4.0
collision_enabled = true
collision_friction = 1.0
collision_use_scale = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eernl"]
blend_mode = 1
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_texture = ExtResource( "2" )
disable_receive_shadows = true
billboard_mode = 3
particles_anim_h_frames = 2
particles_anim_v_frames = 2
particles_anim_loop = false
proximity_fade_enable = true
proximity_fade_distance = 0.25
[sub_resource type="QuadMesh" id="QuadMesh_n7yo0"]
material = SubResource( "StandardMaterial3D_eernl" )
[sub_resource type="StandardMaterial3D" id="5"]
blend_mode = 1
@ -93,7 +175,21 @@ tracks/1/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(0.15932, 1),
"update": 0,
"values": [1.0, 0.0]
"values": [3.0, 0.0]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("OmniLight3D")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
[sub_resource type="Animation" id="Animation_itp5v"]
@ -206,21 +302,32 @@ tracks/4/keys = {
[node name="Impact" type="Node3D"]
script = ExtResource( "1" )
[node name="Particles" type="CPUParticles3D" parent="."]
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 2
emitting = false
amount = 32
lifetime = 0.33
one_shot = true
explosiveness = 1.0
randomness = 0.5
fixed_fps = 120
local_coords = false
mesh = SubResource( "2" )
particle_flag_rotate_y = true
direction = Vector3(0, 1, 0)
spread = 180.0
initial_velocity_min = 0.5
initial_velocity_max = 4.0
scale_amount_curve = SubResource( "3" )
color_ramp = SubResource( "4" )
anim_offset_max = 1.0
trail_length_secs = 0.15
process_material = SubResource( "ParticlesMaterial_kt8t6" )
draw_pass_1 = SubResource( "QuadMesh_aihhf" )
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 2
emitting = false
amount = 3
lifetime = 2.0
one_shot = true
explosiveness = 1.0
fixed_fps = 60
local_coords = false
transform_align = 2
trail_length_secs = 0.72
process_material = SubResource( "ParticlesMaterial_cknm1" )
draw_pass_1 = SubResource( "QuadMesh_n7yo0" )
[node name="Timer" type="Timer" parent="."]
wait_time = 15.0
@ -229,6 +336,7 @@ wait_time = 15.0
transform = Transform3D(1, 0, 0, 0, 1, 1.06581e-14, 0, -1.06581e-14, 1, 0, 0.00379224, 0)
visible = false
mesh = SubResource( "6" )
surface_material_override/0 = null
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.369677, 0)
@ -257,7 +365,7 @@ anims/RESET = SubResource( "Animation_itp5v" )
anims/Splat = SubResource( "Animation_55he2" )
[node name="Decal" type="Decal" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -0.0171875)
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
extents = Vector3(0.1, 0.5, 0.1)
texture_albedo = ExtResource( "4_6wvg3" )
texture_normal = ExtResource( "5_fr6k3" )

BIN
Game/Assets/SFX/Explosion.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
[remap]
importer="wav"
type="AudioStreamSample"
uid="uid://ggnqjx0pm65u"
path="res://.godot/imported/Explosion.wav-14a6f6b0546e3979bd6ddf97aa2724c0.sample"
[deps]
source_file="res://Assets/SFX/Explosion.wav"
dest_files=["res://.godot/imported/Explosion.wav-14a6f6b0546e3979bd6ddf97aa2724c0.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop=false
compress/mode=0

View File

@ -12,6 +12,7 @@ var casing = preload("res://Assets/Weapons/Handgun/Casing.tscn")
var flash = preload("res://Assets/Effects/MuzzleFlash.tscn")
var tracer = preload("res://Assets/Effects/BulletTracer.tscn")
var impact_wall = preload("res://Assets/Effects/ImpactSparks.tscn")
#var impact_wall = preload("res://Assets/Effects/ImpactExplosion.tscn")
var flyby_sound = preload("res://Assets/Audio/BulletFlyBySoundPlayer.tscn")
@ -170,10 +171,20 @@ func give_damage(target: Node, hit_position: Vector3, hit_normal: Vector3, damag
target.rpc(&'take_damage', get_multiplayer_authority(), hit_position, hit_normal, damage, source_position, type, push)
else:
# TODO take data from the material of the target and spawn an appropriate hit effect
var impact_vfx = impact_wall.instantiate()
impact_vfx.global_transform = impact_vfx.global_transform.looking_at(hit_normal)
impact_vfx.global_transform.origin = hit_position
var impact_vfx : Node = impact_wall.instantiate()
get_tree().root.add_child(impact_vfx)
impact_vfx.global_transform.origin = hit_position
#print(impact_vfx.global_transform)
var result = impact_vfx.look_at(hit_position + hit_normal)
if not result: # if the look_at failed (as it will on floors and ceilings) try another approach:
impact_vfx.look_at(hit_position + hit_normal, Vector3.LEFT)
impact_vfx.rotate(hit_normal, randf_range(0, PI * 2))
#print(impact_vfx.global_transform)
func trigger(index: int, active: bool) -> void:
#print("Weapon " + str(name) + ", Trigger " + str(index) + ", active: " + str(active))