🩹 You can now grab npcs

main
Ervan Lefevre 2 years ago
parent a604c99a42
commit 709ff4e6c1
  1. 12
      nodes/npc/npc.gd
  2. 6
      nodes/npc/npc.tscn
  3. 2
      nodes/player/player.gd
  4. 1
      nodes/player/player.tscn
  5. 1
      scenes/poc.tscn

@ -11,6 +11,7 @@ const QUEUE_FREE_DELAY = 10
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var direction = 0
var rising_speed = 0
@onready var original_parent = get_parent()
func _ready():
pick_new_direction()
@ -49,6 +50,17 @@ func die(level_speed):
rising_speed = level_speed
func grabbed(by):
$shape.disabled = true
$fsm.set_physics_process(false)
reparent(by)
func dropped():
$shape.disabled = false
$fsm.set_physics_process(true)
reparent(original_parent)
rotation = 0
func pick_new_direction():
direction = [1,-1][randi_range(0,1)] * SPEED

@ -5,10 +5,10 @@
[ext_resource type="Script" path="res://scripts/ia/fsm.gd" id="3_vhp64"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_f223n"]
radius = 1.0
height = 4.0
radius = 6.0
height = 14.0
[node name="npc" type="CharacterBody2D" groups=["npc"]]
[node name="npc" type="CharacterBody2D" groups=["npc", "obstacle"]]
script = ExtResource("1_38jh5")
[node name="shape" type="CollisionShape2D" parent="."]

@ -155,11 +155,9 @@ func handle_grab():
if Input.is_action_just_pressed('player_action'):
if grabbed_obstacle == null:
var collision = grab_ray.get_collider()
print('collision', collision)
if collision:
var obstacle = collision
print('obstacle', obstacle)
if obstacle.is_in_group("obstacle"):
do_grab(obstacle)
else:

@ -5,6 +5,7 @@
[ext_resource type="Script" path="res://scripts/ia/fsm.gd" id="2_ix1o4"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_w17ly"]
radius = 9.0
height = 24.0
[node name="player" type="CharacterBody2D"]

@ -243,6 +243,7 @@ position = Vector2(1608, 1312)
[node name="water_level" type="Area2D" parent="." groups=["level"]]
position = Vector2(1736, 3056)
monitorable = false
linear_damp_space_override = 1
script = ExtResource("4_ts3u4")
RISING_SPEED = 10

Loading…
Cancel
Save