diff --git a/objects/npc/msx.gd b/objects/npc/msx.gd index b5cdfc7..b58c14e 100644 --- a/objects/npc/msx.gd +++ b/objects/npc/msx.gd @@ -21,7 +21,7 @@ func _physics_process(delta): velocity = move_and_slide_with_snap(velocity, Vector2.DOWN, Vector2.UP, true) #Anims if velocity.x == 0: - anims.play("idle") + if !anims.get_current_animation() == "give": anims.play("idle") else: anims.play("walk") #Stop at the end of path and give shard @@ -30,13 +30,14 @@ func _physics_process(delta): velocity.x = 0 if is_holding_shard: anims.play("give") - var ShardInstance = shard.instance() - ShardInstance.global_position = Vector2(shard_position.global_position.x,shard_position.global_position.y) - ShardInstance.number = 1 - get_owner().add_child(ShardInstance) - is_holding_shard = false - +func spawn_shard(): + var ShardInstance = shard.instance() + ShardInstance.global_position = Vector2(shard_position.global_position.x,shard_position.global_position.y) + ShardInstance.number = 1 + get_owner().add_child(ShardInstance) + is_holding_shard = false + func switch_action(): is_moving = true diff --git a/objects/npc/msx.tscn b/objects/npc/msx.tscn index de43564..25e06db 100644 --- a/objects/npc/msx.tscn +++ b/objects/npc/msx.tscn @@ -87,6 +87,20 @@ tracks/2/keys = { "update": 1, "values": [ 0, 1, 0 ] } +tracks/3/type = "method" +tracks/3/path = NodePath(".") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0.18 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "spawn_shard" +} ] +} [sub_resource type="Animation" id=4] resource_name = "idle" @@ -203,7 +217,7 @@ hframes = 2 region_rect = Rect2( 0, 0, 20, 20 ) script = ExtResource( 12 ) -[node name="Hitbox" type="Area2D" parent="." groups=["msx", "player_hitbox"]] +[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox", "msx", "player_hitbox"]] position = Vector2( 0, 3 ) collision_layer = 11 collision_mask = 33