Exp updated collisions and tougness tier

This commit is contained in:
Georgiy Gorin
2026-04-23 10:10:40 +03:00
parent cdb0ffd6a5
commit 7beb9ffbac
22 changed files with 12045 additions and 60 deletions
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://b3m2872sdp3ep"
path="res://.godot/imported/stick.obj-4b867b5d040e587c60e2778589aa0361.mesh"
[deps]
files=["res://.godot/imported/stick.obj-4b867b5d040e587c60e2778589aa0361.mesh"]
source_file="res://assets/meshes/stick.obj"
dest_files=["res://.godot/imported/stick.obj-4b867b5d040e587c60e2778589aa0361.mesh", "res://.godot/imported/stick.obj-4b867b5d040e587c60e2778589aa0361.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://dwb4g8t8oeycp"
path="res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh"
[deps]
files=["res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh"]
source_file="res://assets/meshes/stone_big.obj"
dest_files=["res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh", "res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://c06flbdipxqac"
path="res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh"
[deps]
files=["res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh"]
source_file="res://assets/meshes/stone_small.obj"
dest_files=["res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh", "res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
+2 -2
View File
@@ -12,7 +12,7 @@ roughness = 0.4
size = Vector3(0.38, 0.22, 0.5) size = Vector3(0.38, 0.22, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_1"] [sub_resource type="BoxShape3D" id="BoxShape3D_1"]
size = Vector3(0.38, 0.22, 0.5) size = Vector3(1.3992603, 0.58835024, 0.49035645)
[node name="Iron" type="CharacterBody3D" unique_id=611454609] [node name="Iron" type="CharacterBody3D" unique_id=611454609]
script = ExtResource("1_iron") script = ExtResource("1_iron")
@@ -23,5 +23,5 @@ material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1") mesh = SubResource("BoxMesh_1")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=665808333] [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=665808333]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00068727136, 0.22091705, -0.0048217773)
shape = SubResource("BoxShape3D_1") shape = SubResource("BoxShape3D_1")
+3 -3
View File
@@ -10,16 +10,16 @@ roughness = 0.85
size = Vector3(0.5, 0.06, 0.35) size = Vector3(0.5, 0.06, 0.35)
[sub_resource type="BoxShape3D" id="BoxShape3D_1"] [sub_resource type="BoxShape3D" id="BoxShape3D_1"]
size = Vector3(0.5, 0.06, 0.35) size = Vector3(0.7527008, 0.108486325, 0.6336487)
[node name="Leather" type="CharacterBody3D" unique_id=267529517] [node name="Leather" type="CharacterBody3D" unique_id=267529517]
script = ExtResource("1_leather") script = ExtResource("1_leather")
[node name="LeatherMesh" type="MeshInstance3D" parent="." unique_id=2045837180] [node name="LeatherMesh" type="MeshInstance3D" parent="." unique_id=2045837180]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0) transform = Transform3D(1.5, 0, 0, 0, 1.812, 0, 0, 0, 1.784, 0, 0.12694196, 0)
material_override = SubResource("StandardMaterial3D_1") material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1") mesh = SubResource("BoxMesh_1")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1940111930] [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1940111930]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00071039796, 0.12997423, 0.0029245168)
shape = SubResource("BoxShape3D_1") shape = SubResource("BoxShape3D_1")
+14 -14
View File
@@ -1,27 +1,27 @@
[gd_scene format=3 uid="uid://dbvt3pkrej5nq"] [gd_scene format=3 uid="uid://dbvt3pkrej5nq"]
[ext_resource type="Script" path="res://scripts/MetalPlate.gd" id="1_plate"] [ext_resource type="Script" uid="uid://sfq4iq0btm0g" path="res://scripts/MetalPlate.gd" id="1_plate"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.6, 0.65, 0.72, 1)
metallic = 0.8
metallic_specular = 0.9
roughness = 0.35
[sub_resource type="BoxMesh" id="BoxMesh_1"] [sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.55, 0.08, 0.7) size = Vector3(0.55, 0.08, 0.7)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.6, 0.65, 0.72, 1)
roughness = 0.35
metallic = 0.8
metallic_specular = 0.9
[sub_resource type="BoxShape3D" id="BoxShape3D_1"] [sub_resource type="BoxShape3D" id="BoxShape3D_1"]
size = Vector3(0.55, 0.08, 0.7) size = Vector3(1.0203736, 0.124472655, 1.4775146)
[node name="MetalPlate" type="CharacterBody3D"] [node name="MetalPlate" type="CharacterBody3D" unique_id=1872011585]
script = ExtResource("1_plate") script = ExtResource("1_plate")
[node name="PlateMesh" type="MeshInstance3D" parent="."] [node name="PlateMesh" type="MeshInstance3D" parent="." unique_id=436086498]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) transform = Transform3D(1.8395851, 0, 0, 0, 1.5228686, 0, 0, 0, 2.050398, 0, 0.16620824, 0)
mesh = SubResource("BoxMesh_1")
material_override = SubResource("StandardMaterial3D_1") material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."] [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1642999883]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.005560264, 0.16739155, 0.003918484)
shape = SubResource("BoxShape3D_1") shape = SubResource("BoxShape3D_1")
+13 -14
View File
@@ -1,28 +1,27 @@
[gd_scene format=3 uid="uid://cjhyinmjh0c3y"] [gd_scene format=3 uid="uid://cjhyinmjh0c3y"]
[ext_resource type="Script" path="res://scripts/PlateArmor.gd" id="1_platea"] [ext_resource type="Script" uid="uid://sklquy2lyugo" path="res://scripts/PlateArmor.gd" id="1_platea"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.58, 0.62, 0.7, 1)
metallic = 0.85
metallic_specular = 1.0
roughness = 0.3
[sub_resource type="BoxMesh" id="BoxMesh_1"] [sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.58, 0.72, 0.24) size = Vector3(0.58, 0.72, 0.24)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"] [node name="PlateArmor" type="Node3D" unique_id=1607276475]
albedo_color = Color(0.58, 0.62, 0.70, 1)
roughness = 0.3
metallic = 0.85
metallic_specular = 1.0
[node name="PlateArmor" type="Node3D"]
script = ExtResource("1_platea") script = ExtResource("1_platea")
[node name="ArmorMesh" type="MeshInstance3D" parent="."] [node name="ArmorMesh" type="MeshInstance3D" parent="." unique_id=65147838]
mesh = SubResource("BoxMesh_1") transform = Transform3D(2.0554285, 0, 0, 0, 2.3875203, 0, 0, 0, 4.207259, 0, 0.7950885, -0.16405308)
material_override = SubResource("StandardMaterial3D_1") material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
[node name="Tooltip" type="Label3D" parent="."] [node name="Tooltip" type="Label3D" parent="." unique_id=2013488670]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.9503746, 0)
billboard = 1 billboard = 1
double_sided = true
text = "[E] Plate Armor text = "[E] Plate Armor
+1 Toughness" +1 Toughness"
font_size = 32
outline_size = 6 outline_size = 6
+3 -3
View File
@@ -8,16 +8,16 @@ albedo_color = Color(0.45, 0.38, 0.3, 1)
metallic = 0.05 metallic = 0.05
[sub_resource type="SphereShape3D" id="SphereShape3D_1"] [sub_resource type="SphereShape3D" id="SphereShape3D_1"]
radius = 0.25 radius = 0.40034008
[node name="Rock" type="CharacterBody3D" unique_id=1267213194] [node name="Rock" type="CharacterBody3D" unique_id=1267213194]
script = ExtResource("1_rock") script = ExtResource("1_rock")
[node name="RockMesh" type="MeshInstance3D" parent="." unique_id=918783711] [node name="RockMesh" type="MeshInstance3D" parent="." unique_id=918783711]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0) transform = Transform3D(1.6, 0, 0, 0, 1.6, 0, 0, 0, 1.6, 0, 0.25, 0)
material_override = SubResource("StandardMaterial3D_1") material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("2_wmx41") mesh = ExtResource("2_wmx41")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=2017780451] [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=2017780451]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.033173382, 0.43890864, 0)
shape = SubResource("SphereShape3D_1") shape = SubResource("SphereShape3D_1")
+3 -3
View File
@@ -8,8 +8,8 @@ albedo_color = Color(0.55, 0.38, 0.18, 1)
roughness = 0.95 roughness = 0.95
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1"]
radius = 0.07 radius = 0.15673828
height = 0.65 height = 1.6220214
[node name="Stick" type="CharacterBody3D" unique_id=1893805391] [node name="Stick" type="CharacterBody3D" unique_id=1893805391]
script = ExtResource("1_stick") script = ExtResource("1_stick")
@@ -20,5 +20,5 @@ material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("2_urm7b") mesh = ExtResource("2_urm7b")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=653008437] [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=653008437]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.32, 0) transform = Transform3D(1, 0, 0, 0, 0.025374386, 0.999678, 0, -0.999678, 0.025374386, 0.005088806, 0.31109625, 0.109485604)
shape = SubResource("CapsuleShape3D_1") shape = SubResource("CapsuleShape3D_1")
+10 -11
View File
@@ -1,26 +1,25 @@
[gd_scene format=3 uid="uid://hk7p5sjjxa1w"] [gd_scene format=3 uid="uid://hk7p5sjjxa1w"]
[ext_resource type="Script" path="res://scripts/StickArmor.gd" id="1_sticka"] [ext_resource type="Script" uid="uid://cmvl3td1h7qb8" path="res://scripts/StickArmor.gd" id="1_sticka"]
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.45, 0.55, 0.2)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.48, 0.32, 0.14, 1) albedo_color = Color(0.48, 0.32, 0.14, 1)
roughness = 0.9 roughness = 0.9
[node name="StickArmor" type="Node3D"] [sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.45, 0.55, 0.2)
[node name="StickArmor" type="Node3D" unique_id=1550651822]
script = ExtResource("1_sticka") script = ExtResource("1_sticka")
[node name="ArmorMesh" type="MeshInstance3D" parent="."] [node name="ArmorMesh" type="MeshInstance3D" parent="." unique_id=564243580]
mesh = SubResource("BoxMesh_1") transform = Transform3D(3.1221292, 0, 0, 0, 2.4342613, 0, 0, 0, 1, 0, 0.38186997, 0)
material_override = SubResource("StandardMaterial3D_1") material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
[node name="Tooltip" type="Label3D" parent="."] [node name="Tooltip" type="Label3D" parent="." unique_id=243955258]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.072116256, 1.3135526, 0)
billboard = 1 billboard = 1
double_sided = true
text = "[E] Stick Armor text = "[E] Stick Armor
+1 Toughness" +1 Toughness"
font_size = 32
outline_size = 6 outline_size = 6
+2 -1
View File
@@ -171,7 +171,8 @@ func _try_enemy_kick() -> void:
return return
# 3. Kick player directly if lower toughness and in range # 3. Kick player directly if lower toughness and in range
if kick_tier > 0 and to_player.length() < ENEMY_KICK_RANGE: #if kick_tier > 0 and to_player.length() < ENEMY_KICK_RANGE:
if to_player.length() < ENEMY_KICK_RANGE:
var player_toughness: int = target.get("toughness_tier") if target.get("toughness_tier") != null else 0 var player_toughness: int = target.get("toughness_tier") if target.get("toughness_tier") != null else 0
if player_toughness < kick_tier: if player_toughness < kick_tier:
target.call("receive_kick", kick_dir, 35.0 + kick_tier * 8.0) target.call("receive_kick", kick_dir, 35.0 + kick_tier * 8.0)
+1 -1
View File
@@ -8,7 +8,7 @@ const WALL_BOUNCE := 0.7
var kickable_type: String = "leather" var kickable_type: String = "leather"
var kick_tier: int = 0 var kick_tier: int = 0
var toughness_tier: int = 0 var toughness_tier: int = 1
var state: State = State.IDLE var state: State = State.IDLE
var fly_vel: Vector3 = Vector3.ZERO var fly_vel: Vector3 = Vector3.ZERO
var damage_modifier: float = 0.0 var damage_modifier: float = 0.0
+1 -1
View File
@@ -12,7 +12,7 @@ func _ready() -> void:
tw.tween_property(self, "position:y", 0.1, 0.7) tw.tween_property(self, "position:y", 0.1, 0.7)
func _process(delta: float) -> void: func _process(delta: float) -> void:
rotation.y += delta * 1.2 #rotation.y += delta * 1.2
var players := get_tree().get_nodes_in_group("player") var players := get_tree().get_nodes_in_group("player")
if players.is_empty(): if players.is_empty():
tooltip.visible = false tooltip.visible = false
+2 -2
View File
@@ -6,12 +6,12 @@ static var _list: Array[Dictionary] = [
{ {
"ingredients": ["leather", "stick"], "ingredients": ["leather", "stick"],
"result_scene": "res://scenes/LeatherBoots.tscn", "result_scene": "res://scenes/LeatherBoots.tscn",
"speed_threshold": 0.5, "speed_threshold": 18.0,
}, },
{ {
"ingredients": ["rock", "rock"], "ingredients": ["rock", "rock"],
"result_scene": "res://scenes/Boulder.tscn", "result_scene": "res://scenes/Boulder.tscn",
"speed_threshold": 5.0, "speed_threshold": 18.0,
}, },
{ {
"ingredients": ["stick", "stick"], "ingredients": ["stick", "stick"],
+1 -1
View File
@@ -10,7 +10,7 @@ func _ready() -> void:
tw.tween_property(self, "position:y", 0.2, 0.7) tw.tween_property(self, "position:y", 0.2, 0.7)
func _process(delta: float) -> void: func _process(delta: float) -> void:
rotation.y += delta * 1.4 #rotation.y += delta * 1.4
var players := get_tree().get_nodes_in_group("player") var players := get_tree().get_nodes_in_group("player")
if players.is_empty(): if players.is_empty():
tooltip.visible = false tooltip.visible = false
+1 -1
View File
@@ -14,7 +14,7 @@ var kick_tier: int = 0
var toughness_tier: int = 2 var toughness_tier: int = 2
var state: State = State.IDLE var state: State = State.IDLE
var fly_vel: Vector3 = Vector3.ZERO var fly_vel: Vector3 = Vector3.ZERO
var health: float = 120.0 var health: float = 1200.0
var dead: bool = false var dead: bool = false
var damage_modifier: float = 1.2 var damage_modifier: float = 1.2
+1 -1
View File
@@ -11,7 +11,7 @@ signal health_changed(current: int, maximum: int)
@export var max_health: int = 100 @export var max_health: int = 100
var health: int = max_health var health: int = max_health
var kick_tier: int = 1 var kick_tier: int = 0
var toughness_tier: int = 0 var toughness_tier: int = 0
var has_stick_armor: bool = false var has_stick_armor: bool = false
var has_leather_armor: bool = false var has_leather_armor: bool = false
+1 -1
View File
@@ -11,7 +11,7 @@ const WALL_SELF_DMG := 0.6
var kickable_type: String = "rock" var kickable_type: String = "rock"
var kick_tier: int = 0 var kick_tier: int = 0
var toughness_tier: int = 1 var toughness_tier: int = 0
var state: State = State.IDLE var state: State = State.IDLE
var fly_vel: Vector3 = Vector3.ZERO var fly_vel: Vector3 = Vector3.ZERO
var health: float = 60.0 var health: float = 60.0
+1 -1
View File
@@ -11,7 +11,7 @@ const WALL_SELF_DMG := 0.5
var kickable_type: String = "stick" var kickable_type: String = "stick"
var kick_tier: int = 0 var kick_tier: int = 0
var toughness_tier: int = 1 var toughness_tier: int = 0
var state: State = State.IDLE var state: State = State.IDLE
var fly_vel: Vector3 = Vector3.ZERO var fly_vel: Vector3 = Vector3.ZERO
var health: float = 40.0 var health: float = 40.0