full multiplayer plus new models
BIN
Assets/Textures/bush.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
34
Assets/Textures/bush.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://drbfdp7kugbri"
|
||||||
|
path="res://.godot/imported/bush.png-a6c82829fcb64df130cd76e0fff091d0.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Textures/bush.png"
|
||||||
|
dest_files=["res://.godot/imported/bush.png-a6c82829fcb64df130cd76e0fff091d0.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
Assets/Textures/bush.png~
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
Assets/Textures/dirt.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
34
Assets/Textures/dirt.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cnvndwp3q7rke"
|
||||||
|
path="res://.godot/imported/dirt.png-b7d765add9f3db18f86c41222bdb9877.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Textures/dirt.png"
|
||||||
|
dest_files=["res://.godot/imported/dirt.png-b7d765add9f3db18f86c41222bdb9877.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
Assets/Textures/grassydirt.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c5tgmdqqpg2x"
|
uid="uid://cq2s0qsp26qa1"
|
||||||
path="res://.godot/imported/icon.svg-8c0dfe7377b8350deb604d8d5f0f7e7b.ctex"
|
path="res://.godot/imported/grassydirt.png-9eba1411debd33adad4958931e36d232.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://Assets/Textures/icon.svg"
|
source_file="res://Assets/Textures/grassydirt.png"
|
||||||
dest_files=["res://.godot/imported/icon.svg-8c0dfe7377b8350deb604d8d5f0f7e7b.ctex"]
|
dest_files=["res://.godot/imported/grassydirt.png-9eba1411debd33adad4958931e36d232.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@ -32,6 +32,3 @@ process/hdr_as_srgb=false
|
|||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=1
|
||||||
svg/scale=1.0
|
|
||||||
editor/scale_with_editor_scale=false
|
|
||||||
editor/convert_colors_with_editor_theme=false
|
|
@ -1 +0,0 @@
|
|||||||
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 813 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H447l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c3 34 55 34 58 0v-86c-3-34-55-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
|
|
Before Width: | Height: | Size: 950 B |
BIN
Assets/Textures/logo_title.png
Normal file
After Width: | Height: | Size: 51 KiB |
34
Assets/Textures/logo_title.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://lvvnrb5jugum"
|
||||||
|
path="res://.godot/imported/logo_title.png-584bbd0c554e5d25a7b89d32d9b2447e.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Textures/logo_title.png"
|
||||||
|
dest_files=["res://.godot/imported/logo_title.png-584bbd0c554e5d25a7b89d32d9b2447e.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
Before Width: | Height: | Size: 181 KiB |
BIN
Assets/Textures/scaffold.png
Normal file
After Width: | Height: | Size: 753 B |
34
Assets/Textures/scaffold.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://4gff4l03ibpm"
|
||||||
|
path="res://.godot/imported/scaffold.png-6a95d279ff88a2151679f6aebd1fade4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Textures/scaffold.png"
|
||||||
|
dest_files=["res://.godot/imported/scaffold.png-6a95d279ff88a2151679f6aebd1fade4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
Before Width: | Height: | Size: 317 KiB |
BIN
Assets/Textures/stone.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
34
Assets/Textures/stone.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dgwsvkmnesjjm"
|
||||||
|
path="res://.godot/imported/stone.png-99a1d84e837affaec2c24c254b7b77e4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Textures/stone.png"
|
||||||
|
dest_files=["res://.godot/imported/stone.png-99a1d84e837affaec2c24c254b7b77e4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
@ -1,9 +1,17 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bbfm4i4xlkwdr"]
|
[gd_scene load_steps=5 format=3 uid="uid://bbfm4i4xlkwdr"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dumiyjlnea4gq" path="res://Scenes/Towers/hitscan_tower.tscn" id="1_uadu5"]
|
[ext_resource type="PackedScene" uid="uid://dumiyjlnea4gq" path="res://Scenes/Towers/hitscan_tower.tscn" id="1_uadu5"]
|
||||||
[ext_resource type="Resource" uid="uid://bdmsiw45xxhiv" path="res://PCs/Universal/ClassCards/Assault/tower_stats.tres" id="2_gg1gn"]
|
[ext_resource type="Resource" uid="uid://bdmsiw45xxhiv" path="res://PCs/Universal/ClassCards/Assault/tower_stats.tres" id="2_gg1gn"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Assault/tower_assault.gd" id="2_olbck"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Assault/tower_assault.gd" id="2_olbck"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://bmejdnnnuroll" path="res://assaultmod.res" id="4_1d5pl"]
|
||||||
|
|
||||||
[node name="AssaultTower" instance=ExtResource("1_uadu5")]
|
[node name="AssaultTower" instance=ExtResource("1_uadu5")]
|
||||||
script = ExtResource("2_olbck")
|
script = ExtResource("2_olbck")
|
||||||
stats = ExtResource("2_gg1gn")
|
stats = ExtResource("2_gg1gn")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0.910336, 0)
|
||||||
|
mesh = ExtResource("4_1d5pl")
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://cq5q6c28pwi47"]
|
[gd_scene load_steps=6 format=3 uid="uid://cq5q6c28pwi47"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dxwtlvv632ae8" path="res://Scenes/Towers/status_applying_tower.tscn" id="1_lnpfa"]
|
[ext_resource type="PackedScene" uid="uid://dxwtlvv632ae8" path="res://Scenes/Towers/status_applying_tower.tscn" id="1_lnpfa"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Blowdart/tower_blowdart.gd" id="2_s3qd0"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Blowdart/tower_blowdart.gd" id="2_s3qd0"]
|
||||||
[ext_resource type="Resource" uid="uid://cbskijhnnj3kw" path="res://Resources/StatusEffects/poisoned.tres" id="3_ix50y"]
|
[ext_resource type="Resource" uid="uid://cbskijhnnj3kw" path="res://Resources/StatusEffects/poisoned.tres" id="3_ix50y"]
|
||||||
[ext_resource type="Resource" uid="uid://cfbap4o68urti" path="res://PCs/Universal/ClassCards/Blowdart/tower_stats.tres" id="4_1w7pa"]
|
[ext_resource type="Resource" uid="uid://cfbap4o68urti" path="res://PCs/Universal/ClassCards/Blowdart/tower_stats.tres" id="4_1w7pa"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://yxho5jipkwi2" path="res://blowdart.res" id="5_2kqqw"]
|
||||||
|
|
||||||
[node name="BlowdartTower" instance=ExtResource("1_lnpfa")]
|
[node name="BlowdartTower" instance=ExtResource("1_lnpfa")]
|
||||||
script = ExtResource("2_s3qd0")
|
script = ExtResource("2_s3qd0")
|
||||||
status_stats = ExtResource("3_ix50y")
|
status_stats = ExtResource("3_ix50y")
|
||||||
stats = ExtResource("4_1w7pa")
|
stats = ExtResource("4_1w7pa")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0.614838, 0)
|
||||||
|
mesh = ExtResource("5_2kqqw")
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://b54d5dc4jmlau" path="res://PCs/Universal/ClassCards/BombLauncher/bomb.png" id="3_ilhep"]
|
[ext_resource type="Texture2D" uid="uid://b54d5dc4jmlau" path="res://PCs/Universal/ClassCards/BombLauncher/bomb.png" id="3_ilhep"]
|
||||||
|
|
||||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_bbpul"]
|
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_bbpul"]
|
||||||
bounce = 0.3
|
bounce = 0.6
|
||||||
|
|
||||||
[node name="Bomb" instance=ExtResource("1_kf2wi")]
|
[node name="Bomb" instance=ExtResource("1_kf2wi")]
|
||||||
physics_material_override = SubResource("PhysicsMaterial_bbpul")
|
physics_material_override = SubResource("PhysicsMaterial_bbpul")
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
extends ProjectileTower
|
extends ProjectileTower
|
||||||
class_name BombLauncherTower
|
class_name BombLauncherTower
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
super._ready()
|
super._ready()
|
||||||
force = sqrt((target_range * ProjectSettings.get_setting("physics/3d/default_gravity")) / sin(2 * 45))
|
force = sqrt((target_range * ProjectSettings.get_setting("physics/3d/default_gravity")) / sin(2 * 45))
|
||||||
@ -11,7 +12,7 @@ func aim():
|
|||||||
var pos = Vector2(global_position.x, global_position.z)
|
var pos = Vector2(global_position.x, global_position.z)
|
||||||
var t_pos = Vector2(targeted_enemy.global_position.x, targeted_enemy.global_position.z)
|
var t_pos = Vector2(targeted_enemy.global_position.x, targeted_enemy.global_position.z)
|
||||||
var x = pos.distance_to(t_pos)
|
var x = pos.distance_to(t_pos)
|
||||||
var y = targeted_enemy.global_position.y - global_position.y
|
var y = targeted_enemy.global_position.y - yaw_model.global_position.y
|
||||||
var v = force
|
var v = force
|
||||||
var g = ProjectSettings.get_setting("physics/3d/default_gravity")
|
var g = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||||
var v2 = pow(v, 2)
|
var v2 = pow(v, 2)
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://d2cch7qrwocg8"]
|
[gd_scene load_steps=6 format=3 uid="uid://d2cch7qrwocg8"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_r8hbo"]
|
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_r8hbo"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/BombLauncher/tower_bomb_launcher.gd" id="2_vlaa6"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/BombLauncher/tower_bomb_launcher.gd" id="2_vlaa6"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c8oq5unisjqne" path="res://PCs/Universal/ClassCards/BombLauncher/bomb_projectile.tscn" id="3_562if"]
|
[ext_resource type="PackedScene" uid="uid://c8oq5unisjqne" path="res://PCs/Universal/ClassCards/BombLauncher/bomb_projectile.tscn" id="3_562if"]
|
||||||
[ext_resource type="Resource" uid="uid://8eaecilvan23" path="res://PCs/Universal/ClassCards/BombLauncher/tower_stats.tres" id="4_xgwj1"]
|
[ext_resource type="Resource" uid="uid://8eaecilvan23" path="res://PCs/Universal/ClassCards/BombLauncher/tower_stats.tres" id="4_xgwj1"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://ckst32066g4vg" path="res://bombamodel.res" id="5_yixga"]
|
||||||
|
|
||||||
[node name="BombLauncherTower" instance=ExtResource("1_r8hbo")]
|
[node name="BombLauncherTower" instance=ExtResource("1_r8hbo")]
|
||||||
script = ExtResource("2_vlaa6")
|
script = ExtResource("2_vlaa6")
|
||||||
projectile_scene = ExtResource("3_562if")
|
projectile_scene = ExtResource("3_562if")
|
||||||
stats = ExtResource("4_xgwj1")
|
stats = ExtResource("4_xgwj1")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0.870628, 0)
|
||||||
|
mesh = ExtResource("5_yixga")
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://c3fqlkytyc62u"]
|
[gd_scene load_steps=7 format=3 uid="uid://c3fqlkytyc62u"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bqdllitxbbpyp" path="res://Scenes/Weapons/projectile_weapon.tscn" id="1_gbycb"]
|
[ext_resource type="PackedScene" uid="uid://bqdllitxbbpyp" path="res://Scenes/Weapons/projectile_weapon.tscn" id="1_gbycb"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/BombLauncher/weapon_bomb_launcher.gd" id="2_g5ihb"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/BombLauncher/weapon_bomb_launcher.gd" id="2_g5ihb"]
|
||||||
[ext_resource type="Resource" uid="uid://co6eorobj1xuu" path="res://PCs/Universal/ClassCards/BombLauncher/weapon_stats.tres" id="3_73ol1"]
|
[ext_resource type="Resource" uid="uid://co6eorobj1xuu" path="res://PCs/Universal/ClassCards/BombLauncher/weapon_stats.tres" id="3_73ol1"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c8oq5unisjqne" path="res://PCs/Universal/ClassCards/BombLauncher/bomb_projectile.tscn" id="3_jxt6m"]
|
[ext_resource type="PackedScene" uid="uid://c8oq5unisjqne" path="res://PCs/Universal/ClassCards/BombLauncher/bomb_projectile.tscn" id="3_jxt6m"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://3qcdx7n440sc" path="res://PCs/Universal/ClassCards/BombLauncher/grenade_launcher.png" id="5_iyrt8"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_4fobv"]
|
||||||
|
atlas = ExtResource("5_iyrt8")
|
||||||
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
[node name="BombLauncherWeapon" instance=ExtResource("1_gbycb")]
|
[node name="BombLauncherWeapon" instance=ExtResource("1_gbycb")]
|
||||||
script = ExtResource("2_g5ihb")
|
script = ExtResource("2_g5ihb")
|
||||||
projectile_scene = ExtResource("3_jxt6m")
|
projectile_scene = ExtResource("3_jxt6m")
|
||||||
stats = ExtResource("3_73ol1")
|
stats = ExtResource("3_73ol1")
|
||||||
|
|
||||||
|
[node name="Sprite3D" parent="." index="0"]
|
||||||
|
texture = SubResource("AtlasTexture_4fobv")
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://dwwgvgn0ds8tk"]
|
[gd_scene load_steps=6 format=3 uid="uid://dwwgvgn0ds8tk"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_rkdu6"]
|
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_rkdu6"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Fireball/tower_fireball.gd" id="2_td8dh"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Fireball/tower_fireball.gd" id="2_td8dh"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ddpixntjsbpqp" path="res://PCs/Universal/ClassCards/Fireball/fireball_projectile.tscn" id="3_1akv8"]
|
[ext_resource type="PackedScene" uid="uid://ddpixntjsbpqp" path="res://PCs/Universal/ClassCards/Fireball/fireball_projectile.tscn" id="3_1akv8"]
|
||||||
[ext_resource type="Resource" uid="uid://dnvqghpwyuw84" path="res://PCs/Universal/ClassCards/Fireball/tower_stats.tres" id="4_uu77s"]
|
[ext_resource type="Resource" uid="uid://dnvqghpwyuw84" path="res://PCs/Universal/ClassCards/Fireball/tower_stats.tres" id="4_uu77s"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://d34yiqnnaie8r" path="res://magetowermesh.res" id="5_7rkfh"]
|
||||||
|
|
||||||
[node name="FireballTower" instance=ExtResource("1_rkdu6")]
|
[node name="FireballTower" instance=ExtResource("1_rkdu6")]
|
||||||
script = ExtResource("2_td8dh")
|
script = ExtResource("2_td8dh")
|
||||||
projectile_scene = ExtResource("3_1akv8")
|
projectile_scene = ExtResource("3_1akv8")
|
||||||
stats = ExtResource("4_uu77s")
|
stats = ExtResource("4_uu77s")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||||
|
mesh = ExtResource("5_7rkfh")
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 1.74532, 0)
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
[gd_scene load_steps=11 format=3 uid="uid://dkoj1766ygo3f"]
|
[gd_scene load_steps=12 format=3 uid="uid://dkoj1766ygo3f"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://8uxu72vjo0cv" path="res://Scenes/Towers/shapecast_tower.tscn" id="1_jagpf"]
|
[ext_resource type="PackedScene" uid="uid://8uxu72vjo0cv" path="res://Scenes/Towers/shapecast_tower.tscn" id="1_jagpf"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Flamethrower/tower_flamethrower.gd" id="2_7vewc"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Flamethrower/tower_flamethrower.gd" id="2_7vewc"]
|
||||||
[ext_resource type="Resource" uid="uid://dbanx8taicddm" path="res://Resources/StatusEffects/on_fire.tres" id="3_aop2h"]
|
[ext_resource type="Resource" uid="uid://dbanx8taicddm" path="res://Resources/StatusEffects/on_fire.tres" id="3_aop2h"]
|
||||||
[ext_resource type="Resource" uid="uid://cdtjbxs21peqg" path="res://PCs/Universal/ClassCards/Flamethrower/tower_stats.tres" id="4_by7c8"]
|
[ext_resource type="Resource" uid="uid://cdtjbxs21peqg" path="res://PCs/Universal/ClassCards/Flamethrower/tower_stats.tres" id="4_by7c8"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://p2jerp4ab8ch" path="res://flamethrower_mesh.res" id="5_tc7nr"]
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_r367g"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_r367g"]
|
||||||
size = Vector3(2, 2, 3)
|
size = Vector3(3, 2, 3)
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_ay233"]
|
[sub_resource type="Gradient" id="Gradient_ay233"]
|
||||||
offsets = PackedFloat32Array(0, 0.178862, 0.455285, 1)
|
offsets = PackedFloat32Array(0, 0.178862, 0.455285, 1)
|
||||||
@ -35,6 +36,12 @@ script = ExtResource("2_7vewc")
|
|||||||
status_stats = ExtResource("3_aop2h")
|
status_stats = ExtResource("3_aop2h")
|
||||||
stats = ExtResource("4_by7c8")
|
stats = ExtResource("4_by7c8")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
mesh = null
|
||||||
|
|
||||||
[node name="ShapeCast3D" parent="Yaw" index="0"]
|
[node name="ShapeCast3D" parent="Yaw" index="0"]
|
||||||
shape = SubResource("BoxShape3D_r367g")
|
shape = SubResource("BoxShape3D_r367g")
|
||||||
target_position = Vector3(0, 0, -2)
|
target_position = Vector3(0, 0, -2)
|
||||||
@ -45,3 +52,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.534666)
|
|||||||
amount = 16
|
amount = 16
|
||||||
process_material = SubResource("ParticleProcessMaterial_r7587")
|
process_material = SubResource("ParticleProcessMaterial_r7587")
|
||||||
draw_pass_1 = SubResource("BoxMesh_h4c6o")
|
draw_pass_1 = SubResource("BoxMesh_h4c6o")
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Yaw" index="1"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
mesh = ExtResource("5_tc7nr")
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bjuc3x7u3f271"]
|
[gd_scene load_steps=5 format=3 uid="uid://bjuc3x7u3f271"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dumiyjlnea4gq" path="res://Scenes/Towers/hitscan_tower.tscn" id="1_su74p"]
|
[ext_resource type="PackedScene" uid="uid://dumiyjlnea4gq" path="res://Scenes/Towers/hitscan_tower.tscn" id="1_su74p"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Gatling/tower_gatling.gd" id="2_ipjp1"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Gatling/tower_gatling.gd" id="2_ipjp1"]
|
||||||
[ext_resource type="Resource" uid="uid://nxl5wabgl36t" path="res://PCs/Universal/ClassCards/Gatling/tower_stats.tres" id="3_oicqw"]
|
[ext_resource type="Resource" uid="uid://nxl5wabgl36t" path="res://PCs/Universal/ClassCards/Gatling/tower_stats.tres" id="3_oicqw"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://dler7wcqj0bm6" path="res://gattlemesh.res" id="4_wihc0"]
|
||||||
|
|
||||||
[node name="GatlingTower" instance=ExtResource("1_su74p")]
|
[node name="GatlingTower" instance=ExtResource("1_su74p")]
|
||||||
script = ExtResource("2_ipjp1")
|
script = ExtResource("2_ipjp1")
|
||||||
stats = ExtResource("3_oicqw")
|
stats = ExtResource("3_oicqw")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0.426474, 0)
|
||||||
|
mesh = ExtResource("4_wihc0")
|
||||||
|
@ -25,6 +25,7 @@ func _process(delta: float) -> void:
|
|||||||
|
|
||||||
func _physics_process(_delta: float) -> void:
|
func _physics_process(_delta: float) -> void:
|
||||||
if trigger_held and time_since_firing >= current_time_between_shots:
|
if trigger_held and time_since_firing >= current_time_between_shots:
|
||||||
|
print(current_time_between_shots)
|
||||||
time_since_firing -= current_time_between_shots
|
time_since_firing -= current_time_between_shots
|
||||||
shoot()
|
shoot()
|
||||||
networked_shoot.rpc()
|
networked_shoot.rpc()
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://dkxi1ssoa44jn"]
|
[gd_scene load_steps=6 format=3 uid="uid://dkxi1ssoa44jn"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://difwo7wlyqr3h" path="res://Scenes/Weapons/hitscan_weapon.tscn" id="1_fwlu5"]
|
[ext_resource type="PackedScene" uid="uid://difwo7wlyqr3h" path="res://Scenes/Weapons/hitscan_weapon.tscn" id="1_fwlu5"]
|
||||||
[ext_resource type="Resource" uid="uid://cj2x1jvo8l4ot" path="res://PCs/Universal/ClassCards/Gatling/weapon_stats.tres" id="2_fnyjd"]
|
[ext_resource type="Resource" uid="uid://cj2x1jvo8l4ot" path="res://PCs/Universal/ClassCards/Gatling/weapon_stats.tres" id="2_fnyjd"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cx5cwn11fuugq" path="res://PCs/Universal/ClassCards/Gatling/gatling.png" id="2_rv8ps"]
|
[ext_resource type="Texture2D" uid="uid://cx5cwn11fuugq" path="res://PCs/Universal/ClassCards/Gatling/gatling.png" id="2_rv8ps"]
|
||||||
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Gatling/weapon_gatling.gd" id="2_wm4al"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0im1y"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0im1y"]
|
||||||
atlas = ExtResource("2_rv8ps")
|
atlas = ExtResource("2_rv8ps")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
[node name="HitscanWeapon" instance=ExtResource("1_fwlu5")]
|
[node name="WeaponGatling" instance=ExtResource("1_fwlu5")]
|
||||||
|
script = ExtResource("2_wm4al")
|
||||||
stats = ExtResource("2_fnyjd")
|
stats = ExtResource("2_fnyjd")
|
||||||
|
|
||||||
[node name="Sprite3D" parent="." index="0"]
|
[node name="Sprite3D" parent="." index="0"]
|
||||||
|
@ -21,12 +21,12 @@ value = 20.0
|
|||||||
[sub_resource type="Resource" id="Resource_ogk1x"]
|
[sub_resource type="Resource" id="Resource_ogk1x"]
|
||||||
script = ExtResource("1_vpmor")
|
script = ExtResource("1_vpmor")
|
||||||
key = "Speed Multiplier"
|
key = "Speed Multiplier"
|
||||||
value = 2.0
|
value = 2.5
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_wdp3h"]
|
[sub_resource type="Resource" id="Resource_wdp3h"]
|
||||||
script = ExtResource("1_vpmor")
|
script = ExtResource("1_vpmor")
|
||||||
key = "Speed Time"
|
key = "Speed Time"
|
||||||
value = 3.0
|
value = 4.0
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_630yu")
|
script = ExtResource("1_630yu")
|
||||||
@ -34,4 +34,4 @@ target_type = 0
|
|||||||
attributes = Array[ExtResource("1_vpmor")]([SubResource("Resource_fi7tc"), SubResource("Resource_r6h5d"), SubResource("Resource_gwg1i"), SubResource("Resource_ogk1x"), SubResource("Resource_wdp3h")])
|
attributes = Array[ExtResource("1_vpmor")]([SubResource("Resource_fi7tc"), SubResource("Resource_r6h5d"), SubResource("Resource_gwg1i"), SubResource("Resource_ogk1x"), SubResource("Resource_wdp3h")])
|
||||||
text = "Fires a shot every /Fire Delay\\ seconds dealing /Damage\\ damage at a range of /Range\\m
|
text = "Fires a shot every /Fire Delay\\ seconds dealing /Damage\\ damage at a range of /Range\\m
|
||||||
|
|
||||||
While held, gradually accelerates to /Speed Multiplier\\x the fire rate over /Speed Time\\"
|
While held, gradually accelerates to /Speed Multiplier\\x the fire rate over /Speed Time\\s"
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://bb44pintbwdcf"]
|
[gd_scene load_steps=6 format=3 uid="uid://bb44pintbwdcf"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dxwtlvv632ae8" path="res://Scenes/Towers/status_applying_tower.tscn" id="1_r1dvg"]
|
[ext_resource type="PackedScene" uid="uid://dxwtlvv632ae8" path="res://Scenes/Towers/status_applying_tower.tscn" id="1_r1dvg"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/GlueLauncher/tower_glue_launcher.gd" id="2_ot8fu"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/GlueLauncher/tower_glue_launcher.gd" id="2_ot8fu"]
|
||||||
[ext_resource type="Resource" uid="uid://d0643gfp52x3s" path="res://Resources/StatusEffects/sticky.tres" id="3_ibb53"]
|
[ext_resource type="Resource" uid="uid://d0643gfp52x3s" path="res://Resources/StatusEffects/sticky.tres" id="3_ibb53"]
|
||||||
[ext_resource type="Resource" uid="uid://bvkwgmbxje0dp" path="res://PCs/Universal/ClassCards/GlueLauncher/tower_stats.tres" id="4_etcd4"]
|
[ext_resource type="Resource" uid="uid://bvkwgmbxje0dp" path="res://PCs/Universal/ClassCards/GlueLauncher/tower_stats.tres" id="4_etcd4"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://cehyrhbd7pu83" path="res://glue_launcher_model.res" id="5_dsftx"]
|
||||||
|
|
||||||
[node name="GlueLauncherTower" instance=ExtResource("1_r1dvg")]
|
[node name="GlueLauncherTower" instance=ExtResource("1_r1dvg")]
|
||||||
script = ExtResource("2_ot8fu")
|
script = ExtResource("2_ot8fu")
|
||||||
status_stats = ExtResource("3_ibb53")
|
status_stats = ExtResource("3_ibb53")
|
||||||
stats = ExtResource("4_etcd4")
|
stats = ExtResource("4_etcd4")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0.484804, 0)
|
||||||
|
mesh = ExtResource("5_dsftx")
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://miawrarbb1up"]
|
[gd_scene load_steps=6 format=3 uid="uid://miawrarbb1up"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_d6g88"]
|
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_d6g88"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Icicle/tower_icicle.gd" id="2_qcpgh"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Icicle/tower_icicle.gd" id="2_qcpgh"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dyurjxotdkf1u" path="res://PCs/Universal/ClassCards/Icicle/icicle_projectile.tscn" id="3_o4uqf"]
|
[ext_resource type="PackedScene" uid="uid://dyurjxotdkf1u" path="res://PCs/Universal/ClassCards/Icicle/icicle_projectile.tscn" id="3_o4uqf"]
|
||||||
[ext_resource type="Resource" uid="uid://d34bfj5togyyt" path="res://PCs/Universal/ClassCards/Icicle/tower_stats.tres" id="4_3il5a"]
|
[ext_resource type="Resource" uid="uid://d34bfj5togyyt" path="res://PCs/Universal/ClassCards/Icicle/tower_stats.tres" id="4_3il5a"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://d34yiqnnaie8r" path="res://magetowermesh.res" id="5_soa3a"]
|
||||||
|
|
||||||
[node name="IcicleTower" instance=ExtResource("1_d6g88")]
|
[node name="IcicleTower" instance=ExtResource("1_d6g88")]
|
||||||
script = ExtResource("2_qcpgh")
|
script = ExtResource("2_qcpgh")
|
||||||
projectile_scene = ExtResource("3_o4uqf")
|
projectile_scene = ExtResource("3_o4uqf")
|
||||||
stats = ExtResource("4_3il5a")
|
stats = ExtResource("4_3il5a")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||||
|
mesh = ExtResource("5_soa3a")
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 1.745, 0)
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://dqrkn0vp2tmrh"]
|
[gd_scene load_steps=11 format=3 uid="uid://dqrkn0vp2tmrh"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bi6b2r6wek7he" path="res://Scenes/Towers/range_affecting_tower.tscn" id="1_afsqn"]
|
[ext_resource type="PackedScene" uid="uid://bi6b2r6wek7he" path="res://Scenes/Towers/range_affecting_tower.tscn" id="1_afsqn"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Reactor/tower_reactor.gd" id="2_6w83m"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Reactor/tower_reactor.gd" id="2_6w83m"]
|
||||||
[ext_resource type="Resource" uid="uid://dxlisoas4xlmo" path="res://Resources/StatusEffects/radioactive.tres" id="3_xhrj0"]
|
[ext_resource type="Resource" uid="uid://dxlisoas4xlmo" path="res://Resources/StatusEffects/radioactive.tres" id="3_xhrj0"]
|
||||||
[ext_resource type="Resource" uid="uid://cssdyxk8oefsd" path="res://PCs/Universal/ClassCards/Reactor/tower_stats.tres" id="4_rkhup"]
|
[ext_resource type="Resource" uid="uid://cssdyxk8oefsd" path="res://PCs/Universal/ClassCards/Reactor/tower_stats.tres" id="4_rkhup"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://d280k3kx6hh7h" path="res://reactor_mesh.res" id="5_it8eo"]
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_ranod"]
|
[sub_resource type="Gradient" id="Gradient_ranod"]
|
||||||
interpolation_color_space = 2
|
interpolation_color_space = 2
|
||||||
@ -36,6 +37,13 @@ particles = NodePath("GPUParticles3D")
|
|||||||
status_stats = ExtResource("3_xhrj0")
|
status_stats = ExtResource("3_xhrj0")
|
||||||
stats = ExtResource("4_rkhup")
|
stats = ExtResource("4_rkhup")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.55, 0, 0, 0, 0.55, 0, 0, 0, 0.55, 0, 0.13062, 0)
|
||||||
|
mesh = ExtResource("5_it8eo")
|
||||||
|
|
||||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="." index="5"]
|
[node name="GPUParticles3D" type="GPUParticles3D" parent="." index="5"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.6, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.6, 0)
|
||||||
amount = 12
|
amount = 12
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://bqaynyhxdr4to"]
|
[gd_scene load_steps=11 format=3 uid="uid://bqaynyhxdr4to"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bi6b2r6wek7he" path="res://Scenes/Towers/range_affecting_tower.tscn" id="1_4hvoi"]
|
[ext_resource type="PackedScene" uid="uid://bi6b2r6wek7he" path="res://Scenes/Towers/range_affecting_tower.tscn" id="1_4hvoi"]
|
||||||
[ext_resource type="Resource" uid="uid://fed6kimfbcwv" path="res://Resources/StatusEffects/cold.tres" id="2_u4dux"]
|
[ext_resource type="Resource" uid="uid://fed6kimfbcwv" path="res://Resources/StatusEffects/cold.tres" id="2_u4dux"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Refrigerator/tower_refrigerator.gd" id="2_yhcmv"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Refrigerator/tower_refrigerator.gd" id="2_yhcmv"]
|
||||||
[ext_resource type="Resource" uid="uid://st0qrut5nxrm" path="res://PCs/Universal/ClassCards/Refrigerator/tower_stats.tres" id="3_jjh3a"]
|
[ext_resource type="Resource" uid="uid://st0qrut5nxrm" path="res://PCs/Universal/ClassCards/Refrigerator/tower_stats.tres" id="3_jjh3a"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://bwvls7rj0oqyv" path="res://fridge_mesh.res" id="5_mrvl8"]
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_lm6vx"]
|
[sub_resource type="Gradient" id="Gradient_lm6vx"]
|
||||||
offsets = PackedFloat32Array(0, 0.682927, 1)
|
offsets = PackedFloat32Array(0, 0.682927, 1)
|
||||||
@ -37,7 +38,15 @@ particles = NodePath("GPUParticles3D")
|
|||||||
status_stats = ExtResource("2_u4dux")
|
status_stats = ExtResource("2_u4dux")
|
||||||
stats = ExtResource("3_jjh3a")
|
stats = ExtResource("3_jjh3a")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.53317, 0)
|
||||||
|
mesh = ExtResource("5_mrvl8")
|
||||||
|
|
||||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="." index="5"]
|
[node name="GPUParticles3D" type="GPUParticles3D" parent="." index="5"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.418807, 0)
|
||||||
amount = 32
|
amount = 32
|
||||||
process_material = SubResource("ParticleProcessMaterial_ijefe")
|
process_material = SubResource("ParticleProcessMaterial_ijefe")
|
||||||
draw_pass_1 = SubResource("BoxMesh_btdsr")
|
draw_pass_1 = SubResource("BoxMesh_btdsr")
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://b3q0f6w30nwsh"]
|
[gd_scene load_steps=5 format=3 uid="uid://b3q0f6w30nwsh"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_su4lx"]
|
[ext_resource type="PackedScene" uid="uid://t0b32qb8eub2" path="res://Scenes/Towers/projectile_tower.tscn" id="1_su4lx"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/RocketLauncher/tower_rocket_launcher.gd" id="2_33124"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/RocketLauncher/tower_rocket_launcher.gd" id="2_33124"]
|
||||||
[ext_resource type="PackedScene" uid="uid://p2vwo8ivben6" path="res://PCs/Universal/ClassCards/RocketLauncher/rocket_projectile.tscn" id="3_8kvhb"]
|
[ext_resource type="PackedScene" uid="uid://p2vwo8ivben6" path="res://PCs/Universal/ClassCards/RocketLauncher/rocket_projectile.tscn" id="3_8kvhb"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://buyx8g4vlh7g7" path="res://rocket_launcher_model.res" id="4_ahc6v"]
|
||||||
|
|
||||||
[node name="RocketLauncherTower" instance=ExtResource("1_su4lx")]
|
[node name="RocketLauncherTower" instance=ExtResource("1_su4lx")]
|
||||||
script = ExtResource("2_33124")
|
script = ExtResource("2_33124")
|
||||||
projectile_scene = ExtResource("3_8kvhb")
|
projectile_scene = ExtResource("3_8kvhb")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0.667653, 0)
|
||||||
|
mesh = ExtResource("4_ahc6v")
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bt4qbc5lp4nhr"]
|
[gd_scene load_steps=5 format=3 uid="uid://bt4qbc5lp4nhr"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dumiyjlnea4gq" path="res://Scenes/Towers/hitscan_tower.tscn" id="1_x1nem"]
|
[ext_resource type="PackedScene" uid="uid://dumiyjlnea4gq" path="res://Scenes/Towers/hitscan_tower.tscn" id="1_x1nem"]
|
||||||
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Sniper/tower_sniper.gd" id="2_v5fr7"]
|
[ext_resource type="Script" path="res://PCs/Universal/ClassCards/Sniper/tower_sniper.gd" id="2_v5fr7"]
|
||||||
[ext_resource type="Resource" uid="uid://eb0by6ba1d43" path="res://PCs/Universal/ClassCards/Sniper/tower_stats.tres" id="3_a0vis"]
|
[ext_resource type="Resource" uid="uid://eb0by6ba1d43" path="res://PCs/Universal/ClassCards/Sniper/tower_stats.tres" id="3_a0vis"]
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://b4vwe267lt1ua" path="res://snipermodel.res" id="4_pwbtb"]
|
||||||
|
|
||||||
[node name="HitscanTower" instance=ExtResource("1_x1nem")]
|
[node name="HitscanTower" instance=ExtResource("1_x1nem")]
|
||||||
script = ExtResource("2_v5fr7")
|
script = ExtResource("2_v5fr7")
|
||||||
target_type = 3
|
|
||||||
stats = ExtResource("3_a0vis")
|
stats = ExtResource("3_a0vis")
|
||||||
|
|
||||||
|
[node name="Pitch" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Yaw" parent="." index="2"]
|
||||||
|
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0.765984, 0)
|
||||||
|
mesh = ExtResource("4_pwbtb")
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jbu13"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jbu13"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kr8sn"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_66cl7"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("6_yyp8i")
|
atlas = ExtResource("6_yyp8i")
|
||||||
region = Rect2(0, 0, 96, 96)
|
region = Rect2(0, 0, 96, 96)
|
||||||
@ -103,7 +103,7 @@ collision_mask = 24
|
|||||||
|
|
||||||
[node name="EightDirectionSprite" parent="." instance=ExtResource("2_ib0t5")]
|
[node name="EightDirectionSprite" parent="." instance=ExtResource("2_ib0t5")]
|
||||||
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0.915529, 0)
|
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0.915529, 0)
|
||||||
texture = SubResource("AtlasTexture_kr8sn")
|
texture = SubResource("AtlasTexture_66cl7")
|
||||||
|
|
||||||
[node name="Inventory" type="Node" parent="."]
|
[node name="Inventory" type="Node" parent="."]
|
||||||
script = ExtResource("6_cf5ap")
|
script = ExtResource("6_cf5ap")
|
||||||
@ -430,15 +430,16 @@ horizontal_alignment = 1
|
|||||||
vertical_alignment = 1
|
vertical_alignment = 1
|
||||||
|
|
||||||
[node name="WaveCount" type="Label" parent="HUD"]
|
[node name="WaveCount" type="Label" parent="HUD"]
|
||||||
anchors_preset = 5
|
anchors_preset = -1
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
offset_left = -30.0
|
offset_left = -30.0
|
||||||
offset_top = 83.0
|
offset_top = 81.0
|
||||||
offset_right = 30.0
|
offset_right = 30.0
|
||||||
offset_bottom = 109.0
|
offset_bottom = 109.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_font_sizes/font_size = 18
|
||||||
text = "1"
|
text = "1"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
vertical_alignment = 1
|
vertical_alignment = 1
|
||||||
|
@ -19,9 +19,13 @@ layout_mode = 2
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Unable to connect to server"
|
text = "Unable to connect to server"
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="VBoxContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_right = 28
|
||||||
|
|
||||||
|
[node name="Button" type="Button" parent="VBoxContainer/MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 8
|
size_flags_horizontal = 8
|
||||||
text = "OK"
|
text = "OK"
|
||||||
|
|
||||||
[connection signal="pressed" from="VBoxContainer/Button" to="." method="_on_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/MarginContainer/Button" to="." method="_on_button_pressed"]
|
||||||
|
@ -26,13 +26,23 @@ text = "Some Text?"
|
|||||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
|
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="Confirm" type="Button" parent="VBoxContainer/HBoxContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 30
|
||||||
|
theme_override_constants/margin_right = 30
|
||||||
|
|
||||||
|
[node name="Confirm" type="Button" parent="VBoxContainer/HBoxContainer/MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Confirm"
|
text = "Confirm"
|
||||||
|
|
||||||
[node name="Cancel" type="Button" parent="VBoxContainer/HBoxContainer"]
|
[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 30
|
||||||
|
theme_override_constants/margin_right = 30
|
||||||
|
|
||||||
|
[node name="Cancel" type="Button" parent="VBoxContainer/HBoxContainer/MarginContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Cancel"
|
text = "Cancel"
|
||||||
|
|
||||||
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Confirm" to="." method="_on_confirm_pressed"]
|
[connection signal="pressed" from="VBoxContainer/HBoxContainer/MarginContainer/Confirm" to="." method="_on_confirm_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Cancel" to="." method="_on_cancel_pressed"]
|
[connection signal="pressed" from="VBoxContainer/HBoxContainer/MarginContainer2/Cancel" to="." method="_on_cancel_pressed"]
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://8yv7excojcg0"]
|
[gd_scene load_steps=6 format=3 uid="uid://8yv7excojcg0"]
|
||||||
|
|
||||||
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_p1cib"]
|
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_p1cib"]
|
||||||
[ext_resource type="Script" path="res://Scripts/main_menu.gd" id="2_ivytu"]
|
[ext_resource type="Script" path="res://Scripts/main_menu.gd" id="2_ivytu"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://lvvnrb5jugum" path="res://Assets/Textures/logo_title.png" id="3_8jkeb"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://y1qa1g3ic8sp" path="res://Worlds/GreenPlanet/Levels/first_level.tscn" id="3_l8r4a"]
|
||||||
|
|
||||||
[node name="MainMenu" type="Control"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_5u75i"]
|
||||||
|
viewport_path = NodePath("SubViewport")
|
||||||
|
|
||||||
|
[node name="MainMenu" type="Control" node_paths=PackedStringArray("bg_level")]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -12,55 +17,84 @@ grow_horizontal = 2
|
|||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
theme = ExtResource("1_p1cib")
|
theme = ExtResource("1_p1cib")
|
||||||
script = ExtResource("2_ivytu")
|
script = ExtResource("2_ivytu")
|
||||||
|
bg_level = NodePath("SubViewport/GridMap")
|
||||||
|
|
||||||
[node name="Title" type="PanelContainer" parent="."]
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
anchors_preset = -1
|
anchors_preset = 15
|
||||||
anchor_left = 0.5
|
anchor_right = 1.0
|
||||||
anchor_right = 0.5
|
anchor_bottom = 1.0
|
||||||
offset_left = -559.5
|
|
||||||
offset_top = 25.0
|
|
||||||
offset_right = 559.5
|
|
||||||
offset_bottom = 113.0
|
|
||||||
grow_horizontal = 2
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="Title"]
|
|
||||||
layout_mode = 2
|
|
||||||
text = "MULTIPLAYER TOWER DEFENSE CARD GAME ROGUELIKE !!!"
|
|
||||||
horizontal_alignment = 1
|
|
||||||
vertical_alignment = 1
|
|
||||||
|
|
||||||
[node name="MainControls" type="PanelContainer" parent="."]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 8
|
|
||||||
anchor_left = 0.5
|
|
||||||
anchor_top = 0.5
|
|
||||||
anchor_right = 0.5
|
|
||||||
anchor_bottom = 0.5
|
|
||||||
offset_left = -71.0
|
|
||||||
offset_top = -81.0
|
|
||||||
offset_right = 71.0
|
|
||||||
offset_bottom = 81.0
|
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
texture = SubResource("ViewportTexture_5u75i")
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="MainControls"]
|
[node name="TextureRect2" type="TextureRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 5
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
offset_left = -627.0
|
||||||
|
offset_top = 73.0
|
||||||
|
offset_right = 1293.0
|
||||||
|
offset_bottom = 1153.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
scale = Vector2(0.67, 0.67)
|
||||||
|
texture = ExtResource("3_8jkeb")
|
||||||
|
expand_mode = 1
|
||||||
|
|
||||||
|
[node name="MainControls" type="VBoxContainer" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = 130.0
|
||||||
|
offset_top = -188.0
|
||||||
|
offset_right = 143.0
|
||||||
|
offset_bottom = -80.0
|
||||||
|
grow_vertical = 0
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="MainControls"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 0
|
||||||
|
theme_override_constants/margin_top = 3
|
||||||
|
theme_override_constants/margin_right = 0
|
||||||
|
theme_override_constants/margin_bottom = 3
|
||||||
|
|
||||||
[node name="PlayButton" type="Button" parent="MainControls/VBoxContainer"]
|
[node name="PlayButton" type="Button" parent="MainControls/MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Play"
|
text = "Play"
|
||||||
|
|
||||||
[node name="MultiplayerButton" type="Button" parent="MainControls/VBoxContainer"]
|
[node name="MarginContainer2" type="MarginContainer" parent="MainControls"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 0
|
||||||
|
theme_override_constants/margin_top = 3
|
||||||
|
theme_override_constants/margin_right = 0
|
||||||
|
theme_override_constants/margin_bottom = 3
|
||||||
|
|
||||||
|
[node name="MultiplayerButton" type="Button" parent="MainControls/MarginContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Multiplayer"
|
text = "Multiplayer"
|
||||||
|
|
||||||
[node name="OptionsButton" type="Button" parent="MainControls/VBoxContainer"]
|
[node name="MarginContainer3" type="MarginContainer" parent="MainControls"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 0
|
||||||
|
theme_override_constants/margin_top = 3
|
||||||
|
theme_override_constants/margin_right = 0
|
||||||
|
theme_override_constants/margin_bottom = 3
|
||||||
|
|
||||||
|
[node name="OptionsButton" type="Button" parent="MainControls/MarginContainer3"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Options
|
text = "Options
|
||||||
"
|
"
|
||||||
|
|
||||||
[node name="QuitButton" type="Button" parent="MainControls/VBoxContainer"]
|
[node name="MarginContainer4" type="MarginContainer" parent="MainControls"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 0
|
||||||
|
theme_override_constants/margin_top = 3
|
||||||
|
theme_override_constants/margin_right = 0
|
||||||
|
theme_override_constants/margin_bottom = 3
|
||||||
|
|
||||||
|
[node name="QuitButton" type="Button" parent="MainControls/MarginContainer4"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Quit
|
text = "Quit
|
||||||
"
|
"
|
||||||
@ -68,15 +102,15 @@ text = "Quit
|
|||||||
[node name="ProfileEditor" type="PanelContainer" parent="."]
|
[node name="ProfileEditor" type="PanelContainer" parent="."]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
anchors_preset = -1
|
anchors_preset = -1
|
||||||
anchor_left = 0.5
|
anchor_left = 1.0
|
||||||
anchor_top = 1.0
|
anchor_top = 1.0
|
||||||
anchor_right = 0.5
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
offset_left = -181.5
|
offset_left = -429.0
|
||||||
offset_top = -140.0
|
offset_top = -140.0
|
||||||
offset_right = 181.5
|
offset_right = -55.0
|
||||||
offset_bottom = -30.0
|
offset_bottom = -40.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 0
|
||||||
grow_vertical = 0
|
grow_vertical = 0
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="ProfileEditor"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="ProfileEditor"]
|
||||||
@ -92,14 +126,28 @@ layout_mode = 2
|
|||||||
|
|
||||||
[node name="DisplayName" type="Label" parent="ProfileEditor/VBoxContainer/HBoxContainer"]
|
[node name="DisplayName" type="Label" parent="ProfileEditor/VBoxContainer/HBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
text = "Dummy Name"
|
text = "Dummy Name"
|
||||||
|
|
||||||
[node name="DisplayNameEdit" type="Button" parent="ProfileEditor/VBoxContainer/HBoxContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="ProfileEditor/VBoxContainer/HBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 29
|
||||||
|
theme_override_constants/margin_top = 2
|
||||||
|
theme_override_constants/margin_right = 31
|
||||||
|
theme_override_constants/margin_bottom = 4
|
||||||
|
|
||||||
|
[node name="DisplayNameEdit" type="Button" parent="ProfileEditor/VBoxContainer/HBoxContainer/MarginContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
text = "Change"
|
text = "Change"
|
||||||
|
|
||||||
[connection signal="pressed" from="MainControls/VBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
|
[node name="SubViewport" type="SubViewport" parent="."]
|
||||||
[connection signal="pressed" from="MainControls/VBoxContainer/MultiplayerButton" to="." method="_on_multiplayer_button_pressed"]
|
size = Vector2i(1920, 1080)
|
||||||
[connection signal="pressed" from="MainControls/VBoxContainer/OptionsButton" to="." method="_on_options_button_pressed"]
|
|
||||||
[connection signal="pressed" from="MainControls/VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"]
|
[node name="GridMap" parent="SubViewport" instance=ExtResource("3_l8r4a")]
|
||||||
[connection signal="pressed" from="ProfileEditor/VBoxContainer/HBoxContainer/DisplayNameEdit" to="." method="_on_display_name_edit_pressed"]
|
|
||||||
|
[connection signal="pressed" from="MainControls/MarginContainer/PlayButton" to="." method="_on_play_button_pressed"]
|
||||||
|
[connection signal="pressed" from="MainControls/MarginContainer2/MultiplayerButton" to="." method="_on_multiplayer_button_pressed"]
|
||||||
|
[connection signal="pressed" from="MainControls/MarginContainer3/OptionsButton" to="." method="_on_options_button_pressed"]
|
||||||
|
[connection signal="pressed" from="MainControls/MarginContainer4/QuitButton" to="." method="_on_quit_button_pressed"]
|
||||||
|
[connection signal="pressed" from="ProfileEditor/VBoxContainer/HBoxContainer/MarginContainer/DisplayNameEdit" to="." method="_on_display_name_edit_pressed"]
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://bf2nosqt5f82e" path="res://Scenes/Menus/keybind_options.tscn" id="5_4k33c"]
|
[ext_resource type="PackedScene" uid="uid://bf2nosqt5f82e" path="res://Scenes/Menus/keybind_options.tscn" id="5_4k33c"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bwc45ogto8thn" path="res://Scenes/Menus/audio_options.tscn" id="6_4vs8p"]
|
[ext_resource type="PackedScene" uid="uid://bwc45ogto8thn" path="res://Scenes/Menus/audio_options.tscn" id="6_4vs8p"]
|
||||||
|
|
||||||
[node name="OptionsMenu" type="PanelContainer"]
|
[node name="OptionsMenu" type="PanelContainer" node_paths=PackedStringArray("gameplay", "graphics", "keybinds")]
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
@ -17,6 +17,9 @@ offset_bottom = -30.0
|
|||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
script = ExtResource("1_bievw")
|
script = ExtResource("1_bievw")
|
||||||
|
gameplay = NodePath("VBoxContainer/TabContainer/Gameplay")
|
||||||
|
graphics = NodePath("VBoxContainer/TabContainer/Graphics")
|
||||||
|
keybinds = NodePath("VBoxContainer/TabContainer/Keybinds")
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
@ -43,13 +46,27 @@ layout_mode = 2
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 2
|
alignment = 2
|
||||||
|
|
||||||
[node name="Cancel" type="Button" parent="VBoxContainer/HBoxContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 30
|
||||||
|
theme_override_constants/margin_top = 5
|
||||||
|
theme_override_constants/margin_right = 30
|
||||||
|
theme_override_constants/margin_bottom = 5
|
||||||
|
|
||||||
|
[node name="Cancel" type="Button" parent="VBoxContainer/HBoxContainer/MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Discard"
|
text = "Discard"
|
||||||
|
|
||||||
[node name="Confirm" type="Button" parent="VBoxContainer/HBoxContainer"]
|
[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 30
|
||||||
|
theme_override_constants/margin_top = 5
|
||||||
|
theme_override_constants/margin_right = 30
|
||||||
|
theme_override_constants/margin_bottom = 5
|
||||||
|
|
||||||
|
[node name="Confirm" type="Button" parent="VBoxContainer/HBoxContainer/MarginContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Confirm"
|
text = "Confirm"
|
||||||
|
|
||||||
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Cancel" to="." method="_on_cancel_pressed"]
|
[connection signal="pressed" from="VBoxContainer/HBoxContainer/MarginContainer/Cancel" to="." method="_on_cancel_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Confirm" to="." method="_on_confirm_pressed"]
|
[connection signal="pressed" from="VBoxContainer/HBoxContainer/MarginContainer2/Confirm" to="." method="_on_confirm_pressed"]
|
||||||
|
@ -39,23 +39,51 @@ grow_vertical = 2
|
|||||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="Resume" type="Button" parent="PanelContainer/VBoxContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 24
|
||||||
|
theme_override_constants/margin_top = 5
|
||||||
|
theme_override_constants/margin_right = 24
|
||||||
|
theme_override_constants/margin_bottom = 5
|
||||||
|
|
||||||
|
[node name="Resume" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Resume"
|
text = "Resume"
|
||||||
|
|
||||||
[node name="Options" type="Button" parent="PanelContainer/VBoxContainer"]
|
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 24
|
||||||
|
theme_override_constants/margin_top = 5
|
||||||
|
theme_override_constants/margin_right = 24
|
||||||
|
theme_override_constants/margin_bottom = 5
|
||||||
|
|
||||||
|
[node name="Options" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Options"
|
text = "Options"
|
||||||
|
|
||||||
[node name="QuitToMainMenu" type="Button" parent="PanelContainer/VBoxContainer"]
|
[node name="MarginContainer3" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 24
|
||||||
|
theme_override_constants/margin_top = 5
|
||||||
|
theme_override_constants/margin_right = 24
|
||||||
|
theme_override_constants/margin_bottom = 5
|
||||||
|
|
||||||
|
[node name="QuitToMainMenu" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer3"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Quit to main menu"
|
text = "Quit to main menu"
|
||||||
|
|
||||||
[node name="QuitToDesktop" type="Button" parent="PanelContainer/VBoxContainer"]
|
[node name="MarginContainer4" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 24
|
||||||
|
theme_override_constants/margin_top = 5
|
||||||
|
theme_override_constants/margin_right = 24
|
||||||
|
theme_override_constants/margin_bottom = 5
|
||||||
|
|
||||||
|
[node name="QuitToDesktop" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer4"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Quit to desktop"
|
text = "Quit to desktop"
|
||||||
|
|
||||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/Resume" to="." method="_on_resume_pressed"]
|
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/Resume" to="." method="_on_resume_pressed"]
|
||||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/Options" to="." method="_on_options_pressed"]
|
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/Options" to="." method="_on_options_pressed"]
|
||||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/QuitToMainMenu" to="." method="_on_quit_to_main_menu_pressed"]
|
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer3/QuitToMainMenu" to="." method="_on_quit_to_main_menu_pressed"]
|
||||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/QuitToDesktop" to="." method="_on_quit_to_desktop_pressed"]
|
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer4/QuitToDesktop" to="." method="_on_quit_to_desktop_pressed"]
|
||||||
|
@ -23,9 +23,14 @@ layout_mode = 2
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
placeholder_text = "Dummy Text"
|
placeholder_text = "Dummy Text"
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="VBoxContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/margin_left = 30
|
||||||
|
theme_override_constants/margin_right = 30
|
||||||
|
|
||||||
|
[node name="Button" type="Button" parent="VBoxContainer/MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Confirm
|
text = "Confirm
|
||||||
"
|
"
|
||||||
|
|
||||||
[connection signal="pressed" from="VBoxContainer/Button" to="." method="_on_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/MarginContainer/Button" to="." method="_on_button_pressed"]
|
||||||
|
@ -37,10 +37,10 @@ layout_mode = 1
|
|||||||
anchors_preset = -1
|
anchors_preset = -1
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
offset_left = -52.5
|
offset_left = -312.0
|
||||||
offset_top = 300.0
|
offset_top = 331.0
|
||||||
offset_right = -173.0
|
offset_right = -157.0
|
||||||
offset_bottom = 31.0
|
offset_bottom = 369.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
text = "play again :3"
|
text = "play again :3"
|
||||||
|
|
||||||
@ -49,10 +49,10 @@ layout_mode = 1
|
|||||||
anchors_preset = -1
|
anchors_preset = -1
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
offset_left = 348.0
|
offset_left = 11.0
|
||||||
offset_top = 300.0
|
offset_top = 331.0
|
||||||
offset_right = -173.0
|
offset_right = 262.0
|
||||||
offset_bottom = 31.0
|
offset_bottom = 369.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
text = "quit to main menu :<"
|
text = "quit to main menu :<"
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=12 format=3 uid="uid://1b2ikdanl66b"]
|
[gd_scene load_steps=13 format=3 uid="uid://1b2ikdanl66b"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/card_printer.gd" id="1_7rhtj"]
|
[ext_resource type="Script" path="res://Scripts/card_printer.gd" id="1_7rhtj"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="2_7ouw1"]
|
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="2_7ouw1"]
|
||||||
@ -11,6 +11,9 @@ albedo_color = Color(0.203922, 0.592157, 0.592157, 1)
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
|
||||||
size = Vector3(2.672, 1.75, 1)
|
size = Vector3(2.672, 1.75, 1)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_und3g"]
|
||||||
|
size = Vector3(0.816972, 0.233429, 0.632978)
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_yf4je"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_yf4je"]
|
||||||
viewport_path = NodePath("SubViewport")
|
viewport_path = NodePath("SubViewport")
|
||||||
|
|
||||||
@ -43,6 +46,10 @@ material = SubResource("StandardMaterial3D_s02au")
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.875, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.875, 0)
|
||||||
shape = SubResource("BoxShape3D_0ebt5")
|
shape = SubResource("BoxShape3D_0ebt5")
|
||||||
|
|
||||||
|
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.6825, 0.484672, 0)
|
||||||
|
shape = SubResource("BoxShape3D_und3g")
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="."]
|
[node name="SubViewport" type="SubViewport" parent="."]
|
||||||
transparent_bg = true
|
transparent_bg = true
|
||||||
render_target_update_mode = 4
|
render_target_update_mode = 4
|
||||||
@ -84,8 +91,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.444448, 0.610684)
|
|||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
script = ExtResource("3_iia6u")
|
script = ExtResource("3_iia6u")
|
||||||
press_cost = 10
|
press_cost = 20
|
||||||
hover_text = "Spend 10 Coins to print card"
|
hover_text = "Spend 20 Coins to print card"
|
||||||
|
|
||||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"]
|
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"]
|
||||||
shape = SubResource("BoxShape3D_ikdwj")
|
shape = SubResource("BoxShape3D_ikdwj")
|
||||||
@ -131,6 +138,11 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0466152, -0.0297148, -0.09
|
|||||||
shape = SubResource("BoxShape3D_gv3t5")
|
shape = SubResource("BoxShape3D_gv3t5")
|
||||||
disabled = true
|
disabled = true
|
||||||
|
|
||||||
|
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.6825, 0.484672, 0)
|
||||||
|
size = Vector3(0.816972, 0.233429, 0.632978)
|
||||||
|
material = SubResource("StandardMaterial3D_s02au")
|
||||||
|
|
||||||
[connection signal="button_interacted" from="StaticBody3D" to="." method="_on_static_body_3d_button_interacted"]
|
[connection signal="button_interacted" from="StaticBody3D" to="." method="_on_static_body_3d_button_interacted"]
|
||||||
[connection signal="button_interacted" from="StaticBody3D2" to="." method="retrieve_card"]
|
[connection signal="button_interacted" from="StaticBody3D2" to="." method="retrieve_card"]
|
||||||
[connection signal="button_interacted" from="StaticBody3D3" to="." method="retrieve_card"]
|
[connection signal="button_interacted" from="StaticBody3D3" to="." method="retrieve_card"]
|
||||||
|
@ -8,6 +8,7 @@ viewport_path = NodePath("SubViewport")
|
|||||||
[node name="Node3D" type="Sprite3D"]
|
[node name="Node3D" type="Sprite3D"]
|
||||||
pixel_size = 0.0006
|
pixel_size = 0.0006
|
||||||
billboard = 1
|
billboard = 1
|
||||||
|
no_depth_test = true
|
||||||
fixed_size = true
|
fixed_size = true
|
||||||
render_priority = 1
|
render_priority = 1
|
||||||
texture = SubResource("ViewportTexture_ppqlh")
|
texture = SubResource("ViewportTexture_ppqlh")
|
||||||
|
@ -3,37 +3,37 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://ba85u6i558x4w" path="res://Assets/Textures/minimap_node.png" id="1_phew5"]
|
[ext_resource type="Texture2D" uid="uid://ba85u6i558x4w" path="res://Assets/Textures/minimap_node.png" id="1_phew5"]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xt3aj"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xt3aj"]
|
||||||
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
|
albedo_color = Color(0.356863, 0.87451, 0.94902, 1)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbm1j"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbm1j"]
|
||||||
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
|
albedo_color = Color(0.356863, 0.87451, 0.94902, 1)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_18qg8"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_18qg8"]
|
||||||
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
|
albedo_color = Color(0.356863, 0.87451, 0.94902, 1)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ip8b2"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ip8b2"]
|
||||||
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
|
albedo_color = Color(0.356863, 0.87451, 0.94902, 1)
|
||||||
|
|
||||||
[node name="Node3D" type="Node3D"]
|
[node name="Node3D" type="Node3D"]
|
||||||
|
|
||||||
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
|
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02, 0.575)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02, 0.475)
|
||||||
size = Vector3(0.525, 0.04, 0.05)
|
size = Vector3(1, 0.04, 0.05)
|
||||||
material = SubResource("StandardMaterial3D_xt3aj")
|
material = SubResource("StandardMaterial3D_xt3aj")
|
||||||
|
|
||||||
[node name="CSGBox3D3" type="CSGBox3D" parent="."]
|
[node name="CSGBox3D3" type="CSGBox3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02, -0.575)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02, -0.475)
|
||||||
size = Vector3(0.525, 0.04, 0.05)
|
size = Vector3(1, 0.04, 0.05)
|
||||||
material = SubResource("StandardMaterial3D_gbm1j")
|
material = SubResource("StandardMaterial3D_gbm1j")
|
||||||
|
|
||||||
[node name="CSGBox3D4" type="CSGBox3D" parent="."]
|
[node name="CSGBox3D4" type="CSGBox3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.575, 0.02, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.475, 0.02, 0)
|
||||||
size = Vector3(0.05, 0.04, 0.525)
|
size = Vector3(0.05, 0.04, 1)
|
||||||
material = SubResource("StandardMaterial3D_18qg8")
|
material = SubResource("StandardMaterial3D_18qg8")
|
||||||
|
|
||||||
[node name="CSGBox3D5" type="CSGBox3D" parent="."]
|
[node name="CSGBox3D5" type="CSGBox3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.575, 0.02, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.475, 0.02, 0)
|
||||||
size = Vector3(0.05, 0.04, 0.525)
|
size = Vector3(0.05, 0.04, 1)
|
||||||
material = SubResource("StandardMaterial3D_ip8b2")
|
material = SubResource("StandardMaterial3D_ip8b2")
|
||||||
|
|
||||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||||
|
@ -26,7 +26,7 @@ func point_is_build_location(point_id):
|
|||||||
return !non_build_locations.has(point_id)
|
return !non_build_locations.has(point_id)
|
||||||
|
|
||||||
|
|
||||||
func test_path_if_point_toggled(point_id):
|
func test_path_if_point_toggled(point_id) -> bool:
|
||||||
if astar.is_point_disabled(point_id):
|
if astar.is_point_disabled(point_id):
|
||||||
astar.set_point_disabled(point_id, false)
|
astar.set_point_disabled(point_id, false)
|
||||||
else:
|
else:
|
||||||
@ -60,6 +60,29 @@ func networked_spawn_wall(pos : Vector3, name_id : int):
|
|||||||
tower_path.add_child(base)
|
tower_path.add_child(base)
|
||||||
|
|
||||||
|
|
||||||
|
func build_random_maze(block_limit):
|
||||||
|
var untested_point_ids = []
|
||||||
|
for index in (grid_size.x * grid_size.y):
|
||||||
|
untested_point_ids.append(index)
|
||||||
|
if block_limit <= 0 or block_limit > untested_point_ids.size():
|
||||||
|
block_limit = untested_point_ids.size()
|
||||||
|
for index in block_limit:
|
||||||
|
var random_point = untested_point_ids.pick_random()
|
||||||
|
untested_point_ids.erase(random_point)
|
||||||
|
if test_path_if_point_toggled(random_point):
|
||||||
|
networked_toggle_point.rpc(random_point)
|
||||||
|
|
||||||
|
|
||||||
|
func place_random_towers(tower_limit):
|
||||||
|
var untowered_bases = tower_bases.duplicate()
|
||||||
|
if tower_limit <= 0 or tower_limit > untowered_bases.size():
|
||||||
|
tower_limit = untowered_bases.size()
|
||||||
|
for index in tower_limit:
|
||||||
|
var random_base = untowered_bases.pick_random() as TowerBase
|
||||||
|
untowered_bases.erase(random_base)
|
||||||
|
random_base.add_card(Data.cards.pick_random())
|
||||||
|
|
||||||
|
|
||||||
func find_path() -> bool:
|
func find_path() -> bool:
|
||||||
var path = astar.get_point_path(astar.get_point_count() - 2, astar.get_point_count() - 1)
|
var path = astar.get_point_path(astar.get_point_count() - 2, astar.get_point_count() - 1)
|
||||||
if !path.is_empty():
|
if !path.is_empty():
|
||||||
|
26
Scripts/CinemaCam.gd
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
extends Node3D
|
||||||
|
class_name CinematicCamManager
|
||||||
|
|
||||||
|
@export var path_follows : Array[PathFollow3D]
|
||||||
|
@export var cameras : Array[Camera3D]
|
||||||
|
@export var pan_speed := 1.0
|
||||||
|
var current_cam := 0
|
||||||
|
var does_its_thing := true
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
for path_follow in path_follows:
|
||||||
|
path_follow.progress_ratio = 0.0
|
||||||
|
if does_its_thing:
|
||||||
|
cameras[0].make_current()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if does_its_thing:
|
||||||
|
path_follows[current_cam].progress_ratio += pan_speed * delta
|
||||||
|
if path_follows[current_cam].progress_ratio >= 1.0:
|
||||||
|
current_cam += 1
|
||||||
|
if current_cam >= cameras.size():
|
||||||
|
current_cam = 0
|
||||||
|
path_follows[current_cam].progress_ratio = 0.0
|
||||||
|
cameras[current_cam].make_current()
|
@ -3,7 +3,7 @@ class_name ProjectileTower
|
|||||||
|
|
||||||
@export var projectile_scene : PackedScene
|
@export var projectile_scene : PackedScene
|
||||||
|
|
||||||
var force := 20.0
|
var force := 150.0
|
||||||
var projectile_id := 0
|
var projectile_id := 0
|
||||||
|
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ func networked_shoot():
|
|||||||
@rpc("reliable", "call_local")
|
@rpc("reliable", "call_local")
|
||||||
func networked_spawn_projectile(peer_id):
|
func networked_spawn_projectile(peer_id):
|
||||||
var projectile = projectile_scene.instantiate() as Projectile
|
var projectile = projectile_scene.instantiate() as Projectile
|
||||||
projectile.position = global_position + Vector3.UP
|
projectile.position = yaw_model.global_position
|
||||||
projectile.damage = damage
|
projectile.damage = damage
|
||||||
projectile.direction = -yaw_model.global_transform.basis.z
|
projectile.direction = -yaw_model.global_transform.basis.z
|
||||||
projectile.force = force
|
projectile.force = force
|
||||||
|
@ -17,6 +17,10 @@ func _physics_process(_delta: float) -> void:
|
|||||||
fire(enemy)
|
fire(enemy)
|
||||||
|
|
||||||
|
|
||||||
|
func aim():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
func fire(target):
|
func fire(target):
|
||||||
if is_instance_valid(target) and target.alive:
|
if is_instance_valid(target) and target.alive:
|
||||||
target.damage(damage)
|
target.damage(damage)
|
||||||
|
@ -5,7 +5,7 @@ signal completed
|
|||||||
|
|
||||||
func set_popup(prompt_text, dismiss_text):
|
func set_popup(prompt_text, dismiss_text):
|
||||||
$VBoxContainer/Label.text = prompt_text
|
$VBoxContainer/Label.text = prompt_text
|
||||||
$VBoxContainer/Button.text = dismiss_text
|
$VBoxContainer/MarginContainerButton.text = dismiss_text
|
||||||
|
|
||||||
|
|
||||||
func _on_button_pressed() -> void:
|
func _on_button_pressed() -> void:
|
||||||
|
@ -49,8 +49,8 @@ func retrieve_card(i):
|
|||||||
var card = cards[i].stats
|
var card = cards[i].stats
|
||||||
var item = item_card_scene.instantiate() as ItemCard
|
var item = item_card_scene.instantiate() as ItemCard
|
||||||
item.card = card
|
item.card = card
|
||||||
|
item.position = Vector3(1.683, 0, 0)
|
||||||
add_child(item)
|
add_child(item)
|
||||||
item.position += -transform.basis.z * 2
|
|
||||||
button_collider.disabled = false
|
button_collider.disabled = false
|
||||||
button_box.position = Vector3(0,0,0)
|
button_box.position = Vector3(0,0,0)
|
||||||
|
|
||||||
|
@ -5,8 +5,8 @@ signal completed(outcome)
|
|||||||
|
|
||||||
func set_popup(prompt_text, confirm_text, cancel_text):
|
func set_popup(prompt_text, confirm_text, cancel_text):
|
||||||
$VBoxContainer/Label.text = prompt_text
|
$VBoxContainer/Label.text = prompt_text
|
||||||
$VBoxContainer/HBoxContainer/Confirm.text = confirm_text
|
$VBoxContainer/HBoxContainer/MarginContainer/Confirm.text = confirm_text
|
||||||
$VBoxContainer/HBoxContainer/Cancel.text = cancel_text
|
$VBoxContainer/HBoxContainer/MarginContainer2/Cancel.text = cancel_text
|
||||||
|
|
||||||
|
|
||||||
func _on_confirm_pressed() -> void:
|
func _on_confirm_pressed() -> void:
|
||||||
|
@ -9,8 +9,8 @@ var preferences : PlayerPreferences
|
|||||||
var player_profile : PlayerProfile
|
var player_profile : PlayerProfile
|
||||||
var player_keymap : PlayerKeymap
|
var player_keymap : PlayerKeymap
|
||||||
|
|
||||||
var wall_cost := 4
|
var wall_cost := 1
|
||||||
var printer_cost := 10
|
var printer_cost := 20
|
||||||
enum TargetType {UNDEFINED = 0, LAND = 1, AIR = 2, BOTH = 3}
|
enum TargetType {UNDEFINED = 0, LAND = 1, AIR = 2, BOTH = 3}
|
||||||
enum EnemyType {UNDEFINED = 0, LAND = 1, AIR = 2}
|
enum EnemyType {UNDEFINED = 0, LAND = 1, AIR = 2}
|
||||||
enum Rarity {COMMON = 0, UNCOMMON = 1, RARE = 2, EPIC = 3, LEGENDARY = 4}
|
enum Rarity {COMMON = 0, UNCOMMON = 1, RARE = 2, EPIC = 3, LEGENDARY = 4}
|
||||||
|
@ -22,10 +22,13 @@ var level : Level
|
|||||||
var enemies := 0
|
var enemies := 0
|
||||||
var objective_health := 120
|
var objective_health := 120
|
||||||
var wave := 0
|
var wave := 0
|
||||||
|
var endless_mode := false
|
||||||
var upcoming_wave
|
var upcoming_wave
|
||||||
var pot : float
|
var pot : float
|
||||||
var UILayer : CanvasLayer
|
var UILayer : CanvasLayer
|
||||||
var chatbox : Chatbox
|
var chatbox : Chatbox
|
||||||
|
var wave_limit := 20
|
||||||
|
var starting_cash := 16
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
@ -44,6 +47,20 @@ func parse_command(text : String, peer_id : int):
|
|||||||
connected_players_nodes[peer_id].inventory.add(gift)
|
connected_players_nodes[peer_id].inventory.add(gift)
|
||||||
if text.substr(1, 2) == "tr":
|
if text.substr(1, 2) == "tr":
|
||||||
chatbox.append_message("SERVER", Color.TOMATO, "[color=#f7a8b8]t[color=#55cdfc]r[color=#ffffff]a[color=#55cdfc]n[color=#f7a8b8]s [color=#e50000]r[color=#ff8d00]i[color=#ffee00]g[color=#028121]h[color=#004cff]t[color=#760088]s[color=white]!!")
|
chatbox.append_message("SERVER", Color.TOMATO, "[color=#f7a8b8]t[color=#55cdfc]r[color=#ffffff]a[color=#55cdfc]n[color=#f7a8b8]s [color=#e50000]r[color=#ff8d00]i[color=#ffee00]g[color=#028121]h[color=#004cff]t[color=#760088]s[color=white]!!")
|
||||||
|
if text.substr(1, 11) == "random_maze":
|
||||||
|
level.a_star_graph_3d.build_random_maze(50)
|
||||||
|
if text.substr(1, 13) == "random_towers":
|
||||||
|
level.a_star_graph_3d.place_random_towers(level.a_star_graph_3d.tower_bases.size() / 3.0)
|
||||||
|
if text.substr(1, 11) == "set_endless":
|
||||||
|
if is_multiplayer_authority():
|
||||||
|
networked_set_endless.rpc(true)
|
||||||
|
else:
|
||||||
|
chatbox.append_message("SERVER", Color.TOMATO, "Unable to edit gamemode")
|
||||||
|
if text.substr(1, 12) == "set_standard":
|
||||||
|
if is_multiplayer_authority():
|
||||||
|
networked_set_endless.rpc(false)
|
||||||
|
else:
|
||||||
|
chatbox.append_message("SERVER", Color.TOMATO, "Unable to edit gamemode")
|
||||||
# if text.substr(1, 17) == "show tower ranges":
|
# if text.substr(1, 17) == "show tower ranges":
|
||||||
# pass
|
# pass
|
||||||
# if text.substr(1, 20) = "show gauntlet ranges":
|
# if text.substr(1, 20) = "show gauntlet ranges":
|
||||||
@ -82,6 +99,7 @@ func spawn_players(player_array, player_profiles, chatbox_open_signal, chatbox_c
|
|||||||
enemy_number_changed.connect(player.hud.set_enemy_count)
|
enemy_number_changed.connect(player.hud.set_enemy_count)
|
||||||
add_child(player)
|
add_child(player)
|
||||||
p_i += 1
|
p_i += 1
|
||||||
|
level.cinematic_cam.does_its_thing = false
|
||||||
start_game()
|
start_game()
|
||||||
|
|
||||||
|
|
||||||
@ -116,6 +134,15 @@ func networked_set_upcoming_wave(wave_dict, coins):
|
|||||||
connected_players_nodes[key].hud.set_upcoming_wave(upcoming_wave)
|
connected_players_nodes[key].hud.set_upcoming_wave(upcoming_wave)
|
||||||
|
|
||||||
|
|
||||||
|
@rpc("reliable", "call_local")
|
||||||
|
func networked_set_endless(value):
|
||||||
|
endless_mode = value
|
||||||
|
if endless_mode:
|
||||||
|
chatbox.append_message("SERVER", Color.TOMATO, "Endless mode enabled!")
|
||||||
|
else:
|
||||||
|
chatbox.append_message("SERVER", Color.TOMATO, "Endless mode disabled!")
|
||||||
|
|
||||||
|
|
||||||
func increase_enemy_count():
|
func increase_enemy_count():
|
||||||
enemies += 1
|
enemies += 1
|
||||||
enemy_number_changed.emit(enemies)
|
enemy_number_changed.emit(enemies)
|
||||||
@ -131,7 +158,7 @@ func enemy_died(enemy):
|
|||||||
return
|
return
|
||||||
if enemies == 0:
|
if enemies == 0:
|
||||||
end_wave()
|
end_wave()
|
||||||
if wave >= 20:
|
if !endless_mode and wave >= wave_limit:
|
||||||
win_game()
|
win_game()
|
||||||
|
|
||||||
|
|
||||||
@ -146,7 +173,7 @@ func damage_goal(enemy, penalty):
|
|||||||
lose_game()
|
lose_game()
|
||||||
elif enemies == 0:
|
elif enemies == 0:
|
||||||
end_wave()
|
end_wave()
|
||||||
if wave >= 20:
|
if !endless_mode and wave >= wave_limit:
|
||||||
win_game()
|
win_game()
|
||||||
|
|
||||||
|
|
||||||
@ -174,7 +201,7 @@ func start_game():
|
|||||||
level.a_star_graph_3d.find_path()
|
level.a_star_graph_3d.find_path()
|
||||||
set_upcoming_wave()
|
set_upcoming_wave()
|
||||||
for peer_id in connected_players_nodes:
|
for peer_id in connected_players_nodes:
|
||||||
connected_players_nodes[peer_id].currency = 20
|
connected_players_nodes[peer_id].currency = starting_cash / connected_players_nodes.size()
|
||||||
game_started.emit()
|
game_started.emit()
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
extends VBoxContainer
|
extends VBoxContainer
|
||||||
|
class_name KeybindsOptionsMenu
|
||||||
|
|
||||||
var keybind_popup = load("res://Scenes/UI/keybind_popup.tscn")
|
var keybind_popup = load("res://Scenes/UI/keybind_popup.tscn")
|
||||||
var keybind_boxes = []
|
var keybind_boxes = []
|
||||||
|
@ -6,3 +6,4 @@ class_name Level
|
|||||||
@export var enemy_spawns : Array[Node3D] = []
|
@export var enemy_spawns : Array[Node3D] = []
|
||||||
@export var enemy_goals : Array[Node3D] = []
|
@export var enemy_goals : Array[Node3D] = []
|
||||||
@export var a_star_graph_3d : AStarGraph3D
|
@export var a_star_graph_3d : AStarGraph3D
|
||||||
|
@export var cinematic_cam : CinematicCamManager
|
||||||
|
@ -4,9 +4,28 @@ var confirmation_popup_scene = preload("res://Scenes/Menus/confirmation_popup.ts
|
|||||||
var text_input_popup_scene = preload("res://Scenes/Menus/text_input_popup.tscn")
|
var text_input_popup_scene = preload("res://Scenes/Menus/text_input_popup.tscn")
|
||||||
var multiplayer_lobby_scene_path = "res://Scenes/multiplayer_lobby.tscn"
|
var multiplayer_lobby_scene_path = "res://Scenes/multiplayer_lobby.tscn"
|
||||||
var options_menu_scene = preload("res://Scenes/Menus/options_menu.tscn")
|
var options_menu_scene = preload("res://Scenes/Menus/options_menu.tscn")
|
||||||
|
@export var bg_level : Level
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$ProfileEditor/VBoxContainer/HBoxContainer/DisplayName.text = Data.player_profile.display_name
|
$ProfileEditor/VBoxContainer/HBoxContainer/DisplayName.text = Data.player_profile.display_name
|
||||||
|
bg_level.a_star_graph_3d.make_grid()
|
||||||
|
bg_level.a_star_graph_3d.find_path()
|
||||||
|
bg_level.a_star_graph_3d.build_random_maze(50)
|
||||||
|
bg_level.a_star_graph_3d.place_random_towers(20)
|
||||||
|
var new_wave = WaveManager.generate_wave(400, bg_level.enemy_pool)
|
||||||
|
for spawn in bg_level.enemy_spawns:
|
||||||
|
spawn.signal_for_after_enemy_died = enemy_died
|
||||||
|
spawn.signal_for_after_enemy_reached_goal = damage_goal
|
||||||
|
spawn.signal_for_when_enemy_spawns.connect(increase_enemy_count)
|
||||||
|
spawn.spawn_wave(new_wave)
|
||||||
|
|
||||||
|
func enemy_died(some_arg):
|
||||||
|
pass
|
||||||
|
func damage_goal():
|
||||||
|
pass
|
||||||
|
func increase_enemy_count():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
func _on_display_name_edit_pressed() -> void:
|
func _on_display_name_edit_pressed() -> void:
|
||||||
|
@ -1,12 +1,18 @@
|
|||||||
extends Control
|
extends Control
|
||||||
class_name OptionsMenu
|
class_name OptionsMenu
|
||||||
|
|
||||||
|
@export var gameplay : GameplayOptionsMenu
|
||||||
|
@export var graphics : GraphicsOptionsMenu
|
||||||
|
@export var keybinds : KeybindsOptionsMenu
|
||||||
|
|
||||||
|
|
||||||
func _on_cancel_pressed() -> void:
|
func _on_cancel_pressed() -> void:
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
func _on_confirm_pressed() -> void:
|
func _on_confirm_pressed() -> void:
|
||||||
|
gameplay.save()
|
||||||
|
graphics.save()
|
||||||
Data.graphics.apply_graphical_settings(get_viewport())
|
Data.graphics.apply_graphical_settings(get_viewport())
|
||||||
Data.graphics.save_profile_to_disk()
|
Data.graphics.save_profile_to_disk()
|
||||||
Data.preferences.save_profile_to_disk()
|
Data.preferences.save_profile_to_disk()
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
extends Node3D
|
|
||||||
class_name OldTower
|
|
||||||
|
|
||||||
@export var model : Node3D
|
|
||||||
@export var range_sphere : CSGSphere3D
|
|
||||||
@export var minimap_range_sphere : CSGSphere3D
|
|
||||||
|
|
||||||
var targeted_enemy
|
|
||||||
var cooldown := 0.0
|
|
||||||
var other_cooldown := 0.0
|
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
cooldown = 1.0 / stats.fire_rate
|
|
||||||
range_sphere.radius = stats.fire_range
|
|
||||||
minimap_range_sphere.radius = stats.fire_range
|
|
||||||
#minimap_range_sphere.set_visible(true)
|
|
||||||
|
|
||||||
|
|
||||||
func preview_range(value):
|
|
||||||
range_sphere.set_visible(value)
|
|
||||||
minimap_range_sphere.set_visible(value)
|
|
||||||
|
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
|
||||||
other_cooldown -= delta
|
|
||||||
if !targeted_enemy:
|
|
||||||
acquire_target()
|
|
||||||
else:
|
|
||||||
if model.global_position.distance_to(targeted_enemy.global_position) > stats.fire_range:
|
|
||||||
targeted_enemy = null
|
|
||||||
if targeted_enemy:
|
|
||||||
aim()
|
|
||||||
if other_cooldown <= 0:
|
|
||||||
shoot()
|
|
||||||
other_cooldown = cooldown
|
|
||||||
|
|
||||||
|
|
||||||
func shoot():
|
|
||||||
targeted_enemy.damage(stats.damage)
|
|
||||||
|
|
||||||
|
|
||||||
func aim():
|
|
||||||
model.look_at(targeted_enemy.global_position)
|
|
||||||
|
|
||||||
|
|
||||||
func acquire_target():
|
|
||||||
var most_progressed_enemy = null
|
|
||||||
for enemy in get_tree().get_nodes_in_group("Enemies"):
|
|
||||||
if model.global_position.distance_to(enemy.global_position) > stats.fire_range:
|
|
||||||
continue
|
|
||||||
var em_1 = enemy.movement_controller as EnemyMovement
|
|
||||||
var em_2 : EnemyMovement
|
|
||||||
if most_progressed_enemy != null:
|
|
||||||
em_2 = most_progressed_enemy.movement_controller as EnemyMovement
|
|
||||||
if (most_progressed_enemy == null or em_1.distance_remaining < em_2.distance_remaining) and enemy.stats.target_type & stats.can_target:
|
|
||||||
most_progressed_enemy = enemy
|
|
||||||
if most_progressed_enemy != null:
|
|
||||||
targeted_enemy = most_progressed_enemy
|
|
26
Worlds/GreenPlanet/Decorations/bush.tscn
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://d3h3lmlf3hljl"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://drbfdp7kugbri" path="res://Assets/Textures/bush.png" id="1_2ubx8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dg47vgt0uccw1" path="res://Assets/Textures/minimap_tree.png" id="2_6w34c"]
|
||||||
|
|
||||||
|
[node name="Bush" type="Node3D"]
|
||||||
|
|
||||||
|
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.15464, 0)
|
||||||
|
pixel_size = 0.05
|
||||||
|
alpha_cut = 1
|
||||||
|
texture_filter = 0
|
||||||
|
texture = ExtResource("1_2ubx8")
|
||||||
|
|
||||||
|
[node name="Sprite3D2" type="Sprite3D" parent="."]
|
||||||
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 2.15464, 0)
|
||||||
|
pixel_size = 0.05
|
||||||
|
alpha_cut = 1
|
||||||
|
texture_filter = 0
|
||||||
|
texture = ExtResource("1_2ubx8")
|
||||||
|
|
||||||
|
[node name="Sprite3D3" type="Sprite3D" parent="."]
|
||||||
|
transform = Transform3D(7.5, 0, 0, 0, -3.27835e-07, 7.5, 0, -7.5, -3.27835e-07, 0, 5.98547, 0)
|
||||||
|
layers = 4
|
||||||
|
texture_filter = 0
|
||||||
|
texture = ExtResource("2_6w34c")
|
@ -1,7 +1,8 @@
|
|||||||
[gd_scene load_steps=9 format=3 uid="uid://b7s8i67yqvwbw"]
|
[gd_scene load_steps=12 format=3 uid="uid://b7s8i67yqvwbw"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://r8cr41blojpm" path="res://Assets/Textures/stone wall 7.png" id="1_ftah0"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://blnfsojw4ukq4" path="res://Assets/Textures/grass.png" id="1_nc7wu"]
|
[ext_resource type="Texture2D" uid="uid://blnfsojw4ukq4" path="res://Assets/Textures/grass.png" id="1_nc7wu"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dgwsvkmnesjjm" path="res://Assets/Textures/stone.png" id="2_udt8k"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cnvndwp3q7rke" path="res://Assets/Textures/dirt.png" id="3_1edgw"]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ulcfh"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ulcfh"]
|
||||||
albedo_texture = ExtResource("1_nc7wu")
|
albedo_texture = ExtResource("1_nc7wu")
|
||||||
@ -14,7 +15,8 @@ orientation = 1
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mtfk2"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_mtfk2"]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jnpkd"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jnpkd"]
|
||||||
albedo_texture = ExtResource("1_ftah0")
|
albedo_texture = ExtResource("2_udt8k")
|
||||||
|
texture_filter = 0
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_twahx"]
|
[sub_resource type="QuadMesh" id="QuadMesh_twahx"]
|
||||||
material = SubResource("StandardMaterial3D_jnpkd")
|
material = SubResource("StandardMaterial3D_jnpkd")
|
||||||
@ -22,9 +24,19 @@ orientation = 1
|
|||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_d3j6k"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_d3j6k"]
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e3y4s"]
|
||||||
|
albedo_texture = ExtResource("3_1edgw")
|
||||||
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_u8bp3"]
|
||||||
|
material = SubResource("StandardMaterial3D_e3y4s")
|
||||||
|
size = Vector2(2, 2)
|
||||||
|
center_offset = Vector3(0, -1, 1)
|
||||||
|
|
||||||
[node name="Library" type="Node3D"]
|
[node name="Library" type="Node3D"]
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0)
|
||||||
mesh = SubResource("QuadMesh_yxhjj")
|
mesh = SubResource("QuadMesh_yxhjj")
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
||||||
@ -34,7 +46,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
|
|||||||
shape = SubResource("BoxShape3D_mtfk2")
|
shape = SubResource("BoxShape3D_mtfk2")
|
||||||
|
|
||||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
|
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.07427, 0, 0)
|
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 2, 0, 0)
|
||||||
mesh = SubResource("QuadMesh_twahx")
|
mesh = SubResource("QuadMesh_twahx")
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D2"]
|
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D2"]
|
||||||
@ -42,3 +54,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
|
|||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D2/StaticBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D2/StaticBody3D"]
|
||||||
shape = SubResource("BoxShape3D_d3j6k")
|
shape = SubResource("BoxShape3D_d3j6k")
|
||||||
|
|
||||||
|
[node name="MeshInstance3D3" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0)
|
||||||
|
mesh = SubResource("QuadMesh_u8bp3")
|
||||||
|
BIN
assaultmod.res
Normal file
BIN
assaultmodel.glb
Normal file
45
assaultmodel.glb.import
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://ciu2crn0o7htc"
|
||||||
|
path="res://.godot/imported/assaultmodel.glb-c8e5e4674872be4256882c2b710ccd90.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assaultmodel.glb"
|
||||||
|
dest_files=["res://.godot/imported/assaultmodel.glb-c8e5e4674872be4256882c2b710ccd90.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type="Node3D"
|
||||||
|
nodes/root_name="Scene Root"
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={
|
||||||
|
"meshes": {
|
||||||
|
"assaultmodel_Cube": {
|
||||||
|
"generate/lightmap_uv": 0,
|
||||||
|
"generate/lods": 0,
|
||||||
|
"generate/shadow_meshes": 0,
|
||||||
|
"lods/normal_merge_angle": 60.0,
|
||||||
|
"lods/normal_split_angle": 25.0,
|
||||||
|
"save_to_file/enabled": true,
|
||||||
|
"save_to_file/make_streamable": "",
|
||||||
|
"save_to_file/path": "res://assaultmod.res"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/embedded_image_handling=0
|
BIN
assaulttex.png
Normal file
After Width: | Height: | Size: 25 KiB |
34
assaulttex.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ndhxw3xc8gxq"
|
||||||
|
path="res://.godot/imported/assaulttex.png-6e11a170a27a126d24f7975db5bc05f7.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assaulttex.png"
|
||||||
|
dest_files=["res://.godot/imported/assaulttex.png-6e11a170a27a126d24f7975db5bc05f7.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
blowdart.glb
Normal file
45
blowdart.glb.import
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://nhkh1qnqtll6"
|
||||||
|
path="res://.godot/imported/blowdart.glb-2617a336df09b573280ccf8682d7c3db.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://blowdart.glb"
|
||||||
|
dest_files=["res://.godot/imported/blowdart.glb-2617a336df09b573280ccf8682d7c3db.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type="Node3D"
|
||||||
|
nodes/root_name="Scene Root"
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={
|
||||||
|
"meshes": {
|
||||||
|
"blowdart_Cube": {
|
||||||
|
"generate/lightmap_uv": 0,
|
||||||
|
"generate/lods": 0,
|
||||||
|
"generate/shadow_meshes": 0,
|
||||||
|
"lods/normal_merge_angle": 60.0,
|
||||||
|
"lods/normal_split_angle": 25.0,
|
||||||
|
"save_to_file/enabled": true,
|
||||||
|
"save_to_file/make_streamable": "",
|
||||||
|
"save_to_file/path": "res://blowdart.res"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/embedded_image_handling=1
|
BIN
blowdart.png
Normal file
After Width: | Height: | Size: 13 KiB |
34
blowdart.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cmgtiw6p50bbi"
|
||||||
|
path="res://.godot/imported/blowdart.png-89805f290c965afb19be973b67aee777.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://blowdart.png"
|
||||||
|
dest_files=["res://.godot/imported/blowdart.png-89805f290c965afb19be973b67aee777.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
blowdart.res
Normal file
BIN
bombamod.glb
Normal file
45
bombamod.glb.import
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://c7oec0i1k76et"
|
||||||
|
path="res://.godot/imported/bombamod.glb-9cd4bd592733c8fe463d0d059a606443.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://bombamod.glb"
|
||||||
|
dest_files=["res://.godot/imported/bombamod.glb-9cd4bd592733c8fe463d0d059a606443.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type="Node3D"
|
||||||
|
nodes/root_name="Scene Root"
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={
|
||||||
|
"meshes": {
|
||||||
|
"bombamod_Cube": {
|
||||||
|
"generate/lightmap_uv": 0,
|
||||||
|
"generate/lods": 0,
|
||||||
|
"generate/shadow_meshes": 0,
|
||||||
|
"lods/normal_merge_angle": 60.0,
|
||||||
|
"lods/normal_split_angle": 25.0,
|
||||||
|
"save_to_file/enabled": true,
|
||||||
|
"save_to_file/make_streamable": "",
|
||||||
|
"save_to_file/path": "res://bombamodel.res"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/embedded_image_handling=0
|
BIN
bombamodel.res
Normal file
BIN
bombatex.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
34
bombatex.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cxwtwh2al18cb"
|
||||||
|
path="res://.godot/imported/bombatex.png-9dbb47ba6064c156118cceb5fb9a6cdc.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://bombatex.png"
|
||||||
|
dest_files=["res://.godot/imported/bombatex.png-9dbb47ba6064c156118cceb5fb9a6cdc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
@ -5,8 +5,14 @@ content_margin_left = 5.0
|
|||||||
content_margin_top = 2.0
|
content_margin_top = 2.0
|
||||||
content_margin_right = 5.0
|
content_margin_right = 5.0
|
||||||
content_margin_bottom = 2.0
|
content_margin_bottom = 2.0
|
||||||
bg_color = Color(0.505882, 0.678431, 0.901961, 1)
|
bg_color = Color(0, 0, 0, 0.572549)
|
||||||
corner_radius_top_left = 30
|
border_width_left = 2
|
||||||
corner_radius_top_right = 30
|
border_width_top = 2
|
||||||
corner_radius_bottom_right = 30
|
border_width_right = 2
|
||||||
corner_radius_bottom_left = 30
|
border_width_bottom = 2
|
||||||
|
border_color = Color(0.862745, 0.862745, 0.862745, 0.780392)
|
||||||
|
border_blend = true
|
||||||
|
expand_margin_left = 30.0
|
||||||
|
expand_margin_top = 2.0
|
||||||
|
expand_margin_right = 30.0
|
||||||
|
expand_margin_bottom = 5.0
|
||||||
|
BIN
flamethrower.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
34
flamethrower.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://33ebstkmuw2s"
|
||||||
|
path="res://.godot/imported/flamethrower.png-b7ebd4e56d3a0a576d95c57120e28da0.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://flamethrower.png"
|
||||||
|
dest_files=["res://.godot/imported/flamethrower.png-b7ebd4e56d3a0a576d95c57120e28da0.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
flamethrower_mesh.res
Normal file
BIN
fridge.glb
Normal file
45
fridge.glb.import
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://c6bawh1fc8dpm"
|
||||||
|
path="res://.godot/imported/fridge.glb-fc8eb7a817edc810c3127301db604b88.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://fridge.glb"
|
||||||
|
dest_files=["res://.godot/imported/fridge.glb-fc8eb7a817edc810c3127301db604b88.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type="Node3D"
|
||||||
|
nodes/root_name="Scene Root"
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={
|
||||||
|
"meshes": {
|
||||||
|
"fridge_Cube": {
|
||||||
|
"generate/lightmap_uv": 0,
|
||||||
|
"generate/lods": 0,
|
||||||
|
"generate/shadow_meshes": 0,
|
||||||
|
"lods/normal_merge_angle": 60.0,
|
||||||
|
"lods/normal_split_angle": 25.0,
|
||||||
|
"save_to_file/enabled": true,
|
||||||
|
"save_to_file/make_streamable": "",
|
||||||
|
"save_to_file/path": "res://fridge_mesh.res"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/embedded_image_handling=1
|
BIN
fridge.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
34
fridge.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cs77k4nnd1tql"
|
||||||
|
path="res://.godot/imported/fridge.png-13d1eccf6f0cb3bedbda59f6f5716000.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://fridge.png"
|
||||||
|
dest_files=["res://.godot/imported/fridge.png-13d1eccf6f0cb3bedbda59f6f5716000.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
fridge_mesh.res
Normal file
BIN
funbox.glb
BIN
funboxtex.png
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
gatling.glb
Normal file
45
gatling.glb.import
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://c8l43de2o07kb"
|
||||||
|
path="res://.godot/imported/gatling.glb-4b067db175131d6c02f2fca189542755.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://gatling.glb"
|
||||||
|
dest_files=["res://.godot/imported/gatling.glb-4b067db175131d6c02f2fca189542755.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type="Node3D"
|
||||||
|
nodes/root_name="Scene Root"
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={
|
||||||
|
"meshes": {
|
||||||
|
"gatling_Cube": {
|
||||||
|
"generate/lightmap_uv": 0,
|
||||||
|
"generate/lods": 0,
|
||||||
|
"generate/shadow_meshes": 0,
|
||||||
|
"lods/normal_merge_angle": 60.0,
|
||||||
|
"lods/normal_split_angle": 25.0,
|
||||||
|
"save_to_file/enabled": true,
|
||||||
|
"save_to_file/make_streamable": "",
|
||||||
|
"save_to_file/path": "res://gattlemesh.res"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/embedded_image_handling=1
|
BIN
gatling.png
Normal file
After Width: | Height: | Size: 13 KiB |
34
gatling.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bjh6e8t8br6rq"
|
||||||
|
path="res://.godot/imported/gatling.png-1ebead1b9b8aeec51c018f4be308dec1.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://gatling.png"
|
||||||
|
dest_files=["res://.godot/imported/gatling.png-1ebead1b9b8aeec51c018f4be308dec1.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
gattlemesh.res
Normal file
BIN
glue_launcher_model.res
Normal file
BIN
gluegun.glb
Normal file
45
gluegun.glb.import
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://dd2lht485rtdu"
|
||||||
|
path="res://.godot/imported/gluegun.glb-cbcef9fb1740eebcdeeca8e1e3fadbb0.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://gluegun.glb"
|
||||||
|
dest_files=["res://.godot/imported/gluegun.glb-cbcef9fb1740eebcdeeca8e1e3fadbb0.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type="Node3D"
|
||||||
|
nodes/root_name="Scene Root"
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={
|
||||||
|
"meshes": {
|
||||||
|
"gluegun_Cube": {
|
||||||
|
"generate/lightmap_uv": 0,
|
||||||
|
"generate/lods": 0,
|
||||||
|
"generate/shadow_meshes": 0,
|
||||||
|
"lods/normal_merge_angle": 60.0,
|
||||||
|
"lods/normal_split_angle": 25.0,
|
||||||
|
"save_to_file/enabled": true,
|
||||||
|
"save_to_file/make_streamable": "",
|
||||||
|
"save_to_file/path": "res://glue_launcher_model.res"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/embedded_image_handling=1
|
BIN
gluegun.png
Normal file
After Width: | Height: | Size: 11 KiB |
34
gluegun.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ukdbh416xfrl"
|
||||||
|
path="res://.godot/imported/gluegun.png-290a851e4b41fcbe30fec47bcbe5d928.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://gluegun.png"
|
||||||
|
dest_files=["res://.godot/imported/gluegun.png-290a851e4b41fcbe30fec47bcbe5d928.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|