From b310830c9d03e87b89d004f3d9c611a143e7c547 Mon Sep 17 00:00:00 2001 From: Spencer Killen Date: Sat, 19 Aug 2023 20:42:02 -0600 Subject: [PATCH] gameplay --- godot/Player.gd | 3 ++- godot/Villager.gd | 10 +++++----- godot/slime_shared.gd | 2 ++ godot/tests/test_pickup_slimes.tscn | 8 ++++---- godot/villager_shared.tscn | 12 ++++++++++++ 5 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 godot/villager_shared.tscn diff --git a/godot/Player.gd b/godot/Player.gd index 686aef7..a885904 100644 --- a/godot/Player.gd +++ b/godot/Player.gd @@ -33,7 +33,8 @@ func _input(event): if event is InputEventMouseMotion: rotate_y(deg_to_rad(-event.relative.x * horiz_sens)) $CameraMount.rotate_x(deg_to_rad(-event.relative.y * vert_sens)) - $grape_man.rotate_y(deg_to_rad(event.relative.x * horiz_sens)) + var roty = deg_to_rad(event.relative.x * horiz_sens) + $grape_man.rotate_y(roty) $CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(-60), deg_to_rad(-11)) if Input.is_action_just_pressed("ui_accept"): diff --git a/godot/Villager.gd b/godot/Villager.gd index f83ec06..b95fd56 100644 --- a/godot/Villager.gd +++ b/godot/Villager.gd @@ -1,10 +1,10 @@ -extends CharacterBody3D +extends SharedSlime var rng = RandomNumberGenerator.new() -@export var target_location_xz = transform.origin * Vector3(1, 0, 1) -@export var location_xz = transform.origin * Vector3(1, 0, 1) -@export var target_direction_xz = (transform.basis * Vector3(1, 0, 1)).normalized() -@export var direction_xz = (transform.basis * Vector3(1, 0, 1)).normalized() +@onready var target_location_xz = transform.origin * Vector3(1, 0, 1) +@onready var location_xz = transform.origin * Vector3(1, 0, 1) +@onready var target_direction_xz = (transform.basis * Vector3(1, 0, 1)).normalized() +@onready var direction_xz = (transform.basis * Vector3(1, 0, 1)).normalized() var task = "idle" # Percentage chances of the character performing certain actions while idle. diff --git a/godot/slime_shared.gd b/godot/slime_shared.gd index 0dee155..1234ee8 100644 --- a/godot/slime_shared.gd +++ b/godot/slime_shared.gd @@ -1,8 +1,10 @@ extends CharacterBody3D +class_name SharedSlime var is_holdable: bool = true func _ready(): + $slime.foo() $slime.idle() func walk(): diff --git a/godot/tests/test_pickup_slimes.tscn b/godot/tests/test_pickup_slimes.tscn index cf3dacb..ce1bba2 100644 --- a/godot/tests/test_pickup_slimes.tscn +++ b/godot/tests/test_pickup_slimes.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://bax01mdng0pbb"] -[ext_resource type="PackedScene" uid="uid://dmtmign72vtlm" path="res://slime_shared.tscn" id="2_dchwa"] [ext_resource type="PackedScene" uid="uid://7utef1nnena8" path="res://player.tscn" id="2_fy870"] +[ext_resource type="PackedScene" uid="uid://c4s6y758n77lw" path="res://villager_shared.tscn" id="2_oxniy"] [sub_resource type="QuadMesh" id="QuadMesh_lasv3"] @@ -10,9 +10,6 @@ data = PackedVector3Array(0.5, -0.5, 0, -0.5, -0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, [node name="test_pickup_slimes" type="Node3D"] -[node name="slime_shared" parent="." instance=ExtResource("2_dchwa")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.127323, 0.879136) - [node name="Player" parent="." instance=ExtResource("2_fy870")] [node name="MeshInstance3D" type="MeshInstance3D" parent="."] @@ -24,3 +21,6 @@ skeleton = NodePath("") [node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_x4p8c") + +[node name="villager" parent="." instance=ExtResource("2_oxniy")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.513896) diff --git a/godot/villager_shared.tscn b/godot/villager_shared.tscn new file mode 100644 index 0000000..6a6d37e --- /dev/null +++ b/godot/villager_shared.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=3 format=3 uid="uid://c4s6y758n77lw"] + +[ext_resource type="PackedScene" uid="uid://dmtmign72vtlm" path="res://slime_shared.tscn" id="1_qm1jp"] +[ext_resource type="Script" path="res://Villager.gd" id="2_uf6mh"] + +[node name="villager" instance=ExtResource("1_qm1jp")] +script = ExtResource("2_uf6mh") +walk_chance = 0.1 +spin_chance = 0.2 +walk_speed = 0.5 +dir_correction_rate = 0.95 +dir_accuracy = 0.00174533