Added Grass that can be chopped with Daggers and Swords.
parent
5404e66b56
commit
2375341b61
|
@ -7,7 +7,7 @@
|
|||
animation = &"rogue/1H_Melee_Attack_Chop"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_njp2v"]
|
||||
animation = &"rogue/1H_Melee_Attack_Slice_Diagonal"
|
||||
animation = &"rogue/1H_Melee_Attack_Slice_Horizontal"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_go27t"]
|
||||
animation = &"rogue/Unarmed_Melee_Attack_Kick"
|
||||
|
@ -42,7 +42,7 @@ advance_mode = 2
|
|||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_bqf2d"]
|
||||
states/Start/position = Vector2(142, 162)
|
||||
states/rogue_1H_Melee_Attack_Chop/node = SubResource("AnimationNodeAnimation_duxpv")
|
||||
states/rogue_1H_Melee_Attack_Chop/position = Vector2(490, 58)
|
||||
states/rogue_1H_Melee_Attack_Chop/position = Vector2(470, 23)
|
||||
states/rogue_1H_Melee_Attack_Slice_Diagonal/node = SubResource("AnimationNodeAnimation_njp2v")
|
||||
states/rogue_1H_Melee_Attack_Slice_Diagonal/position = Vector2(480, 162)
|
||||
states/rogue_Unarmed_Melee_Attack_Kick/node = SubResource("AnimationNodeAnimation_go27t")
|
||||
|
|
|
@ -1207,6 +1207,18 @@ tracks/56/path = NodePath("Rig/Skeleton3D:toes.r")
|
|||
tracks/56/interp = 1
|
||||
tracks/56/loop_wrap = true
|
||||
tracks/56/keys = PackedFloat32Array(0, 1, -3.04797e-08, -0.920355, 0.391084, 6.94849e-08)
|
||||
tracks/57/type = "value"
|
||||
tracks/57/imported = false
|
||||
tracks/57/enabled = true
|
||||
tracks/57/path = NodePath("%Geometry/..:tool_damage")
|
||||
tracks/57/interp = 0
|
||||
tracks/57/loop_wrap = true
|
||||
tracks/57/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.4, 0.466667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [false, true, true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vsnxm"]
|
||||
resource_name = "1H_Melee_Attack_Stab"
|
||||
|
|
|
@ -1,5 +1,19 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://d0gvv2ddnk8gf"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://d0gvv2ddnk8gf"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://20v2mjpyxm15" path="res://assets/3rdparty/KayKit_Adventurers_1.0_EXTRA/Assets/dagger.gltf" id="1_3dufl"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0q0w8"]
|
||||
radius = 0.141202
|
||||
height = 0.690169
|
||||
|
||||
[node name="dagger2" instance=ExtResource("1_3dufl")]
|
||||
|
||||
[node name="Hitbox" type="Area3D" parent="." index="1"]
|
||||
collision_layer = 8
|
||||
collision_mask = 0
|
||||
monitoring = false
|
||||
monitorable = false
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.488286, 0)
|
||||
shape = SubResource("CapsuleShape3D_0q0w8")
|
||||
|
|
|
@ -1,5 +1,19 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://b0hxoadcvbumx"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://b0hxoadcvbumx"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://ddt2ameyjmbht" path="res://assets/3rdparty/KayKit_Adventurers_1.0_EXTRA/Assets/sword_1handed.gltf" id="1_mee4c"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jwb68"]
|
||||
radius = 0.189831
|
||||
height = 1.21769
|
||||
|
||||
[node name="sword_1handed2" instance=ExtResource("1_mee4c")]
|
||||
|
||||
[node name="Hitbox" type="Area3D" parent="." index="1"]
|
||||
collision_layer = 8
|
||||
collision_mask = 0
|
||||
monitoring = false
|
||||
monitorable = false
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.807237, 0)
|
||||
shape = SubResource("CapsuleShape3D_jwb68")
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
@tool
|
||||
extends Node3D
|
||||
|
||||
@export var is_chopped:bool = true:
|
||||
get:
|
||||
return is_chopped
|
||||
set(value):
|
||||
if value != is_chopped:
|
||||
is_chopped = value
|
||||
|
||||
_update_geometry()
|
||||
|
||||
@onready var grass_large: Node3D = %grassLarge
|
||||
@onready var grow_timer: Timer = %GrowTimer
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
_update_geometry()
|
||||
|
||||
func _update_geometry() -> void:
|
||||
if grass_large == null:
|
||||
return
|
||||
|
||||
if is_chopped:
|
||||
grass_large.transform = Transform3D(Basis.IDENTITY, grass_large.position)
|
||||
else:
|
||||
grass_large.transform = Transform3D(Basis.IDENTITY.scaled(Vector3(1, 3, 1)), grass_large.position)
|
||||
|
||||
func _on_hitbox_area_shape_entered(area_rid: RID, area: Area3D, area_shape_index: int, local_shape_index: int) -> void:
|
||||
is_chopped = true
|
||||
grow_timer.start()
|
||||
|
||||
|
||||
func _on_grow_timer_timeout() -> void:
|
||||
if is_chopped:
|
||||
is_chopped = false
|
|
@ -0,0 +1,31 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://bwt4hbinrod8q"]
|
||||
|
||||
[ext_resource type="Script" path="res://objects/grass.gd" id="1_sc4bm"]
|
||||
[ext_resource type="PackedScene" uid="uid://c5x71uagdcocv" path="res://assets/3rdparty/kenney/survival-kit/Models/grassLarge.glb" id="2_4frmr"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_4etwi"]
|
||||
size = Vector3(0.5, 0.483398, 0.5)
|
||||
|
||||
[node name="Grass" type="Node3D"]
|
||||
script = ExtResource("1_sc4bm")
|
||||
is_chopped = false
|
||||
|
||||
[node name="grassLarge" parent="." instance=ExtResource("2_4frmr")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0)
|
||||
|
||||
[node name="Hitbox" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 8
|
||||
monitorable = false
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0167542, 0.244228, 0)
|
||||
shape = SubResource("BoxShape3D_4etwi")
|
||||
|
||||
[node name="GrowTimer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 2.0
|
||||
|
||||
[connection signal="area_shape_entered" from="Hitbox" to="." method="_on_hitbox_area_shape_entered"]
|
||||
[connection signal="timeout" from="GrowTimer" to="." method="_on_grow_timer_timeout"]
|
|
@ -6,9 +6,17 @@ const JUMP_VELOCITY = 3.5
|
|||
|
||||
@onready var geometry:Node3D = %Geometry
|
||||
@onready var actionable_detector = %ActionableDetector
|
||||
@onready var animation_tree:AnimationTree = $Geometry/Rogue/AnimationTree
|
||||
@onready var animation_tree:AnimationTree = $Geometry/AnimationTree
|
||||
@onready var build_location:Node3D = %BuildLocation
|
||||
@onready var right_hand_attachement:Node3D = %RightHandAttachement
|
||||
@onready var right_hand_attachement:HandTool = %RightHandAttachement
|
||||
@export var tool_damage:bool = false :
|
||||
get:
|
||||
return tool_damage
|
||||
set(value):
|
||||
tool_damage = value
|
||||
|
||||
if right_hand_attachement != null and right_hand_attachement.tool_hitbox:
|
||||
right_hand_attachement.tool_hitbox.monitorable = bool(tool_damage)
|
||||
|
||||
# Get the gravity from the project settings to be synced with RigidBody nodes.
|
||||
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||
|
@ -85,13 +93,11 @@ func get_actionable_global_transform() -> Vector3:
|
|||
|
||||
|
||||
func set_right_hand_item(item:ItemResource) -> void:
|
||||
for child in right_hand_attachement.get_children():
|
||||
child.queue_free()
|
||||
|
||||
current_tool = null
|
||||
|
||||
right_hand_attachement.set_tool(item.scene.instantiate())
|
||||
|
||||
if item != null and item.is_tool:
|
||||
right_hand_attachement.add_child(item.scene.instantiate())
|
||||
current_tool = item
|
||||
|
||||
animation_tree.set("parameters/Interact/conditions/tool_action_slice", false)
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://ch0s3dxx3rpir"]
|
||||
[gd_scene load_steps=33 format=3 uid="uid://ch0s3dxx3rpir"]
|
||||
|
||||
[ext_resource type="Script" path="res://objects/player.gd" id="1_qkf7c"]
|
||||
[ext_resource type="PackedScene" uid="uid://dy8vjf760prhq" path="res://assets/characters/rogue.tscn" id="2_whuis"]
|
||||
[ext_resource type="Script" path="res://objects/player_right_hand_attachement.gd" id="2_db8xg"]
|
||||
[ext_resource type="PackedScene" uid="uid://dmvl0igyslm80" path="res://assets/tools/Shovel.tscn" id="2_wyjbd"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0ot1kp5fekqy" path="res://assets/3rdparty/KayKit_Adventurers_1.0_EXTRA/Characters/gltf/Rogue.glb" id="4_6j8ok"]
|
||||
[ext_resource type="AnimationLibrary" uid="uid://dbaynxuqbkor6" path="res://assets/characters/rogue_animation_library.tres" id="5_0thdi"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jd31k"]
|
||||
albedo_color = Color(1, 1, 0.698039, 1)
|
||||
|
@ -19,6 +21,127 @@ height = 0.844669
|
|||
[sub_resource type="SphereShape3D" id="SphereShape3D_wrkyq"]
|
||||
radius = 0.194932
|
||||
|
||||
[sub_resource type="Animation" id="Animation_6nify"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("%Geometry/..:tool_slice_damage")
|
||||
tracks/0/interp = 0
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_j2k78"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_6nify")
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_duxpv"]
|
||||
animation = &"rogue/1H_Melee_Attack_Chop"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_njp2v"]
|
||||
animation = &"rogue/1H_Melee_Attack_Slice_Horizontal"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_go27t"]
|
||||
animation = &"rogue/Unarmed_Melee_Attack_Kick"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_glihl"]
|
||||
advance_mode = 2
|
||||
advance_condition = &"tool_action_chop"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qm71c"]
|
||||
priority = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t6she"]
|
||||
advance_mode = 2
|
||||
advance_condition = &"tool_action_slice"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oq6xv"]
|
||||
reset = false
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ovo5"]
|
||||
reset = false
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kjkqd"]
|
||||
reset = false
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_bqf2d"]
|
||||
states/Start/position = Vector2(142, 162)
|
||||
states/rogue_1H_Melee_Attack_Chop/node = SubResource("AnimationNodeAnimation_duxpv")
|
||||
states/rogue_1H_Melee_Attack_Chop/position = Vector2(470, 23)
|
||||
states/rogue_1H_Melee_Attack_Slice_Diagonal/node = SubResource("AnimationNodeAnimation_njp2v")
|
||||
states/rogue_1H_Melee_Attack_Slice_Diagonal/position = Vector2(480, 162)
|
||||
states/rogue_Unarmed_Melee_Attack_Kick/node = SubResource("AnimationNodeAnimation_go27t")
|
||||
states/rogue_Unarmed_Melee_Attack_Kick/position = Vector2(485, 257)
|
||||
transitions = ["Start", "rogue_1H_Melee_Attack_Chop", SubResource("AnimationNodeStateMachineTransition_glihl"), "Start", "rogue_Unarmed_Melee_Attack_Kick", SubResource("AnimationNodeStateMachineTransition_qm71c"), "Start", "rogue_1H_Melee_Attack_Slice_Diagonal", SubResource("AnimationNodeStateMachineTransition_t6she"), "rogue_1H_Melee_Attack_Chop", "End", SubResource("AnimationNodeStateMachineTransition_oq6xv"), "rogue_Unarmed_Melee_Attack_Kick", "End", SubResource("AnimationNodeStateMachineTransition_5ovo5"), "rogue_1H_Melee_Attack_Slice_Diagonal", "End", SubResource("AnimationNodeStateMachineTransition_kjkqd")]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dqt6d"]
|
||||
animation = &"rogue/Idle"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g5g2g"]
|
||||
animation = &"rogue/Running_A"
|
||||
|
||||
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_7v7om"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_uc6vu"]
|
||||
nodes/Animation/node = SubResource("AnimationNodeAnimation_g5g2g")
|
||||
nodes/Animation/position = Vector2(40, 180)
|
||||
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_7v7om")
|
||||
nodes/TimeScale/position = Vector2(340, 180)
|
||||
nodes/output/position = Vector2(640, 160)
|
||||
node_connections = [&"TimeScale", 0, &"Animation", &"output", 0, &"TimeScale"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ryaua"]
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_chmuj"]
|
||||
xfade_time = 0.1
|
||||
advance_mode = 2
|
||||
advance_condition = &"running"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oa1w1"]
|
||||
xfade_time = 0.1
|
||||
advance_mode = 2
|
||||
advance_condition = &"idle"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7j7mm"]
|
||||
xfade_time = 0.1
|
||||
advance_mode = 2
|
||||
advance_condition = &"interact"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6s34y"]
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g3yva"]
|
||||
xfade_time = 0.2
|
||||
advance_mode = 2
|
||||
advance_condition = &"running"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_h0y4b"]
|
||||
states/End/position = Vector2(902, 102)
|
||||
states/Interact/node = SubResource("AnimationNodeStateMachine_bqf2d")
|
||||
states/Interact/position = Vector2(694, 123)
|
||||
states/Start/position = Vector2(189, 123)
|
||||
states/rogue_Idle/node = SubResource("AnimationNodeAnimation_dqt6d")
|
||||
states/rogue_Idle/position = Vector2(422, 123)
|
||||
states/running/node = SubResource("AnimationNodeBlendTree_uc6vu")
|
||||
states/running/position = Vector2(422, 285)
|
||||
transitions = ["Start", "rogue_Idle", SubResource("AnimationNodeStateMachineTransition_ryaua"), "rogue_Idle", "running", SubResource("AnimationNodeStateMachineTransition_chmuj"), "running", "rogue_Idle", SubResource("AnimationNodeStateMachineTransition_oa1w1"), "rogue_Idle", "Interact", SubResource("AnimationNodeStateMachineTransition_7j7mm"), "Interact", "rogue_Idle", SubResource("AnimationNodeStateMachineTransition_6s34y"), "Interact", "running", SubResource("AnimationNodeStateMachineTransition_g3yva")]
|
||||
graph_offset = Vector2(-12, 57.7514)
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_layer = 3
|
||||
script = ExtResource("1_qkf7c")
|
||||
|
@ -32,15 +155,29 @@ mesh = SubResource("CapsuleMesh_dwrtd")
|
|||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.399047, 0)
|
||||
shape = SubResource("CapsuleShape3D_7kfad")
|
||||
|
||||
[node name="ActionableDetector" type="Area3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.325311)
|
||||
collision_layer = 0
|
||||
collision_mask = 16
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ActionableDetector"]
|
||||
shape = SubResource("SphereShape3D_wrkyq")
|
||||
|
||||
[node name="BuildLocation" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.98728)
|
||||
|
||||
[node name="RightHandBone" type="BoneAttachment3D" parent="."]
|
||||
transform = Transform3D(-0.000936468, -0.0640051, 0.394845, 0.399981, -0.00390502, 0.000315472, 0.00380429, 0.394827, 0.0640112, -0.196417, 0.250119, 0.0420737)
|
||||
transform = Transform3D(-8.44922e-05, -0.0603305, 0.395424, 0.4, -0.000359516, 3.04633e-05, 0.000350951, 0.395424, 0.0603306, -0.1964, 0.25612, 0.042693)
|
||||
bone_name = "Knife"
|
||||
bone_idx = 17
|
||||
use_external_skeleton = true
|
||||
external_skeleton = NodePath("../Geometry/Rogue/Rogue/Rig/Skeleton3D")
|
||||
external_skeleton = NodePath("../Geometry/Rogue/Rig/Skeleton3D")
|
||||
|
||||
[node name="RightHandAttachement" type="Node3D" parent="RightHandBone"]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("2_db8xg")
|
||||
|
||||
[node name="ShovelScene" parent="RightHandBone/RightHandAttachement" instance=ExtResource("2_wyjbd")]
|
||||
|
||||
|
@ -48,17 +185,22 @@ unique_name_in_owner = true
|
|||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0)
|
||||
|
||||
[node name="Rogue" parent="Geometry" instance=ExtResource("2_whuis")]
|
||||
[node name="Rogue" parent="Geometry" instance=ExtResource("4_6j8ok")]
|
||||
|
||||
[node name="ActionableDetector" type="Area3D" parent="Geometry"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(2.5, 0, 0, 0, 2.5, 0, 0, 0, 2.5, 0, 0, 0.813277)
|
||||
collision_layer = 0
|
||||
collision_mask = 16
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Geometry"]
|
||||
root_node = NodePath("../Rogue")
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_j2k78"),
|
||||
"rogue": ExtResource("5_0thdi")
|
||||
}
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Geometry/ActionableDetector"]
|
||||
shape = SubResource("SphereShape3D_wrkyq")
|
||||
|
||||
[node name="BuildLocation" type="Node3D" parent="Geometry"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(2.5, 0, 0, 0, 2.5, 0, 0, 0, 2.5, 0, 0, 2.4682)
|
||||
[node name="AnimationTree" type="AnimationTree" parent="Geometry"]
|
||||
root_node = NodePath("../Rogue")
|
||||
tree_root = SubResource("AnimationNodeStateMachine_h0y4b")
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
parameters/conditions/idle = false
|
||||
parameters/conditions/interact = false
|
||||
parameters/conditions/running = false
|
||||
parameters/Interact/conditions/tool_action_chop = false
|
||||
parameters/Interact/conditions/tool_action_slice = false
|
||||
parameters/running/TimeScale/scale = 1.5
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
class_name HandTool
|
||||
extends Node3D
|
||||
|
||||
var tool_hitbox:Area3D = null
|
||||
var _current_tool:Node3D = null
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
func set_tool(node:Node3D) -> void:
|
||||
_current_tool = node
|
||||
tool_hitbox = null
|
||||
|
||||
for child in get_children():
|
||||
child.queue_free()
|
||||
remove_child(child)
|
||||
|
||||
if _current_tool != null:
|
||||
add_child(_current_tool)
|
||||
tool_hitbox = find_child("Hitbox", true, false)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
|
@ -184,5 +184,7 @@ locale/translations_pot_files=PackedStringArray("res://dialogue/bridge_builder_m
|
|||
|
||||
3d_physics/layer_1="World"
|
||||
3d_physics/layer_2="Player"
|
||||
3d_physics/layer_5="Actionables"
|
||||
3d_physics/layer_6="Structures"
|
||||
3d_physics/layer_3="Hitbox"
|
||||
3d_physics/layer_4="Weapon & Projectile"
|
||||
3d_physics/layer_5="Actionable"
|
||||
3d_physics/layer_6="Structure"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=28 format=3 uid="uid://dmagdl5pi6jdj"]
|
||||
[gd_scene load_steps=29 format=3 uid="uid://dmagdl5pi6jdj"]
|
||||
|
||||
[ext_resource type="MeshLibrary" uid="uid://dcpuitbu16j1a" path="res://assets/mesh_library.tres" id="1_q0eym"]
|
||||
[ext_resource type="PackedScene" uid="uid://da5r82nvypfk4" path="res://objects/pickup_item.tscn" id="2_ccr0r"]
|
||||
|
@ -23,6 +23,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://kpyvcyklt68g" path="res://assets/scene_props/bridge.tscn" id="18_yqn1p"]
|
||||
[ext_resource type="PackedScene" uid="uid://2q8dhf61a7os" path="res://assets/characters/engineer.tscn" id="22_vjd6d"]
|
||||
[ext_resource type="PackedScene" uid="uid://03eh1nglfg6t" path="res://objects/non_player_character.tscn" id="23_fjbgv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwt4hbinrod8q" path="res://objects/grass.tscn" id="24_4cd0f"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_0soe6"]
|
||||
height = 0.6
|
||||
|
@ -109,6 +110,39 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.99916, -4.76837e-06, -3.043
|
|||
[node name="TreePine3" parent="Vegetation" instance=ExtResource("11_5olon")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.26548, 0, 0)
|
||||
|
||||
[node name="Grass" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -2)
|
||||
|
||||
[node name="Grass2" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -2.5)
|
||||
|
||||
[node name="Grass3" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -2)
|
||||
|
||||
[node name="Grass4" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -1.5)
|
||||
|
||||
[node name="Grass5" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, -1.5)
|
||||
|
||||
[node name="Grass6" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 3, 0, -3)
|
||||
|
||||
[node name="Grass7" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 2.5, 0, -2.5)
|
||||
|
||||
[node name="Grass8" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 2.5, 0, -2)
|
||||
|
||||
[node name="Grass9" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 2, 0, -2)
|
||||
|
||||
[node name="Grass10" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.5, 0, -2)
|
||||
|
||||
[node name="Grass11" parent="Vegetation" instance=ExtResource("24_4cd0f")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.5, 0, -1.5)
|
||||
|
||||
[node name="Structures" type="Node3D" parent="."]
|
||||
|
||||
[node name="BridgeNorth" type="Node3D" parent="Structures"]
|
||||
|
|
Loading…
Reference in New Issue