mine card inject scene
This commit is contained in:
26
growth/CardInjects/Mine/mine_card_inject.gd
Normal file
26
growth/CardInjects/Mine/mine_card_inject.gd
Normal file
@@ -0,0 +1,26 @@
|
||||
extends Node
|
||||
|
||||
@export var Mine: PackedScene
|
||||
@export var max_range = 1500
|
||||
@export var min_range = 15
|
||||
@export var max_ammo = 5
|
||||
var ammo = max_ammo
|
||||
|
||||
func activate(world, activator):
|
||||
var mine = Mine.instantiate()
|
||||
var target = activator.get_target_pos()
|
||||
mine.position = activator.position
|
||||
mine.position += mine.position.direction_to(target) \
|
||||
* clamp(mine.position.distance_to(target), min_range, max_range)
|
||||
if activator.get_collision_layer_value(1): # player object
|
||||
mine.get_node("Area2D").set_collision_layer_value(1, false)
|
||||
mine.get_node("Area2D").set_collision_layer_value(2, true)
|
||||
elif activator.get_collision_layer_value(2): # enemy object
|
||||
mine.get_node("Area2D").set_collision_layer_value(1, true)
|
||||
mine.get_node("Area2D").set_collision_layer_value(2, false)
|
||||
else:
|
||||
assert(false, "who are you, activator?")
|
||||
world.add_child(mine)
|
||||
|
||||
func discard(world, activator):
|
||||
pass
|
||||
1
growth/CardInjects/Mine/mine_card_inject.gd.uid
Normal file
1
growth/CardInjects/Mine/mine_card_inject.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://hdyom3r5ebee
|
||||
8
growth/CardInjects/Mine/mine_card_inject.tscn
Normal file
8
growth/CardInjects/Mine/mine_card_inject.tscn
Normal file
@@ -0,0 +1,8 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dbfulrblm07v3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hdyom3r5ebee" path="res://CardInjects/Mine/mine_card_inject.gd" id="1_oct4p"]
|
||||
[ext_resource type="PackedScene" uid="uid://umv7m1lf4x6b" path="res://CardInjects/Mine/mine.tscn" id="2_wv1jf"]
|
||||
|
||||
[node name="MineCardInject" type="Node"]
|
||||
script = ExtResource("1_oct4p")
|
||||
Mine = ExtResource("2_wv1jf")
|
||||
Reference in New Issue
Block a user