firewall card inject scene

This commit is contained in:
2025-10-04 20:44:09 +02:00
parent fe51030a64
commit 72afd1844b
3 changed files with 31 additions and 0 deletions

View File

@@ -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")

View File

@@ -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

View File

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