From 72afd1844bfdf5f7e366c4e75e9e34910bc838a6 Mon Sep 17 00:00:00 2001 From: fredrikr79 Date: Sat, 4 Oct 2025 20:44:09 +0200 Subject: [PATCH] firewall card inject scene --- growth/CardInjects/FirewallCardInject.tscn | 6 +++++ growth/CardInjects/firewall_card_inject.gd | 24 +++++++++++++++++++ .../CardInjects/firewall_card_inject.gd.uid | 1 + 3 files changed, 31 insertions(+) create mode 100644 growth/CardInjects/FirewallCardInject.tscn create mode 100644 growth/CardInjects/firewall_card_inject.gd create mode 100644 growth/CardInjects/firewall_card_inject.gd.uid diff --git a/growth/CardInjects/FirewallCardInject.tscn b/growth/CardInjects/FirewallCardInject.tscn new file mode 100644 index 0000000..b5876ee --- /dev/null +++ b/growth/CardInjects/FirewallCardInject.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://otxia3v8iw07"] + +[ext_resource type="Script" uid="uid://dpyarqogod6d3" path="res://CardInjects/firewall_card_inject.gd" id="1_fd08f"] + +[node name="FirewallCardInject" type="Node"] +script = ExtResource("1_fd08f") diff --git a/growth/CardInjects/firewall_card_inject.gd b/growth/CardInjects/firewall_card_inject.gd new file mode 100644 index 0000000..f0a869b --- /dev/null +++ b/growth/CardInjects/firewall_card_inject.gd @@ -0,0 +1,24 @@ +extends Node + +@export var FireWall: PackedScene +@export var max_range = 10 +@export var min_range = 5 + +func activate(world, activator): + var firewall = FireWall.instantiate() + var target = activator.get_target_pos() + firewall.position = activator.position + firewall.position += firewall.position.direction_to(target) \ + * clamp(firewall.position.distance_to(target), min_range, max_range) + if activator.get_collision_layer_bit(1): # player object + firewall.set_collision_layer_bit(1, false) + firewall.set_collision_layer_bit(2, true) + elif activator.get_collision_layer_bit(2): # enemy object + firewall.set_collision_layer_bit(1, true) + firewall.set_collision_layer_bit(2, false) + else: + assert(false, "who are you, activator?") + + +func discard(world, activator): + pass diff --git a/growth/CardInjects/firewall_card_inject.gd.uid b/growth/CardInjects/firewall_card_inject.gd.uid new file mode 100644 index 0000000..d09a6d6 --- /dev/null +++ b/growth/CardInjects/firewall_card_inject.gd.uid @@ -0,0 +1 @@ +uid://dpyarqogod6d3