From 408bad4df5b613b1f9ee33beacbb0e2514dfbd86 Mon Sep 17 00:00:00 2001 From: fredrikr79 Date: Sun, 5 Oct 2025 08:26:57 +0200 Subject: [PATCH] katana card inject scene --- .../Firewall/firewall_card_inject.gd | 4 +-- .../CardInjects/Katana/katana_card_inject.gd | 28 +++++++++++++++++++ .../Katana/katana_card_inject.gd.uid | 1 + .../Katana/katana_card_inject.tscn | 8 ++++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 growth/CardInjects/Katana/katana_card_inject.gd create mode 100644 growth/CardInjects/Katana/katana_card_inject.gd.uid create mode 100644 growth/CardInjects/Katana/katana_card_inject.tscn diff --git a/growth/CardInjects/Firewall/firewall_card_inject.gd b/growth/CardInjects/Firewall/firewall_card_inject.gd index 1215270..f87d4c1 100644 --- a/growth/CardInjects/Firewall/firewall_card_inject.gd +++ b/growth/CardInjects/Firewall/firewall_card_inject.gd @@ -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 diff --git a/growth/CardInjects/Katana/katana_card_inject.gd b/growth/CardInjects/Katana/katana_card_inject.gd new file mode 100644 index 0000000..48a79a9 --- /dev/null +++ b/growth/CardInjects/Katana/katana_card_inject.gd @@ -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 diff --git a/growth/CardInjects/Katana/katana_card_inject.gd.uid b/growth/CardInjects/Katana/katana_card_inject.gd.uid new file mode 100644 index 0000000..642ce05 --- /dev/null +++ b/growth/CardInjects/Katana/katana_card_inject.gd.uid @@ -0,0 +1 @@ +uid://cts63mtlco6yj diff --git a/growth/CardInjects/Katana/katana_card_inject.tscn b/growth/CardInjects/Katana/katana_card_inject.tscn new file mode 100644 index 0000000..51b0ba1 --- /dev/null +++ b/growth/CardInjects/Katana/katana_card_inject.tscn @@ -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")