firewall card inject scene
This commit is contained in:
6
growth/CardInjects/FirewallCardInject.tscn
Normal file
6
growth/CardInjects/FirewallCardInject.tscn
Normal 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")
|
||||||
24
growth/CardInjects/firewall_card_inject.gd
Normal file
24
growth/CardInjects/firewall_card_inject.gd
Normal 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
|
||||||
1
growth/CardInjects/firewall_card_inject.gd.uid
Normal file
1
growth/CardInjects/firewall_card_inject.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dpyarqogod6d3
|
||||||
Reference in New Issue
Block a user