This commit is contained in:
Rendo 2025-12-17 00:03:57 +05:00
commit 0708498715
34 changed files with 13752 additions and 7543 deletions

Binary file not shown.

View file

@ -6,6 +6,7 @@ func _on_visibility_changed() -> void:
process_mode = Node.PROCESS_MODE_INHERIT if visible else Node.PROCESS_MODE_DISABLED process_mode = Node.PROCESS_MODE_INHERIT if visible else Node.PROCESS_MODE_DISABLED
func _process(_delta: float) -> void: func _process(_delta: float) -> void:
return
if player_id == -1: if player_id == -1:
%PlayerNickname.text = "" %PlayerNickname.text = ""
%Money.text = "" %Money.text = ""

View file

@ -64,6 +64,54 @@ use_collision = true
size = Vector3(1.5958366, 1.7258911, 1.7827377) size = Vector3(1.5958366, 1.7258911, 1.7827377)
material = ExtResource("5_foctg") material = ExtResource("5_foctg")
[node name="CSGBox3D33" type="CSGBox3D" parent="."]
transform = Transform3D(0.92477864, 0, 0.38050553, 0, 1, 0, -0.38050553, 0, 0.92477864, 23.520184, 2.5820146, 65.654816)
use_collision = true
size = Vector3(3.1851254, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGBox3D39" type="CSGBox3D" parent="."]
transform = Transform3D(0.9044105, 0, -0.42666352, 0, 1, 0, 0.42666352, 0, 0.9044105, 26.24633, 2.5820146, 73.96512)
use_collision = true
size = Vector3(3.1851254, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGBox3D34" type="CSGBox3D" parent="."]
transform = Transform3D(0.8830377, 0, -0.46930206, 0, 1, 0, 0.46930206, 0, 0.8830377, 23.520184, 2.5820146, 90.1723)
use_collision = true
size = Vector3(3.1851254, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGBox3D35" type="CSGBox3D" parent="."]
transform = Transform3D(-0.2925553, 0, 0.95624864, 0, 1, 0, -0.95624864, 0, -0.2925553, -3.2083702, 2.5820165, 88.44188)
use_collision = true
size = Vector3(3.1851254, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGBox3D37" type="CSGBox3D" parent="."]
transform = Transform3D(0.48819482, 0, 0.8727346, 0, 1, 0, -0.8727346, 0, 0.48819482, -4.4885178, 2.5820165, 72.37653)
use_collision = true
size = Vector3(3.1851254, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGBox3D38" type="CSGBox3D" parent="."]
transform = Transform3D(-0.052353293, 0, 0.9986286, 0, 1, 0, -0.9986286, 0, -0.052353293, 15.977793, 2.5820165, 56.39001)
use_collision = true
size = Vector3(8.970492, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGBox3D36" type="CSGBox3D" parent="."]
transform = Transform3D(0.39400604, 0, 0.9191078, 0, 1, 0, -0.9191078, 0, 0.39400604, 3.3317742, 2.5820165, 94.88334)
use_collision = true
size = Vector3(3.1851254, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGBox3D40" type="CSGBox3D" parent="."]
transform = Transform3D(0.28944945, 0, 0.95719326, 0, 1, 0, -0.95719326, 0, 0.28944945, 11.995628, 2.5820165, 98.357735)
use_collision = true
size = Vector3(4.3513517, 4.3287125, 3.5466423)
material = ExtResource("5_foctg")
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="."] [node name="CSGCombiner3D" type="CSGCombiner3D" parent="."]
layers = 5 layers = 5
use_collision = true use_collision = true
@ -356,6 +404,30 @@ operation = 2
size = Vector3(13.973137, 8.352661, 20.768448) size = Vector3(13.973137, 8.352661, 20.768448)
material = ExtResource("5_bno23") material = ExtResource("5_bno23")
[node name="CSGBox3D26" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D17"]
transform = Transform3D(1, 0, 0, 0, 0.9999999, 2.9802322e-08, 0, -2.9802322e-08, 0.9999999, -4.009495, -4.14641, -1.0974274)
operation = 2
size = Vector3(3.6301231, 4.774475, 54.19715)
material = ExtResource("5_bno23")
[node name="CSGBox3D28" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D17"]
transform = Transform3D(1, 0, 0, 0, 0.9999999, 2.9802322e-08, 0, -2.9802322e-08, 0.9999999, -5.740879, -4.1464105, -11.956085)
operation = 2
size = Vector3(7.0928936, 4.774475, 3.9496927)
material = ExtResource("5_bno23")
[node name="CSGBox3D29" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D17"]
transform = Transform3D(1, 0, 0, 0, 0.9999999, 2.9802322e-08, 0, -2.9802322e-08, 0.9999999, -5.740879, -4.1464105, -0.6667633)
operation = 2
size = Vector3(7.0928936, 4.774475, 3.9496927)
material = ExtResource("5_bno23")
[node name="CSGBox3D30" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D17"]
transform = Transform3D(1, 0, 0, 0, 0.9999999, 2.9802322e-08, 0, -2.9802322e-08, 0.9999999, -5.740879, -4.1464105, -0.6667633)
operation = 2
size = Vector3(7.0928936, 4.774475, 3.9496927)
material = ExtResource("5_bno23")
[node name="CSGBox3D21" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D17"] [node name="CSGBox3D21" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D17"]
transform = Transform3D(1, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 1.0720177, 6.592371, -2.357605) transform = Transform3D(1, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 1.0720177, 6.592371, -2.357605)
operation = 2 operation = 2
@ -391,6 +463,30 @@ transform = Transform3D(-4.3699842e-08, 0.02298396, -0.99973583, 1.0046608e-09,
size = Vector3(5.1586266, 9.294983, 54.072815) size = Vector3(5.1586266, 9.294983, 54.072815)
material = ExtResource("5_bno23") material = ExtResource("5_bno23")
[node name="CSGBox3D28" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D19"]
transform = Transform3D(-4.3699842e-08, -2.8797661e-08, 0.9999999, 0.02298396, 0.9997357, 2.979445e-08, -0.99973583, 0.022983959, -4.3026414e-08, -0.29299164, -1.9253736, -26.123158)
operation = 2
size = Vector3(3.6301231, 4.774475, 5.5291176)
material = ExtResource("5_bno23")
[node name="CSGBox3D29" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D19"]
transform = Transform3D(-4.3699842e-08, -2.8797661e-08, 0.9999999, 0.02298396, 0.9997357, 2.9794448e-08, -0.99973583, 0.022983959, -4.3027118e-08, 0.8085251, -2.5020893, -1.0377293)
operation = 2
size = Vector3(53.81424, 4.774475, 3.3260822)
material = ExtResource("5_bno23")
[node name="CSGBox3D31" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D19"]
transform = Transform3D(-4.3699842e-08, -2.8797661e-08, 0.9999999, 0.02298396, 0.9997357, 2.9794448e-08, -0.99973583, 0.022983959, -4.3027757e-08, -0.6167908, -2.3942354, -5.7290697)
operation = 2
size = Vector3(2.917488, 4.774475, 6.176713)
material = ExtResource("5_bno23")
[node name="CSGBox3D32" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D19"]
transform = Transform3D(-4.3699842e-08, -2.8797661e-08, 0.9999999, 0.02298396, 0.9997357, 2.9794448e-08, -0.99973583, 0.022983959, -4.3027764e-08, -0.6167908, -2.658574, 5.7689056)
operation = 2
size = Vector3(2.917488, 4.774475, 6.176713)
material = ExtResource("5_bno23")
[node name="CSGBox3D20" type="CSGCylinder3D" parent="CSGCombiner3D"] [node name="CSGBox3D20" type="CSGCylinder3D" parent="CSGCombiner3D"]
transform = Transform3D(-4.3699842e-08, 0.02298396, -0.99973583, 1.0046608e-09, 0.99973583, 0.02298396, 1, 0, -4.371139e-08, 11.633311, 10.683723, 79.82308) transform = Transform3D(-4.3699842e-08, 0.02298396, -0.99973583, 1.0046608e-09, 0.99973583, 0.02298396, 1, 0, -4.371139e-08, 11.633311, 10.683723, 79.82308)
radius = 7.570801 radius = 7.570801
@ -570,3 +666,7 @@ script = ExtResource("21_tdf5c")
[node name="Scoretable" parent="CanvasLayer" instance=ExtResource("22_ii5jc")] [node name="Scoretable" parent="CanvasLayer" instance=ExtResource("22_ii5jc")]
visible = false visible = false
[node name="GPUParticlesCollisionSDF3D" type="GPUParticlesCollisionBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1344604, -3.5910645, 35.90912)
size = Vector3(100.81775, 8.131348, 172.49011)

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,44 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ce5c0hj7iyvxs"
path.s3tc="res://.godot/imported/molikman_hands_tex_molik.png-5479da889322a85fac3d12464e70ae24.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "da8e6b435cf12d1cca3b95abbea21b6c"
}
[deps]
source_file="res://models/characters/viewmodels/molikman_hands_tex_molik.png"
dest_files=["res://.godot/imported/molikman_hands_tex_molik.png-5479da889322a85fac3d12464e70ae24.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
models/weapons/molotov.glb Normal file

Binary file not shown.

View file

@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bijrgctn1e36d"
path="res://.godot/imported/molotov.glb-cbd38b7fc7c33f17a3093f28d20bbdda.scn"
[deps]
source_file="res://models/weapons/molotov.glb"
dest_files=["res://.godot/imported/molotov.glb-cbd38b7fc7c33f17a3093f28d20bbdda.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,44 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjnxga36f5v66"
path.s3tc="res://.godot/imported/molotov_tex_molik.png-05f6158b7f6df3f970a8b97939ea92de.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "da8e6b435cf12d1cca3b95abbea21b6c"
}
[deps]
source_file="res://models/weapons/molotov_tex_molik.png"
dest_files=["res://.godot/imported/molotov_tex_molik.png-05f6158b7f6df3f970a8b97939ea92de.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

File diff suppressed because one or more lines are too long

View file

@ -30,7 +30,6 @@ func physics_update(delta: float) -> void:
var speed: float = -player.previous_velocity.y var speed: float = -player.previous_velocity.y
player.take_damage(int(damage_curve.sample(speed))) player.take_damage(int(damage_curve.sample(speed)))
print(speed)
if speed > sound_threshold: if speed > sound_threshold:
land_sound.multiplayer_play() land_sound.multiplayer_play()

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://va158xyrsvb4"
path.s3tc="res://.godot/imported/fire_particle.png-1a71aafc1167af44def43ccad6710719.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/players/molikman/molotov/fire_particle.png"
dest_files=["res://.godot/imported/fire_particle.png-1a71aafc1167af44def43ccad6710719.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0520jd5y300q"
path="res://.godot/imported/frame0000.png-bac630d51335c6bf68b2a34dc1f09fa4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/players/molikman/molotov/frame0000.png"
dest_files=["res://.godot/imported/frame0000.png-bac630d51335c6bf68b2a34dc1f09fa4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://boebtrdgircn1"
path="res://.godot/imported/frame0001.png-c23beb018239183ae1e9c3798af76d5b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/players/molikman/molotov/frame0001.png"
dest_files=["res://.godot/imported/frame0001.png-c23beb018239183ae1e9c3798af76d5b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://iub2i15vj7a7"
path="res://.godot/imported/frame0002.png-ff8054810060a24c21f011eb4461c9d9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/players/molikman/molotov/frame0002.png"
dest_files=["res://.godot/imported/frame0002.png-ff8054810060a24c21f011eb4461c9d9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://diy4n17p8qqkh"
path="res://.godot/imported/frame0003.png-5718000a560b4241f60ce9b9a5edb682.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/players/molikman/molotov/frame0003.png"
dest_files=["res://.godot/imported/frame0003.png-5718000a560b4241f60ce9b9a5edb682.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d07fcg5pnao3q"
path="res://.godot/imported/frame0004.png-ad076646fbb623576d4b143830242e79.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/players/molikman/molotov/frame0004.png"
dest_files=["res://.godot/imported/frame0004.png-ad076646fbb623576d4b143830242e79.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -17,7 +17,7 @@ metadata/_snap_count = 8
[sub_resource type="Curve" id="Curve_jk5g7"] [sub_resource type="Curve" id="Curve_jk5g7"]
[sub_resource type="Curve" id="Curve_bwg3m"] [sub_resource type="Curve" id="Curve_bwg3m"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.25301203, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.4956268, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3 point_count = 3
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_bwg3m"] [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_bwg3m"]
@ -54,8 +54,8 @@ vertical_curve = SubResource("Curve_cmn6f")
horizontal_curve = SubResource("Curve_jk5g7") horizontal_curve = SubResource("Curve_jk5g7")
damage_reduction_curve = SubResource("Curve_bwg3m") damage_reduction_curve = SubResource("Curve_bwg3m")
torso_pellet_damage = 6 torso_pellet_damage = 6
head_pellet_damage = 24 head_pellet_damage = 10
limb_pellet_damage = 6 limb_pellet_damage = 4
pellet_spread = NodePath("../PelletSpread") pellet_spread = NodePath("../PelletSpread")
shoot_distance = 40.0 shoot_distance = 40.0
fire_timer = NodePath("../FireTimer") fire_timer = NodePath("../FireTimer")

View file

@ -24,3 +24,5 @@ func _physics_process(delta: float) -> void:
var normal = collision.get_normal() var normal = collision.get_normal()
velocity = velocity.bounce(normal) * 0.5 velocity = velocity.bounce(normal) * 0.5
$MultiplayerAudio3D.multiplayer_play() $MultiplayerAudio3D.multiplayer_play()
$molotov2.quaternion *= Quaternion($molotov2.basis.y, velocity.normalized())

View file

@ -1,16 +1,13 @@
[gd_scene load_steps=8 format=3 uid="uid://b6qahd6q60js7"] [gd_scene load_steps=8 format=3 uid="uid://b6qahd6q60js7"]
[ext_resource type="Script" uid="uid://y1s64ppporww" path="res://weapons/molikman/molik/molik.gd" id="1_aqokr"] [ext_resource type="Script" uid="uid://y1s64ppporww" path="res://weapons/molikman/molik/molik.gd" id="1_aqokr"]
[ext_resource type="PackedScene" uid="uid://bijrgctn1e36d" path="res://models/weapons/molotov.glb" id="2_dcuri"]
[ext_resource type="AudioStream" uid="uid://dm52cfih0gboj" path="res://audio/molik_bounce.ogg" id="2_fb3en"] [ext_resource type="AudioStream" uid="uid://dm52cfih0gboj" path="res://audio/molik_bounce.ogg" id="2_fb3en"]
[ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://audio/audio_system/multiplayer_audio_3d.gd" id="3_jwbhs"] [ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://audio/audio_system/multiplayer_audio_3d.gd" id="3_jwbhs"]
[ext_resource type="AudioStream" uid="uid://blnblkd6eoldv" path="res://audio/molik_idle.ogg" id="4_jwbhs"] [ext_resource type="AudioStream" uid="uid://blnblkd6eoldv" path="res://audio/molik_idle.ogg" id="4_jwbhs"]
[sub_resource type="SphereMesh" id="SphereMesh_fwcyt"]
radius = 0.05
height = 0.1
[sub_resource type="SphereShape3D" id="SphereShape3D_aqokr"] [sub_resource type="SphereShape3D" id="SphereShape3D_aqokr"]
radius = 0.05 radius = 0.1353373
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_6ic6f"] [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_6ic6f"]
properties/0/path = NodePath(".:position") properties/0/path = NodePath(".:position")
@ -21,8 +18,7 @@ properties/0/replication_mode = 1
collision_layer = 8 collision_layer = 8
script = ExtResource("1_aqokr") script = ExtResource("1_aqokr")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [node name="molotov2" parent="." instance=ExtResource("2_dcuri")]
mesh = SubResource("SphereMesh_fwcyt")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."] [node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_aqokr") shape = SubResource("SphereShape3D_aqokr")

View file

@ -15,7 +15,7 @@ properties/1/replication_mode = 1
[node name="MolikmanMolik" type="Node" node_paths=PackedStringArray("enter_state")] [node name="MolikmanMolik" type="Node" node_paths=PackedStringArray("enter_state")]
script = ExtResource("1_e53aq") script = ExtResource("1_e53aq")
animation_prefix = &"baked_sp_" animation_prefix = &"baked_mm_molik_"
weapon_gid = &"mm_molik" weapon_gid = &"mm_molik"
max_ammo = 1 max_ammo = 1
ammo_mags = 0 ammo_mags = 0

View file

@ -1,41 +1,165 @@
[gd_scene load_steps=15 format=3 uid="uid://l4t1mflutm3t"] [gd_scene load_steps=31 format=3 uid="uid://l4t1mflutm3t"]
[ext_resource type="Texture2D" uid="uid://bmnqvop2dy5pm" path="res://textures/prototype_yellow_256x256.png" id="1_hr7p8"]
[ext_resource type="Script" uid="uid://bo0ij4miuksua" path="res://weapons/molikman/molik/molikman_molotov_fire.gd" id="1_qokq0"] [ext_resource type="Script" uid="uid://bo0ij4miuksua" path="res://weapons/molikman/molik/molikman_molotov_fire.gd" id="1_qokq0"]
[ext_resource type="Texture2D" uid="uid://b8aqstr5es5x4" path="res://textures/prototype_orange_256x256.png" id="2_qokq0"] [ext_resource type="Texture2D" uid="uid://d0520jd5y300q" path="res://textures/players/molikman/molotov/frame0000.png" id="2_fm7jn"]
[ext_resource type="Texture2D" uid="uid://boebtrdgircn1" path="res://textures/players/molikman/molotov/frame0001.png" id="3_18xly"]
[ext_resource type="Script" uid="uid://fdikw4xjemdk" path="res://weapons/molikman/molik/molotov_animation.gd" id="4_6lhod"] [ext_resource type="Script" uid="uid://fdikw4xjemdk" path="res://weapons/molikman/molik/molotov_animation.gd" id="4_6lhod"]
[ext_resource type="Texture2D" uid="uid://iub2i15vj7a7" path="res://textures/players/molikman/molotov/frame0002.png" id="4_wpp30"]
[ext_resource type="Texture2D" uid="uid://diy4n17p8qqkh" path="res://textures/players/molikman/molotov/frame0003.png" id="5_66mwf"]
[ext_resource type="AudioStream" uid="uid://b7sxkxs7vn4d" path="res://audio/molik_land.ogg" id="5_cq8ds"] [ext_resource type="AudioStream" uid="uid://b7sxkxs7vn4d" path="res://audio/molik_land.ogg" id="5_cq8ds"]
[ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://audio/audio_system/multiplayer_audio_3d.gd" id="6_apqju"] [ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://audio/audio_system/multiplayer_audio_3d.gd" id="6_apqju"]
[ext_resource type="Texture2D" uid="uid://d07fcg5pnao3q" path="res://textures/players/molikman/molotov/frame0004.png" id="6_bt4sy"]
[ext_resource type="Texture2D" uid="uid://va158xyrsvb4" path="res://textures/players/molikman/molotov/fire_particle.png" id="7_18xly"]
[ext_resource type="AudioStream" uid="uid://blnblkd6eoldv" path="res://audio/molik_idle.ogg" id="7_apqju"] [ext_resource type="AudioStream" uid="uid://blnblkd6eoldv" path="res://audio/molik_idle.ogg" id="7_apqju"]
[sub_resource type="BoxShape3D" id="BoxShape3D_ykxjp"] [sub_resource type="Animation" id="Animation_m625o"]
resource_local_to_scene = true resource_name = "main"
size = Vector3(7.5, 3, 7.5) loop_mode = 1
step = 0.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Decal:texture_albedo")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.2, 0.4, 0.6, 0.8),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [ExtResource("2_fm7jn"), ExtResource("3_18xly"), ExtResource("4_wpp30"), ExtResource("5_66mwf"), ExtResource("6_bt4sy")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Decal:texture_emission")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.2, 0.4, 0.6, 0.8),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [ExtResource("2_fm7jn"), ExtResource("3_18xly"), ExtResource("4_wpp30"), ExtResource("5_66mwf"), ExtResource("6_bt4sy")]
}
[sub_resource type="Gradient" id="Gradient_hr7p8"] [sub_resource type="Animation" id="Animation_bwl5g"]
colors = PackedColorArray(1, 0.53333336, 0, 1, 0.45, 0.45, 0.45, 1) length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Decal:texture_albedo")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("2_fm7jn")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Decal:texture_emission")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("2_fm7jn")]
}
[sub_resource type="GradientTexture1D" id="GradientTexture1D_qokq0"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_oujc3"]
gradient = SubResource("Gradient_hr7p8") _data = {
&"RESET": SubResource("Animation_bwl5g"),
&"main": SubResource("Animation_m625o")
}
[sub_resource type="CylinderShape3D" id="CylinderShape3D_fm7jn"]
radius = 3.5
[sub_resource type="Gradient" id="Gradient_18xly"]
colors = PackedColorArray(1, 1, 1, 1, 0.3511727, 0.057953462, 7.219613e-08, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_wpp30"]
gradient = SubResource("Gradient_18xly")
[sub_resource type="Curve" id="Curve_wpp30"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_66mwf"]
curve = SubResource("Curve_wpp30")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_hr7p8"] [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_hr7p8"]
resource_local_to_scene = true resource_local_to_scene = true
emission_shape = 3 emission_shape = 3
emission_box_extents = Vector3(3.75, 1.5, 3.75) emission_box_extents = Vector3(3.75, 0, 3.75)
direction = Vector3(0, 1, 0) direction = Vector3(0, 1, 0)
initial_velocity_max = 3.4499998 spread = 0.0
initial_velocity_min = 1.0
initial_velocity_max = 4.0
orbit_velocity_min = -0.46899992 orbit_velocity_min = -0.46899992
orbit_velocity_max = 0.4130001 orbit_velocity_max = 0.4130001
gravity = Vector3(0, 0, 0) gravity = Vector3(0, 0, 0)
tangential_accel_min = -3.4500022 linear_accel_min = -2.2351742e-06
tangential_accel_max = 2.0699978 linear_accel_max = 4.9999976
color_ramp = SubResource("GradientTexture1D_qokq0") scale_curve = SubResource("CurveTexture_66mwf")
color_ramp = SubResource("GradientTexture1D_wpp30")
turbulence_enabled = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qokq0"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bt4sy"]
transparency = 1
shading_mode = 0
vertex_color_use_as_albedo = true
vertex_color_is_srgb = true
albedo_texture = ExtResource("7_18xly")
texture_filter = 0
billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="TextMesh" id="TextMesh_33jv6"] [sub_resource type="QuadMesh" id="QuadMesh_m625o"]
material = SubResource("StandardMaterial3D_qokq0") material = SubResource("StandardMaterial3D_bt4sy")
text = "fire" size = Vector2(0.25, 0.25)
[sub_resource type="Gradient" id="Gradient_wpp30"]
colors = PackedColorArray(1, 1, 1, 1, 1, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_66mwf"]
gradient = SubResource("Gradient_wpp30")
[sub_resource type="Curve" id="Curve_bt4sy"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.7422681, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_m625o"]
curve = SubResource("Curve_bt4sy")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_18xly"]
direction = Vector3(0, 1, 0)
initial_velocity_min = 10.0
initial_velocity_max = 15.0
scale_curve = SubResource("CurveTexture_m625o")
color_ramp = SubResource("GradientTexture1D_66mwf")
collision_mode = 1
collision_friction = 0.53
collision_bounce = 0.53
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wpp30"]
transparency = 1
shading_mode = 0
vertex_color_use_as_albedo = true
vertex_color_is_srgb = true
albedo_texture = ExtResource("7_18xly")
texture_filter = 0
billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_66mwf"]
material = SubResource("StandardMaterial3D_wpp30")
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_ykxjp"] [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_ykxjp"]
properties/0/path = NodePath(".:position") properties/0/path = NodePath(".:position")
@ -54,19 +178,35 @@ damage_timer = NodePath("DamageTimer")
[node name="Decal" type="Decal" parent="."] [node name="Decal" type="Decal" parent="."]
size = Vector3(7.5, 3, 7.5) size = Vector3(7.5, 3, 7.5)
texture_albedo = ExtResource("1_hr7p8") texture_albedo = ExtResource("2_fm7jn")
texture_emission = ExtResource("2_qokq0") texture_emission = ExtResource("2_fm7jn")
emission_energy = 0.25 emission_energy = 0.25
cull_mask = 1048572 cull_mask = 1048572
[node name="CollisionShape3D" type="CollisionShape3D" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
shape = SubResource("BoxShape3D_ykxjp") libraries = {
&"": SubResource("AnimationLibrary_oujc3")
}
autoplay = "main"
[node name="GPUParticles3D" type="GPUParticles3D" parent="."] [node name="CollisionShape3D" type="CollisionShape3D" parent="."]
amount = 16 shape = SubResource("CylinderShape3D_fm7jn")
transform_align = 1
[node name="IdleParticles" type="GPUParticles3D" parent="."]
amount = 32
lifetime = 2.0
process_material = SubResource("ParticleProcessMaterial_hr7p8") process_material = SubResource("ParticleProcessMaterial_hr7p8")
draw_pass_1 = SubResource("TextMesh_33jv6") draw_pass_1 = SubResource("QuadMesh_m625o")
[node name="InitialParticles" type="GPUParticles3D" parent="."]
emitting = false
amount = 16
lifetime = 4.0
one_shot = true
explosiveness = 1.0
collision_base_size = 0.25
process_material = SubResource("ParticleProcessMaterial_18xly")
draw_pass_1 = SubResource("QuadMesh_66mwf")
[node name="DieTimer" type="Timer" parent="."] [node name="DieTimer" type="Timer" parent="."]
wait_time = 15.0 wait_time = 15.0
@ -84,7 +224,7 @@ replication_config = SubResource("SceneReplicationConfig_ykxjp")
script = ExtResource("4_6lhod") script = ExtResource("4_6lhod")
die_timer = NodePath("../DieTimer") die_timer = NodePath("../DieTimer")
decal = NodePath("../Decal") decal = NodePath("../Decal")
gpu_particles = NodePath("../GPUParticles3D") gpu_particles = NodePath("../IdleParticles")
collision_shape = NodePath("../CollisionShape3D") collision_shape = NodePath("../CollisionShape3D")
expansion_mult = 1.333 expansion_mult = 1.333

View file

@ -7,6 +7,8 @@ extends Node
@export var expansion_mult: float = 2.0 @export var expansion_mult: float = 2.0
func _ready() -> void: func _ready() -> void:
$"../InitialParticles".restart()
var tween: Tween = create_tween().set_parallel() var tween: Tween = create_tween().set_parallel()
var time:float = die_timer.wait_time-5.0 var time:float = die_timer.wait_time-5.0
@ -14,8 +16,7 @@ func _ready() -> void:
tween.tween_property(decal,"size:x",decal.size.x * expansion_mult,time) tween.tween_property(decal,"size:x",decal.size.x * expansion_mult,time)
tween.tween_property(decal,"size:z",decal.size.z * expansion_mult,time) tween.tween_property(decal,"size:z",decal.size.z * expansion_mult,time)
if multiplayer.is_server(): if multiplayer.is_server():
tween.tween_property(collision_shape.shape,"size:x",decal.size.x*expansion_mult,time) tween.tween_property(collision_shape.shape,"radius",decal.size.x*expansion_mult*0.5,time)
tween.tween_property(collision_shape.shape,"size:z",decal.size.z*expansion_mult,time)
tween.tween_property(gpu_particles.process_material,"emission_box_extents:x",gpu_particles.process_material.emission_box_extents.x*expansion_mult,time) tween.tween_property(gpu_particles.process_material,"emission_box_extents:x",gpu_particles.process_material.emission_box_extents.x*expansion_mult,time)
tween.tween_property(gpu_particles.process_material,"emission_box_extents:y",gpu_particles.process_material.emission_box_extents.y*expansion_mult,time) tween.tween_property(gpu_particles.process_material,"emission_box_extents:y",gpu_particles.process_material.emission_box_extents.y*expansion_mult,time)
@ -30,6 +31,5 @@ func die() -> void:
tween.tween_property(gpu_particles.process_material,"emission_box_extents:x",1.0,time) tween.tween_property(gpu_particles.process_material,"emission_box_extents:x",1.0,time)
tween.tween_property(gpu_particles.process_material,"emission_box_extents:y",1.0,time) tween.tween_property(gpu_particles.process_material,"emission_box_extents:y",1.0,time)
if multiplayer.is_server(): if multiplayer.is_server():
tween.tween_property(collision_shape.shape,"size:x",1.0,time) tween.tween_property(collision_shape.shape,"radius",1.0,time)
tween.tween_property(collision_shape.shape,"size:z",1.0,time)
tween.chain().tween_callback(get_parent().queue_free) tween.chain().tween_callback(get_parent().queue_free)

View file

@ -26,4 +26,4 @@ func fire() -> void:
machine.animation_player.stop() machine.animation_player.stop()
machine.animation_player.play(machine.animation_prefix + "shoot") machine.animation_player.play(machine.animation_prefix + "throw")