mine card inject scene

This commit is contained in:
2025-10-05 08:42:46 +02:00
parent 837b843b0f
commit b4d62a5df8
3 changed files with 35 additions and 0 deletions

View 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

View File

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

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