katana card inject scene

This commit is contained in:
2025-10-05 08:26:57 +02:00
parent a5d963b48d
commit 408bad4df5
4 changed files with 39 additions and 2 deletions

View File

@@ -1,8 +1,8 @@
extends Node
@export var FireWall: PackedScene
@export var max_range = 10
@export var min_range = 5
@export var max_range = 70
@export var min_range = 50
@export var max_ammo = 5
var ammo = max_ammo

View File

@@ -0,0 +1,28 @@
extends Node
@export var KatanaSlash: PackedScene
@export var max_range = 50
@export var min_range = 50
@export var max_ammo = 20
var ammo = max_ammo
func activate(world, activator):
var katana = KatanaSlash.instantiate()
var target = activator.get_target_pos()
katana.position = activator.position
katana.position += katana.position.direction_to(target) \
* clamp(katana.position.distance_to(target), min_range, max_range)
katana.look_at(target)
if activator.get_collision_layer_value(1): # player object
katana.get_node("Area2D").set_collision_layer_value(1, false)
katana.get_node("Area2D").set_collision_layer_value(2, true)
elif activator.get_collision_layer_value(2): # enemy object
katana.get_node("Area2D").set_collision_layer_value(1, true)
katana.get_node("Area2D").set_collision_layer_value(2, false)
else:
assert(false, "who are you, activator?")
world.add_child(katana)
func discard(world, activator):
pass

View File

@@ -0,0 +1 @@
uid://cts63mtlco6yj

View File

@@ -0,0 +1,8 @@
[gd_scene load_steps=3 format=3 uid="uid://hgf0o7ugi77q"]
[ext_resource type="Script" uid="uid://cts63mtlco6yj" path="res://CardInjects/Katana/katana_card_inject.gd" id="1_8j8fv"]
[ext_resource type="PackedScene" uid="uid://415yw4i180tb" path="res://CardInjects/Katana/katana.tscn" id="2_u2uea"]
[node name="KatanaCardInject" type="Node"]
script = ExtResource("1_8j8fv")
KatanaSlash = ExtResource("2_u2uea")