fix metal plate pickup
This commit is contained in:
+17
-13
@@ -5,6 +5,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bjfuko7rdmax" path="res://assets/stone_big.png" id="3_klq6b"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://b5do7gjnxif80" path="res://assets/stonewall_long.obj" id="4_b121j"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://ul1cypdhef5a" path="res://assets/stone_big.obj" id="5_8c41q"]
|
||||
[ext_resource type="PackedScene" uid="uid://g7iron5etp8u" path="res://scenes/Iron.tscn" id="6_dke22"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_ppgk2"]
|
||||
|
||||
@@ -78,21 +79,21 @@ size = Vector3(0.6, 1, 0.6)
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_forge"]
|
||||
size = Vector3(2, 1.8, 2)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_etable"]
|
||||
size = Vector3(1.4, 0.9, 1.4)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ebook"]
|
||||
size = Vector3(0.7, 0.12, 0.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_etable"]
|
||||
albedo_color = Color(0.12, 0.08, 0.22, 1)
|
||||
roughness = 0.6
|
||||
metallic = 0.2
|
||||
roughness = 0.6
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_etable"]
|
||||
size = Vector3(1.4, 0.9, 1.4)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ebook"]
|
||||
albedo_color = Color(0.55, 0.08, 0.08, 1)
|
||||
roughness = 0.9
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ebook"]
|
||||
size = Vector3(0.7, 0.12, 0.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_etable"]
|
||||
size = Vector3(1.4, 0.9, 1.4)
|
||||
|
||||
@@ -261,18 +262,21 @@ mesh = SubResource("BoxMesh_chimney")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Forge" unique_id=726531191]
|
||||
shape = SubResource("BoxShape3D_forge")
|
||||
|
||||
[node name="EnchantingTable" type="StaticBody3D" parent="."]
|
||||
[node name="EnchantingTable" type="StaticBody3D" parent="." unique_id=242813005]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0.45, -8)
|
||||
metadata/is_enchanting_table = true
|
||||
|
||||
[node name="TableMesh" type="MeshInstance3D" parent="EnchantingTable"]
|
||||
mesh = SubResource("BoxMesh_etable")
|
||||
[node name="TableMesh" type="MeshInstance3D" parent="EnchantingTable" unique_id=1719378953]
|
||||
material_override = SubResource("StandardMaterial3D_etable")
|
||||
mesh = SubResource("BoxMesh_etable")
|
||||
|
||||
[node name="BookMesh" type="MeshInstance3D" parent="EnchantingTable"]
|
||||
[node name="BookMesh" type="MeshInstance3D" parent="EnchantingTable" unique_id=444214832]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.51, 0)
|
||||
mesh = SubResource("BoxMesh_ebook")
|
||||
material_override = SubResource("StandardMaterial3D_ebook")
|
||||
mesh = SubResource("BoxMesh_ebook")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnchantingTable"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnchantingTable" unique_id=352273224]
|
||||
shape = SubResource("BoxShape3D_etable")
|
||||
|
||||
[node name="Iron" parent="." unique_id=611454609 instance=ExtResource("6_dke22")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.4976616, 0.104292765, -5.8715014)
|
||||
|
||||
@@ -25,3 +25,10 @@ mesh = SubResource("BoxMesh_1")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1642999883]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.005560264, 0.16739155, 0.003918484)
|
||||
shape = SubResource("BoxShape3D_1")
|
||||
|
||||
[node name="Tooltip" type="Label3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
|
||||
billboard = 1
|
||||
text = "[E] Metal Plate
|
||||
+1 Kick Tier"
|
||||
outline_size = 6
|
||||
|
||||
@@ -19,6 +19,7 @@ var dead: bool = false
|
||||
var damage_modifier: float = 1.2
|
||||
|
||||
@onready var mesh_node: MeshInstance3D = $PlateMesh
|
||||
@onready var tooltip: Label3D = $Tooltip
|
||||
var plate_mat: StandardMaterial3D
|
||||
|
||||
const COLOR_IDLE := Color(0.6, 0.65, 0.72)
|
||||
@@ -26,8 +27,35 @@ const COLOR_IMPACT := Color(1.0, 1.0, 1.0)
|
||||
|
||||
func _ready() -> void:
|
||||
add_to_group("kickable")
|
||||
add_to_group("interactable")
|
||||
plate_mat = mesh_node.material_override.duplicate() as StandardMaterial3D
|
||||
mesh_node.material_override = plate_mat
|
||||
tooltip.visible = false
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if dead:
|
||||
tooltip.visible = false
|
||||
return
|
||||
var players := get_tree().get_nodes_in_group("player")
|
||||
if players.is_empty():
|
||||
tooltip.visible = false
|
||||
return
|
||||
var p := players[0] as Node3D
|
||||
tooltip.visible = p != null and global_position.distance_to(p.global_position) < 2.5
|
||||
|
||||
func interact(player: Node) -> void:
|
||||
if dead:
|
||||
return
|
||||
player.call("apply_upgrade_armor")
|
||||
dead = true
|
||||
set_physics_process(false)
|
||||
tooltip.visible = false
|
||||
remove_from_group("interactable")
|
||||
remove_from_group("kickable")
|
||||
var tw := create_tween()
|
||||
tw.tween_property(self, "scale", Vector3(1.4, 0.1, 1.4), 0.15)
|
||||
tw.tween_property(self, "scale", Vector3(0.0, 0.0, 0.0), 0.1)
|
||||
tw.tween_callback(queue_free)
|
||||
|
||||
func apply_collision_damage(dmg: float) -> void:
|
||||
_take_damage(dmg)
|
||||
|
||||
Reference in New Issue
Block a user